blob: 8dba825352edbc3f2fe86491c57edd1fdb1a5b67 [file] [log] [blame]
David Turner8f626b02007-06-22 22:22:38 +000012007-06-23 David Turner <david@freetype.org>
2
Werner Lemberg7854c4a2007-06-23 07:16:20 +00003 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
4 2007-06-16 that prevented the TrueType module from loading most
5 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00006
Werner Lemberg5b4d4352007-06-20 07:07:55 +000072007-06-20 Werner Lemberg <wl@gnu.org>
8
9 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
10 change.
11
Werner Lemberg9fe58152007-06-19 07:57:30 +0000122007-06-19 Werner Lemberg <wl@gnu.org>
13
14 * src/type1/t1load.c (parse_encoding): Handle one more error.
15
Werner Lemberg5a829392007-06-19 04:53:30 +0000162007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
17
18 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
19 FNT_Err_Invalid_File_Format if file format was recognized but
20 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
21 Add verbose debug logs to make it easier to debug failing load
22 attempts.
23 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
24 so return an error if requested face index is > 0.
25 Do not do further attempt to load fonts if a previous attempt has
26 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
27 file format has been recognized but no fonts found in the file.
28
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000292007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
30
31 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
32 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
33 the compiler warnings against unused arguments.
34 (FT_ATSFontGetFileReference): Ditto.
35 (FT_GetFile_From_Mac_ATS_Name): Ditto.
36 (FT_New_Face_From_FSSpec): Ditto.
37 (lookup_lwfn_by_fond): Fix wrong comment.
38 Replace `const StringPtr' by more appropriate type
39 `ConstStr255Param'.
40 FSRefMakePathPath always returns UTF8 POSIX pathname in
41 Mach-O, thus HFS pathname support is dropped.
42 (count_faces): Remove HLock and HUnlock which is not
43 required on Mac OS X anymore.
44 (FT_New_Face_From_SFNT): Ditto.
45 (FT_New_Face_From_FOND): Ditto.
46 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
47 except of HFS pathname support and HLock/HUnlock.
48 They are required on classic CFM environment.
49
502007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +000051
Werner Lembergf9fa1c82007-06-18 17:00:05 +000052 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
53 assertion.
54 (ps_parser_to_bytes): Fix error message.
55
Werner Lembergbb2510d2007-06-18 17:07:49 +000056 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000057 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
58 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +000059 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +000060 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000061
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000622007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +000063
Werner Lembergf48aec72007-06-18 07:07:55 +000064 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
65 logic.
66 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
67 correctly.
68 (ps_parser_load_field_table): Use `fields->array_max' instead of
69 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
70
Werner Lemberg95104a42007-06-18 07:33:10 +000071 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
72 2007-06-06.
73
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000742007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +000075
76 * src/tools/ftrandom.c (font_size): New global variable.
77 (TestFace): Use it.
78 (main): Handle new option `--size' to set `font_size'.
79 (Usage): Updated.
80
Werner Lembergbe183eb2007-06-17 11:27:17 +000081 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
82 invalid font.
83 (FNT_Load_Glyph): Protect against invalid bitmap width.
84
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000852007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +000086
Werner Lemberge12ed562007-06-17 05:31:23 +000087 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
88 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +000089
Werner Lemberge12ed562007-06-17 05:31:23 +000090 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
91 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +000092
Werner Lemberge12ed562007-06-17 05:31:23 +000093 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
94 and `zp2'.
95 (Ins_IP): Check argument ranges to reject bogus operations properly.
96 (IUP_WorkerRec): Add `max_points' member.
97 (_iup_worker_interpolate): Check argument ranges.
98 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +000099
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001002007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +0000101
102 * src/winfonts/winfnt.h: Add necessary structures for PE resource
103 parsing.
104 (WinPE32_HeaderRec): New structure.
105 (WinPE32_SectionRec): New structure.
106 (WinPE_RsrcDirRec): New structure.
107 (WinPE_RsrcDirEntryRec): New structure.
108 (WinPE_RsrcDataEntryRec): New structure.
109 (FNT_FontRec): Remove unused `size_shift' field.
110
111 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
112 loading bitmap .fon files in PE format.
113
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001142007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000115
116 * builds/win32/ftdebug.c: Unify debug level handling with other
117 platforms.
118
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001192007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000120
121 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
122 console as well as to the debugger.
123
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001242007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000125
126 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
127 cover all ranges which could possibly be handled by the aflatin
128 module (since the default fallback for unknown ranges is now the
129 afcjk module). It might be necessary to fine-tune this further by
130 splitting off modules for Greek, Cyrillic, or other blocks.
131
David Turnerb7920172007-06-11 05:37:35 +00001322007-06-11 David Turner <david@freetype.org>
133
Werner Lemberg49e18b82007-06-11 21:15:09 +0000134 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
135 incorrect segment linking computation. This was the root cause of
136 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000137
138
Werner Lemberg49e18b82007-06-11 21:15:09 +0000139 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
140 to improve the Latin auto-hinter. Note that the new code is
141 disabled by default since it is not stabilized yet.
142
143 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
144 (disabled currently).
145
146 * src/autofit/afhints.c: Remove dead code.
147 (af_axis_hints_new_edge): Add argument to handle segment directions.
148 (af_edge_flags_to_string): New function.
149 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
150 option flags.
151 (af_glyph_hints_reload): Add argument to handle inflections.
152 Simplify.
153 (af_direction_compute): Fine tuning.
154 (af_glyph_hints_align_edge_points): Fix logic.
155 (af_glyph_hints_align_strong_points): Do linear search for small
156 edge counts.
157 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
158 (af_iup_shift): Handle zero `delta'.
159
160 * src/autofit/afhints.h: Updated.
161 (AF_SORT_SEGMENTS): New macro (disabled).
162 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
163
164 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
165 argument to pass option flags for handling scripts.
166 * src/autofit/afglobal.h: Updated.
167
168 * src/autofit/afcjk.c: Updated.
169 * src/autofit/aflatin.c: Updated.
170 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
171
172 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
173 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
174 Don't set `edge->dir'
175 (af_latin_hint_edges): Add more logging.
176
177 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000178
Werner Lembergf6c120f2007-06-11 04:55:58 +00001792007-06-11 Werner Lemberg <wl@gnu.org>
180
Werner Lembergcf7b7642007-06-11 04:58:01 +0000181 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000182
David Turner84c6f882007-06-10 20:51:04 +00001832007-06-10 David Turner <david@freetype.org>
184
Werner Lembergf6c120f2007-06-11 04:55:58 +0000185 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
186 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000187
Werner Lembergf6c120f2007-06-11 04:55:58 +0000188 * include/freetype/config/ftoption.h: Clarify documentation
189 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000190
Werner Lembergf6c120f2007-06-11 04:55:58 +0000191
192 Add new `FT_Face_CheckTrueTypePatents' API.
193
194 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
195 declaration.
196
197 * include/freetype/internal/services/svttglyf.h,
198 src/base/ftpatent.c: New files.
199
200 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
201 New macro.
202
203 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
204 `ttpload.h'.
205 (tt_service_truetype_glyf): New service structure.
206 (tt_services): Register it.
207
208 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
209 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000210
Werner Lemberg33db39e2007-06-08 06:30:29 +00002112007-06-08 Werner Lemberg <wl@gnu.org>
212
David Turner84c6f882007-06-10 20:51:04 +0000213 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000214 Fonts without a cmap must be handled correctly by FreeType (anything
215 else would be a bug).
216
217
218 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
219 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
220
Werner Lemberg88ab6382007-06-07 05:01:56 +00002212007-06-07 Werner Lemberg <wl@gnu.org>
222
223 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
224 tt_sbit_decoder_load_image): Protect against integer overflows.
225
226
227 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
228 for `x_control' and `y_control'.
229
Werner Lemberg2a2dca62007-06-06 04:39:37 +00002302007-06-06 Werner Lemberg <wl@gnu.org>
231
232 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
233
Werner Lemberga8d65492007-06-06 04:47:49 +0000234
235 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
236 FreeType error.
237
Werner Lemberg470210b2007-06-06 10:05:49 +0000238
239 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
240 `font_count'.
241
242
243 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
244
245
246 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
247 `FT_Error'.
248 Check `fd_index'.
249 (cff_slot_load): Updated.
250 * src/cff/cffgload.h: Updated.
251
Werner Lemberg6c054752007-06-05 05:27:54 +00002522007-06-05 Werner Lemberg <wl@gnu.org>
253
254 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
255 (pfr_glyph_load_simple): Convert assertion into normal FreeType
256 error.
257 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000258 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
259 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000260
261 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
262
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000263
Werner Lemberg470210b2007-06-06 10:05:49 +0000264 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000265
Werner Lemberge5c14d92007-06-05 20:50:37 +0000266
267 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
268 in case of parsing error.
269 (ps_parser_load_field): Updated.
270
271 * src/type1/t1load.c (parse_font_matrix): Updated.
272
Werner Lembergad18b362007-06-04 07:04:05 +00002732007-06-04 Werner Lemberg <wl@gnu.org>
274
275 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
276
277 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
278
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002792007-06-03 Werner Lemberg <wl@gnu.org>
280
Werner Lemberg99a320b2007-06-03 19:21:26 +0000281 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
282 George Williams (with some modifications).
283
2842007-06-03 Werner Lemberg <wl@gnu.org>
285
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000286 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
287 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
288 face == NULL. Suggested by Graham Asher.
289
Werner Lembergce280a22007-06-03 05:58:30 +00002902007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
291
292 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
293
Werner Lemberg5b591e42007-06-01 22:16:43 +00002942007-06-02 Werner Lemberg <wl@gnu.org>
295
296 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
297 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
298
299 * src/bdf/bdflib.c (bdf_load_font): Use them.
300
301 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
302
Werner Lembergb9933f42007-06-01 21:27:12 +00003032007-06-01 Werner Lemberg <wl@gnu.org>
304
305 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
306 (FTC_CMapCache_Lookup): Remove unused code.
307
Werner Lembergc793d902007-06-01 20:51:11 +00003082007-06-01 Sean McBride <sean@rogue-research.com>
309
310 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
311 unused.
312
Werner Lembergbebc7b12007-06-01 06:32:30 +00003132007-06-01 Werner Lemberg <wl@gnu.org>
314
315 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
316 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000317 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000318
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000319 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
320 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
321
Werner Lembergba03af62007-05-30 13:57:02 +00003222007-05-30 Werner Lemberg <wl@gnu.org>
323
324 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
325 against too small binary data strings.
326
327 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
328
David Turnerf0cd69c2007-05-28 15:42:09 +00003292007-05-28 David Turner <david@freetype.org>
330
Werner Lemberg99e0c182007-05-29 07:00:23 +0000331 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
332 transformation. This significantly reduces the loading time of CFF
333 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000334
Werner Lemberg99e0c182007-05-29 07:00:23 +0000335 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000336
Werner Lemberg99e0c182007-05-29 07:00:23 +0000337 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
338 hinting script to CJK, since it works well with more scripts than
339 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
340 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000341
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003422007-05-25 Werner Lemberg <wl@gnu.org>
343
344 * docs/CHANGES: Updated.
345
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00003462007-05-24 Werner Lemberg <wl@gnu.org>
347
348 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
349 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
350
3512007-05-24 Graham Asher <graham.asher@btinternet.com>
352
353 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
354 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
355
David Turner0d0365e2007-05-22 09:53:44 +00003562007-05-22 David Turner <david@freetype.org>
357
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000358 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
359 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000360
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000361
362 Avoid heap blowup with very large .Z font files. This fixes
363 Savannah bug #19910.
364
365 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
366 `in_limit', `pad', `pad_bits', and `in_buff' members.
367 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
368 `buf_total' members.
369
370 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
371 only one argument.
372 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000373
3742007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000375
376 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
377 (ps_dimension_set_mask_bits): Remove `const'.
378
David Turner0d0365e2007-05-22 09:53:44 +00003792007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000380
381 * src/sfnt/ttmtx.c (tt_face_get_metrics)
382 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
383
Werner Lembergb826fa72007-05-19 07:18:48 +00003842007-05-19 Derek Clegg <dclegg@apple.com>
385
386 Savannah patch #5929.
387
388 * include/freetype/tttables.h, src/base/ftobjcs.c
389 (FT_Get_CMap_Format): New function.
390
391 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
392 `format' member.
393 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
394 cmap_info->format.
395
Werner Lemberg6f99c882007-05-19 07:01:49 +00003962007-05-19 Werner Lemberg <wl@gnu.org>
397
398 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
399 before handling subglyphs so that it can be reinitialized each time.
400 This fixes Savannah bug #19859.
401
Werner Lemberg95bc9d32007-05-16 15:19:42 +00004022007-05-16 Werner Lemberg <wl@gnu.org>
403
404 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
405 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
406 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
407 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
408 tt_face_get_metrics): Fix type-punning issues.
409
David Turner0a24bd22007-05-15 10:54:10 +00004102007-05-15 David Turner <david@freetype.org>
411
412 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000413 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
414 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000415 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000416 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000417
Werner Lemberg607dec72007-05-15 06:49:37 +00004182007-05-15 Graham Asher <graham.asher@btinternet.com>
419
420 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
421 variable.
422 * src/autofit/afloader.c (af_loader_load_g): Ditto.
423
424 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
425 (open_face_from_buffer): Initialize `stream'.
426 (FT_Request_Metrics): Remove unused variable.
427 Remove redundant `break' statements.
428 (FT_Get_Track_Kerning): Remove unused variable.
429
430 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
431 afm_parse_kern_data): Remove redundant
432 `break' statements.
433 (afm_parser_parse): Ditto.
434 Don't use uninitialized variables.
435
436 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
437 Use `|' operator instead of `^' to set it.
438 Update all users.
439
440 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
441 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
442
443 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
444 comparison.
445 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
446 (TT_Load_Glyph): Remove unused variable.
447
Werner Lemberg8d463a52007-05-13 16:01:55 +00004482007-05-13 Derek Clegg <dclegg@apple.com>
449
450 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
451 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
452
David Turner711cf842007-05-11 14:36:24 +00004532007-05-11 David Turner <david@freetype.org>
454
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000455 * src/cache/ftbasic.c, include/freetype/ftcache.h
456 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
457 functions that allow us to look up glyphs using an FTC_Scaler object
458 to specify the size, making it possible to use fractional pixel
459 sizes.
460
461 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
462 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000463
Werner Lemberg94be20e2007-05-09 20:02:55 +00004642007-05-09 Graham Asher <graham.asher@btinternet.com>
465
466 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
467 (af_latin_metrics_scale_dim): Fix compiler warnings.
468
Werner Lemberg41271032007-05-06 04:51:48 +00004692007-05-06 Werner Lemberg <wl@gnu.org>
470
471 * builds/win32/visualce/freetype.sln: Removed, as requested by
472 Vincent.
473
Werner Lembergdf49e692007-05-04 06:30:05 +00004742007-05-04 Vincent RICHOMME <richom.v@free.fr>
475
476 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
477 PC targets.
478
479 * docs/CHANGES: Document them.
480
4812007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000482
483 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
484 mmap (which might happen on some RTOS). From Savannah patch #5909.
485
Werner Lemberg106eaf12007-05-03 07:07:47 +00004862007-05-03 Werner Lemberg <wl@gnu.org>
487
488 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
489 * include/freetype/freetype.h (FT_Set_Char_Size): Update
490 documentation.
491
Werner Lemberg1b5267d2007-04-28 21:06:15 +00004922007-04-28 Victor Stinner <victor.stinner@inl.fr>
493
494 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
495 `cmap'.
496
Werner Lembergcc712a22007-04-27 17:16:50 +00004972007-04-27 Werner Lemberg <wl@gnu.org>
498
499 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
500 number of points in contours. Problem reported by Victor Stinner
501 <victor.stinner@haypocalc.com>.
502 (TT_Process_Simple_Glyph): Synchronize variable types.
503
Werner Lemberg45bb18f2007-04-26 06:26:35 +00005042007-04-26 Werner Lemberg <wl@gnu.org>
505
506 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
507 zero in case of error. This fixes Savannah bug #19689.
508
David Turnera8b45e62007-05-11 14:10:30 +00005092007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
510
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000511 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
512 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000513
Werner Lembergfcc1f472007-04-10 11:51:50 +00005142007-04-10 Martin Horak <horakm@centrum.cz>
515
516 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
517 Ignore `hhea' table. This fixes Savannah bug #19261.
518
Werner Lemberg14bf82e2007-04-10 04:09:49 +00005192007-04-09 Werner Lemberg <wl@gnu.org>
520
521 * Version 2.3.4 released.
522 =========================
523
524
525 Tag sources with `VER-2-3-4'.
526
527 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
528 version number to 2.3.4.
529
530 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
531 builds/win32/visualc/freetype.dsp,
532 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
533
534 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
535
536 * builds/unix/configure.raw (version_info): Set to 9:15:3.
537
Werner Lembergf4a52a62007-04-09 08:40:11 +00005382007-04-09 Martin Horak <horakm@centrum.cz>
539
540 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
541 memory stream to avoid a crash with the incremental memory
542 interface (Savannah bug #19260).
543
David Turner1dcb4442007-04-06 08:19:04 +00005442007-04-06 David Turner <david@freetype.org>
545
Werner Lembergc81cf612007-04-06 09:28:23 +0000546 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
547 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000548
Werner Lemberg9f83e052007-04-05 02:28:23 +00005492007-04-04 Werner Lemberg <wl@gnu.org>
550
551 * Version 2.3.3 released.
552 =========================
553
554
555 Tag sources with `VER-2-3-3'.
556
557 * docs/CHANGES: Mention CVE-2007-1351.
558
David Turner7338ec22007-04-03 14:30:34 +00005592007-04-03 David Turner <david@freetype.org>
560
561 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000562 if one of the resolution values is 0, treat it as if it were the
563 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000564
David Turnere6472c12007-04-02 13:13:54 +00005652007-04-02 David Turner <david@freetype.org>
566
Werner Lemberg94f12272007-04-03 07:19:53 +0000567 Add special code to detect `extra-light' fonts and do not snap their
568 stem widths too much to avoid bizarre hinting effects.
569
570 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
571 `extra_light' members.
572
573 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
574 them.
575 (af_latin_metrics_scale_dim): Set `extra_light'.
576 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000577
David Turner3f539692007-03-28 14:53:40 +00005782007-03-28 David Turner <david@freetype.org>
579
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000580 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000581 padding.
582
Werner Lemberga08b2172007-03-28 07:17:17 +00005832007-03-28 Werner Lemberg <wl@gnu.org>
584
585 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
586 gracefully.
587 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000588 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000589 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
590 number of code points in Unicode.
591
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000592 * builds/win32/visualc/index.html,
593 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000594 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000595 s/232/233/.
596
597 * docs/CHANGES: Mention ftdiff.
598
David Turner3b242d32007-03-26 12:03:04 +00005992007-03-26 David Turner <david@freetype.org>
600
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000601 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
602 corresponding code.
603 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000604
Werner Lemberga08b2172007-03-28 07:17:17 +0000605 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000606 computations in order to ignore single-point contours. These are
607 never rasterized and correspond in certain fonts to mark-attach
608 points that are very far from the glyph's real outline, ruining the
609 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000610
Werner Lemberga08b2172007-03-28 07:17:17 +0000611 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000612 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000613 Otherwise code that uses them will most certainly ruin the fixed
614 advance property.
David Turner23553d62007-03-26 13:37:17 +0000615
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000616 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
617 documentation and bump version number to 2.3.3.
618
619 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
620
621 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000622
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00006232007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
624
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000625 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
626 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000627 * builds/vms/ftconfig.h: Ditto.
628 * include/freetype/config/ftconfig.h: Ditto.
629
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00006302007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
631
Werner Lemberg14ffe092007-03-22 06:12:43 +0000632 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
633 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000634 proposed by Sean McBride:
635 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
636
6372007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
638
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000639 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
640 setjmp, proposed by Sean McBride:
641 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
642
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00006432007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
644
Werner Lembergc9f6c662007-03-21 13:30:14 +0000645 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
646 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
647 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000648
David Turner74c34eb2007-03-18 07:19:31 +00006492007-03-18 David Turner <david@freetype.org>
650
Werner Lembergc9f6c662007-03-21 13:30:14 +0000651 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
652 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000653
Werner Lembergc9f6c662007-03-21 13:30:14 +0000654 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000655
David Turner89020d92007-03-17 17:48:57 +00006562007-03-17 David Turner <david@freetype.org>
657
Werner Lembergc9f6c662007-03-21 13:30:14 +0000658 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
659 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000660
Werner Lemberg25d592a2007-03-09 07:59:35 +00006612007-03-09 Werner Lemberg <wl@gnu.org>
662
663 * Version 2.3.2 released.
664 =========================
665
666
667 Tag sources with `VER-2-3-2'.
668
669 * builds/win32/visualc/index.html,
670 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000671 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000672 s/231/232/.
673
David Turner3a51afa2007-03-08 10:50:38 +00006742007-03-08 David Turner <david@freetype.org>
675
Werner Lemberg25d592a2007-03-09 07:59:35 +0000676 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000677
Werner Lemberg25d592a2007-03-09 07:59:35 +0000678 * builds/unix/configure.raw (version_info): Set to 9:13:3.
679
680 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
681
682 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000683
Werner Lemberg1e259de2007-03-08 15:39:21 +0000684 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
685 function to work properly, over-writing user-provided buffers in
686 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000687
David Turner121cad52007-03-08 16:43:50 +0000688
Werner Lemberg3d92f082007-03-06 11:59:24 +00006892007-03-05 Werner Lemberg <wl@gnu.org>
690
691 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
692 macro for `strstr'.
693
694 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
695 `trick_names', as suggested by Ivan Nincic.
696
David Turner085bc6e2007-03-05 17:40:03 +00006972007-03-05 David Turner <david@freetype.org>
698
Werner Lembergd112cf02007-03-06 12:06:56 +0000699 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
700 case FT_Init_FreeType fails for some reason. Problem reported by
701 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000702
Werner Lembergd112cf02007-03-06 12:06:56 +0000703 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
704 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
705 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
706 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000707
Werner Lembergd112cf02007-03-06 12:06:56 +0000708 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
709 signed values, not unsigned ones. Problem reported by Johannes
710 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000711
David Turner601aefe2007-02-21 16:47:49 +00007122007-02-21 David Turner <david@freetype.org>
713
Werner Lembergde5e6862007-02-25 21:06:43 +0000714 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
715 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000716
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00007172007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
718
719 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
720 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
721 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
722
Werner Lemberga0915172007-02-16 08:12:50 +00007232007-02-16 Werner Lemberg <wl@gnu.org>
724
725 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
726 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
727
David Turner2c4500e2007-02-14 15:08:47 +00007282007-02-14 David Turner <david@freetype.org>
729
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000730 It seems that the following changes fix most of the known
731 interpreter problems with my fonts, but more testing is needed,
732 though.
733
734 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
735 (TT_MulFix14): Rewrite.
736 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
737 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000738
Werner Lembergc6a14082007-02-12 22:08:15 +00007392007-02-12 Werner Lemberg <wl@gnu.org>
740
741 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
742 warnings.
743
744 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
745 (bdf_interpret_style): Ditto.
746
David Turnerc0f9c4a2007-02-12 14:55:03 +00007472007-02-12 David Turner <david@freetype.org>
748
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000749 Simplify projection and dual-projection code interface.
750
Werner Lemberg406d25f2007-02-12 22:01:18 +0000751 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
752 FT_Vector' as argument type.
753 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
754 Updated.
755 (CUR_fast_project, CUR_fast_dualproj): New macros.
756 (Project, Dual_Project, Project_x, Project_y): Updated.
757 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
758 macros.
759
760
761 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
762 adjustments for the non-light auto-hinted modes. Gets rid of
763 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000764
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000765 * src/autofit/aflatin.c (af_latin_hints_link_segments,
766 af_latin_hints_compute_edges): Slight optimization of the segment
767 linker and better handling of serif segments to get rid of broken
768 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000769
David Turnerc0f9c4a2007-02-12 14:55:03 +0000770
Werner Lemberg442bfb82007-02-12 21:44:10 +0000771 Introduce new string functions and the corresponding macros to get
772 rid of various uses of strcpy and other `evil' functions, as well as
773 to simplify a few things.
774
775 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
776 ft_mem_strcpyn): New declarations.
777 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
778 macros.
779 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
780 functions.
781
782 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
783 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
784 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
785 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
786 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
787 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
788 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
789 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000790
Werner Lemberg406d25f2007-02-12 22:01:18 +0000791 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
792
Werner Lemberg582067d2007-02-11 15:03:05 +00007932007-02-11 Werner Lemberg <wl@gnu.org>
794
795 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
796 non-spacing glyphs.
797
Werner Lemberg8f474532007-02-07 08:31:01 +00007982007-02-07 Tom Parker <palfrey@tevp.net>
799
800 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
801 pointer.
802
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008032007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
804
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000805 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
806 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000807 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000808 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
809 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
810 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
811 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000812
813 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
814 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000815 * builds/mac/ftmac.c: Ditto.
816
8172007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
818
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000819 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000820 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000821 #include <ftmac.c>.
822
8232007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
824
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000825 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
826 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
827 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
828 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
829 FT_GetFilePath_From_Mac_ATS_Name.
830 * builds/mac/ftmac.c: Ditto.
831
8322007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
833
Werner Lembergdcbb7082007-02-08 08:54:09 +0000834 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000835 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
836 for passing to FT_New_Face_From_FSSpec.
837
8382007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
839
Werner Lembergdcbb7082007-02-08 08:54:09 +0000840 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000841 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000842
843 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
844 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000845 * builds/mac/ftmac.c (OS_INLINE): Ditto.
846
Werner Lemberg313d7772007-02-01 08:10:45 +00008472007-02-01 Werner Lemberg <wl@gnu.org>
848
849 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
850 Explain why applications shouldn't use it. Found by Alexei.
851
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008522007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000853
854 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
855 message.
856
857 * src/gxvalid/gxvmort1.c
858 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
859 message.
860
Werner Lemberg53935932007-01-31 08:53:02 +00008612007-01-31 Werner Lemberg <wl@gnu.org>
862
863
864 * Version 2.3.1 released.
865 =========================
866
867
868 Tag sources with `VER-2-3-1-FINAL'.
869
870 * builds/win32/visualc/freetype.dsp,
871 builds/win32/visualc/freetype.vcproj: s/230/231/.
872 * builds/win32/visualc/index.html: s/221/231/.
873
874 * vms_make.com: Add `ftgasp'.
875
David Turnera7ee6082007-01-30 10:33:53 +00008762007-01-30 David Turner <david@freetype.org>
877
Werner Lemberg53935932007-01-31 08:53:02 +0000878 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000879
Werner Lemberg53935932007-01-31 08:53:02 +0000880 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000881
Werner Lemberg25d592a2007-03-09 07:59:35 +0000882 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000883 s/2.3.0/2.3.1/.
884
885 * builds/unix/configure.raw (version_info): Set to 9:12:3.
886
887
888 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
889 (af_loader_load_g): Disable the warper (i.e., the light hinting
890 improvements) to make a 2.3.1 bugfix release before introducing a
891 new feature. This should give us more time to tune and improve the
892 warper for the next release.
893
894 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000895
David Turnerd91eebd2007-01-26 15:05:41 +00008962007-01-25 David Turner <david@freetype.org>
897
Werner Lembergbf241762007-01-26 16:08:49 +0000898 For light auto-hinting, improve glyph advance widths and resurrect
899 normal/full hinting to its normal quality.
900
901 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
902 and `xmax_delta'.
903 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
904 and `xmax_delta'.
905
906 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
907 preprocessor conditional with if-clause, handling both light and
908 normal mode.
909
910 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
911 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000912
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00009132007-01-25 Werner Lemberg <wl@gnu.org>
914
915 * docs/release: Updated -- Savannah uses a new uploading scheme.
916
David Turnera42567b2007-01-25 12:23:37 +00009172007-01-25 David Turner <david@freetype.org>
918
Werner Lembergd7855662007-01-25 13:53:56 +0000919 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000920
Werner Lembergd7855662007-01-25 13:53:56 +0000921 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
922 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
923 functions.
David Turnera42567b2007-01-25 12:23:37 +0000924
Werner Lembergd7855662007-01-25 13:53:56 +0000925 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000926
Werner Lembergb1be9e82007-01-25 11:50:00 +00009272007-01-25 Werner Lemberg <wl@gnu.org>
928
929 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000930 correctly in a sanity check. Since this function is only used to
931 load local and global functions, any charstring that called the last
932 local/global function would fail otherwise. This fixes Savannah bug
933 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000934
935 * docs/CHANGES: Document it.
936
David Turnerb6de8d12007-01-23 15:51:50 +00009372007-01-23 David Turner <david@freetype.org>
938
Werner Lembergb1be9e82007-01-25 11:50:00 +0000939 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
940 prevented compilation when disabling both the unpatented and the
941 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000942
Werner Lembergb1be9e82007-01-25 11:50:00 +0000943
944 Fix and enable the warper to improve `light' hinting mode. This is
945 not necessarily a final version, but it seems to work well.
946
947 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
948 Disable code.
949 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
950 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
951
952 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
953 (af_warper_compute_line_best): Fix array size of `scores'.
954 (af_warper_compute): Better handling of border cases.
955 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
956 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000957
Werner Lemberg011d1112007-01-21 09:36:00 +00009582007-01-21 Werner Lemberg <wl@gnu.org>
959
Werner Lemberg42b63b22007-01-21 21:01:33 +0000960 * ChangeLog: Split off older entries into...
961 * ChangeLog.22: This new file.
962
9632007-01-21 Werner Lemberg <wl@gnu.org>
964
Werner Lemberg555258f2007-01-21 09:46:37 +0000965 * docs/CHANGES: Document SHZ fix.
966
9672007-01-21 George Williams <gww@silcom.com>
968
969 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
970 points.
971
9722007-01-21 Werner Lemberg <wl@gnu.org>
973
Werner Lemberg011d1112007-01-21 09:36:00 +0000974 * src/sfnt/ttmtx.c (tt_face_get_metrics)
975 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
976
Werner Lemberg87a5a432007-01-17 12:44:39 +00009772007-01-17 Werner Lemberg <wl@gnu.org>
978
Werner Lembergb8003292007-01-17 12:56:25 +0000979
980 * Version 2.3.0 released.
981 =========================
982
983
984 Tag sources with `VER-2-3-0-FINAL'.
985
9862007-01-17 Werner Lemberg <wl@gnu.org>
987
Werner Lemberg87a5a432007-01-17 12:44:39 +0000988 * docs/release: Updated.
989
David Turner22122722007-01-16 20:06:44 +00009902007-01-16 David Turner <david@freetype.org>
991
Werner Lemberg87a5a432007-01-17 12:44:39 +0000992 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
993 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
994 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
995 warnings.
David Turner22122722007-01-16 20:06:44 +0000996
Werner Lemberg267e1d72007-01-15 07:48:09 +00009972007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
998
999 * builds/amiga/makefile, builds/amiga/makefile.os4,
1000 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
1001
1002 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
1003
Werner Lemberg8c4120d2007-01-15 06:42:40 +000010042007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
1005
1006 Fix various compiler warnings.
1007
1008 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
1009 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
1010 s/index/strike_index/.
1011 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1012
1013 * src/gxvalid/gxvmorx5.c
1014 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1015
1016 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1017 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1018 uninitialized variables.
1019
Werner Lemberg6164a9d2007-01-13 23:01:36 +000010202007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1021
1022 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1023
Werner Lemberg281c1482007-01-13 22:50:51 +000010242007-01-13 Werner Lemberg <wl@gnu.org>
1025
1026 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1027 versions up to 0x3FF without complaining.
1028
Werner Lembergac250b22007-01-13 14:01:36 +000010292007-01-13 Derek Clegg <dclegg@apple.com>
1030
1031 Add FT_Get_PS_Font_Info interface to CFF driver.
1032
1033 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1034 (CFF_FontRec): Add `font_info' field.
1035
1036 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1037 (cff_font_done): Free font->font_info if necessary.
1038
1039 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1040 (cff_service_ps_info): Register cff_ps_get_font_info.
1041
Werner Lemberg23df31a2007-01-13 08:45:00 +000010422007-01-13 Werner Lemberg <wl@gnu.org>
1043
1044 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1045 with C++ compiler.
1046
1047 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1048 af_glyph_hints_dump_edges): Ditto.
1049
1050 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1051 `modules.cfg').
1052
1053 * src/sfnt/ttsbit0.h: Remove.
1054
1055 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1056
Werner Lemberg27cf9de2007-01-13 07:34:23 +000010572007-01-12 David Turner <david@freetype.org>
1058
1059 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1060 bug in the bitmap emboldener if the pitch of the source bitmap is
1061 much larger than its width.
1062
1063 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1064 compilation warning.
1065
Werner Lemberg6d96d312007-01-12 10:30:19 +000010662007-01-12 Werner Lemberg <wl@gnu.org>
1067
1068 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1069 `automake' CVS module from sources.redhat.com.
1070
Werner Lemberg17432b52007-01-12 09:28:44 +000010712007-01-11 Werner Lemberg <wl@gnu.org>
1072
1073 * src/type1/t1load.c (is_space): Removed.
1074 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1075 (parse_charstrings): Use IS_PS_TOKEN.
1076
1077
1078 * autogen.sh: Avoid bash specific syntax.
1079
David Turner038ace22007-01-11 15:00:59 +000010802007-01-11 David Turner <david@freetype.org>
1081
Werner Lemberg17432b52007-01-12 09:28:44 +00001082 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001083
Werner Lemberg17432b52007-01-12 09:28:44 +00001084 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001085
Werner Lemberg17432b52007-01-12 09:28:44 +00001086 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1087 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001088 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001089
Werner Lemberg17432b52007-01-12 09:28:44 +00001090 * autogen.sh: Small fix to get it working on Mac OS X properly:
1091 The issue is that GNU libtool is called `glibtool' on this platform,
1092 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001093
David Turner2628ea92007-01-10 13:15:56 +000010942007-01-10 David Turner <david@freetype.org>
1095
Werner Lemberg17432b52007-01-12 09:28:44 +00001096 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1097 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001098
Werner Lemberg17432b52007-01-12 09:28:44 +00001099 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1100 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1101 version number to 2.3.0.
1102
1103 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1104 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001105
1106 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001107 include/freetype/ftlcdfil.h: Update reference documentation with
1108 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001109
Werner Lemberg17432b52007-01-12 09:28:44 +00001110 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1111 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001112
Werner Lembergbf02d392007-01-10 07:07:37 +000011132007-01-10 Derek Clegg <dclegg@apple.com>
1114
1115 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1116 values.
1117
David Turnerf48b60e2007-01-08 15:15:32 +000011182007-01-08 David Turner <david@freetype.org>
1119
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001120 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001121
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001122 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1123 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001124 corresponding to a given character pixel size.
1125
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001126 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1127 `gasp' table, in order to avoid potential problems with later
1128 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001129
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001130 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1131 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001132
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001133 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1134 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1135 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1136 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001137
Werner Lemberge6b6f372007-01-07 00:06:47 +000011382007-01-07 Werner Lemberg <wl@gnu.org>
1139
Werner Lembergb8004d22007-01-07 09:13:38 +00001140 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1141 Type 11 fonts.
1142 Scan for `/sfnts' token.
1143
11442007-01-07 Werner Lemberg <wl@gnu.org>
1145
1146 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001147
Werner Lembergbe5f7972007-01-06 07:51:48 +000011482007-01-06 Werner Lemberg <wl@gnu.org>
1149
1150 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1151 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1152
David Turnera8cf42b2007-01-04 16:46:46 +000011532007-01-04 David Turner <david@freetype.org>
1154
Werner Lembergf6294392007-01-06 07:47:45 +00001155 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1156 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001157
Werner Lembergf6294392007-01-06 07:47:45 +00001158
1159 Do not allocate interpreter-specific tables in memory if we are not
1160 going to load glyphs with the bytecode interpreter anyway.
1161
1162 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1163 only if glyph is hinted.
1164 Updated.
1165 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1166 and `cvs_ready'.
1167 Add `tt_size_ready_bytecode' declaration.
1168 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1169 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1170 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1171 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1172 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001173
David Turner91a34022007-01-05 14:47:08 +00001174
Werner Lembergf6294392007-01-06 07:47:45 +00001175 Don't extract the metrics table from the SFNT font file. Instead,
1176 reparse it on each glyph load. The runtime difference is not
1177 noticeable, and it can save a lot of heap memory when memory-mapped
1178 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001179
Werner Lembergf6294392007-01-06 07:47:45 +00001180 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1181 `horz_metrics_offset' and `vert_metrics_ofset'.
1182 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1183 Updated.
1184
1185
1186 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1187
1188
1189 Do not load the CFF index offsets into memory, since this wastes a
1190 *lot* of heap memory with large Asian CFF fonts. There is no
1191 significant performance loss.
1192
1193 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1194 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1195 `data_size'.
1196 (CFF_CharsetRec): Add field `num_glyphs'.
1197
1198 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1199 cff_charset_cid_to_gindex): New functions.
1200 (cff_new_index): Renamed to...
1201 (cff_index_init): This. Update all callers.
1202 Updated -- some code has been moved to `cff_index_load_offsets'.
1203 (cff_done_index): Renamed to...
1204 (cff_index_done): This. Update all callers.
1205 (cff_index_get_pointers, cff_index_access_element): Updated to use
1206 stream offsets.
1207 (cff_charset_compute_cids): Set `num_glyphs' field.
1208 (cff_encoding_load): Updated.
1209
1210 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001211
12122007-01-04 David Turner <david@freetype.org>
1213
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001214 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1215 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001216
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001217 * README.CVS: Add common problem description and solution
1218 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001219
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001220 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001221
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001222 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001223
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001224 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001225
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001226 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1227 (TWorker): This.
1228 Remove `count_table' and `memory'.
1229 Make `grays' a pointer.
1230 (TRaster): New structure.
1231 (count_table): New static array.
1232 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1233 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1234 ft_black_set_mode, ft_black_render): Updated.
1235 (ft_black_init): Don't initialize `count_table'.
1236 (ft_black_reset): Use the render pool. This saves about 6KB of
1237 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001238
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001239 * src/smooth/ftgrays.c (TRaster): Replaced with...
1240 (TWorker): This.
1241 Remove `memory'.
1242 (TRaster): New structure.
1243
1244 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1245 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1246 gray_render_span, gray_raster_render): Updated.
1247 (gray_raster_reset): Use the render pool. This saves about 6KB of
1248 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001249
David Turner8a6c44e2007-01-04 17:03:11 +00001250 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1251 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001252 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1253 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1254 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001255
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001256 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1257 Remove a typo that results in no hinting and a memory leak with some
1258 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001259
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001260 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001261 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001262 CFF_Faces in it. We need to close all faces before destroying the
1263 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001264
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000012652007-01-02 Werner Lemberg <wl@gnu.org>
1266
1267 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1268 Remove compiler warning.
1269
David Turner9207e002007-01-02 16:58:13 +000012702007-01-02 David Turner <david@freetype.org>
1271
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001272 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001273
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000012742006-12-31 Masatake YAMATO <jet@gyve.org>
1275
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001276 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1277 function.
1278 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001279 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001280 `gxv_kern_subtable_fmt0_pairs_validate'.
1281
David Turner115b4422006-12-22 11:37:05 +000012822006-12-22 David Turner <david@freetype.org>
1283
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001284 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1285 warnings.
David Turner115b4422006-12-22 11:37:05 +00001286
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001287 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1288 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001289
Werner Lemberg4755bf72006-12-16 08:58:44 +000012902006-12-16 Anders Kaseorg <anders@kaseorg.com>
1291
1292 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1293 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1294
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000012952006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1296
Werner Lemberg9b774e22007-01-16 06:11:27 +00001297 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001298 sync with the modification by Jens Claudius on 2006-08-22; cf.
1299 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 +00001300
13012006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1302
1303 * src/base/ftmac.c: Specialized for Mac OS X only.
1304 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1305 * builds/unix/configure.raw: Ditto. When explicit switches for
1306 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1307 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1308
13092006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1310
1311 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1312 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1313 instead of src/base/ftmac.c
1314 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1315 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1316 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1317 that cannot be built at present.
1318
13192006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1320
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001321 * src/base/ftobjs.c: Improvement of resource fork handler for
1322 POSIX, cf.
1323 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001324 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1325 format or .dfont, to simulate the face index number counted by ftmac.c.
1326 (IsMacResource): Return the number of scalable faces correctly.
1327
Werner Lembergec5b4502006-12-10 07:51:38 +000013282006-12-10 Werner Lemberg <wl@gnu.org>
1329
1330 * builds/toplevel.mk (version): Protect against `distclean' target.
1331
Werner Lembergb26b3142006-12-09 20:01:43 +000013322006-12-09 Werner Lemberg <wl@gnu.org>
1333
1334 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1335 or `type'.
1336
1337 * builds/freetype.mk (version): Extracted from freetype.h, using
1338 GNU make's built-in string functions.
1339 (refdoc): Use $(version) instead of static version number.
1340
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000013412006-12-08 Werner Lemberg <wl@gnu.org>
1342
1343 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1344
Werner Lemberg15c29502006-12-09 07:29:54 +000013452006-12-08 Vladimir Volovich <vvv@vsu.ru>
1346
1347 * src/tools/apinames (State): Remove final comma in structure -- xlc
1348 v5 under AIX 4.3 doesn't like this.
1349
David Turnerdbf3b432006-12-07 21:18:09 +000013502006-12-07 David Turner <david@freetype.org>
1351
Werner Lemberg256a3512006-12-08 06:49:33 +00001352 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1353 to the spacing of auto-fitted glyphs. This only impacts rare
1354 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001355
Werner Lemberg11171312006-12-03 09:43:40 +000013562006-12-03 Werner Lemberg <wl@gnu.org>
1357
1358 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1359
Werner Lemberg960ba592006-12-01 08:20:47 +000013602006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001361
Werner Lemberg960ba592006-12-01 08:20:47 +00001362 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1363 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1364 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001365
David Turner80658e52006-11-28 08:09:20 +00001366
Werner Lemberg960ba592006-12-01 08:20:47 +00001367 * include/freetype/ftxf86.h: Fix and extend comment so that it
1368 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001369
Werner Lemberg960ba592006-12-01 08:20:47 +00001370 * include/freetype/ftchapters.h: Add `font_format' section.
1371
1372
1373 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1374 to TOC in index page.
1375
13762006-11-28 David Turner <david@freetype.org>
1377
1378 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1379 trying to render into a zero-width/height bitmap, not an error code.
1380
1381 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1382
1383 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1384 ones instead.
1385
1386 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1387 variable.
David Turner80658e52006-11-28 08:09:20 +00001388
Werner Lemberg8636c292006-11-26 22:28:13 +000013892006-11-26 Pierre Hanser <hanser@club-internet.fr>
1390
1391 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1392
Werner Lemberg960ba592006-12-01 08:20:47 +000013932006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001394
Werner Lemberg960ba592006-12-01 08:20:47 +00001395 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1396 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1397 Add stubs to link the `ftgrid' test program when debugging is
1398 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001399
Werner Lemberg960ba592006-12-01 08:20:47 +000014002006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001401
1402 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001403 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1404
1405 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1406 Emit more sensible information.
1407
1408 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1409
1410 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1411 rounding of blue values.
1412 (af_latin_hints_compute_segments): Hint segment heights.
1413 (af_latin_hints_link_segments): Reduce `len_score' value.
1414 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1415 value and use `height' member for comparisons.
1416 (af_latin_hint_edges): Extend logging message.
1417 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001418
Werner Lemberg91959bf2006-11-22 10:36:55 +000014192006-11-22 Werner Lemberg <wl@gnu.org>
1420
1421 Fix Savannah bug #15553.
1422
1423 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1424 program after a change from mono to grayscaling (and vice versa).
1425 Use correct constant for comparison to get `exec->grayscale'.
1426
Werner Lemberg913a3652006-11-19 09:19:17 +000014272006-11-18 Werner Lemberg <wl@gnu.org>
1428
1429 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001430 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001431 This patch fixes Savannah bug #18301.
1432
1433 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1434 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1435 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1436 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1437 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1438 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1439 (FNT_Load_Glyph): Check validity of `glyph_index'.
1440
David Turner7bab6ae2006-11-13 11:25:06 +000014412006-11-13 David Turner <david@freetype.org>
1442
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001443 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1444 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001445
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001446 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1447 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1448 when building the library to change the default LCD filter to be
1449 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001450
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001451 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001452
David Turner8765c712006-11-10 16:49:42 +000014532006-11-10 David Turner <david@freetype.org>
1454
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001455 * src/smooth/ftsmooth.c: API change for the LCD
1456 filter. The FT_LcdFilter value is an enumeration describing which
1457 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1458 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1459 algorithm which produces strong color fringes for everything
1460 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001461
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001462 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1463 second parameter to an enum type.
1464
1465 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1466 (_ft_lcd_filter): Rename to...
1467 (_ft_lcd_filter_fir): This.
1468 Update parameters.
1469 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1470 (FT_Library_Set_LcdFilter): Update parameters.
1471 Handle new filter modes.
1472
1473 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1474 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1475 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1476 callback and update other fields.
1477
1478 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1479 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1480 Other minor improvements.
1481
1482 * src/autofit/aflatin.c: Various tiny improvements that drastically
1483 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1484 (af_latin_hints_compute_edges): Fix typo.
1485 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001486
David Turner4e9cc3c2006-11-09 16:31:52 +000014872006-11-09 David Turner <david@freetype.org>
1488
Werner Lemberg49c77a82006-11-09 21:51:57 +00001489 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1490 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001491
Werner Lemberg5e430892006-11-07 09:35:03 +000014922006-11-07 Zhe Su <james.su@gmail.com>
1493
1494 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1495 also.
1496
Werner Lemberg111b5ae2006-11-03 09:40:12 +000014972006-11-03 Werner Lemberg <wl@gnu.org>
1498
1499 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1500
David Turner40604742006-11-02 16:37:35 +000015012006-11-02 David Turner <david@freetype.org>
1502
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001503 Add a few tweaks to better handle serif fonts.
1504 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001505
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001506 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1507 segments that are less than 1.5 pixels high. This gets rid of
1508 *many* corner cases with serifs.
1509 (af_latin_align_linked_edge): Add logging message.
1510 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1511 Add logging messages.
1512 Handle AF_EDGE_FLAG flag specially.
1513
1514 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1515 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1516
1517 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1518 Update external declarations.
1519 (af_corner_orientation, af_corner_is_flat): Replaced by...
1520
1521 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1522 ft_corner_is_flat): These declarations.
1523
1524 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1525 Comment out. Replaced by...
1526
1527 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1528 These functions. Update all callers.
1529 (FT_Add64) [!FT_LONG64]: Simplify.
1530
1531 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1532 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1533 production of garbage by missing lots of segments.
1534
1535 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1536
1537 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1538 [AF_DEBUG]: Set _af_debug_hints.
1539
1540
1541 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1542 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1543 and ft_corner_orientation.
1544
1545
1546 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001547
Werner Lemberge88c5262006-10-24 05:46:26 +000015482006-10-24 Werner Lemberg <wl@gnu.org>
1549
1550 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1551
1552 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1553 as argument.
1554
David Turnera1861392006-10-23 16:00:59 +000015552006-10-23 Zhe Su <zsu@novell.com>
1556
Werner Lemberg715e96e2006-10-24 05:28:45 +00001557 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1558 better deal with broken Asian fonts with strange glyphs, having
1559 self-intersections and other peculiarities. The used algorithm is
1560 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001561
David Turnere140f142006-10-23 08:56:57 +000015622006-10-23 David Turner <david@freetype.org>
1563
Werner Lemberg715e96e2006-10-24 05:28:45 +00001564 Speed up the CFF font loader. With some large CFF fonts,
1565 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001566
Werner Lemberg715e96e2006-10-24 05:28:45 +00001567 * src/cff/cffload.c (cff_get_offset): Removed.
1568 (cff_new_index): Inline functionality of `cff_get_offset'.
1569 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1570 (cff_charset_done): Call `cff_charset_free_cids'.
1571 (cff_charset_load): Call `cff_charset_compute_cids'.
1572 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1573
1574 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1575 with FT_NEXT_XXX.
1576
1577
1578 Speed up the Postscript hinter, with more than 100% speed increase
1579 on my machine.
1580
1581 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1582 psh_corner_orientation): New functions.
1583 (psh_glyph_compute_inflections): Merge loops for efficiency.
1584 Use `psh_corner_orientation'.
1585 (psh_glyph_init): Use `psh_corner_is_flat'.
1586 (psh_hint_table_find_strong_point): Renamed to...
1587 (psh_hint_table_find_strong_points): This.
1588 Rewrite, adding argument to handle all points at once.
1589 Update all callers.
1590 (PSH_MAX_STRONG_INTERNAL): New macro.
1591 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001592
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000015932006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1594
1595 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001596 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001597
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000015982006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1599
1600 * docs/INSTALL.CROSS: New document file for cross-building.
1601
1602 * builds/unix/configure.raw: Preliminary cross-building support.
1603 Find native C compiler and pass it by CC_BUILD, and
1604 find suffix for native executable and pass it by EXEEXT_BUILD.
1605 Also suffix for target executable is passed by EXEEXT.
1606
Werner Lembergb9e6d692006-10-15 08:58:40 +00001607 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1608 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001609 CC_BUILD and EXEEXT_BUILD.
1610
Werner Lembergb9e6d692006-10-15 08:58:40 +00001611 * builds/exports.mk (APINAMES_EXE): Change the extension for
1612 apinames from the suffix for target (E) to that for building host
1613 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001614
Werner Lemberg82a07e92006-10-12 06:20:44 +000016152006-10-12 Werner Lemberg <wl@gnu.org>
1616
1617 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1618 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1619 which reference those files.
1620
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000016212006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1622
Werner Lembergb9e6d692006-10-15 08:58:40 +00001623 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1624 embedded in freetype2.pc and freetype-config. Use it to record
1625 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001626
1627 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1628
1629 * builds/unix/freetype-config.in: Ditto.
1630
Werner Lemberg28e17d92006-10-11 17:27:47 +000016312006-10-11 Werner Lemberg <wl@gnu.org>
1632
1633 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1634 development.
1635
Jens Claudius336d2292006-10-03 08:53:37 +000016362006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1637
1638 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1639 argument to ft_setjmp.
1640
1641 * include/freetype/internal/ftvalid.h: Add comment that
1642 ft_validator_run must not be used.
1643
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016442006-10-01 Werner Lemberg <wl@gnu.org>
1645
1646 * src/base/ftbase.c: Undo change from 2006-09-30.
1647
1648 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1649
16502006-09-30 David Turner <david@freetype.org>
1651
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001652 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1653 s/unpatented_hinting/ignore_unpatented_hinter/.
1654 Update all callers.
1655
1656 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1657 auto-hinting shall be used or not.
1658
1659 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001660
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016612006-09-30 Werner Lemberg <wl@gnu.org>
1662
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001663 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1664 in use).
1665
1666 * src/base/ftbase.c: Include `ftlcdfil.c'.
1667
Werner Lemberg9b15ea32006-09-29 18:22:11 +000016682006-09-29 Werner Lemberg <wl@gnu.org>
1669
1670 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1671 overlapping segments. Bug reported by Stefan Koch.
1672
David Turnerad830712006-09-27 16:20:59 +000016732006-09-28 David Turner <david@freetype.org>
1674
Werner Lemberg2c002e12006-09-29 21:31:53 +00001675 Fix a bug in the automatic unpatented hinting support which prevents
1676 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001677
Werner Lemberg2c002e12006-09-29 21:31:53 +00001678 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1679 s/force_autohint/unpatented_hinting/. Update all callers.
1680
1681 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1682
1683 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001684
David Turner8a317cf2006-09-27 07:52:48 +000016852006-09-27 David Turner <david@freetype.org>
1686
Werner Lemberg2c002e12006-09-29 21:31:53 +00001687 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001688
David Turner8a317cf2006-09-27 07:52:48 +00001689
David Turnere140f142006-10-23 08:56:57 +00001690 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001691 In a default build, the function `FT_Library_SetLcdFilter' returns
1692 `FT_Err_Unimplemented_Feature'; you need to #define
1693 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1694 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001695
Werner Lemberg2c002e12006-09-29 21:31:53 +00001696 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001697
Werner Lemberg2c002e12006-09-29 21:31:53 +00001698 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1699 typedef.
1700 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1701 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001702
Werner Lemberg2c002e12006-09-29 21:31:53 +00001703 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1704 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001705
Werner Lemberg2c002e12006-09-29 21:31:53 +00001706 Handle subpixel rendering.
1707 Simplify function.
1708 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1709 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1710
1711 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1712 pointing to <freetype/ftlcdfil.h>.
1713
1714 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1715 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1716
1717 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001718
Werner Lemberge20df4a2006-09-27 06:29:21 +000017192006-09-26 David Bustin
1720
1721 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1722 correctly. Reported as Savannah bug #17843.
1723
David Turner6f8c6222006-09-26 15:42:44 +000017242006-09-26 David Turner <david@freetype.org>
1725
Werner Lemberg110246c2006-09-26 21:55:44 +00001726 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1727 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1728 horizontal and vertical hinting for the purpose of debugging the
1729 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001730
Werner Lemberg110246c2006-09-26 21:55:44 +00001731 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1732 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001733
Werner Lemberg110246c2006-09-26 21:55:44 +00001734 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1735
1736 * include/freetype/config/ftoption.h, devel/ftoption.h
1737 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1738 we want to compile LCD-optimized rendering code (à la ClearType) or
1739 not. The macro *must* be disabled in default builds of the library
1740 for patent reasons.
1741
1742 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1743 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1744 isn't defined at compile time. This only changes the content of the
1745 rendered glyph to match the one of normal gray-level rendering,
1746 hence clients should not need to be modified.
1747
1748 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001749
Werner Lemberg745ff2c2006-09-19 05:48:02 +000017502006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1751
1752 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1753 LWFN fails and both are available.
1754
David Turnerf3050052006-09-11 12:00:32 +000017552006-09-11 David Turner <david@freetype.org>
1756
Werner Lembergf9644552006-09-12 13:48:10 +00001757 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1758 report their English names through an Apple Roman
1759 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001760
Werner Lembergf9644552006-09-12 13:48:10 +00001761 If the font uses another name entry with language_id == English, it
1762 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001763
Werner Lembergf9644552006-09-12 13:48:10 +00001764 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1765 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001766
Werner Lemberg36d2eab2006-09-05 19:24:34 +000017672006-09-05 Werner Lemberg <wl@gnu.org>
1768
1769 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001770 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001771 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1772 `HAN NOM B.ttf').
1773
1774 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1775
David Turner772e55d2006-09-05 09:45:15 +000017762006-09-05 David Turner <david@freetype.org>
1777
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001778 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001779
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001780 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1781 (TRaster): Remove `count_ex' and `count_ey'.
1782 (gray_find_cell): Remove 2nd and 3rd argument.
1783 (gray_alloc_cell): Merged with `gray_find_cell'.
1784 (gray_record_cell): Simplify.
1785 (gray_set_cell): Rewrite.
1786 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1787 (gray_render_span): Don't use FT_MEM_SET for small values.
1788 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1789 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1790 bitmap scanline.
1791 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001792
David Turneraa557a92006-09-04 16:42:44 +000017932006-09-04 David Turner <david@freetype.org>
1794
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001795 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1796 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001797
Werner Lemberg2d8629b2006-09-03 06:18:45 +000017982006-09-03 Werner Lemberg <wl@gnu.org>
1799
1800 * devel/ftoption.h: Synchronize with
1801 include/freetype/config/ftoption.h.
1802
1803 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1804 variable declaration.
1805 (gray_convert_glyph): Fix compiler warnings.
1806
David Turner6d79f212006-09-01 14:09:35 +000018072006-09-01 David Turner <david@freetype.org>
1808
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001809 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1810 to recognize a few fonts that require the automatic unpatented
1811 loader.
David Turnerbd502952006-09-01 19:05:24 +00001812
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001813 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1814 rasterizer. The speed improvement is between 15% and 25%, depending
1815 on the font data.
1816
1817 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1818 (TCell): Redefine.
1819 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1820 (gray_init_cells): Updated.
1821 (gray_find_cell, gray_alloc_cell): New functions.
1822 (gray_record_cell): Rewritten to use `gray_find_cell' and
1823 `gray_alloc_cell'.
1824 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1825 QSORT_THRESHOLD):
1826 Removed.
1827 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1828 gray_dump_cells): Removed.
1829 (gray_sweep): Rewritten.
1830 (gray_convert_glyph): Rewrite code which used one of the sorting
1831 functions.
1832 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001833
Werner Lembergd898aed2006-08-29 09:50:34 +000018342006-08-29 Dr. Werner Fink <werner@suse.de>
1835
1836 * configure: Make it possible to handle configure options which
1837 have strings containing spaces.
1838
18392006-08-27 David Turner <david@freetype.org>
1840
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001841 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1842 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1843 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1844
1845 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1846 src/truetype/truetype.c, src/truetype/ttdriver.c,
1847 src/truetype/ttgload.c, src/truetype/ttgload.h,
1848 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1849 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1850 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1851
1852 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1853 member `force_autohint'.
1854
1855 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1856
1857 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1858 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001859
Jens Claudiusa787f452006-08-27 11:26:18 +000018602006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1861
1862 Fix miscellaneous compiler warnings.
1863
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001864 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1865 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001866
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001867 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1868 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1869 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001870
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001871 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1872 volatileness of argument to ft_longjmp. Spotted by Werner
1873 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001874
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001875 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1876 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001877
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001878 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1879 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001880
Werner Lembergc4c35b72006-08-27 08:03:46 +000018812006-08-27 Werner Lemberg <wl@gnu.org>
1882
1883 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1884 Reported by Jens.
1885
Jens Claudius088e44e2006-08-22 14:24:30 +000018862006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001887
Jens Claudius088e44e2006-08-22 14:24:30 +00001888 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001889 about addresses of volatile objects passed as function arguments as
1890 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001891
Werner Lembergc4c35b72006-08-27 08:03:46 +00001892 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1893 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001894
1895 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1896 argument `table' a pointer to a volatile object.
1897
1898 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1899 argument `table' a pointer to a volatile object.
1900
Jens Claudius2652bd52006-08-18 17:20:37 +000019012006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1902
1903 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1904 variable `_sfnt' as volatile since it must keep its value across
1905 a call to ft_setjmp.
1906 (gxv_validate): Same for local variables `memory' and `valid'.
1907 (classic_kern_validate): Same for local variables `memory',
1908 `ckern', and `valid'.
1909
1910 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1911 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1912 `jstf', and 'valid'.
1913
1914 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1915 local variable `cmap'.
1916
David Turner9fbfc6a2006-08-16 09:11:31 +000019172006-08-16 David Turner <david@freetype.org>
1918
Werner Lemberg12342992006-08-19 11:18:09 +00001919 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1920 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001921
Werner Lemberg12342992006-08-19 11:18:09 +00001922 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1923 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001924
David Turner33f5f242006-08-16 16:50:55 +00001925
Werner Lemberg12342992006-08-19 11:18:09 +00001926 Improvements to native TrueType hinting. This is a first try,
1927 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1928
1929 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1930 `extra_points2'.
1931
1932 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1933 `orus'.
1934
1935 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1936 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1937 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1938 handle `extra_points2'.
1939
1940 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1941 Remove compiler warning.
1942 (cur_to_arg): Remove macro.
1943 (TT_Hint_Glyph): Updated.
1944 (TT_Process_Simple_Glyph): Handle `orus'.
1945
1946 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1947 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1948 (LOC_Ins_IUP): Renamed to...
1949 (IUP_WorkerRec): This.
1950 Add `orus' member.
1951 (Shift): Renamed to...
1952 (_iup_worker_shift): This.
1953 Updated.
1954 (Interp): Renamed to...
1955 (_iup_worker_interpolate): This.
1956 Updated to handle `orus'.
1957 (Ins_IUP): Updated.
1958
1959 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1960 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001961
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000019622006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1963
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001964 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001965 build ftvalid in ft2demos. This has been inadvertedly changed
1966 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001967
19682006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1969
Werner Lemberg12342992006-08-19 11:18:09 +00001970 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1971 Jens:
1972 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001973
Werner Lemberg12342992006-08-19 11:18:09 +00001974 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1975 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001976
1977 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1978
Jens Claudius9950adc2006-08-13 12:14:36 +000019792006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1980
Werner Lemberg12342992006-08-19 11:18:09 +00001981 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1982 T1_TOKEN_TYPE_KEY.
1983 (T1_FieldRec): Add `dict'.
1984 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1985 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1986 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001987
Werner Lemberg12342992006-08-19 11:18:09 +00001988 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1989 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001990
1991 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1992
1993 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001994 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1995 not T1_TOKEN_TYPE_ANY.
1996 (ps_parser_load_field): Make sure a token that should be a string or
1997 name is really a string or name.
1998 Avoid memory leak if a keyword has been already encountered and its
1999 value is overwritten.
2000 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
2001 T1_FIELD_XXX.
2002 (parse_dict): Ignore keywords that occur in the wrong dictionary
2003 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00002004
Werner Lemberg12342992006-08-19 11:18:09 +00002005 * freetype2/src/type1/t1tokens.h: Adjust invocations of
2006 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002007
Werner Lemberg12342992006-08-19 11:18:09 +00002008 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
2009 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002010
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000020112006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2012
2013 Move creation of field `buildchar' of T1_DecoderRec out of
2014 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2015 of it.
2016
2017 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2018 and `T1_Compute_Max_Advance'.
2019
2020 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2021 Remove field `face', add `len_buildchar'.
2022
2023 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2024 field `buildchar'.
2025
2026 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2027 finisher for T1_Decoder.
2028 (cid_slot_load_glyph): Do not ignore failure when initializing the
2029 T1_Decoder.
2030
2031 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2032 Updated.
2033 (t1_decoder_init): Remove initialization of fields `buildchar' and
2034 `len_buildchar'.
2035 (t1_decoder_done): Remove deallocation of field `buildchar'.
2036
2037 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2038 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2039 T1_Decoder.
2040 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2041 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2042 case of error.
2043
2044 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2045 `buildchar' of T1_FaceRec.
2046
2047 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2048 `buildchar' of T1_FaceRec.
2049
Werner Lemberg1a380e02006-07-14 18:28:08 +000020502006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2051
2052 * freetype2/include/freetype/internal/psaux.h: New macros
2053 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2054 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2055 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2056 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2057 (T1_DecoderRec): New fields `buildchar' and `face'.
2058 (IS_PS_TOKEN): New macro.
2059
2060 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2061 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2062
2063 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2064 `default_design_vector' and `num_default_design_vector'.
2065
2066 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2067 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2068 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2069
2070 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2071 `token' argument to be NULL if we want only to count the number of
2072 tokens.
2073 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2074 want to skip the array.
2075 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2076 want to skip the array.
2077
2078 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2079 support for (partially commented out) othersubrs 19-25, 27, and 28.
2080 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2081 (t1_decoder_done): Release new field `buildchar'.
2082
2083 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2084 functions.
2085 (t1_keywords): Register them.
2086 (t1_allocate_blend): Updated.
2087 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2088 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2089 (parse_dict): Remove `keyword_flags' argument.
2090 Use new macro IS_PS_TOKEN.
2091 Changed function so that later PostScript definitions override
2092 earlier ones.
2093 (t1_init_loader): Initialize new field `keywords_encountered'.
2094 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2095 `len_buildchar'.
2096 Remove `keywords_flags'.
2097
2098 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2099 `keywords_encountered'.
2100 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2101
2102 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2103 New entries for parsing /NDV, /CDV, and /DesignVector.
2104
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000021052006-07-07 Werner Lemberg <wl@gnu.org>
2106
2107 Add many checks to protect against malformed PCF files.
2108
2109 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2110 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2111
2112 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2113 data and check that tables don't overlap (using a simple
2114 bubblesort).
2115 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2116 New macros which give the size of data structures in the data
2117 stream.
2118 (pcf_get_properties): Use rough estimates to get array size limits.
2119 Assign `face->nprops' and `face->properties' earlier so that a call
2120 to PCF_Face_Done can do the clean-up in case of error.
2121 Protect against invalid string offsets.
2122 (pcf_get_metrics): Clean up code.
2123 Adjust tracing message levels.
2124 Use rough estimate to get array size limit.
2125 (pcf_get_bitmaps): Clean up code.
2126 Adjust tracing message levels.
2127 Use rough estimates to get offset limits.
2128 (pcf_get_encodings): Adjust tracing message level.
2129 (pcf_get_accel): Clean up code.
2130
Werner Lemberg8eb05252006-06-27 06:20:01 +000021312006-06-26 Werner Lemberg <wl@gnu.org>
2132
2133 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2134 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2135
Werner Lemberg24703f82006-06-26 19:12:51 +000021362006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2137
2138 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2139 (t1_decoder_parse_charstrings): Operator with
2140 opcode 15 pops its two arguments.
2141 Handle the case where the pops of an othersubr may be part of a
2142 subroutine.
2143 Handle unknown othersubrs gracefully: count their operands and let
2144 the following pop operators push the operands as the results onto
2145 the Type1 stack.
2146 Improve handling of setcurrentpoint opcode.
2147
Werner Lembergc011f4c2006-06-26 09:40:00 +000021482006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2149
2150 The Type 1 parser now skips over top-level procedures as required
2151 for a `Simplified Parser'. This makes the parser more robust as it
2152 doesn't poke around in PostScript code. Additionally, it makes the
2153 FontDirectory hackery in src/type1/t1load.c unnecessary.
2154
2155 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2156 (skip_literal_string): Add FT_Error as return value.
2157 Handle escapes better.
2158 (skip_string): Add FT_Error as return value.
2159 Don't set `parser->error' but return error code directly.
2160 (skip_procedure): New function.
2161 (ps_parser_skip_PS_token): Handle procedures.
2162 Update code.
2163 (ps_parser_to_token): Update code.
2164 (ps_parser_load_field_table): Handle bbox entries also.
2165
2166 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2167 Add commented-out code for synthetic fonts.
2168
Werner Lemberga2da05c2006-06-25 06:27:27 +000021692006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2170
2171 Fix two hinting bugs as reported in
2172 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2173
2174 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2175 `first_point' member.
2176
2177 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2178 `first_point'.
2179 (TT_Process_Composite_Glyph): Always untouch points.
2180
2181 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2182 `first_point' and `last_point' in case of composite glyphs.
2183 (Ins_IUP): Fix computation of `end_point'.
2184
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000021852006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2186
Werner Lembergef3d2c22006-06-25 06:07:14 +00002187 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2188 Mac. The original patch was written by David Sachitano and Lawrence
2189 Coopet, and modified by Sean McBride for MPW compatibility. Only
2190 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002191
Werner Lembergef3d2c22006-06-25 06:07:14 +00002192 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2193 Mac OS X platforms.
2194 (OS_INLINE): Undefine before definition.
2195 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2196 FontAssociation table in FOND resource.
2197 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2198 and fontSize at each entry of FontAssociation table in FOND
2199 resource.
2200 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2201 ffStylOff of FamilyRecord header of FOND resource, the header,
2202 fontSize, fontID at each entry of FontAssociation table, and
2203 StyleMapping table.
2204 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002205
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000022062006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2207
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002208 Public API of TrueTypeGX, OpenType, and classic kern table validator
2209 should return `FT_Err_Unimplemented_Feature' if validation service
2210 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002211 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002212 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2213
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002214 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2215 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2216 unavailable.
2217 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2218 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002219
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002220 * src/base/ftotval.c (FT_OpenType_Validate): Return
2221 FT_Err_Unimplemented_Feature if OpenType validation service is
2222 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002223
Werner Lembergb10e45a2006-06-08 07:32:56 +000022242006-06-08 Werner Lemberg <wl@gnu.org>
2225
2226 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2227 errors.
2228
David Turner5f1f7502006-06-07 05:11:50 +000022292006-06-07 David Turner <david@freetype.org>
2230
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002231 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2232 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2233 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002234
David Turner457b4a82006-06-06 08:14:14 +000022352006-06-06 David Turner <david@freetype.org>
2236
Werner Lemberg4836f952006-06-06 12:54:08 +00002237 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002238
Werner Lemberg4836f952006-06-06 12:54:08 +00002239 We change `ps_unicodes_init' so that it also takes a
2240 `free_glyph_name' callback to release the glyph names returned by
2241 `get_glyph_name'
2242
2243 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2244 Renamed to ...
2245 (PS_GetGlyphNameFunc): This.
2246 (PS_FreeGlyphNameFunc): New typedef.
2247 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2248
2249 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2250 argument.
2251 (cff_sid_free_glyph_name): New function.
2252 (cff_cmap_unicode_init): Updated.
2253
2254 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2255
2256 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2257 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002258
2259
David Turner09717352006-06-04 14:33:08 +000022602006-06-04 David Turner <david@freetype.org>
2261
Werner Lembergd724f202006-06-04 15:17:41 +00002262 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2263 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002264 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002265
Werner Lembergd724f202006-06-04 15:17:41 +00002266 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2267 of `face->num_glyphs' which missed the last glyph, due to
2268 the offset-by-1 computation, since the PFR format doesn't
2269 guarantee that glyph index 0 corresponds to the `missing
2270 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002271
Werner Lemberg33779662006-05-26 06:30:05 +000022722006-05-25 Werner Lemberg <wl@gnu.org>
2273
2274 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2275 `-no-undefined'. Reported by Christian Biesinger.
2276
Werner Lemberg24773d62006-05-20 08:53:13 +000022772006-05-19 Brian Weed <bw@imaginengine.com>
2278
2279 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2280 have debug information, and debug libraries use `C7 compatible'
2281 debug info.
2282
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000022832006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2284
Werner Lemberga6523a62006-05-20 08:47:01 +00002285 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002286 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002287
Werner Lemberga6523a62006-05-20 08:47:01 +00002288 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2289 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002290
2291 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002292 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002293
22942006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2295
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002296 * build/unix/configure.raw: Add a fallback to disable Carbon
2297 dependency, if configured with no options on Mac OS X.
2298
22992006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2300
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002301 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002302 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002303 the second part of Savannah bug #16590.
2304
Werner Lemberg545c4e52006-05-17 22:55:04 +000023052006-05-18 Werner Lemberg <wl@gnu.org>
2306
2307 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2308 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2309
David Turnerdc3ff312006-05-17 12:59:35 +000023102006-05-17 David Turner <david@freetype.org>
2311
Werner Lemberg545c4e52006-05-17 22:55:04 +00002312 This is a major patch used to drastically improve the performance of
2313 loading glyphs. This both speeds up loading the glyph vectors
2314 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002315
Werner Lemberg545c4e52006-05-17 22:55:04 +00002316 We now use inline assembler code with GCC to implement `FT_MulFix',
2317 which is probably the most important function related to the
2318 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002319
Werner Lemberg545c4e52006-05-17 22:55:04 +00002320 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002321
2322
Werner Lemberg545c4e52006-05-17 22:55:04 +00002323 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2324 `cursor' and `limit'.
2325
2326 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2327 New functions.
2328 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2329 [TEST]: Remove.
2330
2331 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2332 code.
2333
2334 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2335 `FT_ZERO'
2336 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2337 (af_glyph_hints_reload: Rewrite recognition of weak points.
2338
2339 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2340 constant values out of the loops.
2341
2342 * src/autofit/aftypes.h: Updated.
2343
2344 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2345
2346 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2347 product to get orientation.
2348
2349 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2350 (FT_Stream_OpenGzip): Use it to handle small files directly in
2351 memory.
2352
2353 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2354 Improve performance.
2355
2356 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2357 `limit'.
2358
2359 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2360 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2361 exceedingly large values of number of contours. Speed up by
2362 reducing the number of loops.
2363
2364 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2365
2366
2367 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2368 used to detect rogue clients from 4 to 16. This is to prevent some
2369 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2370 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002371
Werner Lembergde2d90a2006-05-17 08:54:30 +000023722007-05-17 Werner Lemberg <wl@gnu.org>
2373
2374 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002375 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002376
23772006-05-16 Werner Lemberg <wl@gnu.org>
2378
2379 * docs/PROBLEMS: Updated icl issues.
2380
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002381----------------------------------------------------------------------------
2382
Werner Lemberg42b63b22007-01-21 21:01:33 +00002383Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002384David Turner, Robert Wilhelm, and Werner Lemberg.
2385
2386This file is part of the FreeType project, and may only be used, modified,
2387and distributed under the terms of the FreeType project license,
2388LICENSE.TXT. By continuing to use, modify, or distribute this file you
2389indicate that you have read the license and understand and accept it
2390fully.
2391
2392
2393Local Variables:
2394version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002395coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002396End: