blob: a84e9f92ce9aefcca0d6577e98415592d57e4561 [file] [log] [blame]
Werner Lemberg582067d2007-02-11 15:03:05 +000012007-02-11 Werner Lemberg <wl@gnu.org>
2
3 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
4 non-spacing glyphs.
5
Werner Lemberg8f474532007-02-07 08:31:01 +000062007-02-07 Tom Parker <palfrey@tevp.net>
7
8 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
9 pointer.
10
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000112007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
12
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000013 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
14 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +000015 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000016 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
17 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
18 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
19 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +000020
21 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
22 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000023 * builds/mac/ftmac.c: Ditto.
24
252007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
26
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000027 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +000028 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000029 #include <ftmac.c>.
30
312007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
32
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +000033 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
34 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
35 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
36 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
37 FT_GetFilePath_From_Mac_ATS_Name.
38 * builds/mac/ftmac.c: Ditto.
39
402007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
41
Werner Lembergdcbb7082007-02-08 08:54:09 +000042 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +000043 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
44 for passing to FT_New_Face_From_FSSpec.
45
462007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
47
Werner Lembergdcbb7082007-02-08 08:54:09 +000048 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000049 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +000050
51 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
52 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000053 * builds/mac/ftmac.c (OS_INLINE): Ditto.
54
Werner Lemberg313d7772007-02-01 08:10:45 +0000552007-02-01 Werner Lemberg <wl@gnu.org>
56
57 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
58 Explain why applications shouldn't use it. Found by Alexei.
59
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000602007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +000061
62 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
63 message.
64
65 * src/gxvalid/gxvmort1.c
66 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
67 message.
68
Werner Lemberg53935932007-01-31 08:53:02 +0000692007-01-31 Werner Lemberg <wl@gnu.org>
70
71
72 * Version 2.3.1 released.
73 =========================
74
75
76 Tag sources with `VER-2-3-1-FINAL'.
77
78 * builds/win32/visualc/freetype.dsp,
79 builds/win32/visualc/freetype.vcproj: s/230/231/.
80 * builds/win32/visualc/index.html: s/221/231/.
81
82 * vms_make.com: Add `ftgasp'.
83
David Turnera7ee6082007-01-30 10:33:53 +0000842007-01-30 David Turner <david@freetype.org>
85
Werner Lemberg53935932007-01-31 08:53:02 +000086 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +000087
Werner Lemberg53935932007-01-31 08:53:02 +000088 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +000089
Werner Lemberg53935932007-01-31 08:53:02 +000090 * docs/VERSION.DLL docs/release, README, Jamfile (RefDoc):
91 s/2.3.0/2.3.1/.
92
93 * builds/unix/configure.raw (version_info): Set to 9:12:3.
94
95
96 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
97 (af_loader_load_g): Disable the warper (i.e., the light hinting
98 improvements) to make a 2.3.1 bugfix release before introducing a
99 new feature. This should give us more time to tune and improve the
100 warper for the next release.
101
102 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000103
David Turnerd91eebd2007-01-26 15:05:41 +00001042007-01-25 David Turner <david@freetype.org>
105
Werner Lembergbf241762007-01-26 16:08:49 +0000106 For light auto-hinting, improve glyph advance widths and resurrect
107 normal/full hinting to its normal quality.
108
109 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
110 and `xmax_delta'.
111 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
112 and `xmax_delta'.
113
114 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
115 preprocessor conditional with if-clause, handling both light and
116 normal mode.
117
118 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
119 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000120
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00001212007-01-25 Werner Lemberg <wl@gnu.org>
122
123 * docs/release: Updated -- Savannah uses a new uploading scheme.
124
David Turnera42567b2007-01-25 12:23:37 +00001252007-01-25 David Turner <david@freetype.org>
126
Werner Lembergd7855662007-01-25 13:53:56 +0000127 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000128
Werner Lembergd7855662007-01-25 13:53:56 +0000129 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
130 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
131 functions.
David Turnera42567b2007-01-25 12:23:37 +0000132
Werner Lembergd7855662007-01-25 13:53:56 +0000133 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000134
Werner Lembergb1be9e82007-01-25 11:50:00 +00001352007-01-25 Werner Lemberg <wl@gnu.org>
136
137 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000138 correctly in a sanity check. Since this function is only used to
139 load local and global functions, any charstring that called the last
140 local/global function would fail otherwise. This fixes Savannah bug
141 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000142
143 * docs/CHANGES: Document it.
144
David Turnerb6de8d12007-01-23 15:51:50 +00001452007-01-23 David Turner <david@freetype.org>
146
Werner Lembergb1be9e82007-01-25 11:50:00 +0000147 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
148 prevented compilation when disabling both the unpatented and the
149 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000150
Werner Lembergb1be9e82007-01-25 11:50:00 +0000151
152 Fix and enable the warper to improve `light' hinting mode. This is
153 not necessarily a final version, but it seems to work well.
154
155 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
156 Disable code.
157 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
158 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
159
160 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
161 (af_warper_compute_line_best): Fix array size of `scores'.
162 (af_warper_compute): Better handling of border cases.
163 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
164 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000165
Werner Lemberg011d1112007-01-21 09:36:00 +00001662007-01-21 Werner Lemberg <wl@gnu.org>
167
Werner Lemberg42b63b22007-01-21 21:01:33 +0000168 * ChangeLog: Split off older entries into...
169 * ChangeLog.22: This new file.
170
1712007-01-21 Werner Lemberg <wl@gnu.org>
172
Werner Lemberg555258f2007-01-21 09:46:37 +0000173 * docs/CHANGES: Document SHZ fix.
174
1752007-01-21 George Williams <gww@silcom.com>
176
177 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
178 points.
179
1802007-01-21 Werner Lemberg <wl@gnu.org>
181
Werner Lemberg011d1112007-01-21 09:36:00 +0000182 * src/sfnt/ttmtx.c (tt_face_get_metrics)
183 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
184
Werner Lemberg87a5a432007-01-17 12:44:39 +00001852007-01-17 Werner Lemberg <wl@gnu.org>
186
Werner Lembergb8003292007-01-17 12:56:25 +0000187
188 * Version 2.3.0 released.
189 =========================
190
191
192 Tag sources with `VER-2-3-0-FINAL'.
193
1942007-01-17 Werner Lemberg <wl@gnu.org>
195
Werner Lemberg87a5a432007-01-17 12:44:39 +0000196 * docs/release: Updated.
197
David Turner22122722007-01-16 20:06:44 +00001982007-01-16 David Turner <david@freetype.org>
199
Werner Lemberg87a5a432007-01-17 12:44:39 +0000200 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
201 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
202 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
203 warnings.
David Turner22122722007-01-16 20:06:44 +0000204
Werner Lemberg267e1d72007-01-15 07:48:09 +00002052007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
206
207 * builds/amiga/makefile, builds/amiga/makefile.os4,
208 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
209
210 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
211
Werner Lemberg8c4120d2007-01-15 06:42:40 +00002122007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
213
214 Fix various compiler warnings.
215
216 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
217 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
218 s/index/strike_index/.
219 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
220
221 * src/gxvalid/gxvmorx5.c
222 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
223
224 * src/truetype/ttinterp.c (Compute_Point_Displacement),
225 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
226 uninitialized variables.
227
Werner Lemberg6164a9d2007-01-13 23:01:36 +00002282007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
229
230 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
231
Werner Lemberg281c1482007-01-13 22:50:51 +00002322007-01-13 Werner Lemberg <wl@gnu.org>
233
234 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
235 versions up to 0x3FF without complaining.
236
Werner Lembergac250b22007-01-13 14:01:36 +00002372007-01-13 Derek Clegg <dclegg@apple.com>
238
239 Add FT_Get_PS_Font_Info interface to CFF driver.
240
241 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
242 (CFF_FontRec): Add `font_info' field.
243
244 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
245 (cff_font_done): Free font->font_info if necessary.
246
247 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
248 (cff_service_ps_info): Register cff_ps_get_font_info.
249
Werner Lemberg23df31a2007-01-13 08:45:00 +00002502007-01-13 Werner Lemberg <wl@gnu.org>
251
252 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
253 with C++ compiler.
254
255 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
256 af_glyph_hints_dump_edges): Ditto.
257
258 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
259 `modules.cfg').
260
261 * src/sfnt/ttsbit0.h: Remove.
262
263 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
264
Werner Lemberg27cf9de2007-01-13 07:34:23 +00002652007-01-12 David Turner <david@freetype.org>
266
267 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
268 bug in the bitmap emboldener if the pitch of the source bitmap is
269 much larger than its width.
270
271 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
272 compilation warning.
273
Werner Lemberg6d96d312007-01-12 10:30:19 +00002742007-01-12 Werner Lemberg <wl@gnu.org>
275
276 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
277 `automake' CVS module from sources.redhat.com.
278
Werner Lemberg17432b52007-01-12 09:28:44 +00002792007-01-11 Werner Lemberg <wl@gnu.org>
280
281 * src/type1/t1load.c (is_space): Removed.
282 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
283 (parse_charstrings): Use IS_PS_TOKEN.
284
285
286 * autogen.sh: Avoid bash specific syntax.
287
David Turner038ace22007-01-11 15:00:59 +00002882007-01-11 David Turner <david@freetype.org>
289
Werner Lemberg17432b52007-01-12 09:28:44 +0000290 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000291
Werner Lemberg17432b52007-01-12 09:28:44 +0000292 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000293
Werner Lemberg17432b52007-01-12 09:28:44 +0000294 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
295 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000296 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000297
Werner Lemberg17432b52007-01-12 09:28:44 +0000298 * autogen.sh: Small fix to get it working on Mac OS X properly:
299 The issue is that GNU libtool is called `glibtool' on this platform,
300 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000301
David Turner2628ea92007-01-10 13:15:56 +00003022007-01-10 David Turner <david@freetype.org>
303
Werner Lemberg17432b52007-01-12 09:28:44 +0000304 * all-sources: Tag all sources with VER-2-3-0-RC1 and
305 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000306
Werner Lemberg17432b52007-01-12 09:28:44 +0000307 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
308 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
309 version number to 2.3.0.
310
311 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
312 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000313
314 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000315 include/freetype/ftlcdfil.h: Update reference documentation with
316 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000317
Werner Lemberg17432b52007-01-12 09:28:44 +0000318 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
319 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000320
Werner Lembergbf02d392007-01-10 07:07:37 +00003212007-01-10 Derek Clegg <dclegg@apple.com>
322
323 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
324 values.
325
David Turnerf48b60e2007-01-08 15:15:32 +00003262007-01-08 David Turner <david@freetype.org>
327
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000328 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000329
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000330 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
331 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000332 corresponding to a given character pixel size.
333
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000334 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
335 `gasp' table, in order to avoid potential problems with later
336 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000337
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000338 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
339 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000340
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000341 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
342 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
343 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
344 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000345
Werner Lemberge6b6f372007-01-07 00:06:47 +00003462007-01-07 Werner Lemberg <wl@gnu.org>
347
Werner Lembergb8004d22007-01-07 09:13:38 +0000348 * src/cid/cidparse.c (cid_parser_new): Improve error message for
349 Type 11 fonts.
350 Scan for `/sfnts' token.
351
3522007-01-07 Werner Lemberg <wl@gnu.org>
353
354 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000355
Werner Lembergbe5f7972007-01-06 07:51:48 +00003562007-01-06 Werner Lemberg <wl@gnu.org>
357
358 * src/cff/cffload.c (cff_index_init): Remove unused variable.
359 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
360
David Turnera8cf42b2007-01-04 16:46:46 +00003612007-01-04 David Turner <david@freetype.org>
362
Werner Lembergf6294392007-01-06 07:47:45 +0000363 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
364 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000365
Werner Lembergf6294392007-01-06 07:47:45 +0000366
367 Do not allocate interpreter-specific tables in memory if we are not
368 going to load glyphs with the bytecode interpreter anyway.
369
370 * src/truetype/ttgload.c (tt_loader_init): Load execution context
371 only if glyph is hinted.
372 Updated.
373 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
374 and `cvs_ready'.
375 Add `tt_size_ready_bytecode' declaration.
376 * src/truetype/ttobjs.c (tt_size_done_bytecode,
377 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
378 (tt_size_init): Move most code into `tt_size_init_bytecode'.
379 (tt_size_done): Move most code into `tt_size_done_bytecode'.
380 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000381
David Turner91a34022007-01-05 14:47:08 +0000382
Werner Lembergf6294392007-01-06 07:47:45 +0000383 Don't extract the metrics table from the SFNT font file. Instead,
384 reparse it on each glyph load. The runtime difference is not
385 noticeable, and it can save a lot of heap memory when memory-mapped
386 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000387
Werner Lembergf6294392007-01-06 07:47:45 +0000388 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
389 `horz_metrics_offset' and `vert_metrics_ofset'.
390 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
391 Updated.
392
393
394 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
395
396
397 Do not load the CFF index offsets into memory, since this wastes a
398 *lot* of heap memory with large Asian CFF fonts. There is no
399 significant performance loss.
400
401 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
402 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
403 `data_size'.
404 (CFF_CharsetRec): Add field `num_glyphs'.
405
406 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
407 cff_charset_cid_to_gindex): New functions.
408 (cff_new_index): Renamed to...
409 (cff_index_init): This. Update all callers.
410 Updated -- some code has been moved to `cff_index_load_offsets'.
411 (cff_done_index): Renamed to...
412 (cff_index_done): This. Update all callers.
413 (cff_index_get_pointers, cff_index_access_element): Updated to use
414 stream offsets.
415 (cff_charset_compute_cids): Set `num_glyphs' field.
416 (cff_encoding_load): Updated.
417
418 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000419
4202007-01-04 David Turner <david@freetype.org>
421
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000422 * docs/INSTALL.UNIX: Simplify some parts, add reference to
423 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000424
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000425 * README.CVS: Add common problem description and solution
426 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000427
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000428 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000429
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000430 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000431
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000432 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000433
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000434 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
435 (TWorker): This.
436 Remove `count_table' and `memory'.
437 Make `grays' a pointer.
438 (TRaster): New structure.
439 (count_table): New static array.
440 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
441 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
442 ft_black_set_mode, ft_black_render): Updated.
443 (ft_black_init): Don't initialize `count_table'.
444 (ft_black_reset): Use the render pool. This saves about 6KB of
445 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000446
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000447 * src/smooth/ftgrays.c (TRaster): Replaced with...
448 (TWorker): This.
449 Remove `memory'.
450 (TRaster): New structure.
451
452 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
453 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
454 gray_render_span, gray_raster_render): Updated.
455 (gray_raster_reset): Use the render pool. This saves about 6KB of
456 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000457
David Turner8a6c44e2007-01-04 17:03:11 +0000458 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
459 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000460 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
461 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
462 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000463
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000464 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
465 Remove a typo that results in no hinting and a memory leak with some
466 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000467
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000468 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000469 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000470 CFF_Faces in it. We need to close all faces before destroying the
471 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000472
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004732007-01-02 Werner Lemberg <wl@gnu.org>
474
475 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
476 Remove compiler warning.
477
David Turner9207e002007-01-02 16:58:13 +00004782007-01-02 David Turner <david@freetype.org>
479
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000480 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000481
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00004822006-12-31 Masatake YAMATO <jet@gyve.org>
483
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000484 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
485 function.
486 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000487 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000488 `gxv_kern_subtable_fmt0_pairs_validate'.
489
David Turner115b4422006-12-22 11:37:05 +00004902006-12-22 David Turner <david@freetype.org>
491
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000492 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
493 warnings.
David Turner115b4422006-12-22 11:37:05 +0000494
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000495 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
496 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000497
Werner Lemberg4755bf72006-12-16 08:58:44 +00004982006-12-16 Anders Kaseorg <anders@kaseorg.com>
499
500 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
501 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
502
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00005032006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
504
Werner Lemberg9b774e22007-01-16 06:11:27 +0000505 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000506 sync with the modification by Jens Claudius on 2006-08-22; cf.
507 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 +0000508
5092006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
510
511 * src/base/ftmac.c: Specialized for Mac OS X only.
512 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
513 * builds/unix/configure.raw: Ditto. When explicit switches for
514 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
515 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
516
5172006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
518
519 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
520 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
521 instead of src/base/ftmac.c
522 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
523 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
524 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
525 that cannot be built at present.
526
5272006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
528
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000529 * src/base/ftobjs.c: Improvement of resource fork handler for
530 POSIX, cf.
531 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000532 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
533 format or .dfont, to simulate the face index number counted by ftmac.c.
534 (IsMacResource): Return the number of scalable faces correctly.
535
Werner Lembergec5b4502006-12-10 07:51:38 +00005362006-12-10 Werner Lemberg <wl@gnu.org>
537
538 * builds/toplevel.mk (version): Protect against `distclean' target.
539
Werner Lembergb26b3142006-12-09 20:01:43 +00005402006-12-09 Werner Lemberg <wl@gnu.org>
541
542 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
543 or `type'.
544
545 * builds/freetype.mk (version): Extracted from freetype.h, using
546 GNU make's built-in string functions.
547 (refdoc): Use $(version) instead of static version number.
548
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00005492006-12-08 Werner Lemberg <wl@gnu.org>
550
551 * builds/toplevel.mk (dist): Extract version number from freetype.h.
552
Werner Lemberg15c29502006-12-09 07:29:54 +00005532006-12-08 Vladimir Volovich <vvv@vsu.ru>
554
555 * src/tools/apinames (State): Remove final comma in structure -- xlc
556 v5 under AIX 4.3 doesn't like this.
557
David Turnerdbf3b432006-12-07 21:18:09 +00005582006-12-07 David Turner <david@freetype.org>
559
Werner Lemberg256a3512006-12-08 06:49:33 +0000560 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
561 to the spacing of auto-fitted glyphs. This only impacts rare
562 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000563
Werner Lemberg11171312006-12-03 09:43:40 +00005642006-12-03 Werner Lemberg <wl@gnu.org>
565
566 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
567
Werner Lemberg960ba592006-12-01 08:20:47 +00005682006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000569
Werner Lemberg960ba592006-12-01 08:20:47 +0000570 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
571 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
572 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000573
David Turner80658e52006-11-28 08:09:20 +0000574
Werner Lemberg960ba592006-12-01 08:20:47 +0000575 * include/freetype/ftxf86.h: Fix and extend comment so that it
576 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000577
Werner Lemberg960ba592006-12-01 08:20:47 +0000578 * include/freetype/ftchapters.h: Add `font_format' section.
579
580
581 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
582 to TOC in index page.
583
5842006-11-28 David Turner <david@freetype.org>
585
586 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
587 trying to render into a zero-width/height bitmap, not an error code.
588
589 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
590
591 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
592 ones instead.
593
594 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
595 variable.
David Turner80658e52006-11-28 08:09:20 +0000596
Werner Lemberg8636c292006-11-26 22:28:13 +00005972006-11-26 Pierre Hanser <hanser@club-internet.fr>
598
599 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
600
Werner Lemberg960ba592006-12-01 08:20:47 +00006012006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000602
Werner Lemberg960ba592006-12-01 08:20:47 +0000603 * src/autofit/afhints.c (af_glyph_hints_dump_points,
604 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
605 Add stubs to link the `ftgrid' test program when debugging is
606 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000607
Werner Lemberg960ba592006-12-01 08:20:47 +00006082006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000609
610 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000611 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
612
613 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
614 Emit more sensible information.
615
616 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
617
618 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
619 rounding of blue values.
620 (af_latin_hints_compute_segments): Hint segment heights.
621 (af_latin_hints_link_segments): Reduce `len_score' value.
622 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
623 value and use `height' member for comparisons.
624 (af_latin_hint_edges): Extend logging message.
625 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +0000626
Werner Lemberg91959bf2006-11-22 10:36:55 +00006272006-11-22 Werner Lemberg <wl@gnu.org>
628
629 Fix Savannah bug #15553.
630
631 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
632 program after a change from mono to grayscaling (and vice versa).
633 Use correct constant for comparison to get `exec->grayscale'.
634
Werner Lemberg913a3652006-11-19 09:19:17 +00006352006-11-18 Werner Lemberg <wl@gnu.org>
636
637 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +0000638 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +0000639 This patch fixes Savannah bug #18301.
640
641 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
642 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
643 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
644 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
645 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
646 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
647 (FNT_Load_Glyph): Check validity of `glyph_index'.
648
David Turner7bab6ae2006-11-13 11:25:06 +00006492006-11-13 David Turner <david@freetype.org>
650
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000651 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
652 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +0000653
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000654 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
655 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
656 when building the library to change the default LCD filter to be
657 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +0000658
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000659 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +0000660
David Turner8765c712006-11-10 16:49:42 +00006612006-11-10 David Turner <david@freetype.org>
662
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000663 * src/smooth/ftsmooth.c: API change for the LCD
664 filter. The FT_LcdFilter value is an enumeration describing which
665 filter to apply, with new values FT_LCD_FILTER_LIGHT and
666 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
667 algorithm which produces strong color fringes for everything
668 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +0000669
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000670 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
671 second parameter to an enum type.
672
673 * src/base/ftlcdfil.c (USE_LEGACY): Define.
674 (_ft_lcd_filter): Rename to...
675 (_ft_lcd_filter_fir): This.
676 Update parameters.
677 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
678 (FT_Library_Set_LcdFilter): Update parameters.
679 Handle new filter modes.
680
681 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
682 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
683 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
684 callback and update other fields.
685
686 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
687 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
688 Other minor improvements.
689
690 * src/autofit/aflatin.c: Various tiny improvements that drastically
691 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
692 (af_latin_hints_compute_edges): Fix typo.
693 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +0000694
David Turner4e9cc3c2006-11-09 16:31:52 +00006952006-11-09 David Turner <david@freetype.org>
696
Werner Lemberg49c77a82006-11-09 21:51:57 +0000697 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
698 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +0000699
Werner Lemberg5e430892006-11-07 09:35:03 +00007002006-11-07 Zhe Su <james.su@gmail.com>
701
702 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
703 also.
704
Werner Lemberg111b5ae2006-11-03 09:40:12 +00007052006-11-03 Werner Lemberg <wl@gnu.org>
706
707 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
708
David Turner40604742006-11-02 16:37:35 +00007092006-11-02 David Turner <david@freetype.org>
710
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000711 Add a few tweaks to better handle serif fonts.
712 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +0000713
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000714 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
715 segments that are less than 1.5 pixels high. This gets rid of
716 *many* corner cases with serifs.
717 (af_latin_align_linked_edge): Add logging message.
718 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
719 Add logging messages.
720 Handle AF_EDGE_FLAG flag specially.
721
722 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
723 _af_debug_disable_blue_hints, and _af_debug_hints variables.
724
725 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
726 Update external declarations.
727 (af_corner_orientation, af_corner_is_flat): Replaced by...
728
729 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
730 ft_corner_is_flat): These declarations.
731
732 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
733 Comment out. Replaced by...
734
735 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
736 These functions. Update all callers.
737 (FT_Add64) [!FT_LONG64]: Simplify.
738
739 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
740 (af_direction_compute): Add a missing FT_ABS call. This bug caused
741 production of garbage by missing lots of segments.
742
743 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
744
745 * src/autofit/afloader.c (af_loader_init, af_loader_done)
746 [AF_DEBUG]: Set _af_debug_hints.
747
748
749 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
750 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
751 and ft_corner_orientation.
752
753
754 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +0000755
Werner Lemberge88c5262006-10-24 05:46:26 +00007562006-10-24 Werner Lemberg <wl@gnu.org>
757
758 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
759
760 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
761 as argument.
762
David Turnera1861392006-10-23 16:00:59 +00007632006-10-23 Zhe Su <zsu@novell.com>
764
Werner Lemberg715e96e2006-10-24 05:28:45 +0000765 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
766 better deal with broken Asian fonts with strange glyphs, having
767 self-intersections and other peculiarities. The used algorithm is
768 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +0000769
David Turnere140f142006-10-23 08:56:57 +00007702006-10-23 David Turner <david@freetype.org>
771
Werner Lemberg715e96e2006-10-24 05:28:45 +0000772 Speed up the CFF font loader. With some large CFF fonts,
773 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +0000774
Werner Lemberg715e96e2006-10-24 05:28:45 +0000775 * src/cff/cffload.c (cff_get_offset): Removed.
776 (cff_new_index): Inline functionality of `cff_get_offset'.
777 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
778 (cff_charset_done): Call `cff_charset_free_cids'.
779 (cff_charset_load): Call `cff_charset_compute_cids'.
780 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
781
782 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
783 with FT_NEXT_XXX.
784
785
786 Speed up the Postscript hinter, with more than 100% speed increase
787 on my machine.
788
789 * src/pshinter/pshalgo.c (psh_corner_is_flat,
790 psh_corner_orientation): New functions.
791 (psh_glyph_compute_inflections): Merge loops for efficiency.
792 Use `psh_corner_orientation'.
793 (psh_glyph_init): Use `psh_corner_is_flat'.
794 (psh_hint_table_find_strong_point): Renamed to...
795 (psh_hint_table_find_strong_points): This.
796 Rewrite, adding argument to handle all points at once.
797 Update all callers.
798 (PSH_MAX_STRONG_INTERNAL): New macro.
799 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +0000800
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00008012006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
802
803 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +0000804 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +0000805
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00008062006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
807
808 * docs/INSTALL.CROSS: New document file for cross-building.
809
810 * builds/unix/configure.raw: Preliminary cross-building support.
811 Find native C compiler and pass it by CC_BUILD, and
812 find suffix for native executable and pass it by EXEEXT_BUILD.
813 Also suffix for target executable is passed by EXEEXT.
814
Werner Lembergb9e6d692006-10-15 08:58:40 +0000815 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
816 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000817 CC_BUILD and EXEEXT_BUILD.
818
Werner Lembergb9e6d692006-10-15 08:58:40 +0000819 * builds/exports.mk (APINAMES_EXE): Change the extension for
820 apinames from the suffix for target (E) to that for building host
821 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000822
Werner Lemberg82a07e92006-10-12 06:20:44 +00008232006-10-12 Werner Lemberg <wl@gnu.org>
824
825 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
826 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
827 which reference those files.
828
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00008292006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
830
Werner Lembergb9e6d692006-10-15 08:58:40 +0000831 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
832 embedded in freetype2.pc and freetype-config. Use it to record
833 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +0000834
835 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
836
837 * builds/unix/freetype-config.in: Ditto.
838
Werner Lemberg28e17d92006-10-11 17:27:47 +00008392006-10-11 Werner Lemberg <wl@gnu.org>
840
841 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
842 development.
843
Jens Claudius336d2292006-10-03 08:53:37 +00008442006-10-03 Jens Claudius <jens.claudius@yahoo.com>
845
846 * include/freetype/config/ftstdlib.h: Cast away volatileness from
847 argument to ft_setjmp.
848
849 * include/freetype/internal/ftvalid.h: Add comment that
850 ft_validator_run must not be used.
851
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008522006-10-01 Werner Lemberg <wl@gnu.org>
853
854 * src/base/ftbase.c: Undo change from 2006-09-30.
855
856 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
857
8582006-09-30 David Turner <david@freetype.org>
859
Werner Lemberg046bf8b2006-10-03 08:43:42 +0000860 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
861 s/unpatented_hinting/ignore_unpatented_hinter/.
862 Update all callers.
863
864 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
865 auto-hinting shall be used or not.
866
867 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +0000868
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008692006-09-30 Werner Lemberg <wl@gnu.org>
870
Werner Lemberg1e4402e2006-09-29 22:10:36 +0000871 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
872 in use).
873
874 * src/base/ftbase.c: Include `ftlcdfil.c'.
875
Werner Lemberg9b15ea32006-09-29 18:22:11 +00008762006-09-29 Werner Lemberg <wl@gnu.org>
877
878 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
879 overlapping segments. Bug reported by Stefan Koch.
880
David Turnerad830712006-09-27 16:20:59 +00008812006-09-28 David Turner <david@freetype.org>
882
Werner Lemberg2c002e12006-09-29 21:31:53 +0000883 Fix a bug in the automatic unpatented hinting support which prevents
884 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +0000885
Werner Lemberg2c002e12006-09-29 21:31:53 +0000886 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
887 s/force_autohint/unpatented_hinting/. Update all callers.
888
889 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
890
891 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +0000892
David Turner8a317cf2006-09-27 07:52:48 +00008932006-09-27 David Turner <david@freetype.org>
894
Werner Lemberg2c002e12006-09-29 21:31:53 +0000895 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +0000896
David Turner8a317cf2006-09-27 07:52:48 +0000897
David Turnere140f142006-10-23 08:56:57 +0000898 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +0000899 In a default build, the function `FT_Library_SetLcdFilter' returns
900 `FT_Err_Unimplemented_Feature'; you need to #define
901 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
902 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +0000903
Werner Lemberg2c002e12006-09-29 21:31:53 +0000904 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +0000905
Werner Lemberg2c002e12006-09-29 21:31:53 +0000906 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
907 typedef.
908 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
909 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +0000910
Werner Lemberg2c002e12006-09-29 21:31:53 +0000911 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
912 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +0000913
Werner Lemberg2c002e12006-09-29 21:31:53 +0000914 Handle subpixel rendering.
915 Simplify function.
916 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
917 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
918
919 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
920 pointing to <freetype/ftlcdfil.h>.
921
922 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
923 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
924
925 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +0000926
Werner Lemberge20df4a2006-09-27 06:29:21 +00009272006-09-26 David Bustin
928
929 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
930 correctly. Reported as Savannah bug #17843.
931
David Turner6f8c6222006-09-26 15:42:44 +00009322006-09-26 David Turner <david@freetype.org>
933
Werner Lemberg110246c2006-09-26 21:55:44 +0000934 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
935 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
936 horizontal and vertical hinting for the purpose of debugging the
937 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +0000938
Werner Lemberg110246c2006-09-26 21:55:44 +0000939 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
940 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +0000941
Werner Lemberg110246c2006-09-26 21:55:44 +0000942 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
943
944 * include/freetype/config/ftoption.h, devel/ftoption.h
945 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
946 we want to compile LCD-optimized rendering code (à la ClearType) or
947 not. The macro *must* be disabled in default builds of the library
948 for patent reasons.
949
950 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
951 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
952 isn't defined at compile time. This only changes the content of the
953 rendered glyph to match the one of normal gray-level rendering,
954 hence clients should not need to be modified.
955
956 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +0000957
Werner Lemberg745ff2c2006-09-19 05:48:02 +00009582006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
959
960 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
961 LWFN fails and both are available.
962
David Turnerf3050052006-09-11 12:00:32 +00009632006-09-11 David Turner <david@freetype.org>
964
Werner Lembergf9644552006-09-12 13:48:10 +0000965 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
966 report their English names through an Apple Roman
967 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +0000968
Werner Lembergf9644552006-09-12 13:48:10 +0000969 If the font uses another name entry with language_id == English, it
970 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +0000971
Werner Lembergf9644552006-09-12 13:48:10 +0000972 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
973 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +0000974
Werner Lemberg36d2eab2006-09-05 19:24:34 +00009752006-09-05 Werner Lemberg <wl@gnu.org>
976
977 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +0000978 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000979 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
980 `HAN NOM B.ttf').
981
982 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
983
David Turner772e55d2006-09-05 09:45:15 +00009842006-09-05 David Turner <david@freetype.org>
985
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000986 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +0000987
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000988 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
989 (TRaster): Remove `count_ex' and `count_ey'.
990 (gray_find_cell): Remove 2nd and 3rd argument.
991 (gray_alloc_cell): Merged with `gray_find_cell'.
992 (gray_record_cell): Simplify.
993 (gray_set_cell): Rewrite.
994 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
995 (gray_render_span): Don't use FT_MEM_SET for small values.
996 (gray_dump_cells) [DEBUG_GRAYS]: New function.
997 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
998 bitmap scanline.
999 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001000
David Turneraa557a92006-09-04 16:42:44 +000010012006-09-04 David Turner <david@freetype.org>
1002
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001003 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1004 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001005
Werner Lemberg2d8629b2006-09-03 06:18:45 +000010062006-09-03 Werner Lemberg <wl@gnu.org>
1007
1008 * devel/ftoption.h: Synchronize with
1009 include/freetype/config/ftoption.h.
1010
1011 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1012 variable declaration.
1013 (gray_convert_glyph): Fix compiler warnings.
1014
David Turner6d79f212006-09-01 14:09:35 +000010152006-09-01 David Turner <david@freetype.org>
1016
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001017 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1018 to recognize a few fonts that require the automatic unpatented
1019 loader.
David Turnerbd502952006-09-01 19:05:24 +00001020
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001021 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1022 rasterizer. The speed improvement is between 15% and 25%, depending
1023 on the font data.
1024
1025 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1026 (TCell): Redefine.
1027 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1028 (gray_init_cells): Updated.
1029 (gray_find_cell, gray_alloc_cell): New functions.
1030 (gray_record_cell): Rewritten to use `gray_find_cell' and
1031 `gray_alloc_cell'.
1032 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1033 QSORT_THRESHOLD):
1034 Removed.
1035 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1036 gray_dump_cells): Removed.
1037 (gray_sweep): Rewritten.
1038 (gray_convert_glyph): Rewrite code which used one of the sorting
1039 functions.
1040 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001041
Werner Lembergd898aed2006-08-29 09:50:34 +000010422006-08-29 Dr. Werner Fink <werner@suse.de>
1043
1044 * configure: Make it possible to handle configure options which
1045 have strings containing spaces.
1046
10472006-08-27 David Turner <david@freetype.org>
1048
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001049 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1050 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1051 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1052
1053 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1054 src/truetype/truetype.c, src/truetype/ttdriver.c,
1055 src/truetype/ttgload.c, src/truetype/ttgload.h,
1056 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1057 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1058 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1059
1060 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1061 member `force_autohint'.
1062
1063 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1064
1065 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1066 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001067
Jens Claudiusa787f452006-08-27 11:26:18 +000010682006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1069
1070 Fix miscellaneous compiler warnings.
1071
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001072 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1073 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001074
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001075 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1076 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1077 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001078
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001079 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1080 volatileness of argument to ft_longjmp. Spotted by Werner
1081 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001082
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001083 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1084 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001085
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001086 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1087 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001088
Werner Lembergc4c35b72006-08-27 08:03:46 +000010892006-08-27 Werner Lemberg <wl@gnu.org>
1090
1091 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1092 Reported by Jens.
1093
Jens Claudius088e44e2006-08-22 14:24:30 +000010942006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001095
Jens Claudius088e44e2006-08-22 14:24:30 +00001096 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001097 about addresses of volatile objects passed as function arguments as
1098 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001099
Werner Lembergc4c35b72006-08-27 08:03:46 +00001100 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1101 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001102
1103 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1104 argument `table' a pointer to a volatile object.
1105
1106 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1107 argument `table' a pointer to a volatile object.
1108
Jens Claudius2652bd52006-08-18 17:20:37 +000011092006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1110
1111 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1112 variable `_sfnt' as volatile since it must keep its value across
1113 a call to ft_setjmp.
1114 (gxv_validate): Same for local variables `memory' and `valid'.
1115 (classic_kern_validate): Same for local variables `memory',
1116 `ckern', and `valid'.
1117
1118 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1119 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1120 `jstf', and 'valid'.
1121
1122 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1123 local variable `cmap'.
1124
David Turner9fbfc6a2006-08-16 09:11:31 +000011252006-08-16 David Turner <david@freetype.org>
1126
Werner Lemberg12342992006-08-19 11:18:09 +00001127 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1128 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001129
Werner Lemberg12342992006-08-19 11:18:09 +00001130 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1131 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001132
David Turner33f5f242006-08-16 16:50:55 +00001133
Werner Lemberg12342992006-08-19 11:18:09 +00001134 Improvements to native TrueType hinting. This is a first try,
1135 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1136
1137 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1138 `extra_points2'.
1139
1140 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1141 `orus'.
1142
1143 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1144 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1145 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1146 handle `extra_points2'.
1147
1148 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1149 Remove compiler warning.
1150 (cur_to_arg): Remove macro.
1151 (TT_Hint_Glyph): Updated.
1152 (TT_Process_Simple_Glyph): Handle `orus'.
1153
1154 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1155 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1156 (LOC_Ins_IUP): Renamed to...
1157 (IUP_WorkerRec): This.
1158 Add `orus' member.
1159 (Shift): Renamed to...
1160 (_iup_worker_shift): This.
1161 Updated.
1162 (Interp): Renamed to...
1163 (_iup_worker_interpolate): This.
1164 Updated to handle `orus'.
1165 (Ins_IUP): Updated.
1166
1167 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1168 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001169
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000011702006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1171
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001172 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001173 build ftvalid in ft2demos. This has been inadvertedly changed
1174 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001175
11762006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1177
Werner Lemberg12342992006-08-19 11:18:09 +00001178 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1179 Jens:
1180 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001181
Werner Lemberg12342992006-08-19 11:18:09 +00001182 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1183 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001184
1185 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1186
Jens Claudius9950adc2006-08-13 12:14:36 +000011872006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1188
Werner Lemberg12342992006-08-19 11:18:09 +00001189 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1190 T1_TOKEN_TYPE_KEY.
1191 (T1_FieldRec): Add `dict'.
1192 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1193 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1194 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001195
Werner Lemberg12342992006-08-19 11:18:09 +00001196 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1197 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001198
1199 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1200
1201 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001202 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1203 not T1_TOKEN_TYPE_ANY.
1204 (ps_parser_load_field): Make sure a token that should be a string or
1205 name is really a string or name.
1206 Avoid memory leak if a keyword has been already encountered and its
1207 value is overwritten.
1208 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1209 T1_FIELD_XXX.
1210 (parse_dict): Ignore keywords that occur in the wrong dictionary
1211 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001212
Werner Lemberg12342992006-08-19 11:18:09 +00001213 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1214 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001215
Werner Lemberg12342992006-08-19 11:18:09 +00001216 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1217 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001218
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000012192006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1220
1221 Move creation of field `buildchar' of T1_DecoderRec out of
1222 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1223 of it.
1224
1225 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1226 and `T1_Compute_Max_Advance'.
1227
1228 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1229 Remove field `face', add `len_buildchar'.
1230
1231 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1232 field `buildchar'.
1233
1234 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1235 finisher for T1_Decoder.
1236 (cid_slot_load_glyph): Do not ignore failure when initializing the
1237 T1_Decoder.
1238
1239 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1240 Updated.
1241 (t1_decoder_init): Remove initialization of fields `buildchar' and
1242 `len_buildchar'.
1243 (t1_decoder_done): Remove deallocation of field `buildchar'.
1244
1245 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1246 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1247 T1_Decoder.
1248 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1249 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1250 case of error.
1251
1252 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1253 `buildchar' of T1_FaceRec.
1254
1255 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1256 `buildchar' of T1_FaceRec.
1257
Werner Lemberg1a380e02006-07-14 18:28:08 +000012582006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1259
1260 * freetype2/include/freetype/internal/psaux.h: New macros
1261 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1262 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1263 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1264 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1265 (T1_DecoderRec): New fields `buildchar' and `face'.
1266 (IS_PS_TOKEN): New macro.
1267
1268 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1269 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1270
1271 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1272 `default_design_vector' and `num_default_design_vector'.
1273
1274 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1275 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1276 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1277
1278 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1279 `token' argument to be NULL if we want only to count the number of
1280 tokens.
1281 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1282 want to skip the array.
1283 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1284 want to skip the array.
1285
1286 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1287 support for (partially commented out) othersubrs 19-25, 27, and 28.
1288 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1289 (t1_decoder_done): Release new field `buildchar'.
1290
1291 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1292 functions.
1293 (t1_keywords): Register them.
1294 (t1_allocate_blend): Updated.
1295 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1296 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1297 (parse_dict): Remove `keyword_flags' argument.
1298 Use new macro IS_PS_TOKEN.
1299 Changed function so that later PostScript definitions override
1300 earlier ones.
1301 (t1_init_loader): Initialize new field `keywords_encountered'.
1302 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1303 `len_buildchar'.
1304 Remove `keywords_flags'.
1305
1306 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1307 `keywords_encountered'.
1308 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1309
1310 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1311 New entries for parsing /NDV, /CDV, and /DesignVector.
1312
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000013132006-07-07 Werner Lemberg <wl@gnu.org>
1314
1315 Add many checks to protect against malformed PCF files.
1316
1317 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1318 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1319
1320 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1321 data and check that tables don't overlap (using a simple
1322 bubblesort).
1323 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1324 New macros which give the size of data structures in the data
1325 stream.
1326 (pcf_get_properties): Use rough estimates to get array size limits.
1327 Assign `face->nprops' and `face->properties' earlier so that a call
1328 to PCF_Face_Done can do the clean-up in case of error.
1329 Protect against invalid string offsets.
1330 (pcf_get_metrics): Clean up code.
1331 Adjust tracing message levels.
1332 Use rough estimate to get array size limit.
1333 (pcf_get_bitmaps): Clean up code.
1334 Adjust tracing message levels.
1335 Use rough estimates to get offset limits.
1336 (pcf_get_encodings): Adjust tracing message level.
1337 (pcf_get_accel): Clean up code.
1338
Werner Lemberg8eb05252006-06-27 06:20:01 +000013392006-06-26 Werner Lemberg <wl@gnu.org>
1340
1341 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1342 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1343
Werner Lemberg24703f82006-06-26 19:12:51 +000013442006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1345
1346 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1347 (t1_decoder_parse_charstrings): Operator with
1348 opcode 15 pops its two arguments.
1349 Handle the case where the pops of an othersubr may be part of a
1350 subroutine.
1351 Handle unknown othersubrs gracefully: count their operands and let
1352 the following pop operators push the operands as the results onto
1353 the Type1 stack.
1354 Improve handling of setcurrentpoint opcode.
1355
Werner Lembergc011f4c2006-06-26 09:40:00 +000013562006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1357
1358 The Type 1 parser now skips over top-level procedures as required
1359 for a `Simplified Parser'. This makes the parser more robust as it
1360 doesn't poke around in PostScript code. Additionally, it makes the
1361 FontDirectory hackery in src/type1/t1load.c unnecessary.
1362
1363 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1364 (skip_literal_string): Add FT_Error as return value.
1365 Handle escapes better.
1366 (skip_string): Add FT_Error as return value.
1367 Don't set `parser->error' but return error code directly.
1368 (skip_procedure): New function.
1369 (ps_parser_skip_PS_token): Handle procedures.
1370 Update code.
1371 (ps_parser_to_token): Update code.
1372 (ps_parser_load_field_table): Handle bbox entries also.
1373
1374 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1375 Add commented-out code for synthetic fonts.
1376
Werner Lemberga2da05c2006-06-25 06:27:27 +000013772006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1378
1379 Fix two hinting bugs as reported in
1380 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1381
1382 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1383 `first_point' member.
1384
1385 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1386 `first_point'.
1387 (TT_Process_Composite_Glyph): Always untouch points.
1388
1389 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1390 `first_point' and `last_point' in case of composite glyphs.
1391 (Ins_IUP): Fix computation of `end_point'.
1392
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000013932006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1394
Werner Lembergef3d2c22006-06-25 06:07:14 +00001395 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1396 Mac. The original patch was written by David Sachitano and Lawrence
1397 Coopet, and modified by Sean McBride for MPW compatibility. Only
1398 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001399
Werner Lembergef3d2c22006-06-25 06:07:14 +00001400 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1401 Mac OS X platforms.
1402 (OS_INLINE): Undefine before definition.
1403 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1404 FontAssociation table in FOND resource.
1405 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1406 and fontSize at each entry of FontAssociation table in FOND
1407 resource.
1408 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1409 ffStylOff of FamilyRecord header of FOND resource, the header,
1410 fontSize, fontID at each entry of FontAssociation table, and
1411 StyleMapping table.
1412 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001413
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000014142006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1415
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001416 Public API of TrueTypeGX, OpenType, and classic kern table validator
1417 should return `FT_Err_Unimplemented_Feature' if validation service
1418 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001419 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001420 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1421
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001422 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1423 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1424 unavailable.
1425 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1426 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001427
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001428 * src/base/ftotval.c (FT_OpenType_Validate): Return
1429 FT_Err_Unimplemented_Feature if OpenType validation service is
1430 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001431
Werner Lembergb10e45a2006-06-08 07:32:56 +000014322006-06-08 Werner Lemberg <wl@gnu.org>
1433
1434 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1435 errors.
1436
David Turner5f1f7502006-06-07 05:11:50 +000014372006-06-07 David Turner <david@freetype.org>
1438
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001439 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1440 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1441 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001442
David Turner457b4a82006-06-06 08:14:14 +000014432006-06-06 David Turner <david@freetype.org>
1444
Werner Lemberg4836f952006-06-06 12:54:08 +00001445 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001446
Werner Lemberg4836f952006-06-06 12:54:08 +00001447 We change `ps_unicodes_init' so that it also takes a
1448 `free_glyph_name' callback to release the glyph names returned by
1449 `get_glyph_name'
1450
1451 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1452 Renamed to ...
1453 (PS_GetGlyphNameFunc): This.
1454 (PS_FreeGlyphNameFunc): New typedef.
1455 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1456
1457 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1458 argument.
1459 (cff_sid_free_glyph_name): New function.
1460 (cff_cmap_unicode_init): Updated.
1461
1462 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1463
1464 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1465 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001466
1467
David Turner09717352006-06-04 14:33:08 +000014682006-06-04 David Turner <david@freetype.org>
1469
Werner Lembergd724f202006-06-04 15:17:41 +00001470 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1471 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001472 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001473
Werner Lembergd724f202006-06-04 15:17:41 +00001474 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1475 of `face->num_glyphs' which missed the last glyph, due to
1476 the offset-by-1 computation, since the PFR format doesn't
1477 guarantee that glyph index 0 corresponds to the `missing
1478 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001479
Werner Lemberg33779662006-05-26 06:30:05 +000014802006-05-25 Werner Lemberg <wl@gnu.org>
1481
1482 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1483 `-no-undefined'. Reported by Christian Biesinger.
1484
Werner Lemberg24773d62006-05-20 08:53:13 +000014852006-05-19 Brian Weed <bw@imaginengine.com>
1486
1487 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1488 have debug information, and debug libraries use `C7 compatible'
1489 debug info.
1490
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000014912006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1492
Werner Lemberga6523a62006-05-20 08:47:01 +00001493 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001494 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001495
Werner Lemberga6523a62006-05-20 08:47:01 +00001496 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1497 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001498
1499 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001500 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001501
15022006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1503
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001504 * build/unix/configure.raw: Add a fallback to disable Carbon
1505 dependency, if configured with no options on Mac OS X.
1506
15072006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1508
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001509 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001510 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001511 the second part of Savannah bug #16590.
1512
Werner Lemberg545c4e52006-05-17 22:55:04 +000015132006-05-18 Werner Lemberg <wl@gnu.org>
1514
1515 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1516 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1517
David Turnerdc3ff312006-05-17 12:59:35 +000015182006-05-17 David Turner <david@freetype.org>
1519
Werner Lemberg545c4e52006-05-17 22:55:04 +00001520 This is a major patch used to drastically improve the performance of
1521 loading glyphs. This both speeds up loading the glyph vectors
1522 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001523
Werner Lemberg545c4e52006-05-17 22:55:04 +00001524 We now use inline assembler code with GCC to implement `FT_MulFix',
1525 which is probably the most important function related to the
1526 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001527
Werner Lemberg545c4e52006-05-17 22:55:04 +00001528 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001529
1530
Werner Lemberg545c4e52006-05-17 22:55:04 +00001531 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1532 `cursor' and `limit'.
1533
1534 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1535 New functions.
1536 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1537 [TEST]: Remove.
1538
1539 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1540 code.
1541
1542 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1543 `FT_ZERO'
1544 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1545 (af_glyph_hints_reload: Rewrite recognition of weak points.
1546
1547 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1548 constant values out of the loops.
1549
1550 * src/autofit/aftypes.h: Updated.
1551
1552 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1553
1554 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1555 product to get orientation.
1556
1557 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1558 (FT_Stream_OpenGzip): Use it to handle small files directly in
1559 memory.
1560
1561 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1562 Improve performance.
1563
1564 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1565 `limit'.
1566
1567 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1568 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1569 exceedingly large values of number of contours. Speed up by
1570 reducing the number of loops.
1571
1572 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1573
1574
1575 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1576 used to detect rogue clients from 4 to 16. This is to prevent some
1577 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1578 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001579
Werner Lembergde2d90a2006-05-17 08:54:30 +000015802007-05-17 Werner Lemberg <wl@gnu.org>
1581
1582 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001583 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001584
15852006-05-16 Werner Lemberg <wl@gnu.org>
1586
1587 * docs/PROBLEMS: Updated icl issues.
1588
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001589----------------------------------------------------------------------------
1590
Werner Lemberg42b63b22007-01-21 21:01:33 +00001591Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001592David Turner, Robert Wilhelm, and Werner Lemberg.
1593
1594This file is part of the FreeType project, and may only be used, modified,
1595and distributed under the terms of the FreeType project license,
1596LICENSE.TXT. By continuing to use, modify, or distribute this file you
1597indicate that you have read the license and understand and accept it
1598fully.
1599
1600
1601Local Variables:
1602version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001603coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001604End: