blob: 1b968f80e3f32a5dae4e6b817fc1ec7ec453557e [file] [log] [blame]
Werner Lembergc94fa662008-05-27 23:24:07 +000012008-05-28 Werner Lemberg <wl@gnu.org>
2
Werner Lembergde0d0052008-05-28 21:51:15 +00003 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
4 looking for markup tags, return immediately as soon a single one is
5 found.
6
72008-05-28 Werner Lemberg <wl@gnu.org>
8
Werner Lembergc94fa662008-05-27 23:24:07 +00009 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
10 original, unscaled input values. Confirmed by Greg Hitchcock from
11 Microsoft.
12
Werner Lemberg35a90b72008-05-27 18:16:03 +0000132008-05-27 Werner Lemberg <wl@gnu.org>
14
15 * src/tools/docmaker/tohtml.py (block_footer_start,
16 block_footer_middle): Beautify output.
17
Werner Lembergc9381312008-05-25 12:19:34 +0000182008-05-25 Werner Lemberg <wl@gnu.org>
19
20 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
21 trying to render into a zero-width/height bitmap, not an error code.
22
Werner Lembergffa49652008-05-25 12:43:57 +000023 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
24 of the graphics state for subglyphs to...
25 (TT_Hint_Glyph): This function.
26 Hinting instructions for a composite glyph apparently refer to the
27 just hinted subglyphs, not the unhinted, unscaled outline. This
28 seems to fix Savannah bugs #20973 and (at least partially) #23310.
29
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +0000302008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
31
32 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +000033 `aface' is returned by FT_New_Face_From_FOND(). The patch was
34 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +000035
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000362008-05-18 Werner Lemberg <wl@gnu.org>
37
Werner Lemberg5e8a3682008-05-18 21:49:02 +000038 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
39 correction for pixel boundary. Without this patch, the effect can
40 be cumulative under certain circumstances, making glyphs taller and
41 taller after each call. This fixes Savannah bug #19976.
42
432008-05-18 Werner Lemberg <wl@gnu.org>
44
Werner Lemberg16dc51f2008-05-18 17:36:15 +000045 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
46 This fixes Savannah bug #23280.
47
48 * docs/CHANGES: Updated.
49
David Turnera92cec52008-05-18 14:08:57 +0000502008-05-18 David Turner <david@freetype.org>
51
Werner Lemberg16dc51f2008-05-18 17:36:15 +000052 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
53 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
54 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
55 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +000056
Werner Lemberg16dc51f2008-05-18 17:36:15 +000057 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +000058
Werner Lemberg89d64fa2008-05-17 20:06:13 +0000592008-05-17 Sam Hocevar <samh>
60
61 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
62 glyphs correctly. Patch from Savannah bug #23277.
63
Werner Lemberga2f17cc2008-05-17 10:01:45 +0000642008-05-16 Werner Lemberg <wl@gnu.org>
65
66 * docs/CHANGES: Updated.
67
682008-05-16 Sergey Tolstov <stolstov@esri.com>
69
70 Improve support for WGL4 encoded fonts.
71
72 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
73 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
74 ft_wgl_extra_glyph_name_offsets): New arrays.
75 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
76 (ps_unicodes_init): Use them to add additional Unicode mappings.
77
Werner Lemberg504645e2008-05-14 23:26:20 +0000782008-05-15 Werner Lemberg <wl@gnu.org>
79
Werner Lembergbcc750e2008-05-16 04:50:00 +000080 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
81 <op_closepath>: `closepath' without a path is a no-op, not an error
82 (cf. the PS reference manual).
83
84 Reported by Martin McBride.
85
862008-05-15 Werner Lemberg <wl@gnu.org>
87
Werner Lembergbcfcc712008-05-15 09:14:39 +000088 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
89
902008-05-15 Werner Lemberg <wl@gnu.org>
91
Werner Lemberg504645e2008-05-14 23:26:20 +000092 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +000093 which contains a single but empty entry. This is technically
94 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +000095
96 Reported by Martin McBride.
97
Werner Lemberge6e6ead2008-05-14 23:05:38 +0000982008-05-14 Werner Lemberg <wl@gnu.org>
99
100 Finish fix of scaling bug of CID-keyed CFF subfonts.
101
102 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
103 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
104 functions.
105
106 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
107 provide global hinting data for both the top-font and all subfonts
108 (with proper scaling).
109
110 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
111 code from `cff_size_init'.
112 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
113 Use CFF_Internal and handle subfonts.
114 (cff_face_init): Handle top-dict and subfont matrices correctly;
115 apply some heuristic in case of unlikely matrix concatenation
116 results. This has been discussed with people from Adobe (thanks
117 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
118 and not correct.
119
120 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
121
122 * src/cff/cffgload.c (cff_builder_init): Updated.
123 (cff_decoder_prepare): Handle hints globals for subfonts.
124 Update all callers.
125 (cff_slot_load): Handling scaling of subfonts properly.
126
127 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
128 (cff_parse_font_matrix): Use it.
129
130 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
131 FT_ULong.
132
133 * docs/CHANGES: Document it.
134
Werner Lembergfb572282008-05-13 12:10:04 +00001352008-05-13 Werner Lemberg <wl@gnu.org>
136
137 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
138 Handle case `face_index < 0'.
139 * docs/CHANGES: Document it.
140
Werner Lemberg551dd3c2008-05-04 13:37:38 +00001412008-05-04 Werner Lemberg <wl@gnu.org>
142
143 First steps to fix the scaling bug of CID-keyed CFF subfonts,
144 reported by Ding Li on 2008/03/28 on freetype-devel.
145
146 * src/base/cff/cffparse.c (power_tens): New array.
147 (cff_parse_real): Rewritten to introduce a fourth parameter which
148 returns the `scaling' of the real number so that we have no
149 precision loss. This is not used yet.
150 Update all callers.
151 (cff_parse_fixed_thousand): Replace with...
152 (cff_parse_fixed_scaled): This function. Update all callers.
153
Werner Lemberg6d29f0f2008-05-03 15:54:15 +00001542008-05-03 Werner Lemberg <wl@gnu.org>
155
156 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
157 transformation since it recursively calls FT_Load_Glyph. This fixes
158 Savannah bug #23143.
159
Werner Lembergde9479a2008-04-26 12:52:57 +00001602008-04-26 Werner Lemberg <wl@gnu.org>
161
162 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
163 and `scale_y' as obsolete since they aren't used.
164 * src/psaux/psobjs.c (t1_builder_init): Updated.
165
166 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
167 obsolete since they aren't used.
168 * src/cff/cffgload.c (cff_builder_init): Updated.
169
Werner Lemberg4ebc8902008-04-13 22:06:12 +00001702008-04-14 Werner Lemberg <wl@gnu.org>
171
172 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
173 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
174 bug #22909.
175
Werner Lemberg048b7562008-04-13 05:55:36 +00001762008-04-13 Werner Lemberg <wl@gnu.org>
177
178 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
179 integer part is zero.
180
Werner Lembergc32e83f2008-04-01 06:07:37 +00001812008-04-01 Werner Lemberg <wl@gnu.org>
182
183 Fix compilation with g++ 4.1 (with both `single' and `multi'
184 targets).
185
186 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
187 which is crossed by a `goto'.
188
189 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
190
Werner Lemberg210d6182008-04-01 05:55:48 +00001912008-03-31 Werner Lemberg <wl@gnu.org>
192
193 Fix support for subsetted CID-keyed CFFs.
194
195 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
196 FT_IS_CID_KEYED): New macros.
197
198 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
199 maximum CID value in CID-keyed CFFs.
200 Handle FT_FACE_FLAG_CID_KEYED flag.
201
202 * docs/CHANGES: Document it.
203
204
205 Fix CFF font matrix calculation and improve precision.
206
207 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
208 part is zero.
209 (cff_parse_font_matrix): Simplify computation of `units_per_em';
210 this prevents overflow also.
211
212
213 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
214
215 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
216 (cid_get_ros): New function.
217 (cid_service_cid_info): New service structure.
218 (cid_services): Register it.
219
Werner Lemberga56e5262008-03-23 14:53:44 +00002202008-03-23 Werner Lemberg <wl@gnu.org>
221
222 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
223
224 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
225 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
226
Werner Lemberg85751172008-03-21 07:16:00 +00002272008-03-21 Laurence Darby <ldarby>
228
229 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
230 Savannah bug #22675.
231
Werner Lemberg3863c952008-03-13 06:38:37 +00002322008-03-13 Derek Clegg <dclegg@apple.com>
233
234 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
235 Patch from Savannah bug #22541.
236
Werner Lembergfc293932008-03-03 08:08:12 +00002372008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
238
239 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
240 tt_cmap14_find_variant): Return correct value.
241 (tt_cmap14_variant_chars): Fix check for `di'.
242
Werner Lemberg5057e362008-02-29 07:23:02 +00002432008-02-29 Wermer Lemberg <wl@gnu.org>
244
245 * docs/CHANGES: Updated.
246
Werner Lemberg7faa1552008-02-29 07:14:38 +00002472008-02-29 Wolf
248
249 Add build support for symbian platform. From Savannah bug #22440.
250
251 * builds/symbian/*: New files.
252
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00002532008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
254
Werner Lemberg9b9d3342008-02-21 23:22:06 +0000255 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
256 synthesis. For any face of a specified FOND, always the name for
257 the first face was used. Except of a FOND that refers multiple
258 Type1 font files, wrong synthesized font names are not used at all,
259 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +0000260
261 * builds/mac/ftmac.c: Ditto.
262
2632008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
264
Werner Lemberg31093cc2008-02-21 17:10:04 +0000265 * builds/unix/configure.raw: Split compiler option to link Carbon
266 frameworks to one option for CoreServices framework and another
267 option for ApplicationServices framework. The split options can be
268 managed by GNU libtool to avoid unrequired duplication when FreeType
269 is linked with other applications. Suggested by Daniel Macks,
270 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +0000271
Werner Lemberg28464c42008-02-18 20:34:42 +00002722008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
273
274 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
275 from Savannah bug #22356.
276
Werner Lemberg44c655b2008-02-17 08:22:08 +00002772008-02-17 Jonathan Blow <jon@number-none.com>
278
279 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
280 Check for valid callback pointers.
281
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00002822008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
283
284 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
285 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +0000286 Kazmaier. According to the Resource Manager Reference,
287 GetResource(), Get1Resource(), GetNamedResource(),
288 Get1NamedResource() and RGetResource() set noErr but return NULL
289 handle when they can not find the requested resource. These
290 functions never return undefined values, so it is sufficient to
291 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +0000292
293 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
294
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00002952008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
296
297 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +0000298 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +0000299 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +0000300
301 * builds/unix/configure.raw: Print warning if configure is executed
302 with options to specify Carbon functionalities explicitly.
303
304 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +0000305 included automatically and manual replacement is required.
306
Werner Lemberg744dd452008-02-11 08:22:40 +00003072008-02-11 Werner Lemberg <wl@gnu.org>
308
309 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
310 (dos_setup), builds/freetype.mk (clean_project_dos,
311 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
312 Murdoch.
313
Werner Lemberg4c933992008-01-18 05:32:55 +00003142008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
315
316 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
317 mention intra-pixel algorithm.
318
319 * include/freetype/freetype.h (FT_Render_Mode): Mention that
320 FT_Library_SetLcdFilter can be used to reduce fringes.
321
Werner Lemberg1ddd1b72008-01-16 06:58:54 +00003222008-01-16 Werner Lemberg <wl@gnu.org>
323
324 * src/raster/ftraster.c (ft_black_render): Check `outline' before
325 using it. Reported by Allan Yang.
326
Werner Lembergeca1f272008-01-12 07:46:09 +00003272008-01-12 Werner Lemberg <wl@gnu.org>
328
329 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
330
3312008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
332
333 * src/raster/ftraster.c (ft_black_init)
334 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
335
Werner Lembergbf391cb2008-01-10 08:47:08 +00003362008-01-10 Werner Lemberg <wl@gnu.org>
337
338 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
339 where the number of contours in a simple glyph is zero (and which
340 does contain an entry in the `glyf' table). This fixes Savannah bug
341 #21990.
342
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +00003432008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
344
345 Formatting suggested by Sean McBride.
346
347 * builds/mac/ftmac.c: Formatting (tab expanded).
348 * src/autofit/afindic.c: Ditto.
349 * src/base/ftcid.c: Ditto.
350 * src/base/ftmac.c: Ditto.
351
Werner Lembergd2e15732007-12-30 23:49:14 +00003522007-12-30 Werner Lemberg <wl@gnu.org>
353
354 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
355 correctly.
356
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00003572007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
358
359 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +0000360 references in a resource. In HelveLTMM (resource-fork PostScript
361 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
362 of PFB chunks is not sorted; sorting the chunks by reference IDs is
363 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000364
Werner Lembergd2e15732007-12-30 23:49:14 +0000365 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
366 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000367
Werner Lembergd2e15732007-12-30 23:49:14 +0000368 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
369 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000370
Werner Lembergd2e15732007-12-30 23:49:14 +0000371 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
372 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000373
Werner Lembergd156cab2007-12-14 07:48:32 +00003742007-12-14 Werner Lemberg <wl@gnu.org>
375
376 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
377 division too early; otherwise the most significant digit(s) of the
378 final result are lost as the value is truncated to an integer. This
379 fixes Savannah bug #21794 (where the patch has been posted too).
380
Werner Lembergbd7e1c32007-12-06 17:17:30 +00003812007-12-06 Fix <4d876b82@gmail.com>
382
383 Pass options from one configure script to another as-is (not
384 expanded). This is needed for options like
385 --includedir='${prefix}/include'.
386
387 * builds/unix/detect.mk, configure: Prevent argument expansion in
388 call to the (real) `configure' script.
389
3902007-12-06 Werner Lemberg <wl@gnu.org>
391
392 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
393 TT_USE_BYTECODE_INTERPRETER isn't defined.
394
3952007-12-06 Werner Lemberg <wl@gnu.org>
396
397 There exist CFFs which contain opcodes for the Type 1 operators
398 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
399 However, it doesn't harm to support them.
400
401 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
402 `cff_op_closepath.'
403 (cff_argument_counts): Ditto.
404
405 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
406 and 13 (hsbw) which are invalid in Type 2 charstrings.
407
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00004082007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
409
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000410 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
411 support new pathname syntax `..namedfork/rsrc' to access a resource
412 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
413 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +0000414 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
415 buffer size to store a pathname.
416 * include/freetype/internal/ftrfork.h: Increment the number of
417 resource fork guessing rule.
418
4192007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
420
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000421 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000422 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000423 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000424 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
425
4262007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
427
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +0000428 The documents and comments for Mac OS X are improved by Sean
429 McBride.
430
431 * src/base/ftmac.c: Fix a comment.
432 * include/freetype/ftmac.h: Ditto.
433 * docs/INSTALL.MAC: Improve English and add comment on lowest
434 system version specified by MACOSX_DEPLOYMENT_TARGET.
435
Werner Lemberga10d2b72007-12-04 22:05:54 +00004362007-12-04 Werner Lemberg <wl@gnu.org>
437
438 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
439 concatenate error codes.
440 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
441
Werner Lembergd496b922007-12-04 21:49:59 +00004422007-12-04 Graham Asher <graham.asher@btinternet.com>
443
444 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
445 concatenate error codes.
446
Werner Lembergc0da5232007-12-04 21:44:32 +00004472007-12-04 Sean McBride <sean@rogue-research.com>
448
449 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
450 warning.
451
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00004522007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
453
Werner Lemberg24fe6182007-11-23 09:18:07 +0000454 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
455 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
456 cannot mmap() the specified file and cannot seek to head of the
457 specified file, it returns NULL stream and FT_Open_New() returns the
458 error immediately. On MacOS, most legacy MacOS fonts fall into such
459 a scenario because their data forks are zero-sized and cannot be
460 sought. To proceed to guessing of resource fork fonts, the
461 functions for legacy MacOS font must properly handle the NULL stream
462 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000463
Werner Lemberg24fe6182007-11-23 09:18:07 +0000464 * src/base/ftobjs.c (IsMacBinary): Return error
465 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
466 passed.
467 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
468 to fallback. Originally, legacy MacOS font is tested in the cases
469 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
470 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
471 .dfont header is combined). Now the case of
472 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000473
Werner Lemberg24fe6182007-11-23 09:18:07 +0000474 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
475 skip FT_Stream_Seek(), which seeks to the head of stream, and
476 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
477 for a NULL stream causes a Bus error on Mac OS X.
478 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000479 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000480 (raccess_guess_apple_single): Ditto.
481
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00004822007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
483
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +0000484 Fix for Carbon incompatibilities since Mac OS X 10.5,
485 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +0000486
487 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
488
489 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
490 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
491 Carbon functions from a forked process is classified as unsafe
492 by Apple. All Carbon-dependent functions should be deprecated.
493
494 * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
495 and <ApplicationServices/ApplicationServices.h> instead of
496 all-in-one header file <CoreServices/CoreServices.h>.
497
498 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
499 genuine macro PATH_MAX.
500
501 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
502 is not found in Mac OS X 10.0.
503
504 Multi-character constants ('POST', 'sfnt' etc) are replaced by
505 64bit constants calculated by FT_MAKE_TAG() macro.
506
507 For the index in the segment of resource fork, new portable
508 type ResourceIndex is introduced for better compatibility.
509 This type is since Mac OS X 10.5, so it is defined as short
510 when built on older platforms.
511
512 (FT_ATSFontGetFileReference): If build target is only the systems
513 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
514
515 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
516 and newer or 64bit platform, because legacy type FSSpec type is
517 removed completely.
518
519 (FT_New_Face_From_FSSpec): Ditto.
520
5212007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +0000522
523 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
524 fixes Savannah bug #21485.
525
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00005262007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +0000527
528 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
529 can handle the font at all, then check `face_index'. Otherwise, the
530 driver might return the wrong error code. This fixes Savannah bug
531 #21468.
532
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00005332007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +0000534
535 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +0000536 support for bit 8 of the `fsSelection' field in the `OS/2' table.
537 MS is already using this; hopefully, this becomes part of OpenType
538 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +0000539 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
540 (WWS_SUBFAMILY).
541
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00005422007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +0000543
544 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
545 Add `td.left' element to CSS.
546 (toc_section_enter): Use it.
547
David Turnercf432db2007-10-19 12:36:40 +00005482007-10-18 David Turner <david@freetype.org>
549
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000550 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
551 functions related to cmap type 14 support to the
552 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +0000553
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000554 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
555 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
556 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
557 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
558 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
559
560 Update documentation accordingly.
561
562 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
563 Make the code a little more consistent with FreeType coding
564 conventions and modify the cmap14 functions that returned a newly
565 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +0000566 instead.
567
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000568 (TT_CMap14Rec): Provide array and auxiliary data for result.
569 (tt_cmap14_done, tt_cmap14_ensure): New functions.
570
571 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
572 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
573 tt_cmap14_char_var_index, tt_cmap14_variants,
574 tt_cmap14_char_variants, tt_cmap14_def_char_count,
575 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
576 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
577
Werner Lemberg9a966b72007-10-15 17:21:32 +00005782007-10-15 George Williams <gww@silcom.com>
579
580 Add support for cmap type 14.
581
582 * devel/ftoption.h, include/freetype/config/ftoption.h
583 (TT_CONFIG_CMAP_FORMAT_14): New macro.
584
585 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
586 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
587 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
588 support function prototypes.
589 (FT_CMap_ClassRec): Add them.
590 Update all users.
591
592 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
593 macro.
594
595 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
596 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
597 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
598 functions.
599
600 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
601 function.
602 (FT_Set_Charmap): Disallow cmaps of type 14.
603 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
604 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
605 FT_Get_Chars_Of_Variant): New API functions.
606
607 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
608
609 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
610 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
611 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
612 tt_cmap14_find_variant, tt_cmap14_char_var_index,
613 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
614 tt_cmap14_char_variants, tt_cmap14_def_char_count,
615 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
616 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
617 structures for cmap 14 support.
618 (tt_cmap_classes): Register tt_cmap14_class_rec.
619 (tt_face_build_cmaps): One more error message.
620
621 * docs/CHANGES: Mention cmap 14 support.
622
Werner Lemberg74597cc2007-10-01 07:08:56 +00006232007-10-01 Werner Lemberg <wl@gnu.org>
624
625 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +0000626 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +0000627 This favours MS charmaps over Apple ones.
628
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00006292007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
630
Werner Lemberg9a966b72007-10-15 17:21:32 +0000631 * src/base/ftmac.c: Introduction of abstract `short' data types,
632 ResFileRefNum and ResID. These types were introduced for Copland,
633 then backported to MPW. The variables exchanged with FileManager
634 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +0000635 proposed by Sean McBride.
636 * builds/mac/ftmac.c: Ditto.
637
Werner Lembergabc44f52007-08-18 06:38:07 +00006382007-08-18 Werner Lemberg <wl@gnu.org>
639
640 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
641 by Imran Yousaf. Fixes Savannah bug #20773.
642
643 (otv_Lookup_validate): Correct handling of LookupType. Found by
644 Imran Yousaf. Fixes Savannah bug #20782.
645
Werner Lemberg23a424f2007-08-17 20:16:44 +00006462007-08-17 George Williams <gww@silcom.com>
647
648 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
649 SingleSubstFormat1.
650
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +00006512007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
652
653 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
654 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
655 Found by Ryan Hill.
656
Werner Lemberg3f1905b2007-08-11 15:45:32 +00006572007-08-11 George Williams <gww@silcom.com>
658
659 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
660 (otv_Coverage_validate): Add fourth argument to pass an expected
661 count value. Update all users.
662 Check glyph IDs.
663 (otv_ClassDef_validate): Check `StartGlyph'.
664
665 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
666 checks.
667
668 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
669 56 constants.
670 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
671 Check glyph IDs.
672
Werner Lembergd76fe5a2007-08-08 06:38:06 +00006732007-08-08 Werner Lemberg <wl@gnu.org>
674
675 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
676 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
677 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
678 appropriate. Reported by George.
679
680 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
681
682 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
683
684 * docs/CHANGES: Updated.
685
6862007-08-08 George Williams <gww@silcom.com>
687
688 Add `MATH' validating support to otvalid module.
689
690 * include/freetype/tttags.h (TTAG_MATH): New macro.
691 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
692 (FT_VALIDATE_OT): Updated.
693
694 * src/otvalid/otmath.c: New file.
695
696 * src/otvalid/otvalid.c: Include otvmath.c.
697 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
698
Werner Lembergb6617882007-08-04 22:17:48 +00006992007-08-04 Werner Lemberg <wl@gnu.org>
700
David Turnercf432db2007-10-19 12:36:40 +0000701 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +0000702 Fixes Savannah bug #20686.
703
Werner Lembergd6752a62007-08-02 22:03:30 +00007042007-08-03 Werner Lemberg <wl@gnu.org>
705
706 * src/psnames/psmodule.c: Fix usage of
707 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
708
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +00007092007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
710
711 * src/base/ftmac.c (open_face_from_buffer): The argument
712 `driver_name' is typed as `const char*' to match with the
713 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
714 This is same with open_face_from_buffer in src/base/ftobjs.c.
715 Found and fixed by Sean McBride.
716
Werner Lemberg39c91ad2007-07-28 05:40:40 +00007172007-07-28 Werner Lemberg <wl@gnu.org>
718
719 * src/raster/ftraster.c (count_table): Make it conditional.
720 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
721 a preprocessor statement.
722
Werner Lemberg71dd6872007-07-27 04:44:36 +00007232007-07-27 Werner Lemberg <wl@gnu.org>
724
725 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
726 first usage. From Savannah patch #6115.
727
Werner Lembergef915c32007-07-16 20:46:05 +00007282007-07-16 Werner Lemberg <wl@gnu.org>
729
730 * docs/CHANGES: Updated.
731
7322007-07-16 Derek Clegg <dclegg@apple.com>
733
734 Add new service for getting the ROS from a CID font.
735
736 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
737 * include/freetype/ftcid.h: New file.
738
739 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
740 * include/freetype/internal/services/svcid.h: New file.
741
742 * src/base/ftcid.c: New file.
743
744 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
745 (cff_get_ros): New function.
746 (cff_service_cid_info): New service structure.
747 (cff_services): Register it.
748
749 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
750
751 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
752
753 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
754
Werner Lemberg2f109562007-07-11 05:32:00 +00007552007-07-11 Derek Clegg <dclegg@apple.com>
756
757 Add support for postscript name service to CFF driver.
758
759 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
760 (cff_get_ps_name): New function.
761 (cff_service_ps_name): New service structure.
762 (cff_services): Register it.
763
Werner Lembergb003b3e2007-07-08 07:13:12 +00007642007-07-07 Werner Lemberg <wl@gnu.org>
765
766 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
767 `target'. Reported by Sean McBride.
768
Werner Lemberg1e1b6df2007-07-07 07:30:40 +00007692007-07-06 Werner Lemberg <wl@gnu.org>
770
771 * src/pfr/pfrcmap.c: Include pfrerror.h.
772
773 * src/autofit/afindic.c: Add some external declarations to pacify
774 `make multi' compilation.
775
776 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
777
778 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
779 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
780 src/autofit/aflatin.c (af_latin_hints_compute_edges),
781 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
782 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
783 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
784
785 * docs/release: Mention test compilation targets.
786
Werner Lemberg986ea4b2007-07-04 04:53:15 +00007872007-07-04 Werner Lemberg <wl@gnu.org>
788
789 * docs/PROBLEMS: Mention that some PS based fonts can't be
790 handled correctly by FreeType.
791
Werner Lemberg3033f432007-07-04 14:12:19 +0000792 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
793 recursion depth of 1. This was the maximum value in TrueType 1.0,
794 and some older fonts don't set this field correctly.
795
796 * src/gxvalid/gxvmort1.c
797 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
798
Werner Lemberg3b0e5002007-07-03 04:48:19 +00007992007-07-03 Werner Lemberg <wl@gnu.org>
800
801 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
802 `round' to pacify compiler.
803
8042007-07-02 Werner Lemberg <wl@gnu.org>
805
806
807 * Version 2.3.5 released.
808 =========================
809
810
811 Tag sources with `VER-2-3-5'.
812
813 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
814 version number to 2.3.5.
815
816 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
817 builds/win32/visualc/freetype.dsp,
818 builds/win32/visualc/freetype.vcproj,
819 builds/win32/visualce/index.html,
820 builds/win32/visualce/freetype.dsp,
821 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
822
823 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
824
825 * builds/unix/configure.raw (version_info): Set to 9:16:3.
826
David Turner0ba89912007-07-01 09:34:04 +00008272007-07-01 David Turner <david@freetype.org>
828
Werner Lemberge3be90b2007-07-02 14:58:58 +0000829 * include/freetype/freetype.h, src/base/ftpatent.c
830 (FT_Face_SetUnpatentedHinting): New function to dynamically change
831 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +0000832
Werner Lemberge3be90b2007-07-02 14:58:58 +0000833 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
834 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +0000835
David Turner74cc0e92007-06-30 22:54:12 +00008362007-06-30 David Turner <david@freetype.org>
837
Werner Lemberge3be90b2007-07-02 14:58:58 +0000838 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
839 initialization.
David Turner74cc0e92007-06-30 22:54:12 +0000840
Werner Lemberge3be90b2007-07-02 14:58:58 +0000841 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
842 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +0000843
Werner Lemberg7723dc32007-06-26 04:44:35 +00008442007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
845
846 Add autofit module for Indic scripts. This currently just reuses
847 the CJK-specific functions.
848
849 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
850 macro.
851 * devel/ftoption.h: Synchronize with
852 include/freetype/config/ftoption.h.
853
854 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
855
856 * src/autofit/afglobal.c, src/autofit/aftypes.h,
857 src/autofit/autofit.c: Updated.
858
859 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
860 (AUTOF_DRV_SRC): Updated.
861
David Turner8f626b02007-06-22 22:22:38 +00008622007-06-23 David Turner <david@freetype.org>
863
Werner Lemberg7854c4a2007-06-23 07:16:20 +0000864 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
865 2007-06-16 that prevented the TrueType module from loading most
866 glyphs.
David Turner8f626b02007-06-22 22:22:38 +0000867
Werner Lemberg5b4d4352007-06-20 07:07:55 +00008682007-06-20 Werner Lemberg <wl@gnu.org>
869
870 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
871 change.
872
Werner Lemberg9fe58152007-06-19 07:57:30 +00008732007-06-19 Werner Lemberg <wl@gnu.org>
874
875 * src/type1/t1load.c (parse_encoding): Handle one more error.
876
Werner Lemberg5a829392007-06-19 04:53:30 +00008772007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
878
879 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
880 FNT_Err_Invalid_File_Format if file format was recognized but
881 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
882 Add verbose debug logs to make it easier to debug failing load
883 attempts.
884 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
885 so return an error if requested face index is > 0.
886 Do not do further attempt to load fonts if a previous attempt has
887 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
888 file format has been recognized but no fonts found in the file.
889
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00008902007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
891
892 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
893 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
894 the compiler warnings against unused arguments.
895 (FT_ATSFontGetFileReference): Ditto.
896 (FT_GetFile_From_Mac_ATS_Name): Ditto.
897 (FT_New_Face_From_FSSpec): Ditto.
898 (lookup_lwfn_by_fond): Fix wrong comment.
899 Replace `const StringPtr' by more appropriate type
900 `ConstStr255Param'.
901 FSRefMakePathPath always returns UTF8 POSIX pathname in
902 Mach-O, thus HFS pathname support is dropped.
903 (count_faces): Remove HLock and HUnlock which is not
904 required on Mac OS X anymore.
905 (FT_New_Face_From_SFNT): Ditto.
906 (FT_New_Face_From_FOND): Ditto.
907 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
908 except of HFS pathname support and HLock/HUnlock.
909 They are required on classic CFM environment.
910
9112007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +0000912
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000913 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
914 assertion.
915 (ps_parser_to_bytes): Fix error message.
916
Werner Lembergbb2510d2007-06-18 17:07:49 +0000917 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000918 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
919 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +0000920 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +0000921 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000922
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009232007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000924
Werner Lembergf48aec72007-06-18 07:07:55 +0000925 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
926 logic.
927 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
928 correctly.
929 (ps_parser_load_field_table): Use `fields->array_max' instead of
930 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
931
Werner Lemberg95104a42007-06-18 07:33:10 +0000932 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
933 2007-06-06.
934
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009352007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +0000936
937 * src/tools/ftrandom.c (font_size): New global variable.
938 (TestFace): Use it.
939 (main): Handle new option `--size' to set `font_size'.
940 (Usage): Updated.
941
Werner Lembergbe183eb2007-06-17 11:27:17 +0000942 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
943 invalid font.
944 (FNT_Load_Glyph): Protect against invalid bitmap width.
945
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009462007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +0000947
Werner Lemberge12ed562007-06-17 05:31:23 +0000948 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
949 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000950
Werner Lemberge12ed562007-06-17 05:31:23 +0000951 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
952 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +0000953
Werner Lemberge12ed562007-06-17 05:31:23 +0000954 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
955 and `zp2'.
956 (Ins_IP): Check argument ranges to reject bogus operations properly.
957 (IUP_WorkerRec): Add `max_points' member.
958 (_iup_worker_interpolate): Check argument ranges.
959 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000960
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009612007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +0000962
963 * src/winfonts/winfnt.h: Add necessary structures for PE resource
964 parsing.
965 (WinPE32_HeaderRec): New structure.
966 (WinPE32_SectionRec): New structure.
967 (WinPE_RsrcDirRec): New structure.
968 (WinPE_RsrcDirEntryRec): New structure.
969 (WinPE_RsrcDataEntryRec): New structure.
970 (FNT_FontRec): Remove unused `size_shift' field.
971
972 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
973 loading bitmap .fon files in PE format.
974
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009752007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000976
977 * builds/win32/ftdebug.c: Unify debug level handling with other
978 platforms.
979
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009802007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000981
982 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
983 console as well as to the debugger.
984
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00009852007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000986
987 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
988 cover all ranges which could possibly be handled by the aflatin
989 module (since the default fallback for unknown ranges is now the
990 afcjk module). It might be necessary to fine-tune this further by
991 splitting off modules for Greek, Cyrillic, or other blocks.
992
David Turnerb7920172007-06-11 05:37:35 +00009932007-06-11 David Turner <david@freetype.org>
994
Werner Lemberg49e18b82007-06-11 21:15:09 +0000995 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
996 incorrect segment linking computation. This was the root cause of
997 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000998
999
Werner Lemberg49e18b82007-06-11 21:15:09 +00001000 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
1001 to improve the Latin auto-hinter. Note that the new code is
1002 disabled by default since it is not stabilized yet.
1003
1004 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
1005 (disabled currently).
1006
1007 * src/autofit/afhints.c: Remove dead code.
1008 (af_axis_hints_new_edge): Add argument to handle segment directions.
1009 (af_edge_flags_to_string): New function.
1010 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
1011 option flags.
1012 (af_glyph_hints_reload): Add argument to handle inflections.
1013 Simplify.
1014 (af_direction_compute): Fine tuning.
1015 (af_glyph_hints_align_edge_points): Fix logic.
1016 (af_glyph_hints_align_strong_points): Do linear search for small
1017 edge counts.
1018 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
1019 (af_iup_shift): Handle zero `delta'.
1020
1021 * src/autofit/afhints.h: Updated.
1022 (AF_SORT_SEGMENTS): New macro (disabled).
1023 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
1024
1025 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
1026 argument to pass option flags for handling scripts.
1027 * src/autofit/afglobal.h: Updated.
1028
1029 * src/autofit/afcjk.c: Updated.
1030 * src/autofit/aflatin.c: Updated.
1031 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
1032
1033 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
1034 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
1035 Don't set `edge->dir'
1036 (af_latin_hint_edges): Add more logging.
1037
1038 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00001039
Werner Lembergf6c120f2007-06-11 04:55:58 +000010402007-06-11 Werner Lemberg <wl@gnu.org>
1041
Werner Lembergcf7b7642007-06-11 04:58:01 +00001042 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00001043
David Turner84c6f882007-06-10 20:51:04 +000010442007-06-10 David Turner <david@freetype.org>
1045
Werner Lembergf6c120f2007-06-11 04:55:58 +00001046 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
1047 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00001048
Werner Lembergf6c120f2007-06-11 04:55:58 +00001049 * include/freetype/config/ftoption.h: Clarify documentation
1050 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00001051
Werner Lembergf6c120f2007-06-11 04:55:58 +00001052
1053 Add new `FT_Face_CheckTrueTypePatents' API.
1054
1055 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
1056 declaration.
1057
1058 * include/freetype/internal/services/svttglyf.h,
1059 src/base/ftpatent.c: New files.
1060
1061 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
1062 New macro.
1063
1064 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
1065 `ttpload.h'.
1066 (tt_service_truetype_glyf): New service structure.
1067 (tt_services): Register it.
1068
1069 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
1070 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00001071
Werner Lemberg33db39e2007-06-08 06:30:29 +000010722007-06-08 Werner Lemberg <wl@gnu.org>
1073
David Turner84c6f882007-06-10 20:51:04 +00001074 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00001075 Fonts without a cmap must be handled correctly by FreeType (anything
1076 else would be a bug).
1077
1078
1079 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1080 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
1081
Werner Lemberg88ab6382007-06-07 05:01:56 +000010822007-06-07 Werner Lemberg <wl@gnu.org>
1083
1084 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
1085 tt_sbit_decoder_load_image): Protect against integer overflows.
1086
1087
1088 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
1089 for `x_control' and `y_control'.
1090
Werner Lemberg2a2dca62007-06-06 04:39:37 +000010912007-06-06 Werner Lemberg <wl@gnu.org>
1092
1093 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
1094
Werner Lemberga8d65492007-06-06 04:47:49 +00001095
1096 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
1097 FreeType error.
1098
Werner Lemberg470210b2007-06-06 10:05:49 +00001099
1100 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
1101 `font_count'.
1102
1103
1104 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
1105
1106
1107 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
1108 `FT_Error'.
1109 Check `fd_index'.
1110 (cff_slot_load): Updated.
1111 * src/cff/cffgload.h: Updated.
1112
Werner Lemberg6c054752007-06-05 05:27:54 +000011132007-06-05 Werner Lemberg <wl@gnu.org>
1114
1115 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
1116 (pfr_glyph_load_simple): Convert assertion into normal FreeType
1117 error.
1118 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00001119 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
1120 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00001121
1122 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
1123
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001124
Werner Lemberg470210b2007-06-06 10:05:49 +00001125 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001126
Werner Lemberge5c14d92007-06-05 20:50:37 +00001127
1128 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
1129 in case of parsing error.
1130 (ps_parser_load_field): Updated.
1131
1132 * src/type1/t1load.c (parse_font_matrix): Updated.
1133
Werner Lembergad18b362007-06-04 07:04:05 +000011342007-06-04 Werner Lemberg <wl@gnu.org>
1135
1136 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
1137
1138 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
1139
Werner Lemberg3d507fe2007-06-03 16:54:55 +000011402007-06-03 Werner Lemberg <wl@gnu.org>
1141
Werner Lemberg99a320b2007-06-03 19:21:26 +00001142 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
1143 George Williams (with some modifications).
1144
11452007-06-03 Werner Lemberg <wl@gnu.org>
1146
Werner Lemberg3d507fe2007-06-03 16:54:55 +00001147 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
1148 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
1149 face == NULL. Suggested by Graham Asher.
1150
Werner Lembergce280a22007-06-03 05:58:30 +000011512007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
1152
1153 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
1154
Werner Lemberg5b591e42007-06-01 22:16:43 +000011552007-06-02 Werner Lemberg <wl@gnu.org>
1156
1157 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
1158 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
1159
1160 * src/bdf/bdflib.c (bdf_load_font): Use them.
1161
1162 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
1163
Werner Lembergb9933f42007-06-01 21:27:12 +000011642007-06-01 Werner Lemberg <wl@gnu.org>
1165
1166 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
1167 (FTC_CMapCache_Lookup): Remove unused code.
1168
Werner Lembergc793d902007-06-01 20:51:11 +000011692007-06-01 Sean McBride <sean@rogue-research.com>
1170
1171 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
1172 unused.
1173
Werner Lembergbebc7b12007-06-01 06:32:30 +000011742007-06-01 Werner Lemberg <wl@gnu.org>
1175
1176 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
1177 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00001178 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00001179
Werner Lembergcb37b3b2007-06-01 06:49:03 +00001180 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
1181 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
1182
Werner Lembergba03af62007-05-30 13:57:02 +000011832007-05-30 Werner Lemberg <wl@gnu.org>
1184
1185 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
1186 against too small binary data strings.
1187
1188 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
1189
David Turnerf0cd69c2007-05-28 15:42:09 +000011902007-05-28 David Turner <david@freetype.org>
1191
Werner Lemberg99e0c182007-05-29 07:00:23 +00001192 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
1193 transformation. This significantly reduces the loading time of CFF
1194 glyphs.
David Turner552a9562007-05-28 15:45:35 +00001195
Werner Lemberg99e0c182007-05-29 07:00:23 +00001196 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00001197
Werner Lemberg99e0c182007-05-29 07:00:23 +00001198 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
1199 hinting script to CJK, since it works well with more scripts than
1200 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
1201 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00001202
Werner Lemberg1c8980e2007-05-25 07:11:12 +000012032007-05-25 Werner Lemberg <wl@gnu.org>
1204
1205 * docs/CHANGES: Updated.
1206
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000012072007-05-24 Werner Lemberg <wl@gnu.org>
1208
1209 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
1210 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
1211
12122007-05-24 Graham Asher <graham.asher@btinternet.com>
1213
1214 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
1215 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
1216
David Turner0d0365e2007-05-22 09:53:44 +000012172007-05-22 David Turner <david@freetype.org>
1218
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001219 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
1220 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00001221
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001222
1223 Avoid heap blowup with very large .Z font files. This fixes
1224 Savannah bug #19910.
1225
1226 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
1227 `in_limit', `pad', `pad_bits', and `in_buff' members.
1228 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
1229 `buf_total' members.
1230
1231 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
1232 only one argument.
1233 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00001234
12352007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00001236
1237 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
1238 (ps_dimension_set_mask_bits): Remove `const'.
1239
David Turner0d0365e2007-05-22 09:53:44 +000012402007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00001241
1242 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1243 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
1244
Werner Lembergb826fa72007-05-19 07:18:48 +000012452007-05-19 Derek Clegg <dclegg@apple.com>
1246
1247 Savannah patch #5929.
1248
1249 * include/freetype/tttables.h, src/base/ftobjcs.c
1250 (FT_Get_CMap_Format): New function.
1251
1252 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
1253 `format' member.
1254 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
1255 cmap_info->format.
1256
Werner Lemberg6f99c882007-05-19 07:01:49 +000012572007-05-19 Werner Lemberg <wl@gnu.org>
1258
1259 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
1260 before handling subglyphs so that it can be reinitialized each time.
1261 This fixes Savannah bug #19859.
1262
Werner Lemberg95bc9d32007-05-16 15:19:42 +000012632007-05-16 Werner Lemberg <wl@gnu.org>
1264
1265 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
1266 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
1267 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
1268 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
1269 tt_face_get_metrics): Fix type-punning issues.
1270
David Turner0a24bd22007-05-15 10:54:10 +000012712007-05-15 David Turner <david@freetype.org>
1272
1273 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001274 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
1275 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00001276 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001277 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00001278
Werner Lemberg607dec72007-05-15 06:49:37 +000012792007-05-15 Graham Asher <graham.asher@btinternet.com>
1280
1281 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
1282 variable.
1283 * src/autofit/afloader.c (af_loader_load_g): Ditto.
1284
1285 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
1286 (open_face_from_buffer): Initialize `stream'.
1287 (FT_Request_Metrics): Remove unused variable.
1288 Remove redundant `break' statements.
1289 (FT_Get_Track_Kerning): Remove unused variable.
1290
1291 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
1292 afm_parse_kern_data): Remove redundant
1293 `break' statements.
1294 (afm_parser_parse): Ditto.
1295 Don't use uninitialized variables.
1296
1297 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
1298 Use `|' operator instead of `^' to set it.
1299 Update all users.
1300
1301 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
1302 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
1303
1304 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
1305 comparison.
1306 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
1307 (TT_Load_Glyph): Remove unused variable.
1308
Werner Lemberg8d463a52007-05-13 16:01:55 +000013092007-05-13 Derek Clegg <dclegg@apple.com>
1310
1311 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
1312 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
1313
David Turner711cf842007-05-11 14:36:24 +000013142007-05-11 David Turner <david@freetype.org>
1315
Werner Lemberg56ceaa42007-05-14 18:53:58 +00001316 * src/cache/ftbasic.c, include/freetype/ftcache.h
1317 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
1318 functions that allow us to look up glyphs using an FTC_Scaler object
1319 to specify the size, making it possible to use fractional pixel
1320 sizes.
1321
1322 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
1323 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00001324
Werner Lemberg94be20e2007-05-09 20:02:55 +000013252007-05-09 Graham Asher <graham.asher@btinternet.com>
1326
1327 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
1328 (af_latin_metrics_scale_dim): Fix compiler warnings.
1329
Werner Lemberg41271032007-05-06 04:51:48 +000013302007-05-06 Werner Lemberg <wl@gnu.org>
1331
1332 * builds/win32/visualce/freetype.sln: Removed, as requested by
1333 Vincent.
1334
Werner Lembergdf49e692007-05-04 06:30:05 +000013352007-05-04 Vincent RICHOMME <richom.v@free.fr>
1336
1337 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
1338 PC targets.
1339
1340 * docs/CHANGES: Document them.
1341
13422007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00001343
1344 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
1345 mmap (which might happen on some RTOS). From Savannah patch #5909.
1346
Werner Lemberg106eaf12007-05-03 07:07:47 +000013472007-05-03 Werner Lemberg <wl@gnu.org>
1348
1349 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
1350 * include/freetype/freetype.h (FT_Set_Char_Size): Update
1351 documentation.
1352
Werner Lemberg1b5267d2007-04-28 21:06:15 +000013532007-04-28 Victor Stinner <victor.stinner@inl.fr>
1354
1355 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
1356 `cmap'.
1357
Werner Lembergcc712a22007-04-27 17:16:50 +000013582007-04-27 Werner Lemberg <wl@gnu.org>
1359
1360 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
1361 number of points in contours. Problem reported by Victor Stinner
1362 <victor.stinner@haypocalc.com>.
1363 (TT_Process_Simple_Glyph): Synchronize variable types.
1364
Werner Lemberg45bb18f2007-04-26 06:26:35 +000013652007-04-26 Werner Lemberg <wl@gnu.org>
1366
1367 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
1368 zero in case of error. This fixes Savannah bug #19689.
1369
David Turnera8b45e62007-05-11 14:10:30 +000013702007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
1371
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001372 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
1373 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00001374
Werner Lembergfcc1f472007-04-10 11:51:50 +000013752007-04-10 Martin Horak <horakm@centrum.cz>
1376
1377 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
1378 Ignore `hhea' table. This fixes Savannah bug #19261.
1379
Werner Lemberg14bf82e2007-04-10 04:09:49 +000013802007-04-09 Werner Lemberg <wl@gnu.org>
1381
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001382
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001383 * Version 2.3.4 released.
1384 =========================
1385
1386
1387 Tag sources with `VER-2-3-4'.
1388
1389 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1390 version number to 2.3.4.
1391
1392 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1393 builds/win32/visualc/freetype.dsp,
1394 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
1395
1396 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
1397
1398 * builds/unix/configure.raw (version_info): Set to 9:15:3.
1399
Werner Lembergf4a52a62007-04-09 08:40:11 +000014002007-04-09 Martin Horak <horakm@centrum.cz>
1401
1402 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
1403 memory stream to avoid a crash with the incremental memory
1404 interface (Savannah bug #19260).
1405
David Turner1dcb4442007-04-06 08:19:04 +000014062007-04-06 David Turner <david@freetype.org>
1407
Werner Lembergc81cf612007-04-06 09:28:23 +00001408 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
1409 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00001410
Werner Lemberg9f83e052007-04-05 02:28:23 +000014112007-04-04 Werner Lemberg <wl@gnu.org>
1412
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001413
Werner Lemberg9f83e052007-04-05 02:28:23 +00001414 * Version 2.3.3 released.
1415 =========================
1416
1417
1418 Tag sources with `VER-2-3-3'.
1419
1420 * docs/CHANGES: Mention CVE-2007-1351.
1421
David Turner7338ec22007-04-03 14:30:34 +000014222007-04-03 David Turner <david@freetype.org>
1423
1424 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00001425 if one of the resolution values is 0, treat it as if it were the
1426 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00001427
David Turnere6472c12007-04-02 13:13:54 +000014282007-04-02 David Turner <david@freetype.org>
1429
Werner Lemberg94f12272007-04-03 07:19:53 +00001430 Add special code to detect `extra-light' fonts and do not snap their
1431 stem widths too much to avoid bizarre hinting effects.
1432
1433 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
1434 `extra_light' members.
1435
1436 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
1437 them.
1438 (af_latin_metrics_scale_dim): Set `extra_light'.
1439 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00001440
David Turner3f539692007-03-28 14:53:40 +000014412007-03-28 David Turner <david@freetype.org>
1442
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001443 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00001444 padding.
1445
Werner Lemberga08b2172007-03-28 07:17:17 +000014462007-03-28 Werner Lemberg <wl@gnu.org>
1447
1448 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
1449 gracefully.
1450 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00001451 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00001452 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
1453 number of code points in Unicode.
1454
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001455 * builds/win32/visualc/index.html,
1456 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001457 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001458 s/232/233/.
1459
1460 * docs/CHANGES: Mention ftdiff.
1461
David Turner3b242d32007-03-26 12:03:04 +000014622007-03-26 David Turner <david@freetype.org>
1463
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001464 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
1465 corresponding code.
1466 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00001467
Werner Lemberga08b2172007-03-28 07:17:17 +00001468 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001469 computations in order to ignore single-point contours. These are
1470 never rasterized and correspond in certain fonts to mark-attach
1471 points that are very far from the glyph's real outline, ruining the
1472 computation.
David Turnerf58caa02007-03-26 12:39:25 +00001473
Werner Lemberga08b2172007-03-28 07:17:17 +00001474 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00001475 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00001476 Otherwise code that uses them will most certainly ruin the fixed
1477 advance property.
David Turner23553d62007-03-26 13:37:17 +00001478
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001479 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
1480 documentation and bump version number to 2.3.3.
1481
1482 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
1483
1484 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00001485
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000014862007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1487
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001488 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
1489 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00001490 * builds/vms/ftconfig.h: Ditto.
1491 * include/freetype/config/ftconfig.h: Ditto.
1492
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000014932007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1494
Werner Lemberg14ffe092007-03-22 06:12:43 +00001495 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
1496 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00001497 proposed by Sean McBride:
1498 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
1499
15002007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1501
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00001502 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
1503 setjmp, proposed by Sean McBride:
1504 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
1505
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000015062007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1507
Werner Lembergc9f6c662007-03-21 13:30:14 +00001508 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
1509 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
1510 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00001511
David Turner74c34eb2007-03-18 07:19:31 +000015122007-03-18 David Turner <david@freetype.org>
1513
Werner Lembergc9f6c662007-03-21 13:30:14 +00001514 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
1515 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00001516
Werner Lembergc9f6c662007-03-21 13:30:14 +00001517 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00001518
David Turner89020d92007-03-17 17:48:57 +000015192007-03-17 David Turner <david@freetype.org>
1520
Werner Lembergc9f6c662007-03-21 13:30:14 +00001521 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
1522 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00001523
Werner Lemberg25d592a2007-03-09 07:59:35 +000015242007-03-09 Werner Lemberg <wl@gnu.org>
1525
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001526
Werner Lemberg25d592a2007-03-09 07:59:35 +00001527 * Version 2.3.2 released.
1528 =========================
1529
1530
1531 Tag sources with `VER-2-3-2'.
1532
1533 * builds/win32/visualc/index.html,
1534 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001535 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00001536 s/231/232/.
1537
David Turner3a51afa2007-03-08 10:50:38 +000015382007-03-08 David Turner <david@freetype.org>
1539
Werner Lemberg25d592a2007-03-09 07:59:35 +00001540 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00001541
Werner Lemberg25d592a2007-03-09 07:59:35 +00001542 * builds/unix/configure.raw (version_info): Set to 9:13:3.
1543
1544 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
1545
1546 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00001547
Werner Lemberg1e259de2007-03-08 15:39:21 +00001548 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
1549 function to work properly, over-writing user-provided buffers in
1550 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00001551
David Turner121cad52007-03-08 16:43:50 +00001552
Werner Lemberg3d92f082007-03-06 11:59:24 +000015532007-03-05 Werner Lemberg <wl@gnu.org>
1554
1555 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
1556 macro for `strstr'.
1557
1558 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
1559 `trick_names', as suggested by Ivan Nincic.
1560
David Turner085bc6e2007-03-05 17:40:03 +000015612007-03-05 David Turner <david@freetype.org>
1562
Werner Lembergd112cf02007-03-06 12:06:56 +00001563 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
1564 case FT_Init_FreeType fails for some reason. Problem reported by
1565 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00001566
Werner Lembergd112cf02007-03-06 12:06:56 +00001567 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
1568 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
1569 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
1570 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00001571
Werner Lembergd112cf02007-03-06 12:06:56 +00001572 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
1573 signed values, not unsigned ones. Problem reported by Johannes
1574 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00001575
David Turner601aefe2007-02-21 16:47:49 +000015762007-02-21 David Turner <david@freetype.org>
1577
Werner Lembergde5e6862007-02-25 21:06:43 +00001578 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
1579 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00001580
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000015812007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1582
1583 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
1584 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
1585 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
1586
Werner Lemberga0915172007-02-16 08:12:50 +000015872007-02-16 Werner Lemberg <wl@gnu.org>
1588
1589 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
1590 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
1591
David Turner2c4500e2007-02-14 15:08:47 +000015922007-02-14 David Turner <david@freetype.org>
1593
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001594 It seems that the following changes fix most of the known
1595 interpreter problems with my fonts, but more testing is needed,
1596 though.
1597
1598 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
1599 (TT_MulFix14): Rewrite.
1600 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
1601 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00001602
Werner Lembergc6a14082007-02-12 22:08:15 +000016032007-02-12 Werner Lemberg <wl@gnu.org>
1604
1605 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
1606 warnings.
1607
1608 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
1609 (bdf_interpret_style): Ditto.
1610
David Turnerc0f9c4a2007-02-12 14:55:03 +000016112007-02-12 David Turner <david@freetype.org>
1612
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001613 Simplify projection and dual-projection code interface.
1614
Werner Lemberg406d25f2007-02-12 22:01:18 +00001615 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
1616 FT_Vector' as argument type.
1617 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
1618 Updated.
1619 (CUR_fast_project, CUR_fast_dualproj): New macros.
1620 (Project, Dual_Project, Project_x, Project_y): Updated.
1621 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
1622 macros.
1623
1624
1625 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
1626 adjustments for the non-light auto-hinted modes. Gets rid of
1627 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00001628
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001629 * src/autofit/aflatin.c (af_latin_hints_link_segments,
1630 af_latin_hints_compute_edges): Slight optimization of the segment
1631 linker and better handling of serif segments to get rid of broken
1632 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00001633
David Turnerc0f9c4a2007-02-12 14:55:03 +00001634
Werner Lemberg442bfb82007-02-12 21:44:10 +00001635 Introduce new string functions and the corresponding macros to get
1636 rid of various uses of strcpy and other `evil' functions, as well as
1637 to simplify a few things.
1638
1639 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
1640 ft_mem_strcpyn): New declarations.
1641 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
1642 macros.
1643 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
1644 functions.
1645
1646 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
1647 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
1648 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
1649 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
1650 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
1651 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
1652 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
1653 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00001654
Werner Lemberg406d25f2007-02-12 22:01:18 +00001655 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
1656
Werner Lemberg582067d2007-02-11 15:03:05 +000016572007-02-11 Werner Lemberg <wl@gnu.org>
1658
1659 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
1660 non-spacing glyphs.
1661
Werner Lemberg8f474532007-02-07 08:31:01 +000016622007-02-07 Tom Parker <palfrey@tevp.net>
1663
1664 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
1665 pointer.
1666
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000016672007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1668
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00001669 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
1670 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00001671 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00001672 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
1673 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
1674 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
1675 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00001676
1677 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
1678 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00001679 * builds/mac/ftmac.c: Ditto.
1680
16812007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1682
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00001683 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00001684 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00001685 #include <ftmac.c>.
1686
16872007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1688
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00001689 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
1690 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
1691 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
1692 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
1693 FT_GetFilePath_From_Mac_ATS_Name.
1694 * builds/mac/ftmac.c: Ditto.
1695
16962007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1697
Werner Lembergdcbb7082007-02-08 08:54:09 +00001698 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00001699 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
1700 for passing to FT_New_Face_From_FSSpec.
1701
17022007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1703
Werner Lembergdcbb7082007-02-08 08:54:09 +00001704 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00001705 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00001706
1707 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
1708 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00001709 * builds/mac/ftmac.c (OS_INLINE): Ditto.
1710
Werner Lemberg313d7772007-02-01 08:10:45 +000017112007-02-01 Werner Lemberg <wl@gnu.org>
1712
1713 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
1714 Explain why applications shouldn't use it. Found by Alexei.
1715
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000017162007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001717
1718 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
1719 message.
1720
1721 * src/gxvalid/gxvmort1.c
1722 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
1723 message.
1724
Werner Lemberg53935932007-01-31 08:53:02 +000017252007-01-31 Werner Lemberg <wl@gnu.org>
1726
1727
1728 * Version 2.3.1 released.
1729 =========================
1730
1731
1732 Tag sources with `VER-2-3-1-FINAL'.
1733
1734 * builds/win32/visualc/freetype.dsp,
1735 builds/win32/visualc/freetype.vcproj: s/230/231/.
1736 * builds/win32/visualc/index.html: s/221/231/.
1737
1738 * vms_make.com: Add `ftgasp'.
1739
David Turnera7ee6082007-01-30 10:33:53 +000017402007-01-30 David Turner <david@freetype.org>
1741
Werner Lemberg53935932007-01-31 08:53:02 +00001742 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00001743
Werner Lemberg53935932007-01-31 08:53:02 +00001744 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00001745
Werner Lemberg25d592a2007-03-09 07:59:35 +00001746 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00001747 s/2.3.0/2.3.1/.
1748
1749 * builds/unix/configure.raw (version_info): Set to 9:12:3.
1750
1751
1752 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
1753 (af_loader_load_g): Disable the warper (i.e., the light hinting
1754 improvements) to make a 2.3.1 bugfix release before introducing a
1755 new feature. This should give us more time to tune and improve the
1756 warper for the next release.
1757
1758 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00001759
David Turnerd91eebd2007-01-26 15:05:41 +000017602007-01-25 David Turner <david@freetype.org>
1761
Werner Lembergbf241762007-01-26 16:08:49 +00001762 For light auto-hinting, improve glyph advance widths and resurrect
1763 normal/full hinting to its normal quality.
1764
1765 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
1766 and `xmax_delta'.
1767 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
1768 and `xmax_delta'.
1769
1770 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
1771 preprocessor conditional with if-clause, handling both light and
1772 normal mode.
1773
1774 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
1775 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00001776
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000017772007-01-25 Werner Lemberg <wl@gnu.org>
1778
1779 * docs/release: Updated -- Savannah uses a new uploading scheme.
1780
David Turnera42567b2007-01-25 12:23:37 +000017812007-01-25 David Turner <david@freetype.org>
1782
Werner Lembergd7855662007-01-25 13:53:56 +00001783 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00001784
Werner Lembergd7855662007-01-25 13:53:56 +00001785 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
1786 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
1787 functions.
David Turnera42567b2007-01-25 12:23:37 +00001788
Werner Lembergd7855662007-01-25 13:53:56 +00001789 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00001790
Werner Lembergb1be9e82007-01-25 11:50:00 +000017912007-01-25 Werner Lemberg <wl@gnu.org>
1792
1793 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00001794 correctly in a sanity check. Since this function is only used to
1795 load local and global functions, any charstring that called the last
1796 local/global function would fail otherwise. This fixes Savannah bug
1797 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00001798
1799 * docs/CHANGES: Document it.
1800
David Turnerb6de8d12007-01-23 15:51:50 +000018012007-01-23 David Turner <david@freetype.org>
1802
Werner Lembergb1be9e82007-01-25 11:50:00 +00001803 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
1804 prevented compilation when disabling both the unpatented and the
1805 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00001806
Werner Lembergb1be9e82007-01-25 11:50:00 +00001807
1808 Fix and enable the warper to improve `light' hinting mode. This is
1809 not necessarily a final version, but it seems to work well.
1810
1811 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
1812 Disable code.
1813 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
1814 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
1815
1816 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
1817 (af_warper_compute_line_best): Fix array size of `scores'.
1818 (af_warper_compute): Better handling of border cases.
1819 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
1820 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00001821
Werner Lemberg011d1112007-01-21 09:36:00 +000018222007-01-21 Werner Lemberg <wl@gnu.org>
1823
Werner Lemberg42b63b22007-01-21 21:01:33 +00001824 * ChangeLog: Split off older entries into...
1825 * ChangeLog.22: This new file.
1826
18272007-01-21 Werner Lemberg <wl@gnu.org>
1828
Werner Lemberg555258f2007-01-21 09:46:37 +00001829 * docs/CHANGES: Document SHZ fix.
1830
18312007-01-21 George Williams <gww@silcom.com>
1832
1833 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
1834 points.
1835
18362007-01-21 Werner Lemberg <wl@gnu.org>
1837
Werner Lemberg011d1112007-01-21 09:36:00 +00001838 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1839 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
1840
Werner Lemberg87a5a432007-01-17 12:44:39 +000018412007-01-17 Werner Lemberg <wl@gnu.org>
1842
Werner Lembergb8003292007-01-17 12:56:25 +00001843
1844 * Version 2.3.0 released.
1845 =========================
1846
1847
1848 Tag sources with `VER-2-3-0-FINAL'.
1849
18502007-01-17 Werner Lemberg <wl@gnu.org>
1851
Werner Lemberg87a5a432007-01-17 12:44:39 +00001852 * docs/release: Updated.
1853
David Turner22122722007-01-16 20:06:44 +000018542007-01-16 David Turner <david@freetype.org>
1855
Werner Lemberg87a5a432007-01-17 12:44:39 +00001856 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
1857 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
1858 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
1859 warnings.
David Turner22122722007-01-16 20:06:44 +00001860
Werner Lemberg267e1d72007-01-15 07:48:09 +000018612007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
1862
1863 * builds/amiga/makefile, builds/amiga/makefile.os4,
1864 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
1865
1866 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
1867
Werner Lemberg8c4120d2007-01-15 06:42:40 +000018682007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
1869
1870 Fix various compiler warnings.
1871
1872 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
1873 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
1874 s/index/strike_index/.
1875 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1876
1877 * src/gxvalid/gxvmorx5.c
1878 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1879
1880 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1881 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1882 uninitialized variables.
1883
Werner Lemberg6164a9d2007-01-13 23:01:36 +000018842007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1885
1886 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1887
Werner Lemberg281c1482007-01-13 22:50:51 +000018882007-01-13 Werner Lemberg <wl@gnu.org>
1889
1890 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1891 versions up to 0x3FF without complaining.
1892
Werner Lembergac250b22007-01-13 14:01:36 +000018932007-01-13 Derek Clegg <dclegg@apple.com>
1894
1895 Add FT_Get_PS_Font_Info interface to CFF driver.
1896
1897 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1898 (CFF_FontRec): Add `font_info' field.
1899
1900 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1901 (cff_font_done): Free font->font_info if necessary.
1902
1903 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1904 (cff_service_ps_info): Register cff_ps_get_font_info.
1905
Werner Lemberg23df31a2007-01-13 08:45:00 +000019062007-01-13 Werner Lemberg <wl@gnu.org>
1907
1908 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1909 with C++ compiler.
1910
1911 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1912 af_glyph_hints_dump_edges): Ditto.
1913
1914 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1915 `modules.cfg').
1916
1917 * src/sfnt/ttsbit0.h: Remove.
1918
1919 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1920
Werner Lemberg27cf9de2007-01-13 07:34:23 +000019212007-01-12 David Turner <david@freetype.org>
1922
1923 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1924 bug in the bitmap emboldener if the pitch of the source bitmap is
1925 much larger than its width.
1926
1927 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1928 compilation warning.
1929
Werner Lemberg6d96d312007-01-12 10:30:19 +000019302007-01-12 Werner Lemberg <wl@gnu.org>
1931
1932 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1933 `automake' CVS module from sources.redhat.com.
1934
Werner Lemberg17432b52007-01-12 09:28:44 +000019352007-01-11 Werner Lemberg <wl@gnu.org>
1936
1937 * src/type1/t1load.c (is_space): Removed.
1938 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1939 (parse_charstrings): Use IS_PS_TOKEN.
1940
1941
1942 * autogen.sh: Avoid bash specific syntax.
1943
David Turner038ace22007-01-11 15:00:59 +000019442007-01-11 David Turner <david@freetype.org>
1945
Werner Lemberg17432b52007-01-12 09:28:44 +00001946 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001947
Werner Lemberg17432b52007-01-12 09:28:44 +00001948 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001949
Werner Lemberg17432b52007-01-12 09:28:44 +00001950 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1951 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001952 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001953
Werner Lemberg17432b52007-01-12 09:28:44 +00001954 * autogen.sh: Small fix to get it working on Mac OS X properly:
1955 The issue is that GNU libtool is called `glibtool' on this platform,
1956 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001957
David Turner2628ea92007-01-10 13:15:56 +000019582007-01-10 David Turner <david@freetype.org>
1959
Werner Lemberg17432b52007-01-12 09:28:44 +00001960 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1961 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001962
Werner Lemberg17432b52007-01-12 09:28:44 +00001963 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1964 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1965 version number to 2.3.0.
1966
1967 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1968 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001969
1970 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001971 include/freetype/ftlcdfil.h: Update reference documentation with
1972 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001973
Werner Lemberg17432b52007-01-12 09:28:44 +00001974 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1975 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001976
Werner Lembergbf02d392007-01-10 07:07:37 +000019772007-01-10 Derek Clegg <dclegg@apple.com>
1978
1979 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1980 values.
1981
David Turnerf48b60e2007-01-08 15:15:32 +000019822007-01-08 David Turner <david@freetype.org>
1983
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001984 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001985
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001986 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1987 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001988 corresponding to a given character pixel size.
1989
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001990 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1991 `gasp' table, in order to avoid potential problems with later
1992 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001993
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001994 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1995 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001996
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001997 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1998 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1999 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
2000 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00002001
Werner Lemberge6b6f372007-01-07 00:06:47 +000020022007-01-07 Werner Lemberg <wl@gnu.org>
2003
Werner Lembergb8004d22007-01-07 09:13:38 +00002004 * src/cid/cidparse.c (cid_parser_new): Improve error message for
2005 Type 11 fonts.
2006 Scan for `/sfnts' token.
2007
20082007-01-07 Werner Lemberg <wl@gnu.org>
2009
2010 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00002011
Werner Lembergbe5f7972007-01-06 07:51:48 +000020122007-01-06 Werner Lemberg <wl@gnu.org>
2013
2014 * src/cff/cffload.c (cff_index_init): Remove unused variable.
2015 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
2016
David Turnera8cf42b2007-01-04 16:46:46 +000020172007-01-04 David Turner <david@freetype.org>
2018
Werner Lembergf6294392007-01-06 07:47:45 +00002019 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
2020 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00002021
Werner Lembergf6294392007-01-06 07:47:45 +00002022
2023 Do not allocate interpreter-specific tables in memory if we are not
2024 going to load glyphs with the bytecode interpreter anyway.
2025
2026 * src/truetype/ttgload.c (tt_loader_init): Load execution context
2027 only if glyph is hinted.
2028 Updated.
2029 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
2030 and `cvs_ready'.
2031 Add `tt_size_ready_bytecode' declaration.
2032 * src/truetype/ttobjs.c (tt_size_done_bytecode,
2033 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
2034 (tt_size_init): Move most code into `tt_size_init_bytecode'.
2035 (tt_size_done): Move most code into `tt_size_done_bytecode'.
2036 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002037
David Turner91a34022007-01-05 14:47:08 +00002038
Werner Lembergf6294392007-01-06 07:47:45 +00002039 Don't extract the metrics table from the SFNT font file. Instead,
2040 reparse it on each glyph load. The runtime difference is not
2041 noticeable, and it can save a lot of heap memory when memory-mapped
2042 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00002043
Werner Lembergf6294392007-01-06 07:47:45 +00002044 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
2045 `horz_metrics_offset' and `vert_metrics_ofset'.
2046 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
2047 Updated.
2048
2049
2050 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
2051
2052
2053 Do not load the CFF index offsets into memory, since this wastes a
2054 *lot* of heap memory with large Asian CFF fonts. There is no
2055 significant performance loss.
2056
2057 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
2058 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
2059 `data_size'.
2060 (CFF_CharsetRec): Add field `num_glyphs'.
2061
2062 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
2063 cff_charset_cid_to_gindex): New functions.
2064 (cff_new_index): Renamed to...
2065 (cff_index_init): This. Update all callers.
2066 Updated -- some code has been moved to `cff_index_load_offsets'.
2067 (cff_done_index): Renamed to...
2068 (cff_index_done): This. Update all callers.
2069 (cff_index_get_pointers, cff_index_access_element): Updated to use
2070 stream offsets.
2071 (cff_charset_compute_cids): Set `num_glyphs' field.
2072 (cff_encoding_load): Updated.
2073
2074 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00002075
20762007-01-04 David Turner <david@freetype.org>
2077
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002078 * docs/INSTALL.UNIX: Simplify some parts, add reference to
2079 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00002080
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002081 * README.CVS: Add common problem description and solution
2082 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00002083
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002084 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00002085
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002086 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00002087
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002088 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00002089
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002090 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
2091 (TWorker): This.
2092 Remove `count_table' and `memory'.
2093 Make `grays' a pointer.
2094 (TRaster): New structure.
2095 (count_table): New static array.
2096 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
2097 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
2098 ft_black_set_mode, ft_black_render): Updated.
2099 (ft_black_init): Don't initialize `count_table'.
2100 (ft_black_reset): Use the render pool. This saves about 6KB of
2101 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00002102
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002103 * src/smooth/ftgrays.c (TRaster): Replaced with...
2104 (TWorker): This.
2105 Remove `memory'.
2106 (TRaster): New structure.
2107
2108 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
2109 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
2110 gray_render_span, gray_raster_render): Updated.
2111 (gray_raster_reset): Use the render pool. This saves about 6KB of
2112 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00002113
David Turner8a6c44e2007-01-04 17:03:11 +00002114 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
2115 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002116 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
2117 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
2118 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00002119
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002120 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
2121 Remove a typo that results in no hinting and a memory leak with some
2122 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00002123
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002124 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00002125 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002126 CFF_Faces in it. We need to close all faces before destroying the
2127 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00002128
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000021292007-01-02 Werner Lemberg <wl@gnu.org>
2130
2131 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
2132 Remove compiler warning.
2133
David Turner9207e002007-01-02 16:58:13 +000021342007-01-02 David Turner <david@freetype.org>
2135
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002136 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00002137
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000021382006-12-31 Masatake YAMATO <jet@gyve.org>
2139
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002140 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
2141 function.
2142 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002143 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00002144 `gxv_kern_subtable_fmt0_pairs_validate'.
2145
David Turner115b4422006-12-22 11:37:05 +000021462006-12-22 David Turner <david@freetype.org>
2147
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002148 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
2149 warnings.
David Turner115b4422006-12-22 11:37:05 +00002150
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002151 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
2152 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00002153
Werner Lemberg4755bf72006-12-16 08:58:44 +000021542006-12-16 Anders Kaseorg <anders@kaseorg.com>
2155
2156 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
2157 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
2158
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000021592006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2160
Werner Lemberg9b774e22007-01-16 06:11:27 +00002161 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002162 sync with the modification by Jens Claudius on 2006-08-22; cf.
2163 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 +00002164
21652006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2166
2167 * src/base/ftmac.c: Specialized for Mac OS X only.
2168 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
2169 * builds/unix/configure.raw: Ditto. When explicit switches for
2170 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
2171 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
2172
21732006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2174
2175 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
2176 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
2177 instead of src/base/ftmac.c
2178 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
2179 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
2180 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
2181 that cannot be built at present.
2182
21832006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2184
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002185 * src/base/ftobjs.c: Improvement of resource fork handler for
2186 POSIX, cf.
2187 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00002188 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
2189 format or .dfont, to simulate the face index number counted by ftmac.c.
2190 (IsMacResource): Return the number of scalable faces correctly.
2191
Werner Lembergec5b4502006-12-10 07:51:38 +000021922006-12-10 Werner Lemberg <wl@gnu.org>
2193
2194 * builds/toplevel.mk (version): Protect against `distclean' target.
2195
Werner Lembergb26b3142006-12-09 20:01:43 +000021962006-12-09 Werner Lemberg <wl@gnu.org>
2197
2198 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
2199 or `type'.
2200
2201 * builds/freetype.mk (version): Extracted from freetype.h, using
2202 GNU make's built-in string functions.
2203 (refdoc): Use $(version) instead of static version number.
2204
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000022052006-12-08 Werner Lemberg <wl@gnu.org>
2206
2207 * builds/toplevel.mk (dist): Extract version number from freetype.h.
2208
Werner Lemberg15c29502006-12-09 07:29:54 +000022092006-12-08 Vladimir Volovich <vvv@vsu.ru>
2210
2211 * src/tools/apinames (State): Remove final comma in structure -- xlc
2212 v5 under AIX 4.3 doesn't like this.
2213
David Turnerdbf3b432006-12-07 21:18:09 +000022142006-12-07 David Turner <david@freetype.org>
2215
Werner Lemberg256a3512006-12-08 06:49:33 +00002216 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
2217 to the spacing of auto-fitted glyphs. This only impacts rare
2218 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00002219
Werner Lemberg11171312006-12-03 09:43:40 +000022202006-12-03 Werner Lemberg <wl@gnu.org>
2221
2222 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
2223
Werner Lemberg960ba592006-12-01 08:20:47 +000022242006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00002225
Werner Lemberg960ba592006-12-01 08:20:47 +00002226 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
2227 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
2228 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00002229
David Turner80658e52006-11-28 08:09:20 +00002230
Werner Lemberg960ba592006-12-01 08:20:47 +00002231 * include/freetype/ftxf86.h: Fix and extend comment so that it
2232 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00002233
Werner Lemberg960ba592006-12-01 08:20:47 +00002234 * include/freetype/ftchapters.h: Add `font_format' section.
2235
2236
2237 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
2238 to TOC in index page.
2239
22402006-11-28 David Turner <david@freetype.org>
2241
2242 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
2243 trying to render into a zero-width/height bitmap, not an error code.
2244
2245 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
2246
2247 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
2248 ones instead.
2249
2250 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
2251 variable.
David Turner80658e52006-11-28 08:09:20 +00002252
Werner Lemberg8636c292006-11-26 22:28:13 +000022532006-11-26 Pierre Hanser <hanser@club-internet.fr>
2254
2255 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
2256
Werner Lemberg960ba592006-12-01 08:20:47 +000022572006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00002258
Werner Lemberg960ba592006-12-01 08:20:47 +00002259 * src/autofit/afhints.c (af_glyph_hints_dump_points,
2260 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
2261 Add stubs to link the `ftgrid' test program when debugging is
2262 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00002263
Werner Lemberg960ba592006-12-01 08:20:47 +000022642006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00002265
2266 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00002267 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
2268
2269 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
2270 Emit more sensible information.
2271
2272 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
2273
2274 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
2275 rounding of blue values.
2276 (af_latin_hints_compute_segments): Hint segment heights.
2277 (af_latin_hints_link_segments): Reduce `len_score' value.
2278 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
2279 value and use `height' member for comparisons.
2280 (af_latin_hint_edges): Extend logging message.
2281 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00002282
Werner Lemberg91959bf2006-11-22 10:36:55 +000022832006-11-22 Werner Lemberg <wl@gnu.org>
2284
2285 Fix Savannah bug #15553.
2286
2287 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
2288 program after a change from mono to grayscaling (and vice versa).
2289 Use correct constant for comparison to get `exec->grayscale'.
2290
Werner Lemberg913a3652006-11-19 09:19:17 +000022912006-11-18 Werner Lemberg <wl@gnu.org>
2292
2293 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00002294 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00002295 This patch fixes Savannah bug #18301.
2296
2297 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
2298 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
2299 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
2300 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
2301 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
2302 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
2303 (FNT_Load_Glyph): Check validity of `glyph_index'.
2304
David Turner7bab6ae2006-11-13 11:25:06 +000023052006-11-13 David Turner <david@freetype.org>
2306
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002307 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
2308 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00002309
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002310 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
2311 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
2312 when building the library to change the default LCD filter to be
2313 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00002314
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002315 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00002316
David Turner8765c712006-11-10 16:49:42 +000023172006-11-10 David Turner <david@freetype.org>
2318
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002319 * src/smooth/ftsmooth.c: API change for the LCD
2320 filter. The FT_LcdFilter value is an enumeration describing which
2321 filter to apply, with new values FT_LCD_FILTER_LIGHT and
2322 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
2323 algorithm which produces strong color fringes for everything
2324 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00002325
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002326 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
2327 second parameter to an enum type.
2328
2329 * src/base/ftlcdfil.c (USE_LEGACY): Define.
2330 (_ft_lcd_filter): Rename to...
2331 (_ft_lcd_filter_fir): This.
2332 Update parameters.
2333 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
2334 (FT_Library_Set_LcdFilter): Update parameters.
2335 Handle new filter modes.
2336
2337 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
2338 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
2339 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
2340 callback and update other fields.
2341
2342 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
2343 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
2344 Other minor improvements.
2345
2346 * src/autofit/aflatin.c: Various tiny improvements that drastically
2347 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
2348 (af_latin_hints_compute_edges): Fix typo.
2349 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00002350
David Turner4e9cc3c2006-11-09 16:31:52 +000023512006-11-09 David Turner <david@freetype.org>
2352
Werner Lemberg49c77a82006-11-09 21:51:57 +00002353 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
2354 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00002355
Werner Lemberg5e430892006-11-07 09:35:03 +000023562006-11-07 Zhe Su <james.su@gmail.com>
2357
2358 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
2359 also.
2360
Werner Lemberg111b5ae2006-11-03 09:40:12 +000023612006-11-03 Werner Lemberg <wl@gnu.org>
2362
2363 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
2364
David Turner40604742006-11-02 16:37:35 +000023652006-11-02 David Turner <david@freetype.org>
2366
Werner Lemberg111b5ae2006-11-03 09:40:12 +00002367 Add a few tweaks to better handle serif fonts.
2368 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00002369
Werner Lemberg111b5ae2006-11-03 09:40:12 +00002370 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
2371 segments that are less than 1.5 pixels high. This gets rid of
2372 *many* corner cases with serifs.
2373 (af_latin_align_linked_edge): Add logging message.
2374 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
2375 Add logging messages.
2376 Handle AF_EDGE_FLAG flag specially.
2377
2378 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
2379 _af_debug_disable_blue_hints, and _af_debug_hints variables.
2380
2381 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
2382 Update external declarations.
2383 (af_corner_orientation, af_corner_is_flat): Replaced by...
2384
2385 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
2386 ft_corner_is_flat): These declarations.
2387
2388 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
2389 Comment out. Replaced by...
2390
2391 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
2392 These functions. Update all callers.
2393 (FT_Add64) [!FT_LONG64]: Simplify.
2394
2395 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
2396 (af_direction_compute): Add a missing FT_ABS call. This bug caused
2397 production of garbage by missing lots of segments.
2398
2399 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
2400
2401 * src/autofit/afloader.c (af_loader_init, af_loader_done)
2402 [AF_DEBUG]: Set _af_debug_hints.
2403
2404
2405 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
2406 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
2407 and ft_corner_orientation.
2408
2409
2410 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00002411
Werner Lemberge88c5262006-10-24 05:46:26 +000024122006-10-24 Werner Lemberg <wl@gnu.org>
2413
2414 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
2415
2416 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
2417 as argument.
2418
David Turnera1861392006-10-23 16:00:59 +000024192006-10-23 Zhe Su <zsu@novell.com>
2420
Werner Lemberg715e96e2006-10-24 05:28:45 +00002421 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
2422 better deal with broken Asian fonts with strange glyphs, having
2423 self-intersections and other peculiarities. The used algorithm is
2424 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00002425
David Turnere140f142006-10-23 08:56:57 +000024262006-10-23 David Turner <david@freetype.org>
2427
Werner Lemberg715e96e2006-10-24 05:28:45 +00002428 Speed up the CFF font loader. With some large CFF fonts,
2429 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00002430
Werner Lemberg715e96e2006-10-24 05:28:45 +00002431 * src/cff/cffload.c (cff_get_offset): Removed.
2432 (cff_new_index): Inline functionality of `cff_get_offset'.
2433 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
2434 (cff_charset_done): Call `cff_charset_free_cids'.
2435 (cff_charset_load): Call `cff_charset_compute_cids'.
2436 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
2437
2438 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
2439 with FT_NEXT_XXX.
2440
2441
2442 Speed up the Postscript hinter, with more than 100% speed increase
2443 on my machine.
2444
2445 * src/pshinter/pshalgo.c (psh_corner_is_flat,
2446 psh_corner_orientation): New functions.
2447 (psh_glyph_compute_inflections): Merge loops for efficiency.
2448 Use `psh_corner_orientation'.
2449 (psh_glyph_init): Use `psh_corner_is_flat'.
2450 (psh_hint_table_find_strong_point): Renamed to...
2451 (psh_hint_table_find_strong_points): This.
2452 Rewrite, adding argument to handle all points at once.
2453 Update all callers.
2454 (PSH_MAX_STRONG_INTERNAL): New macro.
2455 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00002456
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000024572006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2458
2459 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00002460 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00002461
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000024622006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2463
2464 * docs/INSTALL.CROSS: New document file for cross-building.
2465
2466 * builds/unix/configure.raw: Preliminary cross-building support.
2467 Find native C compiler and pass it by CC_BUILD, and
2468 find suffix for native executable and pass it by EXEEXT_BUILD.
2469 Also suffix for target executable is passed by EXEEXT.
2470
Werner Lembergb9e6d692006-10-15 08:58:40 +00002471 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
2472 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00002473 CC_BUILD and EXEEXT_BUILD.
2474
Werner Lembergb9e6d692006-10-15 08:58:40 +00002475 * builds/exports.mk (APINAMES_EXE): Change the extension for
2476 apinames from the suffix for target (E) to that for building host
2477 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00002478
Werner Lemberg82a07e92006-10-12 06:20:44 +000024792006-10-12 Werner Lemberg <wl@gnu.org>
2480
2481 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
2482 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
2483 which reference those files.
2484
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000024852006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2486
Werner Lembergb9e6d692006-10-15 08:58:40 +00002487 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
2488 embedded in freetype2.pc and freetype-config. Use it to record
2489 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00002490
2491 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
2492
2493 * builds/unix/freetype-config.in: Ditto.
2494
Werner Lemberg28e17d92006-10-11 17:27:47 +000024952006-10-11 Werner Lemberg <wl@gnu.org>
2496
2497 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
2498 development.
2499
Jens Claudius336d2292006-10-03 08:53:37 +000025002006-10-03 Jens Claudius <jens.claudius@yahoo.com>
2501
2502 * include/freetype/config/ftstdlib.h: Cast away volatileness from
2503 argument to ft_setjmp.
2504
2505 * include/freetype/internal/ftvalid.h: Add comment that
2506 ft_validator_run must not be used.
2507
Werner Lemberg2863cfa2006-10-01 17:04:00 +000025082006-10-01 Werner Lemberg <wl@gnu.org>
2509
2510 * src/base/ftbase.c: Undo change from 2006-09-30.
2511
2512 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
2513
25142006-09-30 David Turner <david@freetype.org>
2515
Werner Lemberg046bf8b2006-10-03 08:43:42 +00002516 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
2517 s/unpatented_hinting/ignore_unpatented_hinter/.
2518 Update all callers.
2519
2520 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
2521 auto-hinting shall be used or not.
2522
2523 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00002524
Werner Lemberg2863cfa2006-10-01 17:04:00 +000025252006-09-30 Werner Lemberg <wl@gnu.org>
2526
Werner Lemberg1e4402e2006-09-29 22:10:36 +00002527 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
2528 in use).
2529
2530 * src/base/ftbase.c: Include `ftlcdfil.c'.
2531
Werner Lemberg9b15ea32006-09-29 18:22:11 +000025322006-09-29 Werner Lemberg <wl@gnu.org>
2533
2534 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
2535 overlapping segments. Bug reported by Stefan Koch.
2536
David Turnerad830712006-09-27 16:20:59 +000025372006-09-28 David Turner <david@freetype.org>
2538
Werner Lemberg2c002e12006-09-29 21:31:53 +00002539 Fix a bug in the automatic unpatented hinting support which prevents
2540 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00002541
Werner Lemberg2c002e12006-09-29 21:31:53 +00002542 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
2543 s/force_autohint/unpatented_hinting/. Update all callers.
2544
2545 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
2546
2547 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00002548
David Turner8a317cf2006-09-27 07:52:48 +000025492006-09-27 David Turner <david@freetype.org>
2550
Werner Lemberg2c002e12006-09-29 21:31:53 +00002551 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00002552
David Turner8a317cf2006-09-27 07:52:48 +00002553
David Turnere140f142006-10-23 08:56:57 +00002554 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00002555 In a default build, the function `FT_Library_SetLcdFilter' returns
2556 `FT_Err_Unimplemented_Feature'; you need to #define
2557 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
2558 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00002559
Werner Lemberg2c002e12006-09-29 21:31:53 +00002560 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00002561
Werner Lemberg2c002e12006-09-29 21:31:53 +00002562 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
2563 typedef.
2564 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
2565 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00002566
Werner Lemberg2c002e12006-09-29 21:31:53 +00002567 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
2568 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00002569
Werner Lemberg2c002e12006-09-29 21:31:53 +00002570 Handle subpixel rendering.
2571 Simplify function.
2572 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
2573 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
2574
2575 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
2576 pointing to <freetype/ftlcdfil.h>.
2577
2578 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
2579 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
2580
2581 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00002582
Werner Lemberge20df4a2006-09-27 06:29:21 +000025832006-09-26 David Bustin
2584
2585 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
2586 correctly. Reported as Savannah bug #17843.
2587
David Turner6f8c6222006-09-26 15:42:44 +000025882006-09-26 David Turner <david@freetype.org>
2589
Werner Lemberg110246c2006-09-26 21:55:44 +00002590 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
2591 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
2592 horizontal and vertical hinting for the purpose of debugging the
2593 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00002594
Werner Lemberg110246c2006-09-26 21:55:44 +00002595 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
2596 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00002597
Werner Lemberg110246c2006-09-26 21:55:44 +00002598 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
2599
2600 * include/freetype/config/ftoption.h, devel/ftoption.h
2601 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
2602 we want to compile LCD-optimized rendering code (à la ClearType) or
2603 not. The macro *must* be disabled in default builds of the library
2604 for patent reasons.
2605
2606 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
2607 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
2608 isn't defined at compile time. This only changes the content of the
2609 rendered glyph to match the one of normal gray-level rendering,
2610 hence clients should not need to be modified.
2611
2612 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00002613
Werner Lemberg745ff2c2006-09-19 05:48:02 +000026142006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
2615
2616 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
2617 LWFN fails and both are available.
2618
David Turnerf3050052006-09-11 12:00:32 +000026192006-09-11 David Turner <david@freetype.org>
2620
Werner Lembergf9644552006-09-12 13:48:10 +00002621 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
2622 report their English names through an Apple Roman
2623 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00002624
Werner Lembergf9644552006-09-12 13:48:10 +00002625 If the font uses another name entry with language_id == English, it
2626 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00002627
Werner Lembergf9644552006-09-12 13:48:10 +00002628 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
2629 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00002630
Werner Lemberg36d2eab2006-09-05 19:24:34 +000026312006-09-05 Werner Lemberg <wl@gnu.org>
2632
2633 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00002634 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00002635 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
2636 `HAN NOM B.ttf').
2637
2638 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
2639
David Turner772e55d2006-09-05 09:45:15 +000026402006-09-05 David Turner <david@freetype.org>
2641
Werner Lemberg36d2eab2006-09-05 19:24:34 +00002642 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00002643
Werner Lemberg36d2eab2006-09-05 19:24:34 +00002644 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
2645 (TRaster): Remove `count_ex' and `count_ey'.
2646 (gray_find_cell): Remove 2nd and 3rd argument.
2647 (gray_alloc_cell): Merged with `gray_find_cell'.
2648 (gray_record_cell): Simplify.
2649 (gray_set_cell): Rewrite.
2650 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
2651 (gray_render_span): Don't use FT_MEM_SET for small values.
2652 (gray_dump_cells) [DEBUG_GRAYS]: New function.
2653 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
2654 bitmap scanline.
2655 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00002656
David Turneraa557a92006-09-04 16:42:44 +000026572006-09-04 David Turner <david@freetype.org>
2658
Werner Lembergd1fc7d42006-09-05 07:55:42 +00002659 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
2660 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00002661
Werner Lemberg2d8629b2006-09-03 06:18:45 +000026622006-09-03 Werner Lemberg <wl@gnu.org>
2663
2664 * devel/ftoption.h: Synchronize with
2665 include/freetype/config/ftoption.h.
2666
2667 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
2668 variable declaration.
2669 (gray_convert_glyph): Fix compiler warnings.
2670
David Turner6d79f212006-09-01 14:09:35 +000026712006-09-01 David Turner <david@freetype.org>
2672
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002673 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
2674 to recognize a few fonts that require the automatic unpatented
2675 loader.
David Turnerbd502952006-09-01 19:05:24 +00002676
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002677 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
2678 rasterizer. The speed improvement is between 15% and 25%, depending
2679 on the font data.
2680
2681 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
2682 (TCell): Redefine.
2683 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
2684 (gray_init_cells): Updated.
2685 (gray_find_cell, gray_alloc_cell): New functions.
2686 (gray_record_cell): Rewritten to use `gray_find_cell' and
2687 `gray_alloc_cell'.
2688 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
2689 QSORT_THRESHOLD):
2690 Removed.
2691 (gray_shell_sort, gray_quick_sort, gray_check_sort,
2692 gray_dump_cells): Removed.
2693 (gray_sweep): Rewritten.
2694 (gray_convert_glyph): Rewrite code which used one of the sorting
2695 functions.
2696 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00002697
Werner Lembergd898aed2006-08-29 09:50:34 +000026982006-08-29 Dr. Werner Fink <werner@suse.de>
2699
2700 * configure: Make it possible to handle configure options which
2701 have strings containing spaces.
2702
27032006-08-27 David Turner <david@freetype.org>
2704
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002705 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
2706 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
2707 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
2708
2709 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
2710 src/truetype/truetype.c, src/truetype/ttdriver.c,
2711 src/truetype/ttgload.c, src/truetype/ttgload.h,
2712 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
2713 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
2714 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
2715
2716 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
2717 member `force_autohint'.
2718
2719 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
2720
2721 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
2722 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00002723
Jens Claudiusa787f452006-08-27 11:26:18 +000027242006-08-27 Jens Claudius <jens.claudius@yahoo.com>
2725
2726 Fix miscellaneous compiler warnings.
2727
Werner Lemberg32e05a62008-05-04 16:53:22 +00002728 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
2729 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00002730
Werner Lemberg32e05a62008-05-04 16:53:22 +00002731 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002732 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
2733 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00002734
Werner Lemberg32e05a62008-05-04 16:53:22 +00002735 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002736 volatileness of argument to ft_longjmp. Spotted by Werner
2737 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00002738
Werner Lemberg32e05a62008-05-04 16:53:22 +00002739 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002740 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00002741
Werner Lemberg32e05a62008-05-04 16:53:22 +00002742 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
2743 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00002744
Werner Lembergc4c35b72006-08-27 08:03:46 +000027452006-08-27 Werner Lemberg <wl@gnu.org>
2746
2747 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
2748 Reported by Jens.
2749
Jens Claudius088e44e2006-08-22 14:24:30 +000027502006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00002751
Jens Claudius088e44e2006-08-22 14:24:30 +00002752 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00002753 about addresses of volatile objects passed as function arguments as
2754 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00002755
Werner Lemberg32e05a62008-05-04 16:53:22 +00002756 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
2757 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00002758
Werner Lemberg32e05a62008-05-04 16:53:22 +00002759 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
2760 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00002761
Werner Lemberg32e05a62008-05-04 16:53:22 +00002762 * src/otvalid/otvmod.c (otv_load_table): Make function argument
2763 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00002764
Jens Claudius2652bd52006-08-18 17:20:37 +000027652006-08-18 Jens Claudius <jens.claudius@yahoo.com>
2766
Werner Lemberg32e05a62008-05-04 16:53:22 +00002767 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
2768 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00002769 (gxv_validate): Same for local variables `memory' and `valid'.
2770 (classic_kern_validate): Same for local variables `memory',
2771 `ckern', and `valid'.
2772
Werner Lemberg32e05a62008-05-04 16:53:22 +00002773 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
2774 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
2775 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00002776
Werner Lemberg32e05a62008-05-04 16:53:22 +00002777 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
2778 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00002779
David Turner9fbfc6a2006-08-16 09:11:31 +000027802006-08-16 David Turner <david@freetype.org>
2781
Werner Lemberg12342992006-08-19 11:18:09 +00002782 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
2783 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00002784
Werner Lemberg12342992006-08-19 11:18:09 +00002785 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
2786 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00002787
David Turner33f5f242006-08-16 16:50:55 +00002788
Werner Lemberg12342992006-08-19 11:18:09 +00002789 Improvements to native TrueType hinting. This is a first try,
2790 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
2791
2792 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
2793 `extra_points2'.
2794
2795 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
2796 `orus'.
2797
2798 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
2799 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
2800 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
2801 handle `extra_points2'.
2802
2803 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
2804 Remove compiler warning.
2805 (cur_to_arg): Remove macro.
2806 (TT_Hint_Glyph): Updated.
2807 (TT_Process_Simple_Glyph): Handle `orus'.
2808
2809 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
2810 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
2811 (LOC_Ins_IUP): Renamed to...
2812 (IUP_WorkerRec): This.
2813 Add `orus' member.
2814 (Shift): Renamed to...
2815 (_iup_worker_shift): This.
2816 Updated.
2817 (Interp): Renamed to...
2818 (_iup_worker_interpolate): This.
2819 Updated to handle `orus'.
2820 (Ins_IUP): Updated.
2821
2822 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
2823 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00002824
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000028252006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2826
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002827 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00002828 build ftvalid in ft2demos. This has been inadvertedly changed
2829 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002830
28312006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2832
Werner Lemberg12342992006-08-19 11:18:09 +00002833 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
2834 Jens:
2835 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002836
Werner Lemberg32e05a62008-05-04 16:53:22 +00002837 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
2838 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002839
Werner Lemberg32e05a62008-05-04 16:53:22 +00002840 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002841
Jens Claudius9950adc2006-08-13 12:14:36 +000028422006-08-13 Jens Claudius <jens.claudius@yahoo.com>
2843
Werner Lemberg32e05a62008-05-04 16:53:22 +00002844 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00002845 T1_TOKEN_TYPE_KEY.
2846 (T1_FieldRec): Add `dict'.
2847 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
2848 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
2849 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00002850
Werner Lemberg32e05a62008-05-04 16:53:22 +00002851 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
2852 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002853
Werner Lemberg32e05a62008-05-04 16:53:22 +00002854 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002855
Werner Lemberg32e05a62008-05-04 16:53:22 +00002856 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00002857 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
2858 not T1_TOKEN_TYPE_ANY.
2859 (ps_parser_load_field): Make sure a token that should be a string or
2860 name is really a string or name.
2861 Avoid memory leak if a keyword has been already encountered and its
2862 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00002863 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00002864 T1_FIELD_XXX.
2865 (parse_dict): Ignore keywords that occur in the wrong dictionary
2866 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00002867
Werner Lemberg32e05a62008-05-04 16:53:22 +00002868 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002869
Werner Lemberg32e05a62008-05-04 16:53:22 +00002870 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
2871 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002872
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000028732006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2874
2875 Move creation of field `buildchar' of T1_DecoderRec out of
2876 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2877 of it.
2878
2879 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2880 and `T1_Compute_Max_Advance'.
2881
Werner Lemberg32e05a62008-05-04 16:53:22 +00002882 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
2883 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00002884
Werner Lemberg32e05a62008-05-04 16:53:22 +00002885 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
2886 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00002887
Werner Lemberg32e05a62008-05-04 16:53:22 +00002888 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
2889 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00002890 (cid_slot_load_glyph): Do not ignore failure when initializing the
2891 T1_Decoder.
2892
Werner Lemberg32e05a62008-05-04 16:53:22 +00002893 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00002894 (t1_decoder_init): Remove initialization of fields `buildchar' and
2895 `len_buildchar'.
2896 (t1_decoder_done): Remove deallocation of field `buildchar'.
2897
2898 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2899 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2900 T1_Decoder.
2901 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2902 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2903 case of error.
2904
Werner Lemberg32e05a62008-05-04 16:53:22 +00002905 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
2906 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00002907
Werner Lemberg32e05a62008-05-04 16:53:22 +00002908 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
2909 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00002910
Werner Lemberg1a380e02006-07-14 18:28:08 +000029112006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2912
Werner Lemberg32e05a62008-05-04 16:53:22 +00002913 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
2914 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2915 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00002916 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2917 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2918 (T1_DecoderRec): New fields `buildchar' and `face'.
2919 (IS_PS_TOKEN): New macro.
2920
Werner Lemberg32e05a62008-05-04 16:53:22 +00002921 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
2922 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00002923
Werner Lemberg32e05a62008-05-04 16:53:22 +00002924 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00002925 `default_design_vector' and `num_default_design_vector'.
2926
Werner Lemberg32e05a62008-05-04 16:53:22 +00002927 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
2928 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
2929 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00002930
Werner Lemberg32e05a62008-05-04 16:53:22 +00002931 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
2932 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00002933 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2934 want to skip the array.
2935 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2936 want to skip the array.
2937
Werner Lemberg32e05a62008-05-04 16:53:22 +00002938 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
2939 for (partially commented out) othersubrs 19-25, 27, and 28.
2940 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00002941 (t1_decoder_done): Release new field `buildchar'.
2942
Werner Lemberg32e05a62008-05-04 16:53:22 +00002943 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00002944 functions.
2945 (t1_keywords): Register them.
2946 (t1_allocate_blend): Updated.
2947 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2948 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2949 (parse_dict): Remove `keyword_flags' argument.
2950 Use new macro IS_PS_TOKEN.
2951 Changed function so that later PostScript definitions override
2952 earlier ones.
2953 (t1_init_loader): Initialize new field `keywords_encountered'.
2954 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2955 `len_buildchar'.
2956 Remove `keywords_flags'.
2957
Werner Lemberg32e05a62008-05-04 16:53:22 +00002958 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00002959 `keywords_encountered'.
2960 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2961
Werner Lemberg32e05a62008-05-04 16:53:22 +00002962 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
2963 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00002964
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000029652006-07-07 Werner Lemberg <wl@gnu.org>
2966
2967 Add many checks to protect against malformed PCF files.
2968
2969 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2970 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2971
2972 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2973 data and check that tables don't overlap (using a simple
2974 bubblesort).
2975 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2976 New macros which give the size of data structures in the data
2977 stream.
2978 (pcf_get_properties): Use rough estimates to get array size limits.
2979 Assign `face->nprops' and `face->properties' earlier so that a call
2980 to PCF_Face_Done can do the clean-up in case of error.
2981 Protect against invalid string offsets.
2982 (pcf_get_metrics): Clean up code.
2983 Adjust tracing message levels.
2984 Use rough estimate to get array size limit.
2985 (pcf_get_bitmaps): Clean up code.
2986 Adjust tracing message levels.
2987 Use rough estimates to get offset limits.
2988 (pcf_get_encodings): Adjust tracing message level.
2989 (pcf_get_accel): Clean up code.
2990
Werner Lemberg8eb05252006-06-27 06:20:01 +000029912006-06-26 Werner Lemberg <wl@gnu.org>
2992
2993 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2994 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2995
Werner Lemberg24703f82006-06-26 19:12:51 +000029962006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2997
2998 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2999 (t1_decoder_parse_charstrings): Operator with
3000 opcode 15 pops its two arguments.
3001 Handle the case where the pops of an othersubr may be part of a
3002 subroutine.
3003 Handle unknown othersubrs gracefully: count their operands and let
3004 the following pop operators push the operands as the results onto
3005 the Type1 stack.
3006 Improve handling of setcurrentpoint opcode.
3007
Werner Lembergc011f4c2006-06-26 09:40:00 +000030082006-06-25 Jens Claudius <jens.claudius@yahoo.com>
3009
3010 The Type 1 parser now skips over top-level procedures as required
3011 for a `Simplified Parser'. This makes the parser more robust as it
3012 doesn't poke around in PostScript code. Additionally, it makes the
3013 FontDirectory hackery in src/type1/t1load.c unnecessary.
3014
3015 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
3016 (skip_literal_string): Add FT_Error as return value.
3017 Handle escapes better.
3018 (skip_string): Add FT_Error as return value.
3019 Don't set `parser->error' but return error code directly.
3020 (skip_procedure): New function.
3021 (ps_parser_skip_PS_token): Handle procedures.
3022 Update code.
3023 (ps_parser_to_token): Update code.
3024 (ps_parser_load_field_table): Handle bbox entries also.
3025
3026 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
3027 Add commented-out code for synthetic fonts.
3028
Werner Lemberga2da05c2006-06-25 06:27:27 +000030292006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
3030
3031 Fix two hinting bugs as reported in
3032 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
3033
3034 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
3035 `first_point' member.
3036
3037 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
3038 `first_point'.
3039 (TT_Process_Composite_Glyph): Always untouch points.
3040
3041 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
3042 `first_point' and `last_point' in case of composite glyphs.
3043 (Ins_IUP): Fix computation of `end_point'.
3044
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000030452006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3046
Werner Lembergef3d2c22006-06-25 06:07:14 +00003047 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
3048 Mac. The original patch was written by David Sachitano and Lawrence
3049 Coopet, and modified by Sean McBride for MPW compatibility. Only
3050 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003051
Werner Lembergef3d2c22006-06-25 06:07:14 +00003052 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
3053 Mac OS X platforms.
3054 (OS_INLINE): Undefine before definition.
3055 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
3056 FontAssociation table in FOND resource.
3057 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
3058 and fontSize at each entry of FontAssociation table in FOND
3059 resource.
3060 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
3061 ffStylOff of FamilyRecord header of FOND resource, the header,
3062 fontSize, fontID at each entry of FontAssociation table, and
3063 StyleMapping table.
3064 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003065
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000030662006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3067
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003068 Public API of TrueTypeGX, OpenType, and classic kern table validator
3069 should return `FT_Err_Unimplemented_Feature' if validation service
3070 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00003071 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003072 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
3073
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003074 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
3075 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
3076 unavailable.
3077 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
3078 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003079
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003080 * src/base/ftotval.c (FT_OpenType_Validate): Return
3081 FT_Err_Unimplemented_Feature if OpenType validation service is
3082 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003083
Werner Lembergb10e45a2006-06-08 07:32:56 +000030842006-06-08 Werner Lemberg <wl@gnu.org>
3085
3086 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
3087 errors.
3088
David Turner5f1f7502006-06-07 05:11:50 +000030892006-06-07 David Turner <david@freetype.org>
3090
Werner Lemberg7d48cb02006-06-08 06:00:08 +00003091 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
3092 (T1_Read_Metrics): Fix memory leak which happened when the metrics
3093 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00003094
David Turner457b4a82006-06-06 08:14:14 +000030952006-06-06 David Turner <david@freetype.org>
3096
Werner Lemberg4836f952006-06-06 12:54:08 +00003097 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00003098
Werner Lemberg4836f952006-06-06 12:54:08 +00003099 We change `ps_unicodes_init' so that it also takes a
3100 `free_glyph_name' callback to release the glyph names returned by
3101 `get_glyph_name'
3102
3103 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
3104 Renamed to ...
3105 (PS_GetGlyphNameFunc): This.
3106 (PS_FreeGlyphNameFunc): New typedef.
3107 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
3108
3109 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
3110 argument.
3111 (cff_sid_free_glyph_name): New function.
3112 (cff_cmap_unicode_init): Updated.
3113
3114 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
3115
3116 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
3117 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00003118
3119
David Turner09717352006-06-04 14:33:08 +000031202006-06-04 David Turner <david@freetype.org>
3121
Werner Lembergd724f202006-06-04 15:17:41 +00003122 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
3123 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003124 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00003125
Werner Lembergd724f202006-06-04 15:17:41 +00003126 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
3127 of `face->num_glyphs' which missed the last glyph, due to
3128 the offset-by-1 computation, since the PFR format doesn't
3129 guarantee that glyph index 0 corresponds to the `missing
3130 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00003131
Werner Lemberg33779662006-05-26 06:30:05 +000031322006-05-25 Werner Lemberg <wl@gnu.org>
3133
3134 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
3135 `-no-undefined'. Reported by Christian Biesinger.
3136
Werner Lemberg24773d62006-05-20 08:53:13 +000031372006-05-19 Brian Weed <bw@imaginengine.com>
3138
3139 * builds/win32/visualc/freetype.dsp: Release libraries no longer
3140 have debug information, and debug libraries use `C7 compatible'
3141 debug info.
3142
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000031432006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3144
Werner Lemberga6523a62006-05-20 08:47:01 +00003145 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00003146 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003147
Werner Lemberga6523a62006-05-20 08:47:01 +00003148 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
3149 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003150
3151 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00003152 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003153
31542006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3155
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00003156 * build/unix/configure.raw: Add a fallback to disable Carbon
3157 dependency, if configured with no options on Mac OS X.
3158
31592006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3160
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003161 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00003162 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003163 the second part of Savannah bug #16590.
3164
Werner Lemberg545c4e52006-05-17 22:55:04 +000031652006-05-18 Werner Lemberg <wl@gnu.org>
3166
3167 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
3168 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
3169
David Turnerdc3ff312006-05-17 12:59:35 +000031702006-05-17 David Turner <david@freetype.org>
3171
Werner Lemberg545c4e52006-05-17 22:55:04 +00003172 This is a major patch used to drastically improve the performance of
3173 loading glyphs. This both speeds up loading the glyph vectors
3174 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00003175
Werner Lemberg545c4e52006-05-17 22:55:04 +00003176 We now use inline assembler code with GCC to implement `FT_MulFix',
3177 which is probably the most important function related to the
3178 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00003179
Werner Lemberg545c4e52006-05-17 22:55:04 +00003180 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00003181
3182
Werner Lemberg545c4e52006-05-17 22:55:04 +00003183 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
3184 `cursor' and `limit'.
3185
3186 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
3187 New functions.
3188 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
3189 [TEST]: Remove.
3190
3191 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
3192 code.
3193
3194 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
3195 `FT_ZERO'
3196 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
3197 (af_glyph_hints_reload: Rewrite recognition of weak points.
3198
3199 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
3200 constant values out of the loops.
3201
3202 * src/autofit/aftypes.h: Updated.
3203
3204 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
3205
3206 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
3207 product to get orientation.
3208
3209 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
3210 (FT_Stream_OpenGzip): Use it to handle small files directly in
3211 memory.
3212
3213 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
3214 Improve performance.
3215
3216 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
3217 `limit'.
3218
3219 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
3220 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
3221 exceedingly large values of number of contours. Speed up by
3222 reducing the number of loops.
3223
3224 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
3225
3226
3227 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
3228 used to detect rogue clients from 4 to 16. This is to prevent some
3229 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
3230 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00003231
Werner Lembergde2d90a2006-05-17 08:54:30 +000032322007-05-17 Werner Lemberg <wl@gnu.org>
3233
3234 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00003235 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00003236
32372006-05-16 Werner Lemberg <wl@gnu.org>
3238
3239 * docs/PROBLEMS: Updated icl issues.
3240
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003241----------------------------------------------------------------------------
3242
Werner Lemberg4c933992008-01-18 05:32:55 +00003243Copyright 2006, 2007, 2008 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003244David Turner, Robert Wilhelm, and Werner Lemberg.
3245
3246This file is part of the FreeType project, and may only be used, modified,
3247and distributed under the terms of the FreeType project license,
3248LICENSE.TXT. By continuing to use, modify, or distribute this file you
3249indicate that you have read the license and understand and accept it
3250fully.
3251
3252
3253Local Variables:
3254version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003255coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003256End: