blob: be87857dabe56e017e83d8ee06e6640a8aca06d8 [file] [log] [blame]
Werner Lemberg9fe58152007-06-19 07:57:30 +000012007-06-19 Werner Lemberg <wl@gnu.org>
2
3 * src/type1/t1load.c (parse_encoding): Handle one more error.
4
Werner Lemberg5a829392007-06-19 04:53:30 +000052007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
6
7 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
8 FNT_Err_Invalid_File_Format if file format was recognized but
9 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
10 Add verbose debug logs to make it easier to debug failing load
11 attempts.
12 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
13 so return an error if requested face index is > 0.
14 Do not do further attempt to load fonts if a previous attempt has
15 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
16 file format has been recognized but no fonts found in the file.
17
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000182007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
19
20 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
21 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
22 the compiler warnings against unused arguments.
23 (FT_ATSFontGetFileReference): Ditto.
24 (FT_GetFile_From_Mac_ATS_Name): Ditto.
25 (FT_New_Face_From_FSSpec): Ditto.
26 (lookup_lwfn_by_fond): Fix wrong comment.
27 Replace `const StringPtr' by more appropriate type
28 `ConstStr255Param'.
29 FSRefMakePathPath always returns UTF8 POSIX pathname in
30 Mach-O, thus HFS pathname support is dropped.
31 (count_faces): Remove HLock and HUnlock which is not
32 required on Mac OS X anymore.
33 (FT_New_Face_From_SFNT): Ditto.
34 (FT_New_Face_From_FOND): Ditto.
35 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
36 except of HFS pathname support and HLock/HUnlock.
37 They are required on classic CFM environment.
38
392007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +000040
Werner Lembergf9fa1c82007-06-18 17:00:05 +000041 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
42 assertion.
43 (ps_parser_to_bytes): Fix error message.
44
Werner Lembergbb2510d2007-06-18 17:07:49 +000045 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000046 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
47 Don't allow mixed binary and hex strings.
48 Handle zero string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +000049 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000050
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000512007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +000052
Werner Lembergf48aec72007-06-18 07:07:55 +000053 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
54 logic.
55 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
56 correctly.
57 (ps_parser_load_field_table): Use `fields->array_max' instead of
58 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
59
Werner Lemberg95104a42007-06-18 07:33:10 +000060 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
61 2007-06-06.
62
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000632007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +000064
65 * src/tools/ftrandom.c (font_size): New global variable.
66 (TestFace): Use it.
67 (main): Handle new option `--size' to set `font_size'.
68 (Usage): Updated.
69
Werner Lembergbe183eb2007-06-17 11:27:17 +000070 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
71 invalid font.
72 (FNT_Load_Glyph): Protect against invalid bitmap width.
73
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000742007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +000075
Werner Lemberge12ed562007-06-17 05:31:23 +000076 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
77 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +000078
Werner Lemberge12ed562007-06-17 05:31:23 +000079 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
80 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +000081
Werner Lemberge12ed562007-06-17 05:31:23 +000082 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
83 and `zp2'.
84 (Ins_IP): Check argument ranges to reject bogus operations properly.
85 (IUP_WorkerRec): Add `max_points' member.
86 (_iup_worker_interpolate): Check argument ranges.
87 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +000088
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000892007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +000090
91 * src/winfonts/winfnt.h: Add necessary structures for PE resource
92 parsing.
93 (WinPE32_HeaderRec): New structure.
94 (WinPE32_SectionRec): New structure.
95 (WinPE_RsrcDirRec): New structure.
96 (WinPE_RsrcDirEntryRec): New structure.
97 (WinPE_RsrcDataEntryRec): New structure.
98 (FNT_FontRec): Remove unused `size_shift' field.
99
100 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
101 loading bitmap .fon files in PE format.
102
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001032007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000104
105 * builds/win32/ftdebug.c: Unify debug level handling with other
106 platforms.
107
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001082007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000109
110 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
111 console as well as to the debugger.
112
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001132007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000114
115 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
116 cover all ranges which could possibly be handled by the aflatin
117 module (since the default fallback for unknown ranges is now the
118 afcjk module). It might be necessary to fine-tune this further by
119 splitting off modules for Greek, Cyrillic, or other blocks.
120
David Turnerb7920172007-06-11 05:37:35 +00001212007-06-11 David Turner <david@freetype.org>
122
Werner Lemberg49e18b82007-06-11 21:15:09 +0000123 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
124 incorrect segment linking computation. This was the root cause of
125 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000126
127
Werner Lemberg49e18b82007-06-11 21:15:09 +0000128 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
129 to improve the Latin auto-hinter. Note that the new code is
130 disabled by default since it is not stabilized yet.
131
132 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
133 (disabled currently).
134
135 * src/autofit/afhints.c: Remove dead code.
136 (af_axis_hints_new_edge): Add argument to handle segment directions.
137 (af_edge_flags_to_string): New function.
138 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
139 option flags.
140 (af_glyph_hints_reload): Add argument to handle inflections.
141 Simplify.
142 (af_direction_compute): Fine tuning.
143 (af_glyph_hints_align_edge_points): Fix logic.
144 (af_glyph_hints_align_strong_points): Do linear search for small
145 edge counts.
146 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
147 (af_iup_shift): Handle zero `delta'.
148
149 * src/autofit/afhints.h: Updated.
150 (AF_SORT_SEGMENTS): New macro (disabled).
151 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
152
153 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
154 argument to pass option flags for handling scripts.
155 * src/autofit/afglobal.h: Updated.
156
157 * src/autofit/afcjk.c: Updated.
158 * src/autofit/aflatin.c: Updated.
159 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
160
161 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
162 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
163 Don't set `edge->dir'
164 (af_latin_hint_edges): Add more logging.
165
166 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000167
Werner Lembergf6c120f2007-06-11 04:55:58 +00001682007-06-11 Werner Lemberg <wl@gnu.org>
169
Werner Lembergcf7b7642007-06-11 04:58:01 +0000170 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000171
David Turner84c6f882007-06-10 20:51:04 +00001722007-06-10 David Turner <david@freetype.org>
173
Werner Lembergf6c120f2007-06-11 04:55:58 +0000174 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
175 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000176
Werner Lembergf6c120f2007-06-11 04:55:58 +0000177 * include/freetype/config/ftoption.h: Clarify documentation
178 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000179
Werner Lembergf6c120f2007-06-11 04:55:58 +0000180
181 Add new `FT_Face_CheckTrueTypePatents' API.
182
183 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
184 declaration.
185
186 * include/freetype/internal/services/svttglyf.h,
187 src/base/ftpatent.c: New files.
188
189 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
190 New macro.
191
192 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
193 `ttpload.h'.
194 (tt_service_truetype_glyf): New service structure.
195 (tt_services): Register it.
196
197 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
198 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000199
Werner Lemberg33db39e2007-06-08 06:30:29 +00002002007-06-08 Werner Lemberg <wl@gnu.org>
201
David Turner84c6f882007-06-10 20:51:04 +0000202 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000203 Fonts without a cmap must be handled correctly by FreeType (anything
204 else would be a bug).
205
206
207 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
208 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
209
Werner Lemberg88ab6382007-06-07 05:01:56 +00002102007-06-07 Werner Lemberg <wl@gnu.org>
211
212 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
213 tt_sbit_decoder_load_image): Protect against integer overflows.
214
215
216 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
217 for `x_control' and `y_control'.
218
Werner Lemberg2a2dca62007-06-06 04:39:37 +00002192007-06-06 Werner Lemberg <wl@gnu.org>
220
221 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
222
Werner Lemberga8d65492007-06-06 04:47:49 +0000223
224 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
225 FreeType error.
226
Werner Lemberg470210b2007-06-06 10:05:49 +0000227
228 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
229 `font_count'.
230
231
232 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
233
234
235 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
236 `FT_Error'.
237 Check `fd_index'.
238 (cff_slot_load): Updated.
239 * src/cff/cffgload.h: Updated.
240
Werner Lemberg6c054752007-06-05 05:27:54 +00002412007-06-05 Werner Lemberg <wl@gnu.org>
242
243 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
244 (pfr_glyph_load_simple): Convert assertion into normal FreeType
245 error.
246 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000247 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
248 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000249
250 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
251
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000252
Werner Lemberg470210b2007-06-06 10:05:49 +0000253 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000254
Werner Lemberge5c14d92007-06-05 20:50:37 +0000255
256 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
257 in case of parsing error.
258 (ps_parser_load_field): Updated.
259
260 * src/type1/t1load.c (parse_font_matrix): Updated.
261
Werner Lembergad18b362007-06-04 07:04:05 +00002622007-06-04 Werner Lemberg <wl@gnu.org>
263
264 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
265
266 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
267
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002682007-06-03 Werner Lemberg <wl@gnu.org>
269
Werner Lemberg99a320b2007-06-03 19:21:26 +0000270 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
271 George Williams (with some modifications).
272
2732007-06-03 Werner Lemberg <wl@gnu.org>
274
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000275 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
276 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
277 face == NULL. Suggested by Graham Asher.
278
Werner Lembergce280a22007-06-03 05:58:30 +00002792007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
280
281 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
282
Werner Lemberg5b591e42007-06-01 22:16:43 +00002832007-06-02 Werner Lemberg <wl@gnu.org>
284
285 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
286 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
287
288 * src/bdf/bdflib.c (bdf_load_font): Use them.
289
290 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
291
Werner Lembergb9933f42007-06-01 21:27:12 +00002922007-06-01 Werner Lemberg <wl@gnu.org>
293
294 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
295 (FTC_CMapCache_Lookup): Remove unused code.
296
Werner Lembergc793d902007-06-01 20:51:11 +00002972007-06-01 Sean McBride <sean@rogue-research.com>
298
299 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
300 unused.
301
Werner Lembergbebc7b12007-06-01 06:32:30 +00003022007-06-01 Werner Lemberg <wl@gnu.org>
303
304 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
305 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000306 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000307
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000308 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
309 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
310
Werner Lembergba03af62007-05-30 13:57:02 +00003112007-05-30 Werner Lemberg <wl@gnu.org>
312
313 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
314 against too small binary data strings.
315
316 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
317
David Turnerf0cd69c2007-05-28 15:42:09 +00003182007-05-28 David Turner <david@freetype.org>
319
Werner Lemberg99e0c182007-05-29 07:00:23 +0000320 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
321 transformation. This significantly reduces the loading time of CFF
322 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000323
Werner Lemberg99e0c182007-05-29 07:00:23 +0000324 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000325
Werner Lemberg99e0c182007-05-29 07:00:23 +0000326 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
327 hinting script to CJK, since it works well with more scripts than
328 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
329 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000330
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003312007-05-25 Werner Lemberg <wl@gnu.org>
332
333 * docs/CHANGES: Updated.
334
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00003352007-05-24 Werner Lemberg <wl@gnu.org>
336
337 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
338 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
339
3402007-05-24 Graham Asher <graham.asher@btinternet.com>
341
342 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
343 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
344
David Turner0d0365e2007-05-22 09:53:44 +00003452007-05-22 David Turner <david@freetype.org>
346
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000347 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
348 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000349
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000350
351 Avoid heap blowup with very large .Z font files. This fixes
352 Savannah bug #19910.
353
354 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
355 `in_limit', `pad', `pad_bits', and `in_buff' members.
356 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
357 `buf_total' members.
358
359 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
360 only one argument.
361 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000362
3632007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000364
365 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
366 (ps_dimension_set_mask_bits): Remove `const'.
367
David Turner0d0365e2007-05-22 09:53:44 +00003682007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000369
370 * src/sfnt/ttmtx.c (tt_face_get_metrics)
371 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
372
Werner Lembergb826fa72007-05-19 07:18:48 +00003732007-05-19 Derek Clegg <dclegg@apple.com>
374
375 Savannah patch #5929.
376
377 * include/freetype/tttables.h, src/base/ftobjcs.c
378 (FT_Get_CMap_Format): New function.
379
380 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
381 `format' member.
382 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
383 cmap_info->format.
384
Werner Lemberg6f99c882007-05-19 07:01:49 +00003852007-05-19 Werner Lemberg <wl@gnu.org>
386
387 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
388 before handling subglyphs so that it can be reinitialized each time.
389 This fixes Savannah bug #19859.
390
Werner Lemberg95bc9d32007-05-16 15:19:42 +00003912007-05-16 Werner Lemberg <wl@gnu.org>
392
393 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
394 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
395 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
396 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
397 tt_face_get_metrics): Fix type-punning issues.
398
David Turner0a24bd22007-05-15 10:54:10 +00003992007-05-15 David Turner <david@freetype.org>
400
401 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000402 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
403 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000404 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000405 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000406
Werner Lemberg607dec72007-05-15 06:49:37 +00004072007-05-15 Graham Asher <graham.asher@btinternet.com>
408
409 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
410 variable.
411 * src/autofit/afloader.c (af_loader_load_g): Ditto.
412
413 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
414 (open_face_from_buffer): Initialize `stream'.
415 (FT_Request_Metrics): Remove unused variable.
416 Remove redundant `break' statements.
417 (FT_Get_Track_Kerning): Remove unused variable.
418
419 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
420 afm_parse_kern_data): Remove redundant
421 `break' statements.
422 (afm_parser_parse): Ditto.
423 Don't use uninitialized variables.
424
425 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
426 Use `|' operator instead of `^' to set it.
427 Update all users.
428
429 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
430 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
431
432 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
433 comparison.
434 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
435 (TT_Load_Glyph): Remove unused variable.
436
Werner Lemberg8d463a52007-05-13 16:01:55 +00004372007-05-13 Derek Clegg <dclegg@apple.com>
438
439 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
440 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
441
David Turner711cf842007-05-11 14:36:24 +00004422007-05-11 David Turner <david@freetype.org>
443
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000444 * src/cache/ftbasic.c, include/freetype/ftcache.h
445 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
446 functions that allow us to look up glyphs using an FTC_Scaler object
447 to specify the size, making it possible to use fractional pixel
448 sizes.
449
450 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
451 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000452
Werner Lemberg94be20e2007-05-09 20:02:55 +00004532007-05-09 Graham Asher <graham.asher@btinternet.com>
454
455 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
456 (af_latin_metrics_scale_dim): Fix compiler warnings.
457
Werner Lemberg41271032007-05-06 04:51:48 +00004582007-05-06 Werner Lemberg <wl@gnu.org>
459
460 * builds/win32/visualce/freetype.sln: Removed, as requested by
461 Vincent.
462
Werner Lembergdf49e692007-05-04 06:30:05 +00004632007-05-04 Vincent RICHOMME <richom.v@free.fr>
464
465 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
466 PC targets.
467
468 * docs/CHANGES: Document them.
469
4702007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000471
472 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
473 mmap (which might happen on some RTOS). From Savannah patch #5909.
474
Werner Lemberg106eaf12007-05-03 07:07:47 +00004752007-05-03 Werner Lemberg <wl@gnu.org>
476
477 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
478 * include/freetype/freetype.h (FT_Set_Char_Size): Update
479 documentation.
480
Werner Lemberg1b5267d2007-04-28 21:06:15 +00004812007-04-28 Victor Stinner <victor.stinner@inl.fr>
482
483 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
484 `cmap'.
485
Werner Lembergcc712a22007-04-27 17:16:50 +00004862007-04-27 Werner Lemberg <wl@gnu.org>
487
488 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
489 number of points in contours. Problem reported by Victor Stinner
490 <victor.stinner@haypocalc.com>.
491 (TT_Process_Simple_Glyph): Synchronize variable types.
492
Werner Lemberg45bb18f2007-04-26 06:26:35 +00004932007-04-26 Werner Lemberg <wl@gnu.org>
494
495 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
496 zero in case of error. This fixes Savannah bug #19689.
497
David Turnera8b45e62007-05-11 14:10:30 +00004982007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
499
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000500 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
501 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000502
Werner Lembergfcc1f472007-04-10 11:51:50 +00005032007-04-10 Martin Horak <horakm@centrum.cz>
504
505 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
506 Ignore `hhea' table. This fixes Savannah bug #19261.
507
Werner Lemberg14bf82e2007-04-10 04:09:49 +00005082007-04-09 Werner Lemberg <wl@gnu.org>
509
510 * Version 2.3.4 released.
511 =========================
512
513
514 Tag sources with `VER-2-3-4'.
515
516 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
517 version number to 2.3.4.
518
519 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
520 builds/win32/visualc/freetype.dsp,
521 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
522
523 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
524
525 * builds/unix/configure.raw (version_info): Set to 9:15:3.
526
Werner Lembergf4a52a62007-04-09 08:40:11 +00005272007-04-09 Martin Horak <horakm@centrum.cz>
528
529 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
530 memory stream to avoid a crash with the incremental memory
531 interface (Savannah bug #19260).
532
David Turner1dcb4442007-04-06 08:19:04 +00005332007-04-06 David Turner <david@freetype.org>
534
Werner Lembergc81cf612007-04-06 09:28:23 +0000535 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
536 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000537
Werner Lemberg9f83e052007-04-05 02:28:23 +00005382007-04-04 Werner Lemberg <wl@gnu.org>
539
540 * Version 2.3.3 released.
541 =========================
542
543
544 Tag sources with `VER-2-3-3'.
545
546 * docs/CHANGES: Mention CVE-2007-1351.
547
David Turner7338ec22007-04-03 14:30:34 +00005482007-04-03 David Turner <david@freetype.org>
549
550 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000551 if one of the resolution values is 0, treat it as if it were the
552 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000553
David Turnere6472c12007-04-02 13:13:54 +00005542007-04-02 David Turner <david@freetype.org>
555
Werner Lemberg94f12272007-04-03 07:19:53 +0000556 Add special code to detect `extra-light' fonts and do not snap their
557 stem widths too much to avoid bizarre hinting effects.
558
559 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
560 `extra_light' members.
561
562 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
563 them.
564 (af_latin_metrics_scale_dim): Set `extra_light'.
565 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000566
David Turner3f539692007-03-28 14:53:40 +00005672007-03-28 David Turner <david@freetype.org>
568
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000569 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000570 padding.
571
Werner Lemberga08b2172007-03-28 07:17:17 +00005722007-03-28 Werner Lemberg <wl@gnu.org>
573
574 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
575 gracefully.
576 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000577 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000578 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
579 number of code points in Unicode.
580
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000581 * builds/win32/visualc/index.html,
582 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000583 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000584 s/232/233/.
585
586 * docs/CHANGES: Mention ftdiff.
587
David Turner3b242d32007-03-26 12:03:04 +00005882007-03-26 David Turner <david@freetype.org>
589
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000590 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
591 corresponding code.
592 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000593
Werner Lemberga08b2172007-03-28 07:17:17 +0000594 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000595 computations in order to ignore single-point contours. These are
596 never rasterized and correspond in certain fonts to mark-attach
597 points that are very far from the glyph's real outline, ruining the
598 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000599
Werner Lemberga08b2172007-03-28 07:17:17 +0000600 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000601 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000602 Otherwise code that uses them will most certainly ruin the fixed
603 advance property.
David Turner23553d62007-03-26 13:37:17 +0000604
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000605 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
606 documentation and bump version number to 2.3.3.
607
608 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
609
610 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000611
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00006122007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
613
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000614 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
615 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000616 * builds/vms/ftconfig.h: Ditto.
617 * include/freetype/config/ftconfig.h: Ditto.
618
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00006192007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
620
Werner Lemberg14ffe092007-03-22 06:12:43 +0000621 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
622 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000623 proposed by Sean McBride:
624 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
625
6262007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
627
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000628 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
629 setjmp, proposed by Sean McBride:
630 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
631
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00006322007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
633
Werner Lembergc9f6c662007-03-21 13:30:14 +0000634 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
635 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
636 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000637
David Turner74c34eb2007-03-18 07:19:31 +00006382007-03-18 David Turner <david@freetype.org>
639
Werner Lembergc9f6c662007-03-21 13:30:14 +0000640 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
641 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000642
Werner Lembergc9f6c662007-03-21 13:30:14 +0000643 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000644
David Turner89020d92007-03-17 17:48:57 +00006452007-03-17 David Turner <david@freetype.org>
646
Werner Lembergc9f6c662007-03-21 13:30:14 +0000647 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
648 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000649
Werner Lemberg25d592a2007-03-09 07:59:35 +00006502007-03-09 Werner Lemberg <wl@gnu.org>
651
652 * Version 2.3.2 released.
653 =========================
654
655
656 Tag sources with `VER-2-3-2'.
657
658 * builds/win32/visualc/index.html,
659 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000660 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000661 s/231/232/.
662
David Turner3a51afa2007-03-08 10:50:38 +00006632007-03-08 David Turner <david@freetype.org>
664
Werner Lemberg25d592a2007-03-09 07:59:35 +0000665 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000666
Werner Lemberg25d592a2007-03-09 07:59:35 +0000667 * builds/unix/configure.raw (version_info): Set to 9:13:3.
668
669 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
670
671 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000672
Werner Lemberg1e259de2007-03-08 15:39:21 +0000673 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
674 function to work properly, over-writing user-provided buffers in
675 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000676
David Turner121cad52007-03-08 16:43:50 +0000677
Werner Lemberg3d92f082007-03-06 11:59:24 +00006782007-03-05 Werner Lemberg <wl@gnu.org>
679
680 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
681 macro for `strstr'.
682
683 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
684 `trick_names', as suggested by Ivan Nincic.
685
David Turner085bc6e2007-03-05 17:40:03 +00006862007-03-05 David Turner <david@freetype.org>
687
Werner Lembergd112cf02007-03-06 12:06:56 +0000688 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
689 case FT_Init_FreeType fails for some reason. Problem reported by
690 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000691
Werner Lembergd112cf02007-03-06 12:06:56 +0000692 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
693 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
694 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
695 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000696
Werner Lembergd112cf02007-03-06 12:06:56 +0000697 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
698 signed values, not unsigned ones. Problem reported by Johannes
699 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000700
David Turner601aefe2007-02-21 16:47:49 +00007012007-02-21 David Turner <david@freetype.org>
702
Werner Lembergde5e6862007-02-25 21:06:43 +0000703 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
704 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000705
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00007062007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
707
708 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
709 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
710 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
711
Werner Lemberga0915172007-02-16 08:12:50 +00007122007-02-16 Werner Lemberg <wl@gnu.org>
713
714 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
715 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
716
David Turner2c4500e2007-02-14 15:08:47 +00007172007-02-14 David Turner <david@freetype.org>
718
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000719 It seems that the following changes fix most of the known
720 interpreter problems with my fonts, but more testing is needed,
721 though.
722
723 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
724 (TT_MulFix14): Rewrite.
725 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
726 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000727
Werner Lembergc6a14082007-02-12 22:08:15 +00007282007-02-12 Werner Lemberg <wl@gnu.org>
729
730 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
731 warnings.
732
733 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
734 (bdf_interpret_style): Ditto.
735
David Turnerc0f9c4a2007-02-12 14:55:03 +00007362007-02-12 David Turner <david@freetype.org>
737
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000738 Simplify projection and dual-projection code interface.
739
Werner Lemberg406d25f2007-02-12 22:01:18 +0000740 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
741 FT_Vector' as argument type.
742 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
743 Updated.
744 (CUR_fast_project, CUR_fast_dualproj): New macros.
745 (Project, Dual_Project, Project_x, Project_y): Updated.
746 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
747 macros.
748
749
750 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
751 adjustments for the non-light auto-hinted modes. Gets rid of
752 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000753
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000754 * src/autofit/aflatin.c (af_latin_hints_link_segments,
755 af_latin_hints_compute_edges): Slight optimization of the segment
756 linker and better handling of serif segments to get rid of broken
757 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000758
David Turnerc0f9c4a2007-02-12 14:55:03 +0000759
Werner Lemberg442bfb82007-02-12 21:44:10 +0000760 Introduce new string functions and the corresponding macros to get
761 rid of various uses of strcpy and other `evil' functions, as well as
762 to simplify a few things.
763
764 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
765 ft_mem_strcpyn): New declarations.
766 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
767 macros.
768 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
769 functions.
770
771 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
772 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
773 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
774 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
775 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
776 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
777 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
778 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000779
Werner Lemberg406d25f2007-02-12 22:01:18 +0000780 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
781
Werner Lemberg582067d2007-02-11 15:03:05 +00007822007-02-11 Werner Lemberg <wl@gnu.org>
783
784 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
785 non-spacing glyphs.
786
Werner Lemberg8f474532007-02-07 08:31:01 +00007872007-02-07 Tom Parker <palfrey@tevp.net>
788
789 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
790 pointer.
791
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00007922007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
793
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000794 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
795 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000796 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000797 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
798 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
799 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
800 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000801
802 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
803 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000804 * builds/mac/ftmac.c: Ditto.
805
8062007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
807
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000808 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000809 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000810 #include <ftmac.c>.
811
8122007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
813
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000814 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
815 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
816 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
817 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
818 FT_GetFilePath_From_Mac_ATS_Name.
819 * builds/mac/ftmac.c: Ditto.
820
8212007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
822
Werner Lembergdcbb7082007-02-08 08:54:09 +0000823 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000824 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
825 for passing to FT_New_Face_From_FSSpec.
826
8272007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
828
Werner Lembergdcbb7082007-02-08 08:54:09 +0000829 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000830 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000831
832 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
833 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000834 * builds/mac/ftmac.c (OS_INLINE): Ditto.
835
Werner Lemberg313d7772007-02-01 08:10:45 +00008362007-02-01 Werner Lemberg <wl@gnu.org>
837
838 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
839 Explain why applications shouldn't use it. Found by Alexei.
840
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008412007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000842
843 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
844 message.
845
846 * src/gxvalid/gxvmort1.c
847 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
848 message.
849
Werner Lemberg53935932007-01-31 08:53:02 +00008502007-01-31 Werner Lemberg <wl@gnu.org>
851
852
853 * Version 2.3.1 released.
854 =========================
855
856
857 Tag sources with `VER-2-3-1-FINAL'.
858
859 * builds/win32/visualc/freetype.dsp,
860 builds/win32/visualc/freetype.vcproj: s/230/231/.
861 * builds/win32/visualc/index.html: s/221/231/.
862
863 * vms_make.com: Add `ftgasp'.
864
David Turnera7ee6082007-01-30 10:33:53 +00008652007-01-30 David Turner <david@freetype.org>
866
Werner Lemberg53935932007-01-31 08:53:02 +0000867 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000868
Werner Lemberg53935932007-01-31 08:53:02 +0000869 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000870
Werner Lemberg25d592a2007-03-09 07:59:35 +0000871 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000872 s/2.3.0/2.3.1/.
873
874 * builds/unix/configure.raw (version_info): Set to 9:12:3.
875
876
877 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
878 (af_loader_load_g): Disable the warper (i.e., the light hinting
879 improvements) to make a 2.3.1 bugfix release before introducing a
880 new feature. This should give us more time to tune and improve the
881 warper for the next release.
882
883 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000884
David Turnerd91eebd2007-01-26 15:05:41 +00008852007-01-25 David Turner <david@freetype.org>
886
Werner Lembergbf241762007-01-26 16:08:49 +0000887 For light auto-hinting, improve glyph advance widths and resurrect
888 normal/full hinting to its normal quality.
889
890 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
891 and `xmax_delta'.
892 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
893 and `xmax_delta'.
894
895 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
896 preprocessor conditional with if-clause, handling both light and
897 normal mode.
898
899 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
900 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000901
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00009022007-01-25 Werner Lemberg <wl@gnu.org>
903
904 * docs/release: Updated -- Savannah uses a new uploading scheme.
905
David Turnera42567b2007-01-25 12:23:37 +00009062007-01-25 David Turner <david@freetype.org>
907
Werner Lembergd7855662007-01-25 13:53:56 +0000908 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000909
Werner Lembergd7855662007-01-25 13:53:56 +0000910 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
911 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
912 functions.
David Turnera42567b2007-01-25 12:23:37 +0000913
Werner Lembergd7855662007-01-25 13:53:56 +0000914 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000915
Werner Lembergb1be9e82007-01-25 11:50:00 +00009162007-01-25 Werner Lemberg <wl@gnu.org>
917
918 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000919 correctly in a sanity check. Since this function is only used to
920 load local and global functions, any charstring that called the last
921 local/global function would fail otherwise. This fixes Savannah bug
922 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000923
924 * docs/CHANGES: Document it.
925
David Turnerb6de8d12007-01-23 15:51:50 +00009262007-01-23 David Turner <david@freetype.org>
927
Werner Lembergb1be9e82007-01-25 11:50:00 +0000928 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
929 prevented compilation when disabling both the unpatented and the
930 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000931
Werner Lembergb1be9e82007-01-25 11:50:00 +0000932
933 Fix and enable the warper to improve `light' hinting mode. This is
934 not necessarily a final version, but it seems to work well.
935
936 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
937 Disable code.
938 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
939 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
940
941 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
942 (af_warper_compute_line_best): Fix array size of `scores'.
943 (af_warper_compute): Better handling of border cases.
944 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
945 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000946
Werner Lemberg011d1112007-01-21 09:36:00 +00009472007-01-21 Werner Lemberg <wl@gnu.org>
948
Werner Lemberg42b63b22007-01-21 21:01:33 +0000949 * ChangeLog: Split off older entries into...
950 * ChangeLog.22: This new file.
951
9522007-01-21 Werner Lemberg <wl@gnu.org>
953
Werner Lemberg555258f2007-01-21 09:46:37 +0000954 * docs/CHANGES: Document SHZ fix.
955
9562007-01-21 George Williams <gww@silcom.com>
957
958 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
959 points.
960
9612007-01-21 Werner Lemberg <wl@gnu.org>
962
Werner Lemberg011d1112007-01-21 09:36:00 +0000963 * src/sfnt/ttmtx.c (tt_face_get_metrics)
964 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
965
Werner Lemberg87a5a432007-01-17 12:44:39 +00009662007-01-17 Werner Lemberg <wl@gnu.org>
967
Werner Lembergb8003292007-01-17 12:56:25 +0000968
969 * Version 2.3.0 released.
970 =========================
971
972
973 Tag sources with `VER-2-3-0-FINAL'.
974
9752007-01-17 Werner Lemberg <wl@gnu.org>
976
Werner Lemberg87a5a432007-01-17 12:44:39 +0000977 * docs/release: Updated.
978
David Turner22122722007-01-16 20:06:44 +00009792007-01-16 David Turner <david@freetype.org>
980
Werner Lemberg87a5a432007-01-17 12:44:39 +0000981 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
982 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
983 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
984 warnings.
David Turner22122722007-01-16 20:06:44 +0000985
Werner Lemberg267e1d72007-01-15 07:48:09 +00009862007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
987
988 * builds/amiga/makefile, builds/amiga/makefile.os4,
989 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
990
991 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
992
Werner Lemberg8c4120d2007-01-15 06:42:40 +00009932007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
994
995 Fix various compiler warnings.
996
997 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
998 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
999 s/index/strike_index/.
1000 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1001
1002 * src/gxvalid/gxvmorx5.c
1003 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1004
1005 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1006 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1007 uninitialized variables.
1008
Werner Lemberg6164a9d2007-01-13 23:01:36 +000010092007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1010
1011 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1012
Werner Lemberg281c1482007-01-13 22:50:51 +000010132007-01-13 Werner Lemberg <wl@gnu.org>
1014
1015 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1016 versions up to 0x3FF without complaining.
1017
Werner Lembergac250b22007-01-13 14:01:36 +000010182007-01-13 Derek Clegg <dclegg@apple.com>
1019
1020 Add FT_Get_PS_Font_Info interface to CFF driver.
1021
1022 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1023 (CFF_FontRec): Add `font_info' field.
1024
1025 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1026 (cff_font_done): Free font->font_info if necessary.
1027
1028 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1029 (cff_service_ps_info): Register cff_ps_get_font_info.
1030
Werner Lemberg23df31a2007-01-13 08:45:00 +000010312007-01-13 Werner Lemberg <wl@gnu.org>
1032
1033 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1034 with C++ compiler.
1035
1036 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1037 af_glyph_hints_dump_edges): Ditto.
1038
1039 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1040 `modules.cfg').
1041
1042 * src/sfnt/ttsbit0.h: Remove.
1043
1044 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1045
Werner Lemberg27cf9de2007-01-13 07:34:23 +000010462007-01-12 David Turner <david@freetype.org>
1047
1048 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1049 bug in the bitmap emboldener if the pitch of the source bitmap is
1050 much larger than its width.
1051
1052 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1053 compilation warning.
1054
Werner Lemberg6d96d312007-01-12 10:30:19 +000010552007-01-12 Werner Lemberg <wl@gnu.org>
1056
1057 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1058 `automake' CVS module from sources.redhat.com.
1059
Werner Lemberg17432b52007-01-12 09:28:44 +000010602007-01-11 Werner Lemberg <wl@gnu.org>
1061
1062 * src/type1/t1load.c (is_space): Removed.
1063 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1064 (parse_charstrings): Use IS_PS_TOKEN.
1065
1066
1067 * autogen.sh: Avoid bash specific syntax.
1068
David Turner038ace22007-01-11 15:00:59 +000010692007-01-11 David Turner <david@freetype.org>
1070
Werner Lemberg17432b52007-01-12 09:28:44 +00001071 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001072
Werner Lemberg17432b52007-01-12 09:28:44 +00001073 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001074
Werner Lemberg17432b52007-01-12 09:28:44 +00001075 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1076 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001077 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001078
Werner Lemberg17432b52007-01-12 09:28:44 +00001079 * autogen.sh: Small fix to get it working on Mac OS X properly:
1080 The issue is that GNU libtool is called `glibtool' on this platform,
1081 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001082
David Turner2628ea92007-01-10 13:15:56 +000010832007-01-10 David Turner <david@freetype.org>
1084
Werner Lemberg17432b52007-01-12 09:28:44 +00001085 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1086 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001087
Werner Lemberg17432b52007-01-12 09:28:44 +00001088 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1089 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1090 version number to 2.3.0.
1091
1092 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1093 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001094
1095 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001096 include/freetype/ftlcdfil.h: Update reference documentation with
1097 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001098
Werner Lemberg17432b52007-01-12 09:28:44 +00001099 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1100 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001101
Werner Lembergbf02d392007-01-10 07:07:37 +000011022007-01-10 Derek Clegg <dclegg@apple.com>
1103
1104 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1105 values.
1106
David Turnerf48b60e2007-01-08 15:15:32 +000011072007-01-08 David Turner <david@freetype.org>
1108
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001109 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001110
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001111 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1112 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001113 corresponding to a given character pixel size.
1114
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001115 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1116 `gasp' table, in order to avoid potential problems with later
1117 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001118
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001119 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1120 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001121
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001122 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1123 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1124 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1125 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001126
Werner Lemberge6b6f372007-01-07 00:06:47 +000011272007-01-07 Werner Lemberg <wl@gnu.org>
1128
Werner Lembergb8004d22007-01-07 09:13:38 +00001129 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1130 Type 11 fonts.
1131 Scan for `/sfnts' token.
1132
11332007-01-07 Werner Lemberg <wl@gnu.org>
1134
1135 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001136
Werner Lembergbe5f7972007-01-06 07:51:48 +000011372007-01-06 Werner Lemberg <wl@gnu.org>
1138
1139 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1140 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1141
David Turnera8cf42b2007-01-04 16:46:46 +000011422007-01-04 David Turner <david@freetype.org>
1143
Werner Lembergf6294392007-01-06 07:47:45 +00001144 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1145 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001146
Werner Lembergf6294392007-01-06 07:47:45 +00001147
1148 Do not allocate interpreter-specific tables in memory if we are not
1149 going to load glyphs with the bytecode interpreter anyway.
1150
1151 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1152 only if glyph is hinted.
1153 Updated.
1154 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1155 and `cvs_ready'.
1156 Add `tt_size_ready_bytecode' declaration.
1157 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1158 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1159 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1160 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1161 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001162
David Turner91a34022007-01-05 14:47:08 +00001163
Werner Lembergf6294392007-01-06 07:47:45 +00001164 Don't extract the metrics table from the SFNT font file. Instead,
1165 reparse it on each glyph load. The runtime difference is not
1166 noticeable, and it can save a lot of heap memory when memory-mapped
1167 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001168
Werner Lembergf6294392007-01-06 07:47:45 +00001169 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1170 `horz_metrics_offset' and `vert_metrics_ofset'.
1171 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1172 Updated.
1173
1174
1175 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1176
1177
1178 Do not load the CFF index offsets into memory, since this wastes a
1179 *lot* of heap memory with large Asian CFF fonts. There is no
1180 significant performance loss.
1181
1182 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1183 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1184 `data_size'.
1185 (CFF_CharsetRec): Add field `num_glyphs'.
1186
1187 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1188 cff_charset_cid_to_gindex): New functions.
1189 (cff_new_index): Renamed to...
1190 (cff_index_init): This. Update all callers.
1191 Updated -- some code has been moved to `cff_index_load_offsets'.
1192 (cff_done_index): Renamed to...
1193 (cff_index_done): This. Update all callers.
1194 (cff_index_get_pointers, cff_index_access_element): Updated to use
1195 stream offsets.
1196 (cff_charset_compute_cids): Set `num_glyphs' field.
1197 (cff_encoding_load): Updated.
1198
1199 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001200
12012007-01-04 David Turner <david@freetype.org>
1202
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001203 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1204 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001205
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001206 * README.CVS: Add common problem description and solution
1207 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001208
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001209 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001210
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001211 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001212
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001213 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001214
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001215 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1216 (TWorker): This.
1217 Remove `count_table' and `memory'.
1218 Make `grays' a pointer.
1219 (TRaster): New structure.
1220 (count_table): New static array.
1221 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1222 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1223 ft_black_set_mode, ft_black_render): Updated.
1224 (ft_black_init): Don't initialize `count_table'.
1225 (ft_black_reset): Use the render pool. This saves about 6KB of
1226 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001227
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001228 * src/smooth/ftgrays.c (TRaster): Replaced with...
1229 (TWorker): This.
1230 Remove `memory'.
1231 (TRaster): New structure.
1232
1233 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1234 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1235 gray_render_span, gray_raster_render): Updated.
1236 (gray_raster_reset): Use the render pool. This saves about 6KB of
1237 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001238
David Turner8a6c44e2007-01-04 17:03:11 +00001239 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1240 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001241 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1242 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1243 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001244
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001245 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1246 Remove a typo that results in no hinting and a memory leak with some
1247 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001248
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001249 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001250 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001251 CFF_Faces in it. We need to close all faces before destroying the
1252 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001253
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000012542007-01-02 Werner Lemberg <wl@gnu.org>
1255
1256 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1257 Remove compiler warning.
1258
David Turner9207e002007-01-02 16:58:13 +000012592007-01-02 David Turner <david@freetype.org>
1260
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001261 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001262
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000012632006-12-31 Masatake YAMATO <jet@gyve.org>
1264
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001265 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1266 function.
1267 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001268 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001269 `gxv_kern_subtable_fmt0_pairs_validate'.
1270
David Turner115b4422006-12-22 11:37:05 +000012712006-12-22 David Turner <david@freetype.org>
1272
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001273 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1274 warnings.
David Turner115b4422006-12-22 11:37:05 +00001275
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001276 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1277 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001278
Werner Lemberg4755bf72006-12-16 08:58:44 +000012792006-12-16 Anders Kaseorg <anders@kaseorg.com>
1280
1281 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1282 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1283
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000012842006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1285
Werner Lemberg9b774e22007-01-16 06:11:27 +00001286 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001287 sync with the modification by Jens Claudius on 2006-08-22; cf.
1288 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 +00001289
12902006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1291
1292 * src/base/ftmac.c: Specialized for Mac OS X only.
1293 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1294 * builds/unix/configure.raw: Ditto. When explicit switches for
1295 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1296 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1297
12982006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1299
1300 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1301 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1302 instead of src/base/ftmac.c
1303 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1304 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1305 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1306 that cannot be built at present.
1307
13082006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1309
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001310 * src/base/ftobjs.c: Improvement of resource fork handler for
1311 POSIX, cf.
1312 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001313 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1314 format or .dfont, to simulate the face index number counted by ftmac.c.
1315 (IsMacResource): Return the number of scalable faces correctly.
1316
Werner Lembergec5b4502006-12-10 07:51:38 +000013172006-12-10 Werner Lemberg <wl@gnu.org>
1318
1319 * builds/toplevel.mk (version): Protect against `distclean' target.
1320
Werner Lembergb26b3142006-12-09 20:01:43 +000013212006-12-09 Werner Lemberg <wl@gnu.org>
1322
1323 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1324 or `type'.
1325
1326 * builds/freetype.mk (version): Extracted from freetype.h, using
1327 GNU make's built-in string functions.
1328 (refdoc): Use $(version) instead of static version number.
1329
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000013302006-12-08 Werner Lemberg <wl@gnu.org>
1331
1332 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1333
Werner Lemberg15c29502006-12-09 07:29:54 +000013342006-12-08 Vladimir Volovich <vvv@vsu.ru>
1335
1336 * src/tools/apinames (State): Remove final comma in structure -- xlc
1337 v5 under AIX 4.3 doesn't like this.
1338
David Turnerdbf3b432006-12-07 21:18:09 +000013392006-12-07 David Turner <david@freetype.org>
1340
Werner Lemberg256a3512006-12-08 06:49:33 +00001341 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1342 to the spacing of auto-fitted glyphs. This only impacts rare
1343 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001344
Werner Lemberg11171312006-12-03 09:43:40 +000013452006-12-03 Werner Lemberg <wl@gnu.org>
1346
1347 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1348
Werner Lemberg960ba592006-12-01 08:20:47 +000013492006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001350
Werner Lemberg960ba592006-12-01 08:20:47 +00001351 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1352 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1353 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001354
David Turner80658e52006-11-28 08:09:20 +00001355
Werner Lemberg960ba592006-12-01 08:20:47 +00001356 * include/freetype/ftxf86.h: Fix and extend comment so that it
1357 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001358
Werner Lemberg960ba592006-12-01 08:20:47 +00001359 * include/freetype/ftchapters.h: Add `font_format' section.
1360
1361
1362 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1363 to TOC in index page.
1364
13652006-11-28 David Turner <david@freetype.org>
1366
1367 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1368 trying to render into a zero-width/height bitmap, not an error code.
1369
1370 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1371
1372 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1373 ones instead.
1374
1375 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1376 variable.
David Turner80658e52006-11-28 08:09:20 +00001377
Werner Lemberg8636c292006-11-26 22:28:13 +000013782006-11-26 Pierre Hanser <hanser@club-internet.fr>
1379
1380 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1381
Werner Lemberg960ba592006-12-01 08:20:47 +000013822006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001383
Werner Lemberg960ba592006-12-01 08:20:47 +00001384 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1385 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1386 Add stubs to link the `ftgrid' test program when debugging is
1387 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001388
Werner Lemberg960ba592006-12-01 08:20:47 +000013892006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001390
1391 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001392 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1393
1394 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1395 Emit more sensible information.
1396
1397 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1398
1399 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1400 rounding of blue values.
1401 (af_latin_hints_compute_segments): Hint segment heights.
1402 (af_latin_hints_link_segments): Reduce `len_score' value.
1403 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1404 value and use `height' member for comparisons.
1405 (af_latin_hint_edges): Extend logging message.
1406 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001407
Werner Lemberg91959bf2006-11-22 10:36:55 +000014082006-11-22 Werner Lemberg <wl@gnu.org>
1409
1410 Fix Savannah bug #15553.
1411
1412 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1413 program after a change from mono to grayscaling (and vice versa).
1414 Use correct constant for comparison to get `exec->grayscale'.
1415
Werner Lemberg913a3652006-11-19 09:19:17 +000014162006-11-18 Werner Lemberg <wl@gnu.org>
1417
1418 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001419 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001420 This patch fixes Savannah bug #18301.
1421
1422 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1423 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1424 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1425 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1426 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1427 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1428 (FNT_Load_Glyph): Check validity of `glyph_index'.
1429
David Turner7bab6ae2006-11-13 11:25:06 +000014302006-11-13 David Turner <david@freetype.org>
1431
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001432 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1433 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001434
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001435 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1436 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1437 when building the library to change the default LCD filter to be
1438 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001439
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001440 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001441
David Turner8765c712006-11-10 16:49:42 +000014422006-11-10 David Turner <david@freetype.org>
1443
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001444 * src/smooth/ftsmooth.c: API change for the LCD
1445 filter. The FT_LcdFilter value is an enumeration describing which
1446 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1447 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1448 algorithm which produces strong color fringes for everything
1449 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001450
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001451 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1452 second parameter to an enum type.
1453
1454 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1455 (_ft_lcd_filter): Rename to...
1456 (_ft_lcd_filter_fir): This.
1457 Update parameters.
1458 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1459 (FT_Library_Set_LcdFilter): Update parameters.
1460 Handle new filter modes.
1461
1462 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1463 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1464 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1465 callback and update other fields.
1466
1467 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1468 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1469 Other minor improvements.
1470
1471 * src/autofit/aflatin.c: Various tiny improvements that drastically
1472 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1473 (af_latin_hints_compute_edges): Fix typo.
1474 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001475
David Turner4e9cc3c2006-11-09 16:31:52 +000014762006-11-09 David Turner <david@freetype.org>
1477
Werner Lemberg49c77a82006-11-09 21:51:57 +00001478 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1479 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001480
Werner Lemberg5e430892006-11-07 09:35:03 +000014812006-11-07 Zhe Su <james.su@gmail.com>
1482
1483 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1484 also.
1485
Werner Lemberg111b5ae2006-11-03 09:40:12 +000014862006-11-03 Werner Lemberg <wl@gnu.org>
1487
1488 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1489
David Turner40604742006-11-02 16:37:35 +000014902006-11-02 David Turner <david@freetype.org>
1491
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001492 Add a few tweaks to better handle serif fonts.
1493 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001494
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001495 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1496 segments that are less than 1.5 pixels high. This gets rid of
1497 *many* corner cases with serifs.
1498 (af_latin_align_linked_edge): Add logging message.
1499 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1500 Add logging messages.
1501 Handle AF_EDGE_FLAG flag specially.
1502
1503 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1504 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1505
1506 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1507 Update external declarations.
1508 (af_corner_orientation, af_corner_is_flat): Replaced by...
1509
1510 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1511 ft_corner_is_flat): These declarations.
1512
1513 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1514 Comment out. Replaced by...
1515
1516 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1517 These functions. Update all callers.
1518 (FT_Add64) [!FT_LONG64]: Simplify.
1519
1520 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1521 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1522 production of garbage by missing lots of segments.
1523
1524 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1525
1526 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1527 [AF_DEBUG]: Set _af_debug_hints.
1528
1529
1530 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1531 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1532 and ft_corner_orientation.
1533
1534
1535 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001536
Werner Lemberge88c5262006-10-24 05:46:26 +000015372006-10-24 Werner Lemberg <wl@gnu.org>
1538
1539 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1540
1541 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1542 as argument.
1543
David Turnera1861392006-10-23 16:00:59 +000015442006-10-23 Zhe Su <zsu@novell.com>
1545
Werner Lemberg715e96e2006-10-24 05:28:45 +00001546 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1547 better deal with broken Asian fonts with strange glyphs, having
1548 self-intersections and other peculiarities. The used algorithm is
1549 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001550
David Turnere140f142006-10-23 08:56:57 +000015512006-10-23 David Turner <david@freetype.org>
1552
Werner Lemberg715e96e2006-10-24 05:28:45 +00001553 Speed up the CFF font loader. With some large CFF fonts,
1554 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001555
Werner Lemberg715e96e2006-10-24 05:28:45 +00001556 * src/cff/cffload.c (cff_get_offset): Removed.
1557 (cff_new_index): Inline functionality of `cff_get_offset'.
1558 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1559 (cff_charset_done): Call `cff_charset_free_cids'.
1560 (cff_charset_load): Call `cff_charset_compute_cids'.
1561 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1562
1563 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1564 with FT_NEXT_XXX.
1565
1566
1567 Speed up the Postscript hinter, with more than 100% speed increase
1568 on my machine.
1569
1570 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1571 psh_corner_orientation): New functions.
1572 (psh_glyph_compute_inflections): Merge loops for efficiency.
1573 Use `psh_corner_orientation'.
1574 (psh_glyph_init): Use `psh_corner_is_flat'.
1575 (psh_hint_table_find_strong_point): Renamed to...
1576 (psh_hint_table_find_strong_points): This.
1577 Rewrite, adding argument to handle all points at once.
1578 Update all callers.
1579 (PSH_MAX_STRONG_INTERNAL): New macro.
1580 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001581
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000015822006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1583
1584 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001585 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001586
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000015872006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1588
1589 * docs/INSTALL.CROSS: New document file for cross-building.
1590
1591 * builds/unix/configure.raw: Preliminary cross-building support.
1592 Find native C compiler and pass it by CC_BUILD, and
1593 find suffix for native executable and pass it by EXEEXT_BUILD.
1594 Also suffix for target executable is passed by EXEEXT.
1595
Werner Lembergb9e6d692006-10-15 08:58:40 +00001596 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1597 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001598 CC_BUILD and EXEEXT_BUILD.
1599
Werner Lembergb9e6d692006-10-15 08:58:40 +00001600 * builds/exports.mk (APINAMES_EXE): Change the extension for
1601 apinames from the suffix for target (E) to that for building host
1602 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001603
Werner Lemberg82a07e92006-10-12 06:20:44 +000016042006-10-12 Werner Lemberg <wl@gnu.org>
1605
1606 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1607 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1608 which reference those files.
1609
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000016102006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1611
Werner Lembergb9e6d692006-10-15 08:58:40 +00001612 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1613 embedded in freetype2.pc and freetype-config. Use it to record
1614 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001615
1616 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1617
1618 * builds/unix/freetype-config.in: Ditto.
1619
Werner Lemberg28e17d92006-10-11 17:27:47 +000016202006-10-11 Werner Lemberg <wl@gnu.org>
1621
1622 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1623 development.
1624
Jens Claudius336d2292006-10-03 08:53:37 +000016252006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1626
1627 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1628 argument to ft_setjmp.
1629
1630 * include/freetype/internal/ftvalid.h: Add comment that
1631 ft_validator_run must not be used.
1632
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016332006-10-01 Werner Lemberg <wl@gnu.org>
1634
1635 * src/base/ftbase.c: Undo change from 2006-09-30.
1636
1637 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1638
16392006-09-30 David Turner <david@freetype.org>
1640
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001641 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1642 s/unpatented_hinting/ignore_unpatented_hinter/.
1643 Update all callers.
1644
1645 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1646 auto-hinting shall be used or not.
1647
1648 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001649
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016502006-09-30 Werner Lemberg <wl@gnu.org>
1651
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001652 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1653 in use).
1654
1655 * src/base/ftbase.c: Include `ftlcdfil.c'.
1656
Werner Lemberg9b15ea32006-09-29 18:22:11 +000016572006-09-29 Werner Lemberg <wl@gnu.org>
1658
1659 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1660 overlapping segments. Bug reported by Stefan Koch.
1661
David Turnerad830712006-09-27 16:20:59 +000016622006-09-28 David Turner <david@freetype.org>
1663
Werner Lemberg2c002e12006-09-29 21:31:53 +00001664 Fix a bug in the automatic unpatented hinting support which prevents
1665 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001666
Werner Lemberg2c002e12006-09-29 21:31:53 +00001667 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1668 s/force_autohint/unpatented_hinting/. Update all callers.
1669
1670 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1671
1672 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001673
David Turner8a317cf2006-09-27 07:52:48 +000016742006-09-27 David Turner <david@freetype.org>
1675
Werner Lemberg2c002e12006-09-29 21:31:53 +00001676 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001677
David Turner8a317cf2006-09-27 07:52:48 +00001678
David Turnere140f142006-10-23 08:56:57 +00001679 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001680 In a default build, the function `FT_Library_SetLcdFilter' returns
1681 `FT_Err_Unimplemented_Feature'; you need to #define
1682 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1683 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001684
Werner Lemberg2c002e12006-09-29 21:31:53 +00001685 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001686
Werner Lemberg2c002e12006-09-29 21:31:53 +00001687 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1688 typedef.
1689 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1690 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001691
Werner Lemberg2c002e12006-09-29 21:31:53 +00001692 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1693 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001694
Werner Lemberg2c002e12006-09-29 21:31:53 +00001695 Handle subpixel rendering.
1696 Simplify function.
1697 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1698 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1699
1700 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1701 pointing to <freetype/ftlcdfil.h>.
1702
1703 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1704 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1705
1706 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001707
Werner Lemberge20df4a2006-09-27 06:29:21 +000017082006-09-26 David Bustin
1709
1710 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1711 correctly. Reported as Savannah bug #17843.
1712
David Turner6f8c6222006-09-26 15:42:44 +000017132006-09-26 David Turner <david@freetype.org>
1714
Werner Lemberg110246c2006-09-26 21:55:44 +00001715 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1716 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1717 horizontal and vertical hinting for the purpose of debugging the
1718 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001719
Werner Lemberg110246c2006-09-26 21:55:44 +00001720 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1721 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001722
Werner Lemberg110246c2006-09-26 21:55:44 +00001723 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1724
1725 * include/freetype/config/ftoption.h, devel/ftoption.h
1726 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1727 we want to compile LCD-optimized rendering code (à la ClearType) or
1728 not. The macro *must* be disabled in default builds of the library
1729 for patent reasons.
1730
1731 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1732 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1733 isn't defined at compile time. This only changes the content of the
1734 rendered glyph to match the one of normal gray-level rendering,
1735 hence clients should not need to be modified.
1736
1737 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001738
Werner Lemberg745ff2c2006-09-19 05:48:02 +000017392006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1740
1741 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1742 LWFN fails and both are available.
1743
David Turnerf3050052006-09-11 12:00:32 +000017442006-09-11 David Turner <david@freetype.org>
1745
Werner Lembergf9644552006-09-12 13:48:10 +00001746 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1747 report their English names through an Apple Roman
1748 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001749
Werner Lembergf9644552006-09-12 13:48:10 +00001750 If the font uses another name entry with language_id == English, it
1751 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001752
Werner Lembergf9644552006-09-12 13:48:10 +00001753 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1754 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001755
Werner Lemberg36d2eab2006-09-05 19:24:34 +000017562006-09-05 Werner Lemberg <wl@gnu.org>
1757
1758 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001759 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001760 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1761 `HAN NOM B.ttf').
1762
1763 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1764
David Turner772e55d2006-09-05 09:45:15 +000017652006-09-05 David Turner <david@freetype.org>
1766
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001767 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001768
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001769 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1770 (TRaster): Remove `count_ex' and `count_ey'.
1771 (gray_find_cell): Remove 2nd and 3rd argument.
1772 (gray_alloc_cell): Merged with `gray_find_cell'.
1773 (gray_record_cell): Simplify.
1774 (gray_set_cell): Rewrite.
1775 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1776 (gray_render_span): Don't use FT_MEM_SET for small values.
1777 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1778 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1779 bitmap scanline.
1780 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001781
David Turneraa557a92006-09-04 16:42:44 +000017822006-09-04 David Turner <david@freetype.org>
1783
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001784 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1785 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001786
Werner Lemberg2d8629b2006-09-03 06:18:45 +000017872006-09-03 Werner Lemberg <wl@gnu.org>
1788
1789 * devel/ftoption.h: Synchronize with
1790 include/freetype/config/ftoption.h.
1791
1792 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1793 variable declaration.
1794 (gray_convert_glyph): Fix compiler warnings.
1795
David Turner6d79f212006-09-01 14:09:35 +000017962006-09-01 David Turner <david@freetype.org>
1797
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001798 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1799 to recognize a few fonts that require the automatic unpatented
1800 loader.
David Turnerbd502952006-09-01 19:05:24 +00001801
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001802 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1803 rasterizer. The speed improvement is between 15% and 25%, depending
1804 on the font data.
1805
1806 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1807 (TCell): Redefine.
1808 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1809 (gray_init_cells): Updated.
1810 (gray_find_cell, gray_alloc_cell): New functions.
1811 (gray_record_cell): Rewritten to use `gray_find_cell' and
1812 `gray_alloc_cell'.
1813 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1814 QSORT_THRESHOLD):
1815 Removed.
1816 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1817 gray_dump_cells): Removed.
1818 (gray_sweep): Rewritten.
1819 (gray_convert_glyph): Rewrite code which used one of the sorting
1820 functions.
1821 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001822
Werner Lembergd898aed2006-08-29 09:50:34 +000018232006-08-29 Dr. Werner Fink <werner@suse.de>
1824
1825 * configure: Make it possible to handle configure options which
1826 have strings containing spaces.
1827
18282006-08-27 David Turner <david@freetype.org>
1829
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001830 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1831 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1832 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1833
1834 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1835 src/truetype/truetype.c, src/truetype/ttdriver.c,
1836 src/truetype/ttgload.c, src/truetype/ttgload.h,
1837 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1838 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1839 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1840
1841 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1842 member `force_autohint'.
1843
1844 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1845
1846 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1847 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001848
Jens Claudiusa787f452006-08-27 11:26:18 +000018492006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1850
1851 Fix miscellaneous compiler warnings.
1852
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001853 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1854 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001855
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001856 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1857 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1858 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001859
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001860 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1861 volatileness of argument to ft_longjmp. Spotted by Werner
1862 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001863
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001864 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1865 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001866
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001867 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1868 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001869
Werner Lembergc4c35b72006-08-27 08:03:46 +000018702006-08-27 Werner Lemberg <wl@gnu.org>
1871
1872 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1873 Reported by Jens.
1874
Jens Claudius088e44e2006-08-22 14:24:30 +000018752006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001876
Jens Claudius088e44e2006-08-22 14:24:30 +00001877 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001878 about addresses of volatile objects passed as function arguments as
1879 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001880
Werner Lembergc4c35b72006-08-27 08:03:46 +00001881 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1882 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001883
1884 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1885 argument `table' a pointer to a volatile object.
1886
1887 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1888 argument `table' a pointer to a volatile object.
1889
Jens Claudius2652bd52006-08-18 17:20:37 +000018902006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1891
1892 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1893 variable `_sfnt' as volatile since it must keep its value across
1894 a call to ft_setjmp.
1895 (gxv_validate): Same for local variables `memory' and `valid'.
1896 (classic_kern_validate): Same for local variables `memory',
1897 `ckern', and `valid'.
1898
1899 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1900 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1901 `jstf', and 'valid'.
1902
1903 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1904 local variable `cmap'.
1905
David Turner9fbfc6a2006-08-16 09:11:31 +000019062006-08-16 David Turner <david@freetype.org>
1907
Werner Lemberg12342992006-08-19 11:18:09 +00001908 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1909 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001910
Werner Lemberg12342992006-08-19 11:18:09 +00001911 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1912 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001913
David Turner33f5f242006-08-16 16:50:55 +00001914
Werner Lemberg12342992006-08-19 11:18:09 +00001915 Improvements to native TrueType hinting. This is a first try,
1916 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1917
1918 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1919 `extra_points2'.
1920
1921 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1922 `orus'.
1923
1924 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1925 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1926 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1927 handle `extra_points2'.
1928
1929 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1930 Remove compiler warning.
1931 (cur_to_arg): Remove macro.
1932 (TT_Hint_Glyph): Updated.
1933 (TT_Process_Simple_Glyph): Handle `orus'.
1934
1935 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1936 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1937 (LOC_Ins_IUP): Renamed to...
1938 (IUP_WorkerRec): This.
1939 Add `orus' member.
1940 (Shift): Renamed to...
1941 (_iup_worker_shift): This.
1942 Updated.
1943 (Interp): Renamed to...
1944 (_iup_worker_interpolate): This.
1945 Updated to handle `orus'.
1946 (Ins_IUP): Updated.
1947
1948 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1949 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001950
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000019512006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1952
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001953 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001954 build ftvalid in ft2demos. This has been inadvertedly changed
1955 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001956
19572006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1958
Werner Lemberg12342992006-08-19 11:18:09 +00001959 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1960 Jens:
1961 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001962
Werner Lemberg12342992006-08-19 11:18:09 +00001963 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1964 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001965
1966 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1967
Jens Claudius9950adc2006-08-13 12:14:36 +000019682006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1969
Werner Lemberg12342992006-08-19 11:18:09 +00001970 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1971 T1_TOKEN_TYPE_KEY.
1972 (T1_FieldRec): Add `dict'.
1973 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1974 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1975 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001976
Werner Lemberg12342992006-08-19 11:18:09 +00001977 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1978 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001979
1980 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1981
1982 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001983 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1984 not T1_TOKEN_TYPE_ANY.
1985 (ps_parser_load_field): Make sure a token that should be a string or
1986 name is really a string or name.
1987 Avoid memory leak if a keyword has been already encountered and its
1988 value is overwritten.
1989 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1990 T1_FIELD_XXX.
1991 (parse_dict): Ignore keywords that occur in the wrong dictionary
1992 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001993
Werner Lemberg12342992006-08-19 11:18:09 +00001994 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1995 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001996
Werner Lemberg12342992006-08-19 11:18:09 +00001997 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1998 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001999
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000020002006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2001
2002 Move creation of field `buildchar' of T1_DecoderRec out of
2003 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2004 of it.
2005
2006 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2007 and `T1_Compute_Max_Advance'.
2008
2009 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2010 Remove field `face', add `len_buildchar'.
2011
2012 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2013 field `buildchar'.
2014
2015 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2016 finisher for T1_Decoder.
2017 (cid_slot_load_glyph): Do not ignore failure when initializing the
2018 T1_Decoder.
2019
2020 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2021 Updated.
2022 (t1_decoder_init): Remove initialization of fields `buildchar' and
2023 `len_buildchar'.
2024 (t1_decoder_done): Remove deallocation of field `buildchar'.
2025
2026 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2027 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2028 T1_Decoder.
2029 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2030 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2031 case of error.
2032
2033 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2034 `buildchar' of T1_FaceRec.
2035
2036 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2037 `buildchar' of T1_FaceRec.
2038
Werner Lemberg1a380e02006-07-14 18:28:08 +000020392006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2040
2041 * freetype2/include/freetype/internal/psaux.h: New macros
2042 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2043 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2044 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2045 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2046 (T1_DecoderRec): New fields `buildchar' and `face'.
2047 (IS_PS_TOKEN): New macro.
2048
2049 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2050 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2051
2052 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2053 `default_design_vector' and `num_default_design_vector'.
2054
2055 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2056 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2057 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2058
2059 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2060 `token' argument to be NULL if we want only to count the number of
2061 tokens.
2062 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2063 want to skip the array.
2064 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2065 want to skip the array.
2066
2067 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2068 support for (partially commented out) othersubrs 19-25, 27, and 28.
2069 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2070 (t1_decoder_done): Release new field `buildchar'.
2071
2072 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2073 functions.
2074 (t1_keywords): Register them.
2075 (t1_allocate_blend): Updated.
2076 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2077 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2078 (parse_dict): Remove `keyword_flags' argument.
2079 Use new macro IS_PS_TOKEN.
2080 Changed function so that later PostScript definitions override
2081 earlier ones.
2082 (t1_init_loader): Initialize new field `keywords_encountered'.
2083 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2084 `len_buildchar'.
2085 Remove `keywords_flags'.
2086
2087 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2088 `keywords_encountered'.
2089 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2090
2091 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2092 New entries for parsing /NDV, /CDV, and /DesignVector.
2093
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000020942006-07-07 Werner Lemberg <wl@gnu.org>
2095
2096 Add many checks to protect against malformed PCF files.
2097
2098 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2099 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2100
2101 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2102 data and check that tables don't overlap (using a simple
2103 bubblesort).
2104 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2105 New macros which give the size of data structures in the data
2106 stream.
2107 (pcf_get_properties): Use rough estimates to get array size limits.
2108 Assign `face->nprops' and `face->properties' earlier so that a call
2109 to PCF_Face_Done can do the clean-up in case of error.
2110 Protect against invalid string offsets.
2111 (pcf_get_metrics): Clean up code.
2112 Adjust tracing message levels.
2113 Use rough estimate to get array size limit.
2114 (pcf_get_bitmaps): Clean up code.
2115 Adjust tracing message levels.
2116 Use rough estimates to get offset limits.
2117 (pcf_get_encodings): Adjust tracing message level.
2118 (pcf_get_accel): Clean up code.
2119
Werner Lemberg8eb05252006-06-27 06:20:01 +000021202006-06-26 Werner Lemberg <wl@gnu.org>
2121
2122 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2123 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2124
Werner Lemberg24703f82006-06-26 19:12:51 +000021252006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2126
2127 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2128 (t1_decoder_parse_charstrings): Operator with
2129 opcode 15 pops its two arguments.
2130 Handle the case where the pops of an othersubr may be part of a
2131 subroutine.
2132 Handle unknown othersubrs gracefully: count their operands and let
2133 the following pop operators push the operands as the results onto
2134 the Type1 stack.
2135 Improve handling of setcurrentpoint opcode.
2136
Werner Lembergc011f4c2006-06-26 09:40:00 +000021372006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2138
2139 The Type 1 parser now skips over top-level procedures as required
2140 for a `Simplified Parser'. This makes the parser more robust as it
2141 doesn't poke around in PostScript code. Additionally, it makes the
2142 FontDirectory hackery in src/type1/t1load.c unnecessary.
2143
2144 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2145 (skip_literal_string): Add FT_Error as return value.
2146 Handle escapes better.
2147 (skip_string): Add FT_Error as return value.
2148 Don't set `parser->error' but return error code directly.
2149 (skip_procedure): New function.
2150 (ps_parser_skip_PS_token): Handle procedures.
2151 Update code.
2152 (ps_parser_to_token): Update code.
2153 (ps_parser_load_field_table): Handle bbox entries also.
2154
2155 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2156 Add commented-out code for synthetic fonts.
2157
Werner Lemberga2da05c2006-06-25 06:27:27 +000021582006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2159
2160 Fix two hinting bugs as reported in
2161 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2162
2163 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2164 `first_point' member.
2165
2166 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2167 `first_point'.
2168 (TT_Process_Composite_Glyph): Always untouch points.
2169
2170 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2171 `first_point' and `last_point' in case of composite glyphs.
2172 (Ins_IUP): Fix computation of `end_point'.
2173
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000021742006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2175
Werner Lembergef3d2c22006-06-25 06:07:14 +00002176 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2177 Mac. The original patch was written by David Sachitano and Lawrence
2178 Coopet, and modified by Sean McBride for MPW compatibility. Only
2179 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002180
Werner Lembergef3d2c22006-06-25 06:07:14 +00002181 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2182 Mac OS X platforms.
2183 (OS_INLINE): Undefine before definition.
2184 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2185 FontAssociation table in FOND resource.
2186 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2187 and fontSize at each entry of FontAssociation table in FOND
2188 resource.
2189 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2190 ffStylOff of FamilyRecord header of FOND resource, the header,
2191 fontSize, fontID at each entry of FontAssociation table, and
2192 StyleMapping table.
2193 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002194
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000021952006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2196
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002197 Public API of TrueTypeGX, OpenType, and classic kern table validator
2198 should return `FT_Err_Unimplemented_Feature' if validation service
2199 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002200 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002201 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2202
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002203 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2204 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2205 unavailable.
2206 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2207 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002208
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002209 * src/base/ftotval.c (FT_OpenType_Validate): Return
2210 FT_Err_Unimplemented_Feature if OpenType validation service is
2211 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002212
Werner Lembergb10e45a2006-06-08 07:32:56 +000022132006-06-08 Werner Lemberg <wl@gnu.org>
2214
2215 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2216 errors.
2217
David Turner5f1f7502006-06-07 05:11:50 +000022182006-06-07 David Turner <david@freetype.org>
2219
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002220 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2221 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2222 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002223
David Turner457b4a82006-06-06 08:14:14 +000022242006-06-06 David Turner <david@freetype.org>
2225
Werner Lemberg4836f952006-06-06 12:54:08 +00002226 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002227
Werner Lemberg4836f952006-06-06 12:54:08 +00002228 We change `ps_unicodes_init' so that it also takes a
2229 `free_glyph_name' callback to release the glyph names returned by
2230 `get_glyph_name'
2231
2232 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2233 Renamed to ...
2234 (PS_GetGlyphNameFunc): This.
2235 (PS_FreeGlyphNameFunc): New typedef.
2236 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2237
2238 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2239 argument.
2240 (cff_sid_free_glyph_name): New function.
2241 (cff_cmap_unicode_init): Updated.
2242
2243 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2244
2245 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2246 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002247
2248
David Turner09717352006-06-04 14:33:08 +000022492006-06-04 David Turner <david@freetype.org>
2250
Werner Lembergd724f202006-06-04 15:17:41 +00002251 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2252 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002253 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002254
Werner Lembergd724f202006-06-04 15:17:41 +00002255 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2256 of `face->num_glyphs' which missed the last glyph, due to
2257 the offset-by-1 computation, since the PFR format doesn't
2258 guarantee that glyph index 0 corresponds to the `missing
2259 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002260
Werner Lemberg33779662006-05-26 06:30:05 +000022612006-05-25 Werner Lemberg <wl@gnu.org>
2262
2263 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2264 `-no-undefined'. Reported by Christian Biesinger.
2265
Werner Lemberg24773d62006-05-20 08:53:13 +000022662006-05-19 Brian Weed <bw@imaginengine.com>
2267
2268 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2269 have debug information, and debug libraries use `C7 compatible'
2270 debug info.
2271
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000022722006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2273
Werner Lemberga6523a62006-05-20 08:47:01 +00002274 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002275 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002276
Werner Lemberga6523a62006-05-20 08:47:01 +00002277 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2278 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002279
2280 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002281 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002282
22832006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2284
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002285 * build/unix/configure.raw: Add a fallback to disable Carbon
2286 dependency, if configured with no options on Mac OS X.
2287
22882006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2289
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002290 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002291 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002292 the second part of Savannah bug #16590.
2293
Werner Lemberg545c4e52006-05-17 22:55:04 +000022942006-05-18 Werner Lemberg <wl@gnu.org>
2295
2296 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2297 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2298
David Turnerdc3ff312006-05-17 12:59:35 +000022992006-05-17 David Turner <david@freetype.org>
2300
Werner Lemberg545c4e52006-05-17 22:55:04 +00002301 This is a major patch used to drastically improve the performance of
2302 loading glyphs. This both speeds up loading the glyph vectors
2303 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002304
Werner Lemberg545c4e52006-05-17 22:55:04 +00002305 We now use inline assembler code with GCC to implement `FT_MulFix',
2306 which is probably the most important function related to the
2307 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002308
Werner Lemberg545c4e52006-05-17 22:55:04 +00002309 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002310
2311
Werner Lemberg545c4e52006-05-17 22:55:04 +00002312 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2313 `cursor' and `limit'.
2314
2315 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2316 New functions.
2317 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2318 [TEST]: Remove.
2319
2320 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2321 code.
2322
2323 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2324 `FT_ZERO'
2325 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2326 (af_glyph_hints_reload: Rewrite recognition of weak points.
2327
2328 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2329 constant values out of the loops.
2330
2331 * src/autofit/aftypes.h: Updated.
2332
2333 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2334
2335 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2336 product to get orientation.
2337
2338 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2339 (FT_Stream_OpenGzip): Use it to handle small files directly in
2340 memory.
2341
2342 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2343 Improve performance.
2344
2345 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2346 `limit'.
2347
2348 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2349 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2350 exceedingly large values of number of contours. Speed up by
2351 reducing the number of loops.
2352
2353 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2354
2355
2356 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2357 used to detect rogue clients from 4 to 16. This is to prevent some
2358 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2359 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002360
Werner Lembergde2d90a2006-05-17 08:54:30 +000023612007-05-17 Werner Lemberg <wl@gnu.org>
2362
2363 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002364 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002365
23662006-05-16 Werner Lemberg <wl@gnu.org>
2367
2368 * docs/PROBLEMS: Updated icl issues.
2369
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002370----------------------------------------------------------------------------
2371
Werner Lemberg42b63b22007-01-21 21:01:33 +00002372Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002373David Turner, Robert Wilhelm, and Werner Lemberg.
2374
2375This file is part of the FreeType project, and may only be used, modified,
2376and distributed under the terms of the FreeType project license,
2377LICENSE.TXT. By continuing to use, modify, or distribute this file you
2378indicate that you have read the license and understand and accept it
2379fully.
2380
2381
2382Local Variables:
2383version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002384coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002385End: