blob: b3b4a961caddacde6582c2a18e9f38e2ecf22cb2 [file] [log] [blame]
Werner Lemberg5b4d4352007-06-20 07:07:55 +000012007-06-20 Werner Lemberg <wl@gnu.org>
2
3 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
4 change.
5
Werner Lemberg9fe58152007-06-19 07:57:30 +000062007-06-19 Werner Lemberg <wl@gnu.org>
7
8 * src/type1/t1load.c (parse_encoding): Handle one more error.
9
Werner Lemberg5a829392007-06-19 04:53:30 +0000102007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
11
12 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
13 FNT_Err_Invalid_File_Format if file format was recognized but
14 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
15 Add verbose debug logs to make it easier to debug failing load
16 attempts.
17 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
18 so return an error if requested face index is > 0.
19 Do not do further attempt to load fonts if a previous attempt has
20 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
21 file format has been recognized but no fonts found in the file.
22
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000232007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
24
25 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
26 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
27 the compiler warnings against unused arguments.
28 (FT_ATSFontGetFileReference): Ditto.
29 (FT_GetFile_From_Mac_ATS_Name): Ditto.
30 (FT_New_Face_From_FSSpec): Ditto.
31 (lookup_lwfn_by_fond): Fix wrong comment.
32 Replace `const StringPtr' by more appropriate type
33 `ConstStr255Param'.
34 FSRefMakePathPath always returns UTF8 POSIX pathname in
35 Mach-O, thus HFS pathname support is dropped.
36 (count_faces): Remove HLock and HUnlock which is not
37 required on Mac OS X anymore.
38 (FT_New_Face_From_SFNT): Ditto.
39 (FT_New_Face_From_FOND): Ditto.
40 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
41 except of HFS pathname support and HLock/HUnlock.
42 They are required on classic CFM environment.
43
442007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +000045
Werner Lembergf9fa1c82007-06-18 17:00:05 +000046 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
47 assertion.
48 (ps_parser_to_bytes): Fix error message.
49
Werner Lembergbb2510d2007-06-18 17:07:49 +000050 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000051 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
52 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +000053 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +000054 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +000055
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000562007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +000057
Werner Lembergf48aec72007-06-18 07:07:55 +000058 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
59 logic.
60 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
61 correctly.
62 (ps_parser_load_field_table): Use `fields->array_max' instead of
63 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
64
Werner Lemberg95104a42007-06-18 07:33:10 +000065 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
66 2007-06-06.
67
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000682007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +000069
70 * src/tools/ftrandom.c (font_size): New global variable.
71 (TestFace): Use it.
72 (main): Handle new option `--size' to set `font_size'.
73 (Usage): Updated.
74
Werner Lembergbe183eb2007-06-17 11:27:17 +000075 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
76 invalid font.
77 (FNT_Load_Glyph): Protect against invalid bitmap width.
78
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000792007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +000080
Werner Lemberge12ed562007-06-17 05:31:23 +000081 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
82 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +000083
Werner Lemberge12ed562007-06-17 05:31:23 +000084 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
85 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +000086
Werner Lemberge12ed562007-06-17 05:31:23 +000087 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
88 and `zp2'.
89 (Ins_IP): Check argument ranges to reject bogus operations properly.
90 (IUP_WorkerRec): Add `max_points' member.
91 (_iup_worker_interpolate): Check argument ranges.
92 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +000093
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +0000942007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +000095
96 * src/winfonts/winfnt.h: Add necessary structures for PE resource
97 parsing.
98 (WinPE32_HeaderRec): New structure.
99 (WinPE32_SectionRec): New structure.
100 (WinPE_RsrcDirRec): New structure.
101 (WinPE_RsrcDirEntryRec): New structure.
102 (WinPE_RsrcDataEntryRec): New structure.
103 (FNT_FontRec): Remove unused `size_shift' field.
104
105 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
106 loading bitmap .fon files in PE format.
107
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001082007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000109
110 * builds/win32/ftdebug.c: Unify debug level handling with other
111 platforms.
112
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001132007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000114
115 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
116 console as well as to the debugger.
117
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001182007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000119
120 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
121 cover all ranges which could possibly be handled by the aflatin
122 module (since the default fallback for unknown ranges is now the
123 afcjk module). It might be necessary to fine-tune this further by
124 splitting off modules for Greek, Cyrillic, or other blocks.
125
David Turnerb7920172007-06-11 05:37:35 +00001262007-06-11 David Turner <david@freetype.org>
127
Werner Lemberg49e18b82007-06-11 21:15:09 +0000128 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
129 incorrect segment linking computation. This was the root cause of
130 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000131
132
Werner Lemberg49e18b82007-06-11 21:15:09 +0000133 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
134 to improve the Latin auto-hinter. Note that the new code is
135 disabled by default since it is not stabilized yet.
136
137 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
138 (disabled currently).
139
140 * src/autofit/afhints.c: Remove dead code.
141 (af_axis_hints_new_edge): Add argument to handle segment directions.
142 (af_edge_flags_to_string): New function.
143 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
144 option flags.
145 (af_glyph_hints_reload): Add argument to handle inflections.
146 Simplify.
147 (af_direction_compute): Fine tuning.
148 (af_glyph_hints_align_edge_points): Fix logic.
149 (af_glyph_hints_align_strong_points): Do linear search for small
150 edge counts.
151 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
152 (af_iup_shift): Handle zero `delta'.
153
154 * src/autofit/afhints.h: Updated.
155 (AF_SORT_SEGMENTS): New macro (disabled).
156 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
157
158 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
159 argument to pass option flags for handling scripts.
160 * src/autofit/afglobal.h: Updated.
161
162 * src/autofit/afcjk.c: Updated.
163 * src/autofit/aflatin.c: Updated.
164 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
165
166 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
167 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
168 Don't set `edge->dir'
169 (af_latin_hint_edges): Add more logging.
170
171 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000172
Werner Lembergf6c120f2007-06-11 04:55:58 +00001732007-06-11 Werner Lemberg <wl@gnu.org>
174
Werner Lembergcf7b7642007-06-11 04:58:01 +0000175 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000176
David Turner84c6f882007-06-10 20:51:04 +00001772007-06-10 David Turner <david@freetype.org>
178
Werner Lembergf6c120f2007-06-11 04:55:58 +0000179 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
180 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000181
Werner Lembergf6c120f2007-06-11 04:55:58 +0000182 * include/freetype/config/ftoption.h: Clarify documentation
183 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000184
Werner Lembergf6c120f2007-06-11 04:55:58 +0000185
186 Add new `FT_Face_CheckTrueTypePatents' API.
187
188 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
189 declaration.
190
191 * include/freetype/internal/services/svttglyf.h,
192 src/base/ftpatent.c: New files.
193
194 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
195 New macro.
196
197 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
198 `ttpload.h'.
199 (tt_service_truetype_glyf): New service structure.
200 (tt_services): Register it.
201
202 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
203 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000204
Werner Lemberg33db39e2007-06-08 06:30:29 +00002052007-06-08 Werner Lemberg <wl@gnu.org>
206
David Turner84c6f882007-06-10 20:51:04 +0000207 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000208 Fonts without a cmap must be handled correctly by FreeType (anything
209 else would be a bug).
210
211
212 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
213 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
214
Werner Lemberg88ab6382007-06-07 05:01:56 +00002152007-06-07 Werner Lemberg <wl@gnu.org>
216
217 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
218 tt_sbit_decoder_load_image): Protect against integer overflows.
219
220
221 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
222 for `x_control' and `y_control'.
223
Werner Lemberg2a2dca62007-06-06 04:39:37 +00002242007-06-06 Werner Lemberg <wl@gnu.org>
225
226 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
227
Werner Lemberga8d65492007-06-06 04:47:49 +0000228
229 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
230 FreeType error.
231
Werner Lemberg470210b2007-06-06 10:05:49 +0000232
233 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
234 `font_count'.
235
236
237 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
238
239
240 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
241 `FT_Error'.
242 Check `fd_index'.
243 (cff_slot_load): Updated.
244 * src/cff/cffgload.h: Updated.
245
Werner Lemberg6c054752007-06-05 05:27:54 +00002462007-06-05 Werner Lemberg <wl@gnu.org>
247
248 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
249 (pfr_glyph_load_simple): Convert assertion into normal FreeType
250 error.
251 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000252 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
253 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000254
255 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
256
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000257
Werner Lemberg470210b2007-06-06 10:05:49 +0000258 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000259
Werner Lemberge5c14d92007-06-05 20:50:37 +0000260
261 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
262 in case of parsing error.
263 (ps_parser_load_field): Updated.
264
265 * src/type1/t1load.c (parse_font_matrix): Updated.
266
Werner Lembergad18b362007-06-04 07:04:05 +00002672007-06-04 Werner Lemberg <wl@gnu.org>
268
269 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
270
271 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
272
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002732007-06-03 Werner Lemberg <wl@gnu.org>
274
Werner Lemberg99a320b2007-06-03 19:21:26 +0000275 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
276 George Williams (with some modifications).
277
2782007-06-03 Werner Lemberg <wl@gnu.org>
279
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000280 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
281 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
282 face == NULL. Suggested by Graham Asher.
283
Werner Lembergce280a22007-06-03 05:58:30 +00002842007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
285
286 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
287
Werner Lemberg5b591e42007-06-01 22:16:43 +00002882007-06-02 Werner Lemberg <wl@gnu.org>
289
290 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
291 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
292
293 * src/bdf/bdflib.c (bdf_load_font): Use them.
294
295 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
296
Werner Lembergb9933f42007-06-01 21:27:12 +00002972007-06-01 Werner Lemberg <wl@gnu.org>
298
299 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
300 (FTC_CMapCache_Lookup): Remove unused code.
301
Werner Lembergc793d902007-06-01 20:51:11 +00003022007-06-01 Sean McBride <sean@rogue-research.com>
303
304 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
305 unused.
306
Werner Lembergbebc7b12007-06-01 06:32:30 +00003072007-06-01 Werner Lemberg <wl@gnu.org>
308
309 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
310 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000311 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000312
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000313 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
314 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
315
Werner Lembergba03af62007-05-30 13:57:02 +00003162007-05-30 Werner Lemberg <wl@gnu.org>
317
318 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
319 against too small binary data strings.
320
321 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
322
David Turnerf0cd69c2007-05-28 15:42:09 +00003232007-05-28 David Turner <david@freetype.org>
324
Werner Lemberg99e0c182007-05-29 07:00:23 +0000325 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
326 transformation. This significantly reduces the loading time of CFF
327 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000328
Werner Lemberg99e0c182007-05-29 07:00:23 +0000329 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000330
Werner Lemberg99e0c182007-05-29 07:00:23 +0000331 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
332 hinting script to CJK, since it works well with more scripts than
333 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
334 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000335
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003362007-05-25 Werner Lemberg <wl@gnu.org>
337
338 * docs/CHANGES: Updated.
339
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00003402007-05-24 Werner Lemberg <wl@gnu.org>
341
342 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
343 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
344
3452007-05-24 Graham Asher <graham.asher@btinternet.com>
346
347 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
348 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
349
David Turner0d0365e2007-05-22 09:53:44 +00003502007-05-22 David Turner <david@freetype.org>
351
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000352 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
353 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000354
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000355
356 Avoid heap blowup with very large .Z font files. This fixes
357 Savannah bug #19910.
358
359 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
360 `in_limit', `pad', `pad_bits', and `in_buff' members.
361 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
362 `buf_total' members.
363
364 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
365 only one argument.
366 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000367
3682007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000369
370 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
371 (ps_dimension_set_mask_bits): Remove `const'.
372
David Turner0d0365e2007-05-22 09:53:44 +00003732007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000374
375 * src/sfnt/ttmtx.c (tt_face_get_metrics)
376 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
377
Werner Lembergb826fa72007-05-19 07:18:48 +00003782007-05-19 Derek Clegg <dclegg@apple.com>
379
380 Savannah patch #5929.
381
382 * include/freetype/tttables.h, src/base/ftobjcs.c
383 (FT_Get_CMap_Format): New function.
384
385 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
386 `format' member.
387 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
388 cmap_info->format.
389
Werner Lemberg6f99c882007-05-19 07:01:49 +00003902007-05-19 Werner Lemberg <wl@gnu.org>
391
392 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
393 before handling subglyphs so that it can be reinitialized each time.
394 This fixes Savannah bug #19859.
395
Werner Lemberg95bc9d32007-05-16 15:19:42 +00003962007-05-16 Werner Lemberg <wl@gnu.org>
397
398 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
399 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
400 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
401 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
402 tt_face_get_metrics): Fix type-punning issues.
403
David Turner0a24bd22007-05-15 10:54:10 +00004042007-05-15 David Turner <david@freetype.org>
405
406 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000407 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
408 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000409 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000410 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000411
Werner Lemberg607dec72007-05-15 06:49:37 +00004122007-05-15 Graham Asher <graham.asher@btinternet.com>
413
414 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
415 variable.
416 * src/autofit/afloader.c (af_loader_load_g): Ditto.
417
418 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
419 (open_face_from_buffer): Initialize `stream'.
420 (FT_Request_Metrics): Remove unused variable.
421 Remove redundant `break' statements.
422 (FT_Get_Track_Kerning): Remove unused variable.
423
424 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
425 afm_parse_kern_data): Remove redundant
426 `break' statements.
427 (afm_parser_parse): Ditto.
428 Don't use uninitialized variables.
429
430 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
431 Use `|' operator instead of `^' to set it.
432 Update all users.
433
434 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
435 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
436
437 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
438 comparison.
439 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
440 (TT_Load_Glyph): Remove unused variable.
441
Werner Lemberg8d463a52007-05-13 16:01:55 +00004422007-05-13 Derek Clegg <dclegg@apple.com>
443
444 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
445 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
446
David Turner711cf842007-05-11 14:36:24 +00004472007-05-11 David Turner <david@freetype.org>
448
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000449 * src/cache/ftbasic.c, include/freetype/ftcache.h
450 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
451 functions that allow us to look up glyphs using an FTC_Scaler object
452 to specify the size, making it possible to use fractional pixel
453 sizes.
454
455 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
456 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000457
Werner Lemberg94be20e2007-05-09 20:02:55 +00004582007-05-09 Graham Asher <graham.asher@btinternet.com>
459
460 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
461 (af_latin_metrics_scale_dim): Fix compiler warnings.
462
Werner Lemberg41271032007-05-06 04:51:48 +00004632007-05-06 Werner Lemberg <wl@gnu.org>
464
465 * builds/win32/visualce/freetype.sln: Removed, as requested by
466 Vincent.
467
Werner Lembergdf49e692007-05-04 06:30:05 +00004682007-05-04 Vincent RICHOMME <richom.v@free.fr>
469
470 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
471 PC targets.
472
473 * docs/CHANGES: Document them.
474
4752007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000476
477 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
478 mmap (which might happen on some RTOS). From Savannah patch #5909.
479
Werner Lemberg106eaf12007-05-03 07:07:47 +00004802007-05-03 Werner Lemberg <wl@gnu.org>
481
482 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
483 * include/freetype/freetype.h (FT_Set_Char_Size): Update
484 documentation.
485
Werner Lemberg1b5267d2007-04-28 21:06:15 +00004862007-04-28 Victor Stinner <victor.stinner@inl.fr>
487
488 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
489 `cmap'.
490
Werner Lembergcc712a22007-04-27 17:16:50 +00004912007-04-27 Werner Lemberg <wl@gnu.org>
492
493 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
494 number of points in contours. Problem reported by Victor Stinner
495 <victor.stinner@haypocalc.com>.
496 (TT_Process_Simple_Glyph): Synchronize variable types.
497
Werner Lemberg45bb18f2007-04-26 06:26:35 +00004982007-04-26 Werner Lemberg <wl@gnu.org>
499
500 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
501 zero in case of error. This fixes Savannah bug #19689.
502
David Turnera8b45e62007-05-11 14:10:30 +00005032007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
504
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000505 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
506 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000507
Werner Lembergfcc1f472007-04-10 11:51:50 +00005082007-04-10 Martin Horak <horakm@centrum.cz>
509
510 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
511 Ignore `hhea' table. This fixes Savannah bug #19261.
512
Werner Lemberg14bf82e2007-04-10 04:09:49 +00005132007-04-09 Werner Lemberg <wl@gnu.org>
514
515 * Version 2.3.4 released.
516 =========================
517
518
519 Tag sources with `VER-2-3-4'.
520
521 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
522 version number to 2.3.4.
523
524 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
525 builds/win32/visualc/freetype.dsp,
526 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
527
528 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
529
530 * builds/unix/configure.raw (version_info): Set to 9:15:3.
531
Werner Lembergf4a52a62007-04-09 08:40:11 +00005322007-04-09 Martin Horak <horakm@centrum.cz>
533
534 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
535 memory stream to avoid a crash with the incremental memory
536 interface (Savannah bug #19260).
537
David Turner1dcb4442007-04-06 08:19:04 +00005382007-04-06 David Turner <david@freetype.org>
539
Werner Lembergc81cf612007-04-06 09:28:23 +0000540 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
541 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000542
Werner Lemberg9f83e052007-04-05 02:28:23 +00005432007-04-04 Werner Lemberg <wl@gnu.org>
544
545 * Version 2.3.3 released.
546 =========================
547
548
549 Tag sources with `VER-2-3-3'.
550
551 * docs/CHANGES: Mention CVE-2007-1351.
552
David Turner7338ec22007-04-03 14:30:34 +00005532007-04-03 David Turner <david@freetype.org>
554
555 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000556 if one of the resolution values is 0, treat it as if it were the
557 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000558
David Turnere6472c12007-04-02 13:13:54 +00005592007-04-02 David Turner <david@freetype.org>
560
Werner Lemberg94f12272007-04-03 07:19:53 +0000561 Add special code to detect `extra-light' fonts and do not snap their
562 stem widths too much to avoid bizarre hinting effects.
563
564 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
565 `extra_light' members.
566
567 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
568 them.
569 (af_latin_metrics_scale_dim): Set `extra_light'.
570 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000571
David Turner3f539692007-03-28 14:53:40 +00005722007-03-28 David Turner <david@freetype.org>
573
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000574 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000575 padding.
576
Werner Lemberga08b2172007-03-28 07:17:17 +00005772007-03-28 Werner Lemberg <wl@gnu.org>
578
579 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
580 gracefully.
581 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000582 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000583 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
584 number of code points in Unicode.
585
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000586 * builds/win32/visualc/index.html,
587 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000588 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000589 s/232/233/.
590
591 * docs/CHANGES: Mention ftdiff.
592
David Turner3b242d32007-03-26 12:03:04 +00005932007-03-26 David Turner <david@freetype.org>
594
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000595 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
596 corresponding code.
597 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000598
Werner Lemberga08b2172007-03-28 07:17:17 +0000599 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000600 computations in order to ignore single-point contours. These are
601 never rasterized and correspond in certain fonts to mark-attach
602 points that are very far from the glyph's real outline, ruining the
603 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000604
Werner Lemberga08b2172007-03-28 07:17:17 +0000605 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000606 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000607 Otherwise code that uses them will most certainly ruin the fixed
608 advance property.
David Turner23553d62007-03-26 13:37:17 +0000609
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000610 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
611 documentation and bump version number to 2.3.3.
612
613 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
614
615 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000616
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00006172007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
618
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000619 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
620 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000621 * builds/vms/ftconfig.h: Ditto.
622 * include/freetype/config/ftconfig.h: Ditto.
623
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00006242007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
625
Werner Lemberg14ffe092007-03-22 06:12:43 +0000626 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
627 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000628 proposed by Sean McBride:
629 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
630
6312007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
632
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000633 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
634 setjmp, proposed by Sean McBride:
635 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
636
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00006372007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
638
Werner Lembergc9f6c662007-03-21 13:30:14 +0000639 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
640 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
641 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000642
David Turner74c34eb2007-03-18 07:19:31 +00006432007-03-18 David Turner <david@freetype.org>
644
Werner Lembergc9f6c662007-03-21 13:30:14 +0000645 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
646 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000647
Werner Lembergc9f6c662007-03-21 13:30:14 +0000648 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000649
David Turner89020d92007-03-17 17:48:57 +00006502007-03-17 David Turner <david@freetype.org>
651
Werner Lembergc9f6c662007-03-21 13:30:14 +0000652 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
653 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000654
Werner Lemberg25d592a2007-03-09 07:59:35 +00006552007-03-09 Werner Lemberg <wl@gnu.org>
656
657 * Version 2.3.2 released.
658 =========================
659
660
661 Tag sources with `VER-2-3-2'.
662
663 * builds/win32/visualc/index.html,
664 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000665 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000666 s/231/232/.
667
David Turner3a51afa2007-03-08 10:50:38 +00006682007-03-08 David Turner <david@freetype.org>
669
Werner Lemberg25d592a2007-03-09 07:59:35 +0000670 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000671
Werner Lemberg25d592a2007-03-09 07:59:35 +0000672 * builds/unix/configure.raw (version_info): Set to 9:13:3.
673
674 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
675
676 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000677
Werner Lemberg1e259de2007-03-08 15:39:21 +0000678 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
679 function to work properly, over-writing user-provided buffers in
680 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000681
David Turner121cad52007-03-08 16:43:50 +0000682
Werner Lemberg3d92f082007-03-06 11:59:24 +00006832007-03-05 Werner Lemberg <wl@gnu.org>
684
685 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
686 macro for `strstr'.
687
688 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
689 `trick_names', as suggested by Ivan Nincic.
690
David Turner085bc6e2007-03-05 17:40:03 +00006912007-03-05 David Turner <david@freetype.org>
692
Werner Lembergd112cf02007-03-06 12:06:56 +0000693 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
694 case FT_Init_FreeType fails for some reason. Problem reported by
695 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000696
Werner Lembergd112cf02007-03-06 12:06:56 +0000697 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
698 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
699 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
700 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000701
Werner Lembergd112cf02007-03-06 12:06:56 +0000702 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
703 signed values, not unsigned ones. Problem reported by Johannes
704 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000705
David Turner601aefe2007-02-21 16:47:49 +00007062007-02-21 David Turner <david@freetype.org>
707
Werner Lembergde5e6862007-02-25 21:06:43 +0000708 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
709 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000710
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00007112007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
712
713 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
714 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
715 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
716
Werner Lemberga0915172007-02-16 08:12:50 +00007172007-02-16 Werner Lemberg <wl@gnu.org>
718
719 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
720 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
721
David Turner2c4500e2007-02-14 15:08:47 +00007222007-02-14 David Turner <david@freetype.org>
723
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000724 It seems that the following changes fix most of the known
725 interpreter problems with my fonts, but more testing is needed,
726 though.
727
728 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
729 (TT_MulFix14): Rewrite.
730 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
731 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000732
Werner Lembergc6a14082007-02-12 22:08:15 +00007332007-02-12 Werner Lemberg <wl@gnu.org>
734
735 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
736 warnings.
737
738 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
739 (bdf_interpret_style): Ditto.
740
David Turnerc0f9c4a2007-02-12 14:55:03 +00007412007-02-12 David Turner <david@freetype.org>
742
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000743 Simplify projection and dual-projection code interface.
744
Werner Lemberg406d25f2007-02-12 22:01:18 +0000745 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
746 FT_Vector' as argument type.
747 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
748 Updated.
749 (CUR_fast_project, CUR_fast_dualproj): New macros.
750 (Project, Dual_Project, Project_x, Project_y): Updated.
751 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
752 macros.
753
754
755 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
756 adjustments for the non-light auto-hinted modes. Gets rid of
757 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000758
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000759 * src/autofit/aflatin.c (af_latin_hints_link_segments,
760 af_latin_hints_compute_edges): Slight optimization of the segment
761 linker and better handling of serif segments to get rid of broken
762 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000763
David Turnerc0f9c4a2007-02-12 14:55:03 +0000764
Werner Lemberg442bfb82007-02-12 21:44:10 +0000765 Introduce new string functions and the corresponding macros to get
766 rid of various uses of strcpy and other `evil' functions, as well as
767 to simplify a few things.
768
769 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
770 ft_mem_strcpyn): New declarations.
771 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
772 macros.
773 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
774 functions.
775
776 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
777 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
778 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
779 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
780 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
781 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
782 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
783 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000784
Werner Lemberg406d25f2007-02-12 22:01:18 +0000785 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
786
Werner Lemberg582067d2007-02-11 15:03:05 +00007872007-02-11 Werner Lemberg <wl@gnu.org>
788
789 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
790 non-spacing glyphs.
791
Werner Lemberg8f474532007-02-07 08:31:01 +00007922007-02-07 Tom Parker <palfrey@tevp.net>
793
794 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
795 pointer.
796
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00007972007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
798
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000799 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
800 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000801 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000802 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
803 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
804 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
805 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000806
807 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
808 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000809 * builds/mac/ftmac.c: Ditto.
810
8112007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
812
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000813 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000814 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000815 #include <ftmac.c>.
816
8172007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
818
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000819 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
820 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
821 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
822 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
823 FT_GetFilePath_From_Mac_ATS_Name.
824 * builds/mac/ftmac.c: Ditto.
825
8262007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
827
Werner Lembergdcbb7082007-02-08 08:54:09 +0000828 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000829 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
830 for passing to FT_New_Face_From_FSSpec.
831
8322007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
833
Werner Lembergdcbb7082007-02-08 08:54:09 +0000834 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000835 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000836
837 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
838 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000839 * builds/mac/ftmac.c (OS_INLINE): Ditto.
840
Werner Lemberg313d7772007-02-01 08:10:45 +00008412007-02-01 Werner Lemberg <wl@gnu.org>
842
843 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
844 Explain why applications shouldn't use it. Found by Alexei.
845
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008462007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000847
848 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
849 message.
850
851 * src/gxvalid/gxvmort1.c
852 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
853 message.
854
Werner Lemberg53935932007-01-31 08:53:02 +00008552007-01-31 Werner Lemberg <wl@gnu.org>
856
857
858 * Version 2.3.1 released.
859 =========================
860
861
862 Tag sources with `VER-2-3-1-FINAL'.
863
864 * builds/win32/visualc/freetype.dsp,
865 builds/win32/visualc/freetype.vcproj: s/230/231/.
866 * builds/win32/visualc/index.html: s/221/231/.
867
868 * vms_make.com: Add `ftgasp'.
869
David Turnera7ee6082007-01-30 10:33:53 +00008702007-01-30 David Turner <david@freetype.org>
871
Werner Lemberg53935932007-01-31 08:53:02 +0000872 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000873
Werner Lemberg53935932007-01-31 08:53:02 +0000874 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000875
Werner Lemberg25d592a2007-03-09 07:59:35 +0000876 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000877 s/2.3.0/2.3.1/.
878
879 * builds/unix/configure.raw (version_info): Set to 9:12:3.
880
881
882 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
883 (af_loader_load_g): Disable the warper (i.e., the light hinting
884 improvements) to make a 2.3.1 bugfix release before introducing a
885 new feature. This should give us more time to tune and improve the
886 warper for the next release.
887
888 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000889
David Turnerd91eebd2007-01-26 15:05:41 +00008902007-01-25 David Turner <david@freetype.org>
891
Werner Lembergbf241762007-01-26 16:08:49 +0000892 For light auto-hinting, improve glyph advance widths and resurrect
893 normal/full hinting to its normal quality.
894
895 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
896 and `xmax_delta'.
897 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
898 and `xmax_delta'.
899
900 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
901 preprocessor conditional with if-clause, handling both light and
902 normal mode.
903
904 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
905 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000906
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00009072007-01-25 Werner Lemberg <wl@gnu.org>
908
909 * docs/release: Updated -- Savannah uses a new uploading scheme.
910
David Turnera42567b2007-01-25 12:23:37 +00009112007-01-25 David Turner <david@freetype.org>
912
Werner Lembergd7855662007-01-25 13:53:56 +0000913 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000914
Werner Lembergd7855662007-01-25 13:53:56 +0000915 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
916 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
917 functions.
David Turnera42567b2007-01-25 12:23:37 +0000918
Werner Lembergd7855662007-01-25 13:53:56 +0000919 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000920
Werner Lembergb1be9e82007-01-25 11:50:00 +00009212007-01-25 Werner Lemberg <wl@gnu.org>
922
923 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000924 correctly in a sanity check. Since this function is only used to
925 load local and global functions, any charstring that called the last
926 local/global function would fail otherwise. This fixes Savannah bug
927 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000928
929 * docs/CHANGES: Document it.
930
David Turnerb6de8d12007-01-23 15:51:50 +00009312007-01-23 David Turner <david@freetype.org>
932
Werner Lembergb1be9e82007-01-25 11:50:00 +0000933 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
934 prevented compilation when disabling both the unpatented and the
935 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000936
Werner Lembergb1be9e82007-01-25 11:50:00 +0000937
938 Fix and enable the warper to improve `light' hinting mode. This is
939 not necessarily a final version, but it seems to work well.
940
941 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
942 Disable code.
943 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
944 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
945
946 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
947 (af_warper_compute_line_best): Fix array size of `scores'.
948 (af_warper_compute): Better handling of border cases.
949 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
950 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000951
Werner Lemberg011d1112007-01-21 09:36:00 +00009522007-01-21 Werner Lemberg <wl@gnu.org>
953
Werner Lemberg42b63b22007-01-21 21:01:33 +0000954 * ChangeLog: Split off older entries into...
955 * ChangeLog.22: This new file.
956
9572007-01-21 Werner Lemberg <wl@gnu.org>
958
Werner Lemberg555258f2007-01-21 09:46:37 +0000959 * docs/CHANGES: Document SHZ fix.
960
9612007-01-21 George Williams <gww@silcom.com>
962
963 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
964 points.
965
9662007-01-21 Werner Lemberg <wl@gnu.org>
967
Werner Lemberg011d1112007-01-21 09:36:00 +0000968 * src/sfnt/ttmtx.c (tt_face_get_metrics)
969 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
970
Werner Lemberg87a5a432007-01-17 12:44:39 +00009712007-01-17 Werner Lemberg <wl@gnu.org>
972
Werner Lembergb8003292007-01-17 12:56:25 +0000973
974 * Version 2.3.0 released.
975 =========================
976
977
978 Tag sources with `VER-2-3-0-FINAL'.
979
9802007-01-17 Werner Lemberg <wl@gnu.org>
981
Werner Lemberg87a5a432007-01-17 12:44:39 +0000982 * docs/release: Updated.
983
David Turner22122722007-01-16 20:06:44 +00009842007-01-16 David Turner <david@freetype.org>
985
Werner Lemberg87a5a432007-01-17 12:44:39 +0000986 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
987 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
988 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
989 warnings.
David Turner22122722007-01-16 20:06:44 +0000990
Werner Lemberg267e1d72007-01-15 07:48:09 +00009912007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
992
993 * builds/amiga/makefile, builds/amiga/makefile.os4,
994 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
995
996 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
997
Werner Lemberg8c4120d2007-01-15 06:42:40 +00009982007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
999
1000 Fix various compiler warnings.
1001
1002 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
1003 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
1004 s/index/strike_index/.
1005 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1006
1007 * src/gxvalid/gxvmorx5.c
1008 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1009
1010 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1011 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1012 uninitialized variables.
1013
Werner Lemberg6164a9d2007-01-13 23:01:36 +000010142007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1015
1016 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1017
Werner Lemberg281c1482007-01-13 22:50:51 +000010182007-01-13 Werner Lemberg <wl@gnu.org>
1019
1020 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1021 versions up to 0x3FF without complaining.
1022
Werner Lembergac250b22007-01-13 14:01:36 +000010232007-01-13 Derek Clegg <dclegg@apple.com>
1024
1025 Add FT_Get_PS_Font_Info interface to CFF driver.
1026
1027 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1028 (CFF_FontRec): Add `font_info' field.
1029
1030 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1031 (cff_font_done): Free font->font_info if necessary.
1032
1033 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1034 (cff_service_ps_info): Register cff_ps_get_font_info.
1035
Werner Lemberg23df31a2007-01-13 08:45:00 +000010362007-01-13 Werner Lemberg <wl@gnu.org>
1037
1038 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1039 with C++ compiler.
1040
1041 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1042 af_glyph_hints_dump_edges): Ditto.
1043
1044 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1045 `modules.cfg').
1046
1047 * src/sfnt/ttsbit0.h: Remove.
1048
1049 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1050
Werner Lemberg27cf9de2007-01-13 07:34:23 +000010512007-01-12 David Turner <david@freetype.org>
1052
1053 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1054 bug in the bitmap emboldener if the pitch of the source bitmap is
1055 much larger than its width.
1056
1057 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1058 compilation warning.
1059
Werner Lemberg6d96d312007-01-12 10:30:19 +000010602007-01-12 Werner Lemberg <wl@gnu.org>
1061
1062 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1063 `automake' CVS module from sources.redhat.com.
1064
Werner Lemberg17432b52007-01-12 09:28:44 +000010652007-01-11 Werner Lemberg <wl@gnu.org>
1066
1067 * src/type1/t1load.c (is_space): Removed.
1068 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1069 (parse_charstrings): Use IS_PS_TOKEN.
1070
1071
1072 * autogen.sh: Avoid bash specific syntax.
1073
David Turner038ace22007-01-11 15:00:59 +000010742007-01-11 David Turner <david@freetype.org>
1075
Werner Lemberg17432b52007-01-12 09:28:44 +00001076 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001077
Werner Lemberg17432b52007-01-12 09:28:44 +00001078 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001079
Werner Lemberg17432b52007-01-12 09:28:44 +00001080 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1081 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001082 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001083
Werner Lemberg17432b52007-01-12 09:28:44 +00001084 * autogen.sh: Small fix to get it working on Mac OS X properly:
1085 The issue is that GNU libtool is called `glibtool' on this platform,
1086 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001087
David Turner2628ea92007-01-10 13:15:56 +000010882007-01-10 David Turner <david@freetype.org>
1089
Werner Lemberg17432b52007-01-12 09:28:44 +00001090 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1091 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001092
Werner Lemberg17432b52007-01-12 09:28:44 +00001093 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1094 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1095 version number to 2.3.0.
1096
1097 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1098 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001099
1100 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001101 include/freetype/ftlcdfil.h: Update reference documentation with
1102 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001103
Werner Lemberg17432b52007-01-12 09:28:44 +00001104 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1105 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001106
Werner Lembergbf02d392007-01-10 07:07:37 +000011072007-01-10 Derek Clegg <dclegg@apple.com>
1108
1109 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1110 values.
1111
David Turnerf48b60e2007-01-08 15:15:32 +000011122007-01-08 David Turner <david@freetype.org>
1113
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001114 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001115
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001116 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1117 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001118 corresponding to a given character pixel size.
1119
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001120 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1121 `gasp' table, in order to avoid potential problems with later
1122 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001123
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001124 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1125 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001126
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001127 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1128 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1129 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1130 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001131
Werner Lemberge6b6f372007-01-07 00:06:47 +000011322007-01-07 Werner Lemberg <wl@gnu.org>
1133
Werner Lembergb8004d22007-01-07 09:13:38 +00001134 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1135 Type 11 fonts.
1136 Scan for `/sfnts' token.
1137
11382007-01-07 Werner Lemberg <wl@gnu.org>
1139
1140 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001141
Werner Lembergbe5f7972007-01-06 07:51:48 +000011422007-01-06 Werner Lemberg <wl@gnu.org>
1143
1144 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1145 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1146
David Turnera8cf42b2007-01-04 16:46:46 +000011472007-01-04 David Turner <david@freetype.org>
1148
Werner Lembergf6294392007-01-06 07:47:45 +00001149 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1150 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001151
Werner Lembergf6294392007-01-06 07:47:45 +00001152
1153 Do not allocate interpreter-specific tables in memory if we are not
1154 going to load glyphs with the bytecode interpreter anyway.
1155
1156 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1157 only if glyph is hinted.
1158 Updated.
1159 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1160 and `cvs_ready'.
1161 Add `tt_size_ready_bytecode' declaration.
1162 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1163 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1164 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1165 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1166 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001167
David Turner91a34022007-01-05 14:47:08 +00001168
Werner Lembergf6294392007-01-06 07:47:45 +00001169 Don't extract the metrics table from the SFNT font file. Instead,
1170 reparse it on each glyph load. The runtime difference is not
1171 noticeable, and it can save a lot of heap memory when memory-mapped
1172 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001173
Werner Lembergf6294392007-01-06 07:47:45 +00001174 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1175 `horz_metrics_offset' and `vert_metrics_ofset'.
1176 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1177 Updated.
1178
1179
1180 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1181
1182
1183 Do not load the CFF index offsets into memory, since this wastes a
1184 *lot* of heap memory with large Asian CFF fonts. There is no
1185 significant performance loss.
1186
1187 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1188 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1189 `data_size'.
1190 (CFF_CharsetRec): Add field `num_glyphs'.
1191
1192 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1193 cff_charset_cid_to_gindex): New functions.
1194 (cff_new_index): Renamed to...
1195 (cff_index_init): This. Update all callers.
1196 Updated -- some code has been moved to `cff_index_load_offsets'.
1197 (cff_done_index): Renamed to...
1198 (cff_index_done): This. Update all callers.
1199 (cff_index_get_pointers, cff_index_access_element): Updated to use
1200 stream offsets.
1201 (cff_charset_compute_cids): Set `num_glyphs' field.
1202 (cff_encoding_load): Updated.
1203
1204 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001205
12062007-01-04 David Turner <david@freetype.org>
1207
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001208 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1209 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001210
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001211 * README.CVS: Add common problem description and solution
1212 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001213
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001214 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001215
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001216 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001217
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001218 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001219
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001220 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1221 (TWorker): This.
1222 Remove `count_table' and `memory'.
1223 Make `grays' a pointer.
1224 (TRaster): New structure.
1225 (count_table): New static array.
1226 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1227 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1228 ft_black_set_mode, ft_black_render): Updated.
1229 (ft_black_init): Don't initialize `count_table'.
1230 (ft_black_reset): Use the render pool. This saves about 6KB of
1231 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001232
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001233 * src/smooth/ftgrays.c (TRaster): Replaced with...
1234 (TWorker): This.
1235 Remove `memory'.
1236 (TRaster): New structure.
1237
1238 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1239 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1240 gray_render_span, gray_raster_render): Updated.
1241 (gray_raster_reset): Use the render pool. This saves about 6KB of
1242 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001243
David Turner8a6c44e2007-01-04 17:03:11 +00001244 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1245 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001246 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1247 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1248 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001249
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001250 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1251 Remove a typo that results in no hinting and a memory leak with some
1252 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001253
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001254 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001255 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001256 CFF_Faces in it. We need to close all faces before destroying the
1257 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001258
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000012592007-01-02 Werner Lemberg <wl@gnu.org>
1260
1261 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1262 Remove compiler warning.
1263
David Turner9207e002007-01-02 16:58:13 +000012642007-01-02 David Turner <david@freetype.org>
1265
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001266 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001267
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000012682006-12-31 Masatake YAMATO <jet@gyve.org>
1269
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001270 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1271 function.
1272 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001273 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001274 `gxv_kern_subtable_fmt0_pairs_validate'.
1275
David Turner115b4422006-12-22 11:37:05 +000012762006-12-22 David Turner <david@freetype.org>
1277
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001278 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1279 warnings.
David Turner115b4422006-12-22 11:37:05 +00001280
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001281 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1282 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001283
Werner Lemberg4755bf72006-12-16 08:58:44 +000012842006-12-16 Anders Kaseorg <anders@kaseorg.com>
1285
1286 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1287 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1288
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000012892006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1290
Werner Lemberg9b774e22007-01-16 06:11:27 +00001291 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001292 sync with the modification by Jens Claudius on 2006-08-22; cf.
1293 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 +00001294
12952006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1296
1297 * src/base/ftmac.c: Specialized for Mac OS X only.
1298 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1299 * builds/unix/configure.raw: Ditto. When explicit switches for
1300 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1301 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1302
13032006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1304
1305 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1306 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1307 instead of src/base/ftmac.c
1308 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1309 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1310 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1311 that cannot be built at present.
1312
13132006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1314
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001315 * src/base/ftobjs.c: Improvement of resource fork handler for
1316 POSIX, cf.
1317 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001318 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1319 format or .dfont, to simulate the face index number counted by ftmac.c.
1320 (IsMacResource): Return the number of scalable faces correctly.
1321
Werner Lembergec5b4502006-12-10 07:51:38 +000013222006-12-10 Werner Lemberg <wl@gnu.org>
1323
1324 * builds/toplevel.mk (version): Protect against `distclean' target.
1325
Werner Lembergb26b3142006-12-09 20:01:43 +000013262006-12-09 Werner Lemberg <wl@gnu.org>
1327
1328 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1329 or `type'.
1330
1331 * builds/freetype.mk (version): Extracted from freetype.h, using
1332 GNU make's built-in string functions.
1333 (refdoc): Use $(version) instead of static version number.
1334
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000013352006-12-08 Werner Lemberg <wl@gnu.org>
1336
1337 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1338
Werner Lemberg15c29502006-12-09 07:29:54 +000013392006-12-08 Vladimir Volovich <vvv@vsu.ru>
1340
1341 * src/tools/apinames (State): Remove final comma in structure -- xlc
1342 v5 under AIX 4.3 doesn't like this.
1343
David Turnerdbf3b432006-12-07 21:18:09 +000013442006-12-07 David Turner <david@freetype.org>
1345
Werner Lemberg256a3512006-12-08 06:49:33 +00001346 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1347 to the spacing of auto-fitted glyphs. This only impacts rare
1348 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001349
Werner Lemberg11171312006-12-03 09:43:40 +000013502006-12-03 Werner Lemberg <wl@gnu.org>
1351
1352 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1353
Werner Lemberg960ba592006-12-01 08:20:47 +000013542006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001355
Werner Lemberg960ba592006-12-01 08:20:47 +00001356 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1357 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1358 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001359
David Turner80658e52006-11-28 08:09:20 +00001360
Werner Lemberg960ba592006-12-01 08:20:47 +00001361 * include/freetype/ftxf86.h: Fix and extend comment so that it
1362 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001363
Werner Lemberg960ba592006-12-01 08:20:47 +00001364 * include/freetype/ftchapters.h: Add `font_format' section.
1365
1366
1367 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1368 to TOC in index page.
1369
13702006-11-28 David Turner <david@freetype.org>
1371
1372 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1373 trying to render into a zero-width/height bitmap, not an error code.
1374
1375 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1376
1377 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1378 ones instead.
1379
1380 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1381 variable.
David Turner80658e52006-11-28 08:09:20 +00001382
Werner Lemberg8636c292006-11-26 22:28:13 +000013832006-11-26 Pierre Hanser <hanser@club-internet.fr>
1384
1385 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1386
Werner Lemberg960ba592006-12-01 08:20:47 +000013872006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001388
Werner Lemberg960ba592006-12-01 08:20:47 +00001389 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1390 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1391 Add stubs to link the `ftgrid' test program when debugging is
1392 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001393
Werner Lemberg960ba592006-12-01 08:20:47 +000013942006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001395
1396 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001397 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1398
1399 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1400 Emit more sensible information.
1401
1402 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1403
1404 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1405 rounding of blue values.
1406 (af_latin_hints_compute_segments): Hint segment heights.
1407 (af_latin_hints_link_segments): Reduce `len_score' value.
1408 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1409 value and use `height' member for comparisons.
1410 (af_latin_hint_edges): Extend logging message.
1411 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001412
Werner Lemberg91959bf2006-11-22 10:36:55 +000014132006-11-22 Werner Lemberg <wl@gnu.org>
1414
1415 Fix Savannah bug #15553.
1416
1417 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1418 program after a change from mono to grayscaling (and vice versa).
1419 Use correct constant for comparison to get `exec->grayscale'.
1420
Werner Lemberg913a3652006-11-19 09:19:17 +000014212006-11-18 Werner Lemberg <wl@gnu.org>
1422
1423 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001424 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001425 This patch fixes Savannah bug #18301.
1426
1427 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1428 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1429 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1430 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1431 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1432 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1433 (FNT_Load_Glyph): Check validity of `glyph_index'.
1434
David Turner7bab6ae2006-11-13 11:25:06 +000014352006-11-13 David Turner <david@freetype.org>
1436
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001437 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1438 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001439
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001440 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1441 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1442 when building the library to change the default LCD filter to be
1443 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001444
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001445 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001446
David Turner8765c712006-11-10 16:49:42 +000014472006-11-10 David Turner <david@freetype.org>
1448
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001449 * src/smooth/ftsmooth.c: API change for the LCD
1450 filter. The FT_LcdFilter value is an enumeration describing which
1451 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1452 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1453 algorithm which produces strong color fringes for everything
1454 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001455
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001456 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1457 second parameter to an enum type.
1458
1459 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1460 (_ft_lcd_filter): Rename to...
1461 (_ft_lcd_filter_fir): This.
1462 Update parameters.
1463 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1464 (FT_Library_Set_LcdFilter): Update parameters.
1465 Handle new filter modes.
1466
1467 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1468 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1469 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1470 callback and update other fields.
1471
1472 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1473 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1474 Other minor improvements.
1475
1476 * src/autofit/aflatin.c: Various tiny improvements that drastically
1477 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1478 (af_latin_hints_compute_edges): Fix typo.
1479 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001480
David Turner4e9cc3c2006-11-09 16:31:52 +000014812006-11-09 David Turner <david@freetype.org>
1482
Werner Lemberg49c77a82006-11-09 21:51:57 +00001483 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1484 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001485
Werner Lemberg5e430892006-11-07 09:35:03 +000014862006-11-07 Zhe Su <james.su@gmail.com>
1487
1488 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1489 also.
1490
Werner Lemberg111b5ae2006-11-03 09:40:12 +000014912006-11-03 Werner Lemberg <wl@gnu.org>
1492
1493 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1494
David Turner40604742006-11-02 16:37:35 +000014952006-11-02 David Turner <david@freetype.org>
1496
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001497 Add a few tweaks to better handle serif fonts.
1498 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001499
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001500 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1501 segments that are less than 1.5 pixels high. This gets rid of
1502 *many* corner cases with serifs.
1503 (af_latin_align_linked_edge): Add logging message.
1504 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1505 Add logging messages.
1506 Handle AF_EDGE_FLAG flag specially.
1507
1508 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1509 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1510
1511 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1512 Update external declarations.
1513 (af_corner_orientation, af_corner_is_flat): Replaced by...
1514
1515 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1516 ft_corner_is_flat): These declarations.
1517
1518 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1519 Comment out. Replaced by...
1520
1521 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1522 These functions. Update all callers.
1523 (FT_Add64) [!FT_LONG64]: Simplify.
1524
1525 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1526 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1527 production of garbage by missing lots of segments.
1528
1529 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1530
1531 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1532 [AF_DEBUG]: Set _af_debug_hints.
1533
1534
1535 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1536 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1537 and ft_corner_orientation.
1538
1539
1540 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001541
Werner Lemberge88c5262006-10-24 05:46:26 +000015422006-10-24 Werner Lemberg <wl@gnu.org>
1543
1544 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1545
1546 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1547 as argument.
1548
David Turnera1861392006-10-23 16:00:59 +000015492006-10-23 Zhe Su <zsu@novell.com>
1550
Werner Lemberg715e96e2006-10-24 05:28:45 +00001551 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1552 better deal with broken Asian fonts with strange glyphs, having
1553 self-intersections and other peculiarities. The used algorithm is
1554 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001555
David Turnere140f142006-10-23 08:56:57 +000015562006-10-23 David Turner <david@freetype.org>
1557
Werner Lemberg715e96e2006-10-24 05:28:45 +00001558 Speed up the CFF font loader. With some large CFF fonts,
1559 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001560
Werner Lemberg715e96e2006-10-24 05:28:45 +00001561 * src/cff/cffload.c (cff_get_offset): Removed.
1562 (cff_new_index): Inline functionality of `cff_get_offset'.
1563 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1564 (cff_charset_done): Call `cff_charset_free_cids'.
1565 (cff_charset_load): Call `cff_charset_compute_cids'.
1566 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1567
1568 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1569 with FT_NEXT_XXX.
1570
1571
1572 Speed up the Postscript hinter, with more than 100% speed increase
1573 on my machine.
1574
1575 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1576 psh_corner_orientation): New functions.
1577 (psh_glyph_compute_inflections): Merge loops for efficiency.
1578 Use `psh_corner_orientation'.
1579 (psh_glyph_init): Use `psh_corner_is_flat'.
1580 (psh_hint_table_find_strong_point): Renamed to...
1581 (psh_hint_table_find_strong_points): This.
1582 Rewrite, adding argument to handle all points at once.
1583 Update all callers.
1584 (PSH_MAX_STRONG_INTERNAL): New macro.
1585 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001586
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000015872006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1588
1589 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001590 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001591
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000015922006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1593
1594 * docs/INSTALL.CROSS: New document file for cross-building.
1595
1596 * builds/unix/configure.raw: Preliminary cross-building support.
1597 Find native C compiler and pass it by CC_BUILD, and
1598 find suffix for native executable and pass it by EXEEXT_BUILD.
1599 Also suffix for target executable is passed by EXEEXT.
1600
Werner Lembergb9e6d692006-10-15 08:58:40 +00001601 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1602 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001603 CC_BUILD and EXEEXT_BUILD.
1604
Werner Lembergb9e6d692006-10-15 08:58:40 +00001605 * builds/exports.mk (APINAMES_EXE): Change the extension for
1606 apinames from the suffix for target (E) to that for building host
1607 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001608
Werner Lemberg82a07e92006-10-12 06:20:44 +000016092006-10-12 Werner Lemberg <wl@gnu.org>
1610
1611 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1612 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1613 which reference those files.
1614
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000016152006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1616
Werner Lembergb9e6d692006-10-15 08:58:40 +00001617 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1618 embedded in freetype2.pc and freetype-config. Use it to record
1619 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001620
1621 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1622
1623 * builds/unix/freetype-config.in: Ditto.
1624
Werner Lemberg28e17d92006-10-11 17:27:47 +000016252006-10-11 Werner Lemberg <wl@gnu.org>
1626
1627 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1628 development.
1629
Jens Claudius336d2292006-10-03 08:53:37 +000016302006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1631
1632 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1633 argument to ft_setjmp.
1634
1635 * include/freetype/internal/ftvalid.h: Add comment that
1636 ft_validator_run must not be used.
1637
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016382006-10-01 Werner Lemberg <wl@gnu.org>
1639
1640 * src/base/ftbase.c: Undo change from 2006-09-30.
1641
1642 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1643
16442006-09-30 David Turner <david@freetype.org>
1645
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001646 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1647 s/unpatented_hinting/ignore_unpatented_hinter/.
1648 Update all callers.
1649
1650 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1651 auto-hinting shall be used or not.
1652
1653 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001654
Werner Lemberg2863cfa2006-10-01 17:04:00 +000016552006-09-30 Werner Lemberg <wl@gnu.org>
1656
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001657 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1658 in use).
1659
1660 * src/base/ftbase.c: Include `ftlcdfil.c'.
1661
Werner Lemberg9b15ea32006-09-29 18:22:11 +000016622006-09-29 Werner Lemberg <wl@gnu.org>
1663
1664 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1665 overlapping segments. Bug reported by Stefan Koch.
1666
David Turnerad830712006-09-27 16:20:59 +000016672006-09-28 David Turner <david@freetype.org>
1668
Werner Lemberg2c002e12006-09-29 21:31:53 +00001669 Fix a bug in the automatic unpatented hinting support which prevents
1670 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001671
Werner Lemberg2c002e12006-09-29 21:31:53 +00001672 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1673 s/force_autohint/unpatented_hinting/. Update all callers.
1674
1675 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1676
1677 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001678
David Turner8a317cf2006-09-27 07:52:48 +000016792006-09-27 David Turner <david@freetype.org>
1680
Werner Lemberg2c002e12006-09-29 21:31:53 +00001681 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001682
David Turner8a317cf2006-09-27 07:52:48 +00001683
David Turnere140f142006-10-23 08:56:57 +00001684 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001685 In a default build, the function `FT_Library_SetLcdFilter' returns
1686 `FT_Err_Unimplemented_Feature'; you need to #define
1687 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1688 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001689
Werner Lemberg2c002e12006-09-29 21:31:53 +00001690 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001691
Werner Lemberg2c002e12006-09-29 21:31:53 +00001692 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1693 typedef.
1694 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1695 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001696
Werner Lemberg2c002e12006-09-29 21:31:53 +00001697 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1698 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001699
Werner Lemberg2c002e12006-09-29 21:31:53 +00001700 Handle subpixel rendering.
1701 Simplify function.
1702 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1703 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1704
1705 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1706 pointing to <freetype/ftlcdfil.h>.
1707
1708 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1709 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1710
1711 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001712
Werner Lemberge20df4a2006-09-27 06:29:21 +000017132006-09-26 David Bustin
1714
1715 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1716 correctly. Reported as Savannah bug #17843.
1717
David Turner6f8c6222006-09-26 15:42:44 +000017182006-09-26 David Turner <david@freetype.org>
1719
Werner Lemberg110246c2006-09-26 21:55:44 +00001720 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1721 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1722 horizontal and vertical hinting for the purpose of debugging the
1723 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001724
Werner Lemberg110246c2006-09-26 21:55:44 +00001725 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1726 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001727
Werner Lemberg110246c2006-09-26 21:55:44 +00001728 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1729
1730 * include/freetype/config/ftoption.h, devel/ftoption.h
1731 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1732 we want to compile LCD-optimized rendering code (à la ClearType) or
1733 not. The macro *must* be disabled in default builds of the library
1734 for patent reasons.
1735
1736 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1737 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1738 isn't defined at compile time. This only changes the content of the
1739 rendered glyph to match the one of normal gray-level rendering,
1740 hence clients should not need to be modified.
1741
1742 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001743
Werner Lemberg745ff2c2006-09-19 05:48:02 +000017442006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1745
1746 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1747 LWFN fails and both are available.
1748
David Turnerf3050052006-09-11 12:00:32 +000017492006-09-11 David Turner <david@freetype.org>
1750
Werner Lembergf9644552006-09-12 13:48:10 +00001751 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1752 report their English names through an Apple Roman
1753 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001754
Werner Lembergf9644552006-09-12 13:48:10 +00001755 If the font uses another name entry with language_id == English, it
1756 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001757
Werner Lembergf9644552006-09-12 13:48:10 +00001758 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1759 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001760
Werner Lemberg36d2eab2006-09-05 19:24:34 +000017612006-09-05 Werner Lemberg <wl@gnu.org>
1762
1763 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001764 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001765 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1766 `HAN NOM B.ttf').
1767
1768 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1769
David Turner772e55d2006-09-05 09:45:15 +000017702006-09-05 David Turner <david@freetype.org>
1771
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001772 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001773
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001774 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1775 (TRaster): Remove `count_ex' and `count_ey'.
1776 (gray_find_cell): Remove 2nd and 3rd argument.
1777 (gray_alloc_cell): Merged with `gray_find_cell'.
1778 (gray_record_cell): Simplify.
1779 (gray_set_cell): Rewrite.
1780 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1781 (gray_render_span): Don't use FT_MEM_SET for small values.
1782 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1783 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1784 bitmap scanline.
1785 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001786
David Turneraa557a92006-09-04 16:42:44 +000017872006-09-04 David Turner <david@freetype.org>
1788
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001789 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1790 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001791
Werner Lemberg2d8629b2006-09-03 06:18:45 +000017922006-09-03 Werner Lemberg <wl@gnu.org>
1793
1794 * devel/ftoption.h: Synchronize with
1795 include/freetype/config/ftoption.h.
1796
1797 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1798 variable declaration.
1799 (gray_convert_glyph): Fix compiler warnings.
1800
David Turner6d79f212006-09-01 14:09:35 +000018012006-09-01 David Turner <david@freetype.org>
1802
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001803 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1804 to recognize a few fonts that require the automatic unpatented
1805 loader.
David Turnerbd502952006-09-01 19:05:24 +00001806
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001807 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1808 rasterizer. The speed improvement is between 15% and 25%, depending
1809 on the font data.
1810
1811 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1812 (TCell): Redefine.
1813 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1814 (gray_init_cells): Updated.
1815 (gray_find_cell, gray_alloc_cell): New functions.
1816 (gray_record_cell): Rewritten to use `gray_find_cell' and
1817 `gray_alloc_cell'.
1818 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1819 QSORT_THRESHOLD):
1820 Removed.
1821 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1822 gray_dump_cells): Removed.
1823 (gray_sweep): Rewritten.
1824 (gray_convert_glyph): Rewrite code which used one of the sorting
1825 functions.
1826 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001827
Werner Lembergd898aed2006-08-29 09:50:34 +000018282006-08-29 Dr. Werner Fink <werner@suse.de>
1829
1830 * configure: Make it possible to handle configure options which
1831 have strings containing spaces.
1832
18332006-08-27 David Turner <david@freetype.org>
1834
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001835 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1836 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1837 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1838
1839 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1840 src/truetype/truetype.c, src/truetype/ttdriver.c,
1841 src/truetype/ttgload.c, src/truetype/ttgload.h,
1842 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1843 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1844 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1845
1846 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1847 member `force_autohint'.
1848
1849 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1850
1851 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1852 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001853
Jens Claudiusa787f452006-08-27 11:26:18 +000018542006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1855
1856 Fix miscellaneous compiler warnings.
1857
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001858 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1859 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001860
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001861 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1862 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1863 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001864
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001865 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1866 volatileness of argument to ft_longjmp. Spotted by Werner
1867 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001868
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001869 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1870 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001871
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001872 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1873 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001874
Werner Lembergc4c35b72006-08-27 08:03:46 +000018752006-08-27 Werner Lemberg <wl@gnu.org>
1876
1877 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1878 Reported by Jens.
1879
Jens Claudius088e44e2006-08-22 14:24:30 +000018802006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001881
Jens Claudius088e44e2006-08-22 14:24:30 +00001882 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001883 about addresses of volatile objects passed as function arguments as
1884 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001885
Werner Lembergc4c35b72006-08-27 08:03:46 +00001886 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1887 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001888
1889 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1890 argument `table' a pointer to a volatile object.
1891
1892 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1893 argument `table' a pointer to a volatile object.
1894
Jens Claudius2652bd52006-08-18 17:20:37 +000018952006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1896
1897 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1898 variable `_sfnt' as volatile since it must keep its value across
1899 a call to ft_setjmp.
1900 (gxv_validate): Same for local variables `memory' and `valid'.
1901 (classic_kern_validate): Same for local variables `memory',
1902 `ckern', and `valid'.
1903
1904 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1905 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1906 `jstf', and 'valid'.
1907
1908 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1909 local variable `cmap'.
1910
David Turner9fbfc6a2006-08-16 09:11:31 +000019112006-08-16 David Turner <david@freetype.org>
1912
Werner Lemberg12342992006-08-19 11:18:09 +00001913 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1914 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001915
Werner Lemberg12342992006-08-19 11:18:09 +00001916 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1917 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001918
David Turner33f5f242006-08-16 16:50:55 +00001919
Werner Lemberg12342992006-08-19 11:18:09 +00001920 Improvements to native TrueType hinting. This is a first try,
1921 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1922
1923 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1924 `extra_points2'.
1925
1926 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1927 `orus'.
1928
1929 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1930 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1931 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1932 handle `extra_points2'.
1933
1934 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1935 Remove compiler warning.
1936 (cur_to_arg): Remove macro.
1937 (TT_Hint_Glyph): Updated.
1938 (TT_Process_Simple_Glyph): Handle `orus'.
1939
1940 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1941 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1942 (LOC_Ins_IUP): Renamed to...
1943 (IUP_WorkerRec): This.
1944 Add `orus' member.
1945 (Shift): Renamed to...
1946 (_iup_worker_shift): This.
1947 Updated.
1948 (Interp): Renamed to...
1949 (_iup_worker_interpolate): This.
1950 Updated to handle `orus'.
1951 (Ins_IUP): Updated.
1952
1953 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1954 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001955
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000019562006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1957
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001958 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001959 build ftvalid in ft2demos. This has been inadvertedly changed
1960 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001961
19622006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1963
Werner Lemberg12342992006-08-19 11:18:09 +00001964 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1965 Jens:
1966 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001967
Werner Lemberg12342992006-08-19 11:18:09 +00001968 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1969 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001970
1971 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1972
Jens Claudius9950adc2006-08-13 12:14:36 +000019732006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1974
Werner Lemberg12342992006-08-19 11:18:09 +00001975 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1976 T1_TOKEN_TYPE_KEY.
1977 (T1_FieldRec): Add `dict'.
1978 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1979 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1980 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001981
Werner Lemberg12342992006-08-19 11:18:09 +00001982 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1983 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001984
1985 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1986
1987 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001988 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1989 not T1_TOKEN_TYPE_ANY.
1990 (ps_parser_load_field): Make sure a token that should be a string or
1991 name is really a string or name.
1992 Avoid memory leak if a keyword has been already encountered and its
1993 value is overwritten.
1994 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1995 T1_FIELD_XXX.
1996 (parse_dict): Ignore keywords that occur in the wrong dictionary
1997 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001998
Werner Lemberg12342992006-08-19 11:18:09 +00001999 * freetype2/src/type1/t1tokens.h: Adjust invocations of
2000 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002001
Werner Lemberg12342992006-08-19 11:18:09 +00002002 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
2003 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002004
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000020052006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2006
2007 Move creation of field `buildchar' of T1_DecoderRec out of
2008 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2009 of it.
2010
2011 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2012 and `T1_Compute_Max_Advance'.
2013
2014 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2015 Remove field `face', add `len_buildchar'.
2016
2017 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2018 field `buildchar'.
2019
2020 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2021 finisher for T1_Decoder.
2022 (cid_slot_load_glyph): Do not ignore failure when initializing the
2023 T1_Decoder.
2024
2025 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2026 Updated.
2027 (t1_decoder_init): Remove initialization of fields `buildchar' and
2028 `len_buildchar'.
2029 (t1_decoder_done): Remove deallocation of field `buildchar'.
2030
2031 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2032 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2033 T1_Decoder.
2034 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2035 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2036 case of error.
2037
2038 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2039 `buildchar' of T1_FaceRec.
2040
2041 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2042 `buildchar' of T1_FaceRec.
2043
Werner Lemberg1a380e02006-07-14 18:28:08 +000020442006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2045
2046 * freetype2/include/freetype/internal/psaux.h: New macros
2047 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2048 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2049 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2050 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2051 (T1_DecoderRec): New fields `buildchar' and `face'.
2052 (IS_PS_TOKEN): New macro.
2053
2054 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2055 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2056
2057 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2058 `default_design_vector' and `num_default_design_vector'.
2059
2060 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2061 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2062 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2063
2064 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2065 `token' argument to be NULL if we want only to count the number of
2066 tokens.
2067 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2068 want to skip the array.
2069 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2070 want to skip the array.
2071
2072 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2073 support for (partially commented out) othersubrs 19-25, 27, and 28.
2074 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2075 (t1_decoder_done): Release new field `buildchar'.
2076
2077 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2078 functions.
2079 (t1_keywords): Register them.
2080 (t1_allocate_blend): Updated.
2081 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2082 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2083 (parse_dict): Remove `keyword_flags' argument.
2084 Use new macro IS_PS_TOKEN.
2085 Changed function so that later PostScript definitions override
2086 earlier ones.
2087 (t1_init_loader): Initialize new field `keywords_encountered'.
2088 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2089 `len_buildchar'.
2090 Remove `keywords_flags'.
2091
2092 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2093 `keywords_encountered'.
2094 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2095
2096 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2097 New entries for parsing /NDV, /CDV, and /DesignVector.
2098
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000020992006-07-07 Werner Lemberg <wl@gnu.org>
2100
2101 Add many checks to protect against malformed PCF files.
2102
2103 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2104 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2105
2106 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2107 data and check that tables don't overlap (using a simple
2108 bubblesort).
2109 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2110 New macros which give the size of data structures in the data
2111 stream.
2112 (pcf_get_properties): Use rough estimates to get array size limits.
2113 Assign `face->nprops' and `face->properties' earlier so that a call
2114 to PCF_Face_Done can do the clean-up in case of error.
2115 Protect against invalid string offsets.
2116 (pcf_get_metrics): Clean up code.
2117 Adjust tracing message levels.
2118 Use rough estimate to get array size limit.
2119 (pcf_get_bitmaps): Clean up code.
2120 Adjust tracing message levels.
2121 Use rough estimates to get offset limits.
2122 (pcf_get_encodings): Adjust tracing message level.
2123 (pcf_get_accel): Clean up code.
2124
Werner Lemberg8eb05252006-06-27 06:20:01 +000021252006-06-26 Werner Lemberg <wl@gnu.org>
2126
2127 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2128 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2129
Werner Lemberg24703f82006-06-26 19:12:51 +000021302006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2131
2132 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2133 (t1_decoder_parse_charstrings): Operator with
2134 opcode 15 pops its two arguments.
2135 Handle the case where the pops of an othersubr may be part of a
2136 subroutine.
2137 Handle unknown othersubrs gracefully: count their operands and let
2138 the following pop operators push the operands as the results onto
2139 the Type1 stack.
2140 Improve handling of setcurrentpoint opcode.
2141
Werner Lembergc011f4c2006-06-26 09:40:00 +000021422006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2143
2144 The Type 1 parser now skips over top-level procedures as required
2145 for a `Simplified Parser'. This makes the parser more robust as it
2146 doesn't poke around in PostScript code. Additionally, it makes the
2147 FontDirectory hackery in src/type1/t1load.c unnecessary.
2148
2149 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2150 (skip_literal_string): Add FT_Error as return value.
2151 Handle escapes better.
2152 (skip_string): Add FT_Error as return value.
2153 Don't set `parser->error' but return error code directly.
2154 (skip_procedure): New function.
2155 (ps_parser_skip_PS_token): Handle procedures.
2156 Update code.
2157 (ps_parser_to_token): Update code.
2158 (ps_parser_load_field_table): Handle bbox entries also.
2159
2160 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2161 Add commented-out code for synthetic fonts.
2162
Werner Lemberga2da05c2006-06-25 06:27:27 +000021632006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2164
2165 Fix two hinting bugs as reported in
2166 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2167
2168 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2169 `first_point' member.
2170
2171 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2172 `first_point'.
2173 (TT_Process_Composite_Glyph): Always untouch points.
2174
2175 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2176 `first_point' and `last_point' in case of composite glyphs.
2177 (Ins_IUP): Fix computation of `end_point'.
2178
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000021792006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2180
Werner Lembergef3d2c22006-06-25 06:07:14 +00002181 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2182 Mac. The original patch was written by David Sachitano and Lawrence
2183 Coopet, and modified by Sean McBride for MPW compatibility. Only
2184 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002185
Werner Lembergef3d2c22006-06-25 06:07:14 +00002186 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2187 Mac OS X platforms.
2188 (OS_INLINE): Undefine before definition.
2189 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2190 FontAssociation table in FOND resource.
2191 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2192 and fontSize at each entry of FontAssociation table in FOND
2193 resource.
2194 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2195 ffStylOff of FamilyRecord header of FOND resource, the header,
2196 fontSize, fontID at each entry of FontAssociation table, and
2197 StyleMapping table.
2198 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002199
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000022002006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2201
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002202 Public API of TrueTypeGX, OpenType, and classic kern table validator
2203 should return `FT_Err_Unimplemented_Feature' if validation service
2204 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002205 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002206 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2207
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002208 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2209 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2210 unavailable.
2211 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2212 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002213
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002214 * src/base/ftotval.c (FT_OpenType_Validate): Return
2215 FT_Err_Unimplemented_Feature if OpenType validation service is
2216 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002217
Werner Lembergb10e45a2006-06-08 07:32:56 +000022182006-06-08 Werner Lemberg <wl@gnu.org>
2219
2220 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2221 errors.
2222
David Turner5f1f7502006-06-07 05:11:50 +000022232006-06-07 David Turner <david@freetype.org>
2224
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002225 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2226 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2227 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002228
David Turner457b4a82006-06-06 08:14:14 +000022292006-06-06 David Turner <david@freetype.org>
2230
Werner Lemberg4836f952006-06-06 12:54:08 +00002231 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002232
Werner Lemberg4836f952006-06-06 12:54:08 +00002233 We change `ps_unicodes_init' so that it also takes a
2234 `free_glyph_name' callback to release the glyph names returned by
2235 `get_glyph_name'
2236
2237 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2238 Renamed to ...
2239 (PS_GetGlyphNameFunc): This.
2240 (PS_FreeGlyphNameFunc): New typedef.
2241 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2242
2243 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2244 argument.
2245 (cff_sid_free_glyph_name): New function.
2246 (cff_cmap_unicode_init): Updated.
2247
2248 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2249
2250 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2251 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002252
2253
David Turner09717352006-06-04 14:33:08 +000022542006-06-04 David Turner <david@freetype.org>
2255
Werner Lembergd724f202006-06-04 15:17:41 +00002256 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2257 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002258 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002259
Werner Lembergd724f202006-06-04 15:17:41 +00002260 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2261 of `face->num_glyphs' which missed the last glyph, due to
2262 the offset-by-1 computation, since the PFR format doesn't
2263 guarantee that glyph index 0 corresponds to the `missing
2264 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002265
Werner Lemberg33779662006-05-26 06:30:05 +000022662006-05-25 Werner Lemberg <wl@gnu.org>
2267
2268 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2269 `-no-undefined'. Reported by Christian Biesinger.
2270
Werner Lemberg24773d62006-05-20 08:53:13 +000022712006-05-19 Brian Weed <bw@imaginengine.com>
2272
2273 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2274 have debug information, and debug libraries use `C7 compatible'
2275 debug info.
2276
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000022772006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2278
Werner Lemberga6523a62006-05-20 08:47:01 +00002279 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002280 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002281
Werner Lemberga6523a62006-05-20 08:47:01 +00002282 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2283 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002284
2285 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002286 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002287
22882006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2289
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002290 * build/unix/configure.raw: Add a fallback to disable Carbon
2291 dependency, if configured with no options on Mac OS X.
2292
22932006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2294
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002295 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002296 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002297 the second part of Savannah bug #16590.
2298
Werner Lemberg545c4e52006-05-17 22:55:04 +000022992006-05-18 Werner Lemberg <wl@gnu.org>
2300
2301 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2302 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2303
David Turnerdc3ff312006-05-17 12:59:35 +000023042006-05-17 David Turner <david@freetype.org>
2305
Werner Lemberg545c4e52006-05-17 22:55:04 +00002306 This is a major patch used to drastically improve the performance of
2307 loading glyphs. This both speeds up loading the glyph vectors
2308 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002309
Werner Lemberg545c4e52006-05-17 22:55:04 +00002310 We now use inline assembler code with GCC to implement `FT_MulFix',
2311 which is probably the most important function related to the
2312 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002313
Werner Lemberg545c4e52006-05-17 22:55:04 +00002314 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002315
2316
Werner Lemberg545c4e52006-05-17 22:55:04 +00002317 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2318 `cursor' and `limit'.
2319
2320 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2321 New functions.
2322 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2323 [TEST]: Remove.
2324
2325 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2326 code.
2327
2328 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2329 `FT_ZERO'
2330 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2331 (af_glyph_hints_reload: Rewrite recognition of weak points.
2332
2333 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2334 constant values out of the loops.
2335
2336 * src/autofit/aftypes.h: Updated.
2337
2338 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2339
2340 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2341 product to get orientation.
2342
2343 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2344 (FT_Stream_OpenGzip): Use it to handle small files directly in
2345 memory.
2346
2347 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2348 Improve performance.
2349
2350 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2351 `limit'.
2352
2353 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2354 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2355 exceedingly large values of number of contours. Speed up by
2356 reducing the number of loops.
2357
2358 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2359
2360
2361 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2362 used to detect rogue clients from 4 to 16. This is to prevent some
2363 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2364 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002365
Werner Lembergde2d90a2006-05-17 08:54:30 +000023662007-05-17 Werner Lemberg <wl@gnu.org>
2367
2368 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002369 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002370
23712006-05-16 Werner Lemberg <wl@gnu.org>
2372
2373 * docs/PROBLEMS: Updated icl issues.
2374
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002375----------------------------------------------------------------------------
2376
Werner Lemberg42b63b22007-01-21 21:01:33 +00002377Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002378David Turner, Robert Wilhelm, and Werner Lemberg.
2379
2380This file is part of the FreeType project, and may only be used, modified,
2381and distributed under the terms of the FreeType project license,
2382LICENSE.TXT. By continuing to use, modify, or distribute this file you
2383indicate that you have read the license and understand and accept it
2384fully.
2385
2386
2387Local Variables:
2388version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002389coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002390End: