blob: 15197b22c2ab12b2190157ea80df6bc0ffcc3c20 [file] [log] [blame]
Werner Lemberg5a829392007-06-19 04:53:30 +000012007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
2
3 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
4 FNT_Err_Invalid_File_Format if file format was recognized but
5 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
6 Add verbose debug logs to make it easier to debug failing load
7 attempts.
8 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
9 so return an error if requested face index is > 0.
10 Do not do further attempt to load fonts if a previous attempt has
11 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
12 file format has been recognized but no fonts found in the file.
13
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000142007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
15
16 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
17 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
18 the compiler warnings against unused arguments.
19 (FT_ATSFontGetFileReference): Ditto.
20 (FT_GetFile_From_Mac_ATS_Name): Ditto.
21 (FT_New_Face_From_FSSpec): Ditto.
22 (lookup_lwfn_by_fond): Fix wrong comment.
23 Replace `const StringPtr' by more appropriate type
24 `ConstStr255Param'.
25 FSRefMakePathPath always returns UTF8 POSIX pathname in
26 Mach-O, thus HFS pathname support is dropped.
27 (count_faces): Remove HLock and HUnlock which is not
28 required on Mac OS X anymore.
29 (FT_New_Face_From_SFNT): Ditto.
30 (FT_New_Face_From_FOND): Ditto.
31 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
32 except of HFS pathname support and HLock/HUnlock.
33 They are required on classic CFM environment.
34
352007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +000036
Werner Lembergf9fa1c82007-06-18 17:00:05 +000037 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
38 assertion.
39 (ps_parser_to_bytes): Fix error message.
40
Werner Lembergbb2510d2007-06-18 17:07:49 +000041 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000042 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
43 Don't allow mixed binary and hex strings.
44 Handle zero string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +000045 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000046
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000472007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +000048
Werner Lembergf48aec72007-06-18 07:07:55 +000049 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
50 logic.
51 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
52 correctly.
53 (ps_parser_load_field_table): Use `fields->array_max' instead of
54 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
55
Werner Lemberg95104a42007-06-18 07:33:10 +000056 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
57 2007-06-06.
58
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000592007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +000060
61 * src/tools/ftrandom.c (font_size): New global variable.
62 (TestFace): Use it.
63 (main): Handle new option `--size' to set `font_size'.
64 (Usage): Updated.
65
Werner Lembergbe183eb2007-06-17 11:27:17 +000066 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
67 invalid font.
68 (FNT_Load_Glyph): Protect against invalid bitmap width.
69
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000702007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +000071
Werner Lemberge12ed562007-06-17 05:31:23 +000072 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
73 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +000074
Werner Lemberge12ed562007-06-17 05:31:23 +000075 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
76 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +000077
Werner Lemberge12ed562007-06-17 05:31:23 +000078 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
79 and `zp2'.
80 (Ins_IP): Check argument ranges to reject bogus operations properly.
81 (IUP_WorkerRec): Add `max_points' member.
82 (_iup_worker_interpolate): Check argument ranges.
83 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +000084
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000852007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +000086
87 * src/winfonts/winfnt.h: Add necessary structures for PE resource
88 parsing.
89 (WinPE32_HeaderRec): New structure.
90 (WinPE32_SectionRec): New structure.
91 (WinPE_RsrcDirRec): New structure.
92 (WinPE_RsrcDirEntryRec): New structure.
93 (WinPE_RsrcDataEntryRec): New structure.
94 (FNT_FontRec): Remove unused `size_shift' field.
95
96 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
97 loading bitmap .fon files in PE format.
98
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000992007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000100
101 * builds/win32/ftdebug.c: Unify debug level handling with other
102 platforms.
103
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001042007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000105
106 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
107 console as well as to the debugger.
108
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001092007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000110
111 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
112 cover all ranges which could possibly be handled by the aflatin
113 module (since the default fallback for unknown ranges is now the
114 afcjk module). It might be necessary to fine-tune this further by
115 splitting off modules for Greek, Cyrillic, or other blocks.
116
David Turnerb7920172007-06-11 05:37:35 +00001172007-06-11 David Turner <david@freetype.org>
118
Werner Lemberg49e18b82007-06-11 21:15:09 +0000119 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
120 incorrect segment linking computation. This was the root cause of
121 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000122
123
Werner Lemberg49e18b82007-06-11 21:15:09 +0000124 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
125 to improve the Latin auto-hinter. Note that the new code is
126 disabled by default since it is not stabilized yet.
127
128 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
129 (disabled currently).
130
131 * src/autofit/afhints.c: Remove dead code.
132 (af_axis_hints_new_edge): Add argument to handle segment directions.
133 (af_edge_flags_to_string): New function.
134 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
135 option flags.
136 (af_glyph_hints_reload): Add argument to handle inflections.
137 Simplify.
138 (af_direction_compute): Fine tuning.
139 (af_glyph_hints_align_edge_points): Fix logic.
140 (af_glyph_hints_align_strong_points): Do linear search for small
141 edge counts.
142 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
143 (af_iup_shift): Handle zero `delta'.
144
145 * src/autofit/afhints.h: Updated.
146 (AF_SORT_SEGMENTS): New macro (disabled).
147 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
148
149 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
150 argument to pass option flags for handling scripts.
151 * src/autofit/afglobal.h: Updated.
152
153 * src/autofit/afcjk.c: Updated.
154 * src/autofit/aflatin.c: Updated.
155 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
156
157 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
158 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
159 Don't set `edge->dir'
160 (af_latin_hint_edges): Add more logging.
161
162 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000163
Werner Lembergf6c120f2007-06-11 04:55:58 +00001642007-06-11 Werner Lemberg <wl@gnu.org>
165
Werner Lembergcf7b7642007-06-11 04:58:01 +0000166 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000167
David Turner84c6f882007-06-10 20:51:04 +00001682007-06-10 David Turner <david@freetype.org>
169
Werner Lembergf6c120f2007-06-11 04:55:58 +0000170 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
171 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000172
Werner Lembergf6c120f2007-06-11 04:55:58 +0000173 * include/freetype/config/ftoption.h: Clarify documentation
174 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000175
Werner Lembergf6c120f2007-06-11 04:55:58 +0000176
177 Add new `FT_Face_CheckTrueTypePatents' API.
178
179 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
180 declaration.
181
182 * include/freetype/internal/services/svttglyf.h,
183 src/base/ftpatent.c: New files.
184
185 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
186 New macro.
187
188 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
189 `ttpload.h'.
190 (tt_service_truetype_glyf): New service structure.
191 (tt_services): Register it.
192
193 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
194 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000195
Werner Lemberg33db39e2007-06-08 06:30:29 +00001962007-06-08 Werner Lemberg <wl@gnu.org>
197
David Turner84c6f882007-06-10 20:51:04 +0000198 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000199 Fonts without a cmap must be handled correctly by FreeType (anything
200 else would be a bug).
201
202
203 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
204 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
205
Werner Lemberg88ab6382007-06-07 05:01:56 +00002062007-06-07 Werner Lemberg <wl@gnu.org>
207
208 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
209 tt_sbit_decoder_load_image): Protect against integer overflows.
210
211
212 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
213 for `x_control' and `y_control'.
214
Werner Lemberg2a2dca62007-06-06 04:39:37 +00002152007-06-06 Werner Lemberg <wl@gnu.org>
216
217 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
218
Werner Lemberga8d65492007-06-06 04:47:49 +0000219
220 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
221 FreeType error.
222
Werner Lemberg470210b2007-06-06 10:05:49 +0000223
224 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
225 `font_count'.
226
227
228 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
229
230
231 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
232 `FT_Error'.
233 Check `fd_index'.
234 (cff_slot_load): Updated.
235 * src/cff/cffgload.h: Updated.
236
Werner Lemberg6c054752007-06-05 05:27:54 +00002372007-06-05 Werner Lemberg <wl@gnu.org>
238
239 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
240 (pfr_glyph_load_simple): Convert assertion into normal FreeType
241 error.
242 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000243 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
244 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000245
246 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
247
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000248
Werner Lemberg470210b2007-06-06 10:05:49 +0000249 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000250
Werner Lemberge5c14d92007-06-05 20:50:37 +0000251
252 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
253 in case of parsing error.
254 (ps_parser_load_field): Updated.
255
256 * src/type1/t1load.c (parse_font_matrix): Updated.
257
Werner Lembergad18b362007-06-04 07:04:05 +00002582007-06-04 Werner Lemberg <wl@gnu.org>
259
260 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
261
262 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
263
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002642007-06-03 Werner Lemberg <wl@gnu.org>
265
Werner Lemberg99a320b2007-06-03 19:21:26 +0000266 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
267 George Williams (with some modifications).
268
2692007-06-03 Werner Lemberg <wl@gnu.org>
270
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000271 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
272 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
273 face == NULL. Suggested by Graham Asher.
274
Werner Lembergce280a22007-06-03 05:58:30 +00002752007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
276
277 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
278
Werner Lemberg5b591e42007-06-01 22:16:43 +00002792007-06-02 Werner Lemberg <wl@gnu.org>
280
281 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
282 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
283
284 * src/bdf/bdflib.c (bdf_load_font): Use them.
285
286 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
287
Werner Lembergb9933f42007-06-01 21:27:12 +00002882007-06-01 Werner Lemberg <wl@gnu.org>
289
290 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
291 (FTC_CMapCache_Lookup): Remove unused code.
292
Werner Lembergc793d902007-06-01 20:51:11 +00002932007-06-01 Sean McBride <sean@rogue-research.com>
294
295 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
296 unused.
297
Werner Lembergbebc7b12007-06-01 06:32:30 +00002982007-06-01 Werner Lemberg <wl@gnu.org>
299
300 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
301 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000302 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000303
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000304 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
305 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
306
Werner Lembergba03af62007-05-30 13:57:02 +00003072007-05-30 Werner Lemberg <wl@gnu.org>
308
309 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
310 against too small binary data strings.
311
312 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
313
David Turnerf0cd69c2007-05-28 15:42:09 +00003142007-05-28 David Turner <david@freetype.org>
315
Werner Lemberg99e0c182007-05-29 07:00:23 +0000316 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
317 transformation. This significantly reduces the loading time of CFF
318 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000319
Werner Lemberg99e0c182007-05-29 07:00:23 +0000320 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000321
Werner Lemberg99e0c182007-05-29 07:00:23 +0000322 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
323 hinting script to CJK, since it works well with more scripts than
324 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
325 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000326
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003272007-05-25 Werner Lemberg <wl@gnu.org>
328
329 * docs/CHANGES: Updated.
330
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00003312007-05-24 Werner Lemberg <wl@gnu.org>
332
333 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
334 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
335
3362007-05-24 Graham Asher <graham.asher@btinternet.com>
337
338 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
339 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
340
David Turner0d0365e2007-05-22 09:53:44 +00003412007-05-22 David Turner <david@freetype.org>
342
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000343 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
344 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000345
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000346
347 Avoid heap blowup with very large .Z font files. This fixes
348 Savannah bug #19910.
349
350 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
351 `in_limit', `pad', `pad_bits', and `in_buff' members.
352 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
353 `buf_total' members.
354
355 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
356 only one argument.
357 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000358
3592007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000360
361 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
362 (ps_dimension_set_mask_bits): Remove `const'.
363
David Turner0d0365e2007-05-22 09:53:44 +00003642007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000365
366 * src/sfnt/ttmtx.c (tt_face_get_metrics)
367 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
368
Werner Lembergb826fa72007-05-19 07:18:48 +00003692007-05-19 Derek Clegg <dclegg@apple.com>
370
371 Savannah patch #5929.
372
373 * include/freetype/tttables.h, src/base/ftobjcs.c
374 (FT_Get_CMap_Format): New function.
375
376 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
377 `format' member.
378 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
379 cmap_info->format.
380
Werner Lemberg6f99c882007-05-19 07:01:49 +00003812007-05-19 Werner Lemberg <wl@gnu.org>
382
383 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
384 before handling subglyphs so that it can be reinitialized each time.
385 This fixes Savannah bug #19859.
386
Werner Lemberg95bc9d32007-05-16 15:19:42 +00003872007-05-16 Werner Lemberg <wl@gnu.org>
388
389 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
390 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
391 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
392 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
393 tt_face_get_metrics): Fix type-punning issues.
394
David Turner0a24bd22007-05-15 10:54:10 +00003952007-05-15 David Turner <david@freetype.org>
396
397 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000398 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
399 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000400 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000401 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000402
Werner Lemberg607dec72007-05-15 06:49:37 +00004032007-05-15 Graham Asher <graham.asher@btinternet.com>
404
405 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
406 variable.
407 * src/autofit/afloader.c (af_loader_load_g): Ditto.
408
409 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
410 (open_face_from_buffer): Initialize `stream'.
411 (FT_Request_Metrics): Remove unused variable.
412 Remove redundant `break' statements.
413 (FT_Get_Track_Kerning): Remove unused variable.
414
415 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
416 afm_parse_kern_data): Remove redundant
417 `break' statements.
418 (afm_parser_parse): Ditto.
419 Don't use uninitialized variables.
420
421 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
422 Use `|' operator instead of `^' to set it.
423 Update all users.
424
425 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
426 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
427
428 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
429 comparison.
430 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
431 (TT_Load_Glyph): Remove unused variable.
432
Werner Lemberg8d463a52007-05-13 16:01:55 +00004332007-05-13 Derek Clegg <dclegg@apple.com>
434
435 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
436 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
437
David Turner711cf842007-05-11 14:36:24 +00004382007-05-11 David Turner <david@freetype.org>
439
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000440 * src/cache/ftbasic.c, include/freetype/ftcache.h
441 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
442 functions that allow us to look up glyphs using an FTC_Scaler object
443 to specify the size, making it possible to use fractional pixel
444 sizes.
445
446 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
447 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000448
Werner Lemberg94be20e2007-05-09 20:02:55 +00004492007-05-09 Graham Asher <graham.asher@btinternet.com>
450
451 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
452 (af_latin_metrics_scale_dim): Fix compiler warnings.
453
Werner Lemberg41271032007-05-06 04:51:48 +00004542007-05-06 Werner Lemberg <wl@gnu.org>
455
456 * builds/win32/visualce/freetype.sln: Removed, as requested by
457 Vincent.
458
Werner Lembergdf49e692007-05-04 06:30:05 +00004592007-05-04 Vincent RICHOMME <richom.v@free.fr>
460
461 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
462 PC targets.
463
464 * docs/CHANGES: Document them.
465
4662007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000467
468 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
469 mmap (which might happen on some RTOS). From Savannah patch #5909.
470
Werner Lemberg106eaf12007-05-03 07:07:47 +00004712007-05-03 Werner Lemberg <wl@gnu.org>
472
473 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
474 * include/freetype/freetype.h (FT_Set_Char_Size): Update
475 documentation.
476
Werner Lemberg1b5267d2007-04-28 21:06:15 +00004772007-04-28 Victor Stinner <victor.stinner@inl.fr>
478
479 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
480 `cmap'.
481
Werner Lembergcc712a22007-04-27 17:16:50 +00004822007-04-27 Werner Lemberg <wl@gnu.org>
483
484 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
485 number of points in contours. Problem reported by Victor Stinner
486 <victor.stinner@haypocalc.com>.
487 (TT_Process_Simple_Glyph): Synchronize variable types.
488
Werner Lemberg45bb18f2007-04-26 06:26:35 +00004892007-04-26 Werner Lemberg <wl@gnu.org>
490
491 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
492 zero in case of error. This fixes Savannah bug #19689.
493
David Turnera8b45e62007-05-11 14:10:30 +00004942007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
495
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000496 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
497 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000498
Werner Lembergfcc1f472007-04-10 11:51:50 +00004992007-04-10 Martin Horak <horakm@centrum.cz>
500
501 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
502 Ignore `hhea' table. This fixes Savannah bug #19261.
503
Werner Lemberg14bf82e2007-04-10 04:09:49 +00005042007-04-09 Werner Lemberg <wl@gnu.org>
505
506 * Version 2.3.4 released.
507 =========================
508
509
510 Tag sources with `VER-2-3-4'.
511
512 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
513 version number to 2.3.4.
514
515 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
516 builds/win32/visualc/freetype.dsp,
517 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
518
519 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
520
521 * builds/unix/configure.raw (version_info): Set to 9:15:3.
522
Werner Lembergf4a52a62007-04-09 08:40:11 +00005232007-04-09 Martin Horak <horakm@centrum.cz>
524
525 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
526 memory stream to avoid a crash with the incremental memory
527 interface (Savannah bug #19260).
528
David Turner1dcb4442007-04-06 08:19:04 +00005292007-04-06 David Turner <david@freetype.org>
530
Werner Lembergc81cf612007-04-06 09:28:23 +0000531 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
532 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000533
Werner Lemberg9f83e052007-04-05 02:28:23 +00005342007-04-04 Werner Lemberg <wl@gnu.org>
535
536 * Version 2.3.3 released.
537 =========================
538
539
540 Tag sources with `VER-2-3-3'.
541
542 * docs/CHANGES: Mention CVE-2007-1351.
543
David Turner7338ec22007-04-03 14:30:34 +00005442007-04-03 David Turner <david@freetype.org>
545
546 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000547 if one of the resolution values is 0, treat it as if it were the
548 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000549
David Turnere6472c12007-04-02 13:13:54 +00005502007-04-02 David Turner <david@freetype.org>
551
Werner Lemberg94f12272007-04-03 07:19:53 +0000552 Add special code to detect `extra-light' fonts and do not snap their
553 stem widths too much to avoid bizarre hinting effects.
554
555 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
556 `extra_light' members.
557
558 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
559 them.
560 (af_latin_metrics_scale_dim): Set `extra_light'.
561 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000562
David Turner3f539692007-03-28 14:53:40 +00005632007-03-28 David Turner <david@freetype.org>
564
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000565 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000566 padding.
567
Werner Lemberga08b2172007-03-28 07:17:17 +00005682007-03-28 Werner Lemberg <wl@gnu.org>
569
570 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
571 gracefully.
572 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000573 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000574 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
575 number of code points in Unicode.
576
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000577 * builds/win32/visualc/index.html,
578 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000579 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000580 s/232/233/.
581
582 * docs/CHANGES: Mention ftdiff.
583
David Turner3b242d32007-03-26 12:03:04 +00005842007-03-26 David Turner <david@freetype.org>
585
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000586 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
587 corresponding code.
588 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000589
Werner Lemberga08b2172007-03-28 07:17:17 +0000590 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000591 computations in order to ignore single-point contours. These are
592 never rasterized and correspond in certain fonts to mark-attach
593 points that are very far from the glyph's real outline, ruining the
594 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000595
Werner Lemberga08b2172007-03-28 07:17:17 +0000596 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000597 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000598 Otherwise code that uses them will most certainly ruin the fixed
599 advance property.
David Turner23553d62007-03-26 13:37:17 +0000600
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000601 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
602 documentation and bump version number to 2.3.3.
603
604 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
605
606 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000607
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00006082007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
609
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000610 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
611 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000612 * builds/vms/ftconfig.h: Ditto.
613 * include/freetype/config/ftconfig.h: Ditto.
614
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00006152007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
616
Werner Lemberg14ffe092007-03-22 06:12:43 +0000617 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
618 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000619 proposed by Sean McBride:
620 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
621
6222007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
623
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000624 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
625 setjmp, proposed by Sean McBride:
626 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
627
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00006282007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
629
Werner Lembergc9f6c662007-03-21 13:30:14 +0000630 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
631 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
632 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000633
David Turner74c34eb2007-03-18 07:19:31 +00006342007-03-18 David Turner <david@freetype.org>
635
Werner Lembergc9f6c662007-03-21 13:30:14 +0000636 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
637 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000638
Werner Lembergc9f6c662007-03-21 13:30:14 +0000639 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000640
David Turner89020d92007-03-17 17:48:57 +00006412007-03-17 David Turner <david@freetype.org>
642
Werner Lembergc9f6c662007-03-21 13:30:14 +0000643 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
644 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000645
Werner Lemberg25d592a2007-03-09 07:59:35 +00006462007-03-09 Werner Lemberg <wl@gnu.org>
647
648 * Version 2.3.2 released.
649 =========================
650
651
652 Tag sources with `VER-2-3-2'.
653
654 * builds/win32/visualc/index.html,
655 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000656 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000657 s/231/232/.
658
David Turner3a51afa2007-03-08 10:50:38 +00006592007-03-08 David Turner <david@freetype.org>
660
Werner Lemberg25d592a2007-03-09 07:59:35 +0000661 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000662
Werner Lemberg25d592a2007-03-09 07:59:35 +0000663 * builds/unix/configure.raw (version_info): Set to 9:13:3.
664
665 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
666
667 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000668
Werner Lemberg1e259de2007-03-08 15:39:21 +0000669 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
670 function to work properly, over-writing user-provided buffers in
671 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000672
David Turner121cad52007-03-08 16:43:50 +0000673
Werner Lemberg3d92f082007-03-06 11:59:24 +00006742007-03-05 Werner Lemberg <wl@gnu.org>
675
676 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
677 macro for `strstr'.
678
679 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
680 `trick_names', as suggested by Ivan Nincic.
681
David Turner085bc6e2007-03-05 17:40:03 +00006822007-03-05 David Turner <david@freetype.org>
683
Werner Lembergd112cf02007-03-06 12:06:56 +0000684 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
685 case FT_Init_FreeType fails for some reason. Problem reported by
686 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000687
Werner Lembergd112cf02007-03-06 12:06:56 +0000688 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
689 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
690 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
691 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000692
Werner Lembergd112cf02007-03-06 12:06:56 +0000693 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
694 signed values, not unsigned ones. Problem reported by Johannes
695 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000696
David Turner601aefe2007-02-21 16:47:49 +00006972007-02-21 David Turner <david@freetype.org>
698
Werner Lembergde5e6862007-02-25 21:06:43 +0000699 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
700 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000701
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00007022007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
703
704 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
705 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
706 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
707
Werner Lemberga0915172007-02-16 08:12:50 +00007082007-02-16 Werner Lemberg <wl@gnu.org>
709
710 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
711 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
712
David Turner2c4500e2007-02-14 15:08:47 +00007132007-02-14 David Turner <david@freetype.org>
714
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000715 It seems that the following changes fix most of the known
716 interpreter problems with my fonts, but more testing is needed,
717 though.
718
719 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
720 (TT_MulFix14): Rewrite.
721 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
722 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000723
Werner Lembergc6a14082007-02-12 22:08:15 +00007242007-02-12 Werner Lemberg <wl@gnu.org>
725
726 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
727 warnings.
728
729 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
730 (bdf_interpret_style): Ditto.
731
David Turnerc0f9c4a2007-02-12 14:55:03 +00007322007-02-12 David Turner <david@freetype.org>
733
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000734 Simplify projection and dual-projection code interface.
735
Werner Lemberg406d25f2007-02-12 22:01:18 +0000736 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
737 FT_Vector' as argument type.
738 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
739 Updated.
740 (CUR_fast_project, CUR_fast_dualproj): New macros.
741 (Project, Dual_Project, Project_x, Project_y): Updated.
742 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
743 macros.
744
745
746 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
747 adjustments for the non-light auto-hinted modes. Gets rid of
748 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000749
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000750 * src/autofit/aflatin.c (af_latin_hints_link_segments,
751 af_latin_hints_compute_edges): Slight optimization of the segment
752 linker and better handling of serif segments to get rid of broken
753 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000754
David Turnerc0f9c4a2007-02-12 14:55:03 +0000755
Werner Lemberg442bfb82007-02-12 21:44:10 +0000756 Introduce new string functions and the corresponding macros to get
757 rid of various uses of strcpy and other `evil' functions, as well as
758 to simplify a few things.
759
760 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
761 ft_mem_strcpyn): New declarations.
762 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
763 macros.
764 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
765 functions.
766
767 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
768 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
769 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
770 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
771 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
772 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
773 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
774 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000775
Werner Lemberg406d25f2007-02-12 22:01:18 +0000776 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
777
Werner Lemberg582067d2007-02-11 15:03:05 +00007782007-02-11 Werner Lemberg <wl@gnu.org>
779
780 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
781 non-spacing glyphs.
782
Werner Lemberg8f474532007-02-07 08:31:01 +00007832007-02-07 Tom Parker <palfrey@tevp.net>
784
785 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
786 pointer.
787
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00007882007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
789
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000790 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
791 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000792 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000793 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
794 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
795 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
796 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000797
798 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
799 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000800 * builds/mac/ftmac.c: Ditto.
801
8022007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
803
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000804 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000805 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000806 #include <ftmac.c>.
807
8082007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
809
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000810 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
811 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
812 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
813 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
814 FT_GetFilePath_From_Mac_ATS_Name.
815 * builds/mac/ftmac.c: Ditto.
816
8172007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
818
Werner Lembergdcbb7082007-02-08 08:54:09 +0000819 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000820 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
821 for passing to FT_New_Face_From_FSSpec.
822
8232007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
824
Werner Lembergdcbb7082007-02-08 08:54:09 +0000825 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000826 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000827
828 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
829 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000830 * builds/mac/ftmac.c (OS_INLINE): Ditto.
831
Werner Lemberg313d7772007-02-01 08:10:45 +00008322007-02-01 Werner Lemberg <wl@gnu.org>
833
834 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
835 Explain why applications shouldn't use it. Found by Alexei.
836
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008372007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000838
839 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
840 message.
841
842 * src/gxvalid/gxvmort1.c
843 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
844 message.
845
Werner Lemberg53935932007-01-31 08:53:02 +00008462007-01-31 Werner Lemberg <wl@gnu.org>
847
848
849 * Version 2.3.1 released.
850 =========================
851
852
853 Tag sources with `VER-2-3-1-FINAL'.
854
855 * builds/win32/visualc/freetype.dsp,
856 builds/win32/visualc/freetype.vcproj: s/230/231/.
857 * builds/win32/visualc/index.html: s/221/231/.
858
859 * vms_make.com: Add `ftgasp'.
860
David Turnera7ee6082007-01-30 10:33:53 +00008612007-01-30 David Turner <david@freetype.org>
862
Werner Lemberg53935932007-01-31 08:53:02 +0000863 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000864
Werner Lemberg53935932007-01-31 08:53:02 +0000865 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000866
Werner Lemberg25d592a2007-03-09 07:59:35 +0000867 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000868 s/2.3.0/2.3.1/.
869
870 * builds/unix/configure.raw (version_info): Set to 9:12:3.
871
872
873 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
874 (af_loader_load_g): Disable the warper (i.e., the light hinting
875 improvements) to make a 2.3.1 bugfix release before introducing a
876 new feature. This should give us more time to tune and improve the
877 warper for the next release.
878
879 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000880
David Turnerd91eebd2007-01-26 15:05:41 +00008812007-01-25 David Turner <david@freetype.org>
882
Werner Lembergbf241762007-01-26 16:08:49 +0000883 For light auto-hinting, improve glyph advance widths and resurrect
884 normal/full hinting to its normal quality.
885
886 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
887 and `xmax_delta'.
888 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
889 and `xmax_delta'.
890
891 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
892 preprocessor conditional with if-clause, handling both light and
893 normal mode.
894
895 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
896 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000897
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00008982007-01-25 Werner Lemberg <wl@gnu.org>
899
900 * docs/release: Updated -- Savannah uses a new uploading scheme.
901
David Turnera42567b2007-01-25 12:23:37 +00009022007-01-25 David Turner <david@freetype.org>
903
Werner Lembergd7855662007-01-25 13:53:56 +0000904 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000905
Werner Lembergd7855662007-01-25 13:53:56 +0000906 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
907 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
908 functions.
David Turnera42567b2007-01-25 12:23:37 +0000909
Werner Lembergd7855662007-01-25 13:53:56 +0000910 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000911
Werner Lembergb1be9e82007-01-25 11:50:00 +00009122007-01-25 Werner Lemberg <wl@gnu.org>
913
914 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000915 correctly in a sanity check. Since this function is only used to
916 load local and global functions, any charstring that called the last
917 local/global function would fail otherwise. This fixes Savannah bug
918 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000919
920 * docs/CHANGES: Document it.
921
David Turnerb6de8d12007-01-23 15:51:50 +00009222007-01-23 David Turner <david@freetype.org>
923
Werner Lembergb1be9e82007-01-25 11:50:00 +0000924 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
925 prevented compilation when disabling both the unpatented and the
926 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000927
Werner Lembergb1be9e82007-01-25 11:50:00 +0000928
929 Fix and enable the warper to improve `light' hinting mode. This is
930 not necessarily a final version, but it seems to work well.
931
932 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
933 Disable code.
934 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
935 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
936
937 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
938 (af_warper_compute_line_best): Fix array size of `scores'.
939 (af_warper_compute): Better handling of border cases.
940 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
941 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000942
Werner Lemberg011d1112007-01-21 09:36:00 +00009432007-01-21 Werner Lemberg <wl@gnu.org>
944
Werner Lemberg42b63b22007-01-21 21:01:33 +0000945 * ChangeLog: Split off older entries into...
946 * ChangeLog.22: This new file.
947
9482007-01-21 Werner Lemberg <wl@gnu.org>
949
Werner Lemberg555258f2007-01-21 09:46:37 +0000950 * docs/CHANGES: Document SHZ fix.
951
9522007-01-21 George Williams <gww@silcom.com>
953
954 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
955 points.
956
9572007-01-21 Werner Lemberg <wl@gnu.org>
958
Werner Lemberg011d1112007-01-21 09:36:00 +0000959 * src/sfnt/ttmtx.c (tt_face_get_metrics)
960 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
961
Werner Lemberg87a5a432007-01-17 12:44:39 +00009622007-01-17 Werner Lemberg <wl@gnu.org>
963
Werner Lembergb8003292007-01-17 12:56:25 +0000964
965 * Version 2.3.0 released.
966 =========================
967
968
969 Tag sources with `VER-2-3-0-FINAL'.
970
9712007-01-17 Werner Lemberg <wl@gnu.org>
972
Werner Lemberg87a5a432007-01-17 12:44:39 +0000973 * docs/release: Updated.
974
David Turner22122722007-01-16 20:06:44 +00009752007-01-16 David Turner <david@freetype.org>
976
Werner Lemberg87a5a432007-01-17 12:44:39 +0000977 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
978 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
979 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
980 warnings.
David Turner22122722007-01-16 20:06:44 +0000981
Werner Lemberg267e1d72007-01-15 07:48:09 +00009822007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
983
984 * builds/amiga/makefile, builds/amiga/makefile.os4,
985 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
986
987 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
988
Werner Lemberg8c4120d2007-01-15 06:42:40 +00009892007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
990
991 Fix various compiler warnings.
992
993 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
994 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
995 s/index/strike_index/.
996 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
997
998 * src/gxvalid/gxvmorx5.c
999 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1000
1001 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1002 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1003 uninitialized variables.
1004
Werner Lemberg6164a9d2007-01-13 23:01:36 +000010052007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1006
1007 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1008
Werner Lemberg281c1482007-01-13 22:50:51 +000010092007-01-13 Werner Lemberg <wl@gnu.org>
1010
1011 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1012 versions up to 0x3FF without complaining.
1013
Werner Lembergac250b22007-01-13 14:01:36 +000010142007-01-13 Derek Clegg <dclegg@apple.com>
1015
1016 Add FT_Get_PS_Font_Info interface to CFF driver.
1017
1018 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1019 (CFF_FontRec): Add `font_info' field.
1020
1021 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1022 (cff_font_done): Free font->font_info if necessary.
1023
1024 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1025 (cff_service_ps_info): Register cff_ps_get_font_info.
1026
Werner Lemberg23df31a2007-01-13 08:45:00 +000010272007-01-13 Werner Lemberg <wl@gnu.org>
1028
1029 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1030 with C++ compiler.
1031
1032 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1033 af_glyph_hints_dump_edges): Ditto.
1034
1035 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1036 `modules.cfg').
1037
1038 * src/sfnt/ttsbit0.h: Remove.
1039
1040 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1041
Werner Lemberg27cf9de2007-01-13 07:34:23 +000010422007-01-12 David Turner <david@freetype.org>
1043
1044 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1045 bug in the bitmap emboldener if the pitch of the source bitmap is
1046 much larger than its width.
1047
1048 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1049 compilation warning.
1050
Werner Lemberg6d96d312007-01-12 10:30:19 +000010512007-01-12 Werner Lemberg <wl@gnu.org>
1052
1053 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1054 `automake' CVS module from sources.redhat.com.
1055
Werner Lemberg17432b52007-01-12 09:28:44 +000010562007-01-11 Werner Lemberg <wl@gnu.org>
1057
1058 * src/type1/t1load.c (is_space): Removed.
1059 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1060 (parse_charstrings): Use IS_PS_TOKEN.
1061
1062
1063 * autogen.sh: Avoid bash specific syntax.
1064
David Turner038ace22007-01-11 15:00:59 +000010652007-01-11 David Turner <david@freetype.org>
1066
Werner Lemberg17432b52007-01-12 09:28:44 +00001067 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001068
Werner Lemberg17432b52007-01-12 09:28:44 +00001069 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001070
Werner Lemberg17432b52007-01-12 09:28:44 +00001071 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1072 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001073 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001074
Werner Lemberg17432b52007-01-12 09:28:44 +00001075 * autogen.sh: Small fix to get it working on Mac OS X properly:
1076 The issue is that GNU libtool is called `glibtool' on this platform,
1077 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001078
David Turner2628ea92007-01-10 13:15:56 +000010792007-01-10 David Turner <david@freetype.org>
1080
Werner Lemberg17432b52007-01-12 09:28:44 +00001081 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1082 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001083
Werner Lemberg17432b52007-01-12 09:28:44 +00001084 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1085 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1086 version number to 2.3.0.
1087
1088 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1089 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001090
1091 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001092 include/freetype/ftlcdfil.h: Update reference documentation with
1093 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001094
Werner Lemberg17432b52007-01-12 09:28:44 +00001095 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1096 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001097
Werner Lembergbf02d392007-01-10 07:07:37 +000010982007-01-10 Derek Clegg <dclegg@apple.com>
1099
1100 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1101 values.
1102
David Turnerf48b60e2007-01-08 15:15:32 +000011032007-01-08 David Turner <david@freetype.org>
1104
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001105 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001106
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001107 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1108 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001109 corresponding to a given character pixel size.
1110
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001111 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1112 `gasp' table, in order to avoid potential problems with later
1113 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001114
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001115 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1116 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001117
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001118 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1119 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1120 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1121 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001122
Werner Lemberge6b6f372007-01-07 00:06:47 +000011232007-01-07 Werner Lemberg <wl@gnu.org>
1124
Werner Lembergb8004d22007-01-07 09:13:38 +00001125 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1126 Type 11 fonts.
1127 Scan for `/sfnts' token.
1128
11292007-01-07 Werner Lemberg <wl@gnu.org>
1130
1131 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001132
Werner Lembergbe5f7972007-01-06 07:51:48 +000011332007-01-06 Werner Lemberg <wl@gnu.org>
1134
1135 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1136 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1137
David Turnera8cf42b2007-01-04 16:46:46 +000011382007-01-04 David Turner <david@freetype.org>
1139
Werner Lembergf6294392007-01-06 07:47:45 +00001140 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1141 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001142
Werner Lembergf6294392007-01-06 07:47:45 +00001143
1144 Do not allocate interpreter-specific tables in memory if we are not
1145 going to load glyphs with the bytecode interpreter anyway.
1146
1147 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1148 only if glyph is hinted.
1149 Updated.
1150 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1151 and `cvs_ready'.
1152 Add `tt_size_ready_bytecode' declaration.
1153 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1154 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1155 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1156 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1157 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001158
David Turner91a34022007-01-05 14:47:08 +00001159
Werner Lembergf6294392007-01-06 07:47:45 +00001160 Don't extract the metrics table from the SFNT font file. Instead,
1161 reparse it on each glyph load. The runtime difference is not
1162 noticeable, and it can save a lot of heap memory when memory-mapped
1163 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001164
Werner Lembergf6294392007-01-06 07:47:45 +00001165 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1166 `horz_metrics_offset' and `vert_metrics_ofset'.
1167 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1168 Updated.
1169
1170
1171 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1172
1173
1174 Do not load the CFF index offsets into memory, since this wastes a
1175 *lot* of heap memory with large Asian CFF fonts. There is no
1176 significant performance loss.
1177
1178 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1179 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1180 `data_size'.
1181 (CFF_CharsetRec): Add field `num_glyphs'.
1182
1183 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1184 cff_charset_cid_to_gindex): New functions.
1185 (cff_new_index): Renamed to...
1186 (cff_index_init): This. Update all callers.
1187 Updated -- some code has been moved to `cff_index_load_offsets'.
1188 (cff_done_index): Renamed to...
1189 (cff_index_done): This. Update all callers.
1190 (cff_index_get_pointers, cff_index_access_element): Updated to use
1191 stream offsets.
1192 (cff_charset_compute_cids): Set `num_glyphs' field.
1193 (cff_encoding_load): Updated.
1194
1195 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001196
11972007-01-04 David Turner <david@freetype.org>
1198
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001199 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1200 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001201
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001202 * README.CVS: Add common problem description and solution
1203 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001204
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001205 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001206
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001207 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001208
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001209 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001210
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001211 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1212 (TWorker): This.
1213 Remove `count_table' and `memory'.
1214 Make `grays' a pointer.
1215 (TRaster): New structure.
1216 (count_table): New static array.
1217 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1218 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1219 ft_black_set_mode, ft_black_render): Updated.
1220 (ft_black_init): Don't initialize `count_table'.
1221 (ft_black_reset): Use the render pool. This saves about 6KB of
1222 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001223
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001224 * src/smooth/ftgrays.c (TRaster): Replaced with...
1225 (TWorker): This.
1226 Remove `memory'.
1227 (TRaster): New structure.
1228
1229 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1230 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1231 gray_render_span, gray_raster_render): Updated.
1232 (gray_raster_reset): Use the render pool. This saves about 6KB of
1233 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001234
David Turner8a6c44e2007-01-04 17:03:11 +00001235 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1236 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001237 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1238 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1239 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001240
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001241 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1242 Remove a typo that results in no hinting and a memory leak with some
1243 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001244
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001245 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001246 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001247 CFF_Faces in it. We need to close all faces before destroying the
1248 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001249
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000012502007-01-02 Werner Lemberg <wl@gnu.org>
1251
1252 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1253 Remove compiler warning.
1254
David Turner9207e002007-01-02 16:58:13 +000012552007-01-02 David Turner <david@freetype.org>
1256
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001257 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001258
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000012592006-12-31 Masatake YAMATO <jet@gyve.org>
1260
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001261 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1262 function.
1263 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001264 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001265 `gxv_kern_subtable_fmt0_pairs_validate'.
1266
David Turner115b4422006-12-22 11:37:05 +000012672006-12-22 David Turner <david@freetype.org>
1268
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001269 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1270 warnings.
David Turner115b4422006-12-22 11:37:05 +00001271
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001272 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1273 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001274
Werner Lemberg4755bf72006-12-16 08:58:44 +000012752006-12-16 Anders Kaseorg <anders@kaseorg.com>
1276
1277 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1278 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1279
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000012802006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1281
Werner Lemberg9b774e22007-01-16 06:11:27 +00001282 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001283 sync with the modification by Jens Claudius on 2006-08-22; cf.
1284 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 +00001285
12862006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1287
1288 * src/base/ftmac.c: Specialized for Mac OS X only.
1289 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1290 * builds/unix/configure.raw: Ditto. When explicit switches for
1291 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1292 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1293
12942006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1295
1296 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1297 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1298 instead of src/base/ftmac.c
1299 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1300 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1301 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1302 that cannot be built at present.
1303
13042006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1305
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001306 * src/base/ftobjs.c: Improvement of resource fork handler for
1307 POSIX, cf.
1308 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001309 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1310 format or .dfont, to simulate the face index number counted by ftmac.c.
1311 (IsMacResource): Return the number of scalable faces correctly.
1312
Werner Lembergec5b4502006-12-10 07:51:38 +000013132006-12-10 Werner Lemberg <wl@gnu.org>
1314
1315 * builds/toplevel.mk (version): Protect against `distclean' target.
1316
Werner Lembergb26b3142006-12-09 20:01:43 +000013172006-12-09 Werner Lemberg <wl@gnu.org>
1318
1319 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1320 or `type'.
1321
1322 * builds/freetype.mk (version): Extracted from freetype.h, using
1323 GNU make's built-in string functions.
1324 (refdoc): Use $(version) instead of static version number.
1325
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000013262006-12-08 Werner Lemberg <wl@gnu.org>
1327
1328 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1329
Werner Lemberg15c29502006-12-09 07:29:54 +000013302006-12-08 Vladimir Volovich <vvv@vsu.ru>
1331
1332 * src/tools/apinames (State): Remove final comma in structure -- xlc
1333 v5 under AIX 4.3 doesn't like this.
1334
David Turnerdbf3b432006-12-07 21:18:09 +000013352006-12-07 David Turner <david@freetype.org>
1336
Werner Lemberg256a3512006-12-08 06:49:33 +00001337 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1338 to the spacing of auto-fitted glyphs. This only impacts rare
1339 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001340
Werner Lemberg11171312006-12-03 09:43:40 +000013412006-12-03 Werner Lemberg <wl@gnu.org>
1342
1343 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1344
Werner Lemberg960ba592006-12-01 08:20:47 +000013452006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001346
Werner Lemberg960ba592006-12-01 08:20:47 +00001347 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1348 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1349 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001350
David Turner80658e52006-11-28 08:09:20 +00001351
Werner Lemberg960ba592006-12-01 08:20:47 +00001352 * include/freetype/ftxf86.h: Fix and extend comment so that it
1353 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001354
Werner Lemberg960ba592006-12-01 08:20:47 +00001355 * include/freetype/ftchapters.h: Add `font_format' section.
1356
1357
1358 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1359 to TOC in index page.
1360
13612006-11-28 David Turner <david@freetype.org>
1362
1363 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1364 trying to render into a zero-width/height bitmap, not an error code.
1365
1366 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1367
1368 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1369 ones instead.
1370
1371 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1372 variable.
David Turner80658e52006-11-28 08:09:20 +00001373
Werner Lemberg8636c292006-11-26 22:28:13 +000013742006-11-26 Pierre Hanser <hanser@club-internet.fr>
1375
1376 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1377
Werner Lemberg960ba592006-12-01 08:20:47 +000013782006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001379
Werner Lemberg960ba592006-12-01 08:20:47 +00001380 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1381 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1382 Add stubs to link the `ftgrid' test program when debugging is
1383 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001384
Werner Lemberg960ba592006-12-01 08:20:47 +000013852006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001386
1387 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001388 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1389
1390 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1391 Emit more sensible information.
1392
1393 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1394
1395 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1396 rounding of blue values.
1397 (af_latin_hints_compute_segments): Hint segment heights.
1398 (af_latin_hints_link_segments): Reduce `len_score' value.
1399 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1400 value and use `height' member for comparisons.
1401 (af_latin_hint_edges): Extend logging message.
1402 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001403
Werner Lemberg91959bf2006-11-22 10:36:55 +000014042006-11-22 Werner Lemberg <wl@gnu.org>
1405
1406 Fix Savannah bug #15553.
1407
1408 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1409 program after a change from mono to grayscaling (and vice versa).
1410 Use correct constant for comparison to get `exec->grayscale'.
1411
Werner Lemberg913a3652006-11-19 09:19:17 +000014122006-11-18 Werner Lemberg <wl@gnu.org>
1413
1414 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001415 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001416 This patch fixes Savannah bug #18301.
1417
1418 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1419 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1420 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1421 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1422 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1423 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1424 (FNT_Load_Glyph): Check validity of `glyph_index'.
1425
David Turner7bab6ae2006-11-13 11:25:06 +000014262006-11-13 David Turner <david@freetype.org>
1427
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001428 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1429 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001430
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001431 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1432 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1433 when building the library to change the default LCD filter to be
1434 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001435
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001436 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001437
David Turner8765c712006-11-10 16:49:42 +000014382006-11-10 David Turner <david@freetype.org>
1439
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001440 * src/smooth/ftsmooth.c: API change for the LCD
1441 filter. The FT_LcdFilter value is an enumeration describing which
1442 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1443 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1444 algorithm which produces strong color fringes for everything
1445 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001446
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001447 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1448 second parameter to an enum type.
1449
1450 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1451 (_ft_lcd_filter): Rename to...
1452 (_ft_lcd_filter_fir): This.
1453 Update parameters.
1454 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1455 (FT_Library_Set_LcdFilter): Update parameters.
1456 Handle new filter modes.
1457
1458 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1459 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1460 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1461 callback and update other fields.
1462
1463 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1464 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1465 Other minor improvements.
1466
1467 * src/autofit/aflatin.c: Various tiny improvements that drastically
1468 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1469 (af_latin_hints_compute_edges): Fix typo.
1470 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001471
David Turner4e9cc3c2006-11-09 16:31:52 +000014722006-11-09 David Turner <david@freetype.org>
1473
Werner Lemberg49c77a82006-11-09 21:51:57 +00001474 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1475 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001476
Werner Lemberg5e430892006-11-07 09:35:03 +000014772006-11-07 Zhe Su <james.su@gmail.com>
1478
1479 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1480 also.
1481
Werner Lemberg111b5ae2006-11-03 09:40:12 +000014822006-11-03 Werner Lemberg <wl@gnu.org>
1483
1484 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1485
David Turner40604742006-11-02 16:37:35 +000014862006-11-02 David Turner <david@freetype.org>
1487
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001488 Add a few tweaks to better handle serif fonts.
1489 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001490
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001491 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1492 segments that are less than 1.5 pixels high. This gets rid of
1493 *many* corner cases with serifs.
1494 (af_latin_align_linked_edge): Add logging message.
1495 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1496 Add logging messages.
1497 Handle AF_EDGE_FLAG flag specially.
1498
1499 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1500 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1501
1502 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1503 Update external declarations.
1504 (af_corner_orientation, af_corner_is_flat): Replaced by...
1505
1506 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1507 ft_corner_is_flat): These declarations.
1508
1509 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1510 Comment out. Replaced by...
1511
1512 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1513 These functions. Update all callers.
1514 (FT_Add64) [!FT_LONG64]: Simplify.
1515
1516 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1517 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1518 production of garbage by missing lots of segments.
1519
1520 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1521
1522 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1523 [AF_DEBUG]: Set _af_debug_hints.
1524
1525
1526 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1527 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1528 and ft_corner_orientation.
1529
1530
1531 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001532
Werner Lemberge88c5262006-10-24 05:46:26 +000015332006-10-24 Werner Lemberg <wl@gnu.org>
1534
1535 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1536
1537 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1538 as argument.
1539
David Turnera1861392006-10-23 16:00:59 +000015402006-10-23 Zhe Su <zsu@novell.com>
1541
Werner Lemberg715e96e2006-10-24 05:28:45 +00001542 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1543 better deal with broken Asian fonts with strange glyphs, having
1544 self-intersections and other peculiarities. The used algorithm is
1545 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001546
David Turnere140f142006-10-23 08:56:57 +000015472006-10-23 David Turner <david@freetype.org>
1548
Werner Lemberg715e96e2006-10-24 05:28:45 +00001549 Speed up the CFF font loader. With some large CFF fonts,
1550 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001551
Werner Lemberg715e96e2006-10-24 05:28:45 +00001552 * src/cff/cffload.c (cff_get_offset): Removed.
1553 (cff_new_index): Inline functionality of `cff_get_offset'.
1554 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1555 (cff_charset_done): Call `cff_charset_free_cids'.
1556 (cff_charset_load): Call `cff_charset_compute_cids'.
1557 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1558
1559 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1560 with FT_NEXT_XXX.
1561
1562
1563 Speed up the Postscript hinter, with more than 100% speed increase
1564 on my machine.
1565
1566 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1567 psh_corner_orientation): New functions.
1568 (psh_glyph_compute_inflections): Merge loops for efficiency.
1569 Use `psh_corner_orientation'.
1570 (psh_glyph_init): Use `psh_corner_is_flat'.
1571 (psh_hint_table_find_strong_point): Renamed to...
1572 (psh_hint_table_find_strong_points): This.
1573 Rewrite, adding argument to handle all points at once.
1574 Update all callers.
1575 (PSH_MAX_STRONG_INTERNAL): New macro.
1576 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001577
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000015782006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1579
1580 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001581 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001582
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000015832006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1584
1585 * docs/INSTALL.CROSS: New document file for cross-building.
1586
1587 * builds/unix/configure.raw: Preliminary cross-building support.
1588 Find native C compiler and pass it by CC_BUILD, and
1589 find suffix for native executable and pass it by EXEEXT_BUILD.
1590 Also suffix for target executable is passed by EXEEXT.
1591
Werner Lembergb9e6d692006-10-15 08:58:40 +00001592 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1593 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001594 CC_BUILD and EXEEXT_BUILD.
1595
Werner Lembergb9e6d692006-10-15 08:58:40 +00001596 * builds/exports.mk (APINAMES_EXE): Change the extension for
1597 apinames from the suffix for target (E) to that for building host
1598 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001599
Werner Lemberg82a07e92006-10-12 06:20:44 +000016002006-10-12 Werner Lemberg <wl@gnu.org>
1601
1602 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1603 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1604 which reference those files.
1605
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000016062006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1607
Werner Lembergb9e6d692006-10-15 08:58:40 +00001608 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1609 embedded in freetype2.pc and freetype-config. Use it to record
1610 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001611
1612 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1613
1614 * builds/unix/freetype-config.in: Ditto.
1615
Werner Lemberg28e17d92006-10-11 17:27:47 +000016162006-10-11 Werner Lemberg <wl@gnu.org>
1617
1618 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1619 development.
1620
Jens Claudius336d2292006-10-03 08:53:37 +000016212006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1622
1623 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1624 argument to ft_setjmp.
1625
1626 * include/freetype/internal/ftvalid.h: Add comment that
1627 ft_validator_run must not be used.
1628
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016292006-10-01 Werner Lemberg <wl@gnu.org>
1630
1631 * src/base/ftbase.c: Undo change from 2006-09-30.
1632
1633 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1634
16352006-09-30 David Turner <david@freetype.org>
1636
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001637 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1638 s/unpatented_hinting/ignore_unpatented_hinter/.
1639 Update all callers.
1640
1641 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1642 auto-hinting shall be used or not.
1643
1644 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001645
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016462006-09-30 Werner Lemberg <wl@gnu.org>
1647
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001648 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1649 in use).
1650
1651 * src/base/ftbase.c: Include `ftlcdfil.c'.
1652
Werner Lemberg9b15ea32006-09-29 18:22:11 +000016532006-09-29 Werner Lemberg <wl@gnu.org>
1654
1655 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1656 overlapping segments. Bug reported by Stefan Koch.
1657
David Turnerad830712006-09-27 16:20:59 +000016582006-09-28 David Turner <david@freetype.org>
1659
Werner Lemberg2c002e12006-09-29 21:31:53 +00001660 Fix a bug in the automatic unpatented hinting support which prevents
1661 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001662
Werner Lemberg2c002e12006-09-29 21:31:53 +00001663 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1664 s/force_autohint/unpatented_hinting/. Update all callers.
1665
1666 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1667
1668 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001669
David Turner8a317cf2006-09-27 07:52:48 +000016702006-09-27 David Turner <david@freetype.org>
1671
Werner Lemberg2c002e12006-09-29 21:31:53 +00001672 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001673
David Turner8a317cf2006-09-27 07:52:48 +00001674
David Turnere140f142006-10-23 08:56:57 +00001675 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001676 In a default build, the function `FT_Library_SetLcdFilter' returns
1677 `FT_Err_Unimplemented_Feature'; you need to #define
1678 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1679 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001680
Werner Lemberg2c002e12006-09-29 21:31:53 +00001681 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001682
Werner Lemberg2c002e12006-09-29 21:31:53 +00001683 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1684 typedef.
1685 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1686 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001687
Werner Lemberg2c002e12006-09-29 21:31:53 +00001688 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1689 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001690
Werner Lemberg2c002e12006-09-29 21:31:53 +00001691 Handle subpixel rendering.
1692 Simplify function.
1693 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1694 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1695
1696 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1697 pointing to <freetype/ftlcdfil.h>.
1698
1699 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1700 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1701
1702 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001703
Werner Lemberge20df4a2006-09-27 06:29:21 +000017042006-09-26 David Bustin
1705
1706 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1707 correctly. Reported as Savannah bug #17843.
1708
David Turner6f8c6222006-09-26 15:42:44 +000017092006-09-26 David Turner <david@freetype.org>
1710
Werner Lemberg110246c2006-09-26 21:55:44 +00001711 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1712 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1713 horizontal and vertical hinting for the purpose of debugging the
1714 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001715
Werner Lemberg110246c2006-09-26 21:55:44 +00001716 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1717 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001718
Werner Lemberg110246c2006-09-26 21:55:44 +00001719 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1720
1721 * include/freetype/config/ftoption.h, devel/ftoption.h
1722 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1723 we want to compile LCD-optimized rendering code (à la ClearType) or
1724 not. The macro *must* be disabled in default builds of the library
1725 for patent reasons.
1726
1727 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1728 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1729 isn't defined at compile time. This only changes the content of the
1730 rendered glyph to match the one of normal gray-level rendering,
1731 hence clients should not need to be modified.
1732
1733 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001734
Werner Lemberg745ff2c2006-09-19 05:48:02 +000017352006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1736
1737 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1738 LWFN fails and both are available.
1739
David Turnerf3050052006-09-11 12:00:32 +000017402006-09-11 David Turner <david@freetype.org>
1741
Werner Lembergf9644552006-09-12 13:48:10 +00001742 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1743 report their English names through an Apple Roman
1744 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001745
Werner Lembergf9644552006-09-12 13:48:10 +00001746 If the font uses another name entry with language_id == English, it
1747 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001748
Werner Lembergf9644552006-09-12 13:48:10 +00001749 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1750 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001751
Werner Lemberg36d2eab2006-09-05 19:24:34 +000017522006-09-05 Werner Lemberg <wl@gnu.org>
1753
1754 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001755 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001756 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1757 `HAN NOM B.ttf').
1758
1759 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1760
David Turner772e55d2006-09-05 09:45:15 +000017612006-09-05 David Turner <david@freetype.org>
1762
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001763 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001764
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001765 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1766 (TRaster): Remove `count_ex' and `count_ey'.
1767 (gray_find_cell): Remove 2nd and 3rd argument.
1768 (gray_alloc_cell): Merged with `gray_find_cell'.
1769 (gray_record_cell): Simplify.
1770 (gray_set_cell): Rewrite.
1771 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1772 (gray_render_span): Don't use FT_MEM_SET for small values.
1773 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1774 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1775 bitmap scanline.
1776 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001777
David Turneraa557a92006-09-04 16:42:44 +000017782006-09-04 David Turner <david@freetype.org>
1779
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001780 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1781 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001782
Werner Lemberg2d8629b2006-09-03 06:18:45 +000017832006-09-03 Werner Lemberg <wl@gnu.org>
1784
1785 * devel/ftoption.h: Synchronize with
1786 include/freetype/config/ftoption.h.
1787
1788 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1789 variable declaration.
1790 (gray_convert_glyph): Fix compiler warnings.
1791
David Turner6d79f212006-09-01 14:09:35 +000017922006-09-01 David Turner <david@freetype.org>
1793
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001794 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1795 to recognize a few fonts that require the automatic unpatented
1796 loader.
David Turnerbd502952006-09-01 19:05:24 +00001797
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001798 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1799 rasterizer. The speed improvement is between 15% and 25%, depending
1800 on the font data.
1801
1802 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1803 (TCell): Redefine.
1804 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1805 (gray_init_cells): Updated.
1806 (gray_find_cell, gray_alloc_cell): New functions.
1807 (gray_record_cell): Rewritten to use `gray_find_cell' and
1808 `gray_alloc_cell'.
1809 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1810 QSORT_THRESHOLD):
1811 Removed.
1812 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1813 gray_dump_cells): Removed.
1814 (gray_sweep): Rewritten.
1815 (gray_convert_glyph): Rewrite code which used one of the sorting
1816 functions.
1817 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001818
Werner Lembergd898aed2006-08-29 09:50:34 +000018192006-08-29 Dr. Werner Fink <werner@suse.de>
1820
1821 * configure: Make it possible to handle configure options which
1822 have strings containing spaces.
1823
18242006-08-27 David Turner <david@freetype.org>
1825
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001826 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1827 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1828 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1829
1830 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1831 src/truetype/truetype.c, src/truetype/ttdriver.c,
1832 src/truetype/ttgload.c, src/truetype/ttgload.h,
1833 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1834 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1835 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1836
1837 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1838 member `force_autohint'.
1839
1840 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1841
1842 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1843 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001844
Jens Claudiusa787f452006-08-27 11:26:18 +000018452006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1846
1847 Fix miscellaneous compiler warnings.
1848
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001849 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1850 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001851
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001852 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1853 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1854 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001855
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001856 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1857 volatileness of argument to ft_longjmp. Spotted by Werner
1858 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001859
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001860 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1861 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001862
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001863 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1864 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001865
Werner Lembergc4c35b72006-08-27 08:03:46 +000018662006-08-27 Werner Lemberg <wl@gnu.org>
1867
1868 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1869 Reported by Jens.
1870
Jens Claudius088e44e2006-08-22 14:24:30 +000018712006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001872
Jens Claudius088e44e2006-08-22 14:24:30 +00001873 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001874 about addresses of volatile objects passed as function arguments as
1875 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001876
Werner Lembergc4c35b72006-08-27 08:03:46 +00001877 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1878 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001879
1880 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1881 argument `table' a pointer to a volatile object.
1882
1883 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1884 argument `table' a pointer to a volatile object.
1885
Jens Claudius2652bd52006-08-18 17:20:37 +000018862006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1887
1888 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1889 variable `_sfnt' as volatile since it must keep its value across
1890 a call to ft_setjmp.
1891 (gxv_validate): Same for local variables `memory' and `valid'.
1892 (classic_kern_validate): Same for local variables `memory',
1893 `ckern', and `valid'.
1894
1895 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1896 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1897 `jstf', and 'valid'.
1898
1899 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1900 local variable `cmap'.
1901
David Turner9fbfc6a2006-08-16 09:11:31 +000019022006-08-16 David Turner <david@freetype.org>
1903
Werner Lemberg12342992006-08-19 11:18:09 +00001904 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1905 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001906
Werner Lemberg12342992006-08-19 11:18:09 +00001907 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1908 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001909
David Turner33f5f242006-08-16 16:50:55 +00001910
Werner Lemberg12342992006-08-19 11:18:09 +00001911 Improvements to native TrueType hinting. This is a first try,
1912 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1913
1914 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1915 `extra_points2'.
1916
1917 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1918 `orus'.
1919
1920 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1921 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1922 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1923 handle `extra_points2'.
1924
1925 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1926 Remove compiler warning.
1927 (cur_to_arg): Remove macro.
1928 (TT_Hint_Glyph): Updated.
1929 (TT_Process_Simple_Glyph): Handle `orus'.
1930
1931 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1932 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1933 (LOC_Ins_IUP): Renamed to...
1934 (IUP_WorkerRec): This.
1935 Add `orus' member.
1936 (Shift): Renamed to...
1937 (_iup_worker_shift): This.
1938 Updated.
1939 (Interp): Renamed to...
1940 (_iup_worker_interpolate): This.
1941 Updated to handle `orus'.
1942 (Ins_IUP): Updated.
1943
1944 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1945 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001946
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000019472006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1948
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001949 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001950 build ftvalid in ft2demos. This has been inadvertedly changed
1951 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001952
19532006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1954
Werner Lemberg12342992006-08-19 11:18:09 +00001955 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1956 Jens:
1957 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001958
Werner Lemberg12342992006-08-19 11:18:09 +00001959 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1960 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001961
1962 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1963
Jens Claudius9950adc2006-08-13 12:14:36 +000019642006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1965
Werner Lemberg12342992006-08-19 11:18:09 +00001966 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1967 T1_TOKEN_TYPE_KEY.
1968 (T1_FieldRec): Add `dict'.
1969 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1970 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1971 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001972
Werner Lemberg12342992006-08-19 11:18:09 +00001973 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1974 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001975
1976 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1977
1978 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001979 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1980 not T1_TOKEN_TYPE_ANY.
1981 (ps_parser_load_field): Make sure a token that should be a string or
1982 name is really a string or name.
1983 Avoid memory leak if a keyword has been already encountered and its
1984 value is overwritten.
1985 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1986 T1_FIELD_XXX.
1987 (parse_dict): Ignore keywords that occur in the wrong dictionary
1988 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001989
Werner Lemberg12342992006-08-19 11:18:09 +00001990 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1991 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001992
Werner Lemberg12342992006-08-19 11:18:09 +00001993 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1994 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001995
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000019962006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1997
1998 Move creation of field `buildchar' of T1_DecoderRec out of
1999 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2000 of it.
2001
2002 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2003 and `T1_Compute_Max_Advance'.
2004
2005 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2006 Remove field `face', add `len_buildchar'.
2007
2008 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2009 field `buildchar'.
2010
2011 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2012 finisher for T1_Decoder.
2013 (cid_slot_load_glyph): Do not ignore failure when initializing the
2014 T1_Decoder.
2015
2016 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2017 Updated.
2018 (t1_decoder_init): Remove initialization of fields `buildchar' and
2019 `len_buildchar'.
2020 (t1_decoder_done): Remove deallocation of field `buildchar'.
2021
2022 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2023 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2024 T1_Decoder.
2025 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2026 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2027 case of error.
2028
2029 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2030 `buildchar' of T1_FaceRec.
2031
2032 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2033 `buildchar' of T1_FaceRec.
2034
Werner Lemberg1a380e02006-07-14 18:28:08 +000020352006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2036
2037 * freetype2/include/freetype/internal/psaux.h: New macros
2038 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2039 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2040 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2041 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2042 (T1_DecoderRec): New fields `buildchar' and `face'.
2043 (IS_PS_TOKEN): New macro.
2044
2045 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2046 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2047
2048 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2049 `default_design_vector' and `num_default_design_vector'.
2050
2051 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2052 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2053 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2054
2055 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2056 `token' argument to be NULL if we want only to count the number of
2057 tokens.
2058 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2059 want to skip the array.
2060 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2061 want to skip the array.
2062
2063 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2064 support for (partially commented out) othersubrs 19-25, 27, and 28.
2065 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2066 (t1_decoder_done): Release new field `buildchar'.
2067
2068 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2069 functions.
2070 (t1_keywords): Register them.
2071 (t1_allocate_blend): Updated.
2072 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2073 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2074 (parse_dict): Remove `keyword_flags' argument.
2075 Use new macro IS_PS_TOKEN.
2076 Changed function so that later PostScript definitions override
2077 earlier ones.
2078 (t1_init_loader): Initialize new field `keywords_encountered'.
2079 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2080 `len_buildchar'.
2081 Remove `keywords_flags'.
2082
2083 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2084 `keywords_encountered'.
2085 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2086
2087 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2088 New entries for parsing /NDV, /CDV, and /DesignVector.
2089
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000020902006-07-07 Werner Lemberg <wl@gnu.org>
2091
2092 Add many checks to protect against malformed PCF files.
2093
2094 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2095 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2096
2097 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2098 data and check that tables don't overlap (using a simple
2099 bubblesort).
2100 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2101 New macros which give the size of data structures in the data
2102 stream.
2103 (pcf_get_properties): Use rough estimates to get array size limits.
2104 Assign `face->nprops' and `face->properties' earlier so that a call
2105 to PCF_Face_Done can do the clean-up in case of error.
2106 Protect against invalid string offsets.
2107 (pcf_get_metrics): Clean up code.
2108 Adjust tracing message levels.
2109 Use rough estimate to get array size limit.
2110 (pcf_get_bitmaps): Clean up code.
2111 Adjust tracing message levels.
2112 Use rough estimates to get offset limits.
2113 (pcf_get_encodings): Adjust tracing message level.
2114 (pcf_get_accel): Clean up code.
2115
Werner Lemberg8eb05252006-06-27 06:20:01 +000021162006-06-26 Werner Lemberg <wl@gnu.org>
2117
2118 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2119 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2120
Werner Lemberg24703f82006-06-26 19:12:51 +000021212006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2122
2123 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2124 (t1_decoder_parse_charstrings): Operator with
2125 opcode 15 pops its two arguments.
2126 Handle the case where the pops of an othersubr may be part of a
2127 subroutine.
2128 Handle unknown othersubrs gracefully: count their operands and let
2129 the following pop operators push the operands as the results onto
2130 the Type1 stack.
2131 Improve handling of setcurrentpoint opcode.
2132
Werner Lembergc011f4c2006-06-26 09:40:00 +000021332006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2134
2135 The Type 1 parser now skips over top-level procedures as required
2136 for a `Simplified Parser'. This makes the parser more robust as it
2137 doesn't poke around in PostScript code. Additionally, it makes the
2138 FontDirectory hackery in src/type1/t1load.c unnecessary.
2139
2140 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2141 (skip_literal_string): Add FT_Error as return value.
2142 Handle escapes better.
2143 (skip_string): Add FT_Error as return value.
2144 Don't set `parser->error' but return error code directly.
2145 (skip_procedure): New function.
2146 (ps_parser_skip_PS_token): Handle procedures.
2147 Update code.
2148 (ps_parser_to_token): Update code.
2149 (ps_parser_load_field_table): Handle bbox entries also.
2150
2151 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2152 Add commented-out code for synthetic fonts.
2153
Werner Lemberga2da05c2006-06-25 06:27:27 +000021542006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2155
2156 Fix two hinting bugs as reported in
2157 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2158
2159 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2160 `first_point' member.
2161
2162 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2163 `first_point'.
2164 (TT_Process_Composite_Glyph): Always untouch points.
2165
2166 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2167 `first_point' and `last_point' in case of composite glyphs.
2168 (Ins_IUP): Fix computation of `end_point'.
2169
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000021702006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2171
Werner Lembergef3d2c22006-06-25 06:07:14 +00002172 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2173 Mac. The original patch was written by David Sachitano and Lawrence
2174 Coopet, and modified by Sean McBride for MPW compatibility. Only
2175 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002176
Werner Lembergef3d2c22006-06-25 06:07:14 +00002177 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2178 Mac OS X platforms.
2179 (OS_INLINE): Undefine before definition.
2180 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2181 FontAssociation table in FOND resource.
2182 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2183 and fontSize at each entry of FontAssociation table in FOND
2184 resource.
2185 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2186 ffStylOff of FamilyRecord header of FOND resource, the header,
2187 fontSize, fontID at each entry of FontAssociation table, and
2188 StyleMapping table.
2189 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002190
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000021912006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2192
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002193 Public API of TrueTypeGX, OpenType, and classic kern table validator
2194 should return `FT_Err_Unimplemented_Feature' if validation service
2195 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002196 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002197 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2198
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002199 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2200 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2201 unavailable.
2202 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2203 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002204
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002205 * src/base/ftotval.c (FT_OpenType_Validate): Return
2206 FT_Err_Unimplemented_Feature if OpenType validation service is
2207 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002208
Werner Lembergb10e45a2006-06-08 07:32:56 +000022092006-06-08 Werner Lemberg <wl@gnu.org>
2210
2211 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2212 errors.
2213
David Turner5f1f7502006-06-07 05:11:50 +000022142006-06-07 David Turner <david@freetype.org>
2215
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002216 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2217 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2218 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002219
David Turner457b4a82006-06-06 08:14:14 +000022202006-06-06 David Turner <david@freetype.org>
2221
Werner Lemberg4836f952006-06-06 12:54:08 +00002222 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002223
Werner Lemberg4836f952006-06-06 12:54:08 +00002224 We change `ps_unicodes_init' so that it also takes a
2225 `free_glyph_name' callback to release the glyph names returned by
2226 `get_glyph_name'
2227
2228 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2229 Renamed to ...
2230 (PS_GetGlyphNameFunc): This.
2231 (PS_FreeGlyphNameFunc): New typedef.
2232 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2233
2234 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2235 argument.
2236 (cff_sid_free_glyph_name): New function.
2237 (cff_cmap_unicode_init): Updated.
2238
2239 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2240
2241 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2242 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002243
2244
David Turner09717352006-06-04 14:33:08 +000022452006-06-04 David Turner <david@freetype.org>
2246
Werner Lembergd724f202006-06-04 15:17:41 +00002247 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2248 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002249 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002250
Werner Lembergd724f202006-06-04 15:17:41 +00002251 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2252 of `face->num_glyphs' which missed the last glyph, due to
2253 the offset-by-1 computation, since the PFR format doesn't
2254 guarantee that glyph index 0 corresponds to the `missing
2255 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002256
Werner Lemberg33779662006-05-26 06:30:05 +000022572006-05-25 Werner Lemberg <wl@gnu.org>
2258
2259 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2260 `-no-undefined'. Reported by Christian Biesinger.
2261
Werner Lemberg24773d62006-05-20 08:53:13 +000022622006-05-19 Brian Weed <bw@imaginengine.com>
2263
2264 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2265 have debug information, and debug libraries use `C7 compatible'
2266 debug info.
2267
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000022682006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2269
Werner Lemberga6523a62006-05-20 08:47:01 +00002270 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002271 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002272
Werner Lemberga6523a62006-05-20 08:47:01 +00002273 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2274 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002275
2276 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002277 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002278
22792006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2280
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002281 * build/unix/configure.raw: Add a fallback to disable Carbon
2282 dependency, if configured with no options on Mac OS X.
2283
22842006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2285
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002286 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002287 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002288 the second part of Savannah bug #16590.
2289
Werner Lemberg545c4e52006-05-17 22:55:04 +000022902006-05-18 Werner Lemberg <wl@gnu.org>
2291
2292 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2293 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2294
David Turnerdc3ff312006-05-17 12:59:35 +000022952006-05-17 David Turner <david@freetype.org>
2296
Werner Lemberg545c4e52006-05-17 22:55:04 +00002297 This is a major patch used to drastically improve the performance of
2298 loading glyphs. This both speeds up loading the glyph vectors
2299 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002300
Werner Lemberg545c4e52006-05-17 22:55:04 +00002301 We now use inline assembler code with GCC to implement `FT_MulFix',
2302 which is probably the most important function related to the
2303 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002304
Werner Lemberg545c4e52006-05-17 22:55:04 +00002305 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002306
2307
Werner Lemberg545c4e52006-05-17 22:55:04 +00002308 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2309 `cursor' and `limit'.
2310
2311 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2312 New functions.
2313 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2314 [TEST]: Remove.
2315
2316 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2317 code.
2318
2319 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2320 `FT_ZERO'
2321 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2322 (af_glyph_hints_reload: Rewrite recognition of weak points.
2323
2324 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2325 constant values out of the loops.
2326
2327 * src/autofit/aftypes.h: Updated.
2328
2329 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2330
2331 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2332 product to get orientation.
2333
2334 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2335 (FT_Stream_OpenGzip): Use it to handle small files directly in
2336 memory.
2337
2338 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2339 Improve performance.
2340
2341 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2342 `limit'.
2343
2344 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2345 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2346 exceedingly large values of number of contours. Speed up by
2347 reducing the number of loops.
2348
2349 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2350
2351
2352 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2353 used to detect rogue clients from 4 to 16. This is to prevent some
2354 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2355 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002356
Werner Lembergde2d90a2006-05-17 08:54:30 +000023572007-05-17 Werner Lemberg <wl@gnu.org>
2358
2359 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002360 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002361
23622006-05-16 Werner Lemberg <wl@gnu.org>
2363
2364 * docs/PROBLEMS: Updated icl issues.
2365
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002366----------------------------------------------------------------------------
2367
Werner Lemberg42b63b22007-01-21 21:01:33 +00002368Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002369David Turner, Robert Wilhelm, and Werner Lemberg.
2370
2371This file is part of the FreeType project, and may only be used, modified,
2372and distributed under the terms of the FreeType project license,
2373LICENSE.TXT. By continuing to use, modify, or distribute this file you
2374indicate that you have read the license and understand and accept it
2375fully.
2376
2377
2378Local Variables:
2379version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002380coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002381End: