blob: c72ebac5d94f332e619a8ae191b5cad5b8d1cef6 [file] [log] [blame]
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +000012008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2
3 * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
4 sub-header when its code_count is 0. Many Japanese Dynalab fonts
5 include such empty sub-header (code_count == 0, first_code == 0
6 delta == 0, but offset != 0 ) as the second sub-header in SJIS
7 cmap.
8
Werner Lemberg7fd20182008-08-04 18:46:37 +000092008-08-04 Werner Lemberg <wl@gnu.org>
10
11 * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
12 Savannah bug #23995.
13
14 * src/cid/cidload.c (parse_expansion_factor): New callback function.
15 (cid_field_records): Use it for `ExpansionFactor'.
16 * src/cod/cidtoken.h: Handle `ForceBold' keyword.
17 Don't handle `ExpansionFactor'.
18
Werner Lembergeba3eee2008-08-04 15:54:24 +0000192008-08-04 Bram Tassyns <bramt@enfocus.be>
20
21 * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
22 resulted in incorrect scaling. This fixes Savannah bug #23973.
23
Werner Lemberg17e69012008-08-04 05:45:41 +0000242008-08-04 Werner Lemberg <wl@gnu.org>
25
26 Be more tolerant w.r.t. invalid entries in SFNT table directory.
27
28 * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
29 adjust table count.
30 Add more trace messages.
31 (tt_face_load_font_dir): Updated.
32
Werner Lemberg806f5932008-07-30 05:28:37 +0000332008-07-30 Werner Lemberg <wl@gnu.org>
34
35 * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
36 assume that the first argument on the stack is the bottom-most
37 element. Two reasons:
38
39 o According to people from Adobe it is missing in the Type 2
40 specification that pushing of additional, superfluous arguments
41 on the stack is prohibited.
42
43 o Acroread in general handles fonts differently, namely by popping
44 the number of arguments needed for a particular operand (as a PS
45 interpreter would do). In case of buggy fonts this causes a
46 different interpretation which of the elements on the stack are
47 superfluous and which not.
48
49 Since there are CFF subfonts (embedded in PDFs) which rely on
50 Acroread's behaviour, FreeType now does the same.
51
Werner Lemberg7f30c0c2008-07-27 05:43:59 +0000522008-07-27 Werner Lemberg <wl@gnu.org>
53
54 Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
55 fixes Savanna bug #23940.
56
57 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
58 (EXTRA_GLYPH_LIST_SIZE): This.
59 Increase by 2.
60 (ft_wgl_extra_unicodes): Rename to...
61 (ft_extra_glyph_unicodes): This.
62 Add two code values.
63 (ft_wgl_extra_glyph_names): Rename to...
64 (ft_extra_glyph_names): This.
65 Add two glyphs.
66 (ft_wgl_extra_glyph_name_offsets): Rename to...
67 (ft_extra_glyph_name_offsets): This.
68 Add two offsets.
69
70 (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
71 (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
72 Updated.
73 (ps_unicodes_init): Updated.
74
Werner Lembergbdcfddc2008-07-26 21:22:20 +0000752008-07-26 Werner Lemberg <wl@gnu.org>
76
77 * src/cff/cffgload.c (cff_decoder_prepare,
78 cff_decoder_parse_charstrings): Improve debug output.
79
Werner Lemberge75da452008-07-22 20:59:59 +0000802008-07-22 Martin McBride <mmcbride@emtex.com>
81
82 * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
83 tt_cmap4_char_map_binary): Handle fonts which treat the last segment
84 specially. According to the specification, such fonts would be
85 invalid but acroread accepts them.
86
Werner Lemberg50997cd2008-07-16 21:03:40 +0000872008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
88
89 * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
90
91 * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
92
93 * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
94 Fix compiler warning.
95
Werner Lemberg3d2f06f2008-07-16 06:13:34 +0000962008-07-16 Werner Lemberg <wl@gnu.org>
97
Werner Lemberge75da452008-07-22 20:59:59 +000098 Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +000099
100 * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
101 Invert sids table only if `pure_cff' is set.
102 * src/cff/cffload.h: Udpated.
103
104 * src/cff/cffobjs.c (cff_face_init): Updated.
Werner Lembergbd48d352008-07-16 07:05:11 +0000105 Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +0000106
Werner Lemberge75da452008-07-22 20:59:59 +0000107 * docs/CHANGES: Updated.
108
Werner Lemberg6b19e092008-07-09 06:20:12 +00001092008-07-09 Werner Lemberg <wl@gnu.org>
110
111 * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
112 where num_locations < num_glyphs. Problem reported by Ding Li.
113
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00001142008-07-05 Werner Lemberg <wl@gnu.org>
115
116 Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
Werner Lembergca6fc732008-07-05 06:36:39 +0000117 newer. This fixes Savannah bug #23648.
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000118
119 * configure: zsh doesn't like ${1+"$@"}.
120 Update needed GNU make version.
121 * builds/toplevel.mk: Check for `$(eval ...)'.
122 * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
123 it.
124
Werner Lemberg71b8f3f2008-07-04 07:22:06 +00001252008-07-04 Werner Lemberg <wl@gnu.org>
126
127 * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
128 pixel, only check for dropouts if neither start nor end point lies
129 on a pixel center. This fixes Savannah bug #23762.
130
Werner Lembergbe54a682008-06-29 07:43:41 +00001312008-06-29 Werner Lemberg <wl@gnu.org>
132
133 * Version 2.3.7 released.
134 =========================
135
136
137 Tag sources with `VER-2-3-7'.
138
139 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
140 version number to 2.3.7.
141
142 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
143 builds/win32/visualc/freetype.dsp,
144 builds/win32/visualc/freetype.vcproj,
145 builds/win32/visualce/index.html,
146 builds/win32/visualce/freetype.dsp,
147 builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
148
149 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
150
151 * builds/unix/configure.raw (version_info): Set to 9:18:3.
152
153 * docs/release: Updated.
154
Werner Lemberg4e7d9842008-06-27 22:26:11 +00001552008-06-28 Werner Lemberg <wl@gnu.org>
156
Werner Lembergbe54a682008-06-29 07:43:41 +0000157 * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
Werner Lemberg4e7d9842008-06-27 22:26:11 +0000158 * src/ftcalc.c: Here. This fixes Savannah bug #23729.
159
Werner Lemberga741c6f2008-06-27 06:58:48 +00001602008-06-27 Werner Lemberg <wl@gnu.org>
161
162 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
163 Horizontal_Gray_Sweep_Drop): Test for intersections which
164 degenerate to a single point can be ignored; this has been confirmed
165 by Greg Hitchcock from Microsoft. (This was commented out code.)
166
Werner Lemberg8a9b6392008-06-26 19:56:51 +00001672008-06-26 Werner Lemberg <wl@gnu.org>
168
169 Improve navigation in API reference.
170
171 * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
172 (html_header_6): This.
173 (html_header_3, html_header_3i, html_header_4, html_header_5,
174 html_header_5t): New strings.
175 (toc_footer_start, toc_footer_end): New strings.
176 (HtmlFormatter::html_header): Updated.
177 (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
178 New strings.
179 (HtmlFormatter::index_enter): Use `html_index_header'.
180 (HtmlFormatter::index_exit): Print `html_footer'.
181 (HtmlFormatter::toc_enter): Use `html_toc_header'.
182 (HtmlFormatter::toc_exit): Print proper footer.
183
184 Convert ~ to non-breakable space.
185
186 * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
187 Update header files accordingly.
188
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001892008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
190
Werner Lemberg8a9b6392008-06-26 19:56:51 +0000191 * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
Werner Lemberge172c332008-06-25 22:21:42 +0000192 and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
193 bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
194 ResourceIndex type definition. The macro does not inform the type
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000195 availability.
196 * src/base/ftmac.c: More parentheses are inserted to clarify the
Werner Lemberge172c332008-06-25 22:21:42 +0000197 conditionals to disable legacy APIs in `10.5 and later' cases. If
198 HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000199
Werner Lemberg5563bea2008-06-24 05:44:28 +00002002008-06-24 Werner Lemberg <wl@gnu.org>
201
Werner Lemberg830846e2008-07-27 06:27:21 +0000202 * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
203 mode.
Werner Lembergce8853a2008-06-24 11:19:03 +0000204
205 * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
206 Draw_Sweep): No-dropout mode is value 2, not value 0.
207 (Draw_Sweep): Really skip dropout handling for no-dropout mode.
208
2092008-06-24 Werner Lemberg <wl@gnu.org>
210
Werner Lemberg5563bea2008-06-24 05:44:28 +0000211 * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
212 if it consists of one point only. Based on a patch from Savannah
213 bug #23683 (from John Tytgat).
214
Werner Lemberg745a4f42008-06-22 22:41:24 +00002152008-06-22 Werner Lemberg <wl@gnu.org>
216
217 * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
218 with IS_HINTED.
219
220 * docs/CHANGES: Updated.
221
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00002222008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
223
Werner Lemberg745a4f42008-06-22 22:41:24 +0000224 * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
225 but LDFLAGS does not, import it to LDFLAGS. The option is used to
226 specify non-default SDK on Mac OS X (e.g., universal binary SDK for
227 Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
228 recommends to add the option only to CFLAGS, LDFLAGS should include
229 it because libfreetype.la is built with -no-undefined. This fixes a
230 bug reported by Ryan Schmidt in MacPorts,
231 http://trac.macports.org/ticket/15331.
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000232
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00002332008-06-21 Werner Lemberg <wl@gnu.org>
234
235 Enable access to the various dropout rules of the B&W rasterizer.
236 Pass dropout rules from the TT bytecode interpreter to the
Werner Lemberg959cb8e2008-06-25 20:58:33 +0000237 rasterizer.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +0000238
239 * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
240 FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
241
242 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
243 Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
244 OpenType specification.
245 Fix mode 4 computation.
246 (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
247
Werner Lemberg959cb8e2008-06-25 20:58:33 +0000248 * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
249 mode to FT_OUTLINE_XXX flags.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +0000250
251 * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
252
Werner Lembergcd6dcca2008-06-19 06:20:21 +00002532008-06-19 Werner Lemberg <wl@gnu.org>
254
Werner Lemberg5b631d82008-06-19 16:23:43 +0000255 * src/cff/cffobjs.c (cff_face_init): Compute final
256 `dict->units_per_em' value before assigning it to
Werner Lembergbe54a682008-06-29 07:43:41 +0000257 `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
Werner Lemberg5b631d82008-06-19 16:23:43 +0000258 scaled incorrectly if the font matrix is non-standard. This fixes
259 Savannah bug #23630.
260
261 * docs/CHANGES: Updated.
262
2632008-06-19 Werner Lemberg <wl@gnu.org>
264
Werner Lembergbe54a682008-06-29 07:43:41 +0000265 * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
266 from 2008-06-19.
Werner Lembergcd6dcca2008-06-19 06:20:21 +0000267
Werner Lembergd57a5e92008-06-18 06:16:39 +00002682008-06-18 Werner Lemberg <wl@gnu.org>
269
270 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
271 Reported by Peter Weilbacher <mozilla@weilbacher.org>.
272
273 * docs/CHANGES: Updated.
274
Werner Lembergca947c22008-06-16 05:33:51 +00002752008-06-15 George Williams <gww@silcom.com>
276
277 * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
278 `valid->extra2' to 1. This is undocumented in the OpenType 1.5
279 specification.
280
Werner Lembergad83e052008-06-15 11:06:12 +00002812008-06-15 Werner Lemberg <wl@gnu.org>
282
283 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
284 from clobbering. Patch from Savannah bug report #23556.
285
286 * docs/CHANGES: Document it.
287
Werner Lemberg102bb832008-06-10 04:57:19 +00002882008-06-10 Werner Lemberg <wl@gnu.org>
289
Werner Lembergb796adb2008-06-10 17:15:35 +0000290 * autogen.sh: Add option `--install' to libtoolize.
291
2922008-06-10 Werner Lemberg <wl@gnu.org>
293
Werner Lemberg6174e172008-06-10 05:58:25 +0000294 * Version 2.3.6 released.
295 =========================
296
297
298 Tag sources with `VER-2-3-6'.
299
300 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
301 version number to 2.3.6.
302
303 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
304 builds/win32/visualc/freetype.dsp,
305 builds/win32/visualc/freetype.vcproj,
306 builds/win32/visualce/index.html,
307 builds/win32/visualce/freetype.dsp,
308 builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
309
310 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
311
312 * builds/unix/configure.raw (version_info): Set to 9:17:3.
313
314
315 * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
316 and `scale_y'.
317 * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
318
319
320 * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
321 * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
322
3232008-06-10 Werner Lemberg <wl@gnu.org>
324
Werner Lemberg102bb832008-06-10 04:57:19 +0000325 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
326 `clazz->done_face'.
327
Werner Lemberg630e24d2008-06-09 21:20:18 +00003282008-06-09 VaDiM <s_sliva@rambler.ru>
329
330 Support debugging on WinCE. From Savannah patch #6536; this fixes
331 bug #23497.
332
333 * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
334 as a replacement for OutputDebugStringA (which WinCE doesn't have).
335 Update all callers.
336 (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
337 environment variables.
338
Werner Lemberga984fda2008-06-09 21:02:13 +00003392008-06-09 Werner Lemberg <wl@gnu.org>
340
341 * README.CVS: Updated.
342
Werner Lemberg26bd7a22008-06-09 21:27:17 +0000343 * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
344 for newer versions of autoconf and friends.
Werner Lemberga984fda2008-06-09 21:02:13 +0000345
Werner Lemberg7cb9ec02008-06-09 20:49:29 +00003462008-06-08 Werner Lemberg <wl@gnu.org>
347
348 * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
349 `private_len' unsigned.
350
351 * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
352 it as such.
353 (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
354
355
356 * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
357
358
359 * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
360 for sane value.
361 Fix typo.
362
363
364 * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
365
366
367 * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
368 `last_point'.
369
370
371 * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
372 `maxTwilightPoints'.
373
Werner Lembergd77e7222008-06-05 22:07:19 +00003742008-06-06 Werner Lemberg <wl@gnu.org>
375
376 * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
377 correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
378
Werner Lemberg4c3cc762008-06-03 20:53:49 +00003792008-06-03 Werner Lemberg <wl@gnu.org>
380
381 * include/freetype/ftcache.h (FTC_FaceID): Change type back to
382 FT_Pointer. Reported by Ian Britten <britten@caris.com>.
383
Werner Lemberg8e3539b2008-06-02 13:53:54 +00003842008-06-02 Werner Lemberg <wl@gnu.org>
385
386 Emit header info for defined FreeType objects in reference.
387
388 * src/tools/docmaker/content.py (re_header_macro): New regexp.
389 (ContentProcessor::__init__): Initialize new dictionary `headers'.
390 (DocBlock::__init__): Collect macro header definitions.
391
392 * src/tools/docmaker/tohtml.py (header_location_header,
393 header_location_footer): New strings.
394 (HtmlFormatter::__init__): Pass `headers' dictionary.
395 (HtmlFormatter::print_html_field): Don't emit paragraph tags.
396 (HtmlFormatter::print_html_field_list): Emit empty paragraph.
397 (HtmlFormatter::block_enter): Emit header info.
398
3992008-06-01 Werner Lemberg <wl@gnu.org>
Werner Lemberg7493ea12008-06-02 07:24:36 +0000400
401 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
402 FT_INCREMENTAL_H): Added.
403
Werner Lembergc94fa662008-05-27 23:24:07 +00004042008-05-28 Werner Lemberg <wl@gnu.org>
405
Werner Lembergde0d0052008-05-28 21:51:15 +0000406 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
407 looking for markup tags, return immediately as soon a single one is
408 found.
409
4102008-05-28 Werner Lemberg <wl@gnu.org>
411
Werner Lembergc94fa662008-05-27 23:24:07 +0000412 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
413 original, unscaled input values. Confirmed by Greg Hitchcock from
414 Microsoft.
415
Werner Lemberg35a90b72008-05-27 18:16:03 +00004162008-05-27 Werner Lemberg <wl@gnu.org>
417
418 * src/tools/docmaker/tohtml.py (block_footer_start,
419 block_footer_middle): Beautify output.
420
Werner Lembergc9381312008-05-25 12:19:34 +00004212008-05-25 Werner Lemberg <wl@gnu.org>
422
423 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
424 trying to render into a zero-width/height bitmap, not an error code.
425
Werner Lembergffa49652008-05-25 12:43:57 +0000426 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
427 of the graphics state for subglyphs to...
428 (TT_Hint_Glyph): This function.
429 Hinting instructions for a composite glyph apparently refer to the
430 just hinted subglyphs, not the unhinted, unscaled outline. This
431 seems to fix Savannah bugs #20973 and (at least partially) #23310.
432
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +00004332008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
434
435 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +0000436 `aface' is returned by FT_New_Face_From_FOND(). The patch was
437 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +0000438
Werner Lemberg16dc51f2008-05-18 17:36:15 +00004392008-05-18 Werner Lemberg <wl@gnu.org>
440
Werner Lemberg5e8a3682008-05-18 21:49:02 +0000441 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
442 correction for pixel boundary. Without this patch, the effect can
443 be cumulative under certain circumstances, making glyphs taller and
444 taller after each call. This fixes Savannah bug #19976.
445
4462008-05-18 Werner Lemberg <wl@gnu.org>
447
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000448 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
449 This fixes Savannah bug #23280.
450
451 * docs/CHANGES: Updated.
452
David Turnera92cec52008-05-18 14:08:57 +00004532008-05-18 David Turner <david@freetype.org>
454
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000455 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
456 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
457 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
458 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +0000459
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000460 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +0000461
Werner Lemberg89d64fa2008-05-17 20:06:13 +00004622008-05-17 Sam Hocevar <samh>
463
464 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
465 glyphs correctly. Patch from Savannah bug #23277.
466
Werner Lemberga2f17cc2008-05-17 10:01:45 +00004672008-05-16 Werner Lemberg <wl@gnu.org>
468
469 * docs/CHANGES: Updated.
470
4712008-05-16 Sergey Tolstov <stolstov@esri.com>
472
473 Improve support for WGL4 encoded fonts.
474
475 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
476 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
477 ft_wgl_extra_glyph_name_offsets): New arrays.
478 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
479 (ps_unicodes_init): Use them to add additional Unicode mappings.
480
Werner Lemberg504645e2008-05-14 23:26:20 +00004812008-05-15 Werner Lemberg <wl@gnu.org>
482
Werner Lembergbcc750e2008-05-16 04:50:00 +0000483 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
484 <op_closepath>: `closepath' without a path is a no-op, not an error
485 (cf. the PS reference manual).
486
487 Reported by Martin McBride.
488
4892008-05-15 Werner Lemberg <wl@gnu.org>
490
Werner Lembergbcfcc712008-05-15 09:14:39 +0000491 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
492
4932008-05-15 Werner Lemberg <wl@gnu.org>
494
Werner Lemberg504645e2008-05-14 23:26:20 +0000495 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +0000496 which contains a single but empty entry. This is technically
497 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +0000498
499 Reported by Martin McBride.
500
Werner Lemberge6e6ead2008-05-14 23:05:38 +00005012008-05-14 Werner Lemberg <wl@gnu.org>
502
503 Finish fix of scaling bug of CID-keyed CFF subfonts.
504
505 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
506 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
507 functions.
508
509 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
510 provide global hinting data for both the top-font and all subfonts
511 (with proper scaling).
512
513 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
514 code from `cff_size_init'.
515 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
516 Use CFF_Internal and handle subfonts.
517 (cff_face_init): Handle top-dict and subfont matrices correctly;
518 apply some heuristic in case of unlikely matrix concatenation
519 results. This has been discussed with people from Adobe (thanks
520 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
521 and not correct.
522
523 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
524
525 * src/cff/cffgload.c (cff_builder_init): Updated.
526 (cff_decoder_prepare): Handle hints globals for subfonts.
527 Update all callers.
528 (cff_slot_load): Handling scaling of subfonts properly.
529
530 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
531 (cff_parse_font_matrix): Use it.
532
533 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
534 FT_ULong.
535
536 * docs/CHANGES: Document it.
537
Werner Lembergfb572282008-05-13 12:10:04 +00005382008-05-13 Werner Lemberg <wl@gnu.org>
539
540 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
541 Handle case `face_index < 0'.
542 * docs/CHANGES: Document it.
543
Werner Lemberg551dd3c2008-05-04 13:37:38 +00005442008-05-04 Werner Lemberg <wl@gnu.org>
545
546 First steps to fix the scaling bug of CID-keyed CFF subfonts,
547 reported by Ding Li on 2008/03/28 on freetype-devel.
548
549 * src/base/cff/cffparse.c (power_tens): New array.
550 (cff_parse_real): Rewritten to introduce a fourth parameter which
551 returns the `scaling' of the real number so that we have no
552 precision loss. This is not used yet.
553 Update all callers.
554 (cff_parse_fixed_thousand): Replace with...
555 (cff_parse_fixed_scaled): This function. Update all callers.
556
Werner Lemberg6d29f0f2008-05-03 15:54:15 +00005572008-05-03 Werner Lemberg <wl@gnu.org>
558
559 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
560 transformation since it recursively calls FT_Load_Glyph. This fixes
561 Savannah bug #23143.
562
Werner Lembergde9479a2008-04-26 12:52:57 +00005632008-04-26 Werner Lemberg <wl@gnu.org>
564
565 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
566 and `scale_y' as obsolete since they aren't used.
567 * src/psaux/psobjs.c (t1_builder_init): Updated.
568
569 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
570 obsolete since they aren't used.
571 * src/cff/cffgload.c (cff_builder_init): Updated.
572
Werner Lemberg4ebc8902008-04-13 22:06:12 +00005732008-04-14 Werner Lemberg <wl@gnu.org>
574
575 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
576 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
577 bug #22909.
578
Werner Lemberg048b7562008-04-13 05:55:36 +00005792008-04-13 Werner Lemberg <wl@gnu.org>
580
581 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
582 integer part is zero.
583
Werner Lembergc32e83f2008-04-01 06:07:37 +00005842008-04-01 Werner Lemberg <wl@gnu.org>
585
586 Fix compilation with g++ 4.1 (with both `single' and `multi'
587 targets).
588
589 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
590 which is crossed by a `goto'.
591
592 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
593
Werner Lemberg210d6182008-04-01 05:55:48 +00005942008-03-31 Werner Lemberg <wl@gnu.org>
595
596 Fix support for subsetted CID-keyed CFFs.
597
598 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
599 FT_IS_CID_KEYED): New macros.
600
601 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
602 maximum CID value in CID-keyed CFFs.
603 Handle FT_FACE_FLAG_CID_KEYED flag.
604
605 * docs/CHANGES: Document it.
606
607
608 Fix CFF font matrix calculation and improve precision.
609
610 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
611 part is zero.
612 (cff_parse_font_matrix): Simplify computation of `units_per_em';
613 this prevents overflow also.
614
615
616 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
617
618 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
619 (cid_get_ros): New function.
620 (cid_service_cid_info): New service structure.
621 (cid_services): Register it.
622
Werner Lemberga56e5262008-03-23 14:53:44 +00006232008-03-23 Werner Lemberg <wl@gnu.org>
624
625 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
626
627 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
628 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
629
Werner Lemberg85751172008-03-21 07:16:00 +00006302008-03-21 Laurence Darby <ldarby>
631
632 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
633 Savannah bug #22675.
634
Werner Lemberg3863c952008-03-13 06:38:37 +00006352008-03-13 Derek Clegg <dclegg@apple.com>
636
637 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
638 Patch from Savannah bug #22541.
639
Werner Lembergfc293932008-03-03 08:08:12 +00006402008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
641
642 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
643 tt_cmap14_find_variant): Return correct value.
644 (tt_cmap14_variant_chars): Fix check for `di'.
645
Werner Lemberg5057e362008-02-29 07:23:02 +00006462008-02-29 Wermer Lemberg <wl@gnu.org>
647
648 * docs/CHANGES: Updated.
649
Werner Lemberg7faa1552008-02-29 07:14:38 +00006502008-02-29 Wolf
651
652 Add build support for symbian platform. From Savannah bug #22440.
653
654 * builds/symbian/*: New files.
655
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00006562008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
657
Werner Lemberg9b9d3342008-02-21 23:22:06 +0000658 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
659 synthesis. For any face of a specified FOND, always the name for
660 the first face was used. Except of a FOND that refers multiple
661 Type1 font files, wrong synthesized font names are not used at all,
662 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +0000663
664 * builds/mac/ftmac.c: Ditto.
665
6662008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
667
Werner Lemberg31093cc2008-02-21 17:10:04 +0000668 * builds/unix/configure.raw: Split compiler option to link Carbon
669 frameworks to one option for CoreServices framework and another
670 option for ApplicationServices framework. The split options can be
671 managed by GNU libtool to avoid unrequired duplication when FreeType
672 is linked with other applications. Suggested by Daniel Macks,
673 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +0000674
Werner Lemberg28464c42008-02-18 20:34:42 +00006752008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
676
677 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
678 from Savannah bug #22356.
679
Werner Lemberg44c655b2008-02-17 08:22:08 +00006802008-02-17 Jonathan Blow <jon@number-none.com>
681
682 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
683 Check for valid callback pointers.
684
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00006852008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
686
687 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
688 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +0000689 Kazmaier. According to the Resource Manager Reference,
690 GetResource(), Get1Resource(), GetNamedResource(),
691 Get1NamedResource() and RGetResource() set noErr but return NULL
692 handle when they can not find the requested resource. These
693 functions never return undefined values, so it is sufficient to
694 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +0000695
696 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
697
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00006982008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
699
700 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +0000701 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +0000702 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +0000703
704 * builds/unix/configure.raw: Print warning if configure is executed
705 with options to specify Carbon functionalities explicitly.
706
707 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +0000708 included automatically and manual replacement is required.
709
Werner Lemberg744dd452008-02-11 08:22:40 +00007102008-02-11 Werner Lemberg <wl@gnu.org>
711
712 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
713 (dos_setup), builds/freetype.mk (clean_project_dos,
714 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
715 Murdoch.
716
Werner Lemberg4c933992008-01-18 05:32:55 +00007172008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
718
719 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
720 mention intra-pixel algorithm.
721
722 * include/freetype/freetype.h (FT_Render_Mode): Mention that
723 FT_Library_SetLcdFilter can be used to reduce fringes.
724
Werner Lemberg1ddd1b72008-01-16 06:58:54 +00007252008-01-16 Werner Lemberg <wl@gnu.org>
726
727 * src/raster/ftraster.c (ft_black_render): Check `outline' before
728 using it. Reported by Allan Yang.
729
Werner Lembergeca1f272008-01-12 07:46:09 +00007302008-01-12 Werner Lemberg <wl@gnu.org>
731
732 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
733
7342008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
735
736 * src/raster/ftraster.c (ft_black_init)
737 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
738
Werner Lembergbf391cb2008-01-10 08:47:08 +00007392008-01-10 Werner Lemberg <wl@gnu.org>
740
741 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
742 where the number of contours in a simple glyph is zero (and which
743 does contain an entry in the `glyf' table). This fixes Savannah bug
744 #21990.
745
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +00007462008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
747
748 Formatting suggested by Sean McBride.
749
750 * builds/mac/ftmac.c: Formatting (tab expanded).
751 * src/autofit/afindic.c: Ditto.
752 * src/base/ftcid.c: Ditto.
753 * src/base/ftmac.c: Ditto.
754
Werner Lembergd2e15732007-12-30 23:49:14 +00007552007-12-30 Werner Lemberg <wl@gnu.org>
756
757 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
758 correctly.
759
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00007602007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
761
762 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +0000763 references in a resource. In HelveLTMM (resource-fork PostScript
764 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
765 of PFB chunks is not sorted; sorting the chunks by reference IDs is
766 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000767
Werner Lembergd2e15732007-12-30 23:49:14 +0000768 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
769 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000770
Werner Lembergd2e15732007-12-30 23:49:14 +0000771 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
772 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000773
Werner Lembergd2e15732007-12-30 23:49:14 +0000774 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
775 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000776
Werner Lembergd156cab2007-12-14 07:48:32 +00007772007-12-14 Werner Lemberg <wl@gnu.org>
778
779 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
780 division too early; otherwise the most significant digit(s) of the
781 final result are lost as the value is truncated to an integer. This
782 fixes Savannah bug #21794 (where the patch has been posted too).
783
Werner Lembergbd7e1c32007-12-06 17:17:30 +00007842007-12-06 Fix <4d876b82@gmail.com>
785
786 Pass options from one configure script to another as-is (not
787 expanded). This is needed for options like
788 --includedir='${prefix}/include'.
789
790 * builds/unix/detect.mk, configure: Prevent argument expansion in
791 call to the (real) `configure' script.
792
7932007-12-06 Werner Lemberg <wl@gnu.org>
794
795 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
796 TT_USE_BYTECODE_INTERPRETER isn't defined.
797
7982007-12-06 Werner Lemberg <wl@gnu.org>
799
800 There exist CFFs which contain opcodes for the Type 1 operators
801 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
802 However, it doesn't harm to support them.
803
804 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
805 `cff_op_closepath.'
806 (cff_argument_counts): Ditto.
807
808 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
809 and 13 (hsbw) which are invalid in Type 2 charstrings.
810
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00008112007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
812
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000813 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
814 support new pathname syntax `..namedfork/rsrc' to access a resource
815 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
816 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +0000817 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
818 buffer size to store a pathname.
819 * include/freetype/internal/ftrfork.h: Increment the number of
820 resource fork guessing rule.
821
8222007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
823
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000824 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000825 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000826 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000827 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
828
8292007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
830
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +0000831 The documents and comments for Mac OS X are improved by Sean
832 McBride.
833
834 * src/base/ftmac.c: Fix a comment.
835 * include/freetype/ftmac.h: Ditto.
836 * docs/INSTALL.MAC: Improve English and add comment on lowest
837 system version specified by MACOSX_DEPLOYMENT_TARGET.
838
Werner Lemberga10d2b72007-12-04 22:05:54 +00008392007-12-04 Werner Lemberg <wl@gnu.org>
840
841 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
842 concatenate error codes.
843 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
844
Werner Lembergd496b922007-12-04 21:49:59 +00008452007-12-04 Graham Asher <graham.asher@btinternet.com>
846
847 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
848 concatenate error codes.
849
Werner Lembergc0da5232007-12-04 21:44:32 +00008502007-12-04 Sean McBride <sean@rogue-research.com>
851
852 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
853 warning.
854
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00008552007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
856
Werner Lemberg6174e172008-06-10 05:58:25 +0000857 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
Werner Lemberg24fe6182007-11-23 09:18:07 +0000858 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
859 cannot mmap() the specified file and cannot seek to head of the
860 specified file, it returns NULL stream and FT_Open_New() returns the
861 error immediately. On MacOS, most legacy MacOS fonts fall into such
862 a scenario because their data forks are zero-sized and cannot be
863 sought. To proceed to guessing of resource fork fonts, the
864 functions for legacy MacOS font must properly handle the NULL stream
865 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000866
Werner Lemberg24fe6182007-11-23 09:18:07 +0000867 * src/base/ftobjs.c (IsMacBinary): Return error
868 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
869 passed.
870 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
871 to fallback. Originally, legacy MacOS font is tested in the cases
872 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
873 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
874 .dfont header is combined). Now the case of
875 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000876
Werner Lemberg24fe6182007-11-23 09:18:07 +0000877 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
878 skip FT_Stream_Seek(), which seeks to the head of stream, and
879 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
880 for a NULL stream causes a Bus error on Mac OS X.
881 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000882 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000883 (raccess_guess_apple_single): Ditto.
884
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00008852007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
886
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +0000887 Fix for Carbon incompatibilities since Mac OS X 10.5,
888 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +0000889
890 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
891
892 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
Werner Lemberg830846e2008-07-27 06:27:21 +0000893 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +0000894 Carbon functions from a forked process is classified as unsafe
Werner Lemberg830846e2008-07-27 06:27:21 +0000895 by Apple. All Carbon-dependent functions should be deprecated.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +0000896
897 * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
898 and <ApplicationServices/ApplicationServices.h> instead of
899 all-in-one header file <CoreServices/CoreServices.h>.
900
901 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
902 genuine macro PATH_MAX.
903
904 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
905 is not found in Mac OS X 10.0.
906
907 Multi-character constants ('POST', 'sfnt' etc) are replaced by
908 64bit constants calculated by FT_MAKE_TAG() macro.
909
910 For the index in the segment of resource fork, new portable
911 type ResourceIndex is introduced for better compatibility.
912 This type is since Mac OS X 10.5, so it is defined as short
913 when built on older platforms.
914
915 (FT_ATSFontGetFileReference): If build target is only the systems
916 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
917
918 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
919 and newer or 64bit platform, because legacy type FSSpec type is
920 removed completely.
921
922 (FT_New_Face_From_FSSpec): Ditto.
923
9242007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +0000925
926 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
927 fixes Savannah bug #21485.
928
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00009292007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +0000930
931 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
932 can handle the font at all, then check `face_index'. Otherwise, the
933 driver might return the wrong error code. This fixes Savannah bug
934 #21468.
935
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00009362007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +0000937
938 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +0000939 support for bit 8 of the `fsSelection' field in the `OS/2' table.
940 MS is already using this; hopefully, this becomes part of OpenType
941 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +0000942 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
943 (WWS_SUBFAMILY).
944
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00009452007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +0000946
947 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
948 Add `td.left' element to CSS.
949 (toc_section_enter): Use it.
950
David Turnercf432db2007-10-19 12:36:40 +00009512007-10-18 David Turner <david@freetype.org>
952
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000953 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
954 functions related to cmap type 14 support to the
955 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +0000956
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000957 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
958 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
959 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
960 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
961 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
962
963 Update documentation accordingly.
964
965 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
966 Make the code a little more consistent with FreeType coding
967 conventions and modify the cmap14 functions that returned a newly
968 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +0000969 instead.
970
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000971 (TT_CMap14Rec): Provide array and auxiliary data for result.
972 (tt_cmap14_done, tt_cmap14_ensure): New functions.
973
974 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
975 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
976 tt_cmap14_char_var_index, tt_cmap14_variants,
977 tt_cmap14_char_variants, tt_cmap14_def_char_count,
978 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
979 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
980
Werner Lemberg9a966b72007-10-15 17:21:32 +00009812007-10-15 George Williams <gww@silcom.com>
982
983 Add support for cmap type 14.
984
985 * devel/ftoption.h, include/freetype/config/ftoption.h
986 (TT_CONFIG_CMAP_FORMAT_14): New macro.
987
988 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
989 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
990 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
991 support function prototypes.
992 (FT_CMap_ClassRec): Add them.
993 Update all users.
994
995 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
996 macro.
997
998 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
999 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
1000 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
1001 functions.
1002
1003 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
1004 function.
1005 (FT_Set_Charmap): Disallow cmaps of type 14.
1006 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
1007 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
1008 FT_Get_Chars_Of_Variant): New API functions.
1009
1010 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
1011
1012 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
1013 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
1014 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
1015 tt_cmap14_find_variant, tt_cmap14_char_var_index,
1016 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
1017 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1018 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1019 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
1020 structures for cmap 14 support.
1021 (tt_cmap_classes): Register tt_cmap14_class_rec.
1022 (tt_face_build_cmaps): One more error message.
1023
1024 * docs/CHANGES: Mention cmap 14 support.
1025
Werner Lemberg74597cc2007-10-01 07:08:56 +000010262007-10-01 Werner Lemberg <wl@gnu.org>
1027
1028 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +00001029 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +00001030 This favours MS charmaps over Apple ones.
1031
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +000010322007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1033
Werner Lemberg9a966b72007-10-15 17:21:32 +00001034 * src/base/ftmac.c: Introduction of abstract `short' data types,
1035 ResFileRefNum and ResID. These types were introduced for Copland,
1036 then backported to MPW. The variables exchanged with FileManager
1037 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00001038 proposed by Sean McBride.
1039 * builds/mac/ftmac.c: Ditto.
1040
Werner Lembergabc44f52007-08-18 06:38:07 +000010412007-08-18 Werner Lemberg <wl@gnu.org>
1042
1043 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
1044 by Imran Yousaf. Fixes Savannah bug #20773.
1045
1046 (otv_Lookup_validate): Correct handling of LookupType. Found by
1047 Imran Yousaf. Fixes Savannah bug #20782.
1048
Werner Lemberg23a424f2007-08-17 20:16:44 +000010492007-08-17 George Williams <gww@silcom.com>
1050
1051 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
1052 SingleSubstFormat1.
1053
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000010542007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1055
1056 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
1057 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
1058 Found by Ryan Hill.
1059
Werner Lemberg3f1905b2007-08-11 15:45:32 +000010602007-08-11 George Williams <gww@silcom.com>
1061
1062 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
1063 (otv_Coverage_validate): Add fourth argument to pass an expected
1064 count value. Update all users.
1065 Check glyph IDs.
1066 (otv_ClassDef_validate): Check `StartGlyph'.
1067
1068 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
1069 checks.
1070
1071 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
1072 56 constants.
1073 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
1074 Check glyph IDs.
1075
Werner Lembergd76fe5a2007-08-08 06:38:06 +000010762007-08-08 Werner Lemberg <wl@gnu.org>
1077
1078 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
1079 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
1080 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
1081 appropriate. Reported by George.
1082
1083 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
1084
1085 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
1086
1087 * docs/CHANGES: Updated.
1088
10892007-08-08 George Williams <gww@silcom.com>
1090
1091 Add `MATH' validating support to otvalid module.
1092
1093 * include/freetype/tttags.h (TTAG_MATH): New macro.
1094 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
1095 (FT_VALIDATE_OT): Updated.
1096
1097 * src/otvalid/otmath.c: New file.
1098
1099 * src/otvalid/otvalid.c: Include otvmath.c.
1100 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
1101
Werner Lembergb6617882007-08-04 22:17:48 +000011022007-08-04 Werner Lemberg <wl@gnu.org>
1103
David Turnercf432db2007-10-19 12:36:40 +00001104 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +00001105 Fixes Savannah bug #20686.
1106
Werner Lembergd6752a62007-08-02 22:03:30 +000011072007-08-03 Werner Lemberg <wl@gnu.org>
1108
1109 * src/psnames/psmodule.c: Fix usage of
1110 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
1111
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +000011122007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1113
1114 * src/base/ftmac.c (open_face_from_buffer): The argument
1115 `driver_name' is typed as `const char*' to match with the
1116 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
1117 This is same with open_face_from_buffer in src/base/ftobjs.c.
1118 Found and fixed by Sean McBride.
1119
Werner Lemberg39c91ad2007-07-28 05:40:40 +000011202007-07-28 Werner Lemberg <wl@gnu.org>
1121
1122 * src/raster/ftraster.c (count_table): Make it conditional.
1123 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
1124 a preprocessor statement.
1125
Werner Lemberg71dd6872007-07-27 04:44:36 +000011262007-07-27 Werner Lemberg <wl@gnu.org>
1127
1128 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
1129 first usage. From Savannah patch #6115.
1130
Werner Lembergef915c32007-07-16 20:46:05 +000011312007-07-16 Werner Lemberg <wl@gnu.org>
1132
1133 * docs/CHANGES: Updated.
1134
11352007-07-16 Derek Clegg <dclegg@apple.com>
1136
1137 Add new service for getting the ROS from a CID font.
1138
1139 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
1140 * include/freetype/ftcid.h: New file.
1141
1142 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
1143 * include/freetype/internal/services/svcid.h: New file.
1144
1145 * src/base/ftcid.c: New file.
1146
1147 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
1148 (cff_get_ros): New function.
1149 (cff_service_cid_info): New service structure.
1150 (cff_services): Register it.
1151
1152 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
1153
1154 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
1155
1156 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
1157
Werner Lemberg2f109562007-07-11 05:32:00 +000011582007-07-11 Derek Clegg <dclegg@apple.com>
1159
1160 Add support for postscript name service to CFF driver.
1161
1162 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
1163 (cff_get_ps_name): New function.
1164 (cff_service_ps_name): New service structure.
1165 (cff_services): Register it.
1166
Werner Lembergb003b3e2007-07-08 07:13:12 +000011672007-07-07 Werner Lemberg <wl@gnu.org>
1168
1169 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
1170 `target'. Reported by Sean McBride.
1171
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000011722007-07-06 Werner Lemberg <wl@gnu.org>
1173
1174 * src/pfr/pfrcmap.c: Include pfrerror.h.
1175
1176 * src/autofit/afindic.c: Add some external declarations to pacify
1177 `make multi' compilation.
1178
1179 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
1180
1181 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
1182 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
1183 src/autofit/aflatin.c (af_latin_hints_compute_edges),
1184 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
1185 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
1186 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
1187
1188 * docs/release: Mention test compilation targets.
1189
Werner Lemberg986ea4b2007-07-04 04:53:15 +000011902007-07-04 Werner Lemberg <wl@gnu.org>
1191
1192 * docs/PROBLEMS: Mention that some PS based fonts can't be
1193 handled correctly by FreeType.
1194
Werner Lemberg3033f432007-07-04 14:12:19 +00001195 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
1196 recursion depth of 1. This was the maximum value in TrueType 1.0,
1197 and some older fonts don't set this field correctly.
1198
1199 * src/gxvalid/gxvmort1.c
1200 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
1201
Werner Lemberg3b0e5002007-07-03 04:48:19 +000012022007-07-03 Werner Lemberg <wl@gnu.org>
1203
1204 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
1205 `round' to pacify compiler.
1206
12072007-07-02 Werner Lemberg <wl@gnu.org>
1208
1209
1210 * Version 2.3.5 released.
1211 =========================
1212
1213
1214 Tag sources with `VER-2-3-5'.
1215
1216 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1217 version number to 2.3.5.
1218
1219 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1220 builds/win32/visualc/freetype.dsp,
1221 builds/win32/visualc/freetype.vcproj,
1222 builds/win32/visualce/index.html,
1223 builds/win32/visualce/freetype.dsp,
1224 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
1225
1226 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
1227
1228 * builds/unix/configure.raw (version_info): Set to 9:16:3.
1229
David Turner0ba89912007-07-01 09:34:04 +000012302007-07-01 David Turner <david@freetype.org>
1231
Werner Lemberge3be90b2007-07-02 14:58:58 +00001232 * include/freetype/freetype.h, src/base/ftpatent.c
1233 (FT_Face_SetUnpatentedHinting): New function to dynamically change
1234 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +00001235
Werner Lemberge3be90b2007-07-02 14:58:58 +00001236 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
1237 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +00001238
David Turner74cc0e92007-06-30 22:54:12 +000012392007-06-30 David Turner <david@freetype.org>
1240
Werner Lemberge3be90b2007-07-02 14:58:58 +00001241 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
1242 initialization.
David Turner74cc0e92007-06-30 22:54:12 +00001243
Werner Lemberge3be90b2007-07-02 14:58:58 +00001244 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
1245 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +00001246
Werner Lemberg7723dc32007-06-26 04:44:35 +000012472007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
1248
1249 Add autofit module for Indic scripts. This currently just reuses
1250 the CJK-specific functions.
1251
1252 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
1253 macro.
1254 * devel/ftoption.h: Synchronize with
1255 include/freetype/config/ftoption.h.
1256
1257 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
1258
1259 * src/autofit/afglobal.c, src/autofit/aftypes.h,
1260 src/autofit/autofit.c: Updated.
1261
1262 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
1263 (AUTOF_DRV_SRC): Updated.
1264
David Turner8f626b02007-06-22 22:22:38 +000012652007-06-23 David Turner <david@freetype.org>
1266
Werner Lemberg7854c4a2007-06-23 07:16:20 +00001267 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
1268 2007-06-16 that prevented the TrueType module from loading most
1269 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00001270
Werner Lemberg5b4d4352007-06-20 07:07:55 +000012712007-06-20 Werner Lemberg <wl@gnu.org>
1272
1273 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
1274 change.
1275
Werner Lemberg9fe58152007-06-19 07:57:30 +000012762007-06-19 Werner Lemberg <wl@gnu.org>
1277
1278 * src/type1/t1load.c (parse_encoding): Handle one more error.
1279
Werner Lemberg5a829392007-06-19 04:53:30 +000012802007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
1281
1282 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
1283 FNT_Err_Invalid_File_Format if file format was recognized but
1284 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
1285 Add verbose debug logs to make it easier to debug failing load
1286 attempts.
1287 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
1288 so return an error if requested face index is > 0.
1289 Do not do further attempt to load fonts if a previous attempt has
1290 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
1291 file format has been recognized but no fonts found in the file.
1292
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000012932007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1294
1295 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
1296 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
1297 the compiler warnings against unused arguments.
1298 (FT_ATSFontGetFileReference): Ditto.
1299 (FT_GetFile_From_Mac_ATS_Name): Ditto.
1300 (FT_New_Face_From_FSSpec): Ditto.
1301 (lookup_lwfn_by_fond): Fix wrong comment.
1302 Replace `const StringPtr' by more appropriate type
1303 `ConstStr255Param'.
1304 FSRefMakePathPath always returns UTF8 POSIX pathname in
1305 Mach-O, thus HFS pathname support is dropped.
1306 (count_faces): Remove HLock and HUnlock which is not
1307 required on Mac OS X anymore.
1308 (FT_New_Face_From_SFNT): Ditto.
1309 (FT_New_Face_From_FOND): Ditto.
1310 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
1311 except of HFS pathname support and HLock/HUnlock.
1312 They are required on classic CFM environment.
1313
13142007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +00001315
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001316 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
1317 assertion.
1318 (ps_parser_to_bytes): Fix error message.
1319
Werner Lembergbb2510d2007-06-18 17:07:49 +00001320 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001321 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
1322 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +00001323 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +00001324 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001325
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013262007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001327
Werner Lembergf48aec72007-06-18 07:07:55 +00001328 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
1329 logic.
1330 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
1331 correctly.
1332 (ps_parser_load_field_table): Use `fields->array_max' instead of
1333 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
1334
Werner Lemberg95104a42007-06-18 07:33:10 +00001335 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
1336 2007-06-06.
1337
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013382007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +00001339
1340 * src/tools/ftrandom.c (font_size): New global variable.
1341 (TestFace): Use it.
1342 (main): Handle new option `--size' to set `font_size'.
1343 (Usage): Updated.
1344
Werner Lembergbe183eb2007-06-17 11:27:17 +00001345 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
1346 invalid font.
1347 (FNT_Load_Glyph): Protect against invalid bitmap width.
1348
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013492007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +00001350
Werner Lemberge12ed562007-06-17 05:31:23 +00001351 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
1352 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +00001353
Werner Lemberge12ed562007-06-17 05:31:23 +00001354 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
1355 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +00001356
Werner Lemberge12ed562007-06-17 05:31:23 +00001357 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
1358 and `zp2'.
1359 (Ins_IP): Check argument ranges to reject bogus operations properly.
1360 (IUP_WorkerRec): Add `max_points' member.
1361 (_iup_worker_interpolate): Check argument ranges.
1362 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +00001363
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013642007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +00001365
1366 * src/winfonts/winfnt.h: Add necessary structures for PE resource
1367 parsing.
1368 (WinPE32_HeaderRec): New structure.
1369 (WinPE32_SectionRec): New structure.
1370 (WinPE_RsrcDirRec): New structure.
1371 (WinPE_RsrcDirEntryRec): New structure.
1372 (WinPE_RsrcDataEntryRec): New structure.
1373 (FNT_FontRec): Remove unused `size_shift' field.
1374
1375 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
1376 loading bitmap .fon files in PE format.
1377
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013782007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +00001379
1380 * builds/win32/ftdebug.c: Unify debug level handling with other
1381 platforms.
1382
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013832007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +00001384
1385 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
1386 console as well as to the debugger.
1387
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000013882007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +00001389
1390 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
1391 cover all ranges which could possibly be handled by the aflatin
1392 module (since the default fallback for unknown ranges is now the
1393 afcjk module). It might be necessary to fine-tune this further by
1394 splitting off modules for Greek, Cyrillic, or other blocks.
1395
David Turnerb7920172007-06-11 05:37:35 +000013962007-06-11 David Turner <david@freetype.org>
1397
Werner Lemberg49e18b82007-06-11 21:15:09 +00001398 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
1399 incorrect segment linking computation. This was the root cause of
1400 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +00001401
1402
Werner Lemberg49e18b82007-06-11 21:15:09 +00001403 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
1404 to improve the Latin auto-hinter. Note that the new code is
1405 disabled by default since it is not stabilized yet.
1406
1407 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
1408 (disabled currently).
1409
1410 * src/autofit/afhints.c: Remove dead code.
1411 (af_axis_hints_new_edge): Add argument to handle segment directions.
1412 (af_edge_flags_to_string): New function.
1413 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
1414 option flags.
1415 (af_glyph_hints_reload): Add argument to handle inflections.
1416 Simplify.
1417 (af_direction_compute): Fine tuning.
1418 (af_glyph_hints_align_edge_points): Fix logic.
1419 (af_glyph_hints_align_strong_points): Do linear search for small
1420 edge counts.
1421 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
1422 (af_iup_shift): Handle zero `delta'.
1423
1424 * src/autofit/afhints.h: Updated.
1425 (AF_SORT_SEGMENTS): New macro (disabled).
1426 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
1427
1428 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
1429 argument to pass option flags for handling scripts.
1430 * src/autofit/afglobal.h: Updated.
1431
1432 * src/autofit/afcjk.c: Updated.
1433 * src/autofit/aflatin.c: Updated.
1434 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
1435
1436 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
1437 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
1438 Don't set `edge->dir'
1439 (af_latin_hint_edges): Add more logging.
1440
1441 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00001442
Werner Lembergf6c120f2007-06-11 04:55:58 +000014432007-06-11 Werner Lemberg <wl@gnu.org>
1444
Werner Lembergcf7b7642007-06-11 04:58:01 +00001445 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00001446
David Turner84c6f882007-06-10 20:51:04 +000014472007-06-10 David Turner <david@freetype.org>
1448
Werner Lembergf6c120f2007-06-11 04:55:58 +00001449 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
1450 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00001451
Werner Lembergf6c120f2007-06-11 04:55:58 +00001452 * include/freetype/config/ftoption.h: Clarify documentation
1453 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00001454
Werner Lembergf6c120f2007-06-11 04:55:58 +00001455
1456 Add new `FT_Face_CheckTrueTypePatents' API.
1457
1458 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
1459 declaration.
1460
1461 * include/freetype/internal/services/svttglyf.h,
1462 src/base/ftpatent.c: New files.
1463
1464 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
1465 New macro.
1466
1467 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
1468 `ttpload.h'.
1469 (tt_service_truetype_glyf): New service structure.
1470 (tt_services): Register it.
1471
1472 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
1473 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00001474
Werner Lemberg33db39e2007-06-08 06:30:29 +000014752007-06-08 Werner Lemberg <wl@gnu.org>
1476
David Turner84c6f882007-06-10 20:51:04 +00001477 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00001478 Fonts without a cmap must be handled correctly by FreeType (anything
1479 else would be a bug).
1480
1481
1482 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1483 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
1484
Werner Lemberg88ab6382007-06-07 05:01:56 +000014852007-06-07 Werner Lemberg <wl@gnu.org>
1486
1487 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
1488 tt_sbit_decoder_load_image): Protect against integer overflows.
1489
1490
1491 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
1492 for `x_control' and `y_control'.
1493
Werner Lemberg2a2dca62007-06-06 04:39:37 +000014942007-06-06 Werner Lemberg <wl@gnu.org>
1495
1496 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
1497
Werner Lemberga8d65492007-06-06 04:47:49 +00001498
1499 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
1500 FreeType error.
1501
Werner Lemberg470210b2007-06-06 10:05:49 +00001502
1503 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
1504 `font_count'.
1505
1506
1507 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
1508
1509
1510 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
1511 `FT_Error'.
1512 Check `fd_index'.
1513 (cff_slot_load): Updated.
1514 * src/cff/cffgload.h: Updated.
1515
Werner Lemberg6c054752007-06-05 05:27:54 +000015162007-06-05 Werner Lemberg <wl@gnu.org>
1517
1518 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
1519 (pfr_glyph_load_simple): Convert assertion into normal FreeType
1520 error.
1521 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00001522 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
1523 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00001524
1525 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
1526
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001527
Werner Lemberg470210b2007-06-06 10:05:49 +00001528 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001529
Werner Lemberge5c14d92007-06-05 20:50:37 +00001530
1531 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
1532 in case of parsing error.
1533 (ps_parser_load_field): Updated.
1534
1535 * src/type1/t1load.c (parse_font_matrix): Updated.
1536
Werner Lembergad18b362007-06-04 07:04:05 +000015372007-06-04 Werner Lemberg <wl@gnu.org>
1538
1539 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
1540
1541 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
1542
Werner Lemberg3d507fe2007-06-03 16:54:55 +000015432007-06-03 Werner Lemberg <wl@gnu.org>
1544
Werner Lemberg99a320b2007-06-03 19:21:26 +00001545 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
1546 George Williams (with some modifications).
1547
15482007-06-03 Werner Lemberg <wl@gnu.org>
1549
Werner Lemberg3d507fe2007-06-03 16:54:55 +00001550 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
1551 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
1552 face == NULL. Suggested by Graham Asher.
1553
Werner Lembergce280a22007-06-03 05:58:30 +000015542007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
1555
1556 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
1557
Werner Lemberg5b591e42007-06-01 22:16:43 +000015582007-06-02 Werner Lemberg <wl@gnu.org>
1559
1560 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
1561 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
1562
1563 * src/bdf/bdflib.c (bdf_load_font): Use them.
1564
1565 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
1566
Werner Lembergb9933f42007-06-01 21:27:12 +000015672007-06-01 Werner Lemberg <wl@gnu.org>
1568
1569 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
1570 (FTC_CMapCache_Lookup): Remove unused code.
1571
Werner Lembergc793d902007-06-01 20:51:11 +000015722007-06-01 Sean McBride <sean@rogue-research.com>
1573
1574 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
1575 unused.
1576
Werner Lembergbebc7b12007-06-01 06:32:30 +000015772007-06-01 Werner Lemberg <wl@gnu.org>
1578
1579 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
1580 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00001581 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00001582
Werner Lembergcb37b3b2007-06-01 06:49:03 +00001583 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
1584 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
1585
Werner Lembergba03af62007-05-30 13:57:02 +000015862007-05-30 Werner Lemberg <wl@gnu.org>
1587
1588 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
1589 against too small binary data strings.
1590
1591 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
1592
David Turnerf0cd69c2007-05-28 15:42:09 +000015932007-05-28 David Turner <david@freetype.org>
1594
Werner Lemberg99e0c182007-05-29 07:00:23 +00001595 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
1596 transformation. This significantly reduces the loading time of CFF
1597 glyphs.
David Turner552a9562007-05-28 15:45:35 +00001598
Werner Lemberg99e0c182007-05-29 07:00:23 +00001599 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00001600
Werner Lemberg99e0c182007-05-29 07:00:23 +00001601 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
1602 hinting script to CJK, since it works well with more scripts than
1603 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
1604 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00001605
Werner Lemberg1c8980e2007-05-25 07:11:12 +000016062007-05-25 Werner Lemberg <wl@gnu.org>
1607
1608 * docs/CHANGES: Updated.
1609
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000016102007-05-24 Werner Lemberg <wl@gnu.org>
1611
1612 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
1613 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
1614
16152007-05-24 Graham Asher <graham.asher@btinternet.com>
1616
1617 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
1618 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
1619
David Turner0d0365e2007-05-22 09:53:44 +000016202007-05-22 David Turner <david@freetype.org>
1621
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001622 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
1623 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00001624
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001625
1626 Avoid heap blowup with very large .Z font files. This fixes
1627 Savannah bug #19910.
1628
1629 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
1630 `in_limit', `pad', `pad_bits', and `in_buff' members.
1631 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
1632 `buf_total' members.
1633
1634 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
1635 only one argument.
1636 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00001637
16382007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00001639
1640 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
1641 (ps_dimension_set_mask_bits): Remove `const'.
1642
David Turner0d0365e2007-05-22 09:53:44 +000016432007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00001644
1645 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1646 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
1647
Werner Lembergb826fa72007-05-19 07:18:48 +000016482007-05-19 Derek Clegg <dclegg@apple.com>
1649
1650 Savannah patch #5929.
1651
1652 * include/freetype/tttables.h, src/base/ftobjcs.c
1653 (FT_Get_CMap_Format): New function.
1654
1655 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
1656 `format' member.
1657 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
1658 cmap_info->format.
1659
Werner Lemberg6f99c882007-05-19 07:01:49 +000016602007-05-19 Werner Lemberg <wl@gnu.org>
1661
1662 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
1663 before handling subglyphs so that it can be reinitialized each time.
1664 This fixes Savannah bug #19859.
1665
Werner Lemberg95bc9d32007-05-16 15:19:42 +000016662007-05-16 Werner Lemberg <wl@gnu.org>
1667
1668 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
1669 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
1670 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
1671 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
1672 tt_face_get_metrics): Fix type-punning issues.
1673
David Turner0a24bd22007-05-15 10:54:10 +000016742007-05-15 David Turner <david@freetype.org>
1675
1676 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001677 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
1678 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00001679 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001680 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00001681
Werner Lemberg607dec72007-05-15 06:49:37 +000016822007-05-15 Graham Asher <graham.asher@btinternet.com>
1683
1684 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
1685 variable.
1686 * src/autofit/afloader.c (af_loader_load_g): Ditto.
1687
1688 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
1689 (open_face_from_buffer): Initialize `stream'.
1690 (FT_Request_Metrics): Remove unused variable.
1691 Remove redundant `break' statements.
1692 (FT_Get_Track_Kerning): Remove unused variable.
1693
1694 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
1695 afm_parse_kern_data): Remove redundant
1696 `break' statements.
1697 (afm_parser_parse): Ditto.
1698 Don't use uninitialized variables.
1699
1700 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
1701 Use `|' operator instead of `^' to set it.
1702 Update all users.
1703
1704 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
1705 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
1706
1707 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
1708 comparison.
1709 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
1710 (TT_Load_Glyph): Remove unused variable.
1711
Werner Lemberg8d463a52007-05-13 16:01:55 +000017122007-05-13 Derek Clegg <dclegg@apple.com>
1713
1714 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
1715 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
1716
David Turner711cf842007-05-11 14:36:24 +000017172007-05-11 David Turner <david@freetype.org>
1718
Werner Lemberg56ceaa42007-05-14 18:53:58 +00001719 * src/cache/ftbasic.c, include/freetype/ftcache.h
1720 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
1721 functions that allow us to look up glyphs using an FTC_Scaler object
1722 to specify the size, making it possible to use fractional pixel
1723 sizes.
1724
1725 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
1726 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00001727
Werner Lemberg94be20e2007-05-09 20:02:55 +000017282007-05-09 Graham Asher <graham.asher@btinternet.com>
1729
1730 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
1731 (af_latin_metrics_scale_dim): Fix compiler warnings.
1732
Werner Lemberg41271032007-05-06 04:51:48 +000017332007-05-06 Werner Lemberg <wl@gnu.org>
1734
1735 * builds/win32/visualce/freetype.sln: Removed, as requested by
1736 Vincent.
1737
Werner Lembergdf49e692007-05-04 06:30:05 +000017382007-05-04 Vincent RICHOMME <richom.v@free.fr>
1739
1740 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
1741 PC targets.
1742
1743 * docs/CHANGES: Document them.
1744
17452007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00001746
1747 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
1748 mmap (which might happen on some RTOS). From Savannah patch #5909.
1749
Werner Lemberg106eaf12007-05-03 07:07:47 +000017502007-05-03 Werner Lemberg <wl@gnu.org>
1751
1752 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
1753 * include/freetype/freetype.h (FT_Set_Char_Size): Update
1754 documentation.
1755
Werner Lemberg1b5267d2007-04-28 21:06:15 +000017562007-04-28 Victor Stinner <victor.stinner@inl.fr>
1757
1758 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
1759 `cmap'.
1760
Werner Lembergcc712a22007-04-27 17:16:50 +000017612007-04-27 Werner Lemberg <wl@gnu.org>
1762
1763 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
1764 number of points in contours. Problem reported by Victor Stinner
1765 <victor.stinner@haypocalc.com>.
1766 (TT_Process_Simple_Glyph): Synchronize variable types.
1767
Werner Lemberg45bb18f2007-04-26 06:26:35 +000017682007-04-26 Werner Lemberg <wl@gnu.org>
1769
1770 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
1771 zero in case of error. This fixes Savannah bug #19689.
1772
David Turnera8b45e62007-05-11 14:10:30 +000017732007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
1774
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001775 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
1776 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00001777
Werner Lembergfcc1f472007-04-10 11:51:50 +000017782007-04-10 Martin Horak <horakm@centrum.cz>
1779
1780 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
1781 Ignore `hhea' table. This fixes Savannah bug #19261.
1782
Werner Lemberg14bf82e2007-04-10 04:09:49 +000017832007-04-09 Werner Lemberg <wl@gnu.org>
1784
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001785
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001786 * Version 2.3.4 released.
1787 =========================
1788
1789
1790 Tag sources with `VER-2-3-4'.
1791
1792 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1793 version number to 2.3.4.
1794
1795 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1796 builds/win32/visualc/freetype.dsp,
1797 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
1798
1799 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
1800
1801 * builds/unix/configure.raw (version_info): Set to 9:15:3.
1802
Werner Lembergf4a52a62007-04-09 08:40:11 +000018032007-04-09 Martin Horak <horakm@centrum.cz>
1804
1805 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
1806 memory stream to avoid a crash with the incremental memory
1807 interface (Savannah bug #19260).
1808
David Turner1dcb4442007-04-06 08:19:04 +000018092007-04-06 David Turner <david@freetype.org>
1810
Werner Lembergc81cf612007-04-06 09:28:23 +00001811 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
1812 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00001813
Werner Lemberg9f83e052007-04-05 02:28:23 +000018142007-04-04 Werner Lemberg <wl@gnu.org>
1815
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001816
Werner Lemberg9f83e052007-04-05 02:28:23 +00001817 * Version 2.3.3 released.
1818 =========================
1819
1820
1821 Tag sources with `VER-2-3-3'.
1822
1823 * docs/CHANGES: Mention CVE-2007-1351.
1824
David Turner7338ec22007-04-03 14:30:34 +000018252007-04-03 David Turner <david@freetype.org>
1826
1827 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00001828 if one of the resolution values is 0, treat it as if it were the
1829 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00001830
David Turnere6472c12007-04-02 13:13:54 +000018312007-04-02 David Turner <david@freetype.org>
1832
Werner Lemberg94f12272007-04-03 07:19:53 +00001833 Add special code to detect `extra-light' fonts and do not snap their
1834 stem widths too much to avoid bizarre hinting effects.
1835
1836 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
1837 `extra_light' members.
1838
1839 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
1840 them.
1841 (af_latin_metrics_scale_dim): Set `extra_light'.
1842 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00001843
David Turner3f539692007-03-28 14:53:40 +000018442007-03-28 David Turner <david@freetype.org>
1845
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001846 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00001847 padding.
1848
Werner Lemberga08b2172007-03-28 07:17:17 +000018492007-03-28 Werner Lemberg <wl@gnu.org>
1850
1851 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
1852 gracefully.
1853 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00001854 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00001855 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
1856 number of code points in Unicode.
1857
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001858 * builds/win32/visualc/index.html,
1859 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001860 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001861 s/232/233/.
1862
1863 * docs/CHANGES: Mention ftdiff.
1864
David Turner3b242d32007-03-26 12:03:04 +000018652007-03-26 David Turner <david@freetype.org>
1866
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001867 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
1868 corresponding code.
1869 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00001870
Werner Lemberga08b2172007-03-28 07:17:17 +00001871 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001872 computations in order to ignore single-point contours. These are
1873 never rasterized and correspond in certain fonts to mark-attach
1874 points that are very far from the glyph's real outline, ruining the
1875 computation.
David Turnerf58caa02007-03-26 12:39:25 +00001876
Werner Lemberga08b2172007-03-28 07:17:17 +00001877 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00001878 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00001879 Otherwise code that uses them will most certainly ruin the fixed
1880 advance property.
David Turner23553d62007-03-26 13:37:17 +00001881
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001882 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
1883 documentation and bump version number to 2.3.3.
1884
1885 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
1886
1887 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00001888
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000018892007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1890
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001891 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
1892 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00001893 * builds/vms/ftconfig.h: Ditto.
1894 * include/freetype/config/ftconfig.h: Ditto.
1895
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000018962007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1897
Werner Lemberg14ffe092007-03-22 06:12:43 +00001898 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
1899 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00001900 proposed by Sean McBride:
1901 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
1902
19032007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1904
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00001905 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
1906 setjmp, proposed by Sean McBride:
1907 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
1908
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000019092007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1910
Werner Lembergc9f6c662007-03-21 13:30:14 +00001911 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
1912 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
1913 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00001914
David Turner74c34eb2007-03-18 07:19:31 +000019152007-03-18 David Turner <david@freetype.org>
1916
Werner Lembergc9f6c662007-03-21 13:30:14 +00001917 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
1918 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00001919
Werner Lembergc9f6c662007-03-21 13:30:14 +00001920 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00001921
David Turner89020d92007-03-17 17:48:57 +000019222007-03-17 David Turner <david@freetype.org>
1923
Werner Lembergc9f6c662007-03-21 13:30:14 +00001924 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
1925 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00001926
Werner Lemberg25d592a2007-03-09 07:59:35 +000019272007-03-09 Werner Lemberg <wl@gnu.org>
1928
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001929
Werner Lemberg25d592a2007-03-09 07:59:35 +00001930 * Version 2.3.2 released.
1931 =========================
1932
1933
1934 Tag sources with `VER-2-3-2'.
1935
1936 * builds/win32/visualc/index.html,
1937 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001938 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00001939 s/231/232/.
1940
David Turner3a51afa2007-03-08 10:50:38 +000019412007-03-08 David Turner <david@freetype.org>
1942
Werner Lemberg25d592a2007-03-09 07:59:35 +00001943 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00001944
Werner Lemberg25d592a2007-03-09 07:59:35 +00001945 * builds/unix/configure.raw (version_info): Set to 9:13:3.
1946
1947 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
1948
1949 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00001950
Werner Lemberg1e259de2007-03-08 15:39:21 +00001951 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
1952 function to work properly, over-writing user-provided buffers in
1953 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00001954
David Turner121cad52007-03-08 16:43:50 +00001955
Werner Lemberg3d92f082007-03-06 11:59:24 +000019562007-03-05 Werner Lemberg <wl@gnu.org>
1957
1958 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
1959 macro for `strstr'.
1960
1961 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
1962 `trick_names', as suggested by Ivan Nincic.
1963
David Turner085bc6e2007-03-05 17:40:03 +000019642007-03-05 David Turner <david@freetype.org>
1965
Werner Lembergd112cf02007-03-06 12:06:56 +00001966 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
1967 case FT_Init_FreeType fails for some reason. Problem reported by
1968 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00001969
Werner Lembergd112cf02007-03-06 12:06:56 +00001970 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
1971 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
1972 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
1973 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00001974
Werner Lembergd112cf02007-03-06 12:06:56 +00001975 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
1976 signed values, not unsigned ones. Problem reported by Johannes
1977 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00001978
David Turner601aefe2007-02-21 16:47:49 +000019792007-02-21 David Turner <david@freetype.org>
1980
Werner Lembergde5e6862007-02-25 21:06:43 +00001981 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
1982 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00001983
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000019842007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1985
1986 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
1987 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
1988 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
1989
Werner Lemberga0915172007-02-16 08:12:50 +000019902007-02-16 Werner Lemberg <wl@gnu.org>
1991
1992 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
1993 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
1994
David Turner2c4500e2007-02-14 15:08:47 +000019952007-02-14 David Turner <david@freetype.org>
1996
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001997 It seems that the following changes fix most of the known
1998 interpreter problems with my fonts, but more testing is needed,
1999 though.
2000
2001 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
2002 (TT_MulFix14): Rewrite.
2003 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
2004 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00002005
Werner Lembergc6a14082007-02-12 22:08:15 +000020062007-02-12 Werner Lemberg <wl@gnu.org>
2007
2008 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
2009 warnings.
2010
2011 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
2012 (bdf_interpret_style): Ditto.
2013
David Turnerc0f9c4a2007-02-12 14:55:03 +000020142007-02-12 David Turner <david@freetype.org>
2015
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002016 Simplify projection and dual-projection code interface.
2017
Werner Lemberg406d25f2007-02-12 22:01:18 +00002018 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
2019 FT_Vector' as argument type.
2020 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
2021 Updated.
2022 (CUR_fast_project, CUR_fast_dualproj): New macros.
2023 (Project, Dual_Project, Project_x, Project_y): Updated.
2024 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
2025 macros.
2026
2027
2028 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
2029 adjustments for the non-light auto-hinted modes. Gets rid of
2030 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00002031
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002032 * src/autofit/aflatin.c (af_latin_hints_link_segments,
2033 af_latin_hints_compute_edges): Slight optimization of the segment
2034 linker and better handling of serif segments to get rid of broken
2035 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00002036
David Turnerc0f9c4a2007-02-12 14:55:03 +00002037
Werner Lemberg442bfb82007-02-12 21:44:10 +00002038 Introduce new string functions and the corresponding macros to get
2039 rid of various uses of strcpy and other `evil' functions, as well as
2040 to simplify a few things.
2041
2042 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
2043 ft_mem_strcpyn): New declarations.
2044 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
2045 macros.
2046 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
2047 functions.
2048
2049 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
2050 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
2051 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
2052 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
2053 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
2054 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
2055 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
2056 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00002057
Werner Lemberg406d25f2007-02-12 22:01:18 +00002058 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
2059
Werner Lemberg582067d2007-02-11 15:03:05 +000020602007-02-11 Werner Lemberg <wl@gnu.org>
2061
2062 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
2063 non-spacing glyphs.
2064
Werner Lemberg8f474532007-02-07 08:31:01 +000020652007-02-07 Tom Parker <palfrey@tevp.net>
2066
2067 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
2068 pointer.
2069
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000020702007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2071
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002072 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
2073 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00002074 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002075 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
2076 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
2077 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
2078 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00002079
2080 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
2081 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002082 * builds/mac/ftmac.c: Ditto.
2083
20842007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2085
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00002086 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00002087 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00002088 #include <ftmac.c>.
2089
20902007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2091
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00002092 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
2093 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
2094 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
2095 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
2096 FT_GetFilePath_From_Mac_ATS_Name.
2097 * builds/mac/ftmac.c: Ditto.
2098
20992007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2100
Werner Lembergdcbb7082007-02-08 08:54:09 +00002101 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00002102 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
2103 for passing to FT_New_Face_From_FSSpec.
2104
21052007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2106
Werner Lembergdcbb7082007-02-08 08:54:09 +00002107 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00002108 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00002109
2110 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
2111 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00002112 * builds/mac/ftmac.c (OS_INLINE): Ditto.
2113
Werner Lemberg313d7772007-02-01 08:10:45 +000021142007-02-01 Werner Lemberg <wl@gnu.org>
2115
2116 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
2117 Explain why applications shouldn't use it. Found by Alexei.
2118
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000021192007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002120
2121 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
2122 message.
2123
2124 * src/gxvalid/gxvmort1.c
2125 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
2126 message.
2127
Werner Lemberg53935932007-01-31 08:53:02 +000021282007-01-31 Werner Lemberg <wl@gnu.org>
2129
2130
2131 * Version 2.3.1 released.
2132 =========================
2133
2134
2135 Tag sources with `VER-2-3-1-FINAL'.
2136
2137 * builds/win32/visualc/freetype.dsp,
2138 builds/win32/visualc/freetype.vcproj: s/230/231/.
2139 * builds/win32/visualc/index.html: s/221/231/.
2140
2141 * vms_make.com: Add `ftgasp'.
2142
David Turnera7ee6082007-01-30 10:33:53 +000021432007-01-30 David Turner <david@freetype.org>
2144
Werner Lemberg53935932007-01-31 08:53:02 +00002145 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00002146
Werner Lemberg53935932007-01-31 08:53:02 +00002147 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00002148
Werner Lemberg25d592a2007-03-09 07:59:35 +00002149 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00002150 s/2.3.0/2.3.1/.
2151
2152 * builds/unix/configure.raw (version_info): Set to 9:12:3.
2153
2154
2155 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
2156 (af_loader_load_g): Disable the warper (i.e., the light hinting
2157 improvements) to make a 2.3.1 bugfix release before introducing a
2158 new feature. This should give us more time to tune and improve the
2159 warper for the next release.
2160
2161 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00002162
David Turnerd91eebd2007-01-26 15:05:41 +000021632007-01-25 David Turner <david@freetype.org>
2164
Werner Lembergbf241762007-01-26 16:08:49 +00002165 For light auto-hinting, improve glyph advance widths and resurrect
2166 normal/full hinting to its normal quality.
2167
2168 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
2169 and `xmax_delta'.
2170 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
2171 and `xmax_delta'.
2172
2173 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
2174 preprocessor conditional with if-clause, handling both light and
2175 normal mode.
2176
2177 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
2178 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00002179
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000021802007-01-25 Werner Lemberg <wl@gnu.org>
2181
2182 * docs/release: Updated -- Savannah uses a new uploading scheme.
2183
David Turnera42567b2007-01-25 12:23:37 +000021842007-01-25 David Turner <david@freetype.org>
2185
Werner Lembergd7855662007-01-25 13:53:56 +00002186 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00002187
Werner Lembergd7855662007-01-25 13:53:56 +00002188 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
2189 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
2190 functions.
David Turnera42567b2007-01-25 12:23:37 +00002191
Werner Lembergd7855662007-01-25 13:53:56 +00002192 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00002193
Werner Lembergb1be9e82007-01-25 11:50:00 +000021942007-01-25 Werner Lemberg <wl@gnu.org>
2195
2196 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00002197 correctly in a sanity check. Since this function is only used to
2198 load local and global functions, any charstring that called the last
2199 local/global function would fail otherwise. This fixes Savannah bug
2200 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00002201
2202 * docs/CHANGES: Document it.
2203
David Turnerb6de8d12007-01-23 15:51:50 +000022042007-01-23 David Turner <david@freetype.org>
2205
Werner Lembergb1be9e82007-01-25 11:50:00 +00002206 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
2207 prevented compilation when disabling both the unpatented and the
2208 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00002209
Werner Lembergb1be9e82007-01-25 11:50:00 +00002210
2211 Fix and enable the warper to improve `light' hinting mode. This is
2212 not necessarily a final version, but it seems to work well.
2213
2214 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
2215 Disable code.
2216 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
2217 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
2218
2219 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
2220 (af_warper_compute_line_best): Fix array size of `scores'.
2221 (af_warper_compute): Better handling of border cases.
2222 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
2223 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00002224
Werner Lemberg011d1112007-01-21 09:36:00 +000022252007-01-21 Werner Lemberg <wl@gnu.org>
2226
Werner Lemberg42b63b22007-01-21 21:01:33 +00002227 * ChangeLog: Split off older entries into...
2228 * ChangeLog.22: This new file.
2229
22302007-01-21 Werner Lemberg <wl@gnu.org>
2231
Werner Lemberg555258f2007-01-21 09:46:37 +00002232 * docs/CHANGES: Document SHZ fix.
2233
22342007-01-21 George Williams <gww@silcom.com>
2235
2236 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
2237 points.
2238
22392007-01-21 Werner Lemberg <wl@gnu.org>
2240
Werner Lemberg011d1112007-01-21 09:36:00 +00002241 * src/sfnt/ttmtx.c (tt_face_get_metrics)
2242 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
2243
Werner Lemberg87a5a432007-01-17 12:44:39 +000022442007-01-17 Werner Lemberg <wl@gnu.org>
2245
Werner Lembergb8003292007-01-17 12:56:25 +00002246
2247 * Version 2.3.0 released.
2248 =========================
2249
2250
2251 Tag sources with `VER-2-3-0-FINAL'.
2252
22532007-01-17 Werner Lemberg <wl@gnu.org>
2254
Werner Lemberg87a5a432007-01-17 12:44:39 +00002255 * docs/release: Updated.
2256
David Turner22122722007-01-16 20:06:44 +000022572007-01-16 David Turner <david@freetype.org>
2258
Werner Lemberg87a5a432007-01-17 12:44:39 +00002259 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
2260 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
2261 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
2262 warnings.
David Turner22122722007-01-16 20:06:44 +00002263
Werner Lemberg267e1d72007-01-15 07:48:09 +000022642007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
2265
2266 * builds/amiga/makefile, builds/amiga/makefile.os4,
2267 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
2268
2269 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
2270
Werner Lemberg8c4120d2007-01-15 06:42:40 +000022712007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
2272
2273 Fix various compiler warnings.
2274
2275 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
2276 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
2277 s/index/strike_index/.
2278 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
2279
2280 * src/gxvalid/gxvmorx5.c
2281 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
2282
2283 * src/truetype/ttinterp.c (Compute_Point_Displacement),
2284 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
2285 uninitialized variables.
2286
Werner Lemberg6164a9d2007-01-13 23:01:36 +000022872007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2288
2289 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
2290
Werner Lemberg281c1482007-01-13 22:50:51 +000022912007-01-13 Werner Lemberg <wl@gnu.org>
2292
2293 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
2294 versions up to 0x3FF without complaining.
2295
Werner Lembergac250b22007-01-13 14:01:36 +000022962007-01-13 Derek Clegg <dclegg@apple.com>
2297
2298 Add FT_Get_PS_Font_Info interface to CFF driver.
2299
2300 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
2301 (CFF_FontRec): Add `font_info' field.
2302
2303 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
2304 (cff_font_done): Free font->font_info if necessary.
2305
2306 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
2307 (cff_service_ps_info): Register cff_ps_get_font_info.
2308
Werner Lemberg23df31a2007-01-13 08:45:00 +000023092007-01-13 Werner Lemberg <wl@gnu.org>
2310
2311 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
2312 with C++ compiler.
2313
2314 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
2315 af_glyph_hints_dump_edges): Ditto.
2316
2317 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
2318 `modules.cfg').
2319
2320 * src/sfnt/ttsbit0.h: Remove.
2321
2322 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
2323
Werner Lemberg27cf9de2007-01-13 07:34:23 +000023242007-01-12 David Turner <david@freetype.org>
2325
2326 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
2327 bug in the bitmap emboldener if the pitch of the source bitmap is
2328 much larger than its width.
2329
2330 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
2331 compilation warning.
2332
Werner Lemberg6d96d312007-01-12 10:30:19 +000023332007-01-12 Werner Lemberg <wl@gnu.org>
2334
2335 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
2336 `automake' CVS module from sources.redhat.com.
2337
Werner Lemberg17432b52007-01-12 09:28:44 +000023382007-01-11 Werner Lemberg <wl@gnu.org>
2339
2340 * src/type1/t1load.c (is_space): Removed.
2341 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
2342 (parse_charstrings): Use IS_PS_TOKEN.
2343
2344
2345 * autogen.sh: Avoid bash specific syntax.
2346
David Turner038ace22007-01-11 15:00:59 +000023472007-01-11 David Turner <david@freetype.org>
2348
Werner Lemberg17432b52007-01-12 09:28:44 +00002349 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00002350
Werner Lemberg17432b52007-01-12 09:28:44 +00002351 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00002352
Werner Lemberg17432b52007-01-12 09:28:44 +00002353 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
2354 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00002355 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00002356
Werner Lemberg17432b52007-01-12 09:28:44 +00002357 * autogen.sh: Small fix to get it working on Mac OS X properly:
2358 The issue is that GNU libtool is called `glibtool' on this platform,
2359 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00002360
David Turner2628ea92007-01-10 13:15:56 +000023612007-01-10 David Turner <david@freetype.org>
2362
Werner Lemberg17432b52007-01-12 09:28:44 +00002363 * all-sources: Tag all sources with VER-2-3-0-RC1 and
2364 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00002365
Werner Lemberg17432b52007-01-12 09:28:44 +00002366 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
2367 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
2368 version number to 2.3.0.
2369
2370 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
2371 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00002372
2373 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00002374 include/freetype/ftlcdfil.h: Update reference documentation with
2375 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00002376
Werner Lemberg17432b52007-01-12 09:28:44 +00002377 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
2378 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00002379
Werner Lembergbf02d392007-01-10 07:07:37 +000023802007-01-10 Derek Clegg <dclegg@apple.com>
2381
2382 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
2383 values.
2384
David Turnerf48b60e2007-01-08 15:15:32 +000023852007-01-08 David Turner <david@freetype.org>
2386
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002387 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00002388
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002389 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
2390 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00002391 corresponding to a given character pixel size.
2392
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002393 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
2394 `gasp' table, in order to avoid potential problems with later
2395 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00002396
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002397 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
2398 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00002399
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002400 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
2401 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
2402 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
2403 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00002404
Werner Lemberge6b6f372007-01-07 00:06:47 +000024052007-01-07 Werner Lemberg <wl@gnu.org>
2406
Werner Lembergb8004d22007-01-07 09:13:38 +00002407 * src/cid/cidparse.c (cid_parser_new): Improve error message for
2408 Type 11 fonts.
2409 Scan for `/sfnts' token.
2410
24112007-01-07 Werner Lemberg <wl@gnu.org>
2412
2413 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00002414
Werner Lembergbe5f7972007-01-06 07:51:48 +000024152007-01-06 Werner Lemberg <wl@gnu.org>
2416
2417 * src/cff/cffload.c (cff_index_init): Remove unused variable.
2418 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
2419
David Turnera8cf42b2007-01-04 16:46:46 +000024202007-01-04 David Turner <david@freetype.org>
2421
Werner Lembergf6294392007-01-06 07:47:45 +00002422 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
2423 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00002424
Werner Lembergf6294392007-01-06 07:47:45 +00002425
2426 Do not allocate interpreter-specific tables in memory if we are not
2427 going to load glyphs with the bytecode interpreter anyway.
2428
2429 * src/truetype/ttgload.c (tt_loader_init): Load execution context
2430 only if glyph is hinted.
2431 Updated.
2432 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
2433 and `cvs_ready'.
2434 Add `tt_size_ready_bytecode' declaration.
2435 * src/truetype/ttobjs.c (tt_size_done_bytecode,
2436 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
2437 (tt_size_init): Move most code into `tt_size_init_bytecode'.
2438 (tt_size_done): Move most code into `tt_size_done_bytecode'.
2439 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002440
David Turner91a34022007-01-05 14:47:08 +00002441
Werner Lembergf6294392007-01-06 07:47:45 +00002442 Don't extract the metrics table from the SFNT font file. Instead,
2443 reparse it on each glyph load. The runtime difference is not
2444 noticeable, and it can save a lot of heap memory when memory-mapped
2445 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00002446
Werner Lembergf6294392007-01-06 07:47:45 +00002447 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
2448 `horz_metrics_offset' and `vert_metrics_ofset'.
2449 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
2450 Updated.
2451
2452
2453 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
2454
2455
2456 Do not load the CFF index offsets into memory, since this wastes a
2457 *lot* of heap memory with large Asian CFF fonts. There is no
2458 significant performance loss.
2459
2460 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
2461 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
2462 `data_size'.
2463 (CFF_CharsetRec): Add field `num_glyphs'.
2464
2465 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
2466 cff_charset_cid_to_gindex): New functions.
2467 (cff_new_index): Renamed to...
2468 (cff_index_init): This. Update all callers.
2469 Updated -- some code has been moved to `cff_index_load_offsets'.
2470 (cff_done_index): Renamed to...
2471 (cff_index_done): This. Update all callers.
2472 (cff_index_get_pointers, cff_index_access_element): Updated to use
2473 stream offsets.
2474 (cff_charset_compute_cids): Set `num_glyphs' field.
2475 (cff_encoding_load): Updated.
2476
2477 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00002478
24792007-01-04 David Turner <david@freetype.org>
2480
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002481 * docs/INSTALL.UNIX: Simplify some parts, add reference to
2482 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00002483
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002484 * README.CVS: Add common problem description and solution
2485 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00002486
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002487 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00002488
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002489 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00002490
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002491 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00002492
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002493 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
2494 (TWorker): This.
2495 Remove `count_table' and `memory'.
2496 Make `grays' a pointer.
2497 (TRaster): New structure.
2498 (count_table): New static array.
2499 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
2500 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
2501 ft_black_set_mode, ft_black_render): Updated.
2502 (ft_black_init): Don't initialize `count_table'.
2503 (ft_black_reset): Use the render pool. This saves about 6KB of
2504 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00002505
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002506 * src/smooth/ftgrays.c (TRaster): Replaced with...
2507 (TWorker): This.
2508 Remove `memory'.
2509 (TRaster): New structure.
2510
2511 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
2512 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
2513 gray_render_span, gray_raster_render): Updated.
2514 (gray_raster_reset): Use the render pool. This saves about 6KB of
2515 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00002516
David Turner8a6c44e2007-01-04 17:03:11 +00002517 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
2518 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002519 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
2520 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
2521 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00002522
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002523 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
2524 Remove a typo that results in no hinting and a memory leak with some
2525 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00002526
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002527 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00002528 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002529 CFF_Faces in it. We need to close all faces before destroying the
2530 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00002531
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000025322007-01-02 Werner Lemberg <wl@gnu.org>
2533
2534 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
2535 Remove compiler warning.
2536
David Turner9207e002007-01-02 16:58:13 +000025372007-01-02 David Turner <david@freetype.org>
2538
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002539 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00002540
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000025412006-12-31 Masatake YAMATO <jet@gyve.org>
2542
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002543 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
2544 function.
2545 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002546 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00002547 `gxv_kern_subtable_fmt0_pairs_validate'.
2548
David Turner115b4422006-12-22 11:37:05 +000025492006-12-22 David Turner <david@freetype.org>
2550
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002551 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
2552 warnings.
David Turner115b4422006-12-22 11:37:05 +00002553
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002554 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
2555 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00002556
Werner Lemberg4755bf72006-12-16 08:58:44 +000025572006-12-16 Anders Kaseorg <anders@kaseorg.com>
2558
2559 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
2560 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
2561
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000025622006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2563
Werner Lemberg9b774e22007-01-16 06:11:27 +00002564 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002565 sync with the modification by Jens Claudius on 2006-08-22; cf.
2566 http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00002567
25682006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2569
2570 * src/base/ftmac.c: Specialized for Mac OS X only.
2571 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
Werner Lemberg830846e2008-07-27 06:27:21 +00002572 * builds/unix/configure.raw: Ditto. When explicit switches for
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00002573 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
2574 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
2575
25762006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2577
2578 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
2579 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
2580 instead of src/base/ftmac.c
2581 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
2582 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
2583 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
2584 that cannot be built at present.
2585
25862006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2587
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002588 * src/base/ftobjs.c: Improvement of resource fork handler for
2589 POSIX, cf.
2590 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00002591 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
2592 format or .dfont, to simulate the face index number counted by ftmac.c.
2593 (IsMacResource): Return the number of scalable faces correctly.
2594
Werner Lembergec5b4502006-12-10 07:51:38 +000025952006-12-10 Werner Lemberg <wl@gnu.org>
2596
2597 * builds/toplevel.mk (version): Protect against `distclean' target.
2598
Werner Lembergb26b3142006-12-09 20:01:43 +000025992006-12-09 Werner Lemberg <wl@gnu.org>
2600
2601 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
2602 or `type'.
2603
2604 * builds/freetype.mk (version): Extracted from freetype.h, using
2605 GNU make's built-in string functions.
2606 (refdoc): Use $(version) instead of static version number.
2607
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000026082006-12-08 Werner Lemberg <wl@gnu.org>
2609
2610 * builds/toplevel.mk (dist): Extract version number from freetype.h.
2611
Werner Lemberg15c29502006-12-09 07:29:54 +000026122006-12-08 Vladimir Volovich <vvv@vsu.ru>
2613
2614 * src/tools/apinames (State): Remove final comma in structure -- xlc
2615 v5 under AIX 4.3 doesn't like this.
2616
David Turnerdbf3b432006-12-07 21:18:09 +000026172006-12-07 David Turner <david@freetype.org>
2618
Werner Lemberg256a3512006-12-08 06:49:33 +00002619 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
2620 to the spacing of auto-fitted glyphs. This only impacts rare
2621 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00002622
Werner Lemberg11171312006-12-03 09:43:40 +000026232006-12-03 Werner Lemberg <wl@gnu.org>
2624
2625 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
2626
Werner Lemberg960ba592006-12-01 08:20:47 +000026272006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00002628
Werner Lemberg960ba592006-12-01 08:20:47 +00002629 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
2630 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
2631 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00002632
David Turner80658e52006-11-28 08:09:20 +00002633
Werner Lemberg960ba592006-12-01 08:20:47 +00002634 * include/freetype/ftxf86.h: Fix and extend comment so that it
2635 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00002636
Werner Lemberg960ba592006-12-01 08:20:47 +00002637 * include/freetype/ftchapters.h: Add `font_format' section.
2638
2639
2640 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
2641 to TOC in index page.
2642
26432006-11-28 David Turner <david@freetype.org>
2644
2645 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
2646 trying to render into a zero-width/height bitmap, not an error code.
2647
2648 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
2649
2650 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
2651 ones instead.
2652
2653 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
2654 variable.
David Turner80658e52006-11-28 08:09:20 +00002655
Werner Lemberg8636c292006-11-26 22:28:13 +000026562006-11-26 Pierre Hanser <hanser@club-internet.fr>
2657
2658 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
2659
Werner Lemberg960ba592006-12-01 08:20:47 +000026602006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00002661
Werner Lemberg960ba592006-12-01 08:20:47 +00002662 * src/autofit/afhints.c (af_glyph_hints_dump_points,
2663 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
2664 Add stubs to link the `ftgrid' test program when debugging is
2665 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00002666
Werner Lemberg960ba592006-12-01 08:20:47 +000026672006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00002668
2669 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00002670 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
2671
2672 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
2673 Emit more sensible information.
2674
2675 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
2676
2677 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
2678 rounding of blue values.
2679 (af_latin_hints_compute_segments): Hint segment heights.
2680 (af_latin_hints_link_segments): Reduce `len_score' value.
2681 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
2682 value and use `height' member for comparisons.
2683 (af_latin_hint_edges): Extend logging message.
2684 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00002685
Werner Lemberg91959bf2006-11-22 10:36:55 +000026862006-11-22 Werner Lemberg <wl@gnu.org>
2687
2688 Fix Savannah bug #15553.
2689
2690 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
2691 program after a change from mono to grayscaling (and vice versa).
2692 Use correct constant for comparison to get `exec->grayscale'.
2693
Werner Lemberg913a3652006-11-19 09:19:17 +000026942006-11-18 Werner Lemberg <wl@gnu.org>
2695
2696 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00002697 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00002698 This patch fixes Savannah bug #18301.
2699
2700 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
2701 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
2702 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
2703 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
2704 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
2705 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
2706 (FNT_Load_Glyph): Check validity of `glyph_index'.
2707
David Turner7bab6ae2006-11-13 11:25:06 +000027082006-11-13 David Turner <david@freetype.org>
2709
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002710 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
2711 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00002712
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002713 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
2714 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
2715 when building the library to change the default LCD filter to be
2716 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00002717
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002718 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00002719
David Turner8765c712006-11-10 16:49:42 +000027202006-11-10 David Turner <david@freetype.org>
2721
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002722 * src/smooth/ftsmooth.c: API change for the LCD
2723 filter. The FT_LcdFilter value is an enumeration describing which
2724 filter to apply, with new values FT_LCD_FILTER_LIGHT and
2725 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
2726 algorithm which produces strong color fringes for everything
2727 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00002728
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002729 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
2730 second parameter to an enum type.
2731
2732 * src/base/ftlcdfil.c (USE_LEGACY): Define.
2733 (_ft_lcd_filter): Rename to...
2734 (_ft_lcd_filter_fir): This.
2735 Update parameters.
2736 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
2737 (FT_Library_Set_LcdFilter): Update parameters.
2738 Handle new filter modes.
2739
2740 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
2741 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
2742 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
2743 callback and update other fields.
2744
2745 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
2746 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
2747 Other minor improvements.
2748
2749 * src/autofit/aflatin.c: Various tiny improvements that drastically
2750 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
2751 (af_latin_hints_compute_edges): Fix typo.
2752 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00002753
David Turner4e9cc3c2006-11-09 16:31:52 +000027542006-11-09 David Turner <david@freetype.org>
2755
Werner Lemberg49c77a82006-11-09 21:51:57 +00002756 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
2757 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00002758
Werner Lemberg5e430892006-11-07 09:35:03 +000027592006-11-07 Zhe Su <james.su@gmail.com>
2760
2761 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
2762 also.
2763
Werner Lemberg111b5ae2006-11-03 09:40:12 +000027642006-11-03 Werner Lemberg <wl@gnu.org>
2765
2766 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
2767
David Turner40604742006-11-02 16:37:35 +000027682006-11-02 David Turner <david@freetype.org>
2769
Werner Lemberg111b5ae2006-11-03 09:40:12 +00002770 Add a few tweaks to better handle serif fonts.
2771 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00002772
Werner Lemberg111b5ae2006-11-03 09:40:12 +00002773 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
2774 segments that are less than 1.5 pixels high. This gets rid of
2775 *many* corner cases with serifs.
2776 (af_latin_align_linked_edge): Add logging message.
2777 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
2778 Add logging messages.
2779 Handle AF_EDGE_FLAG flag specially.
2780
2781 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
2782 _af_debug_disable_blue_hints, and _af_debug_hints variables.
2783
2784 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
2785 Update external declarations.
2786 (af_corner_orientation, af_corner_is_flat): Replaced by...
2787
2788 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
2789 ft_corner_is_flat): These declarations.
2790
2791 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
2792 Comment out. Replaced by...
2793
2794 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
2795 These functions. Update all callers.
2796 (FT_Add64) [!FT_LONG64]: Simplify.
2797
2798 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
2799 (af_direction_compute): Add a missing FT_ABS call. This bug caused
2800 production of garbage by missing lots of segments.
2801
2802 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
2803
2804 * src/autofit/afloader.c (af_loader_init, af_loader_done)
2805 [AF_DEBUG]: Set _af_debug_hints.
2806
2807
2808 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
2809 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
2810 and ft_corner_orientation.
2811
2812
2813 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00002814
Werner Lemberge88c5262006-10-24 05:46:26 +000028152006-10-24 Werner Lemberg <wl@gnu.org>
2816
2817 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
2818
2819 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
2820 as argument.
2821
David Turnera1861392006-10-23 16:00:59 +000028222006-10-23 Zhe Su <zsu@novell.com>
2823
Werner Lemberg715e96e2006-10-24 05:28:45 +00002824 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
2825 better deal with broken Asian fonts with strange glyphs, having
2826 self-intersections and other peculiarities. The used algorithm is
2827 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00002828
David Turnere140f142006-10-23 08:56:57 +000028292006-10-23 David Turner <david@freetype.org>
2830
Werner Lemberg715e96e2006-10-24 05:28:45 +00002831 Speed up the CFF font loader. With some large CFF fonts,
2832 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00002833
Werner Lemberg715e96e2006-10-24 05:28:45 +00002834 * src/cff/cffload.c (cff_get_offset): Removed.
2835 (cff_new_index): Inline functionality of `cff_get_offset'.
2836 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
2837 (cff_charset_done): Call `cff_charset_free_cids'.
2838 (cff_charset_load): Call `cff_charset_compute_cids'.
2839 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
2840
2841 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
2842 with FT_NEXT_XXX.
2843
2844
2845 Speed up the Postscript hinter, with more than 100% speed increase
2846 on my machine.
2847
2848 * src/pshinter/pshalgo.c (psh_corner_is_flat,
2849 psh_corner_orientation): New functions.
2850 (psh_glyph_compute_inflections): Merge loops for efficiency.
2851 Use `psh_corner_orientation'.
2852 (psh_glyph_init): Use `psh_corner_is_flat'.
2853 (psh_hint_table_find_strong_point): Renamed to...
2854 (psh_hint_table_find_strong_points): This.
2855 Rewrite, adding argument to handle all points at once.
2856 Update all callers.
2857 (PSH_MAX_STRONG_INTERNAL): New macro.
2858 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00002859
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000028602006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2861
2862 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00002863 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00002864
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000028652006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2866
2867 * docs/INSTALL.CROSS: New document file for cross-building.
2868
2869 * builds/unix/configure.raw: Preliminary cross-building support.
2870 Find native C compiler and pass it by CC_BUILD, and
2871 find suffix for native executable and pass it by EXEEXT_BUILD.
2872 Also suffix for target executable is passed by EXEEXT.
2873
Werner Lembergb9e6d692006-10-15 08:58:40 +00002874 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
2875 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00002876 CC_BUILD and EXEEXT_BUILD.
2877
Werner Lembergb9e6d692006-10-15 08:58:40 +00002878 * builds/exports.mk (APINAMES_EXE): Change the extension for
2879 apinames from the suffix for target (E) to that for building host
2880 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00002881
Werner Lemberg82a07e92006-10-12 06:20:44 +000028822006-10-12 Werner Lemberg <wl@gnu.org>
2883
2884 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
2885 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
2886 which reference those files.
2887
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000028882006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2889
Werner Lembergb9e6d692006-10-15 08:58:40 +00002890 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
2891 embedded in freetype2.pc and freetype-config. Use it to record
2892 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00002893
2894 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
2895
2896 * builds/unix/freetype-config.in: Ditto.
2897
Werner Lemberg28e17d92006-10-11 17:27:47 +000028982006-10-11 Werner Lemberg <wl@gnu.org>
2899
2900 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
2901 development.
2902
Jens Claudius336d2292006-10-03 08:53:37 +000029032006-10-03 Jens Claudius <jens.claudius@yahoo.com>
2904
2905 * include/freetype/config/ftstdlib.h: Cast away volatileness from
2906 argument to ft_setjmp.
2907
2908 * include/freetype/internal/ftvalid.h: Add comment that
2909 ft_validator_run must not be used.
2910
Werner Lemberg2863cfa2006-10-01 17:04:00 +000029112006-10-01 Werner Lemberg <wl@gnu.org>
2912
2913 * src/base/ftbase.c: Undo change from 2006-09-30.
2914
2915 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
2916
29172006-09-30 David Turner <david@freetype.org>
2918
Werner Lemberg046bf8b2006-10-03 08:43:42 +00002919 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
2920 s/unpatented_hinting/ignore_unpatented_hinter/.
2921 Update all callers.
2922
2923 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
2924 auto-hinting shall be used or not.
2925
2926 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00002927
Werner Lemberg2863cfa2006-10-01 17:04:00 +000029282006-09-30 Werner Lemberg <wl@gnu.org>
2929
Werner Lemberg1e4402e2006-09-29 22:10:36 +00002930 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
2931 in use).
2932
2933 * src/base/ftbase.c: Include `ftlcdfil.c'.
2934
Werner Lemberg9b15ea32006-09-29 18:22:11 +000029352006-09-29 Werner Lemberg <wl@gnu.org>
2936
2937 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
2938 overlapping segments. Bug reported by Stefan Koch.
2939
David Turnerad830712006-09-27 16:20:59 +000029402006-09-28 David Turner <david@freetype.org>
2941
Werner Lemberg2c002e12006-09-29 21:31:53 +00002942 Fix a bug in the automatic unpatented hinting support which prevents
2943 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00002944
Werner Lemberg2c002e12006-09-29 21:31:53 +00002945 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
2946 s/force_autohint/unpatented_hinting/. Update all callers.
2947
2948 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
2949
2950 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00002951
David Turner8a317cf2006-09-27 07:52:48 +000029522006-09-27 David Turner <david@freetype.org>
2953
Werner Lemberg2c002e12006-09-29 21:31:53 +00002954 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00002955
David Turner8a317cf2006-09-27 07:52:48 +00002956
David Turnere140f142006-10-23 08:56:57 +00002957 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00002958 In a default build, the function `FT_Library_SetLcdFilter' returns
2959 `FT_Err_Unimplemented_Feature'; you need to #define
2960 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
2961 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00002962
Werner Lemberg2c002e12006-09-29 21:31:53 +00002963 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00002964
Werner Lemberg2c002e12006-09-29 21:31:53 +00002965 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
2966 typedef.
2967 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
2968 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00002969
Werner Lemberg2c002e12006-09-29 21:31:53 +00002970 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
2971 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00002972
Werner Lemberg2c002e12006-09-29 21:31:53 +00002973 Handle subpixel rendering.
2974 Simplify function.
2975 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
2976 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
2977
2978 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
2979 pointing to <freetype/ftlcdfil.h>.
2980
2981 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
2982 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
2983
2984 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00002985
Werner Lemberge20df4a2006-09-27 06:29:21 +000029862006-09-26 David Bustin
2987
2988 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
2989 correctly. Reported as Savannah bug #17843.
2990
David Turner6f8c6222006-09-26 15:42:44 +000029912006-09-26 David Turner <david@freetype.org>
2992
Werner Lemberg110246c2006-09-26 21:55:44 +00002993 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
2994 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
2995 horizontal and vertical hinting for the purpose of debugging the
2996 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00002997
Werner Lemberg110246c2006-09-26 21:55:44 +00002998 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
2999 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00003000
Werner Lemberg110246c2006-09-26 21:55:44 +00003001 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
3002
3003 * include/freetype/config/ftoption.h, devel/ftoption.h
3004 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
3005 we want to compile LCD-optimized rendering code (à la ClearType) or
3006 not. The macro *must* be disabled in default builds of the library
3007 for patent reasons.
3008
3009 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
3010 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
3011 isn't defined at compile time. This only changes the content of the
3012 rendered glyph to match the one of normal gray-level rendering,
3013 hence clients should not need to be modified.
3014
3015 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00003016
Werner Lemberg745ff2c2006-09-19 05:48:02 +000030172006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
3018
3019 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
3020 LWFN fails and both are available.
3021
David Turnerf3050052006-09-11 12:00:32 +000030222006-09-11 David Turner <david@freetype.org>
3023
Werner Lembergf9644552006-09-12 13:48:10 +00003024 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
3025 report their English names through an Apple Roman
3026 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00003027
Werner Lembergf9644552006-09-12 13:48:10 +00003028 If the font uses another name entry with language_id == English, it
3029 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00003030
Werner Lembergf9644552006-09-12 13:48:10 +00003031 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
3032 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00003033
Werner Lemberg36d2eab2006-09-05 19:24:34 +000030342006-09-05 Werner Lemberg <wl@gnu.org>
3035
3036 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00003037 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003038 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
3039 `HAN NOM B.ttf').
3040
3041 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
3042
David Turner772e55d2006-09-05 09:45:15 +000030432006-09-05 David Turner <david@freetype.org>
3044
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003045 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00003046
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003047 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
3048 (TRaster): Remove `count_ex' and `count_ey'.
3049 (gray_find_cell): Remove 2nd and 3rd argument.
3050 (gray_alloc_cell): Merged with `gray_find_cell'.
3051 (gray_record_cell): Simplify.
3052 (gray_set_cell): Rewrite.
3053 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
3054 (gray_render_span): Don't use FT_MEM_SET for small values.
3055 (gray_dump_cells) [DEBUG_GRAYS]: New function.
3056 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
3057 bitmap scanline.
3058 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00003059
David Turneraa557a92006-09-04 16:42:44 +000030602006-09-04 David Turner <david@freetype.org>
3061
Werner Lembergd1fc7d42006-09-05 07:55:42 +00003062 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
3063 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00003064
Werner Lemberg2d8629b2006-09-03 06:18:45 +000030652006-09-03 Werner Lemberg <wl@gnu.org>
3066
3067 * devel/ftoption.h: Synchronize with
3068 include/freetype/config/ftoption.h.
3069
3070 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
3071 variable declaration.
3072 (gray_convert_glyph): Fix compiler warnings.
3073
David Turner6d79f212006-09-01 14:09:35 +000030742006-09-01 David Turner <david@freetype.org>
3075
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003076 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
3077 to recognize a few fonts that require the automatic unpatented
3078 loader.
David Turnerbd502952006-09-01 19:05:24 +00003079
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003080 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
3081 rasterizer. The speed improvement is between 15% and 25%, depending
3082 on the font data.
3083
3084 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
3085 (TCell): Redefine.
3086 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
3087 (gray_init_cells): Updated.
3088 (gray_find_cell, gray_alloc_cell): New functions.
3089 (gray_record_cell): Rewritten to use `gray_find_cell' and
3090 `gray_alloc_cell'.
3091 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
3092 QSORT_THRESHOLD):
3093 Removed.
3094 (gray_shell_sort, gray_quick_sort, gray_check_sort,
3095 gray_dump_cells): Removed.
3096 (gray_sweep): Rewritten.
3097 (gray_convert_glyph): Rewrite code which used one of the sorting
3098 functions.
3099 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00003100
Werner Lembergd898aed2006-08-29 09:50:34 +000031012006-08-29 Dr. Werner Fink <werner@suse.de>
3102
3103 * configure: Make it possible to handle configure options which
3104 have strings containing spaces.
3105
31062006-08-27 David Turner <david@freetype.org>
3107
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003108 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
3109 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
3110 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
3111
3112 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
3113 src/truetype/truetype.c, src/truetype/ttdriver.c,
3114 src/truetype/ttgload.c, src/truetype/ttgload.h,
3115 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
3116 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
3117 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
3118
3119 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
3120 member `force_autohint'.
3121
3122 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
3123
3124 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
3125 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00003126
Jens Claudiusa787f452006-08-27 11:26:18 +000031272006-08-27 Jens Claudius <jens.claudius@yahoo.com>
3128
3129 Fix miscellaneous compiler warnings.
3130
Werner Lemberg32e05a62008-05-04 16:53:22 +00003131 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
3132 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00003133
Werner Lemberg32e05a62008-05-04 16:53:22 +00003134 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003135 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
3136 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00003137
Werner Lemberg32e05a62008-05-04 16:53:22 +00003138 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003139 volatileness of argument to ft_longjmp. Spotted by Werner
3140 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00003141
Werner Lemberg32e05a62008-05-04 16:53:22 +00003142 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003143 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00003144
Werner Lemberg32e05a62008-05-04 16:53:22 +00003145 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
3146 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00003147
Werner Lembergc4c35b72006-08-27 08:03:46 +000031482006-08-27 Werner Lemberg <wl@gnu.org>
3149
3150 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
3151 Reported by Jens.
3152
Jens Claudius088e44e2006-08-22 14:24:30 +000031532006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00003154
Jens Claudius088e44e2006-08-22 14:24:30 +00003155 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00003156 about addresses of volatile objects passed as function arguments as
3157 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00003158
Werner Lemberg32e05a62008-05-04 16:53:22 +00003159 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
3160 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003161
Werner Lemberg32e05a62008-05-04 16:53:22 +00003162 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
3163 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003164
Werner Lemberg32e05a62008-05-04 16:53:22 +00003165 * src/otvalid/otvmod.c (otv_load_table): Make function argument
3166 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003167
Jens Claudius2652bd52006-08-18 17:20:37 +000031682006-08-18 Jens Claudius <jens.claudius@yahoo.com>
3169
Werner Lemberg32e05a62008-05-04 16:53:22 +00003170 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
3171 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00003172 (gxv_validate): Same for local variables `memory' and `valid'.
3173 (classic_kern_validate): Same for local variables `memory',
3174 `ckern', and `valid'.
3175
Werner Lemberg32e05a62008-05-04 16:53:22 +00003176 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
3177 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
3178 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00003179
Werner Lemberg32e05a62008-05-04 16:53:22 +00003180 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
3181 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00003182
David Turner9fbfc6a2006-08-16 09:11:31 +000031832006-08-16 David Turner <david@freetype.org>
3184
Werner Lemberg12342992006-08-19 11:18:09 +00003185 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
3186 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00003187
Werner Lemberg12342992006-08-19 11:18:09 +00003188 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
3189 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00003190
David Turner33f5f242006-08-16 16:50:55 +00003191
Werner Lemberg830846e2008-07-27 06:27:21 +00003192 Improvements to native TrueType hinting. This is a first try,
Werner Lemberg12342992006-08-19 11:18:09 +00003193 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
3194
3195 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
3196 `extra_points2'.
3197
3198 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
3199 `orus'.
3200
3201 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
3202 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
3203 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
3204 handle `extra_points2'.
3205
3206 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
3207 Remove compiler warning.
3208 (cur_to_arg): Remove macro.
3209 (TT_Hint_Glyph): Updated.
3210 (TT_Process_Simple_Glyph): Handle `orus'.
3211
3212 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
3213 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
3214 (LOC_Ins_IUP): Renamed to...
3215 (IUP_WorkerRec): This.
3216 Add `orus' member.
3217 (Shift): Renamed to...
3218 (_iup_worker_shift): This.
3219 Updated.
3220 (Interp): Renamed to...
3221 (_iup_worker_interpolate): This.
3222 Updated to handle `orus'.
3223 (Ins_IUP): Updated.
3224
3225 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
3226 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00003227
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000032282006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3229
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00003230 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00003231 build ftvalid in ft2demos. This has been inadvertedly changed
3232 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00003233
32342006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3235
Werner Lemberg12342992006-08-19 11:18:09 +00003236 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
3237 Jens:
3238 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003239
Werner Lemberg32e05a62008-05-04 16:53:22 +00003240 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
3241 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003242
Werner Lemberg32e05a62008-05-04 16:53:22 +00003243 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003244
Jens Claudius9950adc2006-08-13 12:14:36 +000032452006-08-13 Jens Claudius <jens.claudius@yahoo.com>
3246
Werner Lemberg32e05a62008-05-04 16:53:22 +00003247 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00003248 T1_TOKEN_TYPE_KEY.
3249 (T1_FieldRec): Add `dict'.
3250 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
3251 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
3252 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00003253
Werner Lemberg32e05a62008-05-04 16:53:22 +00003254 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
3255 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003256
Werner Lemberg32e05a62008-05-04 16:53:22 +00003257 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003258
Werner Lemberg32e05a62008-05-04 16:53:22 +00003259 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00003260 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
3261 not T1_TOKEN_TYPE_ANY.
3262 (ps_parser_load_field): Make sure a token that should be a string or
3263 name is really a string or name.
3264 Avoid memory leak if a keyword has been already encountered and its
3265 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00003266 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00003267 T1_FIELD_XXX.
3268 (parse_dict): Ignore keywords that occur in the wrong dictionary
3269 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00003270
Werner Lemberg32e05a62008-05-04 16:53:22 +00003271 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003272
Werner Lemberg32e05a62008-05-04 16:53:22 +00003273 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
3274 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003275
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000032762006-07-18 Jens Claudius <jens.claudius@yahoo.com>
3277
3278 Move creation of field `buildchar' of T1_DecoderRec out of
3279 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
3280 of it.
3281
3282 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
3283 and `T1_Compute_Max_Advance'.
3284
Werner Lemberg32e05a62008-05-04 16:53:22 +00003285 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
3286 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003287
Werner Lemberg32e05a62008-05-04 16:53:22 +00003288 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
3289 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003290
Werner Lemberg32e05a62008-05-04 16:53:22 +00003291 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
3292 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003293 (cid_slot_load_glyph): Do not ignore failure when initializing the
3294 T1_Decoder.
3295
Werner Lemberg32e05a62008-05-04 16:53:22 +00003296 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003297 (t1_decoder_init): Remove initialization of fields `buildchar' and
3298 `len_buildchar'.
3299 (t1_decoder_done): Remove deallocation of field `buildchar'.
3300
3301 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
3302 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
3303 T1_Decoder.
3304 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
3305 `len_buildchar'; make sure to call finisher for T1_Decoder even in
3306 case of error.
3307
Werner Lemberg32e05a62008-05-04 16:53:22 +00003308 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
3309 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003310
Werner Lemberg32e05a62008-05-04 16:53:22 +00003311 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
3312 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003313
Werner Lemberg1a380e02006-07-14 18:28:08 +000033142006-07-14 Jens Claudius <jens.claudius@yahoo.com>
3315
Werner Lemberg32e05a62008-05-04 16:53:22 +00003316 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
3317 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
3318 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00003319 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
3320 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
3321 (T1_DecoderRec): New fields `buildchar' and `face'.
3322 (IS_PS_TOKEN): New macro.
3323
Werner Lemberg32e05a62008-05-04 16:53:22 +00003324 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
3325 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003326
Werner Lemberg32e05a62008-05-04 16:53:22 +00003327 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00003328 `default_design_vector' and `num_default_design_vector'.
3329
Werner Lemberg32e05a62008-05-04 16:53:22 +00003330 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
3331 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
3332 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003333
Werner Lemberg32e05a62008-05-04 16:53:22 +00003334 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
3335 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003336 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
3337 want to skip the array.
3338 (ps_tofixedarray): Allow `values' argument to be NULL if we just
3339 want to skip the array.
3340
Werner Lemberg32e05a62008-05-04 16:53:22 +00003341 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
3342 for (partially commented out) othersubrs 19-25, 27, and 28.
3343 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003344 (t1_decoder_done): Release new field `buildchar'.
3345
Werner Lemberg32e05a62008-05-04 16:53:22 +00003346 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00003347 functions.
3348 (t1_keywords): Register them.
3349 (t1_allocate_blend): Updated.
3350 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
3351 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
3352 (parse_dict): Remove `keyword_flags' argument.
3353 Use new macro IS_PS_TOKEN.
3354 Changed function so that later PostScript definitions override
3355 earlier ones.
3356 (t1_init_loader): Initialize new field `keywords_encountered'.
3357 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
3358 `len_buildchar'.
3359 Remove `keywords_flags'.
3360
Werner Lemberg32e05a62008-05-04 16:53:22 +00003361 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00003362 `keywords_encountered'.
3363 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
3364
Werner Lemberg32e05a62008-05-04 16:53:22 +00003365 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
3366 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003367
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000033682006-07-07 Werner Lemberg <wl@gnu.org>
3369
3370 Add many checks to protect against malformed PCF files.
3371
3372 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
3373 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
3374
3375 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
3376 data and check that tables don't overlap (using a simple
3377 bubblesort).
3378 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
3379 New macros which give the size of data structures in the data
3380 stream.
3381 (pcf_get_properties): Use rough estimates to get array size limits.
3382 Assign `face->nprops' and `face->properties' earlier so that a call
3383 to PCF_Face_Done can do the clean-up in case of error.
3384 Protect against invalid string offsets.
3385 (pcf_get_metrics): Clean up code.
3386 Adjust tracing message levels.
3387 Use rough estimate to get array size limit.
3388 (pcf_get_bitmaps): Clean up code.
3389 Adjust tracing message levels.
3390 Use rough estimates to get offset limits.
3391 (pcf_get_encodings): Adjust tracing message level.
3392 (pcf_get_accel): Clean up code.
3393
Werner Lemberg8eb05252006-06-27 06:20:01 +000033942006-06-26 Werner Lemberg <wl@gnu.org>
3395
3396 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
3397 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
3398
Werner Lemberg24703f82006-06-26 19:12:51 +000033992006-06-26 Jens Claudius <jens.claudius@yahoo.com>
3400
3401 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
3402 (t1_decoder_parse_charstrings): Operator with
3403 opcode 15 pops its two arguments.
3404 Handle the case where the pops of an othersubr may be part of a
3405 subroutine.
3406 Handle unknown othersubrs gracefully: count their operands and let
3407 the following pop operators push the operands as the results onto
3408 the Type1 stack.
3409 Improve handling of setcurrentpoint opcode.
3410
Werner Lembergc011f4c2006-06-26 09:40:00 +000034112006-06-25 Jens Claudius <jens.claudius@yahoo.com>
3412
3413 The Type 1 parser now skips over top-level procedures as required
3414 for a `Simplified Parser'. This makes the parser more robust as it
3415 doesn't poke around in PostScript code. Additionally, it makes the
3416 FontDirectory hackery in src/type1/t1load.c unnecessary.
3417
3418 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
3419 (skip_literal_string): Add FT_Error as return value.
3420 Handle escapes better.
3421 (skip_string): Add FT_Error as return value.
3422 Don't set `parser->error' but return error code directly.
3423 (skip_procedure): New function.
3424 (ps_parser_skip_PS_token): Handle procedures.
3425 Update code.
3426 (ps_parser_to_token): Update code.
3427 (ps_parser_load_field_table): Handle bbox entries also.
3428
3429 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
3430 Add commented-out code for synthetic fonts.
3431
Werner Lemberga2da05c2006-06-25 06:27:27 +000034322006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
3433
3434 Fix two hinting bugs as reported in
3435 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
3436
3437 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
3438 `first_point' member.
3439
3440 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
3441 `first_point'.
3442 (TT_Process_Composite_Glyph): Always untouch points.
3443
3444 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
3445 `first_point' and `last_point' in case of composite glyphs.
3446 (Ins_IUP): Fix computation of `end_point'.
3447
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000034482006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3449
Werner Lembergef3d2c22006-06-25 06:07:14 +00003450 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
3451 Mac. The original patch was written by David Sachitano and Lawrence
3452 Coopet, and modified by Sean McBride for MPW compatibility. Only
3453 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003454
Werner Lembergef3d2c22006-06-25 06:07:14 +00003455 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
3456 Mac OS X platforms.
3457 (OS_INLINE): Undefine before definition.
3458 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
3459 FontAssociation table in FOND resource.
3460 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
3461 and fontSize at each entry of FontAssociation table in FOND
3462 resource.
3463 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
3464 ffStylOff of FamilyRecord header of FOND resource, the header,
3465 fontSize, fontID at each entry of FontAssociation table, and
3466 StyleMapping table.
3467 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003468
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000034692006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3470
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003471 Public API of TrueTypeGX, OpenType, and classic kern table validator
3472 should return `FT_Err_Unimplemented_Feature' if validation service
3473 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00003474 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003475 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
3476
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003477 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
3478 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
3479 unavailable.
3480 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
3481 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003482
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003483 * src/base/ftotval.c (FT_OpenType_Validate): Return
3484 FT_Err_Unimplemented_Feature if OpenType validation service is
3485 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003486
Werner Lembergb10e45a2006-06-08 07:32:56 +000034872006-06-08 Werner Lemberg <wl@gnu.org>
3488
3489 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
3490 errors.
3491
David Turner5f1f7502006-06-07 05:11:50 +000034922006-06-07 David Turner <david@freetype.org>
3493
Werner Lemberg7d48cb02006-06-08 06:00:08 +00003494 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
3495 (T1_Read_Metrics): Fix memory leak which happened when the metrics
3496 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00003497
David Turner457b4a82006-06-06 08:14:14 +000034982006-06-06 David Turner <david@freetype.org>
3499
Werner Lemberg4836f952006-06-06 12:54:08 +00003500 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00003501
Werner Lemberg4836f952006-06-06 12:54:08 +00003502 We change `ps_unicodes_init' so that it also takes a
3503 `free_glyph_name' callback to release the glyph names returned by
3504 `get_glyph_name'
3505
3506 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
3507 Renamed to ...
3508 (PS_GetGlyphNameFunc): This.
3509 (PS_FreeGlyphNameFunc): New typedef.
3510 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
3511
3512 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
3513 argument.
3514 (cff_sid_free_glyph_name): New function.
3515 (cff_cmap_unicode_init): Updated.
3516
3517 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
3518
3519 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
3520 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00003521
3522
David Turner09717352006-06-04 14:33:08 +000035232006-06-04 David Turner <david@freetype.org>
3524
Werner Lembergd724f202006-06-04 15:17:41 +00003525 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
3526 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003527 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00003528
Werner Lembergd724f202006-06-04 15:17:41 +00003529 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
3530 of `face->num_glyphs' which missed the last glyph, due to
3531 the offset-by-1 computation, since the PFR format doesn't
3532 guarantee that glyph index 0 corresponds to the `missing
3533 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00003534
Werner Lemberg33779662006-05-26 06:30:05 +000035352006-05-25 Werner Lemberg <wl@gnu.org>
3536
3537 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
3538 `-no-undefined'. Reported by Christian Biesinger.
3539
Werner Lemberg24773d62006-05-20 08:53:13 +000035402006-05-19 Brian Weed <bw@imaginengine.com>
3541
3542 * builds/win32/visualc/freetype.dsp: Release libraries no longer
3543 have debug information, and debug libraries use `C7 compatible'
3544 debug info.
3545
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000035462006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3547
Werner Lemberga6523a62006-05-20 08:47:01 +00003548 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00003549 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003550
Werner Lemberga6523a62006-05-20 08:47:01 +00003551 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
3552 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003553
3554 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00003555 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003556
35572006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3558
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00003559 * build/unix/configure.raw: Add a fallback to disable Carbon
3560 dependency, if configured with no options on Mac OS X.
3561
35622006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3563
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003564 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00003565 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003566 the second part of Savannah bug #16590.
3567
Werner Lemberg545c4e52006-05-17 22:55:04 +000035682006-05-18 Werner Lemberg <wl@gnu.org>
3569
3570 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
3571 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
3572
David Turnerdc3ff312006-05-17 12:59:35 +000035732006-05-17 David Turner <david@freetype.org>
3574
Werner Lemberg545c4e52006-05-17 22:55:04 +00003575 This is a major patch used to drastically improve the performance of
3576 loading glyphs. This both speeds up loading the glyph vectors
3577 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00003578
Werner Lemberg545c4e52006-05-17 22:55:04 +00003579 We now use inline assembler code with GCC to implement `FT_MulFix',
3580 which is probably the most important function related to the
3581 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00003582
Werner Lemberg545c4e52006-05-17 22:55:04 +00003583 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00003584
3585
Werner Lemberg545c4e52006-05-17 22:55:04 +00003586 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
3587 `cursor' and `limit'.
3588
3589 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
3590 New functions.
3591 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
3592 [TEST]: Remove.
3593
3594 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
3595 code.
3596
3597 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
3598 `FT_ZERO'
3599 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
3600 (af_glyph_hints_reload: Rewrite recognition of weak points.
3601
3602 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
3603 constant values out of the loops.
3604
3605 * src/autofit/aftypes.h: Updated.
3606
3607 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
3608
3609 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
3610 product to get orientation.
3611
3612 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
3613 (FT_Stream_OpenGzip): Use it to handle small files directly in
3614 memory.
3615
3616 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
3617 Improve performance.
3618
3619 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
3620 `limit'.
3621
3622 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
3623 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
3624 exceedingly large values of number of contours. Speed up by
3625 reducing the number of loops.
3626
3627 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
3628
3629
3630 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
3631 used to detect rogue clients from 4 to 16. This is to prevent some
3632 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
3633 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00003634
Werner Lembergde2d90a2006-05-17 08:54:30 +000036352007-05-17 Werner Lemberg <wl@gnu.org>
3636
3637 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00003638 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00003639
36402006-05-16 Werner Lemberg <wl@gnu.org>
3641
3642 * docs/PROBLEMS: Updated icl issues.
3643
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003644----------------------------------------------------------------------------
3645
Werner Lemberg4c933992008-01-18 05:32:55 +00003646Copyright 2006, 2007, 2008 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003647David Turner, Robert Wilhelm, and Werner Lemberg.
3648
3649This file is part of the FreeType project, and may only be used, modified,
3650and distributed under the terms of the FreeType project license,
3651LICENSE.TXT. By continuing to use, modify, or distribute this file you
3652indicate that you have read the license and understand and accept it
3653fully.
3654
3655
3656Local Variables:
3657version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003658coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003659End: