blob: 5664b253cfc1a347a748f2d9e1a921697b28c8a1 [file] [log] [blame]
David Turnerc0f9c4a2007-02-12 14:55:03 +000012007-02-12 David Turner <david@freetype.org>
2
3 * include/freetype/internal/ftmemory.h, src/base/ftutils.c,
4 src/bfd/bfddrivr.c, src/bdf/bdflib.c, src/pcf/pcfread.c,
5 src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c,
6 src/sfnt/sfdriver.c, src/type1/t1driver.c, src/type42/t42drivr.c:
7 introduce ft_mem_strdup, ft_mem_dup, ft_mem_strcpyn and the
8 corresponding macros, and modify code to use them. This is to
9 get rid of various uses of strcpy and other "evil" functions,
10 as well as simplify a few things
11
12
Werner Lemberg582067d2007-02-11 15:03:05 +0000132007-02-11 Werner Lemberg <wl@gnu.org>
14
15 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
16 non-spacing glyphs.
17
Werner Lemberg8f474532007-02-07 08:31:01 +0000182007-02-07 Tom Parker <palfrey@tevp.net>
19
20 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
21 pointer.
22
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000232007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
24
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000025 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
26 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +000027 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000028 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
29 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
30 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
31 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +000032
33 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
34 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +000035 * builds/mac/ftmac.c: Ditto.
36
372007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
38
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000039 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +000040 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +000041 #include <ftmac.c>.
42
432007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
44
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +000045 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
46 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
47 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
48 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
49 FT_GetFilePath_From_Mac_ATS_Name.
50 * builds/mac/ftmac.c: Ditto.
51
522007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
53
Werner Lembergdcbb7082007-02-08 08:54:09 +000054 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +000055 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
56 for passing to FT_New_Face_From_FSSpec.
57
582007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
59
Werner Lembergdcbb7082007-02-08 08:54:09 +000060 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000061 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +000062
63 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
64 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000065 * builds/mac/ftmac.c (OS_INLINE): Ditto.
66
Werner Lemberg313d7772007-02-01 08:10:45 +0000672007-02-01 Werner Lemberg <wl@gnu.org>
68
69 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
70 Explain why applications shouldn't use it. Found by Alexei.
71
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000722007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +000073
74 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
75 message.
76
77 * src/gxvalid/gxvmort1.c
78 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
79 message.
80
David Turnerc0f9c4a2007-02-12 14:55:03 +000081>>>>>>> 1.1514
Werner Lemberg53935932007-01-31 08:53:02 +0000822007-01-31 Werner Lemberg <wl@gnu.org>
83
84
85 * Version 2.3.1 released.
86 =========================
87
88
89 Tag sources with `VER-2-3-1-FINAL'.
90
91 * builds/win32/visualc/freetype.dsp,
92 builds/win32/visualc/freetype.vcproj: s/230/231/.
93 * builds/win32/visualc/index.html: s/221/231/.
94
95 * vms_make.com: Add `ftgasp'.
96
David Turnera7ee6082007-01-30 10:33:53 +0000972007-01-30 David Turner <david@freetype.org>
98
Werner Lemberg53935932007-01-31 08:53:02 +000099 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000100
Werner Lemberg53935932007-01-31 08:53:02 +0000101 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000102
Werner Lemberg53935932007-01-31 08:53:02 +0000103 * docs/VERSION.DLL docs/release, README, Jamfile (RefDoc):
104 s/2.3.0/2.3.1/.
105
106 * builds/unix/configure.raw (version_info): Set to 9:12:3.
107
108
109 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
110 (af_loader_load_g): Disable the warper (i.e., the light hinting
111 improvements) to make a 2.3.1 bugfix release before introducing a
112 new feature. This should give us more time to tune and improve the
113 warper for the next release.
114
115 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000116
David Turnerd91eebd2007-01-26 15:05:41 +00001172007-01-25 David Turner <david@freetype.org>
118
Werner Lembergbf241762007-01-26 16:08:49 +0000119 For light auto-hinting, improve glyph advance widths and resurrect
120 normal/full hinting to its normal quality.
121
122 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
123 and `xmax_delta'.
124 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
125 and `xmax_delta'.
126
127 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
128 preprocessor conditional with if-clause, handling both light and
129 normal mode.
130
131 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
132 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000133
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00001342007-01-25 Werner Lemberg <wl@gnu.org>
135
136 * docs/release: Updated -- Savannah uses a new uploading scheme.
137
David Turnera42567b2007-01-25 12:23:37 +00001382007-01-25 David Turner <david@freetype.org>
139
Werner Lembergd7855662007-01-25 13:53:56 +0000140 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000141
Werner Lembergd7855662007-01-25 13:53:56 +0000142 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
143 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
144 functions.
David Turnera42567b2007-01-25 12:23:37 +0000145
Werner Lembergd7855662007-01-25 13:53:56 +0000146 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000147
Werner Lembergb1be9e82007-01-25 11:50:00 +00001482007-01-25 Werner Lemberg <wl@gnu.org>
149
150 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000151 correctly in a sanity check. Since this function is only used to
152 load local and global functions, any charstring that called the last
153 local/global function would fail otherwise. This fixes Savannah bug
154 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000155
156 * docs/CHANGES: Document it.
157
David Turnerb6de8d12007-01-23 15:51:50 +00001582007-01-23 David Turner <david@freetype.org>
159
Werner Lembergb1be9e82007-01-25 11:50:00 +0000160 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
161 prevented compilation when disabling both the unpatented and the
162 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000163
Werner Lembergb1be9e82007-01-25 11:50:00 +0000164
165 Fix and enable the warper to improve `light' hinting mode. This is
166 not necessarily a final version, but it seems to work well.
167
168 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
169 Disable code.
170 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
171 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
172
173 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
174 (af_warper_compute_line_best): Fix array size of `scores'.
175 (af_warper_compute): Better handling of border cases.
176 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
177 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000178
Werner Lemberg011d1112007-01-21 09:36:00 +00001792007-01-21 Werner Lemberg <wl@gnu.org>
180
Werner Lemberg42b63b22007-01-21 21:01:33 +0000181 * ChangeLog: Split off older entries into...
182 * ChangeLog.22: This new file.
183
1842007-01-21 Werner Lemberg <wl@gnu.org>
185
Werner Lemberg555258f2007-01-21 09:46:37 +0000186 * docs/CHANGES: Document SHZ fix.
187
1882007-01-21 George Williams <gww@silcom.com>
189
190 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
191 points.
192
1932007-01-21 Werner Lemberg <wl@gnu.org>
194
Werner Lemberg011d1112007-01-21 09:36:00 +0000195 * src/sfnt/ttmtx.c (tt_face_get_metrics)
196 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
197
Werner Lemberg87a5a432007-01-17 12:44:39 +00001982007-01-17 Werner Lemberg <wl@gnu.org>
199
Werner Lembergb8003292007-01-17 12:56:25 +0000200
201 * Version 2.3.0 released.
202 =========================
203
204
205 Tag sources with `VER-2-3-0-FINAL'.
206
2072007-01-17 Werner Lemberg <wl@gnu.org>
208
Werner Lemberg87a5a432007-01-17 12:44:39 +0000209 * docs/release: Updated.
210
David Turner22122722007-01-16 20:06:44 +00002112007-01-16 David Turner <david@freetype.org>
212
Werner Lemberg87a5a432007-01-17 12:44:39 +0000213 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
214 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
215 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
216 warnings.
David Turner22122722007-01-16 20:06:44 +0000217
Werner Lemberg267e1d72007-01-15 07:48:09 +00002182007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
219
220 * builds/amiga/makefile, builds/amiga/makefile.os4,
221 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
222
223 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
224
Werner Lemberg8c4120d2007-01-15 06:42:40 +00002252007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
226
227 Fix various compiler warnings.
228
229 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
230 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
231 s/index/strike_index/.
232 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
233
234 * src/gxvalid/gxvmorx5.c
235 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
236
237 * src/truetype/ttinterp.c (Compute_Point_Displacement),
238 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
239 uninitialized variables.
240
Werner Lemberg6164a9d2007-01-13 23:01:36 +00002412007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
242
243 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
244
Werner Lemberg281c1482007-01-13 22:50:51 +00002452007-01-13 Werner Lemberg <wl@gnu.org>
246
247 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
248 versions up to 0x3FF without complaining.
249
Werner Lembergac250b22007-01-13 14:01:36 +00002502007-01-13 Derek Clegg <dclegg@apple.com>
251
252 Add FT_Get_PS_Font_Info interface to CFF driver.
253
254 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
255 (CFF_FontRec): Add `font_info' field.
256
257 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
258 (cff_font_done): Free font->font_info if necessary.
259
260 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
261 (cff_service_ps_info): Register cff_ps_get_font_info.
262
Werner Lemberg23df31a2007-01-13 08:45:00 +00002632007-01-13 Werner Lemberg <wl@gnu.org>
264
265 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
266 with C++ compiler.
267
268 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
269 af_glyph_hints_dump_edges): Ditto.
270
271 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
272 `modules.cfg').
273
274 * src/sfnt/ttsbit0.h: Remove.
275
276 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
277
Werner Lemberg27cf9de2007-01-13 07:34:23 +00002782007-01-12 David Turner <david@freetype.org>
279
280 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
281 bug in the bitmap emboldener if the pitch of the source bitmap is
282 much larger than its width.
283
284 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
285 compilation warning.
286
Werner Lemberg6d96d312007-01-12 10:30:19 +00002872007-01-12 Werner Lemberg <wl@gnu.org>
288
289 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
290 `automake' CVS module from sources.redhat.com.
291
Werner Lemberg17432b52007-01-12 09:28:44 +00002922007-01-11 Werner Lemberg <wl@gnu.org>
293
294 * src/type1/t1load.c (is_space): Removed.
295 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
296 (parse_charstrings): Use IS_PS_TOKEN.
297
298
299 * autogen.sh: Avoid bash specific syntax.
300
David Turner038ace22007-01-11 15:00:59 +00003012007-01-11 David Turner <david@freetype.org>
302
Werner Lemberg17432b52007-01-12 09:28:44 +0000303 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000304
Werner Lemberg17432b52007-01-12 09:28:44 +0000305 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000306
Werner Lemberg17432b52007-01-12 09:28:44 +0000307 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
308 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000309 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000310
Werner Lemberg17432b52007-01-12 09:28:44 +0000311 * autogen.sh: Small fix to get it working on Mac OS X properly:
312 The issue is that GNU libtool is called `glibtool' on this platform,
313 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000314
David Turner2628ea92007-01-10 13:15:56 +00003152007-01-10 David Turner <david@freetype.org>
316
Werner Lemberg17432b52007-01-12 09:28:44 +0000317 * all-sources: Tag all sources with VER-2-3-0-RC1 and
318 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000319
Werner Lemberg17432b52007-01-12 09:28:44 +0000320 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
321 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
322 version number to 2.3.0.
323
324 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
325 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000326
327 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000328 include/freetype/ftlcdfil.h: Update reference documentation with
329 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000330
Werner Lemberg17432b52007-01-12 09:28:44 +0000331 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
332 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000333
Werner Lembergbf02d392007-01-10 07:07:37 +00003342007-01-10 Derek Clegg <dclegg@apple.com>
335
336 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
337 values.
338
David Turnerf48b60e2007-01-08 15:15:32 +00003392007-01-08 David Turner <david@freetype.org>
340
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000341 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000342
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000343 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
344 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000345 corresponding to a given character pixel size.
346
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000347 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
348 `gasp' table, in order to avoid potential problems with later
349 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000350
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000351 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
352 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000353
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000354 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
355 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
356 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
357 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000358
Werner Lemberge6b6f372007-01-07 00:06:47 +00003592007-01-07 Werner Lemberg <wl@gnu.org>
360
Werner Lembergb8004d22007-01-07 09:13:38 +0000361 * src/cid/cidparse.c (cid_parser_new): Improve error message for
362 Type 11 fonts.
363 Scan for `/sfnts' token.
364
3652007-01-07 Werner Lemberg <wl@gnu.org>
366
367 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000368
Werner Lembergbe5f7972007-01-06 07:51:48 +00003692007-01-06 Werner Lemberg <wl@gnu.org>
370
371 * src/cff/cffload.c (cff_index_init): Remove unused variable.
372 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
373
David Turnera8cf42b2007-01-04 16:46:46 +00003742007-01-04 David Turner <david@freetype.org>
375
Werner Lembergf6294392007-01-06 07:47:45 +0000376 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
377 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000378
Werner Lembergf6294392007-01-06 07:47:45 +0000379
380 Do not allocate interpreter-specific tables in memory if we are not
381 going to load glyphs with the bytecode interpreter anyway.
382
383 * src/truetype/ttgload.c (tt_loader_init): Load execution context
384 only if glyph is hinted.
385 Updated.
386 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
387 and `cvs_ready'.
388 Add `tt_size_ready_bytecode' declaration.
389 * src/truetype/ttobjs.c (tt_size_done_bytecode,
390 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
391 (tt_size_init): Move most code into `tt_size_init_bytecode'.
392 (tt_size_done): Move most code into `tt_size_done_bytecode'.
393 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000394
David Turner91a34022007-01-05 14:47:08 +0000395
Werner Lembergf6294392007-01-06 07:47:45 +0000396 Don't extract the metrics table from the SFNT font file. Instead,
397 reparse it on each glyph load. The runtime difference is not
398 noticeable, and it can save a lot of heap memory when memory-mapped
399 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000400
Werner Lembergf6294392007-01-06 07:47:45 +0000401 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
402 `horz_metrics_offset' and `vert_metrics_ofset'.
403 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
404 Updated.
405
406
407 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
408
409
410 Do not load the CFF index offsets into memory, since this wastes a
411 *lot* of heap memory with large Asian CFF fonts. There is no
412 significant performance loss.
413
414 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
415 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
416 `data_size'.
417 (CFF_CharsetRec): Add field `num_glyphs'.
418
419 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
420 cff_charset_cid_to_gindex): New functions.
421 (cff_new_index): Renamed to...
422 (cff_index_init): This. Update all callers.
423 Updated -- some code has been moved to `cff_index_load_offsets'.
424 (cff_done_index): Renamed to...
425 (cff_index_done): This. Update all callers.
426 (cff_index_get_pointers, cff_index_access_element): Updated to use
427 stream offsets.
428 (cff_charset_compute_cids): Set `num_glyphs' field.
429 (cff_encoding_load): Updated.
430
431 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000432
4332007-01-04 David Turner <david@freetype.org>
434
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000435 * docs/INSTALL.UNIX: Simplify some parts, add reference to
436 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000437
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000438 * README.CVS: Add common problem description and solution
439 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000440
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000441 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000442
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000443 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000444
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000445 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000446
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000447 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
448 (TWorker): This.
449 Remove `count_table' and `memory'.
450 Make `grays' a pointer.
451 (TRaster): New structure.
452 (count_table): New static array.
453 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
454 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
455 ft_black_set_mode, ft_black_render): Updated.
456 (ft_black_init): Don't initialize `count_table'.
457 (ft_black_reset): Use the render pool. This saves about 6KB of
458 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000459
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000460 * src/smooth/ftgrays.c (TRaster): Replaced with...
461 (TWorker): This.
462 Remove `memory'.
463 (TRaster): New structure.
464
465 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
466 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
467 gray_render_span, gray_raster_render): Updated.
468 (gray_raster_reset): Use the render pool. This saves about 6KB of
469 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000470
David Turner8a6c44e2007-01-04 17:03:11 +0000471 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
472 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000473 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
474 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
475 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000476
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000477 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
478 Remove a typo that results in no hinting and a memory leak with some
479 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000480
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000481 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000482 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000483 CFF_Faces in it. We need to close all faces before destroying the
484 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000485
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004862007-01-02 Werner Lemberg <wl@gnu.org>
487
488 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
489 Remove compiler warning.
490
David Turner9207e002007-01-02 16:58:13 +00004912007-01-02 David Turner <david@freetype.org>
492
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000493 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000494
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00004952006-12-31 Masatake YAMATO <jet@gyve.org>
496
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000497 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
498 function.
499 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000500 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000501 `gxv_kern_subtable_fmt0_pairs_validate'.
502
David Turner115b4422006-12-22 11:37:05 +00005032006-12-22 David Turner <david@freetype.org>
504
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000505 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
506 warnings.
David Turner115b4422006-12-22 11:37:05 +0000507
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000508 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
509 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000510
Werner Lemberg4755bf72006-12-16 08:58:44 +00005112006-12-16 Anders Kaseorg <anders@kaseorg.com>
512
513 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
514 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
515
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00005162006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
517
Werner Lemberg9b774e22007-01-16 06:11:27 +0000518 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000519 sync with the modification by Jens Claudius on 2006-08-22; cf.
520 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 +0000521
5222006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
523
524 * src/base/ftmac.c: Specialized for Mac OS X only.
525 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
526 * builds/unix/configure.raw: Ditto. When explicit switches for
527 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
528 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
529
5302006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
531
532 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
533 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
534 instead of src/base/ftmac.c
535 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
536 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
537 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
538 that cannot be built at present.
539
5402006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
541
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000542 * src/base/ftobjs.c: Improvement of resource fork handler for
543 POSIX, cf.
544 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000545 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
546 format or .dfont, to simulate the face index number counted by ftmac.c.
547 (IsMacResource): Return the number of scalable faces correctly.
548
Werner Lembergec5b4502006-12-10 07:51:38 +00005492006-12-10 Werner Lemberg <wl@gnu.org>
550
551 * builds/toplevel.mk (version): Protect against `distclean' target.
552
Werner Lembergb26b3142006-12-09 20:01:43 +00005532006-12-09 Werner Lemberg <wl@gnu.org>
554
555 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
556 or `type'.
557
558 * builds/freetype.mk (version): Extracted from freetype.h, using
559 GNU make's built-in string functions.
560 (refdoc): Use $(version) instead of static version number.
561
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00005622006-12-08 Werner Lemberg <wl@gnu.org>
563
564 * builds/toplevel.mk (dist): Extract version number from freetype.h.
565
Werner Lemberg15c29502006-12-09 07:29:54 +00005662006-12-08 Vladimir Volovich <vvv@vsu.ru>
567
568 * src/tools/apinames (State): Remove final comma in structure -- xlc
569 v5 under AIX 4.3 doesn't like this.
570
David Turnerdbf3b432006-12-07 21:18:09 +00005712006-12-07 David Turner <david@freetype.org>
572
Werner Lemberg256a3512006-12-08 06:49:33 +0000573 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
574 to the spacing of auto-fitted glyphs. This only impacts rare
575 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000576
Werner Lemberg11171312006-12-03 09:43:40 +00005772006-12-03 Werner Lemberg <wl@gnu.org>
578
579 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
580
Werner Lemberg960ba592006-12-01 08:20:47 +00005812006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000582
Werner Lemberg960ba592006-12-01 08:20:47 +0000583 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
584 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
585 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000586
David Turner80658e52006-11-28 08:09:20 +0000587
Werner Lemberg960ba592006-12-01 08:20:47 +0000588 * include/freetype/ftxf86.h: Fix and extend comment so that it
589 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000590
Werner Lemberg960ba592006-12-01 08:20:47 +0000591 * include/freetype/ftchapters.h: Add `font_format' section.
592
593
594 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
595 to TOC in index page.
596
5972006-11-28 David Turner <david@freetype.org>
598
599 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
600 trying to render into a zero-width/height bitmap, not an error code.
601
602 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
603
604 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
605 ones instead.
606
607 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
608 variable.
David Turner80658e52006-11-28 08:09:20 +0000609
Werner Lemberg8636c292006-11-26 22:28:13 +00006102006-11-26 Pierre Hanser <hanser@club-internet.fr>
611
612 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
613
Werner Lemberg960ba592006-12-01 08:20:47 +00006142006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000615
Werner Lemberg960ba592006-12-01 08:20:47 +0000616 * src/autofit/afhints.c (af_glyph_hints_dump_points,
617 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
618 Add stubs to link the `ftgrid' test program when debugging is
619 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000620
Werner Lemberg960ba592006-12-01 08:20:47 +00006212006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000622
623 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000624 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
625
626 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
627 Emit more sensible information.
628
629 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
630
631 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
632 rounding of blue values.
633 (af_latin_hints_compute_segments): Hint segment heights.
634 (af_latin_hints_link_segments): Reduce `len_score' value.
635 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
636 value and use `height' member for comparisons.
637 (af_latin_hint_edges): Extend logging message.
638 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +0000639
Werner Lemberg91959bf2006-11-22 10:36:55 +00006402006-11-22 Werner Lemberg <wl@gnu.org>
641
642 Fix Savannah bug #15553.
643
644 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
645 program after a change from mono to grayscaling (and vice versa).
646 Use correct constant for comparison to get `exec->grayscale'.
647
Werner Lemberg913a3652006-11-19 09:19:17 +00006482006-11-18 Werner Lemberg <wl@gnu.org>
649
650 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +0000651 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +0000652 This patch fixes Savannah bug #18301.
653
654 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
655 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
656 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
657 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
658 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
659 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
660 (FNT_Load_Glyph): Check validity of `glyph_index'.
661
David Turner7bab6ae2006-11-13 11:25:06 +00006622006-11-13 David Turner <david@freetype.org>
663
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000664 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
665 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +0000666
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000667 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
668 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
669 when building the library to change the default LCD filter to be
670 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +0000671
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000672 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +0000673
David Turner8765c712006-11-10 16:49:42 +00006742006-11-10 David Turner <david@freetype.org>
675
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000676 * src/smooth/ftsmooth.c: API change for the LCD
677 filter. The FT_LcdFilter value is an enumeration describing which
678 filter to apply, with new values FT_LCD_FILTER_LIGHT and
679 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
680 algorithm which produces strong color fringes for everything
681 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +0000682
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000683 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
684 second parameter to an enum type.
685
686 * src/base/ftlcdfil.c (USE_LEGACY): Define.
687 (_ft_lcd_filter): Rename to...
688 (_ft_lcd_filter_fir): This.
689 Update parameters.
690 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
691 (FT_Library_Set_LcdFilter): Update parameters.
692 Handle new filter modes.
693
694 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
695 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
696 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
697 callback and update other fields.
698
699 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
700 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
701 Other minor improvements.
702
703 * src/autofit/aflatin.c: Various tiny improvements that drastically
704 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
705 (af_latin_hints_compute_edges): Fix typo.
706 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +0000707
David Turner4e9cc3c2006-11-09 16:31:52 +00007082006-11-09 David Turner <david@freetype.org>
709
Werner Lemberg49c77a82006-11-09 21:51:57 +0000710 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
711 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +0000712
Werner Lemberg5e430892006-11-07 09:35:03 +00007132006-11-07 Zhe Su <james.su@gmail.com>
714
715 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
716 also.
717
Werner Lemberg111b5ae2006-11-03 09:40:12 +00007182006-11-03 Werner Lemberg <wl@gnu.org>
719
720 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
721
David Turner40604742006-11-02 16:37:35 +00007222006-11-02 David Turner <david@freetype.org>
723
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000724 Add a few tweaks to better handle serif fonts.
725 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +0000726
Werner Lemberg111b5ae2006-11-03 09:40:12 +0000727 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
728 segments that are less than 1.5 pixels high. This gets rid of
729 *many* corner cases with serifs.
730 (af_latin_align_linked_edge): Add logging message.
731 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
732 Add logging messages.
733 Handle AF_EDGE_FLAG flag specially.
734
735 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
736 _af_debug_disable_blue_hints, and _af_debug_hints variables.
737
738 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
739 Update external declarations.
740 (af_corner_orientation, af_corner_is_flat): Replaced by...
741
742 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
743 ft_corner_is_flat): These declarations.
744
745 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
746 Comment out. Replaced by...
747
748 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
749 These functions. Update all callers.
750 (FT_Add64) [!FT_LONG64]: Simplify.
751
752 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
753 (af_direction_compute): Add a missing FT_ABS call. This bug caused
754 production of garbage by missing lots of segments.
755
756 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
757
758 * src/autofit/afloader.c (af_loader_init, af_loader_done)
759 [AF_DEBUG]: Set _af_debug_hints.
760
761
762 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
763 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
764 and ft_corner_orientation.
765
766
767 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +0000768
Werner Lemberge88c5262006-10-24 05:46:26 +00007692006-10-24 Werner Lemberg <wl@gnu.org>
770
771 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
772
773 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
774 as argument.
775
David Turnera1861392006-10-23 16:00:59 +00007762006-10-23 Zhe Su <zsu@novell.com>
777
Werner Lemberg715e96e2006-10-24 05:28:45 +0000778 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
779 better deal with broken Asian fonts with strange glyphs, having
780 self-intersections and other peculiarities. The used algorithm is
781 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +0000782
David Turnere140f142006-10-23 08:56:57 +00007832006-10-23 David Turner <david@freetype.org>
784
Werner Lemberg715e96e2006-10-24 05:28:45 +0000785 Speed up the CFF font loader. With some large CFF fonts,
786 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +0000787
Werner Lemberg715e96e2006-10-24 05:28:45 +0000788 * src/cff/cffload.c (cff_get_offset): Removed.
789 (cff_new_index): Inline functionality of `cff_get_offset'.
790 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
791 (cff_charset_done): Call `cff_charset_free_cids'.
792 (cff_charset_load): Call `cff_charset_compute_cids'.
793 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
794
795 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
796 with FT_NEXT_XXX.
797
798
799 Speed up the Postscript hinter, with more than 100% speed increase
800 on my machine.
801
802 * src/pshinter/pshalgo.c (psh_corner_is_flat,
803 psh_corner_orientation): New functions.
804 (psh_glyph_compute_inflections): Merge loops for efficiency.
805 Use `psh_corner_orientation'.
806 (psh_glyph_init): Use `psh_corner_is_flat'.
807 (psh_hint_table_find_strong_point): Renamed to...
808 (psh_hint_table_find_strong_points): This.
809 Rewrite, adding argument to handle all points at once.
810 Update all callers.
811 (PSH_MAX_STRONG_INTERNAL): New macro.
812 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +0000813
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00008142006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
815
816 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +0000817 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +0000818
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00008192006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
820
821 * docs/INSTALL.CROSS: New document file for cross-building.
822
823 * builds/unix/configure.raw: Preliminary cross-building support.
824 Find native C compiler and pass it by CC_BUILD, and
825 find suffix for native executable and pass it by EXEEXT_BUILD.
826 Also suffix for target executable is passed by EXEEXT.
827
Werner Lembergb9e6d692006-10-15 08:58:40 +0000828 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
829 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000830 CC_BUILD and EXEEXT_BUILD.
831
Werner Lembergb9e6d692006-10-15 08:58:40 +0000832 * builds/exports.mk (APINAMES_EXE): Change the extension for
833 apinames from the suffix for target (E) to that for building host
834 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +0000835
Werner Lemberg82a07e92006-10-12 06:20:44 +00008362006-10-12 Werner Lemberg <wl@gnu.org>
837
838 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
839 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
840 which reference those files.
841
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00008422006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
843
Werner Lembergb9e6d692006-10-15 08:58:40 +0000844 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
845 embedded in freetype2.pc and freetype-config. Use it to record
846 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +0000847
848 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
849
850 * builds/unix/freetype-config.in: Ditto.
851
Werner Lemberg28e17d92006-10-11 17:27:47 +00008522006-10-11 Werner Lemberg <wl@gnu.org>
853
854 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
855 development.
856
Jens Claudius336d2292006-10-03 08:53:37 +00008572006-10-03 Jens Claudius <jens.claudius@yahoo.com>
858
859 * include/freetype/config/ftstdlib.h: Cast away volatileness from
860 argument to ft_setjmp.
861
862 * include/freetype/internal/ftvalid.h: Add comment that
863 ft_validator_run must not be used.
864
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008652006-10-01 Werner Lemberg <wl@gnu.org>
866
867 * src/base/ftbase.c: Undo change from 2006-09-30.
868
869 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
870
8712006-09-30 David Turner <david@freetype.org>
872
Werner Lemberg046bf8b2006-10-03 08:43:42 +0000873 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
874 s/unpatented_hinting/ignore_unpatented_hinter/.
875 Update all callers.
876
877 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
878 auto-hinting shall be used or not.
879
880 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +0000881
Werner Lemberg2863cfa2006-10-01 17:04:00 +00008822006-09-30 Werner Lemberg <wl@gnu.org>
883
Werner Lemberg1e4402e2006-09-29 22:10:36 +0000884 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
885 in use).
886
887 * src/base/ftbase.c: Include `ftlcdfil.c'.
888
Werner Lemberg9b15ea32006-09-29 18:22:11 +00008892006-09-29 Werner Lemberg <wl@gnu.org>
890
891 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
892 overlapping segments. Bug reported by Stefan Koch.
893
David Turnerad830712006-09-27 16:20:59 +00008942006-09-28 David Turner <david@freetype.org>
895
Werner Lemberg2c002e12006-09-29 21:31:53 +0000896 Fix a bug in the automatic unpatented hinting support which prevents
897 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +0000898
Werner Lemberg2c002e12006-09-29 21:31:53 +0000899 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
900 s/force_autohint/unpatented_hinting/. Update all callers.
901
902 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
903
904 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +0000905
David Turner8a317cf2006-09-27 07:52:48 +00009062006-09-27 David Turner <david@freetype.org>
907
Werner Lemberg2c002e12006-09-29 21:31:53 +0000908 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +0000909
David Turner8a317cf2006-09-27 07:52:48 +0000910
David Turnere140f142006-10-23 08:56:57 +0000911 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +0000912 In a default build, the function `FT_Library_SetLcdFilter' returns
913 `FT_Err_Unimplemented_Feature'; you need to #define
914 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
915 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +0000916
Werner Lemberg2c002e12006-09-29 21:31:53 +0000917 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +0000918
Werner Lemberg2c002e12006-09-29 21:31:53 +0000919 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
920 typedef.
921 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
922 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +0000923
Werner Lemberg2c002e12006-09-29 21:31:53 +0000924 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
925 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +0000926
Werner Lemberg2c002e12006-09-29 21:31:53 +0000927 Handle subpixel rendering.
928 Simplify function.
929 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
930 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
931
932 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
933 pointing to <freetype/ftlcdfil.h>.
934
935 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
936 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
937
938 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +0000939
Werner Lemberge20df4a2006-09-27 06:29:21 +00009402006-09-26 David Bustin
941
942 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
943 correctly. Reported as Savannah bug #17843.
944
David Turner6f8c6222006-09-26 15:42:44 +00009452006-09-26 David Turner <david@freetype.org>
946
Werner Lemberg110246c2006-09-26 21:55:44 +0000947 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
948 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
949 horizontal and vertical hinting for the purpose of debugging the
950 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +0000951
Werner Lemberg110246c2006-09-26 21:55:44 +0000952 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
953 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +0000954
Werner Lemberg110246c2006-09-26 21:55:44 +0000955 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
956
957 * include/freetype/config/ftoption.h, devel/ftoption.h
958 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
959 we want to compile LCD-optimized rendering code (à la ClearType) or
960 not. The macro *must* be disabled in default builds of the library
961 for patent reasons.
962
963 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
964 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
965 isn't defined at compile time. This only changes the content of the
966 rendered glyph to match the one of normal gray-level rendering,
967 hence clients should not need to be modified.
968
969 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +0000970
Werner Lemberg745ff2c2006-09-19 05:48:02 +00009712006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
972
973 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
974 LWFN fails and both are available.
975
David Turnerf3050052006-09-11 12:00:32 +00009762006-09-11 David Turner <david@freetype.org>
977
Werner Lembergf9644552006-09-12 13:48:10 +0000978 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
979 report their English names through an Apple Roman
980 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +0000981
Werner Lembergf9644552006-09-12 13:48:10 +0000982 If the font uses another name entry with language_id == English, it
983 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +0000984
Werner Lembergf9644552006-09-12 13:48:10 +0000985 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
986 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +0000987
Werner Lemberg36d2eab2006-09-05 19:24:34 +00009882006-09-05 Werner Lemberg <wl@gnu.org>
989
990 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +0000991 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000992 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
993 `HAN NOM B.ttf').
994
995 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
996
David Turner772e55d2006-09-05 09:45:15 +00009972006-09-05 David Turner <david@freetype.org>
998
Werner Lemberg36d2eab2006-09-05 19:24:34 +0000999 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001000
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001001 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1002 (TRaster): Remove `count_ex' and `count_ey'.
1003 (gray_find_cell): Remove 2nd and 3rd argument.
1004 (gray_alloc_cell): Merged with `gray_find_cell'.
1005 (gray_record_cell): Simplify.
1006 (gray_set_cell): Rewrite.
1007 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1008 (gray_render_span): Don't use FT_MEM_SET for small values.
1009 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1010 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1011 bitmap scanline.
1012 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001013
David Turneraa557a92006-09-04 16:42:44 +000010142006-09-04 David Turner <david@freetype.org>
1015
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001016 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1017 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001018
Werner Lemberg2d8629b2006-09-03 06:18:45 +000010192006-09-03 Werner Lemberg <wl@gnu.org>
1020
1021 * devel/ftoption.h: Synchronize with
1022 include/freetype/config/ftoption.h.
1023
1024 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1025 variable declaration.
1026 (gray_convert_glyph): Fix compiler warnings.
1027
David Turner6d79f212006-09-01 14:09:35 +000010282006-09-01 David Turner <david@freetype.org>
1029
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001030 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1031 to recognize a few fonts that require the automatic unpatented
1032 loader.
David Turnerbd502952006-09-01 19:05:24 +00001033
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001034 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1035 rasterizer. The speed improvement is between 15% and 25%, depending
1036 on the font data.
1037
1038 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1039 (TCell): Redefine.
1040 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1041 (gray_init_cells): Updated.
1042 (gray_find_cell, gray_alloc_cell): New functions.
1043 (gray_record_cell): Rewritten to use `gray_find_cell' and
1044 `gray_alloc_cell'.
1045 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1046 QSORT_THRESHOLD):
1047 Removed.
1048 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1049 gray_dump_cells): Removed.
1050 (gray_sweep): Rewritten.
1051 (gray_convert_glyph): Rewrite code which used one of the sorting
1052 functions.
1053 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001054
Werner Lembergd898aed2006-08-29 09:50:34 +000010552006-08-29 Dr. Werner Fink <werner@suse.de>
1056
1057 * configure: Make it possible to handle configure options which
1058 have strings containing spaces.
1059
10602006-08-27 David Turner <david@freetype.org>
1061
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001062 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1063 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1064 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1065
1066 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1067 src/truetype/truetype.c, src/truetype/ttdriver.c,
1068 src/truetype/ttgload.c, src/truetype/ttgload.h,
1069 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1070 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1071 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1072
1073 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1074 member `force_autohint'.
1075
1076 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1077
1078 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1079 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001080
Jens Claudiusa787f452006-08-27 11:26:18 +000010812006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1082
1083 Fix miscellaneous compiler warnings.
1084
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001085 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1086 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001087
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001088 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1089 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1090 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001091
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001092 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1093 volatileness of argument to ft_longjmp. Spotted by Werner
1094 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001095
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001096 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1097 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001098
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001099 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1100 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001101
Werner Lembergc4c35b72006-08-27 08:03:46 +000011022006-08-27 Werner Lemberg <wl@gnu.org>
1103
1104 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1105 Reported by Jens.
1106
Jens Claudius088e44e2006-08-22 14:24:30 +000011072006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001108
Jens Claudius088e44e2006-08-22 14:24:30 +00001109 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001110 about addresses of volatile objects passed as function arguments as
1111 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001112
Werner Lembergc4c35b72006-08-27 08:03:46 +00001113 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1114 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001115
1116 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1117 argument `table' a pointer to a volatile object.
1118
1119 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1120 argument `table' a pointer to a volatile object.
1121
Jens Claudius2652bd52006-08-18 17:20:37 +000011222006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1123
1124 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1125 variable `_sfnt' as volatile since it must keep its value across
1126 a call to ft_setjmp.
1127 (gxv_validate): Same for local variables `memory' and `valid'.
1128 (classic_kern_validate): Same for local variables `memory',
1129 `ckern', and `valid'.
1130
1131 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1132 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1133 `jstf', and 'valid'.
1134
1135 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1136 local variable `cmap'.
1137
David Turner9fbfc6a2006-08-16 09:11:31 +000011382006-08-16 David Turner <david@freetype.org>
1139
Werner Lemberg12342992006-08-19 11:18:09 +00001140 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1141 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001142
Werner Lemberg12342992006-08-19 11:18:09 +00001143 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1144 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001145
David Turner33f5f242006-08-16 16:50:55 +00001146
Werner Lemberg12342992006-08-19 11:18:09 +00001147 Improvements to native TrueType hinting. This is a first try,
1148 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1149
1150 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1151 `extra_points2'.
1152
1153 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1154 `orus'.
1155
1156 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1157 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1158 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1159 handle `extra_points2'.
1160
1161 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1162 Remove compiler warning.
1163 (cur_to_arg): Remove macro.
1164 (TT_Hint_Glyph): Updated.
1165 (TT_Process_Simple_Glyph): Handle `orus'.
1166
1167 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1168 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1169 (LOC_Ins_IUP): Renamed to...
1170 (IUP_WorkerRec): This.
1171 Add `orus' member.
1172 (Shift): Renamed to...
1173 (_iup_worker_shift): This.
1174 Updated.
1175 (Interp): Renamed to...
1176 (_iup_worker_interpolate): This.
1177 Updated to handle `orus'.
1178 (Ins_IUP): Updated.
1179
1180 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1181 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001182
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000011832006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1184
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001185 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001186 build ftvalid in ft2demos. This has been inadvertedly changed
1187 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001188
11892006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1190
Werner Lemberg12342992006-08-19 11:18:09 +00001191 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1192 Jens:
1193 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001194
Werner Lemberg12342992006-08-19 11:18:09 +00001195 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1196 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001197
1198 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1199
Jens Claudius9950adc2006-08-13 12:14:36 +000012002006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1201
Werner Lemberg12342992006-08-19 11:18:09 +00001202 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1203 T1_TOKEN_TYPE_KEY.
1204 (T1_FieldRec): Add `dict'.
1205 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1206 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1207 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001208
Werner Lemberg12342992006-08-19 11:18:09 +00001209 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1210 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001211
1212 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1213
1214 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001215 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1216 not T1_TOKEN_TYPE_ANY.
1217 (ps_parser_load_field): Make sure a token that should be a string or
1218 name is really a string or name.
1219 Avoid memory leak if a keyword has been already encountered and its
1220 value is overwritten.
1221 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1222 T1_FIELD_XXX.
1223 (parse_dict): Ignore keywords that occur in the wrong dictionary
1224 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001225
Werner Lemberg12342992006-08-19 11:18:09 +00001226 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1227 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001228
Werner Lemberg12342992006-08-19 11:18:09 +00001229 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1230 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001231
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000012322006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1233
1234 Move creation of field `buildchar' of T1_DecoderRec out of
1235 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1236 of it.
1237
1238 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1239 and `T1_Compute_Max_Advance'.
1240
1241 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1242 Remove field `face', add `len_buildchar'.
1243
1244 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1245 field `buildchar'.
1246
1247 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1248 finisher for T1_Decoder.
1249 (cid_slot_load_glyph): Do not ignore failure when initializing the
1250 T1_Decoder.
1251
1252 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1253 Updated.
1254 (t1_decoder_init): Remove initialization of fields `buildchar' and
1255 `len_buildchar'.
1256 (t1_decoder_done): Remove deallocation of field `buildchar'.
1257
1258 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1259 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1260 T1_Decoder.
1261 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1262 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1263 case of error.
1264
1265 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1266 `buildchar' of T1_FaceRec.
1267
1268 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1269 `buildchar' of T1_FaceRec.
1270
Werner Lemberg1a380e02006-07-14 18:28:08 +000012712006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1272
1273 * freetype2/include/freetype/internal/psaux.h: New macros
1274 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1275 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1276 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1277 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1278 (T1_DecoderRec): New fields `buildchar' and `face'.
1279 (IS_PS_TOKEN): New macro.
1280
1281 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1282 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1283
1284 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1285 `default_design_vector' and `num_default_design_vector'.
1286
1287 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1288 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1289 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1290
1291 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1292 `token' argument to be NULL if we want only to count the number of
1293 tokens.
1294 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1295 want to skip the array.
1296 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1297 want to skip the array.
1298
1299 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1300 support for (partially commented out) othersubrs 19-25, 27, and 28.
1301 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1302 (t1_decoder_done): Release new field `buildchar'.
1303
1304 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1305 functions.
1306 (t1_keywords): Register them.
1307 (t1_allocate_blend): Updated.
1308 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1309 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1310 (parse_dict): Remove `keyword_flags' argument.
1311 Use new macro IS_PS_TOKEN.
1312 Changed function so that later PostScript definitions override
1313 earlier ones.
1314 (t1_init_loader): Initialize new field `keywords_encountered'.
1315 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1316 `len_buildchar'.
1317 Remove `keywords_flags'.
1318
1319 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1320 `keywords_encountered'.
1321 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1322
1323 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1324 New entries for parsing /NDV, /CDV, and /DesignVector.
1325
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000013262006-07-07 Werner Lemberg <wl@gnu.org>
1327
1328 Add many checks to protect against malformed PCF files.
1329
1330 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1331 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1332
1333 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1334 data and check that tables don't overlap (using a simple
1335 bubblesort).
1336 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1337 New macros which give the size of data structures in the data
1338 stream.
1339 (pcf_get_properties): Use rough estimates to get array size limits.
1340 Assign `face->nprops' and `face->properties' earlier so that a call
1341 to PCF_Face_Done can do the clean-up in case of error.
1342 Protect against invalid string offsets.
1343 (pcf_get_metrics): Clean up code.
1344 Adjust tracing message levels.
1345 Use rough estimate to get array size limit.
1346 (pcf_get_bitmaps): Clean up code.
1347 Adjust tracing message levels.
1348 Use rough estimates to get offset limits.
1349 (pcf_get_encodings): Adjust tracing message level.
1350 (pcf_get_accel): Clean up code.
1351
Werner Lemberg8eb05252006-06-27 06:20:01 +000013522006-06-26 Werner Lemberg <wl@gnu.org>
1353
1354 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1355 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1356
Werner Lemberg24703f82006-06-26 19:12:51 +000013572006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1358
1359 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1360 (t1_decoder_parse_charstrings): Operator with
1361 opcode 15 pops its two arguments.
1362 Handle the case where the pops of an othersubr may be part of a
1363 subroutine.
1364 Handle unknown othersubrs gracefully: count their operands and let
1365 the following pop operators push the operands as the results onto
1366 the Type1 stack.
1367 Improve handling of setcurrentpoint opcode.
1368
Werner Lembergc011f4c2006-06-26 09:40:00 +000013692006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1370
1371 The Type 1 parser now skips over top-level procedures as required
1372 for a `Simplified Parser'. This makes the parser more robust as it
1373 doesn't poke around in PostScript code. Additionally, it makes the
1374 FontDirectory hackery in src/type1/t1load.c unnecessary.
1375
1376 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1377 (skip_literal_string): Add FT_Error as return value.
1378 Handle escapes better.
1379 (skip_string): Add FT_Error as return value.
1380 Don't set `parser->error' but return error code directly.
1381 (skip_procedure): New function.
1382 (ps_parser_skip_PS_token): Handle procedures.
1383 Update code.
1384 (ps_parser_to_token): Update code.
1385 (ps_parser_load_field_table): Handle bbox entries also.
1386
1387 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1388 Add commented-out code for synthetic fonts.
1389
Werner Lemberga2da05c2006-06-25 06:27:27 +000013902006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1391
1392 Fix two hinting bugs as reported in
1393 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1394
1395 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1396 `first_point' member.
1397
1398 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1399 `first_point'.
1400 (TT_Process_Composite_Glyph): Always untouch points.
1401
1402 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1403 `first_point' and `last_point' in case of composite glyphs.
1404 (Ins_IUP): Fix computation of `end_point'.
1405
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000014062006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1407
Werner Lembergef3d2c22006-06-25 06:07:14 +00001408 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1409 Mac. The original patch was written by David Sachitano and Lawrence
1410 Coopet, and modified by Sean McBride for MPW compatibility. Only
1411 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001412
Werner Lembergef3d2c22006-06-25 06:07:14 +00001413 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1414 Mac OS X platforms.
1415 (OS_INLINE): Undefine before definition.
1416 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1417 FontAssociation table in FOND resource.
1418 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1419 and fontSize at each entry of FontAssociation table in FOND
1420 resource.
1421 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1422 ffStylOff of FamilyRecord header of FOND resource, the header,
1423 fontSize, fontID at each entry of FontAssociation table, and
1424 StyleMapping table.
1425 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001426
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000014272006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1428
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001429 Public API of TrueTypeGX, OpenType, and classic kern table validator
1430 should return `FT_Err_Unimplemented_Feature' if validation service
1431 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001432 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001433 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1434
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001435 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1436 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1437 unavailable.
1438 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1439 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001440
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001441 * src/base/ftotval.c (FT_OpenType_Validate): Return
1442 FT_Err_Unimplemented_Feature if OpenType validation service is
1443 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001444
Werner Lembergb10e45a2006-06-08 07:32:56 +000014452006-06-08 Werner Lemberg <wl@gnu.org>
1446
1447 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1448 errors.
1449
David Turner5f1f7502006-06-07 05:11:50 +000014502006-06-07 David Turner <david@freetype.org>
1451
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001452 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1453 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1454 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001455
David Turner457b4a82006-06-06 08:14:14 +000014562006-06-06 David Turner <david@freetype.org>
1457
Werner Lemberg4836f952006-06-06 12:54:08 +00001458 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001459
Werner Lemberg4836f952006-06-06 12:54:08 +00001460 We change `ps_unicodes_init' so that it also takes a
1461 `free_glyph_name' callback to release the glyph names returned by
1462 `get_glyph_name'
1463
1464 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1465 Renamed to ...
1466 (PS_GetGlyphNameFunc): This.
1467 (PS_FreeGlyphNameFunc): New typedef.
1468 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1469
1470 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1471 argument.
1472 (cff_sid_free_glyph_name): New function.
1473 (cff_cmap_unicode_init): Updated.
1474
1475 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1476
1477 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1478 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001479
1480
David Turner09717352006-06-04 14:33:08 +000014812006-06-04 David Turner <david@freetype.org>
1482
Werner Lembergd724f202006-06-04 15:17:41 +00001483 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1484 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001485 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001486
Werner Lembergd724f202006-06-04 15:17:41 +00001487 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1488 of `face->num_glyphs' which missed the last glyph, due to
1489 the offset-by-1 computation, since the PFR format doesn't
1490 guarantee that glyph index 0 corresponds to the `missing
1491 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001492
Werner Lemberg33779662006-05-26 06:30:05 +000014932006-05-25 Werner Lemberg <wl@gnu.org>
1494
1495 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1496 `-no-undefined'. Reported by Christian Biesinger.
1497
Werner Lemberg24773d62006-05-20 08:53:13 +000014982006-05-19 Brian Weed <bw@imaginengine.com>
1499
1500 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1501 have debug information, and debug libraries use `C7 compatible'
1502 debug info.
1503
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000015042006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1505
Werner Lemberga6523a62006-05-20 08:47:01 +00001506 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001507 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001508
Werner Lemberga6523a62006-05-20 08:47:01 +00001509 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1510 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001511
1512 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001513 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001514
15152006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1516
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001517 * build/unix/configure.raw: Add a fallback to disable Carbon
1518 dependency, if configured with no options on Mac OS X.
1519
15202006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1521
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001522 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001523 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001524 the second part of Savannah bug #16590.
1525
Werner Lemberg545c4e52006-05-17 22:55:04 +000015262006-05-18 Werner Lemberg <wl@gnu.org>
1527
1528 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1529 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1530
David Turnerdc3ff312006-05-17 12:59:35 +000015312006-05-17 David Turner <david@freetype.org>
1532
Werner Lemberg545c4e52006-05-17 22:55:04 +00001533 This is a major patch used to drastically improve the performance of
1534 loading glyphs. This both speeds up loading the glyph vectors
1535 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001536
Werner Lemberg545c4e52006-05-17 22:55:04 +00001537 We now use inline assembler code with GCC to implement `FT_MulFix',
1538 which is probably the most important function related to the
1539 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001540
Werner Lemberg545c4e52006-05-17 22:55:04 +00001541 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001542
1543
Werner Lemberg545c4e52006-05-17 22:55:04 +00001544 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1545 `cursor' and `limit'.
1546
1547 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1548 New functions.
1549 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1550 [TEST]: Remove.
1551
1552 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1553 code.
1554
1555 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1556 `FT_ZERO'
1557 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1558 (af_glyph_hints_reload: Rewrite recognition of weak points.
1559
1560 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1561 constant values out of the loops.
1562
1563 * src/autofit/aftypes.h: Updated.
1564
1565 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1566
1567 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1568 product to get orientation.
1569
1570 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1571 (FT_Stream_OpenGzip): Use it to handle small files directly in
1572 memory.
1573
1574 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1575 Improve performance.
1576
1577 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1578 `limit'.
1579
1580 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1581 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1582 exceedingly large values of number of contours. Speed up by
1583 reducing the number of loops.
1584
1585 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1586
1587
1588 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1589 used to detect rogue clients from 4 to 16. This is to prevent some
1590 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1591 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001592
Werner Lembergde2d90a2006-05-17 08:54:30 +000015932007-05-17 Werner Lemberg <wl@gnu.org>
1594
1595 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001596 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001597
15982006-05-16 Werner Lemberg <wl@gnu.org>
1599
1600 * docs/PROBLEMS: Updated icl issues.
1601
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001602----------------------------------------------------------------------------
1603
Werner Lemberg42b63b22007-01-21 21:01:33 +00001604Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001605David Turner, Robert Wilhelm, and Werner Lemberg.
1606
1607This file is part of the FreeType project, and may only be used, modified,
1608and distributed under the terms of the FreeType project license,
1609LICENSE.TXT. By continuing to use, modify, or distribute this file you
1610indicate that you have read the license and understand and accept it
1611fully.
1612
1613
1614Local Variables:
1615version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001616coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001617End: