blob: 59986bddbf48603b8d669d7b617e894249ea2d6e [file] [log] [blame]
Werner Lemberg2f109562007-07-11 05:32:00 +000012007-07-11 Derek Clegg <dclegg@apple.com>
2
3 Add support for postscript name service to CFF driver.
4
5 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
6 (cff_get_ps_name): New function.
7 (cff_service_ps_name): New service structure.
8 (cff_services): Register it.
9
Werner Lembergb003b3e2007-07-08 07:13:12 +0000102007-07-07 Werner Lemberg <wl@gnu.org>
11
12 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
13 `target'. Reported by Sean McBride.
14
Werner Lemberg1e1b6df2007-07-07 07:30:40 +0000152007-07-06 Werner Lemberg <wl@gnu.org>
16
17 * src/pfr/pfrcmap.c: Include pfrerror.h.
18
19 * src/autofit/afindic.c: Add some external declarations to pacify
20 `make multi' compilation.
21
22 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
23
24 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
25 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
26 src/autofit/aflatin.c (af_latin_hints_compute_edges),
27 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
28 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
29 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
30
31 * docs/release: Mention test compilation targets.
32
Werner Lemberg986ea4b2007-07-04 04:53:15 +0000332007-07-04 Werner Lemberg <wl@gnu.org>
34
35 * docs/PROBLEMS: Mention that some PS based fonts can't be
36 handled correctly by FreeType.
37
Werner Lemberg3033f432007-07-04 14:12:19 +000038 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
39 recursion depth of 1. This was the maximum value in TrueType 1.0,
40 and some older fonts don't set this field correctly.
41
42 * src/gxvalid/gxvmort1.c
43 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
44
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000452007-07-03 Werner Lemberg <wl@gnu.org>
46
47 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
48 `round' to pacify compiler.
49
502007-07-02 Werner Lemberg <wl@gnu.org>
51
52
53 * Version 2.3.5 released.
54 =========================
55
56
57 Tag sources with `VER-2-3-5'.
58
59 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
60 version number to 2.3.5.
61
62 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
63 builds/win32/visualc/freetype.dsp,
64 builds/win32/visualc/freetype.vcproj,
65 builds/win32/visualce/index.html,
66 builds/win32/visualce/freetype.dsp,
67 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
68
69 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
70
71 * builds/unix/configure.raw (version_info): Set to 9:16:3.
72
David Turner0ba89912007-07-01 09:34:04 +0000732007-07-01 David Turner <david@freetype.org>
74
Werner Lemberge3be90b2007-07-02 14:58:58 +000075 * include/freetype/freetype.h, src/base/ftpatent.c
76 (FT_Face_SetUnpatentedHinting): New function to dynamically change
77 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +000078
Werner Lemberge3be90b2007-07-02 14:58:58 +000079 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
80 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +000081
David Turner74cc0e92007-06-30 22:54:12 +0000822007-06-30 David Turner <david@freetype.org>
83
Werner Lemberge3be90b2007-07-02 14:58:58 +000084 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
85 initialization.
David Turner74cc0e92007-06-30 22:54:12 +000086
Werner Lemberge3be90b2007-07-02 14:58:58 +000087 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
88 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +000089
Werner Lemberg7723dc32007-06-26 04:44:35 +0000902007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
91
92 Add autofit module for Indic scripts. This currently just reuses
93 the CJK-specific functions.
94
95 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
96 macro.
97 * devel/ftoption.h: Synchronize with
98 include/freetype/config/ftoption.h.
99
100 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
101
102 * src/autofit/afglobal.c, src/autofit/aftypes.h,
103 src/autofit/autofit.c: Updated.
104
105 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
106 (AUTOF_DRV_SRC): Updated.
107
David Turner8f626b02007-06-22 22:22:38 +00001082007-06-23 David Turner <david@freetype.org>
109
Werner Lemberg7854c4a2007-06-23 07:16:20 +0000110 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
111 2007-06-16 that prevented the TrueType module from loading most
112 glyphs.
David Turner8f626b02007-06-22 22:22:38 +0000113
Werner Lemberg5b4d4352007-06-20 07:07:55 +00001142007-06-20 Werner Lemberg <wl@gnu.org>
115
116 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
117 change.
118
Werner Lemberg9fe58152007-06-19 07:57:30 +00001192007-06-19 Werner Lemberg <wl@gnu.org>
120
121 * src/type1/t1load.c (parse_encoding): Handle one more error.
122
Werner Lemberg5a829392007-06-19 04:53:30 +00001232007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
124
125 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
126 FNT_Err_Invalid_File_Format if file format was recognized but
127 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
128 Add verbose debug logs to make it easier to debug failing load
129 attempts.
130 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
131 so return an error if requested face index is > 0.
132 Do not do further attempt to load fonts if a previous attempt has
133 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
134 file format has been recognized but no fonts found in the file.
135
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001362007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
137
138 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
139 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
140 the compiler warnings against unused arguments.
141 (FT_ATSFontGetFileReference): Ditto.
142 (FT_GetFile_From_Mac_ATS_Name): Ditto.
143 (FT_New_Face_From_FSSpec): Ditto.
144 (lookup_lwfn_by_fond): Fix wrong comment.
145 Replace `const StringPtr' by more appropriate type
146 `ConstStr255Param'.
147 FSRefMakePathPath always returns UTF8 POSIX pathname in
148 Mach-O, thus HFS pathname support is dropped.
149 (count_faces): Remove HLock and HUnlock which is not
150 required on Mac OS X anymore.
151 (FT_New_Face_From_SFNT): Ditto.
152 (FT_New_Face_From_FOND): Ditto.
153 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
154 except of HFS pathname support and HLock/HUnlock.
155 They are required on classic CFM environment.
156
1572007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +0000158
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000159 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
160 assertion.
161 (ps_parser_to_bytes): Fix error message.
162
Werner Lembergbb2510d2007-06-18 17:07:49 +0000163 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000164 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
165 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +0000166 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +0000167 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000168
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001692007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000170
Werner Lembergf48aec72007-06-18 07:07:55 +0000171 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
172 logic.
173 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
174 correctly.
175 (ps_parser_load_field_table): Use `fields->array_max' instead of
176 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
177
Werner Lemberg95104a42007-06-18 07:33:10 +0000178 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
179 2007-06-06.
180
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001812007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +0000182
183 * src/tools/ftrandom.c (font_size): New global variable.
184 (TestFace): Use it.
185 (main): Handle new option `--size' to set `font_size'.
186 (Usage): Updated.
187
Werner Lembergbe183eb2007-06-17 11:27:17 +0000188 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
189 invalid font.
190 (FNT_Load_Glyph): Protect against invalid bitmap width.
191
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001922007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +0000193
Werner Lemberge12ed562007-06-17 05:31:23 +0000194 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
195 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000196
Werner Lemberge12ed562007-06-17 05:31:23 +0000197 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
198 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +0000199
Werner Lemberge12ed562007-06-17 05:31:23 +0000200 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
201 and `zp2'.
202 (Ins_IP): Check argument ranges to reject bogus operations properly.
203 (IUP_WorkerRec): Add `max_points' member.
204 (_iup_worker_interpolate): Check argument ranges.
205 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000206
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002072007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +0000208
209 * src/winfonts/winfnt.h: Add necessary structures for PE resource
210 parsing.
211 (WinPE32_HeaderRec): New structure.
212 (WinPE32_SectionRec): New structure.
213 (WinPE_RsrcDirRec): New structure.
214 (WinPE_RsrcDirEntryRec): New structure.
215 (WinPE_RsrcDataEntryRec): New structure.
216 (FNT_FontRec): Remove unused `size_shift' field.
217
218 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
219 loading bitmap .fon files in PE format.
220
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002212007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000222
223 * builds/win32/ftdebug.c: Unify debug level handling with other
224 platforms.
225
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002262007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000227
228 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
229 console as well as to the debugger.
230
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002312007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000232
233 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
234 cover all ranges which could possibly be handled by the aflatin
235 module (since the default fallback for unknown ranges is now the
236 afcjk module). It might be necessary to fine-tune this further by
237 splitting off modules for Greek, Cyrillic, or other blocks.
238
David Turnerb7920172007-06-11 05:37:35 +00002392007-06-11 David Turner <david@freetype.org>
240
Werner Lemberg49e18b82007-06-11 21:15:09 +0000241 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
242 incorrect segment linking computation. This was the root cause of
243 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000244
245
Werner Lemberg49e18b82007-06-11 21:15:09 +0000246 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
247 to improve the Latin auto-hinter. Note that the new code is
248 disabled by default since it is not stabilized yet.
249
250 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
251 (disabled currently).
252
253 * src/autofit/afhints.c: Remove dead code.
254 (af_axis_hints_new_edge): Add argument to handle segment directions.
255 (af_edge_flags_to_string): New function.
256 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
257 option flags.
258 (af_glyph_hints_reload): Add argument to handle inflections.
259 Simplify.
260 (af_direction_compute): Fine tuning.
261 (af_glyph_hints_align_edge_points): Fix logic.
262 (af_glyph_hints_align_strong_points): Do linear search for small
263 edge counts.
264 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
265 (af_iup_shift): Handle zero `delta'.
266
267 * src/autofit/afhints.h: Updated.
268 (AF_SORT_SEGMENTS): New macro (disabled).
269 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
270
271 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
272 argument to pass option flags for handling scripts.
273 * src/autofit/afglobal.h: Updated.
274
275 * src/autofit/afcjk.c: Updated.
276 * src/autofit/aflatin.c: Updated.
277 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
278
279 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
280 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
281 Don't set `edge->dir'
282 (af_latin_hint_edges): Add more logging.
283
284 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000285
Werner Lembergf6c120f2007-06-11 04:55:58 +00002862007-06-11 Werner Lemberg <wl@gnu.org>
287
Werner Lembergcf7b7642007-06-11 04:58:01 +0000288 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000289
David Turner84c6f882007-06-10 20:51:04 +00002902007-06-10 David Turner <david@freetype.org>
291
Werner Lembergf6c120f2007-06-11 04:55:58 +0000292 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
293 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000294
Werner Lembergf6c120f2007-06-11 04:55:58 +0000295 * include/freetype/config/ftoption.h: Clarify documentation
296 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000297
Werner Lembergf6c120f2007-06-11 04:55:58 +0000298
299 Add new `FT_Face_CheckTrueTypePatents' API.
300
301 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
302 declaration.
303
304 * include/freetype/internal/services/svttglyf.h,
305 src/base/ftpatent.c: New files.
306
307 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
308 New macro.
309
310 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
311 `ttpload.h'.
312 (tt_service_truetype_glyf): New service structure.
313 (tt_services): Register it.
314
315 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
316 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000317
Werner Lemberg33db39e2007-06-08 06:30:29 +00003182007-06-08 Werner Lemberg <wl@gnu.org>
319
David Turner84c6f882007-06-10 20:51:04 +0000320 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000321 Fonts without a cmap must be handled correctly by FreeType (anything
322 else would be a bug).
323
324
325 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
326 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
327
Werner Lemberg88ab6382007-06-07 05:01:56 +00003282007-06-07 Werner Lemberg <wl@gnu.org>
329
330 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
331 tt_sbit_decoder_load_image): Protect against integer overflows.
332
333
334 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
335 for `x_control' and `y_control'.
336
Werner Lemberg2a2dca62007-06-06 04:39:37 +00003372007-06-06 Werner Lemberg <wl@gnu.org>
338
339 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
340
Werner Lemberga8d65492007-06-06 04:47:49 +0000341
342 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
343 FreeType error.
344
Werner Lemberg470210b2007-06-06 10:05:49 +0000345
346 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
347 `font_count'.
348
349
350 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
351
352
353 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
354 `FT_Error'.
355 Check `fd_index'.
356 (cff_slot_load): Updated.
357 * src/cff/cffgload.h: Updated.
358
Werner Lemberg6c054752007-06-05 05:27:54 +00003592007-06-05 Werner Lemberg <wl@gnu.org>
360
361 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
362 (pfr_glyph_load_simple): Convert assertion into normal FreeType
363 error.
364 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000365 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
366 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000367
368 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
369
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000370
Werner Lemberg470210b2007-06-06 10:05:49 +0000371 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000372
Werner Lemberge5c14d92007-06-05 20:50:37 +0000373
374 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
375 in case of parsing error.
376 (ps_parser_load_field): Updated.
377
378 * src/type1/t1load.c (parse_font_matrix): Updated.
379
Werner Lembergad18b362007-06-04 07:04:05 +00003802007-06-04 Werner Lemberg <wl@gnu.org>
381
382 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
383
384 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
385
Werner Lemberg3d507fe2007-06-03 16:54:55 +00003862007-06-03 Werner Lemberg <wl@gnu.org>
387
Werner Lemberg99a320b2007-06-03 19:21:26 +0000388 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
389 George Williams (with some modifications).
390
3912007-06-03 Werner Lemberg <wl@gnu.org>
392
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000393 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
394 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
395 face == NULL. Suggested by Graham Asher.
396
Werner Lembergce280a22007-06-03 05:58:30 +00003972007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
398
399 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
400
Werner Lemberg5b591e42007-06-01 22:16:43 +00004012007-06-02 Werner Lemberg <wl@gnu.org>
402
403 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
404 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
405
406 * src/bdf/bdflib.c (bdf_load_font): Use them.
407
408 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
409
Werner Lembergb9933f42007-06-01 21:27:12 +00004102007-06-01 Werner Lemberg <wl@gnu.org>
411
412 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
413 (FTC_CMapCache_Lookup): Remove unused code.
414
Werner Lembergc793d902007-06-01 20:51:11 +00004152007-06-01 Sean McBride <sean@rogue-research.com>
416
417 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
418 unused.
419
Werner Lembergbebc7b12007-06-01 06:32:30 +00004202007-06-01 Werner Lemberg <wl@gnu.org>
421
422 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
423 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000424 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000425
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000426 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
427 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
428
Werner Lembergba03af62007-05-30 13:57:02 +00004292007-05-30 Werner Lemberg <wl@gnu.org>
430
431 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
432 against too small binary data strings.
433
434 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
435
David Turnerf0cd69c2007-05-28 15:42:09 +00004362007-05-28 David Turner <david@freetype.org>
437
Werner Lemberg99e0c182007-05-29 07:00:23 +0000438 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
439 transformation. This significantly reduces the loading time of CFF
440 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000441
Werner Lemberg99e0c182007-05-29 07:00:23 +0000442 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000443
Werner Lemberg99e0c182007-05-29 07:00:23 +0000444 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
445 hinting script to CJK, since it works well with more scripts than
446 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
447 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000448
Werner Lemberg1c8980e2007-05-25 07:11:12 +00004492007-05-25 Werner Lemberg <wl@gnu.org>
450
451 * docs/CHANGES: Updated.
452
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00004532007-05-24 Werner Lemberg <wl@gnu.org>
454
455 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
456 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
457
4582007-05-24 Graham Asher <graham.asher@btinternet.com>
459
460 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
461 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
462
David Turner0d0365e2007-05-22 09:53:44 +00004632007-05-22 David Turner <david@freetype.org>
464
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000465 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
466 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000467
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000468
469 Avoid heap blowup with very large .Z font files. This fixes
470 Savannah bug #19910.
471
472 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
473 `in_limit', `pad', `pad_bits', and `in_buff' members.
474 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
475 `buf_total' members.
476
477 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
478 only one argument.
479 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000480
4812007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000482
483 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
484 (ps_dimension_set_mask_bits): Remove `const'.
485
David Turner0d0365e2007-05-22 09:53:44 +00004862007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000487
488 * src/sfnt/ttmtx.c (tt_face_get_metrics)
489 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
490
Werner Lembergb826fa72007-05-19 07:18:48 +00004912007-05-19 Derek Clegg <dclegg@apple.com>
492
493 Savannah patch #5929.
494
495 * include/freetype/tttables.h, src/base/ftobjcs.c
496 (FT_Get_CMap_Format): New function.
497
498 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
499 `format' member.
500 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
501 cmap_info->format.
502
Werner Lemberg6f99c882007-05-19 07:01:49 +00005032007-05-19 Werner Lemberg <wl@gnu.org>
504
505 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
506 before handling subglyphs so that it can be reinitialized each time.
507 This fixes Savannah bug #19859.
508
Werner Lemberg95bc9d32007-05-16 15:19:42 +00005092007-05-16 Werner Lemberg <wl@gnu.org>
510
511 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
512 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
513 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
514 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
515 tt_face_get_metrics): Fix type-punning issues.
516
David Turner0a24bd22007-05-15 10:54:10 +00005172007-05-15 David Turner <david@freetype.org>
518
519 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000520 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
521 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000522 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000523 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000524
Werner Lemberg607dec72007-05-15 06:49:37 +00005252007-05-15 Graham Asher <graham.asher@btinternet.com>
526
527 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
528 variable.
529 * src/autofit/afloader.c (af_loader_load_g): Ditto.
530
531 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
532 (open_face_from_buffer): Initialize `stream'.
533 (FT_Request_Metrics): Remove unused variable.
534 Remove redundant `break' statements.
535 (FT_Get_Track_Kerning): Remove unused variable.
536
537 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
538 afm_parse_kern_data): Remove redundant
539 `break' statements.
540 (afm_parser_parse): Ditto.
541 Don't use uninitialized variables.
542
543 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
544 Use `|' operator instead of `^' to set it.
545 Update all users.
546
547 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
548 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
549
550 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
551 comparison.
552 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
553 (TT_Load_Glyph): Remove unused variable.
554
Werner Lemberg8d463a52007-05-13 16:01:55 +00005552007-05-13 Derek Clegg <dclegg@apple.com>
556
557 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
558 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
559
David Turner711cf842007-05-11 14:36:24 +00005602007-05-11 David Turner <david@freetype.org>
561
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000562 * src/cache/ftbasic.c, include/freetype/ftcache.h
563 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
564 functions that allow us to look up glyphs using an FTC_Scaler object
565 to specify the size, making it possible to use fractional pixel
566 sizes.
567
568 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
569 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000570
Werner Lemberg94be20e2007-05-09 20:02:55 +00005712007-05-09 Graham Asher <graham.asher@btinternet.com>
572
573 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
574 (af_latin_metrics_scale_dim): Fix compiler warnings.
575
Werner Lemberg41271032007-05-06 04:51:48 +00005762007-05-06 Werner Lemberg <wl@gnu.org>
577
578 * builds/win32/visualce/freetype.sln: Removed, as requested by
579 Vincent.
580
Werner Lembergdf49e692007-05-04 06:30:05 +00005812007-05-04 Vincent RICHOMME <richom.v@free.fr>
582
583 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
584 PC targets.
585
586 * docs/CHANGES: Document them.
587
5882007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000589
590 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
591 mmap (which might happen on some RTOS). From Savannah patch #5909.
592
Werner Lemberg106eaf12007-05-03 07:07:47 +00005932007-05-03 Werner Lemberg <wl@gnu.org>
594
595 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
596 * include/freetype/freetype.h (FT_Set_Char_Size): Update
597 documentation.
598
Werner Lemberg1b5267d2007-04-28 21:06:15 +00005992007-04-28 Victor Stinner <victor.stinner@inl.fr>
600
601 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
602 `cmap'.
603
Werner Lembergcc712a22007-04-27 17:16:50 +00006042007-04-27 Werner Lemberg <wl@gnu.org>
605
606 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
607 number of points in contours. Problem reported by Victor Stinner
608 <victor.stinner@haypocalc.com>.
609 (TT_Process_Simple_Glyph): Synchronize variable types.
610
Werner Lemberg45bb18f2007-04-26 06:26:35 +00006112007-04-26 Werner Lemberg <wl@gnu.org>
612
613 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
614 zero in case of error. This fixes Savannah bug #19689.
615
David Turnera8b45e62007-05-11 14:10:30 +00006162007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
617
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000618 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
619 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000620
Werner Lembergfcc1f472007-04-10 11:51:50 +00006212007-04-10 Martin Horak <horakm@centrum.cz>
622
623 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
624 Ignore `hhea' table. This fixes Savannah bug #19261.
625
Werner Lemberg14bf82e2007-04-10 04:09:49 +00006262007-04-09 Werner Lemberg <wl@gnu.org>
627
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000628
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000629 * Version 2.3.4 released.
630 =========================
631
632
633 Tag sources with `VER-2-3-4'.
634
635 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
636 version number to 2.3.4.
637
638 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
639 builds/win32/visualc/freetype.dsp,
640 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
641
642 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
643
644 * builds/unix/configure.raw (version_info): Set to 9:15:3.
645
Werner Lembergf4a52a62007-04-09 08:40:11 +00006462007-04-09 Martin Horak <horakm@centrum.cz>
647
648 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
649 memory stream to avoid a crash with the incremental memory
650 interface (Savannah bug #19260).
651
David Turner1dcb4442007-04-06 08:19:04 +00006522007-04-06 David Turner <david@freetype.org>
653
Werner Lembergc81cf612007-04-06 09:28:23 +0000654 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
655 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000656
Werner Lemberg9f83e052007-04-05 02:28:23 +00006572007-04-04 Werner Lemberg <wl@gnu.org>
658
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000659
Werner Lemberg9f83e052007-04-05 02:28:23 +0000660 * Version 2.3.3 released.
661 =========================
662
663
664 Tag sources with `VER-2-3-3'.
665
666 * docs/CHANGES: Mention CVE-2007-1351.
667
David Turner7338ec22007-04-03 14:30:34 +00006682007-04-03 David Turner <david@freetype.org>
669
670 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000671 if one of the resolution values is 0, treat it as if it were the
672 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000673
David Turnere6472c12007-04-02 13:13:54 +00006742007-04-02 David Turner <david@freetype.org>
675
Werner Lemberg94f12272007-04-03 07:19:53 +0000676 Add special code to detect `extra-light' fonts and do not snap their
677 stem widths too much to avoid bizarre hinting effects.
678
679 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
680 `extra_light' members.
681
682 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
683 them.
684 (af_latin_metrics_scale_dim): Set `extra_light'.
685 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000686
David Turner3f539692007-03-28 14:53:40 +00006872007-03-28 David Turner <david@freetype.org>
688
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000689 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000690 padding.
691
Werner Lemberga08b2172007-03-28 07:17:17 +00006922007-03-28 Werner Lemberg <wl@gnu.org>
693
694 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
695 gracefully.
696 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000697 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000698 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
699 number of code points in Unicode.
700
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000701 * builds/win32/visualc/index.html,
702 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000703 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000704 s/232/233/.
705
706 * docs/CHANGES: Mention ftdiff.
707
David Turner3b242d32007-03-26 12:03:04 +00007082007-03-26 David Turner <david@freetype.org>
709
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000710 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
711 corresponding code.
712 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000713
Werner Lemberga08b2172007-03-28 07:17:17 +0000714 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000715 computations in order to ignore single-point contours. These are
716 never rasterized and correspond in certain fonts to mark-attach
717 points that are very far from the glyph's real outline, ruining the
718 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000719
Werner Lemberga08b2172007-03-28 07:17:17 +0000720 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000721 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000722 Otherwise code that uses them will most certainly ruin the fixed
723 advance property.
David Turner23553d62007-03-26 13:37:17 +0000724
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000725 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
726 documentation and bump version number to 2.3.3.
727
728 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
729
730 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000731
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00007322007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
733
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000734 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
735 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000736 * builds/vms/ftconfig.h: Ditto.
737 * include/freetype/config/ftconfig.h: Ditto.
738
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00007392007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
740
Werner Lemberg14ffe092007-03-22 06:12:43 +0000741 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
742 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000743 proposed by Sean McBride:
744 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
745
7462007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
747
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000748 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
749 setjmp, proposed by Sean McBride:
750 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
751
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00007522007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
753
Werner Lembergc9f6c662007-03-21 13:30:14 +0000754 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
755 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
756 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000757
David Turner74c34eb2007-03-18 07:19:31 +00007582007-03-18 David Turner <david@freetype.org>
759
Werner Lembergc9f6c662007-03-21 13:30:14 +0000760 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
761 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000762
Werner Lembergc9f6c662007-03-21 13:30:14 +0000763 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000764
David Turner89020d92007-03-17 17:48:57 +00007652007-03-17 David Turner <david@freetype.org>
766
Werner Lembergc9f6c662007-03-21 13:30:14 +0000767 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
768 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000769
Werner Lemberg25d592a2007-03-09 07:59:35 +00007702007-03-09 Werner Lemberg <wl@gnu.org>
771
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000772
Werner Lemberg25d592a2007-03-09 07:59:35 +0000773 * Version 2.3.2 released.
774 =========================
775
776
777 Tag sources with `VER-2-3-2'.
778
779 * builds/win32/visualc/index.html,
780 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000781 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000782 s/231/232/.
783
David Turner3a51afa2007-03-08 10:50:38 +00007842007-03-08 David Turner <david@freetype.org>
785
Werner Lemberg25d592a2007-03-09 07:59:35 +0000786 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000787
Werner Lemberg25d592a2007-03-09 07:59:35 +0000788 * builds/unix/configure.raw (version_info): Set to 9:13:3.
789
790 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
791
792 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000793
Werner Lemberg1e259de2007-03-08 15:39:21 +0000794 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
795 function to work properly, over-writing user-provided buffers in
796 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000797
David Turner121cad52007-03-08 16:43:50 +0000798
Werner Lemberg3d92f082007-03-06 11:59:24 +00007992007-03-05 Werner Lemberg <wl@gnu.org>
800
801 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
802 macro for `strstr'.
803
804 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
805 `trick_names', as suggested by Ivan Nincic.
806
David Turner085bc6e2007-03-05 17:40:03 +00008072007-03-05 David Turner <david@freetype.org>
808
Werner Lembergd112cf02007-03-06 12:06:56 +0000809 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
810 case FT_Init_FreeType fails for some reason. Problem reported by
811 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000812
Werner Lembergd112cf02007-03-06 12:06:56 +0000813 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
814 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
815 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
816 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000817
Werner Lembergd112cf02007-03-06 12:06:56 +0000818 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
819 signed values, not unsigned ones. Problem reported by Johannes
820 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000821
David Turner601aefe2007-02-21 16:47:49 +00008222007-02-21 David Turner <david@freetype.org>
823
Werner Lembergde5e6862007-02-25 21:06:43 +0000824 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
825 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000826
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00008272007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
828
829 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
830 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
831 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
832
Werner Lemberga0915172007-02-16 08:12:50 +00008332007-02-16 Werner Lemberg <wl@gnu.org>
834
835 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
836 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
837
David Turner2c4500e2007-02-14 15:08:47 +00008382007-02-14 David Turner <david@freetype.org>
839
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000840 It seems that the following changes fix most of the known
841 interpreter problems with my fonts, but more testing is needed,
842 though.
843
844 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
845 (TT_MulFix14): Rewrite.
846 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
847 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000848
Werner Lembergc6a14082007-02-12 22:08:15 +00008492007-02-12 Werner Lemberg <wl@gnu.org>
850
851 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
852 warnings.
853
854 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
855 (bdf_interpret_style): Ditto.
856
David Turnerc0f9c4a2007-02-12 14:55:03 +00008572007-02-12 David Turner <david@freetype.org>
858
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000859 Simplify projection and dual-projection code interface.
860
Werner Lemberg406d25f2007-02-12 22:01:18 +0000861 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
862 FT_Vector' as argument type.
863 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
864 Updated.
865 (CUR_fast_project, CUR_fast_dualproj): New macros.
866 (Project, Dual_Project, Project_x, Project_y): Updated.
867 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
868 macros.
869
870
871 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
872 adjustments for the non-light auto-hinted modes. Gets rid of
873 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000874
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000875 * src/autofit/aflatin.c (af_latin_hints_link_segments,
876 af_latin_hints_compute_edges): Slight optimization of the segment
877 linker and better handling of serif segments to get rid of broken
878 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000879
David Turnerc0f9c4a2007-02-12 14:55:03 +0000880
Werner Lemberg442bfb82007-02-12 21:44:10 +0000881 Introduce new string functions and the corresponding macros to get
882 rid of various uses of strcpy and other `evil' functions, as well as
883 to simplify a few things.
884
885 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
886 ft_mem_strcpyn): New declarations.
887 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
888 macros.
889 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
890 functions.
891
892 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
893 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
894 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
895 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
896 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
897 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
898 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
899 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000900
Werner Lemberg406d25f2007-02-12 22:01:18 +0000901 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
902
Werner Lemberg582067d2007-02-11 15:03:05 +00009032007-02-11 Werner Lemberg <wl@gnu.org>
904
905 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
906 non-spacing glyphs.
907
Werner Lemberg8f474532007-02-07 08:31:01 +00009082007-02-07 Tom Parker <palfrey@tevp.net>
909
910 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
911 pointer.
912
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00009132007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
914
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000915 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
916 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000917 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000918 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
919 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
920 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
921 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000922
923 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
924 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000925 * builds/mac/ftmac.c: Ditto.
926
9272007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
928
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000929 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000930 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000931 #include <ftmac.c>.
932
9332007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
934
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000935 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
936 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
937 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
938 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
939 FT_GetFilePath_From_Mac_ATS_Name.
940 * builds/mac/ftmac.c: Ditto.
941
9422007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
943
Werner Lembergdcbb7082007-02-08 08:54:09 +0000944 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000945 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
946 for passing to FT_New_Face_From_FSSpec.
947
9482007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
949
Werner Lembergdcbb7082007-02-08 08:54:09 +0000950 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000951 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000952
953 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
954 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000955 * builds/mac/ftmac.c (OS_INLINE): Ditto.
956
Werner Lemberg313d7772007-02-01 08:10:45 +00009572007-02-01 Werner Lemberg <wl@gnu.org>
958
959 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
960 Explain why applications shouldn't use it. Found by Alexei.
961
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00009622007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000963
964 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
965 message.
966
967 * src/gxvalid/gxvmort1.c
968 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
969 message.
970
Werner Lemberg53935932007-01-31 08:53:02 +00009712007-01-31 Werner Lemberg <wl@gnu.org>
972
973
974 * Version 2.3.1 released.
975 =========================
976
977
978 Tag sources with `VER-2-3-1-FINAL'.
979
980 * builds/win32/visualc/freetype.dsp,
981 builds/win32/visualc/freetype.vcproj: s/230/231/.
982 * builds/win32/visualc/index.html: s/221/231/.
983
984 * vms_make.com: Add `ftgasp'.
985
David Turnera7ee6082007-01-30 10:33:53 +00009862007-01-30 David Turner <david@freetype.org>
987
Werner Lemberg53935932007-01-31 08:53:02 +0000988 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000989
Werner Lemberg53935932007-01-31 08:53:02 +0000990 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000991
Werner Lemberg25d592a2007-03-09 07:59:35 +0000992 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000993 s/2.3.0/2.3.1/.
994
995 * builds/unix/configure.raw (version_info): Set to 9:12:3.
996
997
998 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
999 (af_loader_load_g): Disable the warper (i.e., the light hinting
1000 improvements) to make a 2.3.1 bugfix release before introducing a
1001 new feature. This should give us more time to tune and improve the
1002 warper for the next release.
1003
1004 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00001005
David Turnerd91eebd2007-01-26 15:05:41 +000010062007-01-25 David Turner <david@freetype.org>
1007
Werner Lembergbf241762007-01-26 16:08:49 +00001008 For light auto-hinting, improve glyph advance widths and resurrect
1009 normal/full hinting to its normal quality.
1010
1011 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
1012 and `xmax_delta'.
1013 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
1014 and `xmax_delta'.
1015
1016 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
1017 preprocessor conditional with if-clause, handling both light and
1018 normal mode.
1019
1020 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
1021 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00001022
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000010232007-01-25 Werner Lemberg <wl@gnu.org>
1024
1025 * docs/release: Updated -- Savannah uses a new uploading scheme.
1026
David Turnera42567b2007-01-25 12:23:37 +000010272007-01-25 David Turner <david@freetype.org>
1028
Werner Lembergd7855662007-01-25 13:53:56 +00001029 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00001030
Werner Lembergd7855662007-01-25 13:53:56 +00001031 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
1032 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
1033 functions.
David Turnera42567b2007-01-25 12:23:37 +00001034
Werner Lembergd7855662007-01-25 13:53:56 +00001035 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00001036
Werner Lembergb1be9e82007-01-25 11:50:00 +000010372007-01-25 Werner Lemberg <wl@gnu.org>
1038
1039 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00001040 correctly in a sanity check. Since this function is only used to
1041 load local and global functions, any charstring that called the last
1042 local/global function would fail otherwise. This fixes Savannah bug
1043 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00001044
1045 * docs/CHANGES: Document it.
1046
David Turnerb6de8d12007-01-23 15:51:50 +000010472007-01-23 David Turner <david@freetype.org>
1048
Werner Lembergb1be9e82007-01-25 11:50:00 +00001049 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
1050 prevented compilation when disabling both the unpatented and the
1051 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00001052
Werner Lembergb1be9e82007-01-25 11:50:00 +00001053
1054 Fix and enable the warper to improve `light' hinting mode. This is
1055 not necessarily a final version, but it seems to work well.
1056
1057 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
1058 Disable code.
1059 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
1060 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
1061
1062 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
1063 (af_warper_compute_line_best): Fix array size of `scores'.
1064 (af_warper_compute): Better handling of border cases.
1065 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
1066 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00001067
Werner Lemberg011d1112007-01-21 09:36:00 +000010682007-01-21 Werner Lemberg <wl@gnu.org>
1069
Werner Lemberg42b63b22007-01-21 21:01:33 +00001070 * ChangeLog: Split off older entries into...
1071 * ChangeLog.22: This new file.
1072
10732007-01-21 Werner Lemberg <wl@gnu.org>
1074
Werner Lemberg555258f2007-01-21 09:46:37 +00001075 * docs/CHANGES: Document SHZ fix.
1076
10772007-01-21 George Williams <gww@silcom.com>
1078
1079 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
1080 points.
1081
10822007-01-21 Werner Lemberg <wl@gnu.org>
1083
Werner Lemberg011d1112007-01-21 09:36:00 +00001084 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1085 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
1086
Werner Lemberg87a5a432007-01-17 12:44:39 +000010872007-01-17 Werner Lemberg <wl@gnu.org>
1088
Werner Lembergb8003292007-01-17 12:56:25 +00001089
1090 * Version 2.3.0 released.
1091 =========================
1092
1093
1094 Tag sources with `VER-2-3-0-FINAL'.
1095
10962007-01-17 Werner Lemberg <wl@gnu.org>
1097
Werner Lemberg87a5a432007-01-17 12:44:39 +00001098 * docs/release: Updated.
1099
David Turner22122722007-01-16 20:06:44 +000011002007-01-16 David Turner <david@freetype.org>
1101
Werner Lemberg87a5a432007-01-17 12:44:39 +00001102 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
1103 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
1104 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
1105 warnings.
David Turner22122722007-01-16 20:06:44 +00001106
Werner Lemberg267e1d72007-01-15 07:48:09 +000011072007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
1108
1109 * builds/amiga/makefile, builds/amiga/makefile.os4,
1110 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
1111
1112 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
1113
Werner Lemberg8c4120d2007-01-15 06:42:40 +000011142007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
1115
1116 Fix various compiler warnings.
1117
1118 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
1119 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
1120 s/index/strike_index/.
1121 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1122
1123 * src/gxvalid/gxvmorx5.c
1124 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1125
1126 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1127 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1128 uninitialized variables.
1129
Werner Lemberg6164a9d2007-01-13 23:01:36 +000011302007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1131
1132 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1133
Werner Lemberg281c1482007-01-13 22:50:51 +000011342007-01-13 Werner Lemberg <wl@gnu.org>
1135
1136 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1137 versions up to 0x3FF without complaining.
1138
Werner Lembergac250b22007-01-13 14:01:36 +000011392007-01-13 Derek Clegg <dclegg@apple.com>
1140
1141 Add FT_Get_PS_Font_Info interface to CFF driver.
1142
1143 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1144 (CFF_FontRec): Add `font_info' field.
1145
1146 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1147 (cff_font_done): Free font->font_info if necessary.
1148
1149 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1150 (cff_service_ps_info): Register cff_ps_get_font_info.
1151
Werner Lemberg23df31a2007-01-13 08:45:00 +000011522007-01-13 Werner Lemberg <wl@gnu.org>
1153
1154 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1155 with C++ compiler.
1156
1157 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1158 af_glyph_hints_dump_edges): Ditto.
1159
1160 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1161 `modules.cfg').
1162
1163 * src/sfnt/ttsbit0.h: Remove.
1164
1165 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1166
Werner Lemberg27cf9de2007-01-13 07:34:23 +000011672007-01-12 David Turner <david@freetype.org>
1168
1169 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1170 bug in the bitmap emboldener if the pitch of the source bitmap is
1171 much larger than its width.
1172
1173 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1174 compilation warning.
1175
Werner Lemberg6d96d312007-01-12 10:30:19 +000011762007-01-12 Werner Lemberg <wl@gnu.org>
1177
1178 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1179 `automake' CVS module from sources.redhat.com.
1180
Werner Lemberg17432b52007-01-12 09:28:44 +000011812007-01-11 Werner Lemberg <wl@gnu.org>
1182
1183 * src/type1/t1load.c (is_space): Removed.
1184 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1185 (parse_charstrings): Use IS_PS_TOKEN.
1186
1187
1188 * autogen.sh: Avoid bash specific syntax.
1189
David Turner038ace22007-01-11 15:00:59 +000011902007-01-11 David Turner <david@freetype.org>
1191
Werner Lemberg17432b52007-01-12 09:28:44 +00001192 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001193
Werner Lemberg17432b52007-01-12 09:28:44 +00001194 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001195
Werner Lemberg17432b52007-01-12 09:28:44 +00001196 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1197 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001198 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001199
Werner Lemberg17432b52007-01-12 09:28:44 +00001200 * autogen.sh: Small fix to get it working on Mac OS X properly:
1201 The issue is that GNU libtool is called `glibtool' on this platform,
1202 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001203
David Turner2628ea92007-01-10 13:15:56 +000012042007-01-10 David Turner <david@freetype.org>
1205
Werner Lemberg17432b52007-01-12 09:28:44 +00001206 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1207 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001208
Werner Lemberg17432b52007-01-12 09:28:44 +00001209 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1210 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1211 version number to 2.3.0.
1212
1213 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1214 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001215
1216 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001217 include/freetype/ftlcdfil.h: Update reference documentation with
1218 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001219
Werner Lemberg17432b52007-01-12 09:28:44 +00001220 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1221 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001222
Werner Lembergbf02d392007-01-10 07:07:37 +000012232007-01-10 Derek Clegg <dclegg@apple.com>
1224
1225 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1226 values.
1227
David Turnerf48b60e2007-01-08 15:15:32 +000012282007-01-08 David Turner <david@freetype.org>
1229
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001230 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001231
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001232 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1233 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001234 corresponding to a given character pixel size.
1235
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001236 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1237 `gasp' table, in order to avoid potential problems with later
1238 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001239
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001240 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1241 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001242
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001243 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1244 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1245 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1246 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001247
Werner Lemberge6b6f372007-01-07 00:06:47 +000012482007-01-07 Werner Lemberg <wl@gnu.org>
1249
Werner Lembergb8004d22007-01-07 09:13:38 +00001250 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1251 Type 11 fonts.
1252 Scan for `/sfnts' token.
1253
12542007-01-07 Werner Lemberg <wl@gnu.org>
1255
1256 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001257
Werner Lembergbe5f7972007-01-06 07:51:48 +000012582007-01-06 Werner Lemberg <wl@gnu.org>
1259
1260 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1261 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1262
David Turnera8cf42b2007-01-04 16:46:46 +000012632007-01-04 David Turner <david@freetype.org>
1264
Werner Lembergf6294392007-01-06 07:47:45 +00001265 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1266 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001267
Werner Lembergf6294392007-01-06 07:47:45 +00001268
1269 Do not allocate interpreter-specific tables in memory if we are not
1270 going to load glyphs with the bytecode interpreter anyway.
1271
1272 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1273 only if glyph is hinted.
1274 Updated.
1275 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1276 and `cvs_ready'.
1277 Add `tt_size_ready_bytecode' declaration.
1278 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1279 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1280 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1281 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1282 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001283
David Turner91a34022007-01-05 14:47:08 +00001284
Werner Lembergf6294392007-01-06 07:47:45 +00001285 Don't extract the metrics table from the SFNT font file. Instead,
1286 reparse it on each glyph load. The runtime difference is not
1287 noticeable, and it can save a lot of heap memory when memory-mapped
1288 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001289
Werner Lembergf6294392007-01-06 07:47:45 +00001290 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1291 `horz_metrics_offset' and `vert_metrics_ofset'.
1292 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1293 Updated.
1294
1295
1296 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1297
1298
1299 Do not load the CFF index offsets into memory, since this wastes a
1300 *lot* of heap memory with large Asian CFF fonts. There is no
1301 significant performance loss.
1302
1303 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1304 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1305 `data_size'.
1306 (CFF_CharsetRec): Add field `num_glyphs'.
1307
1308 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1309 cff_charset_cid_to_gindex): New functions.
1310 (cff_new_index): Renamed to...
1311 (cff_index_init): This. Update all callers.
1312 Updated -- some code has been moved to `cff_index_load_offsets'.
1313 (cff_done_index): Renamed to...
1314 (cff_index_done): This. Update all callers.
1315 (cff_index_get_pointers, cff_index_access_element): Updated to use
1316 stream offsets.
1317 (cff_charset_compute_cids): Set `num_glyphs' field.
1318 (cff_encoding_load): Updated.
1319
1320 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001321
13222007-01-04 David Turner <david@freetype.org>
1323
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001324 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1325 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001326
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001327 * README.CVS: Add common problem description and solution
1328 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001329
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001330 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001331
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001332 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001333
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001334 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001335
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001336 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1337 (TWorker): This.
1338 Remove `count_table' and `memory'.
1339 Make `grays' a pointer.
1340 (TRaster): New structure.
1341 (count_table): New static array.
1342 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1343 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1344 ft_black_set_mode, ft_black_render): Updated.
1345 (ft_black_init): Don't initialize `count_table'.
1346 (ft_black_reset): Use the render pool. This saves about 6KB of
1347 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001348
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001349 * src/smooth/ftgrays.c (TRaster): Replaced with...
1350 (TWorker): This.
1351 Remove `memory'.
1352 (TRaster): New structure.
1353
1354 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1355 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1356 gray_render_span, gray_raster_render): Updated.
1357 (gray_raster_reset): Use the render pool. This saves about 6KB of
1358 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001359
David Turner8a6c44e2007-01-04 17:03:11 +00001360 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1361 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001362 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1363 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1364 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001365
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001366 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1367 Remove a typo that results in no hinting and a memory leak with some
1368 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001369
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001370 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001371 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001372 CFF_Faces in it. We need to close all faces before destroying the
1373 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001374
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000013752007-01-02 Werner Lemberg <wl@gnu.org>
1376
1377 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1378 Remove compiler warning.
1379
David Turner9207e002007-01-02 16:58:13 +000013802007-01-02 David Turner <david@freetype.org>
1381
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001382 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001383
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000013842006-12-31 Masatake YAMATO <jet@gyve.org>
1385
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001386 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1387 function.
1388 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001389 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001390 `gxv_kern_subtable_fmt0_pairs_validate'.
1391
David Turner115b4422006-12-22 11:37:05 +000013922006-12-22 David Turner <david@freetype.org>
1393
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001394 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1395 warnings.
David Turner115b4422006-12-22 11:37:05 +00001396
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001397 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1398 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001399
Werner Lemberg4755bf72006-12-16 08:58:44 +000014002006-12-16 Anders Kaseorg <anders@kaseorg.com>
1401
1402 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1403 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1404
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000014052006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1406
Werner Lemberg9b774e22007-01-16 06:11:27 +00001407 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001408 sync with the modification by Jens Claudius on 2006-08-22; cf.
1409 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 +00001410
14112006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1412
1413 * src/base/ftmac.c: Specialized for Mac OS X only.
1414 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1415 * builds/unix/configure.raw: Ditto. When explicit switches for
1416 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1417 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1418
14192006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1420
1421 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1422 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1423 instead of src/base/ftmac.c
1424 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1425 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1426 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1427 that cannot be built at present.
1428
14292006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1430
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001431 * src/base/ftobjs.c: Improvement of resource fork handler for
1432 POSIX, cf.
1433 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001434 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1435 format or .dfont, to simulate the face index number counted by ftmac.c.
1436 (IsMacResource): Return the number of scalable faces correctly.
1437
Werner Lembergec5b4502006-12-10 07:51:38 +000014382006-12-10 Werner Lemberg <wl@gnu.org>
1439
1440 * builds/toplevel.mk (version): Protect against `distclean' target.
1441
Werner Lembergb26b3142006-12-09 20:01:43 +000014422006-12-09 Werner Lemberg <wl@gnu.org>
1443
1444 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1445 or `type'.
1446
1447 * builds/freetype.mk (version): Extracted from freetype.h, using
1448 GNU make's built-in string functions.
1449 (refdoc): Use $(version) instead of static version number.
1450
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000014512006-12-08 Werner Lemberg <wl@gnu.org>
1452
1453 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1454
Werner Lemberg15c29502006-12-09 07:29:54 +000014552006-12-08 Vladimir Volovich <vvv@vsu.ru>
1456
1457 * src/tools/apinames (State): Remove final comma in structure -- xlc
1458 v5 under AIX 4.3 doesn't like this.
1459
David Turnerdbf3b432006-12-07 21:18:09 +000014602006-12-07 David Turner <david@freetype.org>
1461
Werner Lemberg256a3512006-12-08 06:49:33 +00001462 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1463 to the spacing of auto-fitted glyphs. This only impacts rare
1464 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001465
Werner Lemberg11171312006-12-03 09:43:40 +000014662006-12-03 Werner Lemberg <wl@gnu.org>
1467
1468 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1469
Werner Lemberg960ba592006-12-01 08:20:47 +000014702006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001471
Werner Lemberg960ba592006-12-01 08:20:47 +00001472 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1473 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1474 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001475
David Turner80658e52006-11-28 08:09:20 +00001476
Werner Lemberg960ba592006-12-01 08:20:47 +00001477 * include/freetype/ftxf86.h: Fix and extend comment so that it
1478 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001479
Werner Lemberg960ba592006-12-01 08:20:47 +00001480 * include/freetype/ftchapters.h: Add `font_format' section.
1481
1482
1483 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1484 to TOC in index page.
1485
14862006-11-28 David Turner <david@freetype.org>
1487
1488 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1489 trying to render into a zero-width/height bitmap, not an error code.
1490
1491 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1492
1493 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1494 ones instead.
1495
1496 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1497 variable.
David Turner80658e52006-11-28 08:09:20 +00001498
Werner Lemberg8636c292006-11-26 22:28:13 +000014992006-11-26 Pierre Hanser <hanser@club-internet.fr>
1500
1501 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1502
Werner Lemberg960ba592006-12-01 08:20:47 +000015032006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001504
Werner Lemberg960ba592006-12-01 08:20:47 +00001505 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1506 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1507 Add stubs to link the `ftgrid' test program when debugging is
1508 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001509
Werner Lemberg960ba592006-12-01 08:20:47 +000015102006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001511
1512 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001513 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1514
1515 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1516 Emit more sensible information.
1517
1518 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1519
1520 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1521 rounding of blue values.
1522 (af_latin_hints_compute_segments): Hint segment heights.
1523 (af_latin_hints_link_segments): Reduce `len_score' value.
1524 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1525 value and use `height' member for comparisons.
1526 (af_latin_hint_edges): Extend logging message.
1527 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001528
Werner Lemberg91959bf2006-11-22 10:36:55 +000015292006-11-22 Werner Lemberg <wl@gnu.org>
1530
1531 Fix Savannah bug #15553.
1532
1533 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1534 program after a change from mono to grayscaling (and vice versa).
1535 Use correct constant for comparison to get `exec->grayscale'.
1536
Werner Lemberg913a3652006-11-19 09:19:17 +000015372006-11-18 Werner Lemberg <wl@gnu.org>
1538
1539 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001540 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001541 This patch fixes Savannah bug #18301.
1542
1543 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1544 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1545 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1546 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1547 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1548 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1549 (FNT_Load_Glyph): Check validity of `glyph_index'.
1550
David Turner7bab6ae2006-11-13 11:25:06 +000015512006-11-13 David Turner <david@freetype.org>
1552
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001553 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1554 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001555
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001556 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1557 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1558 when building the library to change the default LCD filter to be
1559 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001560
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001561 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001562
David Turner8765c712006-11-10 16:49:42 +000015632006-11-10 David Turner <david@freetype.org>
1564
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001565 * src/smooth/ftsmooth.c: API change for the LCD
1566 filter. The FT_LcdFilter value is an enumeration describing which
1567 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1568 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1569 algorithm which produces strong color fringes for everything
1570 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001571
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001572 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1573 second parameter to an enum type.
1574
1575 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1576 (_ft_lcd_filter): Rename to...
1577 (_ft_lcd_filter_fir): This.
1578 Update parameters.
1579 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1580 (FT_Library_Set_LcdFilter): Update parameters.
1581 Handle new filter modes.
1582
1583 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1584 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1585 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1586 callback and update other fields.
1587
1588 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1589 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1590 Other minor improvements.
1591
1592 * src/autofit/aflatin.c: Various tiny improvements that drastically
1593 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1594 (af_latin_hints_compute_edges): Fix typo.
1595 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001596
David Turner4e9cc3c2006-11-09 16:31:52 +000015972006-11-09 David Turner <david@freetype.org>
1598
Werner Lemberg49c77a82006-11-09 21:51:57 +00001599 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1600 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001601
Werner Lemberg5e430892006-11-07 09:35:03 +000016022006-11-07 Zhe Su <james.su@gmail.com>
1603
1604 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1605 also.
1606
Werner Lemberg111b5ae2006-11-03 09:40:12 +000016072006-11-03 Werner Lemberg <wl@gnu.org>
1608
1609 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1610
David Turner40604742006-11-02 16:37:35 +000016112006-11-02 David Turner <david@freetype.org>
1612
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001613 Add a few tweaks to better handle serif fonts.
1614 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001615
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001616 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1617 segments that are less than 1.5 pixels high. This gets rid of
1618 *many* corner cases with serifs.
1619 (af_latin_align_linked_edge): Add logging message.
1620 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1621 Add logging messages.
1622 Handle AF_EDGE_FLAG flag specially.
1623
1624 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1625 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1626
1627 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1628 Update external declarations.
1629 (af_corner_orientation, af_corner_is_flat): Replaced by...
1630
1631 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1632 ft_corner_is_flat): These declarations.
1633
1634 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1635 Comment out. Replaced by...
1636
1637 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1638 These functions. Update all callers.
1639 (FT_Add64) [!FT_LONG64]: Simplify.
1640
1641 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1642 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1643 production of garbage by missing lots of segments.
1644
1645 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1646
1647 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1648 [AF_DEBUG]: Set _af_debug_hints.
1649
1650
1651 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1652 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1653 and ft_corner_orientation.
1654
1655
1656 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001657
Werner Lemberge88c5262006-10-24 05:46:26 +000016582006-10-24 Werner Lemberg <wl@gnu.org>
1659
1660 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1661
1662 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1663 as argument.
1664
David Turnera1861392006-10-23 16:00:59 +000016652006-10-23 Zhe Su <zsu@novell.com>
1666
Werner Lemberg715e96e2006-10-24 05:28:45 +00001667 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1668 better deal with broken Asian fonts with strange glyphs, having
1669 self-intersections and other peculiarities. The used algorithm is
1670 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001671
David Turnere140f142006-10-23 08:56:57 +000016722006-10-23 David Turner <david@freetype.org>
1673
Werner Lemberg715e96e2006-10-24 05:28:45 +00001674 Speed up the CFF font loader. With some large CFF fonts,
1675 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001676
Werner Lemberg715e96e2006-10-24 05:28:45 +00001677 * src/cff/cffload.c (cff_get_offset): Removed.
1678 (cff_new_index): Inline functionality of `cff_get_offset'.
1679 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1680 (cff_charset_done): Call `cff_charset_free_cids'.
1681 (cff_charset_load): Call `cff_charset_compute_cids'.
1682 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1683
1684 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1685 with FT_NEXT_XXX.
1686
1687
1688 Speed up the Postscript hinter, with more than 100% speed increase
1689 on my machine.
1690
1691 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1692 psh_corner_orientation): New functions.
1693 (psh_glyph_compute_inflections): Merge loops for efficiency.
1694 Use `psh_corner_orientation'.
1695 (psh_glyph_init): Use `psh_corner_is_flat'.
1696 (psh_hint_table_find_strong_point): Renamed to...
1697 (psh_hint_table_find_strong_points): This.
1698 Rewrite, adding argument to handle all points at once.
1699 Update all callers.
1700 (PSH_MAX_STRONG_INTERNAL): New macro.
1701 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001702
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000017032006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1704
1705 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001706 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001707
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000017082006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1709
1710 * docs/INSTALL.CROSS: New document file for cross-building.
1711
1712 * builds/unix/configure.raw: Preliminary cross-building support.
1713 Find native C compiler and pass it by CC_BUILD, and
1714 find suffix for native executable and pass it by EXEEXT_BUILD.
1715 Also suffix for target executable is passed by EXEEXT.
1716
Werner Lembergb9e6d692006-10-15 08:58:40 +00001717 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1718 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001719 CC_BUILD and EXEEXT_BUILD.
1720
Werner Lembergb9e6d692006-10-15 08:58:40 +00001721 * builds/exports.mk (APINAMES_EXE): Change the extension for
1722 apinames from the suffix for target (E) to that for building host
1723 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001724
Werner Lemberg82a07e92006-10-12 06:20:44 +000017252006-10-12 Werner Lemberg <wl@gnu.org>
1726
1727 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1728 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1729 which reference those files.
1730
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000017312006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1732
Werner Lembergb9e6d692006-10-15 08:58:40 +00001733 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1734 embedded in freetype2.pc and freetype-config. Use it to record
1735 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001736
1737 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1738
1739 * builds/unix/freetype-config.in: Ditto.
1740
Werner Lemberg28e17d92006-10-11 17:27:47 +000017412006-10-11 Werner Lemberg <wl@gnu.org>
1742
1743 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1744 development.
1745
Jens Claudius336d2292006-10-03 08:53:37 +000017462006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1747
1748 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1749 argument to ft_setjmp.
1750
1751 * include/freetype/internal/ftvalid.h: Add comment that
1752 ft_validator_run must not be used.
1753
Werner Lemberg2863cfa2006-10-01 17:04:00 +000017542006-10-01 Werner Lemberg <wl@gnu.org>
1755
1756 * src/base/ftbase.c: Undo change from 2006-09-30.
1757
1758 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1759
17602006-09-30 David Turner <david@freetype.org>
1761
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001762 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1763 s/unpatented_hinting/ignore_unpatented_hinter/.
1764 Update all callers.
1765
1766 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1767 auto-hinting shall be used or not.
1768
1769 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001770
Werner Lemberg2863cfa2006-10-01 17:04:00 +000017712006-09-30 Werner Lemberg <wl@gnu.org>
1772
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001773 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1774 in use).
1775
1776 * src/base/ftbase.c: Include `ftlcdfil.c'.
1777
Werner Lemberg9b15ea32006-09-29 18:22:11 +000017782006-09-29 Werner Lemberg <wl@gnu.org>
1779
1780 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1781 overlapping segments. Bug reported by Stefan Koch.
1782
David Turnerad830712006-09-27 16:20:59 +000017832006-09-28 David Turner <david@freetype.org>
1784
Werner Lemberg2c002e12006-09-29 21:31:53 +00001785 Fix a bug in the automatic unpatented hinting support which prevents
1786 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001787
Werner Lemberg2c002e12006-09-29 21:31:53 +00001788 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1789 s/force_autohint/unpatented_hinting/. Update all callers.
1790
1791 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1792
1793 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001794
David Turner8a317cf2006-09-27 07:52:48 +000017952006-09-27 David Turner <david@freetype.org>
1796
Werner Lemberg2c002e12006-09-29 21:31:53 +00001797 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001798
David Turner8a317cf2006-09-27 07:52:48 +00001799
David Turnere140f142006-10-23 08:56:57 +00001800 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001801 In a default build, the function `FT_Library_SetLcdFilter' returns
1802 `FT_Err_Unimplemented_Feature'; you need to #define
1803 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1804 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001805
Werner Lemberg2c002e12006-09-29 21:31:53 +00001806 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001807
Werner Lemberg2c002e12006-09-29 21:31:53 +00001808 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1809 typedef.
1810 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1811 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001812
Werner Lemberg2c002e12006-09-29 21:31:53 +00001813 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1814 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001815
Werner Lemberg2c002e12006-09-29 21:31:53 +00001816 Handle subpixel rendering.
1817 Simplify function.
1818 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1819 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1820
1821 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1822 pointing to <freetype/ftlcdfil.h>.
1823
1824 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1825 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1826
1827 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001828
Werner Lemberge20df4a2006-09-27 06:29:21 +000018292006-09-26 David Bustin
1830
1831 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1832 correctly. Reported as Savannah bug #17843.
1833
David Turner6f8c6222006-09-26 15:42:44 +000018342006-09-26 David Turner <david@freetype.org>
1835
Werner Lemberg110246c2006-09-26 21:55:44 +00001836 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1837 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1838 horizontal and vertical hinting for the purpose of debugging the
1839 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001840
Werner Lemberg110246c2006-09-26 21:55:44 +00001841 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1842 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001843
Werner Lemberg110246c2006-09-26 21:55:44 +00001844 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1845
1846 * include/freetype/config/ftoption.h, devel/ftoption.h
1847 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1848 we want to compile LCD-optimized rendering code (à la ClearType) or
1849 not. The macro *must* be disabled in default builds of the library
1850 for patent reasons.
1851
1852 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1853 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1854 isn't defined at compile time. This only changes the content of the
1855 rendered glyph to match the one of normal gray-level rendering,
1856 hence clients should not need to be modified.
1857
1858 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001859
Werner Lemberg745ff2c2006-09-19 05:48:02 +000018602006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1861
1862 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1863 LWFN fails and both are available.
1864
David Turnerf3050052006-09-11 12:00:32 +000018652006-09-11 David Turner <david@freetype.org>
1866
Werner Lembergf9644552006-09-12 13:48:10 +00001867 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1868 report their English names through an Apple Roman
1869 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001870
Werner Lembergf9644552006-09-12 13:48:10 +00001871 If the font uses another name entry with language_id == English, it
1872 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001873
Werner Lembergf9644552006-09-12 13:48:10 +00001874 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1875 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001876
Werner Lemberg36d2eab2006-09-05 19:24:34 +000018772006-09-05 Werner Lemberg <wl@gnu.org>
1878
1879 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001880 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001881 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1882 `HAN NOM B.ttf').
1883
1884 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1885
David Turner772e55d2006-09-05 09:45:15 +000018862006-09-05 David Turner <david@freetype.org>
1887
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001888 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001889
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001890 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1891 (TRaster): Remove `count_ex' and `count_ey'.
1892 (gray_find_cell): Remove 2nd and 3rd argument.
1893 (gray_alloc_cell): Merged with `gray_find_cell'.
1894 (gray_record_cell): Simplify.
1895 (gray_set_cell): Rewrite.
1896 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1897 (gray_render_span): Don't use FT_MEM_SET for small values.
1898 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1899 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1900 bitmap scanline.
1901 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001902
David Turneraa557a92006-09-04 16:42:44 +000019032006-09-04 David Turner <david@freetype.org>
1904
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001905 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1906 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001907
Werner Lemberg2d8629b2006-09-03 06:18:45 +000019082006-09-03 Werner Lemberg <wl@gnu.org>
1909
1910 * devel/ftoption.h: Synchronize with
1911 include/freetype/config/ftoption.h.
1912
1913 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1914 variable declaration.
1915 (gray_convert_glyph): Fix compiler warnings.
1916
David Turner6d79f212006-09-01 14:09:35 +000019172006-09-01 David Turner <david@freetype.org>
1918
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001919 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1920 to recognize a few fonts that require the automatic unpatented
1921 loader.
David Turnerbd502952006-09-01 19:05:24 +00001922
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001923 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1924 rasterizer. The speed improvement is between 15% and 25%, depending
1925 on the font data.
1926
1927 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1928 (TCell): Redefine.
1929 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1930 (gray_init_cells): Updated.
1931 (gray_find_cell, gray_alloc_cell): New functions.
1932 (gray_record_cell): Rewritten to use `gray_find_cell' and
1933 `gray_alloc_cell'.
1934 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1935 QSORT_THRESHOLD):
1936 Removed.
1937 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1938 gray_dump_cells): Removed.
1939 (gray_sweep): Rewritten.
1940 (gray_convert_glyph): Rewrite code which used one of the sorting
1941 functions.
1942 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001943
Werner Lembergd898aed2006-08-29 09:50:34 +000019442006-08-29 Dr. Werner Fink <werner@suse.de>
1945
1946 * configure: Make it possible to handle configure options which
1947 have strings containing spaces.
1948
19492006-08-27 David Turner <david@freetype.org>
1950
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001951 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1952 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1953 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1954
1955 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1956 src/truetype/truetype.c, src/truetype/ttdriver.c,
1957 src/truetype/ttgload.c, src/truetype/ttgload.h,
1958 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1959 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1960 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1961
1962 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1963 member `force_autohint'.
1964
1965 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1966
1967 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1968 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001969
Jens Claudiusa787f452006-08-27 11:26:18 +000019702006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1971
1972 Fix miscellaneous compiler warnings.
1973
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001974 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1975 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001976
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001977 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1978 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1979 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001980
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001981 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1982 volatileness of argument to ft_longjmp. Spotted by Werner
1983 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001984
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001985 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1986 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001987
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001988 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1989 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001990
Werner Lembergc4c35b72006-08-27 08:03:46 +000019912006-08-27 Werner Lemberg <wl@gnu.org>
1992
1993 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1994 Reported by Jens.
1995
Jens Claudius088e44e2006-08-22 14:24:30 +000019962006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001997
Jens Claudius088e44e2006-08-22 14:24:30 +00001998 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001999 about addresses of volatile objects passed as function arguments as
2000 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00002001
Werner Lembergc4c35b72006-08-27 08:03:46 +00002002 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
2003 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00002004
2005 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
2006 argument `table' a pointer to a volatile object.
2007
2008 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
2009 argument `table' a pointer to a volatile object.
2010
Jens Claudius2652bd52006-08-18 17:20:37 +000020112006-08-18 Jens Claudius <jens.claudius@yahoo.com>
2012
2013 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
2014 variable `_sfnt' as volatile since it must keep its value across
2015 a call to ft_setjmp.
2016 (gxv_validate): Same for local variables `memory' and `valid'.
2017 (classic_kern_validate): Same for local variables `memory',
2018 `ckern', and `valid'.
2019
2020 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
2021 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
2022 `jstf', and 'valid'.
2023
2024 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
2025 local variable `cmap'.
2026
David Turner9fbfc6a2006-08-16 09:11:31 +000020272006-08-16 David Turner <david@freetype.org>
2028
Werner Lemberg12342992006-08-19 11:18:09 +00002029 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
2030 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00002031
Werner Lemberg12342992006-08-19 11:18:09 +00002032 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
2033 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00002034
David Turner33f5f242006-08-16 16:50:55 +00002035
Werner Lemberg12342992006-08-19 11:18:09 +00002036 Improvements to native TrueType hinting. This is a first try,
2037 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
2038
2039 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
2040 `extra_points2'.
2041
2042 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
2043 `orus'.
2044
2045 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
2046 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
2047 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
2048 handle `extra_points2'.
2049
2050 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
2051 Remove compiler warning.
2052 (cur_to_arg): Remove macro.
2053 (TT_Hint_Glyph): Updated.
2054 (TT_Process_Simple_Glyph): Handle `orus'.
2055
2056 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
2057 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
2058 (LOC_Ins_IUP): Renamed to...
2059 (IUP_WorkerRec): This.
2060 Add `orus' member.
2061 (Shift): Renamed to...
2062 (_iup_worker_shift): This.
2063 Updated.
2064 (Interp): Renamed to...
2065 (_iup_worker_interpolate): This.
2066 Updated to handle `orus'.
2067 (Ins_IUP): Updated.
2068
2069 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
2070 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00002071
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000020722006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2073
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002074 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00002075 build ftvalid in ft2demos. This has been inadvertedly changed
2076 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002077
20782006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2079
Werner Lemberg12342992006-08-19 11:18:09 +00002080 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
2081 Jens:
2082 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002083
Werner Lemberg12342992006-08-19 11:18:09 +00002084 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
2085 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002086
2087 * freetype2/src/gxvalid/gxvmod.c: Ditto.
2088
Jens Claudius9950adc2006-08-13 12:14:36 +000020892006-08-13 Jens Claudius <jens.claudius@yahoo.com>
2090
Werner Lemberg12342992006-08-19 11:18:09 +00002091 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
2092 T1_TOKEN_TYPE_KEY.
2093 (T1_FieldRec): Add `dict'.
2094 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
2095 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
2096 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00002097
Werner Lemberg12342992006-08-19 11:18:09 +00002098 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
2099 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002100
2101 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
2102
2103 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00002104 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
2105 not T1_TOKEN_TYPE_ANY.
2106 (ps_parser_load_field): Make sure a token that should be a string or
2107 name is really a string or name.
2108 Avoid memory leak if a keyword has been already encountered and its
2109 value is overwritten.
2110 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
2111 T1_FIELD_XXX.
2112 (parse_dict): Ignore keywords that occur in the wrong dictionary
2113 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00002114
Werner Lemberg12342992006-08-19 11:18:09 +00002115 * freetype2/src/type1/t1tokens.h: Adjust invocations of
2116 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002117
Werner Lemberg12342992006-08-19 11:18:09 +00002118 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
2119 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002120
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000021212006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2122
2123 Move creation of field `buildchar' of T1_DecoderRec out of
2124 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2125 of it.
2126
2127 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2128 and `T1_Compute_Max_Advance'.
2129
2130 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2131 Remove field `face', add `len_buildchar'.
2132
2133 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2134 field `buildchar'.
2135
2136 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2137 finisher for T1_Decoder.
2138 (cid_slot_load_glyph): Do not ignore failure when initializing the
2139 T1_Decoder.
2140
2141 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2142 Updated.
2143 (t1_decoder_init): Remove initialization of fields `buildchar' and
2144 `len_buildchar'.
2145 (t1_decoder_done): Remove deallocation of field `buildchar'.
2146
2147 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2148 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2149 T1_Decoder.
2150 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2151 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2152 case of error.
2153
2154 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2155 `buildchar' of T1_FaceRec.
2156
2157 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2158 `buildchar' of T1_FaceRec.
2159
Werner Lemberg1a380e02006-07-14 18:28:08 +000021602006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2161
2162 * freetype2/include/freetype/internal/psaux.h: New macros
2163 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2164 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2165 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2166 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2167 (T1_DecoderRec): New fields `buildchar' and `face'.
2168 (IS_PS_TOKEN): New macro.
2169
2170 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2171 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2172
2173 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2174 `default_design_vector' and `num_default_design_vector'.
2175
2176 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2177 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2178 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2179
2180 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2181 `token' argument to be NULL if we want only to count the number of
2182 tokens.
2183 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2184 want to skip the array.
2185 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2186 want to skip the array.
2187
2188 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2189 support for (partially commented out) othersubrs 19-25, 27, and 28.
2190 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2191 (t1_decoder_done): Release new field `buildchar'.
2192
2193 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2194 functions.
2195 (t1_keywords): Register them.
2196 (t1_allocate_blend): Updated.
2197 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2198 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2199 (parse_dict): Remove `keyword_flags' argument.
2200 Use new macro IS_PS_TOKEN.
2201 Changed function so that later PostScript definitions override
2202 earlier ones.
2203 (t1_init_loader): Initialize new field `keywords_encountered'.
2204 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2205 `len_buildchar'.
2206 Remove `keywords_flags'.
2207
2208 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2209 `keywords_encountered'.
2210 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2211
2212 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2213 New entries for parsing /NDV, /CDV, and /DesignVector.
2214
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000022152006-07-07 Werner Lemberg <wl@gnu.org>
2216
2217 Add many checks to protect against malformed PCF files.
2218
2219 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2220 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2221
2222 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2223 data and check that tables don't overlap (using a simple
2224 bubblesort).
2225 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2226 New macros which give the size of data structures in the data
2227 stream.
2228 (pcf_get_properties): Use rough estimates to get array size limits.
2229 Assign `face->nprops' and `face->properties' earlier so that a call
2230 to PCF_Face_Done can do the clean-up in case of error.
2231 Protect against invalid string offsets.
2232 (pcf_get_metrics): Clean up code.
2233 Adjust tracing message levels.
2234 Use rough estimate to get array size limit.
2235 (pcf_get_bitmaps): Clean up code.
2236 Adjust tracing message levels.
2237 Use rough estimates to get offset limits.
2238 (pcf_get_encodings): Adjust tracing message level.
2239 (pcf_get_accel): Clean up code.
2240
Werner Lemberg8eb05252006-06-27 06:20:01 +000022412006-06-26 Werner Lemberg <wl@gnu.org>
2242
2243 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2244 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2245
Werner Lemberg24703f82006-06-26 19:12:51 +000022462006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2247
2248 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2249 (t1_decoder_parse_charstrings): Operator with
2250 opcode 15 pops its two arguments.
2251 Handle the case where the pops of an othersubr may be part of a
2252 subroutine.
2253 Handle unknown othersubrs gracefully: count their operands and let
2254 the following pop operators push the operands as the results onto
2255 the Type1 stack.
2256 Improve handling of setcurrentpoint opcode.
2257
Werner Lembergc011f4c2006-06-26 09:40:00 +000022582006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2259
2260 The Type 1 parser now skips over top-level procedures as required
2261 for a `Simplified Parser'. This makes the parser more robust as it
2262 doesn't poke around in PostScript code. Additionally, it makes the
2263 FontDirectory hackery in src/type1/t1load.c unnecessary.
2264
2265 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2266 (skip_literal_string): Add FT_Error as return value.
2267 Handle escapes better.
2268 (skip_string): Add FT_Error as return value.
2269 Don't set `parser->error' but return error code directly.
2270 (skip_procedure): New function.
2271 (ps_parser_skip_PS_token): Handle procedures.
2272 Update code.
2273 (ps_parser_to_token): Update code.
2274 (ps_parser_load_field_table): Handle bbox entries also.
2275
2276 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2277 Add commented-out code for synthetic fonts.
2278
Werner Lemberga2da05c2006-06-25 06:27:27 +000022792006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2280
2281 Fix two hinting bugs as reported in
2282 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2283
2284 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2285 `first_point' member.
2286
2287 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2288 `first_point'.
2289 (TT_Process_Composite_Glyph): Always untouch points.
2290
2291 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2292 `first_point' and `last_point' in case of composite glyphs.
2293 (Ins_IUP): Fix computation of `end_point'.
2294
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000022952006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2296
Werner Lembergef3d2c22006-06-25 06:07:14 +00002297 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2298 Mac. The original patch was written by David Sachitano and Lawrence
2299 Coopet, and modified by Sean McBride for MPW compatibility. Only
2300 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002301
Werner Lembergef3d2c22006-06-25 06:07:14 +00002302 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2303 Mac OS X platforms.
2304 (OS_INLINE): Undefine before definition.
2305 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2306 FontAssociation table in FOND resource.
2307 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2308 and fontSize at each entry of FontAssociation table in FOND
2309 resource.
2310 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2311 ffStylOff of FamilyRecord header of FOND resource, the header,
2312 fontSize, fontID at each entry of FontAssociation table, and
2313 StyleMapping table.
2314 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002315
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000023162006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2317
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002318 Public API of TrueTypeGX, OpenType, and classic kern table validator
2319 should return `FT_Err_Unimplemented_Feature' if validation service
2320 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002321 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002322 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2323
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002324 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2325 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2326 unavailable.
2327 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2328 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002329
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002330 * src/base/ftotval.c (FT_OpenType_Validate): Return
2331 FT_Err_Unimplemented_Feature if OpenType validation service is
2332 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002333
Werner Lembergb10e45a2006-06-08 07:32:56 +000023342006-06-08 Werner Lemberg <wl@gnu.org>
2335
2336 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2337 errors.
2338
David Turner5f1f7502006-06-07 05:11:50 +000023392006-06-07 David Turner <david@freetype.org>
2340
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002341 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2342 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2343 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002344
David Turner457b4a82006-06-06 08:14:14 +000023452006-06-06 David Turner <david@freetype.org>
2346
Werner Lemberg4836f952006-06-06 12:54:08 +00002347 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002348
Werner Lemberg4836f952006-06-06 12:54:08 +00002349 We change `ps_unicodes_init' so that it also takes a
2350 `free_glyph_name' callback to release the glyph names returned by
2351 `get_glyph_name'
2352
2353 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2354 Renamed to ...
2355 (PS_GetGlyphNameFunc): This.
2356 (PS_FreeGlyphNameFunc): New typedef.
2357 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2358
2359 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2360 argument.
2361 (cff_sid_free_glyph_name): New function.
2362 (cff_cmap_unicode_init): Updated.
2363
2364 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2365
2366 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2367 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002368
2369
David Turner09717352006-06-04 14:33:08 +000023702006-06-04 David Turner <david@freetype.org>
2371
Werner Lembergd724f202006-06-04 15:17:41 +00002372 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2373 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002374 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002375
Werner Lembergd724f202006-06-04 15:17:41 +00002376 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2377 of `face->num_glyphs' which missed the last glyph, due to
2378 the offset-by-1 computation, since the PFR format doesn't
2379 guarantee that glyph index 0 corresponds to the `missing
2380 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002381
Werner Lemberg33779662006-05-26 06:30:05 +000023822006-05-25 Werner Lemberg <wl@gnu.org>
2383
2384 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2385 `-no-undefined'. Reported by Christian Biesinger.
2386
Werner Lemberg24773d62006-05-20 08:53:13 +000023872006-05-19 Brian Weed <bw@imaginengine.com>
2388
2389 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2390 have debug information, and debug libraries use `C7 compatible'
2391 debug info.
2392
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000023932006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2394
Werner Lemberga6523a62006-05-20 08:47:01 +00002395 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002396 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002397
Werner Lemberga6523a62006-05-20 08:47:01 +00002398 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2399 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002400
2401 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002402 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002403
24042006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2405
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002406 * build/unix/configure.raw: Add a fallback to disable Carbon
2407 dependency, if configured with no options on Mac OS X.
2408
24092006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2410
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002411 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002412 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002413 the second part of Savannah bug #16590.
2414
Werner Lemberg545c4e52006-05-17 22:55:04 +000024152006-05-18 Werner Lemberg <wl@gnu.org>
2416
2417 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2418 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2419
David Turnerdc3ff312006-05-17 12:59:35 +000024202006-05-17 David Turner <david@freetype.org>
2421
Werner Lemberg545c4e52006-05-17 22:55:04 +00002422 This is a major patch used to drastically improve the performance of
2423 loading glyphs. This both speeds up loading the glyph vectors
2424 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002425
Werner Lemberg545c4e52006-05-17 22:55:04 +00002426 We now use inline assembler code with GCC to implement `FT_MulFix',
2427 which is probably the most important function related to the
2428 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002429
Werner Lemberg545c4e52006-05-17 22:55:04 +00002430 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002431
2432
Werner Lemberg545c4e52006-05-17 22:55:04 +00002433 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2434 `cursor' and `limit'.
2435
2436 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2437 New functions.
2438 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2439 [TEST]: Remove.
2440
2441 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2442 code.
2443
2444 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2445 `FT_ZERO'
2446 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2447 (af_glyph_hints_reload: Rewrite recognition of weak points.
2448
2449 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2450 constant values out of the loops.
2451
2452 * src/autofit/aftypes.h: Updated.
2453
2454 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2455
2456 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2457 product to get orientation.
2458
2459 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2460 (FT_Stream_OpenGzip): Use it to handle small files directly in
2461 memory.
2462
2463 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2464 Improve performance.
2465
2466 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2467 `limit'.
2468
2469 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2470 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2471 exceedingly large values of number of contours. Speed up by
2472 reducing the number of loops.
2473
2474 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2475
2476
2477 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2478 used to detect rogue clients from 4 to 16. This is to prevent some
2479 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2480 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002481
Werner Lembergde2d90a2006-05-17 08:54:30 +000024822007-05-17 Werner Lemberg <wl@gnu.org>
2483
2484 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002485 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002486
24872006-05-16 Werner Lemberg <wl@gnu.org>
2488
2489 * docs/PROBLEMS: Updated icl issues.
2490
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002491----------------------------------------------------------------------------
2492
Werner Lemberg42b63b22007-01-21 21:01:33 +00002493Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002494David Turner, Robert Wilhelm, and Werner Lemberg.
2495
2496This file is part of the FreeType project, and may only be used, modified,
2497and distributed under the terms of the FreeType project license,
2498LICENSE.TXT. By continuing to use, modify, or distribute this file you
2499indicate that you have read the license and understand and accept it
2500fully.
2501
2502
2503Local Variables:
2504version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002505coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002506End: