blob: 357b11f31e0d082e46a5e18455beb7f31824fe3a [file] [log] [blame]
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000012007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2
3 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
4 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
5 the compiler warnings against unused arguments.
6 (FT_ATSFontGetFileReference): Ditto.
7 (FT_GetFile_From_Mac_ATS_Name): Ditto.
8 (FT_New_Face_From_FSSpec): Ditto.
9 (lookup_lwfn_by_fond): Fix wrong comment.
10 Replace `const StringPtr' by more appropriate type
11 `ConstStr255Param'.
12 FSRefMakePathPath always returns UTF8 POSIX pathname in
13 Mach-O, thus HFS pathname support is dropped.
14 (count_faces): Remove HLock and HUnlock which is not
15 required on Mac OS X anymore.
16 (FT_New_Face_From_SFNT): Ditto.
17 (FT_New_Face_From_FOND): Ditto.
18 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
19 except of HFS pathname support and HLock/HUnlock.
20 They are required on classic CFM environment.
21
222007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +000023
Werner Lembergf9fa1c82007-06-18 17:00:05 +000024 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
25 assertion.
26 (ps_parser_to_bytes): Fix error message.
27
Werner Lembergbb2510d2007-06-18 17:07:49 +000028 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000029 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
30 Don't allow mixed binary and hex strings.
31 Handle zero string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +000032 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000033
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000342007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +000035
Werner Lembergf48aec72007-06-18 07:07:55 +000036 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
37 logic.
38 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
39 correctly.
40 (ps_parser_load_field_table): Use `fields->array_max' instead of
41 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
42
Werner Lemberg95104a42007-06-18 07:33:10 +000043 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
44 2007-06-06.
45
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000462007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +000047
48 * src/tools/ftrandom.c (font_size): New global variable.
49 (TestFace): Use it.
50 (main): Handle new option `--size' to set `font_size'.
51 (Usage): Updated.
52
Werner Lembergbe183eb2007-06-17 11:27:17 +000053 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
54 invalid font.
55 (FNT_Load_Glyph): Protect against invalid bitmap width.
56
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000572007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +000058
Werner Lemberge12ed562007-06-17 05:31:23 +000059 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
60 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +000061
Werner Lemberge12ed562007-06-17 05:31:23 +000062 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
63 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +000064
Werner Lemberge12ed562007-06-17 05:31:23 +000065 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
66 and `zp2'.
67 (Ins_IP): Check argument ranges to reject bogus operations properly.
68 (IUP_WorkerRec): Add `max_points' member.
69 (_iup_worker_interpolate): Check argument ranges.
70 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +000071
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000722007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +000073
74 * src/winfonts/winfnt.h: Add necessary structures for PE resource
75 parsing.
76 (WinPE32_HeaderRec): New structure.
77 (WinPE32_SectionRec): New structure.
78 (WinPE_RsrcDirRec): New structure.
79 (WinPE_RsrcDirEntryRec): New structure.
80 (WinPE_RsrcDataEntryRec): New structure.
81 (FNT_FontRec): Remove unused `size_shift' field.
82
83 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
84 loading bitmap .fon files in PE format.
85
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000862007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +000087
88 * builds/win32/ftdebug.c: Unify debug level handling with other
89 platforms.
90
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000912007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +000092
93 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
94 console as well as to the debugger.
95
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000962007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +000097
98 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
99 cover all ranges which could possibly be handled by the aflatin
100 module (since the default fallback for unknown ranges is now the
101 afcjk module). It might be necessary to fine-tune this further by
102 splitting off modules for Greek, Cyrillic, or other blocks.
103
David Turnerb7920172007-06-11 05:37:35 +00001042007-06-11 David Turner <david@freetype.org>
105
Werner Lemberg49e18b82007-06-11 21:15:09 +0000106 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
107 incorrect segment linking computation. This was the root cause of
108 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000109
110
Werner Lemberg49e18b82007-06-11 21:15:09 +0000111 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
112 to improve the Latin auto-hinter. Note that the new code is
113 disabled by default since it is not stabilized yet.
114
115 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
116 (disabled currently).
117
118 * src/autofit/afhints.c: Remove dead code.
119 (af_axis_hints_new_edge): Add argument to handle segment directions.
120 (af_edge_flags_to_string): New function.
121 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
122 option flags.
123 (af_glyph_hints_reload): Add argument to handle inflections.
124 Simplify.
125 (af_direction_compute): Fine tuning.
126 (af_glyph_hints_align_edge_points): Fix logic.
127 (af_glyph_hints_align_strong_points): Do linear search for small
128 edge counts.
129 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
130 (af_iup_shift): Handle zero `delta'.
131
132 * src/autofit/afhints.h: Updated.
133 (AF_SORT_SEGMENTS): New macro (disabled).
134 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
135
136 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
137 argument to pass option flags for handling scripts.
138 * src/autofit/afglobal.h: Updated.
139
140 * src/autofit/afcjk.c: Updated.
141 * src/autofit/aflatin.c: Updated.
142 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
143
144 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
145 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
146 Don't set `edge->dir'
147 (af_latin_hint_edges): Add more logging.
148
149 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000150
Werner Lembergf6c120f2007-06-11 04:55:58 +00001512007-06-11 Werner Lemberg <wl@gnu.org>
152
Werner Lembergcf7b7642007-06-11 04:58:01 +0000153 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000154
David Turner84c6f882007-06-10 20:51:04 +00001552007-06-10 David Turner <david@freetype.org>
156
Werner Lembergf6c120f2007-06-11 04:55:58 +0000157 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
158 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000159
Werner Lembergf6c120f2007-06-11 04:55:58 +0000160 * include/freetype/config/ftoption.h: Clarify documentation
161 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000162
Werner Lembergf6c120f2007-06-11 04:55:58 +0000163
164 Add new `FT_Face_CheckTrueTypePatents' API.
165
166 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
167 declaration.
168
169 * include/freetype/internal/services/svttglyf.h,
170 src/base/ftpatent.c: New files.
171
172 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
173 New macro.
174
175 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
176 `ttpload.h'.
177 (tt_service_truetype_glyf): New service structure.
178 (tt_services): Register it.
179
180 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
181 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000182
Werner Lemberg33db39e2007-06-08 06:30:29 +00001832007-06-08 Werner Lemberg <wl@gnu.org>
184
David Turner84c6f882007-06-10 20:51:04 +0000185 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000186 Fonts without a cmap must be handled correctly by FreeType (anything
187 else would be a bug).
188
189
190 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
191 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
192
Werner Lemberg88ab6382007-06-07 05:01:56 +00001932007-06-07 Werner Lemberg <wl@gnu.org>
194
195 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
196 tt_sbit_decoder_load_image): Protect against integer overflows.
197
198
199 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
200 for `x_control' and `y_control'.
201
Werner Lemberg2a2dca62007-06-06 04:39:37 +00002022007-06-06 Werner Lemberg <wl@gnu.org>
203
204 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
205
Werner Lemberga8d65492007-06-06 04:47:49 +0000206
207 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
208 FreeType error.
209
Werner Lemberg470210b2007-06-06 10:05:49 +0000210
211 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
212 `font_count'.
213
214
215 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
216
217
218 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
219 `FT_Error'.
220 Check `fd_index'.
221 (cff_slot_load): Updated.
222 * src/cff/cffgload.h: Updated.
223
Werner Lemberg6c054752007-06-05 05:27:54 +00002242007-06-05 Werner Lemberg <wl@gnu.org>
225
226 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
227 (pfr_glyph_load_simple): Convert assertion into normal FreeType
228 error.
229 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000230 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
231 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000232
233 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
234
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000235
Werner Lemberg470210b2007-06-06 10:05:49 +0000236 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000237
Werner Lemberge5c14d92007-06-05 20:50:37 +0000238
239 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
240 in case of parsing error.
241 (ps_parser_load_field): Updated.
242
243 * src/type1/t1load.c (parse_font_matrix): Updated.
244
Werner Lembergad18b362007-06-04 07:04:05 +00002452007-06-04 Werner Lemberg <wl@gnu.org>
246
247 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
248
249 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
250
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002512007-06-03 Werner Lemberg <wl@gnu.org>
252
Werner Lemberg99a320b2007-06-03 19:21:26 +0000253 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
254 George Williams (with some modifications).
255
2562007-06-03 Werner Lemberg <wl@gnu.org>
257
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000258 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
259 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
260 face == NULL. Suggested by Graham Asher.
261
Werner Lembergce280a22007-06-03 05:58:30 +00002622007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
263
264 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
265
Werner Lemberg5b591e42007-06-01 22:16:43 +00002662007-06-02 Werner Lemberg <wl@gnu.org>
267
268 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
269 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
270
271 * src/bdf/bdflib.c (bdf_load_font): Use them.
272
273 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
274
Werner Lembergb9933f42007-06-01 21:27:12 +00002752007-06-01 Werner Lemberg <wl@gnu.org>
276
277 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
278 (FTC_CMapCache_Lookup): Remove unused code.
279
Werner Lembergc793d902007-06-01 20:51:11 +00002802007-06-01 Sean McBride <sean@rogue-research.com>
281
282 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
283 unused.
284
Werner Lembergbebc7b12007-06-01 06:32:30 +00002852007-06-01 Werner Lemberg <wl@gnu.org>
286
287 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
288 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000289 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000290
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000291 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
292 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
293
Werner Lembergba03af62007-05-30 13:57:02 +00002942007-05-30 Werner Lemberg <wl@gnu.org>
295
296 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
297 against too small binary data strings.
298
299 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
300
David Turnerf0cd69c2007-05-28 15:42:09 +00003012007-05-28 David Turner <david@freetype.org>
302
Werner Lemberg99e0c182007-05-29 07:00:23 +0000303 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
304 transformation. This significantly reduces the loading time of CFF
305 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000306
Werner Lemberg99e0c182007-05-29 07:00:23 +0000307 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000308
Werner Lemberg99e0c182007-05-29 07:00:23 +0000309 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
310 hinting script to CJK, since it works well with more scripts than
311 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
312 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000313
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003142007-05-25 Werner Lemberg <wl@gnu.org>
315
316 * docs/CHANGES: Updated.
317
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00003182007-05-24 Werner Lemberg <wl@gnu.org>
319
320 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
321 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
322
3232007-05-24 Graham Asher <graham.asher@btinternet.com>
324
325 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
326 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
327
David Turner0d0365e2007-05-22 09:53:44 +00003282007-05-22 David Turner <david@freetype.org>
329
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000330 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
331 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000332
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000333
334 Avoid heap blowup with very large .Z font files. This fixes
335 Savannah bug #19910.
336
337 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
338 `in_limit', `pad', `pad_bits', and `in_buff' members.
339 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
340 `buf_total' members.
341
342 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
343 only one argument.
344 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000345
3462007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000347
348 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
349 (ps_dimension_set_mask_bits): Remove `const'.
350
David Turner0d0365e2007-05-22 09:53:44 +00003512007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000352
353 * src/sfnt/ttmtx.c (tt_face_get_metrics)
354 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
355
Werner Lembergb826fa72007-05-19 07:18:48 +00003562007-05-19 Derek Clegg <dclegg@apple.com>
357
358 Savannah patch #5929.
359
360 * include/freetype/tttables.h, src/base/ftobjcs.c
361 (FT_Get_CMap_Format): New function.
362
363 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
364 `format' member.
365 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
366 cmap_info->format.
367
Werner Lemberg6f99c882007-05-19 07:01:49 +00003682007-05-19 Werner Lemberg <wl@gnu.org>
369
370 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
371 before handling subglyphs so that it can be reinitialized each time.
372 This fixes Savannah bug #19859.
373
Werner Lemberg95bc9d32007-05-16 15:19:42 +00003742007-05-16 Werner Lemberg <wl@gnu.org>
375
376 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
377 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
378 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
379 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
380 tt_face_get_metrics): Fix type-punning issues.
381
David Turner0a24bd22007-05-15 10:54:10 +00003822007-05-15 David Turner <david@freetype.org>
383
384 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000385 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
386 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000387 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000388 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000389
Werner Lemberg607dec72007-05-15 06:49:37 +00003902007-05-15 Graham Asher <graham.asher@btinternet.com>
391
392 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
393 variable.
394 * src/autofit/afloader.c (af_loader_load_g): Ditto.
395
396 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
397 (open_face_from_buffer): Initialize `stream'.
398 (FT_Request_Metrics): Remove unused variable.
399 Remove redundant `break' statements.
400 (FT_Get_Track_Kerning): Remove unused variable.
401
402 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
403 afm_parse_kern_data): Remove redundant
404 `break' statements.
405 (afm_parser_parse): Ditto.
406 Don't use uninitialized variables.
407
408 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
409 Use `|' operator instead of `^' to set it.
410 Update all users.
411
412 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
413 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
414
415 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
416 comparison.
417 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
418 (TT_Load_Glyph): Remove unused variable.
419
Werner Lemberg8d463a52007-05-13 16:01:55 +00004202007-05-13 Derek Clegg <dclegg@apple.com>
421
422 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
423 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
424
David Turner711cf842007-05-11 14:36:24 +00004252007-05-11 David Turner <david@freetype.org>
426
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000427 * src/cache/ftbasic.c, include/freetype/ftcache.h
428 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
429 functions that allow us to look up glyphs using an FTC_Scaler object
430 to specify the size, making it possible to use fractional pixel
431 sizes.
432
433 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
434 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000435
Werner Lemberg94be20e2007-05-09 20:02:55 +00004362007-05-09 Graham Asher <graham.asher@btinternet.com>
437
438 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
439 (af_latin_metrics_scale_dim): Fix compiler warnings.
440
Werner Lemberg41271032007-05-06 04:51:48 +00004412007-05-06 Werner Lemberg <wl@gnu.org>
442
443 * builds/win32/visualce/freetype.sln: Removed, as requested by
444 Vincent.
445
Werner Lembergdf49e692007-05-04 06:30:05 +00004462007-05-04 Vincent RICHOMME <richom.v@free.fr>
447
448 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
449 PC targets.
450
451 * docs/CHANGES: Document them.
452
4532007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000454
455 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
456 mmap (which might happen on some RTOS). From Savannah patch #5909.
457
Werner Lemberg106eaf12007-05-03 07:07:47 +00004582007-05-03 Werner Lemberg <wl@gnu.org>
459
460 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
461 * include/freetype/freetype.h (FT_Set_Char_Size): Update
462 documentation.
463
Werner Lemberg1b5267d2007-04-28 21:06:15 +00004642007-04-28 Victor Stinner <victor.stinner@inl.fr>
465
466 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
467 `cmap'.
468
Werner Lembergcc712a22007-04-27 17:16:50 +00004692007-04-27 Werner Lemberg <wl@gnu.org>
470
471 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
472 number of points in contours. Problem reported by Victor Stinner
473 <victor.stinner@haypocalc.com>.
474 (TT_Process_Simple_Glyph): Synchronize variable types.
475
Werner Lemberg45bb18f2007-04-26 06:26:35 +00004762007-04-26 Werner Lemberg <wl@gnu.org>
477
478 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
479 zero in case of error. This fixes Savannah bug #19689.
480
David Turnera8b45e62007-05-11 14:10:30 +00004812007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
482
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000483 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
484 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000485
Werner Lembergfcc1f472007-04-10 11:51:50 +00004862007-04-10 Martin Horak <horakm@centrum.cz>
487
488 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
489 Ignore `hhea' table. This fixes Savannah bug #19261.
490
Werner Lemberg14bf82e2007-04-10 04:09:49 +00004912007-04-09 Werner Lemberg <wl@gnu.org>
492
493 * Version 2.3.4 released.
494 =========================
495
496
497 Tag sources with `VER-2-3-4'.
498
499 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
500 version number to 2.3.4.
501
502 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
503 builds/win32/visualc/freetype.dsp,
504 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
505
506 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
507
508 * builds/unix/configure.raw (version_info): Set to 9:15:3.
509
Werner Lembergf4a52a62007-04-09 08:40:11 +00005102007-04-09 Martin Horak <horakm@centrum.cz>
511
512 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
513 memory stream to avoid a crash with the incremental memory
514 interface (Savannah bug #19260).
515
David Turner1dcb4442007-04-06 08:19:04 +00005162007-04-06 David Turner <david@freetype.org>
517
Werner Lembergc81cf612007-04-06 09:28:23 +0000518 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
519 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000520
Werner Lemberg9f83e052007-04-05 02:28:23 +00005212007-04-04 Werner Lemberg <wl@gnu.org>
522
523 * Version 2.3.3 released.
524 =========================
525
526
527 Tag sources with `VER-2-3-3'.
528
529 * docs/CHANGES: Mention CVE-2007-1351.
530
David Turner7338ec22007-04-03 14:30:34 +00005312007-04-03 David Turner <david@freetype.org>
532
533 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000534 if one of the resolution values is 0, treat it as if it were the
535 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000536
David Turnere6472c12007-04-02 13:13:54 +00005372007-04-02 David Turner <david@freetype.org>
538
Werner Lemberg94f12272007-04-03 07:19:53 +0000539 Add special code to detect `extra-light' fonts and do not snap their
540 stem widths too much to avoid bizarre hinting effects.
541
542 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
543 `extra_light' members.
544
545 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
546 them.
547 (af_latin_metrics_scale_dim): Set `extra_light'.
548 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000549
David Turner3f539692007-03-28 14:53:40 +00005502007-03-28 David Turner <david@freetype.org>
551
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000552 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000553 padding.
554
Werner Lemberga08b2172007-03-28 07:17:17 +00005552007-03-28 Werner Lemberg <wl@gnu.org>
556
557 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
558 gracefully.
559 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000560 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000561 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
562 number of code points in Unicode.
563
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000564 * builds/win32/visualc/index.html,
565 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000566 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000567 s/232/233/.
568
569 * docs/CHANGES: Mention ftdiff.
570
David Turner3b242d32007-03-26 12:03:04 +00005712007-03-26 David Turner <david@freetype.org>
572
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000573 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
574 corresponding code.
575 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000576
Werner Lemberga08b2172007-03-28 07:17:17 +0000577 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000578 computations in order to ignore single-point contours. These are
579 never rasterized and correspond in certain fonts to mark-attach
580 points that are very far from the glyph's real outline, ruining the
581 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000582
Werner Lemberga08b2172007-03-28 07:17:17 +0000583 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000584 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000585 Otherwise code that uses them will most certainly ruin the fixed
586 advance property.
David Turner23553d62007-03-26 13:37:17 +0000587
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000588 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
589 documentation and bump version number to 2.3.3.
590
591 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
592
593 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000594
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00005952007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
596
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000597 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
598 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000599 * builds/vms/ftconfig.h: Ditto.
600 * include/freetype/config/ftconfig.h: Ditto.
601
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00006022007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
603
Werner Lemberg14ffe092007-03-22 06:12:43 +0000604 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
605 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000606 proposed by Sean McBride:
607 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
608
6092007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
610
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000611 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
612 setjmp, proposed by Sean McBride:
613 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
614
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00006152007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
616
Werner Lembergc9f6c662007-03-21 13:30:14 +0000617 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
618 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
619 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000620
David Turner74c34eb2007-03-18 07:19:31 +00006212007-03-18 David Turner <david@freetype.org>
622
Werner Lembergc9f6c662007-03-21 13:30:14 +0000623 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
624 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000625
Werner Lembergc9f6c662007-03-21 13:30:14 +0000626 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000627
David Turner89020d92007-03-17 17:48:57 +00006282007-03-17 David Turner <david@freetype.org>
629
Werner Lembergc9f6c662007-03-21 13:30:14 +0000630 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
631 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000632
Werner Lemberg25d592a2007-03-09 07:59:35 +00006332007-03-09 Werner Lemberg <wl@gnu.org>
634
635 * Version 2.3.2 released.
636 =========================
637
638
639 Tag sources with `VER-2-3-2'.
640
641 * builds/win32/visualc/index.html,
642 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000643 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000644 s/231/232/.
645
David Turner3a51afa2007-03-08 10:50:38 +00006462007-03-08 David Turner <david@freetype.org>
647
Werner Lemberg25d592a2007-03-09 07:59:35 +0000648 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000649
Werner Lemberg25d592a2007-03-09 07:59:35 +0000650 * builds/unix/configure.raw (version_info): Set to 9:13:3.
651
652 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
653
654 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000655
Werner Lemberg1e259de2007-03-08 15:39:21 +0000656 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
657 function to work properly, over-writing user-provided buffers in
658 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000659
David Turner121cad52007-03-08 16:43:50 +0000660
Werner Lemberg3d92f082007-03-06 11:59:24 +00006612007-03-05 Werner Lemberg <wl@gnu.org>
662
663 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
664 macro for `strstr'.
665
666 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
667 `trick_names', as suggested by Ivan Nincic.
668
David Turner085bc6e2007-03-05 17:40:03 +00006692007-03-05 David Turner <david@freetype.org>
670
Werner Lembergd112cf02007-03-06 12:06:56 +0000671 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
672 case FT_Init_FreeType fails for some reason. Problem reported by
673 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000674
Werner Lembergd112cf02007-03-06 12:06:56 +0000675 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
676 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
677 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
678 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000679
Werner Lembergd112cf02007-03-06 12:06:56 +0000680 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
681 signed values, not unsigned ones. Problem reported by Johannes
682 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000683
David Turner601aefe2007-02-21 16:47:49 +00006842007-02-21 David Turner <david@freetype.org>
685
Werner Lembergde5e6862007-02-25 21:06:43 +0000686 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
687 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000688
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00006892007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
690
691 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
692 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
693 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
694
Werner Lemberga0915172007-02-16 08:12:50 +00006952007-02-16 Werner Lemberg <wl@gnu.org>
696
697 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
698 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
699
David Turner2c4500e2007-02-14 15:08:47 +00007002007-02-14 David Turner <david@freetype.org>
701
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000702 It seems that the following changes fix most of the known
703 interpreter problems with my fonts, but more testing is needed,
704 though.
705
706 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
707 (TT_MulFix14): Rewrite.
708 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
709 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000710
Werner Lembergc6a14082007-02-12 22:08:15 +00007112007-02-12 Werner Lemberg <wl@gnu.org>
712
713 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
714 warnings.
715
716 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
717 (bdf_interpret_style): Ditto.
718
David Turnerc0f9c4a2007-02-12 14:55:03 +00007192007-02-12 David Turner <david@freetype.org>
720
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000721 Simplify projection and dual-projection code interface.
722
Werner Lemberg406d25f2007-02-12 22:01:18 +0000723 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
724 FT_Vector' as argument type.
725 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
726 Updated.
727 (CUR_fast_project, CUR_fast_dualproj): New macros.
728 (Project, Dual_Project, Project_x, Project_y): Updated.
729 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
730 macros.
731
732
733 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
734 adjustments for the non-light auto-hinted modes. Gets rid of
735 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000736
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000737 * src/autofit/aflatin.c (af_latin_hints_link_segments,
738 af_latin_hints_compute_edges): Slight optimization of the segment
739 linker and better handling of serif segments to get rid of broken
740 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000741
David Turnerc0f9c4a2007-02-12 14:55:03 +0000742
Werner Lemberg442bfb82007-02-12 21:44:10 +0000743 Introduce new string functions and the corresponding macros to get
744 rid of various uses of strcpy and other `evil' functions, as well as
745 to simplify a few things.
746
747 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
748 ft_mem_strcpyn): New declarations.
749 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
750 macros.
751 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
752 functions.
753
754 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
755 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
756 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
757 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
758 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
759 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
760 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
761 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000762
Werner Lemberg406d25f2007-02-12 22:01:18 +0000763 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
764
Werner Lemberg582067d2007-02-11 15:03:05 +00007652007-02-11 Werner Lemberg <wl@gnu.org>
766
767 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
768 non-spacing glyphs.
769
Werner Lemberg8f474532007-02-07 08:31:01 +00007702007-02-07 Tom Parker <palfrey@tevp.net>
771
772 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
773 pointer.
774
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00007752007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
776
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000777 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
778 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000779 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000780 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
781 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
782 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
783 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000784
785 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
786 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000787 * builds/mac/ftmac.c: Ditto.
788
7892007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
790
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000791 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000792 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000793 #include <ftmac.c>.
794
7952007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
796
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000797 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
798 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
799 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
800 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
801 FT_GetFilePath_From_Mac_ATS_Name.
802 * builds/mac/ftmac.c: Ditto.
803
8042007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
805
Werner Lembergdcbb7082007-02-08 08:54:09 +0000806 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000807 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
808 for passing to FT_New_Face_From_FSSpec.
809
8102007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
811
Werner Lembergdcbb7082007-02-08 08:54:09 +0000812 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000813 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000814
815 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
816 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000817 * builds/mac/ftmac.c (OS_INLINE): Ditto.
818
Werner Lemberg313d7772007-02-01 08:10:45 +00008192007-02-01 Werner Lemberg <wl@gnu.org>
820
821 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
822 Explain why applications shouldn't use it. Found by Alexei.
823
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008242007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000825
826 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
827 message.
828
829 * src/gxvalid/gxvmort1.c
830 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
831 message.
832
Werner Lemberg53935932007-01-31 08:53:02 +00008332007-01-31 Werner Lemberg <wl@gnu.org>
834
835
836 * Version 2.3.1 released.
837 =========================
838
839
840 Tag sources with `VER-2-3-1-FINAL'.
841
842 * builds/win32/visualc/freetype.dsp,
843 builds/win32/visualc/freetype.vcproj: s/230/231/.
844 * builds/win32/visualc/index.html: s/221/231/.
845
846 * vms_make.com: Add `ftgasp'.
847
David Turnera7ee6082007-01-30 10:33:53 +00008482007-01-30 David Turner <david@freetype.org>
849
Werner Lemberg53935932007-01-31 08:53:02 +0000850 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000851
Werner Lemberg53935932007-01-31 08:53:02 +0000852 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000853
Werner Lemberg25d592a2007-03-09 07:59:35 +0000854 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000855 s/2.3.0/2.3.1/.
856
857 * builds/unix/configure.raw (version_info): Set to 9:12:3.
858
859
860 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
861 (af_loader_load_g): Disable the warper (i.e., the light hinting
862 improvements) to make a 2.3.1 bugfix release before introducing a
863 new feature. This should give us more time to tune and improve the
864 warper for the next release.
865
866 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000867
David Turnerd91eebd2007-01-26 15:05:41 +00008682007-01-25 David Turner <david@freetype.org>
869
Werner Lembergbf241762007-01-26 16:08:49 +0000870 For light auto-hinting, improve glyph advance widths and resurrect
871 normal/full hinting to its normal quality.
872
873 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
874 and `xmax_delta'.
875 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
876 and `xmax_delta'.
877
878 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
879 preprocessor conditional with if-clause, handling both light and
880 normal mode.
881
882 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
883 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000884
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00008852007-01-25 Werner Lemberg <wl@gnu.org>
886
887 * docs/release: Updated -- Savannah uses a new uploading scheme.
888
David Turnera42567b2007-01-25 12:23:37 +00008892007-01-25 David Turner <david@freetype.org>
890
Werner Lembergd7855662007-01-25 13:53:56 +0000891 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000892
Werner Lembergd7855662007-01-25 13:53:56 +0000893 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
894 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
895 functions.
David Turnera42567b2007-01-25 12:23:37 +0000896
Werner Lembergd7855662007-01-25 13:53:56 +0000897 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000898
Werner Lembergb1be9e82007-01-25 11:50:00 +00008992007-01-25 Werner Lemberg <wl@gnu.org>
900
901 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000902 correctly in a sanity check. Since this function is only used to
903 load local and global functions, any charstring that called the last
904 local/global function would fail otherwise. This fixes Savannah bug
905 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000906
907 * docs/CHANGES: Document it.
908
David Turnerb6de8d12007-01-23 15:51:50 +00009092007-01-23 David Turner <david@freetype.org>
910
Werner Lembergb1be9e82007-01-25 11:50:00 +0000911 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
912 prevented compilation when disabling both the unpatented and the
913 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000914
Werner Lembergb1be9e82007-01-25 11:50:00 +0000915
916 Fix and enable the warper to improve `light' hinting mode. This is
917 not necessarily a final version, but it seems to work well.
918
919 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
920 Disable code.
921 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
922 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
923
924 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
925 (af_warper_compute_line_best): Fix array size of `scores'.
926 (af_warper_compute): Better handling of border cases.
927 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
928 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000929
Werner Lemberg011d1112007-01-21 09:36:00 +00009302007-01-21 Werner Lemberg <wl@gnu.org>
931
Werner Lemberg42b63b22007-01-21 21:01:33 +0000932 * ChangeLog: Split off older entries into...
933 * ChangeLog.22: This new file.
934
9352007-01-21 Werner Lemberg <wl@gnu.org>
936
Werner Lemberg555258f2007-01-21 09:46:37 +0000937 * docs/CHANGES: Document SHZ fix.
938
9392007-01-21 George Williams <gww@silcom.com>
940
941 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
942 points.
943
9442007-01-21 Werner Lemberg <wl@gnu.org>
945
Werner Lemberg011d1112007-01-21 09:36:00 +0000946 * src/sfnt/ttmtx.c (tt_face_get_metrics)
947 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
948
Werner Lemberg87a5a432007-01-17 12:44:39 +00009492007-01-17 Werner Lemberg <wl@gnu.org>
950
Werner Lembergb8003292007-01-17 12:56:25 +0000951
952 * Version 2.3.0 released.
953 =========================
954
955
956 Tag sources with `VER-2-3-0-FINAL'.
957
9582007-01-17 Werner Lemberg <wl@gnu.org>
959
Werner Lemberg87a5a432007-01-17 12:44:39 +0000960 * docs/release: Updated.
961
David Turner22122722007-01-16 20:06:44 +00009622007-01-16 David Turner <david@freetype.org>
963
Werner Lemberg87a5a432007-01-17 12:44:39 +0000964 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
965 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
966 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
967 warnings.
David Turner22122722007-01-16 20:06:44 +0000968
Werner Lemberg267e1d72007-01-15 07:48:09 +00009692007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
970
971 * builds/amiga/makefile, builds/amiga/makefile.os4,
972 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
973
974 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
975
Werner Lemberg8c4120d2007-01-15 06:42:40 +00009762007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
977
978 Fix various compiler warnings.
979
980 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
981 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
982 s/index/strike_index/.
983 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
984
985 * src/gxvalid/gxvmorx5.c
986 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
987
988 * src/truetype/ttinterp.c (Compute_Point_Displacement),
989 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
990 uninitialized variables.
991
Werner Lemberg6164a9d2007-01-13 23:01:36 +00009922007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
993
994 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
995
Werner Lemberg281c1482007-01-13 22:50:51 +00009962007-01-13 Werner Lemberg <wl@gnu.org>
997
998 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
999 versions up to 0x3FF without complaining.
1000
Werner Lembergac250b22007-01-13 14:01:36 +000010012007-01-13 Derek Clegg <dclegg@apple.com>
1002
1003 Add FT_Get_PS_Font_Info interface to CFF driver.
1004
1005 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1006 (CFF_FontRec): Add `font_info' field.
1007
1008 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1009 (cff_font_done): Free font->font_info if necessary.
1010
1011 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1012 (cff_service_ps_info): Register cff_ps_get_font_info.
1013
Werner Lemberg23df31a2007-01-13 08:45:00 +000010142007-01-13 Werner Lemberg <wl@gnu.org>
1015
1016 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1017 with C++ compiler.
1018
1019 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1020 af_glyph_hints_dump_edges): Ditto.
1021
1022 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1023 `modules.cfg').
1024
1025 * src/sfnt/ttsbit0.h: Remove.
1026
1027 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1028
Werner Lemberg27cf9de2007-01-13 07:34:23 +000010292007-01-12 David Turner <david@freetype.org>
1030
1031 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1032 bug in the bitmap emboldener if the pitch of the source bitmap is
1033 much larger than its width.
1034
1035 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1036 compilation warning.
1037
Werner Lemberg6d96d312007-01-12 10:30:19 +000010382007-01-12 Werner Lemberg <wl@gnu.org>
1039
1040 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1041 `automake' CVS module from sources.redhat.com.
1042
Werner Lemberg17432b52007-01-12 09:28:44 +000010432007-01-11 Werner Lemberg <wl@gnu.org>
1044
1045 * src/type1/t1load.c (is_space): Removed.
1046 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1047 (parse_charstrings): Use IS_PS_TOKEN.
1048
1049
1050 * autogen.sh: Avoid bash specific syntax.
1051
David Turner038ace22007-01-11 15:00:59 +000010522007-01-11 David Turner <david@freetype.org>
1053
Werner Lemberg17432b52007-01-12 09:28:44 +00001054 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001055
Werner Lemberg17432b52007-01-12 09:28:44 +00001056 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001057
Werner Lemberg17432b52007-01-12 09:28:44 +00001058 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1059 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001060 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001061
Werner Lemberg17432b52007-01-12 09:28:44 +00001062 * autogen.sh: Small fix to get it working on Mac OS X properly:
1063 The issue is that GNU libtool is called `glibtool' on this platform,
1064 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001065
David Turner2628ea92007-01-10 13:15:56 +000010662007-01-10 David Turner <david@freetype.org>
1067
Werner Lemberg17432b52007-01-12 09:28:44 +00001068 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1069 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001070
Werner Lemberg17432b52007-01-12 09:28:44 +00001071 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1072 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1073 version number to 2.3.0.
1074
1075 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1076 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001077
1078 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001079 include/freetype/ftlcdfil.h: Update reference documentation with
1080 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001081
Werner Lemberg17432b52007-01-12 09:28:44 +00001082 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1083 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001084
Werner Lembergbf02d392007-01-10 07:07:37 +000010852007-01-10 Derek Clegg <dclegg@apple.com>
1086
1087 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1088 values.
1089
David Turnerf48b60e2007-01-08 15:15:32 +000010902007-01-08 David Turner <david@freetype.org>
1091
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001092 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001093
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001094 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1095 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001096 corresponding to a given character pixel size.
1097
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001098 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1099 `gasp' table, in order to avoid potential problems with later
1100 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001101
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001102 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1103 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001104
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001105 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1106 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1107 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1108 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001109
Werner Lemberge6b6f372007-01-07 00:06:47 +000011102007-01-07 Werner Lemberg <wl@gnu.org>
1111
Werner Lembergb8004d22007-01-07 09:13:38 +00001112 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1113 Type 11 fonts.
1114 Scan for `/sfnts' token.
1115
11162007-01-07 Werner Lemberg <wl@gnu.org>
1117
1118 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001119
Werner Lembergbe5f7972007-01-06 07:51:48 +000011202007-01-06 Werner Lemberg <wl@gnu.org>
1121
1122 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1123 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1124
David Turnera8cf42b2007-01-04 16:46:46 +000011252007-01-04 David Turner <david@freetype.org>
1126
Werner Lembergf6294392007-01-06 07:47:45 +00001127 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1128 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001129
Werner Lembergf6294392007-01-06 07:47:45 +00001130
1131 Do not allocate interpreter-specific tables in memory if we are not
1132 going to load glyphs with the bytecode interpreter anyway.
1133
1134 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1135 only if glyph is hinted.
1136 Updated.
1137 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1138 and `cvs_ready'.
1139 Add `tt_size_ready_bytecode' declaration.
1140 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1141 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1142 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1143 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1144 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001145
David Turner91a34022007-01-05 14:47:08 +00001146
Werner Lembergf6294392007-01-06 07:47:45 +00001147 Don't extract the metrics table from the SFNT font file. Instead,
1148 reparse it on each glyph load. The runtime difference is not
1149 noticeable, and it can save a lot of heap memory when memory-mapped
1150 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001151
Werner Lembergf6294392007-01-06 07:47:45 +00001152 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1153 `horz_metrics_offset' and `vert_metrics_ofset'.
1154 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1155 Updated.
1156
1157
1158 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1159
1160
1161 Do not load the CFF index offsets into memory, since this wastes a
1162 *lot* of heap memory with large Asian CFF fonts. There is no
1163 significant performance loss.
1164
1165 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1166 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1167 `data_size'.
1168 (CFF_CharsetRec): Add field `num_glyphs'.
1169
1170 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1171 cff_charset_cid_to_gindex): New functions.
1172 (cff_new_index): Renamed to...
1173 (cff_index_init): This. Update all callers.
1174 Updated -- some code has been moved to `cff_index_load_offsets'.
1175 (cff_done_index): Renamed to...
1176 (cff_index_done): This. Update all callers.
1177 (cff_index_get_pointers, cff_index_access_element): Updated to use
1178 stream offsets.
1179 (cff_charset_compute_cids): Set `num_glyphs' field.
1180 (cff_encoding_load): Updated.
1181
1182 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001183
11842007-01-04 David Turner <david@freetype.org>
1185
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001186 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1187 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001188
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001189 * README.CVS: Add common problem description and solution
1190 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001191
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001192 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001193
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001194 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001195
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001196 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001197
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001198 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1199 (TWorker): This.
1200 Remove `count_table' and `memory'.
1201 Make `grays' a pointer.
1202 (TRaster): New structure.
1203 (count_table): New static array.
1204 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1205 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1206 ft_black_set_mode, ft_black_render): Updated.
1207 (ft_black_init): Don't initialize `count_table'.
1208 (ft_black_reset): Use the render pool. This saves about 6KB of
1209 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001210
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001211 * src/smooth/ftgrays.c (TRaster): Replaced with...
1212 (TWorker): This.
1213 Remove `memory'.
1214 (TRaster): New structure.
1215
1216 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1217 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1218 gray_render_span, gray_raster_render): Updated.
1219 (gray_raster_reset): Use the render pool. This saves about 6KB of
1220 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001221
David Turner8a6c44e2007-01-04 17:03:11 +00001222 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1223 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001224 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1225 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1226 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001227
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001228 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1229 Remove a typo that results in no hinting and a memory leak with some
1230 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001231
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001232 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001233 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001234 CFF_Faces in it. We need to close all faces before destroying the
1235 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001236
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000012372007-01-02 Werner Lemberg <wl@gnu.org>
1238
1239 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1240 Remove compiler warning.
1241
David Turner9207e002007-01-02 16:58:13 +000012422007-01-02 David Turner <david@freetype.org>
1243
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001244 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001245
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000012462006-12-31 Masatake YAMATO <jet@gyve.org>
1247
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001248 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1249 function.
1250 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001251 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001252 `gxv_kern_subtable_fmt0_pairs_validate'.
1253
David Turner115b4422006-12-22 11:37:05 +000012542006-12-22 David Turner <david@freetype.org>
1255
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001256 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1257 warnings.
David Turner115b4422006-12-22 11:37:05 +00001258
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001259 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1260 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001261
Werner Lemberg4755bf72006-12-16 08:58:44 +000012622006-12-16 Anders Kaseorg <anders@kaseorg.com>
1263
1264 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1265 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1266
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000012672006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1268
Werner Lemberg9b774e22007-01-16 06:11:27 +00001269 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001270 sync with the modification by Jens Claudius on 2006-08-22; cf.
1271 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 +00001272
12732006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1274
1275 * src/base/ftmac.c: Specialized for Mac OS X only.
1276 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1277 * builds/unix/configure.raw: Ditto. When explicit switches for
1278 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1279 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1280
12812006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1282
1283 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1284 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1285 instead of src/base/ftmac.c
1286 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1287 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1288 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1289 that cannot be built at present.
1290
12912006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1292
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001293 * src/base/ftobjs.c: Improvement of resource fork handler for
1294 POSIX, cf.
1295 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001296 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1297 format or .dfont, to simulate the face index number counted by ftmac.c.
1298 (IsMacResource): Return the number of scalable faces correctly.
1299
Werner Lembergec5b4502006-12-10 07:51:38 +000013002006-12-10 Werner Lemberg <wl@gnu.org>
1301
1302 * builds/toplevel.mk (version): Protect against `distclean' target.
1303
Werner Lembergb26b3142006-12-09 20:01:43 +000013042006-12-09 Werner Lemberg <wl@gnu.org>
1305
1306 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1307 or `type'.
1308
1309 * builds/freetype.mk (version): Extracted from freetype.h, using
1310 GNU make's built-in string functions.
1311 (refdoc): Use $(version) instead of static version number.
1312
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000013132006-12-08 Werner Lemberg <wl@gnu.org>
1314
1315 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1316
Werner Lemberg15c29502006-12-09 07:29:54 +000013172006-12-08 Vladimir Volovich <vvv@vsu.ru>
1318
1319 * src/tools/apinames (State): Remove final comma in structure -- xlc
1320 v5 under AIX 4.3 doesn't like this.
1321
David Turnerdbf3b432006-12-07 21:18:09 +000013222006-12-07 David Turner <david@freetype.org>
1323
Werner Lemberg256a3512006-12-08 06:49:33 +00001324 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1325 to the spacing of auto-fitted glyphs. This only impacts rare
1326 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001327
Werner Lemberg11171312006-12-03 09:43:40 +000013282006-12-03 Werner Lemberg <wl@gnu.org>
1329
1330 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1331
Werner Lemberg960ba592006-12-01 08:20:47 +000013322006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001333
Werner Lemberg960ba592006-12-01 08:20:47 +00001334 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1335 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1336 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001337
David Turner80658e52006-11-28 08:09:20 +00001338
Werner Lemberg960ba592006-12-01 08:20:47 +00001339 * include/freetype/ftxf86.h: Fix and extend comment so that it
1340 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001341
Werner Lemberg960ba592006-12-01 08:20:47 +00001342 * include/freetype/ftchapters.h: Add `font_format' section.
1343
1344
1345 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1346 to TOC in index page.
1347
13482006-11-28 David Turner <david@freetype.org>
1349
1350 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1351 trying to render into a zero-width/height bitmap, not an error code.
1352
1353 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1354
1355 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1356 ones instead.
1357
1358 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1359 variable.
David Turner80658e52006-11-28 08:09:20 +00001360
Werner Lemberg8636c292006-11-26 22:28:13 +000013612006-11-26 Pierre Hanser <hanser@club-internet.fr>
1362
1363 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1364
Werner Lemberg960ba592006-12-01 08:20:47 +000013652006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001366
Werner Lemberg960ba592006-12-01 08:20:47 +00001367 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1368 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1369 Add stubs to link the `ftgrid' test program when debugging is
1370 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001371
Werner Lemberg960ba592006-12-01 08:20:47 +000013722006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001373
1374 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001375 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1376
1377 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1378 Emit more sensible information.
1379
1380 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1381
1382 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1383 rounding of blue values.
1384 (af_latin_hints_compute_segments): Hint segment heights.
1385 (af_latin_hints_link_segments): Reduce `len_score' value.
1386 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1387 value and use `height' member for comparisons.
1388 (af_latin_hint_edges): Extend logging message.
1389 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001390
Werner Lemberg91959bf2006-11-22 10:36:55 +000013912006-11-22 Werner Lemberg <wl@gnu.org>
1392
1393 Fix Savannah bug #15553.
1394
1395 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1396 program after a change from mono to grayscaling (and vice versa).
1397 Use correct constant for comparison to get `exec->grayscale'.
1398
Werner Lemberg913a3652006-11-19 09:19:17 +000013992006-11-18 Werner Lemberg <wl@gnu.org>
1400
1401 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001402 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001403 This patch fixes Savannah bug #18301.
1404
1405 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1406 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1407 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1408 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1409 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1410 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1411 (FNT_Load_Glyph): Check validity of `glyph_index'.
1412
David Turner7bab6ae2006-11-13 11:25:06 +000014132006-11-13 David Turner <david@freetype.org>
1414
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001415 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1416 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001417
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001418 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1419 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1420 when building the library to change the default LCD filter to be
1421 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001422
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001423 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001424
David Turner8765c712006-11-10 16:49:42 +000014252006-11-10 David Turner <david@freetype.org>
1426
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001427 * src/smooth/ftsmooth.c: API change for the LCD
1428 filter. The FT_LcdFilter value is an enumeration describing which
1429 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1430 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1431 algorithm which produces strong color fringes for everything
1432 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001433
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001434 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1435 second parameter to an enum type.
1436
1437 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1438 (_ft_lcd_filter): Rename to...
1439 (_ft_lcd_filter_fir): This.
1440 Update parameters.
1441 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1442 (FT_Library_Set_LcdFilter): Update parameters.
1443 Handle new filter modes.
1444
1445 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1446 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1447 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1448 callback and update other fields.
1449
1450 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1451 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1452 Other minor improvements.
1453
1454 * src/autofit/aflatin.c: Various tiny improvements that drastically
1455 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1456 (af_latin_hints_compute_edges): Fix typo.
1457 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001458
David Turner4e9cc3c2006-11-09 16:31:52 +000014592006-11-09 David Turner <david@freetype.org>
1460
Werner Lemberg49c77a82006-11-09 21:51:57 +00001461 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1462 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001463
Werner Lemberg5e430892006-11-07 09:35:03 +000014642006-11-07 Zhe Su <james.su@gmail.com>
1465
1466 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1467 also.
1468
Werner Lemberg111b5ae2006-11-03 09:40:12 +000014692006-11-03 Werner Lemberg <wl@gnu.org>
1470
1471 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1472
David Turner40604742006-11-02 16:37:35 +000014732006-11-02 David Turner <david@freetype.org>
1474
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001475 Add a few tweaks to better handle serif fonts.
1476 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001477
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001478 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1479 segments that are less than 1.5 pixels high. This gets rid of
1480 *many* corner cases with serifs.
1481 (af_latin_align_linked_edge): Add logging message.
1482 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1483 Add logging messages.
1484 Handle AF_EDGE_FLAG flag specially.
1485
1486 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1487 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1488
1489 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1490 Update external declarations.
1491 (af_corner_orientation, af_corner_is_flat): Replaced by...
1492
1493 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1494 ft_corner_is_flat): These declarations.
1495
1496 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1497 Comment out. Replaced by...
1498
1499 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1500 These functions. Update all callers.
1501 (FT_Add64) [!FT_LONG64]: Simplify.
1502
1503 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1504 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1505 production of garbage by missing lots of segments.
1506
1507 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1508
1509 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1510 [AF_DEBUG]: Set _af_debug_hints.
1511
1512
1513 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1514 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1515 and ft_corner_orientation.
1516
1517
1518 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001519
Werner Lemberge88c5262006-10-24 05:46:26 +000015202006-10-24 Werner Lemberg <wl@gnu.org>
1521
1522 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1523
1524 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1525 as argument.
1526
David Turnera1861392006-10-23 16:00:59 +000015272006-10-23 Zhe Su <zsu@novell.com>
1528
Werner Lemberg715e96e2006-10-24 05:28:45 +00001529 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1530 better deal with broken Asian fonts with strange glyphs, having
1531 self-intersections and other peculiarities. The used algorithm is
1532 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001533
David Turnere140f142006-10-23 08:56:57 +000015342006-10-23 David Turner <david@freetype.org>
1535
Werner Lemberg715e96e2006-10-24 05:28:45 +00001536 Speed up the CFF font loader. With some large CFF fonts,
1537 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001538
Werner Lemberg715e96e2006-10-24 05:28:45 +00001539 * src/cff/cffload.c (cff_get_offset): Removed.
1540 (cff_new_index): Inline functionality of `cff_get_offset'.
1541 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1542 (cff_charset_done): Call `cff_charset_free_cids'.
1543 (cff_charset_load): Call `cff_charset_compute_cids'.
1544 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1545
1546 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1547 with FT_NEXT_XXX.
1548
1549
1550 Speed up the Postscript hinter, with more than 100% speed increase
1551 on my machine.
1552
1553 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1554 psh_corner_orientation): New functions.
1555 (psh_glyph_compute_inflections): Merge loops for efficiency.
1556 Use `psh_corner_orientation'.
1557 (psh_glyph_init): Use `psh_corner_is_flat'.
1558 (psh_hint_table_find_strong_point): Renamed to...
1559 (psh_hint_table_find_strong_points): This.
1560 Rewrite, adding argument to handle all points at once.
1561 Update all callers.
1562 (PSH_MAX_STRONG_INTERNAL): New macro.
1563 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001564
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000015652006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1566
1567 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001568 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001569
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000015702006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1571
1572 * docs/INSTALL.CROSS: New document file for cross-building.
1573
1574 * builds/unix/configure.raw: Preliminary cross-building support.
1575 Find native C compiler and pass it by CC_BUILD, and
1576 find suffix for native executable and pass it by EXEEXT_BUILD.
1577 Also suffix for target executable is passed by EXEEXT.
1578
Werner Lembergb9e6d692006-10-15 08:58:40 +00001579 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1580 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001581 CC_BUILD and EXEEXT_BUILD.
1582
Werner Lembergb9e6d692006-10-15 08:58:40 +00001583 * builds/exports.mk (APINAMES_EXE): Change the extension for
1584 apinames from the suffix for target (E) to that for building host
1585 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001586
Werner Lemberg82a07e92006-10-12 06:20:44 +000015872006-10-12 Werner Lemberg <wl@gnu.org>
1588
1589 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1590 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1591 which reference those files.
1592
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000015932006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1594
Werner Lembergb9e6d692006-10-15 08:58:40 +00001595 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1596 embedded in freetype2.pc and freetype-config. Use it to record
1597 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001598
1599 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1600
1601 * builds/unix/freetype-config.in: Ditto.
1602
Werner Lemberg28e17d92006-10-11 17:27:47 +000016032006-10-11 Werner Lemberg <wl@gnu.org>
1604
1605 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1606 development.
1607
Jens Claudius336d2292006-10-03 08:53:37 +000016082006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1609
1610 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1611 argument to ft_setjmp.
1612
1613 * include/freetype/internal/ftvalid.h: Add comment that
1614 ft_validator_run must not be used.
1615
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016162006-10-01 Werner Lemberg <wl@gnu.org>
1617
1618 * src/base/ftbase.c: Undo change from 2006-09-30.
1619
1620 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1621
16222006-09-30 David Turner <david@freetype.org>
1623
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001624 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1625 s/unpatented_hinting/ignore_unpatented_hinter/.
1626 Update all callers.
1627
1628 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1629 auto-hinting shall be used or not.
1630
1631 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001632
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016332006-09-30 Werner Lemberg <wl@gnu.org>
1634
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001635 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1636 in use).
1637
1638 * src/base/ftbase.c: Include `ftlcdfil.c'.
1639
Werner Lemberg9b15ea32006-09-29 18:22:11 +000016402006-09-29 Werner Lemberg <wl@gnu.org>
1641
1642 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1643 overlapping segments. Bug reported by Stefan Koch.
1644
David Turnerad830712006-09-27 16:20:59 +000016452006-09-28 David Turner <david@freetype.org>
1646
Werner Lemberg2c002e12006-09-29 21:31:53 +00001647 Fix a bug in the automatic unpatented hinting support which prevents
1648 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001649
Werner Lemberg2c002e12006-09-29 21:31:53 +00001650 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1651 s/force_autohint/unpatented_hinting/. Update all callers.
1652
1653 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1654
1655 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001656
David Turner8a317cf2006-09-27 07:52:48 +000016572006-09-27 David Turner <david@freetype.org>
1658
Werner Lemberg2c002e12006-09-29 21:31:53 +00001659 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001660
David Turner8a317cf2006-09-27 07:52:48 +00001661
David Turnere140f142006-10-23 08:56:57 +00001662 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001663 In a default build, the function `FT_Library_SetLcdFilter' returns
1664 `FT_Err_Unimplemented_Feature'; you need to #define
1665 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1666 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001667
Werner Lemberg2c002e12006-09-29 21:31:53 +00001668 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001669
Werner Lemberg2c002e12006-09-29 21:31:53 +00001670 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1671 typedef.
1672 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1673 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001674
Werner Lemberg2c002e12006-09-29 21:31:53 +00001675 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1676 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001677
Werner Lemberg2c002e12006-09-29 21:31:53 +00001678 Handle subpixel rendering.
1679 Simplify function.
1680 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1681 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1682
1683 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1684 pointing to <freetype/ftlcdfil.h>.
1685
1686 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1687 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1688
1689 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001690
Werner Lemberge20df4a2006-09-27 06:29:21 +000016912006-09-26 David Bustin
1692
1693 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1694 correctly. Reported as Savannah bug #17843.
1695
David Turner6f8c6222006-09-26 15:42:44 +000016962006-09-26 David Turner <david@freetype.org>
1697
Werner Lemberg110246c2006-09-26 21:55:44 +00001698 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1699 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1700 horizontal and vertical hinting for the purpose of debugging the
1701 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001702
Werner Lemberg110246c2006-09-26 21:55:44 +00001703 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1704 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001705
Werner Lemberg110246c2006-09-26 21:55:44 +00001706 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1707
1708 * include/freetype/config/ftoption.h, devel/ftoption.h
1709 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1710 we want to compile LCD-optimized rendering code (à la ClearType) or
1711 not. The macro *must* be disabled in default builds of the library
1712 for patent reasons.
1713
1714 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1715 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1716 isn't defined at compile time. This only changes the content of the
1717 rendered glyph to match the one of normal gray-level rendering,
1718 hence clients should not need to be modified.
1719
1720 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001721
Werner Lemberg745ff2c2006-09-19 05:48:02 +000017222006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1723
1724 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1725 LWFN fails and both are available.
1726
David Turnerf3050052006-09-11 12:00:32 +000017272006-09-11 David Turner <david@freetype.org>
1728
Werner Lembergf9644552006-09-12 13:48:10 +00001729 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1730 report their English names through an Apple Roman
1731 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001732
Werner Lembergf9644552006-09-12 13:48:10 +00001733 If the font uses another name entry with language_id == English, it
1734 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001735
Werner Lembergf9644552006-09-12 13:48:10 +00001736 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1737 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001738
Werner Lemberg36d2eab2006-09-05 19:24:34 +000017392006-09-05 Werner Lemberg <wl@gnu.org>
1740
1741 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001742 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001743 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1744 `HAN NOM B.ttf').
1745
1746 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1747
David Turner772e55d2006-09-05 09:45:15 +000017482006-09-05 David Turner <david@freetype.org>
1749
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001750 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001751
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001752 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1753 (TRaster): Remove `count_ex' and `count_ey'.
1754 (gray_find_cell): Remove 2nd and 3rd argument.
1755 (gray_alloc_cell): Merged with `gray_find_cell'.
1756 (gray_record_cell): Simplify.
1757 (gray_set_cell): Rewrite.
1758 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1759 (gray_render_span): Don't use FT_MEM_SET for small values.
1760 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1761 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1762 bitmap scanline.
1763 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001764
David Turneraa557a92006-09-04 16:42:44 +000017652006-09-04 David Turner <david@freetype.org>
1766
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001767 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1768 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001769
Werner Lemberg2d8629b2006-09-03 06:18:45 +000017702006-09-03 Werner Lemberg <wl@gnu.org>
1771
1772 * devel/ftoption.h: Synchronize with
1773 include/freetype/config/ftoption.h.
1774
1775 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1776 variable declaration.
1777 (gray_convert_glyph): Fix compiler warnings.
1778
David Turner6d79f212006-09-01 14:09:35 +000017792006-09-01 David Turner <david@freetype.org>
1780
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001781 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1782 to recognize a few fonts that require the automatic unpatented
1783 loader.
David Turnerbd502952006-09-01 19:05:24 +00001784
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001785 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1786 rasterizer. The speed improvement is between 15% and 25%, depending
1787 on the font data.
1788
1789 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1790 (TCell): Redefine.
1791 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1792 (gray_init_cells): Updated.
1793 (gray_find_cell, gray_alloc_cell): New functions.
1794 (gray_record_cell): Rewritten to use `gray_find_cell' and
1795 `gray_alloc_cell'.
1796 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1797 QSORT_THRESHOLD):
1798 Removed.
1799 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1800 gray_dump_cells): Removed.
1801 (gray_sweep): Rewritten.
1802 (gray_convert_glyph): Rewrite code which used one of the sorting
1803 functions.
1804 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001805
Werner Lembergd898aed2006-08-29 09:50:34 +000018062006-08-29 Dr. Werner Fink <werner@suse.de>
1807
1808 * configure: Make it possible to handle configure options which
1809 have strings containing spaces.
1810
18112006-08-27 David Turner <david@freetype.org>
1812
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001813 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1814 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1815 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1816
1817 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1818 src/truetype/truetype.c, src/truetype/ttdriver.c,
1819 src/truetype/ttgload.c, src/truetype/ttgload.h,
1820 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1821 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1822 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1823
1824 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1825 member `force_autohint'.
1826
1827 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1828
1829 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1830 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001831
Jens Claudiusa787f452006-08-27 11:26:18 +000018322006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1833
1834 Fix miscellaneous compiler warnings.
1835
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001836 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1837 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001838
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001839 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1840 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1841 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001842
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001843 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1844 volatileness of argument to ft_longjmp. Spotted by Werner
1845 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001846
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001847 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1848 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001849
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001850 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1851 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001852
Werner Lembergc4c35b72006-08-27 08:03:46 +000018532006-08-27 Werner Lemberg <wl@gnu.org>
1854
1855 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1856 Reported by Jens.
1857
Jens Claudius088e44e2006-08-22 14:24:30 +000018582006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001859
Jens Claudius088e44e2006-08-22 14:24:30 +00001860 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001861 about addresses of volatile objects passed as function arguments as
1862 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001863
Werner Lembergc4c35b72006-08-27 08:03:46 +00001864 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1865 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001866
1867 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1868 argument `table' a pointer to a volatile object.
1869
1870 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1871 argument `table' a pointer to a volatile object.
1872
Jens Claudius2652bd52006-08-18 17:20:37 +000018732006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1874
1875 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1876 variable `_sfnt' as volatile since it must keep its value across
1877 a call to ft_setjmp.
1878 (gxv_validate): Same for local variables `memory' and `valid'.
1879 (classic_kern_validate): Same for local variables `memory',
1880 `ckern', and `valid'.
1881
1882 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1883 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1884 `jstf', and 'valid'.
1885
1886 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1887 local variable `cmap'.
1888
David Turner9fbfc6a2006-08-16 09:11:31 +000018892006-08-16 David Turner <david@freetype.org>
1890
Werner Lemberg12342992006-08-19 11:18:09 +00001891 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1892 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001893
Werner Lemberg12342992006-08-19 11:18:09 +00001894 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1895 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001896
David Turner33f5f242006-08-16 16:50:55 +00001897
Werner Lemberg12342992006-08-19 11:18:09 +00001898 Improvements to native TrueType hinting. This is a first try,
1899 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1900
1901 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1902 `extra_points2'.
1903
1904 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1905 `orus'.
1906
1907 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1908 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1909 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1910 handle `extra_points2'.
1911
1912 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1913 Remove compiler warning.
1914 (cur_to_arg): Remove macro.
1915 (TT_Hint_Glyph): Updated.
1916 (TT_Process_Simple_Glyph): Handle `orus'.
1917
1918 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1919 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1920 (LOC_Ins_IUP): Renamed to...
1921 (IUP_WorkerRec): This.
1922 Add `orus' member.
1923 (Shift): Renamed to...
1924 (_iup_worker_shift): This.
1925 Updated.
1926 (Interp): Renamed to...
1927 (_iup_worker_interpolate): This.
1928 Updated to handle `orus'.
1929 (Ins_IUP): Updated.
1930
1931 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1932 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001933
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000019342006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1935
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001936 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001937 build ftvalid in ft2demos. This has been inadvertedly changed
1938 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001939
19402006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1941
Werner Lemberg12342992006-08-19 11:18:09 +00001942 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1943 Jens:
1944 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001945
Werner Lemberg12342992006-08-19 11:18:09 +00001946 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1947 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001948
1949 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1950
Jens Claudius9950adc2006-08-13 12:14:36 +000019512006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1952
Werner Lemberg12342992006-08-19 11:18:09 +00001953 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1954 T1_TOKEN_TYPE_KEY.
1955 (T1_FieldRec): Add `dict'.
1956 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1957 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1958 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001959
Werner Lemberg12342992006-08-19 11:18:09 +00001960 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1961 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001962
1963 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1964
1965 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001966 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1967 not T1_TOKEN_TYPE_ANY.
1968 (ps_parser_load_field): Make sure a token that should be a string or
1969 name is really a string or name.
1970 Avoid memory leak if a keyword has been already encountered and its
1971 value is overwritten.
1972 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1973 T1_FIELD_XXX.
1974 (parse_dict): Ignore keywords that occur in the wrong dictionary
1975 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001976
Werner Lemberg12342992006-08-19 11:18:09 +00001977 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1978 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001979
Werner Lemberg12342992006-08-19 11:18:09 +00001980 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1981 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001982
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000019832006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1984
1985 Move creation of field `buildchar' of T1_DecoderRec out of
1986 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1987 of it.
1988
1989 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1990 and `T1_Compute_Max_Advance'.
1991
1992 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1993 Remove field `face', add `len_buildchar'.
1994
1995 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1996 field `buildchar'.
1997
1998 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1999 finisher for T1_Decoder.
2000 (cid_slot_load_glyph): Do not ignore failure when initializing the
2001 T1_Decoder.
2002
2003 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2004 Updated.
2005 (t1_decoder_init): Remove initialization of fields `buildchar' and
2006 `len_buildchar'.
2007 (t1_decoder_done): Remove deallocation of field `buildchar'.
2008
2009 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2010 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2011 T1_Decoder.
2012 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2013 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2014 case of error.
2015
2016 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2017 `buildchar' of T1_FaceRec.
2018
2019 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2020 `buildchar' of T1_FaceRec.
2021
Werner Lemberg1a380e02006-07-14 18:28:08 +000020222006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2023
2024 * freetype2/include/freetype/internal/psaux.h: New macros
2025 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2026 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2027 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2028 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2029 (T1_DecoderRec): New fields `buildchar' and `face'.
2030 (IS_PS_TOKEN): New macro.
2031
2032 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2033 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2034
2035 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2036 `default_design_vector' and `num_default_design_vector'.
2037
2038 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2039 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2040 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2041
2042 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2043 `token' argument to be NULL if we want only to count the number of
2044 tokens.
2045 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2046 want to skip the array.
2047 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2048 want to skip the array.
2049
2050 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2051 support for (partially commented out) othersubrs 19-25, 27, and 28.
2052 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2053 (t1_decoder_done): Release new field `buildchar'.
2054
2055 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2056 functions.
2057 (t1_keywords): Register them.
2058 (t1_allocate_blend): Updated.
2059 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2060 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2061 (parse_dict): Remove `keyword_flags' argument.
2062 Use new macro IS_PS_TOKEN.
2063 Changed function so that later PostScript definitions override
2064 earlier ones.
2065 (t1_init_loader): Initialize new field `keywords_encountered'.
2066 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2067 `len_buildchar'.
2068 Remove `keywords_flags'.
2069
2070 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2071 `keywords_encountered'.
2072 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2073
2074 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2075 New entries for parsing /NDV, /CDV, and /DesignVector.
2076
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000020772006-07-07 Werner Lemberg <wl@gnu.org>
2078
2079 Add many checks to protect against malformed PCF files.
2080
2081 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2082 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2083
2084 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2085 data and check that tables don't overlap (using a simple
2086 bubblesort).
2087 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2088 New macros which give the size of data structures in the data
2089 stream.
2090 (pcf_get_properties): Use rough estimates to get array size limits.
2091 Assign `face->nprops' and `face->properties' earlier so that a call
2092 to PCF_Face_Done can do the clean-up in case of error.
2093 Protect against invalid string offsets.
2094 (pcf_get_metrics): Clean up code.
2095 Adjust tracing message levels.
2096 Use rough estimate to get array size limit.
2097 (pcf_get_bitmaps): Clean up code.
2098 Adjust tracing message levels.
2099 Use rough estimates to get offset limits.
2100 (pcf_get_encodings): Adjust tracing message level.
2101 (pcf_get_accel): Clean up code.
2102
Werner Lemberg8eb05252006-06-27 06:20:01 +000021032006-06-26 Werner Lemberg <wl@gnu.org>
2104
2105 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2106 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2107
Werner Lemberg24703f82006-06-26 19:12:51 +000021082006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2109
2110 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2111 (t1_decoder_parse_charstrings): Operator with
2112 opcode 15 pops its two arguments.
2113 Handle the case where the pops of an othersubr may be part of a
2114 subroutine.
2115 Handle unknown othersubrs gracefully: count their operands and let
2116 the following pop operators push the operands as the results onto
2117 the Type1 stack.
2118 Improve handling of setcurrentpoint opcode.
2119
Werner Lembergc011f4c2006-06-26 09:40:00 +000021202006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2121
2122 The Type 1 parser now skips over top-level procedures as required
2123 for a `Simplified Parser'. This makes the parser more robust as it
2124 doesn't poke around in PostScript code. Additionally, it makes the
2125 FontDirectory hackery in src/type1/t1load.c unnecessary.
2126
2127 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2128 (skip_literal_string): Add FT_Error as return value.
2129 Handle escapes better.
2130 (skip_string): Add FT_Error as return value.
2131 Don't set `parser->error' but return error code directly.
2132 (skip_procedure): New function.
2133 (ps_parser_skip_PS_token): Handle procedures.
2134 Update code.
2135 (ps_parser_to_token): Update code.
2136 (ps_parser_load_field_table): Handle bbox entries also.
2137
2138 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2139 Add commented-out code for synthetic fonts.
2140
Werner Lemberga2da05c2006-06-25 06:27:27 +000021412006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2142
2143 Fix two hinting bugs as reported in
2144 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2145
2146 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2147 `first_point' member.
2148
2149 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2150 `first_point'.
2151 (TT_Process_Composite_Glyph): Always untouch points.
2152
2153 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2154 `first_point' and `last_point' in case of composite glyphs.
2155 (Ins_IUP): Fix computation of `end_point'.
2156
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000021572006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2158
Werner Lembergef3d2c22006-06-25 06:07:14 +00002159 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2160 Mac. The original patch was written by David Sachitano and Lawrence
2161 Coopet, and modified by Sean McBride for MPW compatibility. Only
2162 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002163
Werner Lembergef3d2c22006-06-25 06:07:14 +00002164 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2165 Mac OS X platforms.
2166 (OS_INLINE): Undefine before definition.
2167 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2168 FontAssociation table in FOND resource.
2169 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2170 and fontSize at each entry of FontAssociation table in FOND
2171 resource.
2172 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2173 ffStylOff of FamilyRecord header of FOND resource, the header,
2174 fontSize, fontID at each entry of FontAssociation table, and
2175 StyleMapping table.
2176 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002177
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000021782006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2179
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002180 Public API of TrueTypeGX, OpenType, and classic kern table validator
2181 should return `FT_Err_Unimplemented_Feature' if validation service
2182 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002183 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002184 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2185
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002186 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2187 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2188 unavailable.
2189 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2190 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002191
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002192 * src/base/ftotval.c (FT_OpenType_Validate): Return
2193 FT_Err_Unimplemented_Feature if OpenType validation service is
2194 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002195
Werner Lembergb10e45a2006-06-08 07:32:56 +000021962006-06-08 Werner Lemberg <wl@gnu.org>
2197
2198 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2199 errors.
2200
David Turner5f1f7502006-06-07 05:11:50 +000022012006-06-07 David Turner <david@freetype.org>
2202
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002203 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2204 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2205 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002206
David Turner457b4a82006-06-06 08:14:14 +000022072006-06-06 David Turner <david@freetype.org>
2208
Werner Lemberg4836f952006-06-06 12:54:08 +00002209 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002210
Werner Lemberg4836f952006-06-06 12:54:08 +00002211 We change `ps_unicodes_init' so that it also takes a
2212 `free_glyph_name' callback to release the glyph names returned by
2213 `get_glyph_name'
2214
2215 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2216 Renamed to ...
2217 (PS_GetGlyphNameFunc): This.
2218 (PS_FreeGlyphNameFunc): New typedef.
2219 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2220
2221 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2222 argument.
2223 (cff_sid_free_glyph_name): New function.
2224 (cff_cmap_unicode_init): Updated.
2225
2226 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2227
2228 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2229 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002230
2231
David Turner09717352006-06-04 14:33:08 +000022322006-06-04 David Turner <david@freetype.org>
2233
Werner Lembergd724f202006-06-04 15:17:41 +00002234 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2235 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002236 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002237
Werner Lembergd724f202006-06-04 15:17:41 +00002238 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2239 of `face->num_glyphs' which missed the last glyph, due to
2240 the offset-by-1 computation, since the PFR format doesn't
2241 guarantee that glyph index 0 corresponds to the `missing
2242 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002243
Werner Lemberg33779662006-05-26 06:30:05 +000022442006-05-25 Werner Lemberg <wl@gnu.org>
2245
2246 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2247 `-no-undefined'. Reported by Christian Biesinger.
2248
Werner Lemberg24773d62006-05-20 08:53:13 +000022492006-05-19 Brian Weed <bw@imaginengine.com>
2250
2251 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2252 have debug information, and debug libraries use `C7 compatible'
2253 debug info.
2254
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000022552006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2256
Werner Lemberga6523a62006-05-20 08:47:01 +00002257 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002258 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002259
Werner Lemberga6523a62006-05-20 08:47:01 +00002260 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2261 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002262
2263 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002264 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002265
22662006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2267
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002268 * build/unix/configure.raw: Add a fallback to disable Carbon
2269 dependency, if configured with no options on Mac OS X.
2270
22712006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2272
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002273 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002274 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002275 the second part of Savannah bug #16590.
2276
Werner Lemberg545c4e52006-05-17 22:55:04 +000022772006-05-18 Werner Lemberg <wl@gnu.org>
2278
2279 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2280 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2281
David Turnerdc3ff312006-05-17 12:59:35 +000022822006-05-17 David Turner <david@freetype.org>
2283
Werner Lemberg545c4e52006-05-17 22:55:04 +00002284 This is a major patch used to drastically improve the performance of
2285 loading glyphs. This both speeds up loading the glyph vectors
2286 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002287
Werner Lemberg545c4e52006-05-17 22:55:04 +00002288 We now use inline assembler code with GCC to implement `FT_MulFix',
2289 which is probably the most important function related to the
2290 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002291
Werner Lemberg545c4e52006-05-17 22:55:04 +00002292 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002293
2294
Werner Lemberg545c4e52006-05-17 22:55:04 +00002295 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2296 `cursor' and `limit'.
2297
2298 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2299 New functions.
2300 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2301 [TEST]: Remove.
2302
2303 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2304 code.
2305
2306 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2307 `FT_ZERO'
2308 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2309 (af_glyph_hints_reload: Rewrite recognition of weak points.
2310
2311 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2312 constant values out of the loops.
2313
2314 * src/autofit/aftypes.h: Updated.
2315
2316 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2317
2318 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2319 product to get orientation.
2320
2321 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2322 (FT_Stream_OpenGzip): Use it to handle small files directly in
2323 memory.
2324
2325 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2326 Improve performance.
2327
2328 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2329 `limit'.
2330
2331 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2332 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2333 exceedingly large values of number of contours. Speed up by
2334 reducing the number of loops.
2335
2336 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2337
2338
2339 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2340 used to detect rogue clients from 4 to 16. This is to prevent some
2341 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2342 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002343
Werner Lembergde2d90a2006-05-17 08:54:30 +000023442007-05-17 Werner Lemberg <wl@gnu.org>
2345
2346 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002347 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002348
23492006-05-16 Werner Lemberg <wl@gnu.org>
2350
2351 * docs/PROBLEMS: Updated icl issues.
2352
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002353----------------------------------------------------------------------------
2354
Werner Lemberg42b63b22007-01-21 21:01:33 +00002355Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002356David Turner, Robert Wilhelm, and Werner Lemberg.
2357
2358This file is part of the FreeType project, and may only be used, modified,
2359and distributed under the terms of the FreeType project license,
2360LICENSE.TXT. By continuing to use, modify, or distribute this file you
2361indicate that you have read the license and understand and accept it
2362fully.
2363
2364
2365Local Variables:
2366version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002367coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002368End: