blob: 8fc5ba7321163d2d5273ffb9cfc6bbf821f1742e [file] [log] [blame]
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000012007-07-06 Werner Lemberg <wl@gnu.org>
2
3 * src/pfr/pfrcmap.c: Include pfrerror.h.
4
5 * src/autofit/afindic.c: Add some external declarations to pacify
6 `make multi' compilation.
7
8 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
9
10 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
11 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
12 src/autofit/aflatin.c (af_latin_hints_compute_edges),
13 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
14 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
15 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
16
17 * docs/release: Mention test compilation targets.
18
Werner Lemberg986ea4b2007-07-04 04:53:15 +0000192007-07-04 Werner Lemberg <wl@gnu.org>
20
21 * docs/PROBLEMS: Mention that some PS based fonts can't be
22 handled correctly by FreeType.
23
Werner Lemberg3033f432007-07-04 14:12:19 +000024 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
25 recursion depth of 1. This was the maximum value in TrueType 1.0,
26 and some older fonts don't set this field correctly.
27
28 * src/gxvalid/gxvmort1.c
29 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
30
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000312007-07-03 Werner Lemberg <wl@gnu.org>
32
33 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
34 `round' to pacify compiler.
35
362007-07-02 Werner Lemberg <wl@gnu.org>
37
38
39 * Version 2.3.5 released.
40 =========================
41
42
43 Tag sources with `VER-2-3-5'.
44
45 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
46 version number to 2.3.5.
47
48 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
49 builds/win32/visualc/freetype.dsp,
50 builds/win32/visualc/freetype.vcproj,
51 builds/win32/visualce/index.html,
52 builds/win32/visualce/freetype.dsp,
53 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
54
55 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
56
57 * builds/unix/configure.raw (version_info): Set to 9:16:3.
58
David Turner0ba89912007-07-01 09:34:04 +0000592007-07-01 David Turner <david@freetype.org>
60
Werner Lemberge3be90b2007-07-02 14:58:58 +000061 * include/freetype/freetype.h, src/base/ftpatent.c
62 (FT_Face_SetUnpatentedHinting): New function to dynamically change
63 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +000064
Werner Lemberge3be90b2007-07-02 14:58:58 +000065 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
66 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +000067
David Turner74cc0e92007-06-30 22:54:12 +0000682007-06-30 David Turner <david@freetype.org>
69
Werner Lemberge3be90b2007-07-02 14:58:58 +000070 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
71 initialization.
David Turner74cc0e92007-06-30 22:54:12 +000072
Werner Lemberge3be90b2007-07-02 14:58:58 +000073 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
74 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +000075
Werner Lemberg7723dc32007-06-26 04:44:35 +0000762007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
77
78 Add autofit module for Indic scripts. This currently just reuses
79 the CJK-specific functions.
80
81 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
82 macro.
83 * devel/ftoption.h: Synchronize with
84 include/freetype/config/ftoption.h.
85
86 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
87
88 * src/autofit/afglobal.c, src/autofit/aftypes.h,
89 src/autofit/autofit.c: Updated.
90
91 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
92 (AUTOF_DRV_SRC): Updated.
93
David Turner8f626b02007-06-22 22:22:38 +0000942007-06-23 David Turner <david@freetype.org>
95
Werner Lemberg7854c4a2007-06-23 07:16:20 +000096 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
97 2007-06-16 that prevented the TrueType module from loading most
98 glyphs.
David Turner8f626b02007-06-22 22:22:38 +000099
Werner Lemberg5b4d4352007-06-20 07:07:55 +00001002007-06-20 Werner Lemberg <wl@gnu.org>
101
102 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
103 change.
104
Werner Lemberg9fe58152007-06-19 07:57:30 +00001052007-06-19 Werner Lemberg <wl@gnu.org>
106
107 * src/type1/t1load.c (parse_encoding): Handle one more error.
108
Werner Lemberg5a829392007-06-19 04:53:30 +00001092007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
110
111 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
112 FNT_Err_Invalid_File_Format if file format was recognized but
113 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
114 Add verbose debug logs to make it easier to debug failing load
115 attempts.
116 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
117 so return an error if requested face index is > 0.
118 Do not do further attempt to load fonts if a previous attempt has
119 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
120 file format has been recognized but no fonts found in the file.
121
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001222007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
123
124 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
125 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
126 the compiler warnings against unused arguments.
127 (FT_ATSFontGetFileReference): Ditto.
128 (FT_GetFile_From_Mac_ATS_Name): Ditto.
129 (FT_New_Face_From_FSSpec): Ditto.
130 (lookup_lwfn_by_fond): Fix wrong comment.
131 Replace `const StringPtr' by more appropriate type
132 `ConstStr255Param'.
133 FSRefMakePathPath always returns UTF8 POSIX pathname in
134 Mach-O, thus HFS pathname support is dropped.
135 (count_faces): Remove HLock and HUnlock which is not
136 required on Mac OS X anymore.
137 (FT_New_Face_From_SFNT): Ditto.
138 (FT_New_Face_From_FOND): Ditto.
139 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
140 except of HFS pathname support and HLock/HUnlock.
141 They are required on classic CFM environment.
142
1432007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +0000144
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000145 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
146 assertion.
147 (ps_parser_to_bytes): Fix error message.
148
Werner Lembergbb2510d2007-06-18 17:07:49 +0000149 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000150 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
151 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +0000152 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +0000153 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000154
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001552007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000156
Werner Lembergf48aec72007-06-18 07:07:55 +0000157 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
158 logic.
159 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
160 correctly.
161 (ps_parser_load_field_table): Use `fields->array_max' instead of
162 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
163
Werner Lemberg95104a42007-06-18 07:33:10 +0000164 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
165 2007-06-06.
166
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001672007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +0000168
169 * src/tools/ftrandom.c (font_size): New global variable.
170 (TestFace): Use it.
171 (main): Handle new option `--size' to set `font_size'.
172 (Usage): Updated.
173
Werner Lembergbe183eb2007-06-17 11:27:17 +0000174 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
175 invalid font.
176 (FNT_Load_Glyph): Protect against invalid bitmap width.
177
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001782007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +0000179
Werner Lemberge12ed562007-06-17 05:31:23 +0000180 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
181 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000182
Werner Lemberge12ed562007-06-17 05:31:23 +0000183 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
184 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +0000185
Werner Lemberge12ed562007-06-17 05:31:23 +0000186 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
187 and `zp2'.
188 (Ins_IP): Check argument ranges to reject bogus operations properly.
189 (IUP_WorkerRec): Add `max_points' member.
190 (_iup_worker_interpolate): Check argument ranges.
191 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000192
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00001932007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +0000194
195 * src/winfonts/winfnt.h: Add necessary structures for PE resource
196 parsing.
197 (WinPE32_HeaderRec): New structure.
198 (WinPE32_SectionRec): New structure.
199 (WinPE_RsrcDirRec): New structure.
200 (WinPE_RsrcDirEntryRec): New structure.
201 (WinPE_RsrcDataEntryRec): New structure.
202 (FNT_FontRec): Remove unused `size_shift' field.
203
204 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
205 loading bitmap .fon files in PE format.
206
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002072007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000208
209 * builds/win32/ftdebug.c: Unify debug level handling with other
210 platforms.
211
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002122007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000213
214 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
215 console as well as to the debugger.
216
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00002172007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000218
219 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
220 cover all ranges which could possibly be handled by the aflatin
221 module (since the default fallback for unknown ranges is now the
222 afcjk module). It might be necessary to fine-tune this further by
223 splitting off modules for Greek, Cyrillic, or other blocks.
224
David Turnerb7920172007-06-11 05:37:35 +00002252007-06-11 David Turner <david@freetype.org>
226
Werner Lemberg49e18b82007-06-11 21:15:09 +0000227 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
228 incorrect segment linking computation. This was the root cause of
229 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000230
231
Werner Lemberg49e18b82007-06-11 21:15:09 +0000232 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
233 to improve the Latin auto-hinter. Note that the new code is
234 disabled by default since it is not stabilized yet.
235
236 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
237 (disabled currently).
238
239 * src/autofit/afhints.c: Remove dead code.
240 (af_axis_hints_new_edge): Add argument to handle segment directions.
241 (af_edge_flags_to_string): New function.
242 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
243 option flags.
244 (af_glyph_hints_reload): Add argument to handle inflections.
245 Simplify.
246 (af_direction_compute): Fine tuning.
247 (af_glyph_hints_align_edge_points): Fix logic.
248 (af_glyph_hints_align_strong_points): Do linear search for small
249 edge counts.
250 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
251 (af_iup_shift): Handle zero `delta'.
252
253 * src/autofit/afhints.h: Updated.
254 (AF_SORT_SEGMENTS): New macro (disabled).
255 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
256
257 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
258 argument to pass option flags for handling scripts.
259 * src/autofit/afglobal.h: Updated.
260
261 * src/autofit/afcjk.c: Updated.
262 * src/autofit/aflatin.c: Updated.
263 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
264
265 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
266 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
267 Don't set `edge->dir'
268 (af_latin_hint_edges): Add more logging.
269
270 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000271
Werner Lembergf6c120f2007-06-11 04:55:58 +00002722007-06-11 Werner Lemberg <wl@gnu.org>
273
Werner Lembergcf7b7642007-06-11 04:58:01 +0000274 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000275
David Turner84c6f882007-06-10 20:51:04 +00002762007-06-10 David Turner <david@freetype.org>
277
Werner Lembergf6c120f2007-06-11 04:55:58 +0000278 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
279 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000280
Werner Lembergf6c120f2007-06-11 04:55:58 +0000281 * include/freetype/config/ftoption.h: Clarify documentation
282 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000283
Werner Lembergf6c120f2007-06-11 04:55:58 +0000284
285 Add new `FT_Face_CheckTrueTypePatents' API.
286
287 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
288 declaration.
289
290 * include/freetype/internal/services/svttglyf.h,
291 src/base/ftpatent.c: New files.
292
293 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
294 New macro.
295
296 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
297 `ttpload.h'.
298 (tt_service_truetype_glyf): New service structure.
299 (tt_services): Register it.
300
301 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
302 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000303
Werner Lemberg33db39e2007-06-08 06:30:29 +00003042007-06-08 Werner Lemberg <wl@gnu.org>
305
David Turner84c6f882007-06-10 20:51:04 +0000306 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000307 Fonts without a cmap must be handled correctly by FreeType (anything
308 else would be a bug).
309
310
311 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
312 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
313
Werner Lemberg88ab6382007-06-07 05:01:56 +00003142007-06-07 Werner Lemberg <wl@gnu.org>
315
316 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
317 tt_sbit_decoder_load_image): Protect against integer overflows.
318
319
320 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
321 for `x_control' and `y_control'.
322
Werner Lemberg2a2dca62007-06-06 04:39:37 +00003232007-06-06 Werner Lemberg <wl@gnu.org>
324
325 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
326
Werner Lemberga8d65492007-06-06 04:47:49 +0000327
328 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
329 FreeType error.
330
Werner Lemberg470210b2007-06-06 10:05:49 +0000331
332 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
333 `font_count'.
334
335
336 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
337
338
339 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
340 `FT_Error'.
341 Check `fd_index'.
342 (cff_slot_load): Updated.
343 * src/cff/cffgload.h: Updated.
344
Werner Lemberg6c054752007-06-05 05:27:54 +00003452007-06-05 Werner Lemberg <wl@gnu.org>
346
347 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
348 (pfr_glyph_load_simple): Convert assertion into normal FreeType
349 error.
350 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000351 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
352 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000353
354 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
355
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000356
Werner Lemberg470210b2007-06-06 10:05:49 +0000357 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000358
Werner Lemberge5c14d92007-06-05 20:50:37 +0000359
360 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
361 in case of parsing error.
362 (ps_parser_load_field): Updated.
363
364 * src/type1/t1load.c (parse_font_matrix): Updated.
365
Werner Lembergad18b362007-06-04 07:04:05 +00003662007-06-04 Werner Lemberg <wl@gnu.org>
367
368 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
369
370 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
371
Werner Lemberg3d507fe2007-06-03 16:54:55 +00003722007-06-03 Werner Lemberg <wl@gnu.org>
373
Werner Lemberg99a320b2007-06-03 19:21:26 +0000374 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
375 George Williams (with some modifications).
376
3772007-06-03 Werner Lemberg <wl@gnu.org>
378
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000379 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
380 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
381 face == NULL. Suggested by Graham Asher.
382
Werner Lembergce280a22007-06-03 05:58:30 +00003832007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
384
385 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
386
Werner Lemberg5b591e42007-06-01 22:16:43 +00003872007-06-02 Werner Lemberg <wl@gnu.org>
388
389 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
390 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
391
392 * src/bdf/bdflib.c (bdf_load_font): Use them.
393
394 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
395
Werner Lembergb9933f42007-06-01 21:27:12 +00003962007-06-01 Werner Lemberg <wl@gnu.org>
397
398 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
399 (FTC_CMapCache_Lookup): Remove unused code.
400
Werner Lembergc793d902007-06-01 20:51:11 +00004012007-06-01 Sean McBride <sean@rogue-research.com>
402
403 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
404 unused.
405
Werner Lembergbebc7b12007-06-01 06:32:30 +00004062007-06-01 Werner Lemberg <wl@gnu.org>
407
408 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
409 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000410 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000411
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000412 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
413 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
414
Werner Lembergba03af62007-05-30 13:57:02 +00004152007-05-30 Werner Lemberg <wl@gnu.org>
416
417 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
418 against too small binary data strings.
419
420 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
421
David Turnerf0cd69c2007-05-28 15:42:09 +00004222007-05-28 David Turner <david@freetype.org>
423
Werner Lemberg99e0c182007-05-29 07:00:23 +0000424 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
425 transformation. This significantly reduces the loading time of CFF
426 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000427
Werner Lemberg99e0c182007-05-29 07:00:23 +0000428 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000429
Werner Lemberg99e0c182007-05-29 07:00:23 +0000430 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
431 hinting script to CJK, since it works well with more scripts than
432 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
433 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000434
Werner Lemberg1c8980e2007-05-25 07:11:12 +00004352007-05-25 Werner Lemberg <wl@gnu.org>
436
437 * docs/CHANGES: Updated.
438
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00004392007-05-24 Werner Lemberg <wl@gnu.org>
440
441 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
442 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
443
4442007-05-24 Graham Asher <graham.asher@btinternet.com>
445
446 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
447 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
448
David Turner0d0365e2007-05-22 09:53:44 +00004492007-05-22 David Turner <david@freetype.org>
450
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000451 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
452 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000453
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000454
455 Avoid heap blowup with very large .Z font files. This fixes
456 Savannah bug #19910.
457
458 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
459 `in_limit', `pad', `pad_bits', and `in_buff' members.
460 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
461 `buf_total' members.
462
463 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
464 only one argument.
465 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000466
4672007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000468
469 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
470 (ps_dimension_set_mask_bits): Remove `const'.
471
David Turner0d0365e2007-05-22 09:53:44 +00004722007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000473
474 * src/sfnt/ttmtx.c (tt_face_get_metrics)
475 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
476
Werner Lembergb826fa72007-05-19 07:18:48 +00004772007-05-19 Derek Clegg <dclegg@apple.com>
478
479 Savannah patch #5929.
480
481 * include/freetype/tttables.h, src/base/ftobjcs.c
482 (FT_Get_CMap_Format): New function.
483
484 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
485 `format' member.
486 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
487 cmap_info->format.
488
Werner Lemberg6f99c882007-05-19 07:01:49 +00004892007-05-19 Werner Lemberg <wl@gnu.org>
490
491 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
492 before handling subglyphs so that it can be reinitialized each time.
493 This fixes Savannah bug #19859.
494
Werner Lemberg95bc9d32007-05-16 15:19:42 +00004952007-05-16 Werner Lemberg <wl@gnu.org>
496
497 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
498 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
499 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
500 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
501 tt_face_get_metrics): Fix type-punning issues.
502
David Turner0a24bd22007-05-15 10:54:10 +00005032007-05-15 David Turner <david@freetype.org>
504
505 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000506 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
507 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000508 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000509 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000510
Werner Lemberg607dec72007-05-15 06:49:37 +00005112007-05-15 Graham Asher <graham.asher@btinternet.com>
512
513 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
514 variable.
515 * src/autofit/afloader.c (af_loader_load_g): Ditto.
516
517 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
518 (open_face_from_buffer): Initialize `stream'.
519 (FT_Request_Metrics): Remove unused variable.
520 Remove redundant `break' statements.
521 (FT_Get_Track_Kerning): Remove unused variable.
522
523 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
524 afm_parse_kern_data): Remove redundant
525 `break' statements.
526 (afm_parser_parse): Ditto.
527 Don't use uninitialized variables.
528
529 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
530 Use `|' operator instead of `^' to set it.
531 Update all users.
532
533 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
534 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
535
536 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
537 comparison.
538 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
539 (TT_Load_Glyph): Remove unused variable.
540
Werner Lemberg8d463a52007-05-13 16:01:55 +00005412007-05-13 Derek Clegg <dclegg@apple.com>
542
543 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
544 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
545
David Turner711cf842007-05-11 14:36:24 +00005462007-05-11 David Turner <david@freetype.org>
547
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000548 * src/cache/ftbasic.c, include/freetype/ftcache.h
549 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
550 functions that allow us to look up glyphs using an FTC_Scaler object
551 to specify the size, making it possible to use fractional pixel
552 sizes.
553
554 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
555 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000556
Werner Lemberg94be20e2007-05-09 20:02:55 +00005572007-05-09 Graham Asher <graham.asher@btinternet.com>
558
559 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
560 (af_latin_metrics_scale_dim): Fix compiler warnings.
561
Werner Lemberg41271032007-05-06 04:51:48 +00005622007-05-06 Werner Lemberg <wl@gnu.org>
563
564 * builds/win32/visualce/freetype.sln: Removed, as requested by
565 Vincent.
566
Werner Lembergdf49e692007-05-04 06:30:05 +00005672007-05-04 Vincent RICHOMME <richom.v@free.fr>
568
569 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
570 PC targets.
571
572 * docs/CHANGES: Document them.
573
5742007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000575
576 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
577 mmap (which might happen on some RTOS). From Savannah patch #5909.
578
Werner Lemberg106eaf12007-05-03 07:07:47 +00005792007-05-03 Werner Lemberg <wl@gnu.org>
580
581 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
582 * include/freetype/freetype.h (FT_Set_Char_Size): Update
583 documentation.
584
Werner Lemberg1b5267d2007-04-28 21:06:15 +00005852007-04-28 Victor Stinner <victor.stinner@inl.fr>
586
587 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
588 `cmap'.
589
Werner Lembergcc712a22007-04-27 17:16:50 +00005902007-04-27 Werner Lemberg <wl@gnu.org>
591
592 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
593 number of points in contours. Problem reported by Victor Stinner
594 <victor.stinner@haypocalc.com>.
595 (TT_Process_Simple_Glyph): Synchronize variable types.
596
Werner Lemberg45bb18f2007-04-26 06:26:35 +00005972007-04-26 Werner Lemberg <wl@gnu.org>
598
599 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
600 zero in case of error. This fixes Savannah bug #19689.
601
David Turnera8b45e62007-05-11 14:10:30 +00006022007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
603
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000604 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
605 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000606
Werner Lembergfcc1f472007-04-10 11:51:50 +00006072007-04-10 Martin Horak <horakm@centrum.cz>
608
609 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
610 Ignore `hhea' table. This fixes Savannah bug #19261.
611
Werner Lemberg14bf82e2007-04-10 04:09:49 +00006122007-04-09 Werner Lemberg <wl@gnu.org>
613
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000614
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000615 * Version 2.3.4 released.
616 =========================
617
618
619 Tag sources with `VER-2-3-4'.
620
621 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
622 version number to 2.3.4.
623
624 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
625 builds/win32/visualc/freetype.dsp,
626 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
627
628 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
629
630 * builds/unix/configure.raw (version_info): Set to 9:15:3.
631
Werner Lembergf4a52a62007-04-09 08:40:11 +00006322007-04-09 Martin Horak <horakm@centrum.cz>
633
634 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
635 memory stream to avoid a crash with the incremental memory
636 interface (Savannah bug #19260).
637
David Turner1dcb4442007-04-06 08:19:04 +00006382007-04-06 David Turner <david@freetype.org>
639
Werner Lembergc81cf612007-04-06 09:28:23 +0000640 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
641 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000642
Werner Lemberg9f83e052007-04-05 02:28:23 +00006432007-04-04 Werner Lemberg <wl@gnu.org>
644
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000645
Werner Lemberg9f83e052007-04-05 02:28:23 +0000646 * Version 2.3.3 released.
647 =========================
648
649
650 Tag sources with `VER-2-3-3'.
651
652 * docs/CHANGES: Mention CVE-2007-1351.
653
David Turner7338ec22007-04-03 14:30:34 +00006542007-04-03 David Turner <david@freetype.org>
655
656 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000657 if one of the resolution values is 0, treat it as if it were the
658 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000659
David Turnere6472c12007-04-02 13:13:54 +00006602007-04-02 David Turner <david@freetype.org>
661
Werner Lemberg94f12272007-04-03 07:19:53 +0000662 Add special code to detect `extra-light' fonts and do not snap their
663 stem widths too much to avoid bizarre hinting effects.
664
665 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
666 `extra_light' members.
667
668 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
669 them.
670 (af_latin_metrics_scale_dim): Set `extra_light'.
671 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000672
David Turner3f539692007-03-28 14:53:40 +00006732007-03-28 David Turner <david@freetype.org>
674
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000675 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000676 padding.
677
Werner Lemberga08b2172007-03-28 07:17:17 +00006782007-03-28 Werner Lemberg <wl@gnu.org>
679
680 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
681 gracefully.
682 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000683 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000684 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
685 number of code points in Unicode.
686
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000687 * builds/win32/visualc/index.html,
688 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000689 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000690 s/232/233/.
691
692 * docs/CHANGES: Mention ftdiff.
693
David Turner3b242d32007-03-26 12:03:04 +00006942007-03-26 David Turner <david@freetype.org>
695
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000696 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
697 corresponding code.
698 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000699
Werner Lemberga08b2172007-03-28 07:17:17 +0000700 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000701 computations in order to ignore single-point contours. These are
702 never rasterized and correspond in certain fonts to mark-attach
703 points that are very far from the glyph's real outline, ruining the
704 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000705
Werner Lemberga08b2172007-03-28 07:17:17 +0000706 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +0000707 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +0000708 Otherwise code that uses them will most certainly ruin the fixed
709 advance property.
David Turner23553d62007-03-26 13:37:17 +0000710
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000711 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
712 documentation and bump version number to 2.3.3.
713
714 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
715
716 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000717
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00007182007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
719
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000720 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
721 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000722 * builds/vms/ftconfig.h: Ditto.
723 * include/freetype/config/ftconfig.h: Ditto.
724
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00007252007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
726
Werner Lemberg14ffe092007-03-22 06:12:43 +0000727 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
728 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000729 proposed by Sean McBride:
730 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
731
7322007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
733
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000734 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
735 setjmp, proposed by Sean McBride:
736 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
737
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00007382007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
739
Werner Lembergc9f6c662007-03-21 13:30:14 +0000740 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
741 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
742 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000743
David Turner74c34eb2007-03-18 07:19:31 +00007442007-03-18 David Turner <david@freetype.org>
745
Werner Lembergc9f6c662007-03-21 13:30:14 +0000746 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
747 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000748
Werner Lembergc9f6c662007-03-21 13:30:14 +0000749 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000750
David Turner89020d92007-03-17 17:48:57 +00007512007-03-17 David Turner <david@freetype.org>
752
Werner Lembergc9f6c662007-03-21 13:30:14 +0000753 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
754 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000755
Werner Lemberg25d592a2007-03-09 07:59:35 +00007562007-03-09 Werner Lemberg <wl@gnu.org>
757
Werner Lemberg3b0e5002007-07-03 04:48:19 +0000758
Werner Lemberg25d592a2007-03-09 07:59:35 +0000759 * Version 2.3.2 released.
760 =========================
761
762
763 Tag sources with `VER-2-3-2'.
764
765 * builds/win32/visualc/index.html,
766 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000767 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000768 s/231/232/.
769
David Turner3a51afa2007-03-08 10:50:38 +00007702007-03-08 David Turner <david@freetype.org>
771
Werner Lemberg25d592a2007-03-09 07:59:35 +0000772 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000773
Werner Lemberg25d592a2007-03-09 07:59:35 +0000774 * builds/unix/configure.raw (version_info): Set to 9:13:3.
775
776 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
777
778 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000779
Werner Lemberg1e259de2007-03-08 15:39:21 +0000780 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
781 function to work properly, over-writing user-provided buffers in
782 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000783
David Turner121cad52007-03-08 16:43:50 +0000784
Werner Lemberg3d92f082007-03-06 11:59:24 +00007852007-03-05 Werner Lemberg <wl@gnu.org>
786
787 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
788 macro for `strstr'.
789
790 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
791 `trick_names', as suggested by Ivan Nincic.
792
David Turner085bc6e2007-03-05 17:40:03 +00007932007-03-05 David Turner <david@freetype.org>
794
Werner Lembergd112cf02007-03-06 12:06:56 +0000795 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
796 case FT_Init_FreeType fails for some reason. Problem reported by
797 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000798
Werner Lembergd112cf02007-03-06 12:06:56 +0000799 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
800 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
801 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
802 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000803
Werner Lembergd112cf02007-03-06 12:06:56 +0000804 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
805 signed values, not unsigned ones. Problem reported by Johannes
806 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000807
David Turner601aefe2007-02-21 16:47:49 +00008082007-02-21 David Turner <david@freetype.org>
809
Werner Lembergde5e6862007-02-25 21:06:43 +0000810 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
811 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000812
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00008132007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
814
815 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
816 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
817 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
818
Werner Lemberga0915172007-02-16 08:12:50 +00008192007-02-16 Werner Lemberg <wl@gnu.org>
820
821 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
822 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
823
David Turner2c4500e2007-02-14 15:08:47 +00008242007-02-14 David Turner <david@freetype.org>
825
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000826 It seems that the following changes fix most of the known
827 interpreter problems with my fonts, but more testing is needed,
828 though.
829
830 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
831 (TT_MulFix14): Rewrite.
832 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
833 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000834
Werner Lembergc6a14082007-02-12 22:08:15 +00008352007-02-12 Werner Lemberg <wl@gnu.org>
836
837 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
838 warnings.
839
840 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
841 (bdf_interpret_style): Ditto.
842
David Turnerc0f9c4a2007-02-12 14:55:03 +00008432007-02-12 David Turner <david@freetype.org>
844
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000845 Simplify projection and dual-projection code interface.
846
Werner Lemberg406d25f2007-02-12 22:01:18 +0000847 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
848 FT_Vector' as argument type.
849 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
850 Updated.
851 (CUR_fast_project, CUR_fast_dualproj): New macros.
852 (Project, Dual_Project, Project_x, Project_y): Updated.
853 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
854 macros.
855
856
857 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
858 adjustments for the non-light auto-hinted modes. Gets rid of
859 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000860
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000861 * src/autofit/aflatin.c (af_latin_hints_link_segments,
862 af_latin_hints_compute_edges): Slight optimization of the segment
863 linker and better handling of serif segments to get rid of broken
864 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000865
David Turnerc0f9c4a2007-02-12 14:55:03 +0000866
Werner Lemberg442bfb82007-02-12 21:44:10 +0000867 Introduce new string functions and the corresponding macros to get
868 rid of various uses of strcpy and other `evil' functions, as well as
869 to simplify a few things.
870
871 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
872 ft_mem_strcpyn): New declarations.
873 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
874 macros.
875 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
876 functions.
877
878 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
879 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
880 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
881 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
882 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
883 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
884 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
885 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000886
Werner Lemberg406d25f2007-02-12 22:01:18 +0000887 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
888
Werner Lemberg582067d2007-02-11 15:03:05 +00008892007-02-11 Werner Lemberg <wl@gnu.org>
890
891 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
892 non-spacing glyphs.
893
Werner Lemberg8f474532007-02-07 08:31:01 +00008942007-02-07 Tom Parker <palfrey@tevp.net>
895
896 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
897 pointer.
898
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00008992007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
900
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000901 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
902 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000903 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000904 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
905 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
906 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
907 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000908
909 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
910 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000911 * builds/mac/ftmac.c: Ditto.
912
9132007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
914
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000915 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000916 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000917 #include <ftmac.c>.
918
9192007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
920
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000921 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
922 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
923 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
924 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
925 FT_GetFilePath_From_Mac_ATS_Name.
926 * builds/mac/ftmac.c: Ditto.
927
9282007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
929
Werner Lembergdcbb7082007-02-08 08:54:09 +0000930 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000931 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
932 for passing to FT_New_Face_From_FSSpec.
933
9342007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
935
Werner Lembergdcbb7082007-02-08 08:54:09 +0000936 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000937 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000938
939 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
940 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000941 * builds/mac/ftmac.c (OS_INLINE): Ditto.
942
Werner Lemberg313d7772007-02-01 08:10:45 +00009432007-02-01 Werner Lemberg <wl@gnu.org>
944
945 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
946 Explain why applications shouldn't use it. Found by Alexei.
947
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00009482007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000949
950 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
951 message.
952
953 * src/gxvalid/gxvmort1.c
954 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
955 message.
956
Werner Lemberg53935932007-01-31 08:53:02 +00009572007-01-31 Werner Lemberg <wl@gnu.org>
958
959
960 * Version 2.3.1 released.
961 =========================
962
963
964 Tag sources with `VER-2-3-1-FINAL'.
965
966 * builds/win32/visualc/freetype.dsp,
967 builds/win32/visualc/freetype.vcproj: s/230/231/.
968 * builds/win32/visualc/index.html: s/221/231/.
969
970 * vms_make.com: Add `ftgasp'.
971
David Turnera7ee6082007-01-30 10:33:53 +00009722007-01-30 David Turner <david@freetype.org>
973
Werner Lemberg53935932007-01-31 08:53:02 +0000974 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000975
Werner Lemberg53935932007-01-31 08:53:02 +0000976 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000977
Werner Lemberg25d592a2007-03-09 07:59:35 +0000978 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000979 s/2.3.0/2.3.1/.
980
981 * builds/unix/configure.raw (version_info): Set to 9:12:3.
982
983
984 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
985 (af_loader_load_g): Disable the warper (i.e., the light hinting
986 improvements) to make a 2.3.1 bugfix release before introducing a
987 new feature. This should give us more time to tune and improve the
988 warper for the next release.
989
990 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000991
David Turnerd91eebd2007-01-26 15:05:41 +00009922007-01-25 David Turner <david@freetype.org>
993
Werner Lembergbf241762007-01-26 16:08:49 +0000994 For light auto-hinting, improve glyph advance widths and resurrect
995 normal/full hinting to its normal quality.
996
997 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
998 and `xmax_delta'.
999 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
1000 and `xmax_delta'.
1001
1002 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
1003 preprocessor conditional with if-clause, handling both light and
1004 normal mode.
1005
1006 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
1007 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00001008
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000010092007-01-25 Werner Lemberg <wl@gnu.org>
1010
1011 * docs/release: Updated -- Savannah uses a new uploading scheme.
1012
David Turnera42567b2007-01-25 12:23:37 +000010132007-01-25 David Turner <david@freetype.org>
1014
Werner Lembergd7855662007-01-25 13:53:56 +00001015 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00001016
Werner Lembergd7855662007-01-25 13:53:56 +00001017 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
1018 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
1019 functions.
David Turnera42567b2007-01-25 12:23:37 +00001020
Werner Lembergd7855662007-01-25 13:53:56 +00001021 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00001022
Werner Lembergb1be9e82007-01-25 11:50:00 +000010232007-01-25 Werner Lemberg <wl@gnu.org>
1024
1025 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00001026 correctly in a sanity check. Since this function is only used to
1027 load local and global functions, any charstring that called the last
1028 local/global function would fail otherwise. This fixes Savannah bug
1029 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00001030
1031 * docs/CHANGES: Document it.
1032
David Turnerb6de8d12007-01-23 15:51:50 +000010332007-01-23 David Turner <david@freetype.org>
1034
Werner Lembergb1be9e82007-01-25 11:50:00 +00001035 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
1036 prevented compilation when disabling both the unpatented and the
1037 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00001038
Werner Lembergb1be9e82007-01-25 11:50:00 +00001039
1040 Fix and enable the warper to improve `light' hinting mode. This is
1041 not necessarily a final version, but it seems to work well.
1042
1043 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
1044 Disable code.
1045 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
1046 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
1047
1048 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
1049 (af_warper_compute_line_best): Fix array size of `scores'.
1050 (af_warper_compute): Better handling of border cases.
1051 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
1052 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00001053
Werner Lemberg011d1112007-01-21 09:36:00 +000010542007-01-21 Werner Lemberg <wl@gnu.org>
1055
Werner Lemberg42b63b22007-01-21 21:01:33 +00001056 * ChangeLog: Split off older entries into...
1057 * ChangeLog.22: This new file.
1058
10592007-01-21 Werner Lemberg <wl@gnu.org>
1060
Werner Lemberg555258f2007-01-21 09:46:37 +00001061 * docs/CHANGES: Document SHZ fix.
1062
10632007-01-21 George Williams <gww@silcom.com>
1064
1065 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
1066 points.
1067
10682007-01-21 Werner Lemberg <wl@gnu.org>
1069
Werner Lemberg011d1112007-01-21 09:36:00 +00001070 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1071 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
1072
Werner Lemberg87a5a432007-01-17 12:44:39 +000010732007-01-17 Werner Lemberg <wl@gnu.org>
1074
Werner Lembergb8003292007-01-17 12:56:25 +00001075
1076 * Version 2.3.0 released.
1077 =========================
1078
1079
1080 Tag sources with `VER-2-3-0-FINAL'.
1081
10822007-01-17 Werner Lemberg <wl@gnu.org>
1083
Werner Lemberg87a5a432007-01-17 12:44:39 +00001084 * docs/release: Updated.
1085
David Turner22122722007-01-16 20:06:44 +000010862007-01-16 David Turner <david@freetype.org>
1087
Werner Lemberg87a5a432007-01-17 12:44:39 +00001088 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
1089 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
1090 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
1091 warnings.
David Turner22122722007-01-16 20:06:44 +00001092
Werner Lemberg267e1d72007-01-15 07:48:09 +000010932007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
1094
1095 * builds/amiga/makefile, builds/amiga/makefile.os4,
1096 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
1097
1098 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
1099
Werner Lemberg8c4120d2007-01-15 06:42:40 +000011002007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
1101
1102 Fix various compiler warnings.
1103
1104 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
1105 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
1106 s/index/strike_index/.
1107 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1108
1109 * src/gxvalid/gxvmorx5.c
1110 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1111
1112 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1113 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1114 uninitialized variables.
1115
Werner Lemberg6164a9d2007-01-13 23:01:36 +000011162007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1117
1118 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1119
Werner Lemberg281c1482007-01-13 22:50:51 +000011202007-01-13 Werner Lemberg <wl@gnu.org>
1121
1122 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1123 versions up to 0x3FF without complaining.
1124
Werner Lembergac250b22007-01-13 14:01:36 +000011252007-01-13 Derek Clegg <dclegg@apple.com>
1126
1127 Add FT_Get_PS_Font_Info interface to CFF driver.
1128
1129 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1130 (CFF_FontRec): Add `font_info' field.
1131
1132 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1133 (cff_font_done): Free font->font_info if necessary.
1134
1135 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1136 (cff_service_ps_info): Register cff_ps_get_font_info.
1137
Werner Lemberg23df31a2007-01-13 08:45:00 +000011382007-01-13 Werner Lemberg <wl@gnu.org>
1139
1140 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1141 with C++ compiler.
1142
1143 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1144 af_glyph_hints_dump_edges): Ditto.
1145
1146 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1147 `modules.cfg').
1148
1149 * src/sfnt/ttsbit0.h: Remove.
1150
1151 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1152
Werner Lemberg27cf9de2007-01-13 07:34:23 +000011532007-01-12 David Turner <david@freetype.org>
1154
1155 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1156 bug in the bitmap emboldener if the pitch of the source bitmap is
1157 much larger than its width.
1158
1159 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1160 compilation warning.
1161
Werner Lemberg6d96d312007-01-12 10:30:19 +000011622007-01-12 Werner Lemberg <wl@gnu.org>
1163
1164 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1165 `automake' CVS module from sources.redhat.com.
1166
Werner Lemberg17432b52007-01-12 09:28:44 +000011672007-01-11 Werner Lemberg <wl@gnu.org>
1168
1169 * src/type1/t1load.c (is_space): Removed.
1170 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1171 (parse_charstrings): Use IS_PS_TOKEN.
1172
1173
1174 * autogen.sh: Avoid bash specific syntax.
1175
David Turner038ace22007-01-11 15:00:59 +000011762007-01-11 David Turner <david@freetype.org>
1177
Werner Lemberg17432b52007-01-12 09:28:44 +00001178 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001179
Werner Lemberg17432b52007-01-12 09:28:44 +00001180 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001181
Werner Lemberg17432b52007-01-12 09:28:44 +00001182 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1183 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001184 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001185
Werner Lemberg17432b52007-01-12 09:28:44 +00001186 * autogen.sh: Small fix to get it working on Mac OS X properly:
1187 The issue is that GNU libtool is called `glibtool' on this platform,
1188 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001189
David Turner2628ea92007-01-10 13:15:56 +000011902007-01-10 David Turner <david@freetype.org>
1191
Werner Lemberg17432b52007-01-12 09:28:44 +00001192 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1193 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001194
Werner Lemberg17432b52007-01-12 09:28:44 +00001195 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1196 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1197 version number to 2.3.0.
1198
1199 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1200 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001201
1202 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001203 include/freetype/ftlcdfil.h: Update reference documentation with
1204 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001205
Werner Lemberg17432b52007-01-12 09:28:44 +00001206 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1207 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001208
Werner Lembergbf02d392007-01-10 07:07:37 +000012092007-01-10 Derek Clegg <dclegg@apple.com>
1210
1211 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1212 values.
1213
David Turnerf48b60e2007-01-08 15:15:32 +000012142007-01-08 David Turner <david@freetype.org>
1215
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001216 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001217
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001218 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1219 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001220 corresponding to a given character pixel size.
1221
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001222 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1223 `gasp' table, in order to avoid potential problems with later
1224 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001225
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001226 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1227 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001228
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001229 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1230 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1231 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1232 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001233
Werner Lemberge6b6f372007-01-07 00:06:47 +000012342007-01-07 Werner Lemberg <wl@gnu.org>
1235
Werner Lembergb8004d22007-01-07 09:13:38 +00001236 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1237 Type 11 fonts.
1238 Scan for `/sfnts' token.
1239
12402007-01-07 Werner Lemberg <wl@gnu.org>
1241
1242 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001243
Werner Lembergbe5f7972007-01-06 07:51:48 +000012442007-01-06 Werner Lemberg <wl@gnu.org>
1245
1246 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1247 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1248
David Turnera8cf42b2007-01-04 16:46:46 +000012492007-01-04 David Turner <david@freetype.org>
1250
Werner Lembergf6294392007-01-06 07:47:45 +00001251 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1252 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001253
Werner Lembergf6294392007-01-06 07:47:45 +00001254
1255 Do not allocate interpreter-specific tables in memory if we are not
1256 going to load glyphs with the bytecode interpreter anyway.
1257
1258 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1259 only if glyph is hinted.
1260 Updated.
1261 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1262 and `cvs_ready'.
1263 Add `tt_size_ready_bytecode' declaration.
1264 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1265 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1266 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1267 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1268 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001269
David Turner91a34022007-01-05 14:47:08 +00001270
Werner Lembergf6294392007-01-06 07:47:45 +00001271 Don't extract the metrics table from the SFNT font file. Instead,
1272 reparse it on each glyph load. The runtime difference is not
1273 noticeable, and it can save a lot of heap memory when memory-mapped
1274 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001275
Werner Lembergf6294392007-01-06 07:47:45 +00001276 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1277 `horz_metrics_offset' and `vert_metrics_ofset'.
1278 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1279 Updated.
1280
1281
1282 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1283
1284
1285 Do not load the CFF index offsets into memory, since this wastes a
1286 *lot* of heap memory with large Asian CFF fonts. There is no
1287 significant performance loss.
1288
1289 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1290 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1291 `data_size'.
1292 (CFF_CharsetRec): Add field `num_glyphs'.
1293
1294 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1295 cff_charset_cid_to_gindex): New functions.
1296 (cff_new_index): Renamed to...
1297 (cff_index_init): This. Update all callers.
1298 Updated -- some code has been moved to `cff_index_load_offsets'.
1299 (cff_done_index): Renamed to...
1300 (cff_index_done): This. Update all callers.
1301 (cff_index_get_pointers, cff_index_access_element): Updated to use
1302 stream offsets.
1303 (cff_charset_compute_cids): Set `num_glyphs' field.
1304 (cff_encoding_load): Updated.
1305
1306 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001307
13082007-01-04 David Turner <david@freetype.org>
1309
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001310 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1311 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001312
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001313 * README.CVS: Add common problem description and solution
1314 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001315
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001316 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001317
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001318 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001319
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001320 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001321
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001322 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1323 (TWorker): This.
1324 Remove `count_table' and `memory'.
1325 Make `grays' a pointer.
1326 (TRaster): New structure.
1327 (count_table): New static array.
1328 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1329 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1330 ft_black_set_mode, ft_black_render): Updated.
1331 (ft_black_init): Don't initialize `count_table'.
1332 (ft_black_reset): Use the render pool. This saves about 6KB of
1333 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001334
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001335 * src/smooth/ftgrays.c (TRaster): Replaced with...
1336 (TWorker): This.
1337 Remove `memory'.
1338 (TRaster): New structure.
1339
1340 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1341 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1342 gray_render_span, gray_raster_render): Updated.
1343 (gray_raster_reset): Use the render pool. This saves about 6KB of
1344 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001345
David Turner8a6c44e2007-01-04 17:03:11 +00001346 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1347 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001348 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1349 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1350 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001351
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001352 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1353 Remove a typo that results in no hinting and a memory leak with some
1354 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001355
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001356 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001357 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001358 CFF_Faces in it. We need to close all faces before destroying the
1359 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001360
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000013612007-01-02 Werner Lemberg <wl@gnu.org>
1362
1363 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1364 Remove compiler warning.
1365
David Turner9207e002007-01-02 16:58:13 +000013662007-01-02 David Turner <david@freetype.org>
1367
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001368 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001369
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000013702006-12-31 Masatake YAMATO <jet@gyve.org>
1371
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001372 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1373 function.
1374 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001375 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001376 `gxv_kern_subtable_fmt0_pairs_validate'.
1377
David Turner115b4422006-12-22 11:37:05 +000013782006-12-22 David Turner <david@freetype.org>
1379
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001380 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1381 warnings.
David Turner115b4422006-12-22 11:37:05 +00001382
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001383 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1384 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001385
Werner Lemberg4755bf72006-12-16 08:58:44 +000013862006-12-16 Anders Kaseorg <anders@kaseorg.com>
1387
1388 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1389 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1390
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000013912006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1392
Werner Lemberg9b774e22007-01-16 06:11:27 +00001393 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001394 sync with the modification by Jens Claudius on 2006-08-22; cf.
1395 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 +00001396
13972006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1398
1399 * src/base/ftmac.c: Specialized for Mac OS X only.
1400 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1401 * builds/unix/configure.raw: Ditto. When explicit switches for
1402 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1403 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1404
14052006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1406
1407 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1408 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1409 instead of src/base/ftmac.c
1410 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1411 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1412 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1413 that cannot be built at present.
1414
14152006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1416
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001417 * src/base/ftobjs.c: Improvement of resource fork handler for
1418 POSIX, cf.
1419 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001420 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1421 format or .dfont, to simulate the face index number counted by ftmac.c.
1422 (IsMacResource): Return the number of scalable faces correctly.
1423
Werner Lembergec5b4502006-12-10 07:51:38 +000014242006-12-10 Werner Lemberg <wl@gnu.org>
1425
1426 * builds/toplevel.mk (version): Protect against `distclean' target.
1427
Werner Lembergb26b3142006-12-09 20:01:43 +000014282006-12-09 Werner Lemberg <wl@gnu.org>
1429
1430 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1431 or `type'.
1432
1433 * builds/freetype.mk (version): Extracted from freetype.h, using
1434 GNU make's built-in string functions.
1435 (refdoc): Use $(version) instead of static version number.
1436
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000014372006-12-08 Werner Lemberg <wl@gnu.org>
1438
1439 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1440
Werner Lemberg15c29502006-12-09 07:29:54 +000014412006-12-08 Vladimir Volovich <vvv@vsu.ru>
1442
1443 * src/tools/apinames (State): Remove final comma in structure -- xlc
1444 v5 under AIX 4.3 doesn't like this.
1445
David Turnerdbf3b432006-12-07 21:18:09 +000014462006-12-07 David Turner <david@freetype.org>
1447
Werner Lemberg256a3512006-12-08 06:49:33 +00001448 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1449 to the spacing of auto-fitted glyphs. This only impacts rare
1450 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001451
Werner Lemberg11171312006-12-03 09:43:40 +000014522006-12-03 Werner Lemberg <wl@gnu.org>
1453
1454 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1455
Werner Lemberg960ba592006-12-01 08:20:47 +000014562006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001457
Werner Lemberg960ba592006-12-01 08:20:47 +00001458 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1459 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1460 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001461
David Turner80658e52006-11-28 08:09:20 +00001462
Werner Lemberg960ba592006-12-01 08:20:47 +00001463 * include/freetype/ftxf86.h: Fix and extend comment so that it
1464 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001465
Werner Lemberg960ba592006-12-01 08:20:47 +00001466 * include/freetype/ftchapters.h: Add `font_format' section.
1467
1468
1469 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1470 to TOC in index page.
1471
14722006-11-28 David Turner <david@freetype.org>
1473
1474 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1475 trying to render into a zero-width/height bitmap, not an error code.
1476
1477 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1478
1479 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1480 ones instead.
1481
1482 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1483 variable.
David Turner80658e52006-11-28 08:09:20 +00001484
Werner Lemberg8636c292006-11-26 22:28:13 +000014852006-11-26 Pierre Hanser <hanser@club-internet.fr>
1486
1487 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1488
Werner Lemberg960ba592006-12-01 08:20:47 +000014892006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001490
Werner Lemberg960ba592006-12-01 08:20:47 +00001491 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1492 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1493 Add stubs to link the `ftgrid' test program when debugging is
1494 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001495
Werner Lemberg960ba592006-12-01 08:20:47 +000014962006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001497
1498 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001499 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1500
1501 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1502 Emit more sensible information.
1503
1504 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1505
1506 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1507 rounding of blue values.
1508 (af_latin_hints_compute_segments): Hint segment heights.
1509 (af_latin_hints_link_segments): Reduce `len_score' value.
1510 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1511 value and use `height' member for comparisons.
1512 (af_latin_hint_edges): Extend logging message.
1513 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001514
Werner Lemberg91959bf2006-11-22 10:36:55 +000015152006-11-22 Werner Lemberg <wl@gnu.org>
1516
1517 Fix Savannah bug #15553.
1518
1519 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1520 program after a change from mono to grayscaling (and vice versa).
1521 Use correct constant for comparison to get `exec->grayscale'.
1522
Werner Lemberg913a3652006-11-19 09:19:17 +000015232006-11-18 Werner Lemberg <wl@gnu.org>
1524
1525 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001526 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001527 This patch fixes Savannah bug #18301.
1528
1529 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1530 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1531 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1532 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1533 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1534 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1535 (FNT_Load_Glyph): Check validity of `glyph_index'.
1536
David Turner7bab6ae2006-11-13 11:25:06 +000015372006-11-13 David Turner <david@freetype.org>
1538
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001539 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1540 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001541
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001542 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1543 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1544 when building the library to change the default LCD filter to be
1545 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001546
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001547 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001548
David Turner8765c712006-11-10 16:49:42 +000015492006-11-10 David Turner <david@freetype.org>
1550
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001551 * src/smooth/ftsmooth.c: API change for the LCD
1552 filter. The FT_LcdFilter value is an enumeration describing which
1553 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1554 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1555 algorithm which produces strong color fringes for everything
1556 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001557
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001558 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1559 second parameter to an enum type.
1560
1561 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1562 (_ft_lcd_filter): Rename to...
1563 (_ft_lcd_filter_fir): This.
1564 Update parameters.
1565 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1566 (FT_Library_Set_LcdFilter): Update parameters.
1567 Handle new filter modes.
1568
1569 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1570 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1571 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1572 callback and update other fields.
1573
1574 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1575 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1576 Other minor improvements.
1577
1578 * src/autofit/aflatin.c: Various tiny improvements that drastically
1579 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1580 (af_latin_hints_compute_edges): Fix typo.
1581 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001582
David Turner4e9cc3c2006-11-09 16:31:52 +000015832006-11-09 David Turner <david@freetype.org>
1584
Werner Lemberg49c77a82006-11-09 21:51:57 +00001585 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1586 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001587
Werner Lemberg5e430892006-11-07 09:35:03 +000015882006-11-07 Zhe Su <james.su@gmail.com>
1589
1590 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1591 also.
1592
Werner Lemberg111b5ae2006-11-03 09:40:12 +000015932006-11-03 Werner Lemberg <wl@gnu.org>
1594
1595 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1596
David Turner40604742006-11-02 16:37:35 +000015972006-11-02 David Turner <david@freetype.org>
1598
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001599 Add a few tweaks to better handle serif fonts.
1600 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001601
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001602 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1603 segments that are less than 1.5 pixels high. This gets rid of
1604 *many* corner cases with serifs.
1605 (af_latin_align_linked_edge): Add logging message.
1606 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1607 Add logging messages.
1608 Handle AF_EDGE_FLAG flag specially.
1609
1610 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1611 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1612
1613 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1614 Update external declarations.
1615 (af_corner_orientation, af_corner_is_flat): Replaced by...
1616
1617 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1618 ft_corner_is_flat): These declarations.
1619
1620 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1621 Comment out. Replaced by...
1622
1623 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1624 These functions. Update all callers.
1625 (FT_Add64) [!FT_LONG64]: Simplify.
1626
1627 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1628 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1629 production of garbage by missing lots of segments.
1630
1631 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1632
1633 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1634 [AF_DEBUG]: Set _af_debug_hints.
1635
1636
1637 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1638 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1639 and ft_corner_orientation.
1640
1641
1642 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001643
Werner Lemberge88c5262006-10-24 05:46:26 +000016442006-10-24 Werner Lemberg <wl@gnu.org>
1645
1646 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1647
1648 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1649 as argument.
1650
David Turnera1861392006-10-23 16:00:59 +000016512006-10-23 Zhe Su <zsu@novell.com>
1652
Werner Lemberg715e96e2006-10-24 05:28:45 +00001653 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1654 better deal with broken Asian fonts with strange glyphs, having
1655 self-intersections and other peculiarities. The used algorithm is
1656 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001657
David Turnere140f142006-10-23 08:56:57 +000016582006-10-23 David Turner <david@freetype.org>
1659
Werner Lemberg715e96e2006-10-24 05:28:45 +00001660 Speed up the CFF font loader. With some large CFF fonts,
1661 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001662
Werner Lemberg715e96e2006-10-24 05:28:45 +00001663 * src/cff/cffload.c (cff_get_offset): Removed.
1664 (cff_new_index): Inline functionality of `cff_get_offset'.
1665 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1666 (cff_charset_done): Call `cff_charset_free_cids'.
1667 (cff_charset_load): Call `cff_charset_compute_cids'.
1668 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1669
1670 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1671 with FT_NEXT_XXX.
1672
1673
1674 Speed up the Postscript hinter, with more than 100% speed increase
1675 on my machine.
1676
1677 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1678 psh_corner_orientation): New functions.
1679 (psh_glyph_compute_inflections): Merge loops for efficiency.
1680 Use `psh_corner_orientation'.
1681 (psh_glyph_init): Use `psh_corner_is_flat'.
1682 (psh_hint_table_find_strong_point): Renamed to...
1683 (psh_hint_table_find_strong_points): This.
1684 Rewrite, adding argument to handle all points at once.
1685 Update all callers.
1686 (PSH_MAX_STRONG_INTERNAL): New macro.
1687 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001688
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000016892006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1690
1691 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001692 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001693
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000016942006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1695
1696 * docs/INSTALL.CROSS: New document file for cross-building.
1697
1698 * builds/unix/configure.raw: Preliminary cross-building support.
1699 Find native C compiler and pass it by CC_BUILD, and
1700 find suffix for native executable and pass it by EXEEXT_BUILD.
1701 Also suffix for target executable is passed by EXEEXT.
1702
Werner Lembergb9e6d692006-10-15 08:58:40 +00001703 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1704 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001705 CC_BUILD and EXEEXT_BUILD.
1706
Werner Lembergb9e6d692006-10-15 08:58:40 +00001707 * builds/exports.mk (APINAMES_EXE): Change the extension for
1708 apinames from the suffix for target (E) to that for building host
1709 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001710
Werner Lemberg82a07e92006-10-12 06:20:44 +000017112006-10-12 Werner Lemberg <wl@gnu.org>
1712
1713 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1714 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1715 which reference those files.
1716
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000017172006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1718
Werner Lembergb9e6d692006-10-15 08:58:40 +00001719 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1720 embedded in freetype2.pc and freetype-config. Use it to record
1721 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001722
1723 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1724
1725 * builds/unix/freetype-config.in: Ditto.
1726
Werner Lemberg28e17d92006-10-11 17:27:47 +000017272006-10-11 Werner Lemberg <wl@gnu.org>
1728
1729 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1730 development.
1731
Jens Claudius336d2292006-10-03 08:53:37 +000017322006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1733
1734 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1735 argument to ft_setjmp.
1736
1737 * include/freetype/internal/ftvalid.h: Add comment that
1738 ft_validator_run must not be used.
1739
Werner Lemberg2863cfa2006-10-01 17:04:00 +000017402006-10-01 Werner Lemberg <wl@gnu.org>
1741
1742 * src/base/ftbase.c: Undo change from 2006-09-30.
1743
1744 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1745
17462006-09-30 David Turner <david@freetype.org>
1747
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001748 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1749 s/unpatented_hinting/ignore_unpatented_hinter/.
1750 Update all callers.
1751
1752 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1753 auto-hinting shall be used or not.
1754
1755 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001756
Werner Lemberg2863cfa2006-10-01 17:04:00 +000017572006-09-30 Werner Lemberg <wl@gnu.org>
1758
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001759 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1760 in use).
1761
1762 * src/base/ftbase.c: Include `ftlcdfil.c'.
1763
Werner Lemberg9b15ea32006-09-29 18:22:11 +000017642006-09-29 Werner Lemberg <wl@gnu.org>
1765
1766 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1767 overlapping segments. Bug reported by Stefan Koch.
1768
David Turnerad830712006-09-27 16:20:59 +000017692006-09-28 David Turner <david@freetype.org>
1770
Werner Lemberg2c002e12006-09-29 21:31:53 +00001771 Fix a bug in the automatic unpatented hinting support which prevents
1772 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001773
Werner Lemberg2c002e12006-09-29 21:31:53 +00001774 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1775 s/force_autohint/unpatented_hinting/. Update all callers.
1776
1777 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1778
1779 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001780
David Turner8a317cf2006-09-27 07:52:48 +000017812006-09-27 David Turner <david@freetype.org>
1782
Werner Lemberg2c002e12006-09-29 21:31:53 +00001783 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001784
David Turner8a317cf2006-09-27 07:52:48 +00001785
David Turnere140f142006-10-23 08:56:57 +00001786 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001787 In a default build, the function `FT_Library_SetLcdFilter' returns
1788 `FT_Err_Unimplemented_Feature'; you need to #define
1789 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1790 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001791
Werner Lemberg2c002e12006-09-29 21:31:53 +00001792 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001793
Werner Lemberg2c002e12006-09-29 21:31:53 +00001794 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1795 typedef.
1796 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1797 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001798
Werner Lemberg2c002e12006-09-29 21:31:53 +00001799 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1800 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001801
Werner Lemberg2c002e12006-09-29 21:31:53 +00001802 Handle subpixel rendering.
1803 Simplify function.
1804 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1805 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1806
1807 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1808 pointing to <freetype/ftlcdfil.h>.
1809
1810 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1811 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1812
1813 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001814
Werner Lemberge20df4a2006-09-27 06:29:21 +000018152006-09-26 David Bustin
1816
1817 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1818 correctly. Reported as Savannah bug #17843.
1819
David Turner6f8c6222006-09-26 15:42:44 +000018202006-09-26 David Turner <david@freetype.org>
1821
Werner Lemberg110246c2006-09-26 21:55:44 +00001822 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1823 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1824 horizontal and vertical hinting for the purpose of debugging the
1825 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001826
Werner Lemberg110246c2006-09-26 21:55:44 +00001827 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1828 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001829
Werner Lemberg110246c2006-09-26 21:55:44 +00001830 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1831
1832 * include/freetype/config/ftoption.h, devel/ftoption.h
1833 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1834 we want to compile LCD-optimized rendering code (à la ClearType) or
1835 not. The macro *must* be disabled in default builds of the library
1836 for patent reasons.
1837
1838 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1839 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1840 isn't defined at compile time. This only changes the content of the
1841 rendered glyph to match the one of normal gray-level rendering,
1842 hence clients should not need to be modified.
1843
1844 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001845
Werner Lemberg745ff2c2006-09-19 05:48:02 +000018462006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1847
1848 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1849 LWFN fails and both are available.
1850
David Turnerf3050052006-09-11 12:00:32 +000018512006-09-11 David Turner <david@freetype.org>
1852
Werner Lembergf9644552006-09-12 13:48:10 +00001853 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1854 report their English names through an Apple Roman
1855 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001856
Werner Lembergf9644552006-09-12 13:48:10 +00001857 If the font uses another name entry with language_id == English, it
1858 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001859
Werner Lembergf9644552006-09-12 13:48:10 +00001860 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1861 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001862
Werner Lemberg36d2eab2006-09-05 19:24:34 +000018632006-09-05 Werner Lemberg <wl@gnu.org>
1864
1865 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001866 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001867 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1868 `HAN NOM B.ttf').
1869
1870 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1871
David Turner772e55d2006-09-05 09:45:15 +000018722006-09-05 David Turner <david@freetype.org>
1873
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001874 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001875
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001876 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1877 (TRaster): Remove `count_ex' and `count_ey'.
1878 (gray_find_cell): Remove 2nd and 3rd argument.
1879 (gray_alloc_cell): Merged with `gray_find_cell'.
1880 (gray_record_cell): Simplify.
1881 (gray_set_cell): Rewrite.
1882 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1883 (gray_render_span): Don't use FT_MEM_SET for small values.
1884 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1885 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1886 bitmap scanline.
1887 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001888
David Turneraa557a92006-09-04 16:42:44 +000018892006-09-04 David Turner <david@freetype.org>
1890
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001891 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1892 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001893
Werner Lemberg2d8629b2006-09-03 06:18:45 +000018942006-09-03 Werner Lemberg <wl@gnu.org>
1895
1896 * devel/ftoption.h: Synchronize with
1897 include/freetype/config/ftoption.h.
1898
1899 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1900 variable declaration.
1901 (gray_convert_glyph): Fix compiler warnings.
1902
David Turner6d79f212006-09-01 14:09:35 +000019032006-09-01 David Turner <david@freetype.org>
1904
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001905 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1906 to recognize a few fonts that require the automatic unpatented
1907 loader.
David Turnerbd502952006-09-01 19:05:24 +00001908
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001909 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1910 rasterizer. The speed improvement is between 15% and 25%, depending
1911 on the font data.
1912
1913 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1914 (TCell): Redefine.
1915 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1916 (gray_init_cells): Updated.
1917 (gray_find_cell, gray_alloc_cell): New functions.
1918 (gray_record_cell): Rewritten to use `gray_find_cell' and
1919 `gray_alloc_cell'.
1920 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1921 QSORT_THRESHOLD):
1922 Removed.
1923 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1924 gray_dump_cells): Removed.
1925 (gray_sweep): Rewritten.
1926 (gray_convert_glyph): Rewrite code which used one of the sorting
1927 functions.
1928 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001929
Werner Lembergd898aed2006-08-29 09:50:34 +000019302006-08-29 Dr. Werner Fink <werner@suse.de>
1931
1932 * configure: Make it possible to handle configure options which
1933 have strings containing spaces.
1934
19352006-08-27 David Turner <david@freetype.org>
1936
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001937 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1938 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1939 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1940
1941 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1942 src/truetype/truetype.c, src/truetype/ttdriver.c,
1943 src/truetype/ttgload.c, src/truetype/ttgload.h,
1944 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1945 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1946 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1947
1948 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1949 member `force_autohint'.
1950
1951 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1952
1953 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1954 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001955
Jens Claudiusa787f452006-08-27 11:26:18 +000019562006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1957
1958 Fix miscellaneous compiler warnings.
1959
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001960 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1961 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001962
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001963 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1964 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1965 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001966
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001967 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1968 volatileness of argument to ft_longjmp. Spotted by Werner
1969 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001970
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001971 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1972 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001973
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001974 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1975 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001976
Werner Lembergc4c35b72006-08-27 08:03:46 +000019772006-08-27 Werner Lemberg <wl@gnu.org>
1978
1979 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1980 Reported by Jens.
1981
Jens Claudius088e44e2006-08-22 14:24:30 +000019822006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001983
Jens Claudius088e44e2006-08-22 14:24:30 +00001984 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001985 about addresses of volatile objects passed as function arguments as
1986 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001987
Werner Lembergc4c35b72006-08-27 08:03:46 +00001988 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1989 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001990
1991 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1992 argument `table' a pointer to a volatile object.
1993
1994 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1995 argument `table' a pointer to a volatile object.
1996
Jens Claudius2652bd52006-08-18 17:20:37 +000019972006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1998
1999 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
2000 variable `_sfnt' as volatile since it must keep its value across
2001 a call to ft_setjmp.
2002 (gxv_validate): Same for local variables `memory' and `valid'.
2003 (classic_kern_validate): Same for local variables `memory',
2004 `ckern', and `valid'.
2005
2006 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
2007 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
2008 `jstf', and 'valid'.
2009
2010 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
2011 local variable `cmap'.
2012
David Turner9fbfc6a2006-08-16 09:11:31 +000020132006-08-16 David Turner <david@freetype.org>
2014
Werner Lemberg12342992006-08-19 11:18:09 +00002015 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
2016 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00002017
Werner Lemberg12342992006-08-19 11:18:09 +00002018 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
2019 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00002020
David Turner33f5f242006-08-16 16:50:55 +00002021
Werner Lemberg12342992006-08-19 11:18:09 +00002022 Improvements to native TrueType hinting. This is a first try,
2023 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
2024
2025 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
2026 `extra_points2'.
2027
2028 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
2029 `orus'.
2030
2031 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
2032 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
2033 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
2034 handle `extra_points2'.
2035
2036 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
2037 Remove compiler warning.
2038 (cur_to_arg): Remove macro.
2039 (TT_Hint_Glyph): Updated.
2040 (TT_Process_Simple_Glyph): Handle `orus'.
2041
2042 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
2043 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
2044 (LOC_Ins_IUP): Renamed to...
2045 (IUP_WorkerRec): This.
2046 Add `orus' member.
2047 (Shift): Renamed to...
2048 (_iup_worker_shift): This.
2049 Updated.
2050 (Interp): Renamed to...
2051 (_iup_worker_interpolate): This.
2052 Updated to handle `orus'.
2053 (Ins_IUP): Updated.
2054
2055 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
2056 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00002057
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000020582006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2059
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002060 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00002061 build ftvalid in ft2demos. This has been inadvertedly changed
2062 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002063
20642006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2065
Werner Lemberg12342992006-08-19 11:18:09 +00002066 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
2067 Jens:
2068 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002069
Werner Lemberg12342992006-08-19 11:18:09 +00002070 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
2071 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002072
2073 * freetype2/src/gxvalid/gxvmod.c: Ditto.
2074
Jens Claudius9950adc2006-08-13 12:14:36 +000020752006-08-13 Jens Claudius <jens.claudius@yahoo.com>
2076
Werner Lemberg12342992006-08-19 11:18:09 +00002077 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
2078 T1_TOKEN_TYPE_KEY.
2079 (T1_FieldRec): Add `dict'.
2080 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
2081 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
2082 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00002083
Werner Lemberg12342992006-08-19 11:18:09 +00002084 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
2085 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002086
2087 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
2088
2089 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00002090 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
2091 not T1_TOKEN_TYPE_ANY.
2092 (ps_parser_load_field): Make sure a token that should be a string or
2093 name is really a string or name.
2094 Avoid memory leak if a keyword has been already encountered and its
2095 value is overwritten.
2096 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
2097 T1_FIELD_XXX.
2098 (parse_dict): Ignore keywords that occur in the wrong dictionary
2099 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00002100
Werner Lemberg12342992006-08-19 11:18:09 +00002101 * freetype2/src/type1/t1tokens.h: Adjust invocations of
2102 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002103
Werner Lemberg12342992006-08-19 11:18:09 +00002104 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
2105 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002106
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000021072006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2108
2109 Move creation of field `buildchar' of T1_DecoderRec out of
2110 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2111 of it.
2112
2113 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2114 and `T1_Compute_Max_Advance'.
2115
2116 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2117 Remove field `face', add `len_buildchar'.
2118
2119 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2120 field `buildchar'.
2121
2122 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2123 finisher for T1_Decoder.
2124 (cid_slot_load_glyph): Do not ignore failure when initializing the
2125 T1_Decoder.
2126
2127 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2128 Updated.
2129 (t1_decoder_init): Remove initialization of fields `buildchar' and
2130 `len_buildchar'.
2131 (t1_decoder_done): Remove deallocation of field `buildchar'.
2132
2133 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2134 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2135 T1_Decoder.
2136 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2137 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2138 case of error.
2139
2140 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2141 `buildchar' of T1_FaceRec.
2142
2143 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2144 `buildchar' of T1_FaceRec.
2145
Werner Lemberg1a380e02006-07-14 18:28:08 +000021462006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2147
2148 * freetype2/include/freetype/internal/psaux.h: New macros
2149 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2150 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2151 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2152 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2153 (T1_DecoderRec): New fields `buildchar' and `face'.
2154 (IS_PS_TOKEN): New macro.
2155
2156 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2157 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2158
2159 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2160 `default_design_vector' and `num_default_design_vector'.
2161
2162 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2163 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2164 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2165
2166 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2167 `token' argument to be NULL if we want only to count the number of
2168 tokens.
2169 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2170 want to skip the array.
2171 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2172 want to skip the array.
2173
2174 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2175 support for (partially commented out) othersubrs 19-25, 27, and 28.
2176 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2177 (t1_decoder_done): Release new field `buildchar'.
2178
2179 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2180 functions.
2181 (t1_keywords): Register them.
2182 (t1_allocate_blend): Updated.
2183 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2184 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2185 (parse_dict): Remove `keyword_flags' argument.
2186 Use new macro IS_PS_TOKEN.
2187 Changed function so that later PostScript definitions override
2188 earlier ones.
2189 (t1_init_loader): Initialize new field `keywords_encountered'.
2190 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2191 `len_buildchar'.
2192 Remove `keywords_flags'.
2193
2194 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2195 `keywords_encountered'.
2196 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2197
2198 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2199 New entries for parsing /NDV, /CDV, and /DesignVector.
2200
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000022012006-07-07 Werner Lemberg <wl@gnu.org>
2202
2203 Add many checks to protect against malformed PCF files.
2204
2205 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2206 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2207
2208 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2209 data and check that tables don't overlap (using a simple
2210 bubblesort).
2211 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2212 New macros which give the size of data structures in the data
2213 stream.
2214 (pcf_get_properties): Use rough estimates to get array size limits.
2215 Assign `face->nprops' and `face->properties' earlier so that a call
2216 to PCF_Face_Done can do the clean-up in case of error.
2217 Protect against invalid string offsets.
2218 (pcf_get_metrics): Clean up code.
2219 Adjust tracing message levels.
2220 Use rough estimate to get array size limit.
2221 (pcf_get_bitmaps): Clean up code.
2222 Adjust tracing message levels.
2223 Use rough estimates to get offset limits.
2224 (pcf_get_encodings): Adjust tracing message level.
2225 (pcf_get_accel): Clean up code.
2226
Werner Lemberg8eb05252006-06-27 06:20:01 +000022272006-06-26 Werner Lemberg <wl@gnu.org>
2228
2229 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2230 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2231
Werner Lemberg24703f82006-06-26 19:12:51 +000022322006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2233
2234 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2235 (t1_decoder_parse_charstrings): Operator with
2236 opcode 15 pops its two arguments.
2237 Handle the case where the pops of an othersubr may be part of a
2238 subroutine.
2239 Handle unknown othersubrs gracefully: count their operands and let
2240 the following pop operators push the operands as the results onto
2241 the Type1 stack.
2242 Improve handling of setcurrentpoint opcode.
2243
Werner Lembergc011f4c2006-06-26 09:40:00 +000022442006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2245
2246 The Type 1 parser now skips over top-level procedures as required
2247 for a `Simplified Parser'. This makes the parser more robust as it
2248 doesn't poke around in PostScript code. Additionally, it makes the
2249 FontDirectory hackery in src/type1/t1load.c unnecessary.
2250
2251 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2252 (skip_literal_string): Add FT_Error as return value.
2253 Handle escapes better.
2254 (skip_string): Add FT_Error as return value.
2255 Don't set `parser->error' but return error code directly.
2256 (skip_procedure): New function.
2257 (ps_parser_skip_PS_token): Handle procedures.
2258 Update code.
2259 (ps_parser_to_token): Update code.
2260 (ps_parser_load_field_table): Handle bbox entries also.
2261
2262 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2263 Add commented-out code for synthetic fonts.
2264
Werner Lemberga2da05c2006-06-25 06:27:27 +000022652006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2266
2267 Fix two hinting bugs as reported in
2268 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2269
2270 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2271 `first_point' member.
2272
2273 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2274 `first_point'.
2275 (TT_Process_Composite_Glyph): Always untouch points.
2276
2277 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2278 `first_point' and `last_point' in case of composite glyphs.
2279 (Ins_IUP): Fix computation of `end_point'.
2280
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000022812006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2282
Werner Lembergef3d2c22006-06-25 06:07:14 +00002283 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2284 Mac. The original patch was written by David Sachitano and Lawrence
2285 Coopet, and modified by Sean McBride for MPW compatibility. Only
2286 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002287
Werner Lembergef3d2c22006-06-25 06:07:14 +00002288 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2289 Mac OS X platforms.
2290 (OS_INLINE): Undefine before definition.
2291 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2292 FontAssociation table in FOND resource.
2293 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2294 and fontSize at each entry of FontAssociation table in FOND
2295 resource.
2296 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2297 ffStylOff of FamilyRecord header of FOND resource, the header,
2298 fontSize, fontID at each entry of FontAssociation table, and
2299 StyleMapping table.
2300 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002301
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000023022006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2303
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002304 Public API of TrueTypeGX, OpenType, and classic kern table validator
2305 should return `FT_Err_Unimplemented_Feature' if validation service
2306 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002307 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002308 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2309
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002310 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2311 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2312 unavailable.
2313 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2314 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002315
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002316 * src/base/ftotval.c (FT_OpenType_Validate): Return
2317 FT_Err_Unimplemented_Feature if OpenType validation service is
2318 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002319
Werner Lembergb10e45a2006-06-08 07:32:56 +000023202006-06-08 Werner Lemberg <wl@gnu.org>
2321
2322 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2323 errors.
2324
David Turner5f1f7502006-06-07 05:11:50 +000023252006-06-07 David Turner <david@freetype.org>
2326
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002327 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2328 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2329 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002330
David Turner457b4a82006-06-06 08:14:14 +000023312006-06-06 David Turner <david@freetype.org>
2332
Werner Lemberg4836f952006-06-06 12:54:08 +00002333 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002334
Werner Lemberg4836f952006-06-06 12:54:08 +00002335 We change `ps_unicodes_init' so that it also takes a
2336 `free_glyph_name' callback to release the glyph names returned by
2337 `get_glyph_name'
2338
2339 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2340 Renamed to ...
2341 (PS_GetGlyphNameFunc): This.
2342 (PS_FreeGlyphNameFunc): New typedef.
2343 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2344
2345 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2346 argument.
2347 (cff_sid_free_glyph_name): New function.
2348 (cff_cmap_unicode_init): Updated.
2349
2350 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2351
2352 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2353 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002354
2355
David Turner09717352006-06-04 14:33:08 +000023562006-06-04 David Turner <david@freetype.org>
2357
Werner Lembergd724f202006-06-04 15:17:41 +00002358 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2359 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002360 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002361
Werner Lembergd724f202006-06-04 15:17:41 +00002362 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2363 of `face->num_glyphs' which missed the last glyph, due to
2364 the offset-by-1 computation, since the PFR format doesn't
2365 guarantee that glyph index 0 corresponds to the `missing
2366 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002367
Werner Lemberg33779662006-05-26 06:30:05 +000023682006-05-25 Werner Lemberg <wl@gnu.org>
2369
2370 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2371 `-no-undefined'. Reported by Christian Biesinger.
2372
Werner Lemberg24773d62006-05-20 08:53:13 +000023732006-05-19 Brian Weed <bw@imaginengine.com>
2374
2375 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2376 have debug information, and debug libraries use `C7 compatible'
2377 debug info.
2378
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000023792006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2380
Werner Lemberga6523a62006-05-20 08:47:01 +00002381 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002382 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002383
Werner Lemberga6523a62006-05-20 08:47:01 +00002384 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2385 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002386
2387 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002388 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002389
23902006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2391
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002392 * build/unix/configure.raw: Add a fallback to disable Carbon
2393 dependency, if configured with no options on Mac OS X.
2394
23952006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2396
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002397 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002398 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002399 the second part of Savannah bug #16590.
2400
Werner Lemberg545c4e52006-05-17 22:55:04 +000024012006-05-18 Werner Lemberg <wl@gnu.org>
2402
2403 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2404 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2405
David Turnerdc3ff312006-05-17 12:59:35 +000024062006-05-17 David Turner <david@freetype.org>
2407
Werner Lemberg545c4e52006-05-17 22:55:04 +00002408 This is a major patch used to drastically improve the performance of
2409 loading glyphs. This both speeds up loading the glyph vectors
2410 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002411
Werner Lemberg545c4e52006-05-17 22:55:04 +00002412 We now use inline assembler code with GCC to implement `FT_MulFix',
2413 which is probably the most important function related to the
2414 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002415
Werner Lemberg545c4e52006-05-17 22:55:04 +00002416 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002417
2418
Werner Lemberg545c4e52006-05-17 22:55:04 +00002419 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2420 `cursor' and `limit'.
2421
2422 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2423 New functions.
2424 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2425 [TEST]: Remove.
2426
2427 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2428 code.
2429
2430 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2431 `FT_ZERO'
2432 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2433 (af_glyph_hints_reload: Rewrite recognition of weak points.
2434
2435 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2436 constant values out of the loops.
2437
2438 * src/autofit/aftypes.h: Updated.
2439
2440 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2441
2442 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2443 product to get orientation.
2444
2445 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2446 (FT_Stream_OpenGzip): Use it to handle small files directly in
2447 memory.
2448
2449 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2450 Improve performance.
2451
2452 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2453 `limit'.
2454
2455 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2456 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2457 exceedingly large values of number of contours. Speed up by
2458 reducing the number of loops.
2459
2460 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2461
2462
2463 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2464 used to detect rogue clients from 4 to 16. This is to prevent some
2465 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2466 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002467
Werner Lembergde2d90a2006-05-17 08:54:30 +000024682007-05-17 Werner Lemberg <wl@gnu.org>
2469
2470 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002471 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002472
24732006-05-16 Werner Lemberg <wl@gnu.org>
2474
2475 * docs/PROBLEMS: Updated icl issues.
2476
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002477----------------------------------------------------------------------------
2478
Werner Lemberg42b63b22007-01-21 21:01:33 +00002479Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002480David Turner, Robert Wilhelm, and Werner Lemberg.
2481
2482This file is part of the FreeType project, and may only be used, modified,
2483and distributed under the terms of the FreeType project license,
2484LICENSE.TXT. By continuing to use, modify, or distribute this file you
2485indicate that you have read the license and understand and accept it
2486fully.
2487
2488
2489Local Variables:
2490version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002491coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002492End: