blob: 70c1c8869b6f91854db34e023413a57869b6aaef [file] [log] [blame]
Werner Lemberg8f474532007-02-07 08:31:01 +000012007-02-07 Tom Parker <palfrey@tevp.net>
2
3 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
4 pointer.
5
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000062007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
7
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00008 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
9 Introduce __attribute((deprecated))__ to warn functions
10 which use non ANSI data types in their interfaces.
11 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
12 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
13 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
14 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
15 * src/base/ftmac.c: predefine FT_DEPRECATED_ATTRIBUTE as blank
16 to avoid warning in building freetype.
17 * builds/mac/ftmac.c: Ditto.
18
192007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
20
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000021 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
22 "--with-fsspec" etc. Replace #include "ftmac.c" by
23 #include <ftmac.c>.
24
252007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
26
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +000027 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
28 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
29 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
30 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
31 FT_GetFilePath_From_Mac_ATS_Name.
32 * builds/mac/ftmac.c: Ditto.
33
342007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
35
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +000036 * include/freetype/ftmac.h: Fixed wrong comment, FSSpec of
37 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
38 for passing to FT_New_Face_From_FSSpec.
39
402007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
41
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000042 * builds/unix/configure.raw: Checks if Mac OS X system headers
43 can be built under ANSI C mode.
44 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by ANSI C
45 compatible one, if system headers are ANSI C incompatible.
46 * builds/mac/ftmac.c (OS_INLINE): Ditto.
47
Werner Lemberg313d7772007-02-01 08:10:45 +0000482007-02-01 Werner Lemberg <wl@gnu.org>
49
50 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
51 Explain why applications shouldn't use it. Found by Alexei.
52
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000532007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +000054
55 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
56 message.
57
58 * src/gxvalid/gxvmort1.c
59 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
60 message.
61
Werner Lemberg53935932007-01-31 08:53:02 +0000622007-01-31 Werner Lemberg <wl@gnu.org>
63
64
65 * Version 2.3.1 released.
66 =========================
67
68
69 Tag sources with `VER-2-3-1-FINAL'.
70
71 * builds/win32/visualc/freetype.dsp,
72 builds/win32/visualc/freetype.vcproj: s/230/231/.
73 * builds/win32/visualc/index.html: s/221/231/.
74
75 * vms_make.com: Add `ftgasp'.
76
David Turnera7ee6082007-01-30 10:33:53 +0000772007-01-30 David Turner <david@freetype.org>
78
Werner Lemberg53935932007-01-31 08:53:02 +000079 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +000080
Werner Lemberg53935932007-01-31 08:53:02 +000081 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +000082
Werner Lemberg53935932007-01-31 08:53:02 +000083 * docs/VERSION.DLL docs/release, README, Jamfile (RefDoc):
84 s/2.3.0/2.3.1/.
85
86 * builds/unix/configure.raw (version_info): Set to 9:12:3.
87
88
89 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
90 (af_loader_load_g): Disable the warper (i.e., the light hinting
91 improvements) to make a 2.3.1 bugfix release before introducing a
92 new feature. This should give us more time to tune and improve the
93 warper for the next release.
94
95 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +000096
David Turnerd91eebd2007-01-26 15:05:41 +0000972007-01-25 David Turner <david@freetype.org>
98
Werner Lembergbf241762007-01-26 16:08:49 +000099 For light auto-hinting, improve glyph advance widths and resurrect
100 normal/full hinting to its normal quality.
101
102 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
103 and `xmax_delta'.
104 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
105 and `xmax_delta'.
106
107 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
108 preprocessor conditional with if-clause, handling both light and
109 normal mode.
110
111 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
112 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000113
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00001142007-01-25 Werner Lemberg <wl@gnu.org>
115
116 * docs/release: Updated -- Savannah uses a new uploading scheme.
117
David Turnera42567b2007-01-25 12:23:37 +00001182007-01-25 David Turner <david@freetype.org>
119
Werner Lembergd7855662007-01-25 13:53:56 +0000120 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000121
Werner Lembergd7855662007-01-25 13:53:56 +0000122 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
123 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
124 functions.
David Turnera42567b2007-01-25 12:23:37 +0000125
Werner Lembergd7855662007-01-25 13:53:56 +0000126 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000127
Werner Lembergb1be9e82007-01-25 11:50:00 +00001282007-01-25 Werner Lemberg <wl@gnu.org>
129
130 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000131 correctly in a sanity check. Since this function is only used to
132 load local and global functions, any charstring that called the last
133 local/global function would fail otherwise. This fixes Savannah bug
134 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000135
136 * docs/CHANGES: Document it.
137
David Turnerb6de8d12007-01-23 15:51:50 +00001382007-01-23 David Turner <david@freetype.org>
139
Werner Lembergb1be9e82007-01-25 11:50:00 +0000140 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
141 prevented compilation when disabling both the unpatented and the
142 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000143
Werner Lembergb1be9e82007-01-25 11:50:00 +0000144
145 Fix and enable the warper to improve `light' hinting mode. This is
146 not necessarily a final version, but it seems to work well.
147
148 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
149 Disable code.
150 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
151 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
152
153 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
154 (af_warper_compute_line_best): Fix array size of `scores'.
155 (af_warper_compute): Better handling of border cases.
156 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
157 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000158
Werner Lemberg011d1112007-01-21 09:36:00 +00001592007-01-21 Werner Lemberg <wl@gnu.org>
160
Werner Lemberg42b63b22007-01-21 21:01:33 +0000161 * ChangeLog: Split off older entries into...
162 * ChangeLog.22: This new file.
163
1642007-01-21 Werner Lemberg <wl@gnu.org>
165
Werner Lemberg555258f2007-01-21 09:46:37 +0000166 * docs/CHANGES: Document SHZ fix.
167
1682007-01-21 George Williams <gww@silcom.com>
169
170 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
171 points.
172
1732007-01-21 Werner Lemberg <wl@gnu.org>
174
Werner Lemberg011d1112007-01-21 09:36:00 +0000175 * src/sfnt/ttmtx.c (tt_face_get_metrics)
176 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
177
Werner Lemberg87a5a432007-01-17 12:44:39 +00001782007-01-17 Werner Lemberg <wl@gnu.org>
179
Werner Lembergb8003292007-01-17 12:56:25 +0000180
181 * Version 2.3.0 released.
182 =========================
183
184
185 Tag sources with `VER-2-3-0-FINAL'.
186
1872007-01-17 Werner Lemberg <wl@gnu.org>
188
Werner Lemberg87a5a432007-01-17 12:44:39 +0000189 * docs/release: Updated.
190
David Turner22122722007-01-16 20:06:44 +00001912007-01-16 David Turner <david@freetype.org>
192
Werner Lemberg87a5a432007-01-17 12:44:39 +0000193 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
194 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
195 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
196 warnings.
David Turner22122722007-01-16 20:06:44 +0000197
Werner Lemberg267e1d72007-01-15 07:48:09 +00001982007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
199
200 * builds/amiga/makefile, builds/amiga/makefile.os4,
201 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
202
203 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
204
Werner Lemberg8c4120d2007-01-15 06:42:40 +00002052007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
206
207 Fix various compiler warnings.
208
209 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
210 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
211 s/index/strike_index/.
212 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
213
214 * src/gxvalid/gxvmorx5.c
215 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
216
217 * src/truetype/ttinterp.c (Compute_Point_Displacement),
218 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
219 uninitialized variables.
220
Werner Lemberg6164a9d2007-01-13 23:01:36 +00002212007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
222
223 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
224
Werner Lemberg281c1482007-01-13 22:50:51 +00002252007-01-13 Werner Lemberg <wl@gnu.org>
226
227 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
228 versions up to 0x3FF without complaining.
229
Werner Lembergac250b22007-01-13 14:01:36 +00002302007-01-13 Derek Clegg <dclegg@apple.com>
231
232 Add FT_Get_PS_Font_Info interface to CFF driver.
233
234 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
235 (CFF_FontRec): Add `font_info' field.
236
237 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
238 (cff_font_done): Free font->font_info if necessary.
239
240 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
241 (cff_service_ps_info): Register cff_ps_get_font_info.
242
Werner Lemberg23df31a2007-01-13 08:45:00 +00002432007-01-13 Werner Lemberg <wl@gnu.org>
244
245 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
246 with C++ compiler.
247
248 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
249 af_glyph_hints_dump_edges): Ditto.
250
251 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
252 `modules.cfg').
253
254 * src/sfnt/ttsbit0.h: Remove.
255
256 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
257
Werner Lemberg27cf9de2007-01-13 07:34:23 +00002582007-01-12 David Turner <david@freetype.org>
259
260 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
261 bug in the bitmap emboldener if the pitch of the source bitmap is
262 much larger than its width.
263
264 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
265 compilation warning.
266
Werner Lemberg6d96d312007-01-12 10:30:19 +00002672007-01-12 Werner Lemberg <wl@gnu.org>
268
269 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
270 `automake' CVS module from sources.redhat.com.
271
Werner Lemberg17432b52007-01-12 09:28:44 +00002722007-01-11 Werner Lemberg <wl@gnu.org>
273
274 * src/type1/t1load.c (is_space): Removed.
275 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
276 (parse_charstrings): Use IS_PS_TOKEN.
277
278
279 * autogen.sh: Avoid bash specific syntax.
280
David Turner038ace22007-01-11 15:00:59 +00002812007-01-11 David Turner <david@freetype.org>
282
Werner Lemberg17432b52007-01-12 09:28:44 +0000283 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000284
Werner Lemberg17432b52007-01-12 09:28:44 +0000285 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000286
Werner Lemberg17432b52007-01-12 09:28:44 +0000287 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
288 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000289 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000290
Werner Lemberg17432b52007-01-12 09:28:44 +0000291 * autogen.sh: Small fix to get it working on Mac OS X properly:
292 The issue is that GNU libtool is called `glibtool' on this platform,
293 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000294
David Turner2628ea92007-01-10 13:15:56 +00002952007-01-10 David Turner <david@freetype.org>
296
Werner Lemberg17432b52007-01-12 09:28:44 +0000297 * all-sources: Tag all sources with VER-2-3-0-RC1 and
298 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000299
Werner Lemberg17432b52007-01-12 09:28:44 +0000300 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
301 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
302 version number to 2.3.0.
303
304 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
305 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000306
307 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000308 include/freetype/ftlcdfil.h: Update reference documentation with
309 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000310
Werner Lemberg17432b52007-01-12 09:28:44 +0000311 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
312 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000313
Werner Lembergbf02d392007-01-10 07:07:37 +00003142007-01-10 Derek Clegg <dclegg@apple.com>
315
316 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
317 values.
318
David Turnerf48b60e2007-01-08 15:15:32 +00003192007-01-08 David Turner <david@freetype.org>
320
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000321 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000322
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000323 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
324 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000325 corresponding to a given character pixel size.
326
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000327 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
328 `gasp' table, in order to avoid potential problems with later
329 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000330
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000331 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
332 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000333
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000334 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
335 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
336 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
337 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000338
Werner Lemberge6b6f372007-01-07 00:06:47 +00003392007-01-07 Werner Lemberg <wl@gnu.org>
340
Werner Lembergb8004d22007-01-07 09:13:38 +0000341 * src/cid/cidparse.c (cid_parser_new): Improve error message for
342 Type 11 fonts.
343 Scan for `/sfnts' token.
344
3452007-01-07 Werner Lemberg <wl@gnu.org>
346
347 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000348
Werner Lembergbe5f7972007-01-06 07:51:48 +00003492007-01-06 Werner Lemberg <wl@gnu.org>
350
351 * src/cff/cffload.c (cff_index_init): Remove unused variable.
352 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
353
David Turnera8cf42b2007-01-04 16:46:46 +00003542007-01-04 David Turner <david@freetype.org>
355
Werner Lembergf6294392007-01-06 07:47:45 +0000356 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
357 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000358
Werner Lembergf6294392007-01-06 07:47:45 +0000359
360 Do not allocate interpreter-specific tables in memory if we are not
361 going to load glyphs with the bytecode interpreter anyway.
362
363 * src/truetype/ttgload.c (tt_loader_init): Load execution context
364 only if glyph is hinted.
365 Updated.
366 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
367 and `cvs_ready'.
368 Add `tt_size_ready_bytecode' declaration.
369 * src/truetype/ttobjs.c (tt_size_done_bytecode,
370 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
371 (tt_size_init): Move most code into `tt_size_init_bytecode'.
372 (tt_size_done): Move most code into `tt_size_done_bytecode'.
373 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000374
David Turner91a34022007-01-05 14:47:08 +0000375
Werner Lembergf6294392007-01-06 07:47:45 +0000376 Don't extract the metrics table from the SFNT font file. Instead,
377 reparse it on each glyph load. The runtime difference is not
378 noticeable, and it can save a lot of heap memory when memory-mapped
379 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000380
Werner Lembergf6294392007-01-06 07:47:45 +0000381 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
382 `horz_metrics_offset' and `vert_metrics_ofset'.
383 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
384 Updated.
385
386
387 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
388
389
390 Do not load the CFF index offsets into memory, since this wastes a
391 *lot* of heap memory with large Asian CFF fonts. There is no
392 significant performance loss.
393
394 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
395 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
396 `data_size'.
397 (CFF_CharsetRec): Add field `num_glyphs'.
398
399 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
400 cff_charset_cid_to_gindex): New functions.
401 (cff_new_index): Renamed to...
402 (cff_index_init): This. Update all callers.
403 Updated -- some code has been moved to `cff_index_load_offsets'.
404 (cff_done_index): Renamed to...
405 (cff_index_done): This. Update all callers.
406 (cff_index_get_pointers, cff_index_access_element): Updated to use
407 stream offsets.
408 (cff_charset_compute_cids): Set `num_glyphs' field.
409 (cff_encoding_load): Updated.
410
411 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000412
4132007-01-04 David Turner <david@freetype.org>
414
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000415 * docs/INSTALL.UNIX: Simplify some parts, add reference to
416 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000417
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000418 * README.CVS: Add common problem description and solution
419 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000420
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000421 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000422
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000423 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000424
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000425 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000426
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000427 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
428 (TWorker): This.
429 Remove `count_table' and `memory'.
430 Make `grays' a pointer.
431 (TRaster): New structure.
432 (count_table): New static array.
433 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
434 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
435 ft_black_set_mode, ft_black_render): Updated.
436 (ft_black_init): Don't initialize `count_table'.
437 (ft_black_reset): Use the render pool. This saves about 6KB of
438 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000439
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000440 * src/smooth/ftgrays.c (TRaster): Replaced with...
441 (TWorker): This.
442 Remove `memory'.
443 (TRaster): New structure.
444
445 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
446 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
447 gray_render_span, gray_raster_render): Updated.
448 (gray_raster_reset): Use the render pool. This saves about 6KB of
449 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000450
David Turner8a6c44e2007-01-04 17:03:11 +0000451 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
452 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000453 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
454 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
455 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000456
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000457 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
458 Remove a typo that results in no hinting and a memory leak with some
459 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000460
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000461 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000462 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000463 CFF_Faces in it. We need to close all faces before destroying the
464 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000465
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004662007-01-02 Werner Lemberg <wl@gnu.org>
467
468 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
469 Remove compiler warning.
470
David Turner9207e002007-01-02 16:58:13 +00004712007-01-02 David Turner <david@freetype.org>
472
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000473 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000474
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00004752006-12-31 Masatake YAMATO <jet@gyve.org>
476
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000477 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
478 function.
479 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000480 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000481 `gxv_kern_subtable_fmt0_pairs_validate'.
482
David Turner115b4422006-12-22 11:37:05 +00004832006-12-22 David Turner <david@freetype.org>
484
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000485 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
486 warnings.
David Turner115b4422006-12-22 11:37:05 +0000487
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000488 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
489 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000490
Werner Lemberg4755bf72006-12-16 08:58:44 +00004912006-12-16 Anders Kaseorg <anders@kaseorg.com>
492
493 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
494 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
495
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00004962006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
497
Werner Lemberg9b774e22007-01-16 06:11:27 +0000498 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000499 sync with the modification by Jens Claudius on 2006-08-22; cf.
500 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 +0000501
5022006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
503
504 * src/base/ftmac.c: Specialized for Mac OS X only.
505 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
506 * builds/unix/configure.raw: Ditto. When explicit switches for
507 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
508 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
509
5102006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
511
512 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
513 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
514 instead of src/base/ftmac.c
515 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
516 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
517 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
518 that cannot be built at present.
519
5202006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
521
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000522 * src/base/ftobjs.c: Improvement of resource fork handler for
523 POSIX, cf.
524 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000525 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
526 format or .dfont, to simulate the face index number counted by ftmac.c.
527 (IsMacResource): Return the number of scalable faces correctly.
528
Werner Lembergec5b4502006-12-10 07:51:38 +00005292006-12-10 Werner Lemberg <wl@gnu.org>
530
531 * builds/toplevel.mk (version): Protect against `distclean' target.
532
Werner Lembergb26b3142006-12-09 20:01:43 +00005332006-12-09 Werner Lemberg <wl@gnu.org>
534
535 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
536 or `type'.
537
538 * builds/freetype.mk (version): Extracted from freetype.h, using
539 GNU make's built-in string functions.
540 (refdoc): Use $(version) instead of static version number.
541
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00005422006-12-08 Werner Lemberg <wl@gnu.org>
543
544 * builds/toplevel.mk (dist): Extract version number from freetype.h.
545
Werner Lemberg15c29502006-12-09 07:29:54 +00005462006-12-08 Vladimir Volovich <vvv@vsu.ru>
547
548 * src/tools/apinames (State): Remove final comma in structure -- xlc
549 v5 under AIX 4.3 doesn't like this.
550
David Turnerdbf3b432006-12-07 21:18:09 +00005512006-12-07 David Turner <david@freetype.org>
552
Werner Lemberg256a3512006-12-08 06:49:33 +0000553 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
554 to the spacing of auto-fitted glyphs. This only impacts rare
555 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000556
Werner Lemberg11171312006-12-03 09:43:40 +00005572006-12-03 Werner Lemberg <wl@gnu.org>
558
559 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
560
Werner Lemberg960ba592006-12-01 08:20:47 +00005612006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000562
Werner Lemberg960ba592006-12-01 08:20:47 +0000563 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
564 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
565 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000566
David Turner80658e52006-11-28 08:09:20 +0000567
Werner Lemberg960ba592006-12-01 08:20:47 +0000568 * include/freetype/ftxf86.h: Fix and extend comment so that it
569 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000570
Werner Lemberg960ba592006-12-01 08:20:47 +0000571 * include/freetype/ftchapters.h: Add `font_format' section.
572
573
574 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
575 to TOC in index page.
576
5772006-11-28 David Turner <david@freetype.org>
578
579 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
580 trying to render into a zero-width/height bitmap, not an error code.
581
582 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
583
584 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
585 ones instead.
586
587 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
588 variable.
David Turner80658e52006-11-28 08:09:20 +0000589
Werner Lemberg8636c292006-11-26 22:28:13 +00005902006-11-26 Pierre Hanser <hanser@club-internet.fr>
591
592 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
593
Werner Lemberg960ba592006-12-01 08:20:47 +00005942006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000595
Werner Lemberg960ba592006-12-01 08:20:47 +0000596 * src/autofit/afhints.c (af_glyph_hints_dump_points,
597 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
598 Add stubs to link the `ftgrid' test program when debugging is
599 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000600
Werner Lemberg960ba592006-12-01 08:20:47 +00006012006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000602
603 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000604 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
605
606 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
607 Emit more sensible information.
608
609 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
610
611 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
612 rounding of blue values.
613 (af_latin_hints_compute_segments): Hint segment heights.
614 (af_latin_hints_link_segments): Reduce `len_score' value.
615 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
616 value and use `height' member for comparisons.
617 (af_latin_hint_edges): Extend logging message.
618 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +0000619
Werner Lemberg91959bf2006-11-22 10:36:55 +00006202006-11-22 Werner Lemberg <wl@gnu.org>
621
622 Fix Savannah bug #15553.
623
624 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
625 program after a change from mono to grayscaling (and vice versa).
626 Use correct constant for comparison to get `exec->grayscale'.
627
Werner Lemberg913a3652006-11-19 09:19:17 +00006282006-11-18 Werner Lemberg <wl@gnu.org>
629
630 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +0000631 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +0000632 This patch fixes Savannah bug #18301.
633
634 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
635 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
636 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
637 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
638 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
639 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
640 (FNT_Load_Glyph): Check validity of `glyph_index'.
641
David Turner7bab6ae2006-11-13 11:25:06 +00006422006-11-13 David Turner <david@freetype.org>
643
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000644 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
645 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +0000646
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000647 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
648 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
649 when building the library to change the default LCD filter to be
650 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +0000651
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000652 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +0000653
David Turner8765c712006-11-10 16:49:42 +00006542006-11-10 David Turner <david@freetype.org>
655
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000656 * src/smooth/ftsmooth.c: API change for the LCD
657 filter. The FT_LcdFilter value is an enumeration describing which
658 filter to apply, with new values FT_LCD_FILTER_LIGHT and
659 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
660 algorithm which produces strong color fringes for everything
661 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +0000662
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000663 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
664 second parameter to an enum type.
665
666 * src/base/ftlcdfil.c (USE_LEGACY): Define.
667 (_ft_lcd_filter): Rename to...
668 (_ft_lcd_filter_fir): This.
669 Update parameters.
670 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
671 (FT_Library_Set_LcdFilter): Update parameters.
672 Handle new filter modes.
673
674 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
675 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
676 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
677 callback and update other fields.
678
679 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
680 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
681 Other minor improvements.
682
683 * src/autofit/aflatin.c: Various tiny improvements that drastically
684 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
685 (af_latin_hints_compute_edges): Fix typo.
686 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +0000687
David Turner4e9cc3c2006-11-09 16:31:52 +00006882006-11-09 David Turner <david@freetype.org>
689
Werner Lemberg49c77a82006-11-09 21:51:57 +0000690 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
691 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +0000692
Werner Lemberg5e430892006-11-07 09:35:03 +00006932006-11-07 Zhe Su <james.su@gmail.com>
694
695 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
696 also.
697
Werner Lemberg111b5ae2006-11-03 09:40:12 +00006982006-11-03 Werner Lemberg <wl@gnu.org>
699
700 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
701
David Turner40604742006-11-02 16:37:35 +00007022006-11-02 David Turner <david@freetype.org>
703
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000704 Add a few tweaks to better handle serif fonts.
705 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +0000706
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000707 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
708 segments that are less than 1.5 pixels high. This gets rid of
709 *many* corner cases with serifs.
710 (af_latin_align_linked_edge): Add logging message.
711 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
712 Add logging messages.
713 Handle AF_EDGE_FLAG flag specially.
714
715 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
716 _af_debug_disable_blue_hints, and _af_debug_hints variables.
717
718 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
719 Update external declarations.
720 (af_corner_orientation, af_corner_is_flat): Replaced by...
721
722 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
723 ft_corner_is_flat): These declarations.
724
725 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
726 Comment out. Replaced by...
727
728 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
729 These functions. Update all callers.
730 (FT_Add64) [!FT_LONG64]: Simplify.
731
732 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
733 (af_direction_compute): Add a missing FT_ABS call. This bug caused
734 production of garbage by missing lots of segments.
735
736 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
737
738 * src/autofit/afloader.c (af_loader_init, af_loader_done)
739 [AF_DEBUG]: Set _af_debug_hints.
740
741
742 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
743 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
744 and ft_corner_orientation.
745
746
747 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +0000748
Werner Lemberge88c5262006-10-24 05:46:26 +00007492006-10-24 Werner Lemberg <wl@gnu.org>
750
751 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
752
753 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
754 as argument.
755
David Turnera1861392006-10-23 16:00:59 +00007562006-10-23 Zhe Su <zsu@novell.com>
757
Werner Lemberg715e96e2006-10-24 05:28:45 +0000758 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
759 better deal with broken Asian fonts with strange glyphs, having
760 self-intersections and other peculiarities. The used algorithm is
761 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +0000762
David Turnere140f142006-10-23 08:56:57 +00007632006-10-23 David Turner <david@freetype.org>
764
Werner Lemberg715e96e2006-10-24 05:28:45 +0000765 Speed up the CFF font loader. With some large CFF fonts,
766 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +0000767
Werner Lemberg715e96e2006-10-24 05:28:45 +0000768 * src/cff/cffload.c (cff_get_offset): Removed.
769 (cff_new_index): Inline functionality of `cff_get_offset'.
770 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
771 (cff_charset_done): Call `cff_charset_free_cids'.
772 (cff_charset_load): Call `cff_charset_compute_cids'.
773 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
774
775 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
776 with FT_NEXT_XXX.
777
778
779 Speed up the Postscript hinter, with more than 100% speed increase
780 on my machine.
781
782 * src/pshinter/pshalgo.c (psh_corner_is_flat,
783 psh_corner_orientation): New functions.
784 (psh_glyph_compute_inflections): Merge loops for efficiency.
785 Use `psh_corner_orientation'.
786 (psh_glyph_init): Use `psh_corner_is_flat'.
787 (psh_hint_table_find_strong_point): Renamed to...
788 (psh_hint_table_find_strong_points): This.
789 Rewrite, adding argument to handle all points at once.
790 Update all callers.
791 (PSH_MAX_STRONG_INTERNAL): New macro.
792 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +0000793
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00007942006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
795
796 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +0000797 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +0000798
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00007992006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
800
801 * docs/INSTALL.CROSS: New document file for cross-building.
802
803 * builds/unix/configure.raw: Preliminary cross-building support.
804 Find native C compiler and pass it by CC_BUILD, and
805 find suffix for native executable and pass it by EXEEXT_BUILD.
806 Also suffix for target executable is passed by EXEEXT.
807
Werner Lembergb9e6d692006-10-15 08:58:40 +0000808 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
809 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000810 CC_BUILD and EXEEXT_BUILD.
811
Werner Lembergb9e6d692006-10-15 08:58:40 +0000812 * builds/exports.mk (APINAMES_EXE): Change the extension for
813 apinames from the suffix for target (E) to that for building host
814 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000815
Werner Lemberg82a07e92006-10-12 06:20:44 +00008162006-10-12 Werner Lemberg <wl@gnu.org>
817
818 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
819 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
820 which reference those files.
821
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00008222006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
823
Werner Lembergb9e6d692006-10-15 08:58:40 +0000824 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
825 embedded in freetype2.pc and freetype-config. Use it to record
826 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +0000827
828 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
829
830 * builds/unix/freetype-config.in: Ditto.
831
Werner Lemberg28e17d92006-10-11 17:27:47 +00008322006-10-11 Werner Lemberg <wl@gnu.org>
833
834 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
835 development.
836
Jens Claudius336d2292006-10-03 08:53:37 +00008372006-10-03 Jens Claudius <jens.claudius@yahoo.com>
838
839 * include/freetype/config/ftstdlib.h: Cast away volatileness from
840 argument to ft_setjmp.
841
842 * include/freetype/internal/ftvalid.h: Add comment that
843 ft_validator_run must not be used.
844
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008452006-10-01 Werner Lemberg <wl@gnu.org>
846
847 * src/base/ftbase.c: Undo change from 2006-09-30.
848
849 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
850
8512006-09-30 David Turner <david@freetype.org>
852
Werner Lemberg046bf8b2006-10-03 08:43:42 +0000853 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
854 s/unpatented_hinting/ignore_unpatented_hinter/.
855 Update all callers.
856
857 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
858 auto-hinting shall be used or not.
859
860 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +0000861
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008622006-09-30 Werner Lemberg <wl@gnu.org>
863
Werner Lemberg1e4402e2006-09-29 22:10:36 +0000864 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
865 in use).
866
867 * src/base/ftbase.c: Include `ftlcdfil.c'.
868
Werner Lemberg9b15ea32006-09-29 18:22:11 +00008692006-09-29 Werner Lemberg <wl@gnu.org>
870
871 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
872 overlapping segments. Bug reported by Stefan Koch.
873
David Turnerad830712006-09-27 16:20:59 +00008742006-09-28 David Turner <david@freetype.org>
875
Werner Lemberg2c002e12006-09-29 21:31:53 +0000876 Fix a bug in the automatic unpatented hinting support which prevents
877 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +0000878
Werner Lemberg2c002e12006-09-29 21:31:53 +0000879 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
880 s/force_autohint/unpatented_hinting/. Update all callers.
881
882 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
883
884 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +0000885
David Turner8a317cf2006-09-27 07:52:48 +00008862006-09-27 David Turner <david@freetype.org>
887
Werner Lemberg2c002e12006-09-29 21:31:53 +0000888 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +0000889
David Turner8a317cf2006-09-27 07:52:48 +0000890
David Turnere140f142006-10-23 08:56:57 +0000891 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +0000892 In a default build, the function `FT_Library_SetLcdFilter' returns
893 `FT_Err_Unimplemented_Feature'; you need to #define
894 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
895 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +0000896
Werner Lemberg2c002e12006-09-29 21:31:53 +0000897 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +0000898
Werner Lemberg2c002e12006-09-29 21:31:53 +0000899 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
900 typedef.
901 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
902 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +0000903
Werner Lemberg2c002e12006-09-29 21:31:53 +0000904 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
905 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +0000906
Werner Lemberg2c002e12006-09-29 21:31:53 +0000907 Handle subpixel rendering.
908 Simplify function.
909 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
910 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
911
912 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
913 pointing to <freetype/ftlcdfil.h>.
914
915 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
916 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
917
918 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +0000919
Werner Lemberge20df4a2006-09-27 06:29:21 +00009202006-09-26 David Bustin
921
922 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
923 correctly. Reported as Savannah bug #17843.
924
David Turner6f8c6222006-09-26 15:42:44 +00009252006-09-26 David Turner <david@freetype.org>
926
Werner Lemberg110246c2006-09-26 21:55:44 +0000927 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
928 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
929 horizontal and vertical hinting for the purpose of debugging the
930 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +0000931
Werner Lemberg110246c2006-09-26 21:55:44 +0000932 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
933 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +0000934
Werner Lemberg110246c2006-09-26 21:55:44 +0000935 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
936
937 * include/freetype/config/ftoption.h, devel/ftoption.h
938 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
939 we want to compile LCD-optimized rendering code (à la ClearType) or
940 not. The macro *must* be disabled in default builds of the library
941 for patent reasons.
942
943 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
944 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
945 isn't defined at compile time. This only changes the content of the
946 rendered glyph to match the one of normal gray-level rendering,
947 hence clients should not need to be modified.
948
949 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +0000950
Werner Lemberg745ff2c2006-09-19 05:48:02 +00009512006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
952
953 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
954 LWFN fails and both are available.
955
David Turnerf3050052006-09-11 12:00:32 +00009562006-09-11 David Turner <david@freetype.org>
957
Werner Lembergf9644552006-09-12 13:48:10 +0000958 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
959 report their English names through an Apple Roman
960 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +0000961
Werner Lembergf9644552006-09-12 13:48:10 +0000962 If the font uses another name entry with language_id == English, it
963 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +0000964
Werner Lembergf9644552006-09-12 13:48:10 +0000965 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
966 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +0000967
Werner Lemberg36d2eab2006-09-05 19:24:34 +00009682006-09-05 Werner Lemberg <wl@gnu.org>
969
970 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +0000971 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000972 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
973 `HAN NOM B.ttf').
974
975 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
976
David Turner772e55d2006-09-05 09:45:15 +00009772006-09-05 David Turner <david@freetype.org>
978
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000979 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +0000980
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000981 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
982 (TRaster): Remove `count_ex' and `count_ey'.
983 (gray_find_cell): Remove 2nd and 3rd argument.
984 (gray_alloc_cell): Merged with `gray_find_cell'.
985 (gray_record_cell): Simplify.
986 (gray_set_cell): Rewrite.
987 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
988 (gray_render_span): Don't use FT_MEM_SET for small values.
989 (gray_dump_cells) [DEBUG_GRAYS]: New function.
990 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
991 bitmap scanline.
992 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +0000993
David Turneraa557a92006-09-04 16:42:44 +00009942006-09-04 David Turner <david@freetype.org>
995
Werner Lembergd1fc7d42006-09-05 07:55:42 +0000996 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
997 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +0000998
Werner Lemberg2d8629b2006-09-03 06:18:45 +00009992006-09-03 Werner Lemberg <wl@gnu.org>
1000
1001 * devel/ftoption.h: Synchronize with
1002 include/freetype/config/ftoption.h.
1003
1004 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1005 variable declaration.
1006 (gray_convert_glyph): Fix compiler warnings.
1007
David Turner6d79f212006-09-01 14:09:35 +000010082006-09-01 David Turner <david@freetype.org>
1009
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001010 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1011 to recognize a few fonts that require the automatic unpatented
1012 loader.
David Turnerbd502952006-09-01 19:05:24 +00001013
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001014 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1015 rasterizer. The speed improvement is between 15% and 25%, depending
1016 on the font data.
1017
1018 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1019 (TCell): Redefine.
1020 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1021 (gray_init_cells): Updated.
1022 (gray_find_cell, gray_alloc_cell): New functions.
1023 (gray_record_cell): Rewritten to use `gray_find_cell' and
1024 `gray_alloc_cell'.
1025 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1026 QSORT_THRESHOLD):
1027 Removed.
1028 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1029 gray_dump_cells): Removed.
1030 (gray_sweep): Rewritten.
1031 (gray_convert_glyph): Rewrite code which used one of the sorting
1032 functions.
1033 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001034
Werner Lembergd898aed2006-08-29 09:50:34 +000010352006-08-29 Dr. Werner Fink <werner@suse.de>
1036
1037 * configure: Make it possible to handle configure options which
1038 have strings containing spaces.
1039
10402006-08-27 David Turner <david@freetype.org>
1041
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001042 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1043 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1044 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1045
1046 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1047 src/truetype/truetype.c, src/truetype/ttdriver.c,
1048 src/truetype/ttgload.c, src/truetype/ttgload.h,
1049 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1050 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1051 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1052
1053 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1054 member `force_autohint'.
1055
1056 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1057
1058 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1059 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001060
Jens Claudiusa787f452006-08-27 11:26:18 +000010612006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1062
1063 Fix miscellaneous compiler warnings.
1064
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001065 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1066 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001067
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001068 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1069 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1070 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001071
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001072 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1073 volatileness of argument to ft_longjmp. Spotted by Werner
1074 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001075
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001076 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1077 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001078
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001079 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1080 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001081
Werner Lembergc4c35b72006-08-27 08:03:46 +000010822006-08-27 Werner Lemberg <wl@gnu.org>
1083
1084 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1085 Reported by Jens.
1086
Jens Claudius088e44e2006-08-22 14:24:30 +000010872006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001088
Jens Claudius088e44e2006-08-22 14:24:30 +00001089 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001090 about addresses of volatile objects passed as function arguments as
1091 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001092
Werner Lembergc4c35b72006-08-27 08:03:46 +00001093 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1094 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001095
1096 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1097 argument `table' a pointer to a volatile object.
1098
1099 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1100 argument `table' a pointer to a volatile object.
1101
Jens Claudius2652bd52006-08-18 17:20:37 +000011022006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1103
1104 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1105 variable `_sfnt' as volatile since it must keep its value across
1106 a call to ft_setjmp.
1107 (gxv_validate): Same for local variables `memory' and `valid'.
1108 (classic_kern_validate): Same for local variables `memory',
1109 `ckern', and `valid'.
1110
1111 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1112 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1113 `jstf', and 'valid'.
1114
1115 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1116 local variable `cmap'.
1117
David Turner9fbfc6a2006-08-16 09:11:31 +000011182006-08-16 David Turner <david@freetype.org>
1119
Werner Lemberg12342992006-08-19 11:18:09 +00001120 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1121 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001122
Werner Lemberg12342992006-08-19 11:18:09 +00001123 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1124 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001125
David Turner33f5f242006-08-16 16:50:55 +00001126
Werner Lemberg12342992006-08-19 11:18:09 +00001127 Improvements to native TrueType hinting. This is a first try,
1128 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1129
1130 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1131 `extra_points2'.
1132
1133 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1134 `orus'.
1135
1136 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1137 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1138 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1139 handle `extra_points2'.
1140
1141 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1142 Remove compiler warning.
1143 (cur_to_arg): Remove macro.
1144 (TT_Hint_Glyph): Updated.
1145 (TT_Process_Simple_Glyph): Handle `orus'.
1146
1147 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1148 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1149 (LOC_Ins_IUP): Renamed to...
1150 (IUP_WorkerRec): This.
1151 Add `orus' member.
1152 (Shift): Renamed to...
1153 (_iup_worker_shift): This.
1154 Updated.
1155 (Interp): Renamed to...
1156 (_iup_worker_interpolate): This.
1157 Updated to handle `orus'.
1158 (Ins_IUP): Updated.
1159
1160 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1161 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001162
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000011632006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1164
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001165 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001166 build ftvalid in ft2demos. This has been inadvertedly changed
1167 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001168
11692006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1170
Werner Lemberg12342992006-08-19 11:18:09 +00001171 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1172 Jens:
1173 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001174
Werner Lemberg12342992006-08-19 11:18:09 +00001175 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1176 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001177
1178 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1179
Jens Claudius9950adc2006-08-13 12:14:36 +000011802006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1181
Werner Lemberg12342992006-08-19 11:18:09 +00001182 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1183 T1_TOKEN_TYPE_KEY.
1184 (T1_FieldRec): Add `dict'.
1185 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1186 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1187 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001188
Werner Lemberg12342992006-08-19 11:18:09 +00001189 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1190 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001191
1192 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1193
1194 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001195 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1196 not T1_TOKEN_TYPE_ANY.
1197 (ps_parser_load_field): Make sure a token that should be a string or
1198 name is really a string or name.
1199 Avoid memory leak if a keyword has been already encountered and its
1200 value is overwritten.
1201 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1202 T1_FIELD_XXX.
1203 (parse_dict): Ignore keywords that occur in the wrong dictionary
1204 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001205
Werner Lemberg12342992006-08-19 11:18:09 +00001206 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1207 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001208
Werner Lemberg12342992006-08-19 11:18:09 +00001209 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1210 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001211
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000012122006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1213
1214 Move creation of field `buildchar' of T1_DecoderRec out of
1215 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1216 of it.
1217
1218 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1219 and `T1_Compute_Max_Advance'.
1220
1221 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1222 Remove field `face', add `len_buildchar'.
1223
1224 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1225 field `buildchar'.
1226
1227 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1228 finisher for T1_Decoder.
1229 (cid_slot_load_glyph): Do not ignore failure when initializing the
1230 T1_Decoder.
1231
1232 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1233 Updated.
1234 (t1_decoder_init): Remove initialization of fields `buildchar' and
1235 `len_buildchar'.
1236 (t1_decoder_done): Remove deallocation of field `buildchar'.
1237
1238 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1239 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1240 T1_Decoder.
1241 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1242 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1243 case of error.
1244
1245 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1246 `buildchar' of T1_FaceRec.
1247
1248 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1249 `buildchar' of T1_FaceRec.
1250
Werner Lemberg1a380e02006-07-14 18:28:08 +000012512006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1252
1253 * freetype2/include/freetype/internal/psaux.h: New macros
1254 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1255 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1256 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1257 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1258 (T1_DecoderRec): New fields `buildchar' and `face'.
1259 (IS_PS_TOKEN): New macro.
1260
1261 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1262 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1263
1264 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1265 `default_design_vector' and `num_default_design_vector'.
1266
1267 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1268 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1269 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1270
1271 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1272 `token' argument to be NULL if we want only to count the number of
1273 tokens.
1274 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1275 want to skip the array.
1276 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1277 want to skip the array.
1278
1279 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1280 support for (partially commented out) othersubrs 19-25, 27, and 28.
1281 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1282 (t1_decoder_done): Release new field `buildchar'.
1283
1284 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1285 functions.
1286 (t1_keywords): Register them.
1287 (t1_allocate_blend): Updated.
1288 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1289 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1290 (parse_dict): Remove `keyword_flags' argument.
1291 Use new macro IS_PS_TOKEN.
1292 Changed function so that later PostScript definitions override
1293 earlier ones.
1294 (t1_init_loader): Initialize new field `keywords_encountered'.
1295 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1296 `len_buildchar'.
1297 Remove `keywords_flags'.
1298
1299 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1300 `keywords_encountered'.
1301 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1302
1303 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1304 New entries for parsing /NDV, /CDV, and /DesignVector.
1305
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000013062006-07-07 Werner Lemberg <wl@gnu.org>
1307
1308 Add many checks to protect against malformed PCF files.
1309
1310 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1311 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1312
1313 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1314 data and check that tables don't overlap (using a simple
1315 bubblesort).
1316 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1317 New macros which give the size of data structures in the data
1318 stream.
1319 (pcf_get_properties): Use rough estimates to get array size limits.
1320 Assign `face->nprops' and `face->properties' earlier so that a call
1321 to PCF_Face_Done can do the clean-up in case of error.
1322 Protect against invalid string offsets.
1323 (pcf_get_metrics): Clean up code.
1324 Adjust tracing message levels.
1325 Use rough estimate to get array size limit.
1326 (pcf_get_bitmaps): Clean up code.
1327 Adjust tracing message levels.
1328 Use rough estimates to get offset limits.
1329 (pcf_get_encodings): Adjust tracing message level.
1330 (pcf_get_accel): Clean up code.
1331
Werner Lemberg8eb05252006-06-27 06:20:01 +000013322006-06-26 Werner Lemberg <wl@gnu.org>
1333
1334 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1335 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1336
Werner Lemberg24703f82006-06-26 19:12:51 +000013372006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1338
1339 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1340 (t1_decoder_parse_charstrings): Operator with
1341 opcode 15 pops its two arguments.
1342 Handle the case where the pops of an othersubr may be part of a
1343 subroutine.
1344 Handle unknown othersubrs gracefully: count their operands and let
1345 the following pop operators push the operands as the results onto
1346 the Type1 stack.
1347 Improve handling of setcurrentpoint opcode.
1348
Werner Lembergc011f4c2006-06-26 09:40:00 +000013492006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1350
1351 The Type 1 parser now skips over top-level procedures as required
1352 for a `Simplified Parser'. This makes the parser more robust as it
1353 doesn't poke around in PostScript code. Additionally, it makes the
1354 FontDirectory hackery in src/type1/t1load.c unnecessary.
1355
1356 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1357 (skip_literal_string): Add FT_Error as return value.
1358 Handle escapes better.
1359 (skip_string): Add FT_Error as return value.
1360 Don't set `parser->error' but return error code directly.
1361 (skip_procedure): New function.
1362 (ps_parser_skip_PS_token): Handle procedures.
1363 Update code.
1364 (ps_parser_to_token): Update code.
1365 (ps_parser_load_field_table): Handle bbox entries also.
1366
1367 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1368 Add commented-out code for synthetic fonts.
1369
Werner Lemberga2da05c2006-06-25 06:27:27 +000013702006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1371
1372 Fix two hinting bugs as reported in
1373 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1374
1375 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1376 `first_point' member.
1377
1378 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1379 `first_point'.
1380 (TT_Process_Composite_Glyph): Always untouch points.
1381
1382 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1383 `first_point' and `last_point' in case of composite glyphs.
1384 (Ins_IUP): Fix computation of `end_point'.
1385
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000013862006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1387
Werner Lembergef3d2c22006-06-25 06:07:14 +00001388 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1389 Mac. The original patch was written by David Sachitano and Lawrence
1390 Coopet, and modified by Sean McBride for MPW compatibility. Only
1391 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001392
Werner Lembergef3d2c22006-06-25 06:07:14 +00001393 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1394 Mac OS X platforms.
1395 (OS_INLINE): Undefine before definition.
1396 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1397 FontAssociation table in FOND resource.
1398 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1399 and fontSize at each entry of FontAssociation table in FOND
1400 resource.
1401 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1402 ffStylOff of FamilyRecord header of FOND resource, the header,
1403 fontSize, fontID at each entry of FontAssociation table, and
1404 StyleMapping table.
1405 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001406
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000014072006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1408
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001409 Public API of TrueTypeGX, OpenType, and classic kern table validator
1410 should return `FT_Err_Unimplemented_Feature' if validation service
1411 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001412 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001413 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1414
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001415 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1416 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1417 unavailable.
1418 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1419 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001420
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001421 * src/base/ftotval.c (FT_OpenType_Validate): Return
1422 FT_Err_Unimplemented_Feature if OpenType validation service is
1423 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001424
Werner Lembergb10e45a2006-06-08 07:32:56 +000014252006-06-08 Werner Lemberg <wl@gnu.org>
1426
1427 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1428 errors.
1429
David Turner5f1f7502006-06-07 05:11:50 +000014302006-06-07 David Turner <david@freetype.org>
1431
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001432 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1433 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1434 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001435
David Turner457b4a82006-06-06 08:14:14 +000014362006-06-06 David Turner <david@freetype.org>
1437
Werner Lemberg4836f952006-06-06 12:54:08 +00001438 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001439
Werner Lemberg4836f952006-06-06 12:54:08 +00001440 We change `ps_unicodes_init' so that it also takes a
1441 `free_glyph_name' callback to release the glyph names returned by
1442 `get_glyph_name'
1443
1444 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1445 Renamed to ...
1446 (PS_GetGlyphNameFunc): This.
1447 (PS_FreeGlyphNameFunc): New typedef.
1448 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1449
1450 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1451 argument.
1452 (cff_sid_free_glyph_name): New function.
1453 (cff_cmap_unicode_init): Updated.
1454
1455 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1456
1457 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1458 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001459
1460
David Turner09717352006-06-04 14:33:08 +000014612006-06-04 David Turner <david@freetype.org>
1462
Werner Lembergd724f202006-06-04 15:17:41 +00001463 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1464 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001465 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001466
Werner Lembergd724f202006-06-04 15:17:41 +00001467 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1468 of `face->num_glyphs' which missed the last glyph, due to
1469 the offset-by-1 computation, since the PFR format doesn't
1470 guarantee that glyph index 0 corresponds to the `missing
1471 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001472
Werner Lemberg33779662006-05-26 06:30:05 +000014732006-05-25 Werner Lemberg <wl@gnu.org>
1474
1475 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1476 `-no-undefined'. Reported by Christian Biesinger.
1477
Werner Lemberg24773d62006-05-20 08:53:13 +000014782006-05-19 Brian Weed <bw@imaginengine.com>
1479
1480 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1481 have debug information, and debug libraries use `C7 compatible'
1482 debug info.
1483
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000014842006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1485
Werner Lemberga6523a62006-05-20 08:47:01 +00001486 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001487 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001488
Werner Lemberga6523a62006-05-20 08:47:01 +00001489 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1490 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001491
1492 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001493 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001494
14952006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1496
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001497 * build/unix/configure.raw: Add a fallback to disable Carbon
1498 dependency, if configured with no options on Mac OS X.
1499
15002006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1501
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001502 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001503 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001504 the second part of Savannah bug #16590.
1505
Werner Lemberg545c4e52006-05-17 22:55:04 +000015062006-05-18 Werner Lemberg <wl@gnu.org>
1507
1508 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1509 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1510
David Turnerdc3ff312006-05-17 12:59:35 +000015112006-05-17 David Turner <david@freetype.org>
1512
Werner Lemberg545c4e52006-05-17 22:55:04 +00001513 This is a major patch used to drastically improve the performance of
1514 loading glyphs. This both speeds up loading the glyph vectors
1515 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001516
Werner Lemberg545c4e52006-05-17 22:55:04 +00001517 We now use inline assembler code with GCC to implement `FT_MulFix',
1518 which is probably the most important function related to the
1519 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001520
Werner Lemberg545c4e52006-05-17 22:55:04 +00001521 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001522
1523
Werner Lemberg545c4e52006-05-17 22:55:04 +00001524 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1525 `cursor' and `limit'.
1526
1527 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1528 New functions.
1529 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1530 [TEST]: Remove.
1531
1532 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1533 code.
1534
1535 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1536 `FT_ZERO'
1537 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1538 (af_glyph_hints_reload: Rewrite recognition of weak points.
1539
1540 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1541 constant values out of the loops.
1542
1543 * src/autofit/aftypes.h: Updated.
1544
1545 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1546
1547 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1548 product to get orientation.
1549
1550 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1551 (FT_Stream_OpenGzip): Use it to handle small files directly in
1552 memory.
1553
1554 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1555 Improve performance.
1556
1557 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1558 `limit'.
1559
1560 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1561 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1562 exceedingly large values of number of contours. Speed up by
1563 reducing the number of loops.
1564
1565 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1566
1567
1568 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1569 used to detect rogue clients from 4 to 16. This is to prevent some
1570 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1571 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001572
Werner Lembergde2d90a2006-05-17 08:54:30 +000015732007-05-17 Werner Lemberg <wl@gnu.org>
1574
1575 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001576 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001577
15782006-05-16 Werner Lemberg <wl@gnu.org>
1579
1580 * docs/PROBLEMS: Updated icl issues.
1581
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001582----------------------------------------------------------------------------
1583
Werner Lemberg42b63b22007-01-21 21:01:33 +00001584Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001585David Turner, Robert Wilhelm, and Werner Lemberg.
1586
1587This file is part of the FreeType project, and may only be used, modified,
1588and distributed under the terms of the FreeType project license,
1589LICENSE.TXT. By continuing to use, modify, or distribute this file you
1590indicate that you have read the license and understand and accept it
1591fully.
1592
1593
1594Local Variables:
1595version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001596coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001597End: