blob: 3bad4af0b0616534ccf4b82ce9cc50757947145d [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
Werner Lembergdcbb7082007-02-08 08:54:09 +000010 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000011 (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.
Werner Lembergdcbb7082007-02-08 08:54:09 +000015
16 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
17 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000018 * builds/mac/ftmac.c: Ditto.
19
202007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
21
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000022 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +000023 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000024 #include <ftmac.c>.
25
262007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
27
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +000028 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
29 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
30 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
31 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
32 FT_GetFilePath_From_Mac_ATS_Name.
33 * builds/mac/ftmac.c: Ditto.
34
352007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
36
Werner Lembergdcbb7082007-02-08 08:54:09 +000037 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +000038 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
39 for passing to FT_New_Face_From_FSSpec.
40
412007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
42
Werner Lembergdcbb7082007-02-08 08:54:09 +000043 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000044 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +000045
46 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
47 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000048 * builds/mac/ftmac.c (OS_INLINE): Ditto.
49
Werner Lemberg313d7772007-02-01 08:10:45 +0000502007-02-01 Werner Lemberg <wl@gnu.org>
51
52 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
53 Explain why applications shouldn't use it. Found by Alexei.
54
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000552007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +000056
57 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
58 message.
59
60 * src/gxvalid/gxvmort1.c
61 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
62 message.
63
Werner Lemberg53935932007-01-31 08:53:02 +0000642007-01-31 Werner Lemberg <wl@gnu.org>
65
66
67 * Version 2.3.1 released.
68 =========================
69
70
71 Tag sources with `VER-2-3-1-FINAL'.
72
73 * builds/win32/visualc/freetype.dsp,
74 builds/win32/visualc/freetype.vcproj: s/230/231/.
75 * builds/win32/visualc/index.html: s/221/231/.
76
77 * vms_make.com: Add `ftgasp'.
78
David Turnera7ee6082007-01-30 10:33:53 +0000792007-01-30 David Turner <david@freetype.org>
80
Werner Lemberg53935932007-01-31 08:53:02 +000081 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +000082
Werner Lemberg53935932007-01-31 08:53:02 +000083 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +000084
Werner Lemberg53935932007-01-31 08:53:02 +000085 * docs/VERSION.DLL docs/release, README, Jamfile (RefDoc):
86 s/2.3.0/2.3.1/.
87
88 * builds/unix/configure.raw (version_info): Set to 9:12:3.
89
90
91 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
92 (af_loader_load_g): Disable the warper (i.e., the light hinting
93 improvements) to make a 2.3.1 bugfix release before introducing a
94 new feature. This should give us more time to tune and improve the
95 warper for the next release.
96
97 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +000098
David Turnerd91eebd2007-01-26 15:05:41 +0000992007-01-25 David Turner <david@freetype.org>
100
Werner Lembergbf241762007-01-26 16:08:49 +0000101 For light auto-hinting, improve glyph advance widths and resurrect
102 normal/full hinting to its normal quality.
103
104 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
105 and `xmax_delta'.
106 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
107 and `xmax_delta'.
108
109 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
110 preprocessor conditional with if-clause, handling both light and
111 normal mode.
112
113 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
114 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000115
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00001162007-01-25 Werner Lemberg <wl@gnu.org>
117
118 * docs/release: Updated -- Savannah uses a new uploading scheme.
119
David Turnera42567b2007-01-25 12:23:37 +00001202007-01-25 David Turner <david@freetype.org>
121
Werner Lembergd7855662007-01-25 13:53:56 +0000122 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000123
Werner Lembergd7855662007-01-25 13:53:56 +0000124 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
125 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
126 functions.
David Turnera42567b2007-01-25 12:23:37 +0000127
Werner Lembergd7855662007-01-25 13:53:56 +0000128 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000129
Werner Lembergb1be9e82007-01-25 11:50:00 +00001302007-01-25 Werner Lemberg <wl@gnu.org>
131
132 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000133 correctly in a sanity check. Since this function is only used to
134 load local and global functions, any charstring that called the last
135 local/global function would fail otherwise. This fixes Savannah bug
136 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000137
138 * docs/CHANGES: Document it.
139
David Turnerb6de8d12007-01-23 15:51:50 +00001402007-01-23 David Turner <david@freetype.org>
141
Werner Lembergb1be9e82007-01-25 11:50:00 +0000142 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
143 prevented compilation when disabling both the unpatented and the
144 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000145
Werner Lembergb1be9e82007-01-25 11:50:00 +0000146
147 Fix and enable the warper to improve `light' hinting mode. This is
148 not necessarily a final version, but it seems to work well.
149
150 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
151 Disable code.
152 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
153 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
154
155 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
156 (af_warper_compute_line_best): Fix array size of `scores'.
157 (af_warper_compute): Better handling of border cases.
158 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
159 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000160
Werner Lemberg011d1112007-01-21 09:36:00 +00001612007-01-21 Werner Lemberg <wl@gnu.org>
162
Werner Lemberg42b63b22007-01-21 21:01:33 +0000163 * ChangeLog: Split off older entries into...
164 * ChangeLog.22: This new file.
165
1662007-01-21 Werner Lemberg <wl@gnu.org>
167
Werner Lemberg555258f2007-01-21 09:46:37 +0000168 * docs/CHANGES: Document SHZ fix.
169
1702007-01-21 George Williams <gww@silcom.com>
171
172 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
173 points.
174
1752007-01-21 Werner Lemberg <wl@gnu.org>
176
Werner Lemberg011d1112007-01-21 09:36:00 +0000177 * src/sfnt/ttmtx.c (tt_face_get_metrics)
178 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
179
Werner Lemberg87a5a432007-01-17 12:44:39 +00001802007-01-17 Werner Lemberg <wl@gnu.org>
181
Werner Lembergb8003292007-01-17 12:56:25 +0000182
183 * Version 2.3.0 released.
184 =========================
185
186
187 Tag sources with `VER-2-3-0-FINAL'.
188
1892007-01-17 Werner Lemberg <wl@gnu.org>
190
Werner Lemberg87a5a432007-01-17 12:44:39 +0000191 * docs/release: Updated.
192
David Turner22122722007-01-16 20:06:44 +00001932007-01-16 David Turner <david@freetype.org>
194
Werner Lemberg87a5a432007-01-17 12:44:39 +0000195 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
196 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
197 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
198 warnings.
David Turner22122722007-01-16 20:06:44 +0000199
Werner Lemberg267e1d72007-01-15 07:48:09 +00002002007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
201
202 * builds/amiga/makefile, builds/amiga/makefile.os4,
203 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
204
205 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
206
Werner Lemberg8c4120d2007-01-15 06:42:40 +00002072007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
208
209 Fix various compiler warnings.
210
211 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
212 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
213 s/index/strike_index/.
214 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
215
216 * src/gxvalid/gxvmorx5.c
217 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
218
219 * src/truetype/ttinterp.c (Compute_Point_Displacement),
220 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
221 uninitialized variables.
222
Werner Lemberg6164a9d2007-01-13 23:01:36 +00002232007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
224
225 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
226
Werner Lemberg281c1482007-01-13 22:50:51 +00002272007-01-13 Werner Lemberg <wl@gnu.org>
228
229 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
230 versions up to 0x3FF without complaining.
231
Werner Lembergac250b22007-01-13 14:01:36 +00002322007-01-13 Derek Clegg <dclegg@apple.com>
233
234 Add FT_Get_PS_Font_Info interface to CFF driver.
235
236 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
237 (CFF_FontRec): Add `font_info' field.
238
239 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
240 (cff_font_done): Free font->font_info if necessary.
241
242 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
243 (cff_service_ps_info): Register cff_ps_get_font_info.
244
Werner Lemberg23df31a2007-01-13 08:45:00 +00002452007-01-13 Werner Lemberg <wl@gnu.org>
246
247 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
248 with C++ compiler.
249
250 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
251 af_glyph_hints_dump_edges): Ditto.
252
253 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
254 `modules.cfg').
255
256 * src/sfnt/ttsbit0.h: Remove.
257
258 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
259
Werner Lemberg27cf9de2007-01-13 07:34:23 +00002602007-01-12 David Turner <david@freetype.org>
261
262 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
263 bug in the bitmap emboldener if the pitch of the source bitmap is
264 much larger than its width.
265
266 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
267 compilation warning.
268
Werner Lemberg6d96d312007-01-12 10:30:19 +00002692007-01-12 Werner Lemberg <wl@gnu.org>
270
271 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
272 `automake' CVS module from sources.redhat.com.
273
Werner Lemberg17432b52007-01-12 09:28:44 +00002742007-01-11 Werner Lemberg <wl@gnu.org>
275
276 * src/type1/t1load.c (is_space): Removed.
277 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
278 (parse_charstrings): Use IS_PS_TOKEN.
279
280
281 * autogen.sh: Avoid bash specific syntax.
282
David Turner038ace22007-01-11 15:00:59 +00002832007-01-11 David Turner <david@freetype.org>
284
Werner Lemberg17432b52007-01-12 09:28:44 +0000285 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000286
Werner Lemberg17432b52007-01-12 09:28:44 +0000287 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000288
Werner Lemberg17432b52007-01-12 09:28:44 +0000289 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
290 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000291 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000292
Werner Lemberg17432b52007-01-12 09:28:44 +0000293 * autogen.sh: Small fix to get it working on Mac OS X properly:
294 The issue is that GNU libtool is called `glibtool' on this platform,
295 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000296
David Turner2628ea92007-01-10 13:15:56 +00002972007-01-10 David Turner <david@freetype.org>
298
Werner Lemberg17432b52007-01-12 09:28:44 +0000299 * all-sources: Tag all sources with VER-2-3-0-RC1 and
300 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000301
Werner Lemberg17432b52007-01-12 09:28:44 +0000302 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
303 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
304 version number to 2.3.0.
305
306 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
307 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000308
309 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000310 include/freetype/ftlcdfil.h: Update reference documentation with
311 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000312
Werner Lemberg17432b52007-01-12 09:28:44 +0000313 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
314 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000315
Werner Lembergbf02d392007-01-10 07:07:37 +00003162007-01-10 Derek Clegg <dclegg@apple.com>
317
318 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
319 values.
320
David Turnerf48b60e2007-01-08 15:15:32 +00003212007-01-08 David Turner <david@freetype.org>
322
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000323 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000324
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000325 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
326 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000327 corresponding to a given character pixel size.
328
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000329 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
330 `gasp' table, in order to avoid potential problems with later
331 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000332
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000333 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
334 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000335
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000336 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
337 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
338 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
339 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000340
Werner Lemberge6b6f372007-01-07 00:06:47 +00003412007-01-07 Werner Lemberg <wl@gnu.org>
342
Werner Lembergb8004d22007-01-07 09:13:38 +0000343 * src/cid/cidparse.c (cid_parser_new): Improve error message for
344 Type 11 fonts.
345 Scan for `/sfnts' token.
346
3472007-01-07 Werner Lemberg <wl@gnu.org>
348
349 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000350
Werner Lembergbe5f7972007-01-06 07:51:48 +00003512007-01-06 Werner Lemberg <wl@gnu.org>
352
353 * src/cff/cffload.c (cff_index_init): Remove unused variable.
354 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
355
David Turnera8cf42b2007-01-04 16:46:46 +00003562007-01-04 David Turner <david@freetype.org>
357
Werner Lembergf6294392007-01-06 07:47:45 +0000358 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
359 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000360
Werner Lembergf6294392007-01-06 07:47:45 +0000361
362 Do not allocate interpreter-specific tables in memory if we are not
363 going to load glyphs with the bytecode interpreter anyway.
364
365 * src/truetype/ttgload.c (tt_loader_init): Load execution context
366 only if glyph is hinted.
367 Updated.
368 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
369 and `cvs_ready'.
370 Add `tt_size_ready_bytecode' declaration.
371 * src/truetype/ttobjs.c (tt_size_done_bytecode,
372 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
373 (tt_size_init): Move most code into `tt_size_init_bytecode'.
374 (tt_size_done): Move most code into `tt_size_done_bytecode'.
375 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000376
David Turner91a34022007-01-05 14:47:08 +0000377
Werner Lembergf6294392007-01-06 07:47:45 +0000378 Don't extract the metrics table from the SFNT font file. Instead,
379 reparse it on each glyph load. The runtime difference is not
380 noticeable, and it can save a lot of heap memory when memory-mapped
381 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000382
Werner Lembergf6294392007-01-06 07:47:45 +0000383 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
384 `horz_metrics_offset' and `vert_metrics_ofset'.
385 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
386 Updated.
387
388
389 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
390
391
392 Do not load the CFF index offsets into memory, since this wastes a
393 *lot* of heap memory with large Asian CFF fonts. There is no
394 significant performance loss.
395
396 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
397 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
398 `data_size'.
399 (CFF_CharsetRec): Add field `num_glyphs'.
400
401 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
402 cff_charset_cid_to_gindex): New functions.
403 (cff_new_index): Renamed to...
404 (cff_index_init): This. Update all callers.
405 Updated -- some code has been moved to `cff_index_load_offsets'.
406 (cff_done_index): Renamed to...
407 (cff_index_done): This. Update all callers.
408 (cff_index_get_pointers, cff_index_access_element): Updated to use
409 stream offsets.
410 (cff_charset_compute_cids): Set `num_glyphs' field.
411 (cff_encoding_load): Updated.
412
413 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000414
4152007-01-04 David Turner <david@freetype.org>
416
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000417 * docs/INSTALL.UNIX: Simplify some parts, add reference to
418 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000419
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000420 * README.CVS: Add common problem description and solution
421 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000422
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000423 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000424
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000425 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000426
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000427 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000428
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000429 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
430 (TWorker): This.
431 Remove `count_table' and `memory'.
432 Make `grays' a pointer.
433 (TRaster): New structure.
434 (count_table): New static array.
435 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
436 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
437 ft_black_set_mode, ft_black_render): Updated.
438 (ft_black_init): Don't initialize `count_table'.
439 (ft_black_reset): Use the render pool. This saves about 6KB of
440 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000441
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000442 * src/smooth/ftgrays.c (TRaster): Replaced with...
443 (TWorker): This.
444 Remove `memory'.
445 (TRaster): New structure.
446
447 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
448 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
449 gray_render_span, gray_raster_render): Updated.
450 (gray_raster_reset): Use the render pool. This saves about 6KB of
451 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000452
David Turner8a6c44e2007-01-04 17:03:11 +0000453 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
454 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000455 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
456 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
457 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000458
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000459 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
460 Remove a typo that results in no hinting and a memory leak with some
461 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000462
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000463 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000464 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000465 CFF_Faces in it. We need to close all faces before destroying the
466 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000467
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004682007-01-02 Werner Lemberg <wl@gnu.org>
469
470 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
471 Remove compiler warning.
472
David Turner9207e002007-01-02 16:58:13 +00004732007-01-02 David Turner <david@freetype.org>
474
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000475 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000476
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00004772006-12-31 Masatake YAMATO <jet@gyve.org>
478
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000479 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
480 function.
481 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000482 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000483 `gxv_kern_subtable_fmt0_pairs_validate'.
484
David Turner115b4422006-12-22 11:37:05 +00004852006-12-22 David Turner <david@freetype.org>
486
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000487 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
488 warnings.
David Turner115b4422006-12-22 11:37:05 +0000489
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000490 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
491 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000492
Werner Lemberg4755bf72006-12-16 08:58:44 +00004932006-12-16 Anders Kaseorg <anders@kaseorg.com>
494
495 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
496 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
497
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00004982006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
499
Werner Lemberg9b774e22007-01-16 06:11:27 +0000500 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000501 sync with the modification by Jens Claudius on 2006-08-22; cf.
502 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 +0000503
5042006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
505
506 * src/base/ftmac.c: Specialized for Mac OS X only.
507 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
508 * builds/unix/configure.raw: Ditto. When explicit switches for
509 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
510 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
511
5122006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
513
514 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
515 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
516 instead of src/base/ftmac.c
517 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
518 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
519 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
520 that cannot be built at present.
521
5222006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
523
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000524 * src/base/ftobjs.c: Improvement of resource fork handler for
525 POSIX, cf.
526 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000527 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
528 format or .dfont, to simulate the face index number counted by ftmac.c.
529 (IsMacResource): Return the number of scalable faces correctly.
530
Werner Lembergec5b4502006-12-10 07:51:38 +00005312006-12-10 Werner Lemberg <wl@gnu.org>
532
533 * builds/toplevel.mk (version): Protect against `distclean' target.
534
Werner Lembergb26b3142006-12-09 20:01:43 +00005352006-12-09 Werner Lemberg <wl@gnu.org>
536
537 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
538 or `type'.
539
540 * builds/freetype.mk (version): Extracted from freetype.h, using
541 GNU make's built-in string functions.
542 (refdoc): Use $(version) instead of static version number.
543
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00005442006-12-08 Werner Lemberg <wl@gnu.org>
545
546 * builds/toplevel.mk (dist): Extract version number from freetype.h.
547
Werner Lemberg15c29502006-12-09 07:29:54 +00005482006-12-08 Vladimir Volovich <vvv@vsu.ru>
549
550 * src/tools/apinames (State): Remove final comma in structure -- xlc
551 v5 under AIX 4.3 doesn't like this.
552
David Turnerdbf3b432006-12-07 21:18:09 +00005532006-12-07 David Turner <david@freetype.org>
554
Werner Lemberg256a3512006-12-08 06:49:33 +0000555 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
556 to the spacing of auto-fitted glyphs. This only impacts rare
557 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000558
Werner Lemberg11171312006-12-03 09:43:40 +00005592006-12-03 Werner Lemberg <wl@gnu.org>
560
561 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
562
Werner Lemberg960ba592006-12-01 08:20:47 +00005632006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000564
Werner Lemberg960ba592006-12-01 08:20:47 +0000565 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
566 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
567 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000568
David Turner80658e52006-11-28 08:09:20 +0000569
Werner Lemberg960ba592006-12-01 08:20:47 +0000570 * include/freetype/ftxf86.h: Fix and extend comment so that it
571 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000572
Werner Lemberg960ba592006-12-01 08:20:47 +0000573 * include/freetype/ftchapters.h: Add `font_format' section.
574
575
576 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
577 to TOC in index page.
578
5792006-11-28 David Turner <david@freetype.org>
580
581 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
582 trying to render into a zero-width/height bitmap, not an error code.
583
584 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
585
586 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
587 ones instead.
588
589 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
590 variable.
David Turner80658e52006-11-28 08:09:20 +0000591
Werner Lemberg8636c292006-11-26 22:28:13 +00005922006-11-26 Pierre Hanser <hanser@club-internet.fr>
593
594 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
595
Werner Lemberg960ba592006-12-01 08:20:47 +00005962006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000597
Werner Lemberg960ba592006-12-01 08:20:47 +0000598 * src/autofit/afhints.c (af_glyph_hints_dump_points,
599 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
600 Add stubs to link the `ftgrid' test program when debugging is
601 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000602
Werner Lemberg960ba592006-12-01 08:20:47 +00006032006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000604
605 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000606 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
607
608 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
609 Emit more sensible information.
610
611 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
612
613 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
614 rounding of blue values.
615 (af_latin_hints_compute_segments): Hint segment heights.
616 (af_latin_hints_link_segments): Reduce `len_score' value.
617 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
618 value and use `height' member for comparisons.
619 (af_latin_hint_edges): Extend logging message.
620 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +0000621
Werner Lemberg91959bf2006-11-22 10:36:55 +00006222006-11-22 Werner Lemberg <wl@gnu.org>
623
624 Fix Savannah bug #15553.
625
626 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
627 program after a change from mono to grayscaling (and vice versa).
628 Use correct constant for comparison to get `exec->grayscale'.
629
Werner Lemberg913a3652006-11-19 09:19:17 +00006302006-11-18 Werner Lemberg <wl@gnu.org>
631
632 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +0000633 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +0000634 This patch fixes Savannah bug #18301.
635
636 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
637 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
638 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
639 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
640 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
641 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
642 (FNT_Load_Glyph): Check validity of `glyph_index'.
643
David Turner7bab6ae2006-11-13 11:25:06 +00006442006-11-13 David Turner <david@freetype.org>
645
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000646 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
647 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +0000648
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000649 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
650 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
651 when building the library to change the default LCD filter to be
652 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +0000653
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000654 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +0000655
David Turner8765c712006-11-10 16:49:42 +00006562006-11-10 David Turner <david@freetype.org>
657
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000658 * src/smooth/ftsmooth.c: API change for the LCD
659 filter. The FT_LcdFilter value is an enumeration describing which
660 filter to apply, with new values FT_LCD_FILTER_LIGHT and
661 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
662 algorithm which produces strong color fringes for everything
663 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +0000664
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000665 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
666 second parameter to an enum type.
667
668 * src/base/ftlcdfil.c (USE_LEGACY): Define.
669 (_ft_lcd_filter): Rename to...
670 (_ft_lcd_filter_fir): This.
671 Update parameters.
672 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
673 (FT_Library_Set_LcdFilter): Update parameters.
674 Handle new filter modes.
675
676 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
677 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
678 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
679 callback and update other fields.
680
681 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
682 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
683 Other minor improvements.
684
685 * src/autofit/aflatin.c: Various tiny improvements that drastically
686 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
687 (af_latin_hints_compute_edges): Fix typo.
688 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +0000689
David Turner4e9cc3c2006-11-09 16:31:52 +00006902006-11-09 David Turner <david@freetype.org>
691
Werner Lemberg49c77a82006-11-09 21:51:57 +0000692 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
693 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +0000694
Werner Lemberg5e430892006-11-07 09:35:03 +00006952006-11-07 Zhe Su <james.su@gmail.com>
696
697 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
698 also.
699
Werner Lemberg111b5ae2006-11-03 09:40:12 +00007002006-11-03 Werner Lemberg <wl@gnu.org>
701
702 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
703
David Turner40604742006-11-02 16:37:35 +00007042006-11-02 David Turner <david@freetype.org>
705
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000706 Add a few tweaks to better handle serif fonts.
707 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +0000708
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000709 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
710 segments that are less than 1.5 pixels high. This gets rid of
711 *many* corner cases with serifs.
712 (af_latin_align_linked_edge): Add logging message.
713 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
714 Add logging messages.
715 Handle AF_EDGE_FLAG flag specially.
716
717 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
718 _af_debug_disable_blue_hints, and _af_debug_hints variables.
719
720 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
721 Update external declarations.
722 (af_corner_orientation, af_corner_is_flat): Replaced by...
723
724 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
725 ft_corner_is_flat): These declarations.
726
727 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
728 Comment out. Replaced by...
729
730 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
731 These functions. Update all callers.
732 (FT_Add64) [!FT_LONG64]: Simplify.
733
734 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
735 (af_direction_compute): Add a missing FT_ABS call. This bug caused
736 production of garbage by missing lots of segments.
737
738 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
739
740 * src/autofit/afloader.c (af_loader_init, af_loader_done)
741 [AF_DEBUG]: Set _af_debug_hints.
742
743
744 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
745 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
746 and ft_corner_orientation.
747
748
749 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +0000750
Werner Lemberge88c5262006-10-24 05:46:26 +00007512006-10-24 Werner Lemberg <wl@gnu.org>
752
753 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
754
755 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
756 as argument.
757
David Turnera1861392006-10-23 16:00:59 +00007582006-10-23 Zhe Su <zsu@novell.com>
759
Werner Lemberg715e96e2006-10-24 05:28:45 +0000760 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
761 better deal with broken Asian fonts with strange glyphs, having
762 self-intersections and other peculiarities. The used algorithm is
763 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +0000764
David Turnere140f142006-10-23 08:56:57 +00007652006-10-23 David Turner <david@freetype.org>
766
Werner Lemberg715e96e2006-10-24 05:28:45 +0000767 Speed up the CFF font loader. With some large CFF fonts,
768 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +0000769
Werner Lemberg715e96e2006-10-24 05:28:45 +0000770 * src/cff/cffload.c (cff_get_offset): Removed.
771 (cff_new_index): Inline functionality of `cff_get_offset'.
772 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
773 (cff_charset_done): Call `cff_charset_free_cids'.
774 (cff_charset_load): Call `cff_charset_compute_cids'.
775 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
776
777 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
778 with FT_NEXT_XXX.
779
780
781 Speed up the Postscript hinter, with more than 100% speed increase
782 on my machine.
783
784 * src/pshinter/pshalgo.c (psh_corner_is_flat,
785 psh_corner_orientation): New functions.
786 (psh_glyph_compute_inflections): Merge loops for efficiency.
787 Use `psh_corner_orientation'.
788 (psh_glyph_init): Use `psh_corner_is_flat'.
789 (psh_hint_table_find_strong_point): Renamed to...
790 (psh_hint_table_find_strong_points): This.
791 Rewrite, adding argument to handle all points at once.
792 Update all callers.
793 (PSH_MAX_STRONG_INTERNAL): New macro.
794 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +0000795
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00007962006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
797
798 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +0000799 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +0000800
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00008012006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
802
803 * docs/INSTALL.CROSS: New document file for cross-building.
804
805 * builds/unix/configure.raw: Preliminary cross-building support.
806 Find native C compiler and pass it by CC_BUILD, and
807 find suffix for native executable and pass it by EXEEXT_BUILD.
808 Also suffix for target executable is passed by EXEEXT.
809
Werner Lembergb9e6d692006-10-15 08:58:40 +0000810 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
811 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000812 CC_BUILD and EXEEXT_BUILD.
813
Werner Lembergb9e6d692006-10-15 08:58:40 +0000814 * builds/exports.mk (APINAMES_EXE): Change the extension for
815 apinames from the suffix for target (E) to that for building host
816 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000817
Werner Lemberg82a07e92006-10-12 06:20:44 +00008182006-10-12 Werner Lemberg <wl@gnu.org>
819
820 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
821 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
822 which reference those files.
823
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00008242006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
825
Werner Lembergb9e6d692006-10-15 08:58:40 +0000826 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
827 embedded in freetype2.pc and freetype-config. Use it to record
828 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +0000829
830 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
831
832 * builds/unix/freetype-config.in: Ditto.
833
Werner Lemberg28e17d92006-10-11 17:27:47 +00008342006-10-11 Werner Lemberg <wl@gnu.org>
835
836 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
837 development.
838
Jens Claudius336d2292006-10-03 08:53:37 +00008392006-10-03 Jens Claudius <jens.claudius@yahoo.com>
840
841 * include/freetype/config/ftstdlib.h: Cast away volatileness from
842 argument to ft_setjmp.
843
844 * include/freetype/internal/ftvalid.h: Add comment that
845 ft_validator_run must not be used.
846
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008472006-10-01 Werner Lemberg <wl@gnu.org>
848
849 * src/base/ftbase.c: Undo change from 2006-09-30.
850
851 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
852
8532006-09-30 David Turner <david@freetype.org>
854
Werner Lemberg046bf8b2006-10-03 08:43:42 +0000855 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
856 s/unpatented_hinting/ignore_unpatented_hinter/.
857 Update all callers.
858
859 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
860 auto-hinting shall be used or not.
861
862 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +0000863
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008642006-09-30 Werner Lemberg <wl@gnu.org>
865
Werner Lemberg1e4402e2006-09-29 22:10:36 +0000866 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
867 in use).
868
869 * src/base/ftbase.c: Include `ftlcdfil.c'.
870
Werner Lemberg9b15ea32006-09-29 18:22:11 +00008712006-09-29 Werner Lemberg <wl@gnu.org>
872
873 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
874 overlapping segments. Bug reported by Stefan Koch.
875
David Turnerad830712006-09-27 16:20:59 +00008762006-09-28 David Turner <david@freetype.org>
877
Werner Lemberg2c002e12006-09-29 21:31:53 +0000878 Fix a bug in the automatic unpatented hinting support which prevents
879 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +0000880
Werner Lemberg2c002e12006-09-29 21:31:53 +0000881 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
882 s/force_autohint/unpatented_hinting/. Update all callers.
883
884 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
885
886 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +0000887
David Turner8a317cf2006-09-27 07:52:48 +00008882006-09-27 David Turner <david@freetype.org>
889
Werner Lemberg2c002e12006-09-29 21:31:53 +0000890 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +0000891
David Turner8a317cf2006-09-27 07:52:48 +0000892
David Turnere140f142006-10-23 08:56:57 +0000893 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +0000894 In a default build, the function `FT_Library_SetLcdFilter' returns
895 `FT_Err_Unimplemented_Feature'; you need to #define
896 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
897 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +0000898
Werner Lemberg2c002e12006-09-29 21:31:53 +0000899 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +0000900
Werner Lemberg2c002e12006-09-29 21:31:53 +0000901 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
902 typedef.
903 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
904 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +0000905
Werner Lemberg2c002e12006-09-29 21:31:53 +0000906 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
907 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +0000908
Werner Lemberg2c002e12006-09-29 21:31:53 +0000909 Handle subpixel rendering.
910 Simplify function.
911 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
912 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
913
914 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
915 pointing to <freetype/ftlcdfil.h>.
916
917 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
918 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
919
920 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +0000921
Werner Lemberge20df4a2006-09-27 06:29:21 +00009222006-09-26 David Bustin
923
924 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
925 correctly. Reported as Savannah bug #17843.
926
David Turner6f8c6222006-09-26 15:42:44 +00009272006-09-26 David Turner <david@freetype.org>
928
Werner Lemberg110246c2006-09-26 21:55:44 +0000929 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
930 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
931 horizontal and vertical hinting for the purpose of debugging the
932 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +0000933
Werner Lemberg110246c2006-09-26 21:55:44 +0000934 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
935 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +0000936
Werner Lemberg110246c2006-09-26 21:55:44 +0000937 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
938
939 * include/freetype/config/ftoption.h, devel/ftoption.h
940 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
941 we want to compile LCD-optimized rendering code (à la ClearType) or
942 not. The macro *must* be disabled in default builds of the library
943 for patent reasons.
944
945 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
946 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
947 isn't defined at compile time. This only changes the content of the
948 rendered glyph to match the one of normal gray-level rendering,
949 hence clients should not need to be modified.
950
951 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +0000952
Werner Lemberg745ff2c2006-09-19 05:48:02 +00009532006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
954
955 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
956 LWFN fails and both are available.
957
David Turnerf3050052006-09-11 12:00:32 +00009582006-09-11 David Turner <david@freetype.org>
959
Werner Lembergf9644552006-09-12 13:48:10 +0000960 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
961 report their English names through an Apple Roman
962 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +0000963
Werner Lembergf9644552006-09-12 13:48:10 +0000964 If the font uses another name entry with language_id == English, it
965 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +0000966
Werner Lembergf9644552006-09-12 13:48:10 +0000967 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
968 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +0000969
Werner Lemberg36d2eab2006-09-05 19:24:34 +00009702006-09-05 Werner Lemberg <wl@gnu.org>
971
972 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +0000973 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000974 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
975 `HAN NOM B.ttf').
976
977 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
978
David Turner772e55d2006-09-05 09:45:15 +00009792006-09-05 David Turner <david@freetype.org>
980
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000981 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +0000982
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000983 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
984 (TRaster): Remove `count_ex' and `count_ey'.
985 (gray_find_cell): Remove 2nd and 3rd argument.
986 (gray_alloc_cell): Merged with `gray_find_cell'.
987 (gray_record_cell): Simplify.
988 (gray_set_cell): Rewrite.
989 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
990 (gray_render_span): Don't use FT_MEM_SET for small values.
991 (gray_dump_cells) [DEBUG_GRAYS]: New function.
992 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
993 bitmap scanline.
994 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +0000995
David Turneraa557a92006-09-04 16:42:44 +00009962006-09-04 David Turner <david@freetype.org>
997
Werner Lembergd1fc7d42006-09-05 07:55:42 +0000998 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
999 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001000
Werner Lemberg2d8629b2006-09-03 06:18:45 +000010012006-09-03 Werner Lemberg <wl@gnu.org>
1002
1003 * devel/ftoption.h: Synchronize with
1004 include/freetype/config/ftoption.h.
1005
1006 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1007 variable declaration.
1008 (gray_convert_glyph): Fix compiler warnings.
1009
David Turner6d79f212006-09-01 14:09:35 +000010102006-09-01 David Turner <david@freetype.org>
1011
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001012 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1013 to recognize a few fonts that require the automatic unpatented
1014 loader.
David Turnerbd502952006-09-01 19:05:24 +00001015
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001016 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1017 rasterizer. The speed improvement is between 15% and 25%, depending
1018 on the font data.
1019
1020 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1021 (TCell): Redefine.
1022 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1023 (gray_init_cells): Updated.
1024 (gray_find_cell, gray_alloc_cell): New functions.
1025 (gray_record_cell): Rewritten to use `gray_find_cell' and
1026 `gray_alloc_cell'.
1027 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1028 QSORT_THRESHOLD):
1029 Removed.
1030 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1031 gray_dump_cells): Removed.
1032 (gray_sweep): Rewritten.
1033 (gray_convert_glyph): Rewrite code which used one of the sorting
1034 functions.
1035 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001036
Werner Lembergd898aed2006-08-29 09:50:34 +000010372006-08-29 Dr. Werner Fink <werner@suse.de>
1038
1039 * configure: Make it possible to handle configure options which
1040 have strings containing spaces.
1041
10422006-08-27 David Turner <david@freetype.org>
1043
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001044 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1045 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1046 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1047
1048 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1049 src/truetype/truetype.c, src/truetype/ttdriver.c,
1050 src/truetype/ttgload.c, src/truetype/ttgload.h,
1051 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1052 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1053 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1054
1055 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1056 member `force_autohint'.
1057
1058 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1059
1060 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1061 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001062
Jens Claudiusa787f452006-08-27 11:26:18 +000010632006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1064
1065 Fix miscellaneous compiler warnings.
1066
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001067 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1068 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001069
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001070 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1071 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1072 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001073
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001074 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1075 volatileness of argument to ft_longjmp. Spotted by Werner
1076 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001077
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001078 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1079 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001080
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001081 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1082 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001083
Werner Lembergc4c35b72006-08-27 08:03:46 +000010842006-08-27 Werner Lemberg <wl@gnu.org>
1085
1086 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1087 Reported by Jens.
1088
Jens Claudius088e44e2006-08-22 14:24:30 +000010892006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001090
Jens Claudius088e44e2006-08-22 14:24:30 +00001091 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001092 about addresses of volatile objects passed as function arguments as
1093 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001094
Werner Lembergc4c35b72006-08-27 08:03:46 +00001095 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1096 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001097
1098 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1099 argument `table' a pointer to a volatile object.
1100
1101 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1102 argument `table' a pointer to a volatile object.
1103
Jens Claudius2652bd52006-08-18 17:20:37 +000011042006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1105
1106 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1107 variable `_sfnt' as volatile since it must keep its value across
1108 a call to ft_setjmp.
1109 (gxv_validate): Same for local variables `memory' and `valid'.
1110 (classic_kern_validate): Same for local variables `memory',
1111 `ckern', and `valid'.
1112
1113 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1114 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1115 `jstf', and 'valid'.
1116
1117 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1118 local variable `cmap'.
1119
David Turner9fbfc6a2006-08-16 09:11:31 +000011202006-08-16 David Turner <david@freetype.org>
1121
Werner Lemberg12342992006-08-19 11:18:09 +00001122 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1123 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001124
Werner Lemberg12342992006-08-19 11:18:09 +00001125 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1126 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001127
David Turner33f5f242006-08-16 16:50:55 +00001128
Werner Lemberg12342992006-08-19 11:18:09 +00001129 Improvements to native TrueType hinting. This is a first try,
1130 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1131
1132 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1133 `extra_points2'.
1134
1135 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1136 `orus'.
1137
1138 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1139 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1140 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1141 handle `extra_points2'.
1142
1143 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1144 Remove compiler warning.
1145 (cur_to_arg): Remove macro.
1146 (TT_Hint_Glyph): Updated.
1147 (TT_Process_Simple_Glyph): Handle `orus'.
1148
1149 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1150 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1151 (LOC_Ins_IUP): Renamed to...
1152 (IUP_WorkerRec): This.
1153 Add `orus' member.
1154 (Shift): Renamed to...
1155 (_iup_worker_shift): This.
1156 Updated.
1157 (Interp): Renamed to...
1158 (_iup_worker_interpolate): This.
1159 Updated to handle `orus'.
1160 (Ins_IUP): Updated.
1161
1162 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1163 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001164
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000011652006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1166
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001167 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001168 build ftvalid in ft2demos. This has been inadvertedly changed
1169 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001170
11712006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1172
Werner Lemberg12342992006-08-19 11:18:09 +00001173 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1174 Jens:
1175 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001176
Werner Lemberg12342992006-08-19 11:18:09 +00001177 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1178 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001179
1180 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1181
Jens Claudius9950adc2006-08-13 12:14:36 +000011822006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1183
Werner Lemberg12342992006-08-19 11:18:09 +00001184 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1185 T1_TOKEN_TYPE_KEY.
1186 (T1_FieldRec): Add `dict'.
1187 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1188 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1189 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001190
Werner Lemberg12342992006-08-19 11:18:09 +00001191 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1192 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001193
1194 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1195
1196 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001197 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1198 not T1_TOKEN_TYPE_ANY.
1199 (ps_parser_load_field): Make sure a token that should be a string or
1200 name is really a string or name.
1201 Avoid memory leak if a keyword has been already encountered and its
1202 value is overwritten.
1203 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1204 T1_FIELD_XXX.
1205 (parse_dict): Ignore keywords that occur in the wrong dictionary
1206 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001207
Werner Lemberg12342992006-08-19 11:18:09 +00001208 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1209 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001210
Werner Lemberg12342992006-08-19 11:18:09 +00001211 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1212 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001213
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000012142006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1215
1216 Move creation of field `buildchar' of T1_DecoderRec out of
1217 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1218 of it.
1219
1220 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1221 and `T1_Compute_Max_Advance'.
1222
1223 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1224 Remove field `face', add `len_buildchar'.
1225
1226 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1227 field `buildchar'.
1228
1229 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1230 finisher for T1_Decoder.
1231 (cid_slot_load_glyph): Do not ignore failure when initializing the
1232 T1_Decoder.
1233
1234 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1235 Updated.
1236 (t1_decoder_init): Remove initialization of fields `buildchar' and
1237 `len_buildchar'.
1238 (t1_decoder_done): Remove deallocation of field `buildchar'.
1239
1240 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1241 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1242 T1_Decoder.
1243 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1244 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1245 case of error.
1246
1247 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1248 `buildchar' of T1_FaceRec.
1249
1250 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1251 `buildchar' of T1_FaceRec.
1252
Werner Lemberg1a380e02006-07-14 18:28:08 +000012532006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1254
1255 * freetype2/include/freetype/internal/psaux.h: New macros
1256 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1257 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1258 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1259 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1260 (T1_DecoderRec): New fields `buildchar' and `face'.
1261 (IS_PS_TOKEN): New macro.
1262
1263 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1264 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1265
1266 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1267 `default_design_vector' and `num_default_design_vector'.
1268
1269 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1270 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1271 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1272
1273 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1274 `token' argument to be NULL if we want only to count the number of
1275 tokens.
1276 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1277 want to skip the array.
1278 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1279 want to skip the array.
1280
1281 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1282 support for (partially commented out) othersubrs 19-25, 27, and 28.
1283 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1284 (t1_decoder_done): Release new field `buildchar'.
1285
1286 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1287 functions.
1288 (t1_keywords): Register them.
1289 (t1_allocate_blend): Updated.
1290 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1291 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1292 (parse_dict): Remove `keyword_flags' argument.
1293 Use new macro IS_PS_TOKEN.
1294 Changed function so that later PostScript definitions override
1295 earlier ones.
1296 (t1_init_loader): Initialize new field `keywords_encountered'.
1297 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1298 `len_buildchar'.
1299 Remove `keywords_flags'.
1300
1301 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1302 `keywords_encountered'.
1303 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1304
1305 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1306 New entries for parsing /NDV, /CDV, and /DesignVector.
1307
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000013082006-07-07 Werner Lemberg <wl@gnu.org>
1309
1310 Add many checks to protect against malformed PCF files.
1311
1312 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1313 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1314
1315 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1316 data and check that tables don't overlap (using a simple
1317 bubblesort).
1318 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1319 New macros which give the size of data structures in the data
1320 stream.
1321 (pcf_get_properties): Use rough estimates to get array size limits.
1322 Assign `face->nprops' and `face->properties' earlier so that a call
1323 to PCF_Face_Done can do the clean-up in case of error.
1324 Protect against invalid string offsets.
1325 (pcf_get_metrics): Clean up code.
1326 Adjust tracing message levels.
1327 Use rough estimate to get array size limit.
1328 (pcf_get_bitmaps): Clean up code.
1329 Adjust tracing message levels.
1330 Use rough estimates to get offset limits.
1331 (pcf_get_encodings): Adjust tracing message level.
1332 (pcf_get_accel): Clean up code.
1333
Werner Lemberg8eb05252006-06-27 06:20:01 +000013342006-06-26 Werner Lemberg <wl@gnu.org>
1335
1336 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1337 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1338
Werner Lemberg24703f82006-06-26 19:12:51 +000013392006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1340
1341 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1342 (t1_decoder_parse_charstrings): Operator with
1343 opcode 15 pops its two arguments.
1344 Handle the case where the pops of an othersubr may be part of a
1345 subroutine.
1346 Handle unknown othersubrs gracefully: count their operands and let
1347 the following pop operators push the operands as the results onto
1348 the Type1 stack.
1349 Improve handling of setcurrentpoint opcode.
1350
Werner Lembergc011f4c2006-06-26 09:40:00 +000013512006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1352
1353 The Type 1 parser now skips over top-level procedures as required
1354 for a `Simplified Parser'. This makes the parser more robust as it
1355 doesn't poke around in PostScript code. Additionally, it makes the
1356 FontDirectory hackery in src/type1/t1load.c unnecessary.
1357
1358 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1359 (skip_literal_string): Add FT_Error as return value.
1360 Handle escapes better.
1361 (skip_string): Add FT_Error as return value.
1362 Don't set `parser->error' but return error code directly.
1363 (skip_procedure): New function.
1364 (ps_parser_skip_PS_token): Handle procedures.
1365 Update code.
1366 (ps_parser_to_token): Update code.
1367 (ps_parser_load_field_table): Handle bbox entries also.
1368
1369 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1370 Add commented-out code for synthetic fonts.
1371
Werner Lemberga2da05c2006-06-25 06:27:27 +000013722006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1373
1374 Fix two hinting bugs as reported in
1375 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1376
1377 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1378 `first_point' member.
1379
1380 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1381 `first_point'.
1382 (TT_Process_Composite_Glyph): Always untouch points.
1383
1384 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1385 `first_point' and `last_point' in case of composite glyphs.
1386 (Ins_IUP): Fix computation of `end_point'.
1387
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000013882006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1389
Werner Lembergef3d2c22006-06-25 06:07:14 +00001390 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1391 Mac. The original patch was written by David Sachitano and Lawrence
1392 Coopet, and modified by Sean McBride for MPW compatibility. Only
1393 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001394
Werner Lembergef3d2c22006-06-25 06:07:14 +00001395 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1396 Mac OS X platforms.
1397 (OS_INLINE): Undefine before definition.
1398 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1399 FontAssociation table in FOND resource.
1400 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1401 and fontSize at each entry of FontAssociation table in FOND
1402 resource.
1403 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1404 ffStylOff of FamilyRecord header of FOND resource, the header,
1405 fontSize, fontID at each entry of FontAssociation table, and
1406 StyleMapping table.
1407 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001408
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000014092006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1410
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001411 Public API of TrueTypeGX, OpenType, and classic kern table validator
1412 should return `FT_Err_Unimplemented_Feature' if validation service
1413 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001414 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001415 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1416
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001417 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1418 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1419 unavailable.
1420 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1421 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001422
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001423 * src/base/ftotval.c (FT_OpenType_Validate): Return
1424 FT_Err_Unimplemented_Feature if OpenType validation service is
1425 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001426
Werner Lembergb10e45a2006-06-08 07:32:56 +000014272006-06-08 Werner Lemberg <wl@gnu.org>
1428
1429 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1430 errors.
1431
David Turner5f1f7502006-06-07 05:11:50 +000014322006-06-07 David Turner <david@freetype.org>
1433
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001434 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1435 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1436 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001437
David Turner457b4a82006-06-06 08:14:14 +000014382006-06-06 David Turner <david@freetype.org>
1439
Werner Lemberg4836f952006-06-06 12:54:08 +00001440 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001441
Werner Lemberg4836f952006-06-06 12:54:08 +00001442 We change `ps_unicodes_init' so that it also takes a
1443 `free_glyph_name' callback to release the glyph names returned by
1444 `get_glyph_name'
1445
1446 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1447 Renamed to ...
1448 (PS_GetGlyphNameFunc): This.
1449 (PS_FreeGlyphNameFunc): New typedef.
1450 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1451
1452 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1453 argument.
1454 (cff_sid_free_glyph_name): New function.
1455 (cff_cmap_unicode_init): Updated.
1456
1457 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1458
1459 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1460 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001461
1462
David Turner09717352006-06-04 14:33:08 +000014632006-06-04 David Turner <david@freetype.org>
1464
Werner Lembergd724f202006-06-04 15:17:41 +00001465 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1466 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001467 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001468
Werner Lembergd724f202006-06-04 15:17:41 +00001469 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1470 of `face->num_glyphs' which missed the last glyph, due to
1471 the offset-by-1 computation, since the PFR format doesn't
1472 guarantee that glyph index 0 corresponds to the `missing
1473 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001474
Werner Lemberg33779662006-05-26 06:30:05 +000014752006-05-25 Werner Lemberg <wl@gnu.org>
1476
1477 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1478 `-no-undefined'. Reported by Christian Biesinger.
1479
Werner Lemberg24773d62006-05-20 08:53:13 +000014802006-05-19 Brian Weed <bw@imaginengine.com>
1481
1482 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1483 have debug information, and debug libraries use `C7 compatible'
1484 debug info.
1485
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000014862006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1487
Werner Lemberga6523a62006-05-20 08:47:01 +00001488 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001489 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001490
Werner Lemberga6523a62006-05-20 08:47:01 +00001491 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1492 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001493
1494 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001495 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001496
14972006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1498
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001499 * build/unix/configure.raw: Add a fallback to disable Carbon
1500 dependency, if configured with no options on Mac OS X.
1501
15022006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1503
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001504 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001505 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001506 the second part of Savannah bug #16590.
1507
Werner Lemberg545c4e52006-05-17 22:55:04 +000015082006-05-18 Werner Lemberg <wl@gnu.org>
1509
1510 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1511 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1512
David Turnerdc3ff312006-05-17 12:59:35 +000015132006-05-17 David Turner <david@freetype.org>
1514
Werner Lemberg545c4e52006-05-17 22:55:04 +00001515 This is a major patch used to drastically improve the performance of
1516 loading glyphs. This both speeds up loading the glyph vectors
1517 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001518
Werner Lemberg545c4e52006-05-17 22:55:04 +00001519 We now use inline assembler code with GCC to implement `FT_MulFix',
1520 which is probably the most important function related to the
1521 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001522
Werner Lemberg545c4e52006-05-17 22:55:04 +00001523 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001524
1525
Werner Lemberg545c4e52006-05-17 22:55:04 +00001526 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1527 `cursor' and `limit'.
1528
1529 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1530 New functions.
1531 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1532 [TEST]: Remove.
1533
1534 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1535 code.
1536
1537 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1538 `FT_ZERO'
1539 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1540 (af_glyph_hints_reload: Rewrite recognition of weak points.
1541
1542 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1543 constant values out of the loops.
1544
1545 * src/autofit/aftypes.h: Updated.
1546
1547 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1548
1549 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1550 product to get orientation.
1551
1552 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1553 (FT_Stream_OpenGzip): Use it to handle small files directly in
1554 memory.
1555
1556 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1557 Improve performance.
1558
1559 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1560 `limit'.
1561
1562 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1563 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1564 exceedingly large values of number of contours. Speed up by
1565 reducing the number of loops.
1566
1567 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1568
1569
1570 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1571 used to detect rogue clients from 4 to 16. This is to prevent some
1572 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1573 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001574
Werner Lembergde2d90a2006-05-17 08:54:30 +000015752007-05-17 Werner Lemberg <wl@gnu.org>
1576
1577 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001578 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001579
15802006-05-16 Werner Lemberg <wl@gnu.org>
1581
1582 * docs/PROBLEMS: Updated icl issues.
1583
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001584----------------------------------------------------------------------------
1585
Werner Lemberg42b63b22007-01-21 21:01:33 +00001586Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001587David Turner, Robert Wilhelm, and Werner Lemberg.
1588
1589This file is part of the FreeType project, and may only be used, modified,
1590and distributed under the terms of the FreeType project license,
1591LICENSE.TXT. By continuing to use, modify, or distribute this file you
1592indicate that you have read the license and understand and accept it
1593fully.
1594
1595
1596Local Variables:
1597version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001598coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001599End: