blob: ff89f687708089bce55310dccf9360739245bd4d [file] [log] [blame]
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +000012008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2
3 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
4 (ft_lookup_PS_in_sfnt_stream): This.
5 (open_face_PS_from_sfnt_stream): New function. It checks
6 whether the stream is sfnt-wrapped Type1 PS font or sfnt-
7 wrapped CID-keyed font, then try to open a face for given
8 face_index.
9 (Mac_Read_sfnt_Resource): Replace the combination of
10 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
11 `open_face_PS_from_sfnt_stream'.
12 * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
13 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
14 * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
15 `open_face_PS_from_sfnt_stream'.
16
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000172008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
18
Suzuki, Toshiya (鈴木俊哉)bc2c4982008-10-03 12:28:52 +000019 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid
20 to FALSE when neither `CID ' nor `TYP1' is found in the sfnt
21 container.
22
232008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
24
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +000025 * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when
26 SC or MrC compiler of MPW is used. These compilers do not
27 define the macro __APPLE__ by themselves.
28 * builds/unix/ftconfig.in: Ditto.
29 * builds/vms/ftconfig.h: Ditto.
30 * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__,
31 to include ftmac.c when FreeType2 is built by MPW.
32 * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__,
33 to enable shared functions for ftmac.c when FreeType2 is
34 built by MPW.
35
36 * builds/mac/ftmac.c: Include ftbase.h.
37 (memory_stream_close): Removed.
38 (new_memory_stream): Ditto.
39 (open_face_from_buffer): Removed. Use the implementation in
40 ftobjs.c.
41 (ft_lookup_PS_in_sfnt): Ditto.
42
43 * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
44 included part of ftbase.c, to share the functions in ftobjs.c.
45 The rule compiling ftmac.c separately is removed and the rule
46 copying ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c
47 is added.
48 * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
49 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
50 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
51
Werner Lembergb17fb112008-10-02 10:17:32 +0000522008-10-02 Bram Tassyns <bramt@enfocus.be>
53
54 * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
55 fixes Savannah bug #24430.
56
Werner Lemberg89a1a512008-10-02 06:48:10 +0000572008-10-02 Werner Lemberg <wl@gnu.org>
58
59 * builds/freetype.mk (BASE_H): Rename to...
60 (INTERNAL_H): This.
61 (FREETYPE_H): Updated.
62 * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
63 * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
64 * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
65 * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
66 * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
67 * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
68
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000692008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
70
71 * src/base/ftbase.h: New file to declare the private utility
Werner Lembergcff15b02008-10-02 05:38:29 +000072 functions shared by the sources of base modules. Currently,
73 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
74 share between ftobjs.c and ftmac.c.
75
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000076 * src/base/rule.mk: Add ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +000077
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000078 * src/base/ftobjs.c: Include ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +000079 (memory_stream_close): Build on any platform when old MacOS font
80 support is enabled.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000081 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +000082 (open_face_from_buffer): Build on any platform when old MacOS font
83 support is enabled. The counting of the face in a font file is
84 slightly different between Carbon-dependent parser and Carbon-free
85 parser. They are merged with the platform-specific conditional.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000086 (ft_lookup_PS_in_sfnt): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +000087
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000088 * src/base/ftmac.c: Include ftbase.h.
89 (memory_stream_close): Removed.
90 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +000091 (open_face_from_buffer): Removed. Use the implementation in
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000092 ftobjs.c.
93 (ft_lookup_PS_in_sfnt): Ditto.
94
Werner Lembergce1bad02008-10-01 22:46:26 +0000952008-10-02 Werner Lemberg <wl@gnu.org>
96
97 * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
98 if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
99
Werner Lembergd03d8562008-10-01 22:39:05 +00001002008-10-01 Werner Lemberg <wl@gnu.org>
101
102 * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
103 (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
104 src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
105 (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
106 src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
107 Reported by Graham Asher.
108
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +00001092008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
110
Werner Lembergfce4e232008-10-01 04:41:46 +0000111 * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
Werner Lembergcff15b02008-10-02 05:38:29 +0000112 multi' on Mac OS X. If the macro $(ftmac_c) is defined,
Werner Lembergfce4e232008-10-01 04:41:46 +0000113 $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
114 lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
115 ftmac.c.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +0000116 * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
117 * builds/unix/configure.raw: Add procedure to set up appropriate
Werner Lembergfce4e232008-10-01 04:41:46 +0000118 value of $(ftmac_c) with the consideration of the availability of
119 Carbon framework.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +0000120
1212008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
122
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +0000123 * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
Werner Lembergfce4e232008-10-01 04:41:46 +0000124 * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
125 function for MPW building. It is synchronized the condition to
126 include ftmac.c source into ftbase.c.
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +0000127
Werner Lembergb4c810e2008-09-22 11:28:46 +00001282008-09-22 Werner Lemberg <wl@gnu.org>
129
130 * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
131 cff_decoder_parse_charstrings): Handle (invalid)
132 `callothersubr' and `pop' instructions.
133
Werner Lembergbd0f71a2008-09-22 08:55:44 +00001342008-09-22 John Tytgat <John.Tytgat@esko.com>
135
136 Fix Savannah bug #24307.
137
138 * include/freetype/internal/t1types.h (CID_FaceRec),
139 src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
140
1412008-09-21 Werner Lemberg <wl@gnu.org>
142
143 * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
144 `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
145 Stephan T. Lavavej <stl@nuwen.net>.
146
Suzuki, Toshiya (鈴木俊哉)815e1862008-09-21 18:33:57 +00001472008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
148
149 * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
150 by jam.
151 * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
152 jam.
153
Werner Lemberg6874d852008-09-20 11:50:47 +00001542008-09-20 Werner Lemberg <wl@gnu.org>
155
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000156 * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
157 passed to this function are already `normalized'. Problem reported
Werner Lembergbd0f71a2008-09-22 08:55:44 +0000158 by Stephan T. Lavavej <stl@nuwen.net>.
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000159
160 * docs/CHANGES: Document it.
161
1622008-09-20 Werner Lemberg <wl@gnu.org>
163
Werner Lemberg6874d852008-09-20 11:50:47 +0000164 * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
165 (FT_Outline_Decompose): Decorate with tracing messages.
166
167 * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
168 FT_DEBUG_LEVEL_TRACE.
169 [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
170 stdarg.h.
171
172 (FT_TRACE) [_STANDALONE_]: Remove.
173 (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
174 (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
175 (FT_ERROR) [_STANDALONE_]: Updated.
176
177 (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
178 Use FT_TRACE7.
179 (gray_dump_cells): Make it `static void'.
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000180 (gray_convert_glyph): Use FT_TRACE7.
Werner Lemberg6874d852008-09-20 11:50:47 +0000181
182 (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
183 ftoutln.c.
184
185 * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
186 FT_ERROR_BASE.
187
Werner Lemberg22e970a2008-09-20 12:20:21 +0000188 * docs/formats.txt: Updated.
189
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +00001902008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
191
Suzuki, Toshiya (鈴木俊哉)3afbee82008-09-19 17:46:01 +0000192 * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
193 CID-keyed font support.
194 * builds/mac/ftmac.c: Ditto.
195
1962008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
197
Werner Lemberg22e970a2008-09-20 12:20:21 +0000198 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
199 sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
200 `open_face_from_buffer' frees the passed buffer if it cannot open a
201 face from the buffer, so the caller must not free it.
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000202
2032008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
204
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000205 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
206 for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
207 (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
Werner Lemberg22e970a2008-09-20 12:20:21 +0000208 table in sfnt table directory. It is used before loading TrueType
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000209 font driver.
210
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000211 * docs/CHANGES: Add note about the current status of sfnt-wrapped
212 Type1 and sfnt-wrapped CID-keyed font support.
213
Werner Lemberg55c40632008-09-18 11:20:12 +00002142008-09-18 Werner Lemberg <wl@gnu.org>
215
216 * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
217 orthogonality (ft_free and ft_sfree could belong to different memory
218 pools). This fixes Savannah bug #24297.
219
Suzuki, Toshiya (鈴木俊哉)0c0db3e2008-09-18 04:36:56 +00002202008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
221
222 * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
223 in ttags.h instead of numerical value 0x4F54544FL.
224
Werner Lemberg634df6e2008-09-16 07:25:31 +00002252008-09-16 Werner Lemberg <wl@gnu.org>
226
227 * src/cff/cffgload.h, src/cff/cffgload.c
228 (cff_decoder_set_width_only): Eliminate function call.
229
Werner Lemberged6c0e02008-09-15 07:49:40 +00002302008-09-15 George Williams <gww@silcom.com>
231
232 Fix Savannah bug #24179, reported by Bram Tassyns.
233
234 * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
235 of default values.
236
2372008-09-15 Werner Lemberg <wl@gnu.org>
238
239 * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
240 and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
241 prevent unconditional definition. This fixes Savannah bug #24241.
242
243 * src/psnames/pstables.h: Regenerated.
244
Werner Lembergb2116512008-09-12 16:27:48 +00002452008-09-13 Werner Lemberg <wl@gnu.org>
246
247 * autogen.sh, builds/unix/configure.raw,
248 include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
249 beautifying.
250
251 * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
252 include/freetype/ftlcdfil.h: Protect against FreeType 1.
253 Some other minor fixes.
254
255 * devel/ftoption.h: Synchronize with
256 include/freetype/config/ftoption.h.
257
Werner Lemberg8d3e6ec2008-09-11 08:29:14 +00002582008-09-11 Werner Lemberg <wl@gnu.org>
259
260 * src/base/ftbase.c: Include ftadvanc.c.
261
Werner Lembergb2116512008-09-12 16:27:48 +00002622008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000263
264 * builds/unix/ftconfig.in: Duplicate the cpp computation of
265 FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
Werner Lembergb2116512008-09-12 16:27:48 +0000266 (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
267 computation is disabled and the statically configured sizes are
268 used. This fixes Savannah bug #21250.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000269
Werner Lembergb2116512008-09-12 16:27:48 +0000270 * builds/unix/configure.raw: Add the checks to compare the cpp
271 computation results of the bit length of int and long versus the
272 sizes detected by running `configure'. If the results are
273 different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
274 results.
275 New option --{enable|disable}-biarch-config is added to define or
276 undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000277
Werner Lembergb2116512008-09-12 16:27:48 +00002782008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000279
Werner Lembergb2116512008-09-12 16:27:48 +0000280 * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
281 ApplicationService framework is missing. Although this value is not
282 used in building of FreeType2, it is written in `freetype2.pc' and
283 `freetype-config'.
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000284
Werner Lembergb2116512008-09-12 16:27:48 +00002852008-09-01 david turner <david@freetype.org>
David Turner28534d62008-09-01 21:35:21 +0000286
Werner Lembergb2116512008-09-12 16:27:48 +0000287 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
288 index to mean `use default cached FT_Face's charmap'. This fixes
289 Savannah bug #22625.
290 * include/freetype/ftcache.h: Document it.
David Turner17cd6872008-09-02 02:34:29 +0000291
Werner Lembergb2116512008-09-12 16:27:48 +0000292
293 Make FT_MulFix an inlined function. This is done to speed up
David Turnerf47d2632008-09-02 02:21:58 +0000294 FreeType a little (on x86 3% when loading+hinting, 10% when
Werner Lembergb2116512008-09-12 16:27:48 +0000295 rendering, ARM savings are more important though). Disable this by
296 undefining FT_CONFIG_OPTION_INLINE_MULFIX.
David Turnerf47d2632008-09-02 02:21:58 +0000297
Werner Lembergb2116512008-09-12 16:27:48 +0000298 Use of assembler code can now be controlled with
299 FT_CONFIG_OPTION_NO_ASSEMBLER.
David Turner28534d62008-09-01 21:35:21 +0000300
Werner Lembergb2116512008-09-12 16:27:48 +0000301 * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
302 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
303 implementation.
304 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
305 implementation taken from `ftcalc.c'.
306 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
307 which is defined to the platform-specific assembler implementation
308 of FT_MulFix.
309 [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
310 (FT_MULFIX_INLINED): New macro.
David Turner28534d62008-09-01 21:35:21 +0000311
Werner Lembergb2116512008-09-12 16:27:48 +0000312 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
313 FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
314
315 * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
316
317 * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
318 FT_MULFIX_INLINED.
319
320
321 Add a new header named FT_ADVANCES_H declaring some new APIs to
322 extract the advances of one or more glyphs without necessarily
323 loading their outlines. Also provide `fast loaders' for the
324 TrueType, Type1, and CFF font drivers (more to come later).
325
326 * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
327
328 * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
329 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
330
331 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
332 `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
333 respectively.
334
335 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
336 ftadvanc.c.
337
338 * src/cff/cffdrivr.c (cff_get_advances): New function.
339 (cff_driver_class): Register it.
340
341 * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
342 (cff_decoder_parse_charstrings): Handle `width_only'.
343 (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
344
345 * src/cff/cffgload.h (cff_decoder): New element `width_only'.
346 (cff_decoder_set_width_only): New declaration.
347
348 * src/truetype/ttdriver.c (tt_get_advances): New function.
349 (tt_driver_class): Register it.
350
351 * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
352 (TT_Get_HMetrics, TT_Get_VMetrics): This.
353 Update callers.
354 * src/truetype/ttgload.h: Declare them.
355
356 * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
357 function.
358 * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
359
360
361 Add checks for minimum version of the `autotools' stuff.
362
363 * autogen.sh: Implement it.
364 (get_major_version, get_minor_version, get_patch_version,
365 compare_to_minimum_version, check_tool_version): New auxiliary
366 functions.
367
368 * README.CVS: Document it.
369
3702008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)7981fe22008-08-29 06:09:03 +0000371
372 * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
373 ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
374
Werner Lemberg4dbf00a2008-08-28 16:12:48 +00003752008-08-28 Werner Lemberg <wl@gnu.org>
376
377 * src/type1/t1load.c (parse_encoding): Protect against infinite
378 loop. This fixes Savannah bug #24150 (where a patch has been posted
379 too).
380
Werner Lemberga4cb0d92008-08-23 19:54:06 +00003812008-08-23 Werner Lemberg <wl@gnu.org>
382
383 * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
384 (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
385 #24119.
386
Werner Lembergb2116512008-09-12 16:27:48 +00003872008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +0000388
Werner Lemberga4cb0d92008-08-23 19:54:06 +0000389 * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
390 even if passed library or arguments are invalid. This fixes a bug
391 that an uninitialized stream is freed when an invalid library handle
392 is passed. Originally proposed by Mike Fabian, 2008/08/18 on
393 freetype-devel.
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +0000394 (FT_Open_Face): Ditto (stream).
395 (load_face_in_embedded_rfork): Ditto (stream2).
396
Werner Lembergb2116512008-09-12 16:27:48 +00003972008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000398
Werner Lemberg77f73582008-08-19 04:53:02 +0000399 * src/base/ftmac.c: Add a fallback to guess the availability of the
400 `ResourceIndex' type. It is used when built without configure
401 (e.g., a build with Jam).
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000402 * builds/mac/ftmac.c: Ditto.
Werner Lemberg77f73582008-08-19 04:53:02 +0000403 * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
404 explicitly, even if `ResourceIndex' is unavailable.
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000405
Werner Lembergb2116512008-09-12 16:27:48 +00004062008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000407
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000408 * builds/unix/configure.raw: In checking of Mac OS X features,
Werner Lemberg77f73582008-08-19 04:53:02 +0000409 all-in-one header file `Carbon.h' is replaced by the minimum
410 header file `CoreServices.h', similar to current src/base/ftmac.c.
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000411
Werner Lembergb2116512008-09-12 16:27:48 +00004122008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000413
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000414 * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
Werner Lemberg77f73582008-08-19 04:53:02 +0000415 sub-header when its code_count is 0. Many Japanese Dynalab fonts
416 include such an empty sub-header (code_count == 0, first_code == 0
417 delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000418
Werner Lemberg7fd20182008-08-04 18:46:37 +00004192008-08-04 Werner Lemberg <wl@gnu.org>
420
421 * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
422 Savannah bug #23995.
423
424 * src/cid/cidload.c (parse_expansion_factor): New callback function.
425 (cid_field_records): Use it for `ExpansionFactor'.
426 * src/cod/cidtoken.h: Handle `ForceBold' keyword.
427 Don't handle `ExpansionFactor'.
428
Werner Lembergeba3eee2008-08-04 15:54:24 +00004292008-08-04 Bram Tassyns <bramt@enfocus.be>
430
431 * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
432 resulted in incorrect scaling. This fixes Savannah bug #23973.
433
Werner Lemberg17e69012008-08-04 05:45:41 +00004342008-08-04 Werner Lemberg <wl@gnu.org>
435
436 Be more tolerant w.r.t. invalid entries in SFNT table directory.
437
438 * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
439 adjust table count.
440 Add more trace messages.
441 (tt_face_load_font_dir): Updated.
442
Werner Lemberg806f5932008-07-30 05:28:37 +00004432008-07-30 Werner Lemberg <wl@gnu.org>
444
445 * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
446 assume that the first argument on the stack is the bottom-most
447 element. Two reasons:
448
449 o According to people from Adobe it is missing in the Type 2
450 specification that pushing of additional, superfluous arguments
451 on the stack is prohibited.
452
453 o Acroread in general handles fonts differently, namely by popping
454 the number of arguments needed for a particular operand (as a PS
455 interpreter would do). In case of buggy fonts this causes a
456 different interpretation which of the elements on the stack are
457 superfluous and which not.
458
459 Since there are CFF subfonts (embedded in PDFs) which rely on
460 Acroread's behaviour, FreeType now does the same.
461
Werner Lemberg7f30c0c2008-07-27 05:43:59 +00004622008-07-27 Werner Lemberg <wl@gnu.org>
463
464 Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
465 fixes Savanna bug #23940.
466
467 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
468 (EXTRA_GLYPH_LIST_SIZE): This.
469 Increase by 2.
470 (ft_wgl_extra_unicodes): Rename to...
471 (ft_extra_glyph_unicodes): This.
472 Add two code values.
473 (ft_wgl_extra_glyph_names): Rename to...
474 (ft_extra_glyph_names): This.
475 Add two glyphs.
476 (ft_wgl_extra_glyph_name_offsets): Rename to...
477 (ft_extra_glyph_name_offsets): This.
478 Add two offsets.
479
480 (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
481 (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
482 Updated.
483 (ps_unicodes_init): Updated.
484
Werner Lembergbdcfddc2008-07-26 21:22:20 +00004852008-07-26 Werner Lemberg <wl@gnu.org>
486
487 * src/cff/cffgload.c (cff_decoder_prepare,
488 cff_decoder_parse_charstrings): Improve debug output.
489
Werner Lemberge75da452008-07-22 20:59:59 +00004902008-07-22 Martin McBride <mmcbride@emtex.com>
491
492 * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
493 tt_cmap4_char_map_binary): Handle fonts which treat the last segment
494 specially. According to the specification, such fonts would be
495 invalid but acroread accepts them.
496
Werner Lemberg50997cd2008-07-16 21:03:40 +00004972008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
498
499 * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
500
501 * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
502
503 * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
504 Fix compiler warning.
505
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00005062008-07-16 Werner Lemberg <wl@gnu.org>
507
Werner Lemberge75da452008-07-22 20:59:59 +0000508 Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +0000509
510 * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
511 Invert sids table only if `pure_cff' is set.
512 * src/cff/cffload.h: Udpated.
513
514 * src/cff/cffobjs.c (cff_face_init): Updated.
Werner Lembergbd48d352008-07-16 07:05:11 +0000515 Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +0000516
Werner Lemberge75da452008-07-22 20:59:59 +0000517 * docs/CHANGES: Updated.
518
Werner Lemberg6b19e092008-07-09 06:20:12 +00005192008-07-09 Werner Lemberg <wl@gnu.org>
520
521 * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
522 where num_locations < num_glyphs. Problem reported by Ding Li.
523
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00005242008-07-05 Werner Lemberg <wl@gnu.org>
525
526 Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
Werner Lembergca6fc732008-07-05 06:36:39 +0000527 newer. This fixes Savannah bug #23648.
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000528
529 * configure: zsh doesn't like ${1+"$@"}.
530 Update needed GNU make version.
531 * builds/toplevel.mk: Check for `$(eval ...)'.
532 * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
533 it.
534
Werner Lemberg71b8f3f2008-07-04 07:22:06 +00005352008-07-04 Werner Lemberg <wl@gnu.org>
536
537 * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
538 pixel, only check for dropouts if neither start nor end point lies
539 on a pixel center. This fixes Savannah bug #23762.
540
Werner Lembergbe54a682008-06-29 07:43:41 +00005412008-06-29 Werner Lemberg <wl@gnu.org>
542
543 * Version 2.3.7 released.
544 =========================
545
546
547 Tag sources with `VER-2-3-7'.
548
549 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
550 version number to 2.3.7.
551
552 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
553 builds/win32/visualc/freetype.dsp,
554 builds/win32/visualc/freetype.vcproj,
555 builds/win32/visualce/index.html,
556 builds/win32/visualce/freetype.dsp,
557 builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
558
559 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
560
561 * builds/unix/configure.raw (version_info): Set to 9:18:3.
562
563 * docs/release: Updated.
564
Werner Lemberg4e7d9842008-06-27 22:26:11 +00005652008-06-28 Werner Lemberg <wl@gnu.org>
566
Werner Lembergbe54a682008-06-29 07:43:41 +0000567 * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
Werner Lemberg4e7d9842008-06-27 22:26:11 +0000568 * src/ftcalc.c: Here. This fixes Savannah bug #23729.
569
Werner Lemberga741c6f2008-06-27 06:58:48 +00005702008-06-27 Werner Lemberg <wl@gnu.org>
571
572 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
573 Horizontal_Gray_Sweep_Drop): Test for intersections which
574 degenerate to a single point can be ignored; this has been confirmed
575 by Greg Hitchcock from Microsoft. (This was commented out code.)
576
Werner Lemberg8a9b6392008-06-26 19:56:51 +00005772008-06-26 Werner Lemberg <wl@gnu.org>
578
579 Improve navigation in API reference.
580
581 * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
582 (html_header_6): This.
583 (html_header_3, html_header_3i, html_header_4, html_header_5,
584 html_header_5t): New strings.
585 (toc_footer_start, toc_footer_end): New strings.
586 (HtmlFormatter::html_header): Updated.
587 (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
588 New strings.
589 (HtmlFormatter::index_enter): Use `html_index_header'.
590 (HtmlFormatter::index_exit): Print `html_footer'.
591 (HtmlFormatter::toc_enter): Use `html_toc_header'.
592 (HtmlFormatter::toc_exit): Print proper footer.
593
594 Convert ~ to non-breakable space.
595
596 * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
597 Update header files accordingly.
598
Werner Lembergb2116512008-09-12 16:27:48 +00005992008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000600
Werner Lemberg8a9b6392008-06-26 19:56:51 +0000601 * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
Werner Lemberge172c332008-06-25 22:21:42 +0000602 and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
603 bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
604 ResourceIndex type definition. The macro does not inform the type
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000605 availability.
606 * src/base/ftmac.c: More parentheses are inserted to clarify the
Werner Lemberge172c332008-06-25 22:21:42 +0000607 conditionals to disable legacy APIs in `10.5 and later' cases. If
608 HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000609
Werner Lemberg5563bea2008-06-24 05:44:28 +00006102008-06-24 Werner Lemberg <wl@gnu.org>
611
Werner Lemberg830846e2008-07-27 06:27:21 +0000612 * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
613 mode.
Werner Lembergce8853a2008-06-24 11:19:03 +0000614
615 * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
616 Draw_Sweep): No-dropout mode is value 2, not value 0.
617 (Draw_Sweep): Really skip dropout handling for no-dropout mode.
618
6192008-06-24 Werner Lemberg <wl@gnu.org>
620
Werner Lemberg5563bea2008-06-24 05:44:28 +0000621 * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
622 if it consists of one point only. Based on a patch from Savannah
623 bug #23683 (from John Tytgat).
624
Werner Lemberg745a4f42008-06-22 22:41:24 +00006252008-06-22 Werner Lemberg <wl@gnu.org>
626
627 * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
628 with IS_HINTED.
629
630 * docs/CHANGES: Updated.
631
Werner Lembergb2116512008-09-12 16:27:48 +00006322008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000633
Werner Lemberg745a4f42008-06-22 22:41:24 +0000634 * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
635 but LDFLAGS does not, import it to LDFLAGS. The option is used to
636 specify non-default SDK on Mac OS X (e.g., universal binary SDK for
637 Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
638 recommends to add the option only to CFLAGS, LDFLAGS should include
639 it because libfreetype.la is built with -no-undefined. This fixes a
640 bug reported by Ryan Schmidt in MacPorts,
641 http://trac.macports.org/ticket/15331.
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000642
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00006432008-06-21 Werner Lemberg <wl@gnu.org>
644
645 Enable access to the various dropout rules of the B&W rasterizer.
646 Pass dropout rules from the TT bytecode interpreter to the
Werner Lemberg959cb8e2008-06-25 20:58:33 +0000647 rasterizer.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +0000648
649 * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
650 FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
651
652 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
653 Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
654 OpenType specification.
655 Fix mode 4 computation.
656 (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
657
Werner Lemberg959cb8e2008-06-25 20:58:33 +0000658 * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
659 mode to FT_OUTLINE_XXX flags.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +0000660
661 * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
662
Werner Lembergcd6dcca2008-06-19 06:20:21 +00006632008-06-19 Werner Lemberg <wl@gnu.org>
664
Werner Lemberg5b631d82008-06-19 16:23:43 +0000665 * src/cff/cffobjs.c (cff_face_init): Compute final
666 `dict->units_per_em' value before assigning it to
Werner Lembergbe54a682008-06-29 07:43:41 +0000667 `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
Werner Lemberg5b631d82008-06-19 16:23:43 +0000668 scaled incorrectly if the font matrix is non-standard. This fixes
669 Savannah bug #23630.
670
671 * docs/CHANGES: Updated.
672
6732008-06-19 Werner Lemberg <wl@gnu.org>
674
Werner Lembergbe54a682008-06-29 07:43:41 +0000675 * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
676 from 2008-06-19.
Werner Lembergcd6dcca2008-06-19 06:20:21 +0000677
Werner Lembergd57a5e92008-06-18 06:16:39 +00006782008-06-18 Werner Lemberg <wl@gnu.org>
679
680 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
681 Reported by Peter Weilbacher <mozilla@weilbacher.org>.
682
683 * docs/CHANGES: Updated.
684
Werner Lembergca947c22008-06-16 05:33:51 +00006852008-06-15 George Williams <gww@silcom.com>
686
687 * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
688 `valid->extra2' to 1. This is undocumented in the OpenType 1.5
689 specification.
690
Werner Lembergad83e052008-06-15 11:06:12 +00006912008-06-15 Werner Lemberg <wl@gnu.org>
692
693 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
694 from clobbering. Patch from Savannah bug report #23556.
695
696 * docs/CHANGES: Document it.
697
Werner Lemberg102bb832008-06-10 04:57:19 +00006982008-06-10 Werner Lemberg <wl@gnu.org>
699
Werner Lembergb796adb2008-06-10 17:15:35 +0000700 * autogen.sh: Add option `--install' to libtoolize.
701
7022008-06-10 Werner Lemberg <wl@gnu.org>
703
Werner Lemberg6174e172008-06-10 05:58:25 +0000704 * Version 2.3.6 released.
705 =========================
706
707
708 Tag sources with `VER-2-3-6'.
709
710 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
711 version number to 2.3.6.
712
713 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
714 builds/win32/visualc/freetype.dsp,
715 builds/win32/visualc/freetype.vcproj,
716 builds/win32/visualce/index.html,
717 builds/win32/visualce/freetype.dsp,
718 builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
719
720 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
721
722 * builds/unix/configure.raw (version_info): Set to 9:17:3.
723
724
725 * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
726 and `scale_y'.
727 * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
728
729
730 * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
731 * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
732
7332008-06-10 Werner Lemberg <wl@gnu.org>
734
Werner Lemberg102bb832008-06-10 04:57:19 +0000735 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
736 `clazz->done_face'.
737
Werner Lemberg630e24d2008-06-09 21:20:18 +00007382008-06-09 VaDiM <s_sliva@rambler.ru>
739
740 Support debugging on WinCE. From Savannah patch #6536; this fixes
741 bug #23497.
742
743 * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
744 as a replacement for OutputDebugStringA (which WinCE doesn't have).
745 Update all callers.
746 (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
747 environment variables.
748
Werner Lemberga984fda2008-06-09 21:02:13 +00007492008-06-09 Werner Lemberg <wl@gnu.org>
750
751 * README.CVS: Updated.
752
Werner Lemberg26bd7a22008-06-09 21:27:17 +0000753 * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
754 for newer versions of autoconf and friends.
Werner Lemberga984fda2008-06-09 21:02:13 +0000755
Werner Lemberg7cb9ec02008-06-09 20:49:29 +00007562008-06-08 Werner Lemberg <wl@gnu.org>
757
758 * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
759 `private_len' unsigned.
760
761 * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
762 it as such.
763 (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
764
765
766 * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
767
768
769 * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
770 for sane value.
771 Fix typo.
772
773
774 * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
775
776
777 * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
778 `last_point'.
779
780
781 * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
782 `maxTwilightPoints'.
783
Werner Lembergd77e7222008-06-05 22:07:19 +00007842008-06-06 Werner Lemberg <wl@gnu.org>
785
786 * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
787 correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
788
Werner Lemberg4c3cc762008-06-03 20:53:49 +00007892008-06-03 Werner Lemberg <wl@gnu.org>
790
791 * include/freetype/ftcache.h (FTC_FaceID): Change type back to
792 FT_Pointer. Reported by Ian Britten <britten@caris.com>.
793
Werner Lemberg8e3539b2008-06-02 13:53:54 +00007942008-06-02 Werner Lemberg <wl@gnu.org>
795
796 Emit header info for defined FreeType objects in reference.
797
798 * src/tools/docmaker/content.py (re_header_macro): New regexp.
799 (ContentProcessor::__init__): Initialize new dictionary `headers'.
800 (DocBlock::__init__): Collect macro header definitions.
801
802 * src/tools/docmaker/tohtml.py (header_location_header,
803 header_location_footer): New strings.
804 (HtmlFormatter::__init__): Pass `headers' dictionary.
805 (HtmlFormatter::print_html_field): Don't emit paragraph tags.
806 (HtmlFormatter::print_html_field_list): Emit empty paragraph.
807 (HtmlFormatter::block_enter): Emit header info.
808
8092008-06-01 Werner Lemberg <wl@gnu.org>
Werner Lemberg7493ea12008-06-02 07:24:36 +0000810
811 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
812 FT_INCREMENTAL_H): Added.
813
Werner Lembergc94fa662008-05-27 23:24:07 +00008142008-05-28 Werner Lemberg <wl@gnu.org>
815
Werner Lembergde0d0052008-05-28 21:51:15 +0000816 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
817 looking for markup tags, return immediately as soon a single one is
818 found.
819
8202008-05-28 Werner Lemberg <wl@gnu.org>
821
Werner Lembergc94fa662008-05-27 23:24:07 +0000822 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
823 original, unscaled input values. Confirmed by Greg Hitchcock from
824 Microsoft.
825
Werner Lemberg35a90b72008-05-27 18:16:03 +00008262008-05-27 Werner Lemberg <wl@gnu.org>
827
828 * src/tools/docmaker/tohtml.py (block_footer_start,
829 block_footer_middle): Beautify output.
830
Werner Lembergc9381312008-05-25 12:19:34 +00008312008-05-25 Werner Lemberg <wl@gnu.org>
832
833 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
834 trying to render into a zero-width/height bitmap, not an error code.
835
Werner Lembergffa49652008-05-25 12:43:57 +0000836 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
837 of the graphics state for subglyphs to...
838 (TT_Hint_Glyph): This function.
839 Hinting instructions for a composite glyph apparently refer to the
840 just hinted subglyphs, not the unhinted, unscaled outline. This
841 seems to fix Savannah bugs #20973 and (at least partially) #23310.
842
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +00008432008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
844
845 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +0000846 `aface' is returned by FT_New_Face_From_FOND(). The patch was
847 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +0000848
Werner Lemberg16dc51f2008-05-18 17:36:15 +00008492008-05-18 Werner Lemberg <wl@gnu.org>
850
Werner Lemberg5e8a3682008-05-18 21:49:02 +0000851 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
852 correction for pixel boundary. Without this patch, the effect can
853 be cumulative under certain circumstances, making glyphs taller and
854 taller after each call. This fixes Savannah bug #19976.
855
8562008-05-18 Werner Lemberg <wl@gnu.org>
857
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000858 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
859 This fixes Savannah bug #23280.
860
861 * docs/CHANGES: Updated.
862
Werner Lembergb2116512008-09-12 16:27:48 +00008632008-05-18 David Turner <david@freetype.org>
David Turnera92cec52008-05-18 14:08:57 +0000864
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000865 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
866 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
867 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
868 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +0000869
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000870 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +0000871
Werner Lemberg89d64fa2008-05-17 20:06:13 +00008722008-05-17 Sam Hocevar <samh>
873
874 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
875 glyphs correctly. Patch from Savannah bug #23277.
876
Werner Lemberga2f17cc2008-05-17 10:01:45 +00008772008-05-16 Werner Lemberg <wl@gnu.org>
878
879 * docs/CHANGES: Updated.
880
8812008-05-16 Sergey Tolstov <stolstov@esri.com>
882
883 Improve support for WGL4 encoded fonts.
884
885 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
886 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
887 ft_wgl_extra_glyph_name_offsets): New arrays.
888 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
889 (ps_unicodes_init): Use them to add additional Unicode mappings.
890
Werner Lemberg504645e2008-05-14 23:26:20 +00008912008-05-15 Werner Lemberg <wl@gnu.org>
892
Werner Lembergbcc750e2008-05-16 04:50:00 +0000893 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
894 <op_closepath>: `closepath' without a path is a no-op, not an error
895 (cf. the PS reference manual).
896
897 Reported by Martin McBride.
898
8992008-05-15 Werner Lemberg <wl@gnu.org>
900
Werner Lembergbcfcc712008-05-15 09:14:39 +0000901 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
902
9032008-05-15 Werner Lemberg <wl@gnu.org>
904
Werner Lemberg504645e2008-05-14 23:26:20 +0000905 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +0000906 which contains a single but empty entry. This is technically
907 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +0000908
909 Reported by Martin McBride.
910
Werner Lemberge6e6ead2008-05-14 23:05:38 +00009112008-05-14 Werner Lemberg <wl@gnu.org>
912
913 Finish fix of scaling bug of CID-keyed CFF subfonts.
914
915 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
916 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
917 functions.
918
919 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
920 provide global hinting data for both the top-font and all subfonts
921 (with proper scaling).
922
923 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
924 code from `cff_size_init'.
925 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
926 Use CFF_Internal and handle subfonts.
927 (cff_face_init): Handle top-dict and subfont matrices correctly;
928 apply some heuristic in case of unlikely matrix concatenation
929 results. This has been discussed with people from Adobe (thanks
930 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
931 and not correct.
932
933 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
934
935 * src/cff/cffgload.c (cff_builder_init): Updated.
936 (cff_decoder_prepare): Handle hints globals for subfonts.
937 Update all callers.
938 (cff_slot_load): Handling scaling of subfonts properly.
939
940 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
941 (cff_parse_font_matrix): Use it.
942
943 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
944 FT_ULong.
945
946 * docs/CHANGES: Document it.
947
Werner Lembergfb572282008-05-13 12:10:04 +00009482008-05-13 Werner Lemberg <wl@gnu.org>
949
950 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
951 Handle case `face_index < 0'.
952 * docs/CHANGES: Document it.
953
Werner Lemberg551dd3c2008-05-04 13:37:38 +00009542008-05-04 Werner Lemberg <wl@gnu.org>
955
956 First steps to fix the scaling bug of CID-keyed CFF subfonts,
957 reported by Ding Li on 2008/03/28 on freetype-devel.
958
959 * src/base/cff/cffparse.c (power_tens): New array.
960 (cff_parse_real): Rewritten to introduce a fourth parameter which
961 returns the `scaling' of the real number so that we have no
962 precision loss. This is not used yet.
963 Update all callers.
964 (cff_parse_fixed_thousand): Replace with...
965 (cff_parse_fixed_scaled): This function. Update all callers.
966
Werner Lemberg6d29f0f2008-05-03 15:54:15 +00009672008-05-03 Werner Lemberg <wl@gnu.org>
968
969 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
970 transformation since it recursively calls FT_Load_Glyph. This fixes
971 Savannah bug #23143.
972
Werner Lembergde9479a2008-04-26 12:52:57 +00009732008-04-26 Werner Lemberg <wl@gnu.org>
974
975 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
976 and `scale_y' as obsolete since they aren't used.
977 * src/psaux/psobjs.c (t1_builder_init): Updated.
978
979 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
980 obsolete since they aren't used.
981 * src/cff/cffgload.c (cff_builder_init): Updated.
982
Werner Lemberg4ebc8902008-04-13 22:06:12 +00009832008-04-14 Werner Lemberg <wl@gnu.org>
984
985 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
986 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
987 bug #22909.
988
Werner Lemberg048b7562008-04-13 05:55:36 +00009892008-04-13 Werner Lemberg <wl@gnu.org>
990
991 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
992 integer part is zero.
993
Werner Lembergc32e83f2008-04-01 06:07:37 +00009942008-04-01 Werner Lemberg <wl@gnu.org>
995
996 Fix compilation with g++ 4.1 (with both `single' and `multi'
997 targets).
998
999 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
1000 which is crossed by a `goto'.
1001
1002 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
1003
Werner Lemberg210d6182008-04-01 05:55:48 +000010042008-03-31 Werner Lemberg <wl@gnu.org>
1005
1006 Fix support for subsetted CID-keyed CFFs.
1007
1008 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
1009 FT_IS_CID_KEYED): New macros.
1010
1011 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
1012 maximum CID value in CID-keyed CFFs.
1013 Handle FT_FACE_FLAG_CID_KEYED flag.
1014
1015 * docs/CHANGES: Document it.
1016
1017
1018 Fix CFF font matrix calculation and improve precision.
1019
1020 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
1021 part is zero.
1022 (cff_parse_font_matrix): Simplify computation of `units_per_em';
1023 this prevents overflow also.
1024
1025
1026 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
1027
1028 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
1029 (cid_get_ros): New function.
1030 (cid_service_cid_info): New service structure.
1031 (cid_services): Register it.
1032
Werner Lemberga56e5262008-03-23 14:53:44 +000010332008-03-23 Werner Lemberg <wl@gnu.org>
1034
1035 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
1036
1037 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
1038 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
1039
Werner Lemberg85751172008-03-21 07:16:00 +000010402008-03-21 Laurence Darby <ldarby>
1041
1042 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
1043 Savannah bug #22675.
1044
Werner Lemberg3863c952008-03-13 06:38:37 +000010452008-03-13 Derek Clegg <dclegg@apple.com>
1046
1047 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
1048 Patch from Savannah bug #22541.
1049
Werner Lembergfc293932008-03-03 08:08:12 +000010502008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
1051
1052 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
1053 tt_cmap14_find_variant): Return correct value.
1054 (tt_cmap14_variant_chars): Fix check for `di'.
1055
Werner Lemberg5057e362008-02-29 07:23:02 +000010562008-02-29 Wermer Lemberg <wl@gnu.org>
1057
1058 * docs/CHANGES: Updated.
1059
Werner Lemberg7faa1552008-02-29 07:14:38 +000010602008-02-29 Wolf
1061
1062 Add build support for symbian platform. From Savannah bug #22440.
1063
1064 * builds/symbian/*: New files.
1065
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +000010662008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1067
Werner Lemberg9b9d3342008-02-21 23:22:06 +00001068 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
1069 synthesis. For any face of a specified FOND, always the name for
1070 the first face was used. Except of a FOND that refers multiple
1071 Type1 font files, wrong synthesized font names are not used at all,
1072 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +00001073
1074 * builds/mac/ftmac.c: Ditto.
1075
10762008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1077
Werner Lemberg31093cc2008-02-21 17:10:04 +00001078 * builds/unix/configure.raw: Split compiler option to link Carbon
1079 frameworks to one option for CoreServices framework and another
1080 option for ApplicationServices framework. The split options can be
1081 managed by GNU libtool to avoid unrequired duplication when FreeType
1082 is linked with other applications. Suggested by Daniel Macks,
1083 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00001084
Werner Lemberg28464c42008-02-18 20:34:42 +000010852008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
1086
1087 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
1088 from Savannah bug #22356.
1089
Werner Lemberg44c655b2008-02-17 08:22:08 +000010902008-02-17 Jonathan Blow <jon@number-none.com>
1091
1092 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
1093 Check for valid callback pointers.
1094
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +000010952008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1096
1097 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
1098 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +00001099 Kazmaier. According to the Resource Manager Reference,
1100 GetResource(), Get1Resource(), GetNamedResource(),
1101 Get1NamedResource() and RGetResource() set noErr but return NULL
1102 handle when they can not find the requested resource. These
1103 functions never return undefined values, so it is sufficient to
1104 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00001105
1106 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
1107
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000011082008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1109
1110 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +00001111 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001112 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +00001113
1114 * builds/unix/configure.raw: Print warning if configure is executed
1115 with options to specify Carbon functionalities explicitly.
1116
1117 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001118 included automatically and manual replacement is required.
1119
Werner Lemberg744dd452008-02-11 08:22:40 +000011202008-02-11 Werner Lemberg <wl@gnu.org>
1121
1122 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
1123 (dos_setup), builds/freetype.mk (clean_project_dos,
1124 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
1125 Murdoch.
1126
Werner Lemberg4c933992008-01-18 05:32:55 +000011272008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
1128
1129 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
1130 mention intra-pixel algorithm.
1131
1132 * include/freetype/freetype.h (FT_Render_Mode): Mention that
1133 FT_Library_SetLcdFilter can be used to reduce fringes.
1134
Werner Lemberg1ddd1b72008-01-16 06:58:54 +000011352008-01-16 Werner Lemberg <wl@gnu.org>
1136
1137 * src/raster/ftraster.c (ft_black_render): Check `outline' before
1138 using it. Reported by Allan Yang.
1139
Werner Lembergeca1f272008-01-12 07:46:09 +000011402008-01-12 Werner Lemberg <wl@gnu.org>
1141
1142 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
1143
11442008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
1145
1146 * src/raster/ftraster.c (ft_black_init)
1147 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
1148
Werner Lembergbf391cb2008-01-10 08:47:08 +000011492008-01-10 Werner Lemberg <wl@gnu.org>
1150
1151 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
1152 where the number of contours in a simple glyph is zero (and which
1153 does contain an entry in the `glyf' table). This fixes Savannah bug
1154 #21990.
1155
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +000011562008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1157
1158 Formatting suggested by Sean McBride.
1159
1160 * builds/mac/ftmac.c: Formatting (tab expanded).
1161 * src/autofit/afindic.c: Ditto.
1162 * src/base/ftcid.c: Ditto.
1163 * src/base/ftmac.c: Ditto.
1164
Werner Lembergd2e15732007-12-30 23:49:14 +000011652007-12-30 Werner Lemberg <wl@gnu.org>
1166
1167 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
1168 correctly.
1169
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +000011702007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1171
1172 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +00001173 references in a resource. In HelveLTMM (resource-fork PostScript
1174 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
1175 of PFB chunks is not sorted; sorting the chunks by reference IDs is
1176 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001177
Werner Lembergd2e15732007-12-30 23:49:14 +00001178 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
1179 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001180
Werner Lembergd2e15732007-12-30 23:49:14 +00001181 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
1182 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001183
Werner Lembergd2e15732007-12-30 23:49:14 +00001184 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
1185 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001186
Werner Lembergd156cab2007-12-14 07:48:32 +000011872007-12-14 Werner Lemberg <wl@gnu.org>
1188
1189 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
1190 division too early; otherwise the most significant digit(s) of the
1191 final result are lost as the value is truncated to an integer. This
1192 fixes Savannah bug #21794 (where the patch has been posted too).
1193
Werner Lembergbd7e1c32007-12-06 17:17:30 +000011942007-12-06 Fix <4d876b82@gmail.com>
1195
1196 Pass options from one configure script to another as-is (not
1197 expanded). This is needed for options like
1198 --includedir='${prefix}/include'.
1199
1200 * builds/unix/detect.mk, configure: Prevent argument expansion in
1201 call to the (real) `configure' script.
1202
12032007-12-06 Werner Lemberg <wl@gnu.org>
1204
1205 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
1206 TT_USE_BYTECODE_INTERPRETER isn't defined.
1207
12082007-12-06 Werner Lemberg <wl@gnu.org>
1209
1210 There exist CFFs which contain opcodes for the Type 1 operators
1211 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
1212 However, it doesn't harm to support them.
1213
1214 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
1215 `cff_op_closepath.'
1216 (cff_argument_counts): Ditto.
1217
1218 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
1219 and 13 (hsbw) which are invalid in Type 2 charstrings.
1220
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +000012212007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1222
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001223 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
1224 support new pathname syntax `..namedfork/rsrc' to access a resource
1225 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
1226 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +00001227 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
1228 buffer size to store a pathname.
1229 * include/freetype/internal/ftrfork.h: Increment the number of
1230 resource fork guessing rule.
1231
12322007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1233
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001234 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001235 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001236 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001237 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
1238
12392007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1240
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00001241 The documents and comments for Mac OS X are improved by Sean
1242 McBride.
1243
1244 * src/base/ftmac.c: Fix a comment.
1245 * include/freetype/ftmac.h: Ditto.
1246 * docs/INSTALL.MAC: Improve English and add comment on lowest
1247 system version specified by MACOSX_DEPLOYMENT_TARGET.
1248
Werner Lemberga10d2b72007-12-04 22:05:54 +000012492007-12-04 Werner Lemberg <wl@gnu.org>
1250
1251 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
1252 concatenate error codes.
1253 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
1254
Werner Lembergd496b922007-12-04 21:49:59 +000012552007-12-04 Graham Asher <graham.asher@btinternet.com>
1256
1257 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
1258 concatenate error codes.
1259
Werner Lembergc0da5232007-12-04 21:44:32 +000012602007-12-04 Sean McBride <sean@rogue-research.com>
1261
1262 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
1263 warning.
1264
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +000012652007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1266
Werner Lemberg6174e172008-06-10 05:58:25 +00001267 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
Werner Lemberg24fe6182007-11-23 09:18:07 +00001268 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
1269 cannot mmap() the specified file and cannot seek to head of the
1270 specified file, it returns NULL stream and FT_Open_New() returns the
1271 error immediately. On MacOS, most legacy MacOS fonts fall into such
1272 a scenario because their data forks are zero-sized and cannot be
1273 sought. To proceed to guessing of resource fork fonts, the
1274 functions for legacy MacOS font must properly handle the NULL stream
1275 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001276
Werner Lemberg24fe6182007-11-23 09:18:07 +00001277 * src/base/ftobjs.c (IsMacBinary): Return error
1278 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
1279 passed.
1280 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
1281 to fallback. Originally, legacy MacOS font is tested in the cases
1282 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
1283 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
1284 .dfont header is combined). Now the case of
1285 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001286
Werner Lemberg24fe6182007-11-23 09:18:07 +00001287 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
1288 skip FT_Stream_Seek(), which seeks to the head of stream, and
1289 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
1290 for a NULL stream causes a Bus error on Mac OS X.
1291 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001292 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001293 (raccess_guess_apple_single): Ditto.
1294
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000012952007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1296
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +00001297 Fix for Carbon incompatibilities since Mac OS X 10.5,
1298 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001299
1300 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
1301
1302 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
Werner Lemberg830846e2008-07-27 06:27:21 +00001303 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001304 Carbon functions from a forked process is classified as unsafe
Werner Lemberg830846e2008-07-27 06:27:21 +00001305 by Apple. All Carbon-dependent functions should be deprecated.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001306
1307 * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
1308 and <ApplicationServices/ApplicationServices.h> instead of
1309 all-in-one header file <CoreServices/CoreServices.h>.
1310
1311 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
1312 genuine macro PATH_MAX.
1313
1314 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
1315 is not found in Mac OS X 10.0.
1316
1317 Multi-character constants ('POST', 'sfnt' etc) are replaced by
1318 64bit constants calculated by FT_MAKE_TAG() macro.
1319
1320 For the index in the segment of resource fork, new portable
1321 type ResourceIndex is introduced for better compatibility.
1322 This type is since Mac OS X 10.5, so it is defined as short
1323 when built on older platforms.
1324
1325 (FT_ATSFontGetFileReference): If build target is only the systems
1326 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
1327
1328 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
1329 and newer or 64bit platform, because legacy type FSSpec type is
1330 removed completely.
1331
1332 (FT_New_Face_From_FSSpec): Ditto.
1333
13342007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +00001335
1336 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
1337 fixes Savannah bug #21485.
1338
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000013392007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +00001340
1341 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
1342 can handle the font at all, then check `face_index'. Otherwise, the
1343 driver might return the wrong error code. This fixes Savannah bug
1344 #21468.
1345
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000013462007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001347
1348 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +00001349 support for bit 8 of the `fsSelection' field in the `OS/2' table.
1350 MS is already using this; hopefully, this becomes part of OpenType
1351 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001352 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
1353 (WWS_SUBFAMILY).
1354
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000013552007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +00001356
1357 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
1358 Add `td.left' element to CSS.
1359 (toc_section_enter): Use it.
1360
David Turnercf432db2007-10-19 12:36:40 +000013612007-10-18 David Turner <david@freetype.org>
1362
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001363 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
1364 functions related to cmap type 14 support to the
1365 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +00001366
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001367 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
1368 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
1369 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
1370 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
1371 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
1372
1373 Update documentation accordingly.
1374
1375 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
1376 Make the code a little more consistent with FreeType coding
1377 conventions and modify the cmap14 functions that returned a newly
1378 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +00001379 instead.
1380
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001381 (TT_CMap14Rec): Provide array and auxiliary data for result.
1382 (tt_cmap14_done, tt_cmap14_ensure): New functions.
1383
1384 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
1385 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
1386 tt_cmap14_char_var_index, tt_cmap14_variants,
1387 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1388 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1389 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
1390
Werner Lemberg9a966b72007-10-15 17:21:32 +000013912007-10-15 George Williams <gww@silcom.com>
1392
1393 Add support for cmap type 14.
1394
1395 * devel/ftoption.h, include/freetype/config/ftoption.h
1396 (TT_CONFIG_CMAP_FORMAT_14): New macro.
1397
1398 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
1399 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
1400 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
1401 support function prototypes.
1402 (FT_CMap_ClassRec): Add them.
1403 Update all users.
1404
1405 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
1406 macro.
1407
1408 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
1409 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
1410 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
1411 functions.
1412
1413 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
1414 function.
1415 (FT_Set_Charmap): Disallow cmaps of type 14.
1416 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
1417 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
1418 FT_Get_Chars_Of_Variant): New API functions.
1419
1420 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
1421
1422 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
1423 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
1424 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
1425 tt_cmap14_find_variant, tt_cmap14_char_var_index,
1426 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
1427 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1428 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1429 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
1430 structures for cmap 14 support.
1431 (tt_cmap_classes): Register tt_cmap14_class_rec.
1432 (tt_face_build_cmaps): One more error message.
1433
1434 * docs/CHANGES: Mention cmap 14 support.
1435
Werner Lemberg74597cc2007-10-01 07:08:56 +000014362007-10-01 Werner Lemberg <wl@gnu.org>
1437
1438 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +00001439 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +00001440 This favours MS charmaps over Apple ones.
1441
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +000014422007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1443
Werner Lemberg9a966b72007-10-15 17:21:32 +00001444 * src/base/ftmac.c: Introduction of abstract `short' data types,
1445 ResFileRefNum and ResID. These types were introduced for Copland,
1446 then backported to MPW. The variables exchanged with FileManager
1447 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00001448 proposed by Sean McBride.
1449 * builds/mac/ftmac.c: Ditto.
1450
Werner Lembergabc44f52007-08-18 06:38:07 +000014512007-08-18 Werner Lemberg <wl@gnu.org>
1452
1453 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
1454 by Imran Yousaf. Fixes Savannah bug #20773.
1455
1456 (otv_Lookup_validate): Correct handling of LookupType. Found by
1457 Imran Yousaf. Fixes Savannah bug #20782.
1458
Werner Lemberg23a424f2007-08-17 20:16:44 +000014592007-08-17 George Williams <gww@silcom.com>
1460
1461 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
1462 SingleSubstFormat1.
1463
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000014642007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1465
1466 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
1467 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
1468 Found by Ryan Hill.
1469
Werner Lemberg3f1905b2007-08-11 15:45:32 +000014702007-08-11 George Williams <gww@silcom.com>
1471
1472 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
1473 (otv_Coverage_validate): Add fourth argument to pass an expected
1474 count value. Update all users.
1475 Check glyph IDs.
1476 (otv_ClassDef_validate): Check `StartGlyph'.
1477
1478 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
1479 checks.
1480
1481 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
1482 56 constants.
1483 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
1484 Check glyph IDs.
1485
Werner Lembergd76fe5a2007-08-08 06:38:06 +000014862007-08-08 Werner Lemberg <wl@gnu.org>
1487
1488 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
1489 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
1490 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
1491 appropriate. Reported by George.
1492
1493 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
1494
1495 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
1496
1497 * docs/CHANGES: Updated.
1498
14992007-08-08 George Williams <gww@silcom.com>
1500
1501 Add `MATH' validating support to otvalid module.
1502
1503 * include/freetype/tttags.h (TTAG_MATH): New macro.
1504 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
1505 (FT_VALIDATE_OT): Updated.
1506
1507 * src/otvalid/otmath.c: New file.
1508
1509 * src/otvalid/otvalid.c: Include otvmath.c.
1510 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
1511
Werner Lembergb6617882007-08-04 22:17:48 +000015122007-08-04 Werner Lemberg <wl@gnu.org>
1513
David Turnercf432db2007-10-19 12:36:40 +00001514 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +00001515 Fixes Savannah bug #20686.
1516
Werner Lembergd6752a62007-08-02 22:03:30 +000015172007-08-03 Werner Lemberg <wl@gnu.org>
1518
1519 * src/psnames/psmodule.c: Fix usage of
1520 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
1521
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +000015222007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1523
1524 * src/base/ftmac.c (open_face_from_buffer): The argument
1525 `driver_name' is typed as `const char*' to match with the
1526 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
1527 This is same with open_face_from_buffer in src/base/ftobjs.c.
1528 Found and fixed by Sean McBride.
1529
Werner Lemberg39c91ad2007-07-28 05:40:40 +000015302007-07-28 Werner Lemberg <wl@gnu.org>
1531
1532 * src/raster/ftraster.c (count_table): Make it conditional.
1533 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
1534 a preprocessor statement.
1535
Werner Lemberg71dd6872007-07-27 04:44:36 +000015362007-07-27 Werner Lemberg <wl@gnu.org>
1537
1538 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
1539 first usage. From Savannah patch #6115.
1540
Werner Lembergef915c32007-07-16 20:46:05 +000015412007-07-16 Werner Lemberg <wl@gnu.org>
1542
1543 * docs/CHANGES: Updated.
1544
15452007-07-16 Derek Clegg <dclegg@apple.com>
1546
1547 Add new service for getting the ROS from a CID font.
1548
1549 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
1550 * include/freetype/ftcid.h: New file.
1551
1552 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
1553 * include/freetype/internal/services/svcid.h: New file.
1554
1555 * src/base/ftcid.c: New file.
1556
1557 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
1558 (cff_get_ros): New function.
1559 (cff_service_cid_info): New service structure.
1560 (cff_services): Register it.
1561
1562 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
1563
1564 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
1565
1566 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
1567
Werner Lemberg2f109562007-07-11 05:32:00 +000015682007-07-11 Derek Clegg <dclegg@apple.com>
1569
1570 Add support for postscript name service to CFF driver.
1571
1572 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
1573 (cff_get_ps_name): New function.
1574 (cff_service_ps_name): New service structure.
1575 (cff_services): Register it.
1576
Werner Lembergb003b3e2007-07-08 07:13:12 +000015772007-07-07 Werner Lemberg <wl@gnu.org>
1578
1579 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
1580 `target'. Reported by Sean McBride.
1581
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000015822007-07-06 Werner Lemberg <wl@gnu.org>
1583
1584 * src/pfr/pfrcmap.c: Include pfrerror.h.
1585
1586 * src/autofit/afindic.c: Add some external declarations to pacify
1587 `make multi' compilation.
1588
1589 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
1590
1591 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
1592 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
1593 src/autofit/aflatin.c (af_latin_hints_compute_edges),
1594 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
1595 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
1596 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
1597
1598 * docs/release: Mention test compilation targets.
1599
Werner Lemberg986ea4b2007-07-04 04:53:15 +000016002007-07-04 Werner Lemberg <wl@gnu.org>
1601
1602 * docs/PROBLEMS: Mention that some PS based fonts can't be
1603 handled correctly by FreeType.
1604
Werner Lemberg3033f432007-07-04 14:12:19 +00001605 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
1606 recursion depth of 1. This was the maximum value in TrueType 1.0,
1607 and some older fonts don't set this field correctly.
1608
1609 * src/gxvalid/gxvmort1.c
1610 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
1611
Werner Lemberg3b0e5002007-07-03 04:48:19 +000016122007-07-03 Werner Lemberg <wl@gnu.org>
1613
1614 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
1615 `round' to pacify compiler.
1616
16172007-07-02 Werner Lemberg <wl@gnu.org>
1618
1619
1620 * Version 2.3.5 released.
1621 =========================
1622
1623
1624 Tag sources with `VER-2-3-5'.
1625
1626 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1627 version number to 2.3.5.
1628
1629 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1630 builds/win32/visualc/freetype.dsp,
1631 builds/win32/visualc/freetype.vcproj,
1632 builds/win32/visualce/index.html,
1633 builds/win32/visualce/freetype.dsp,
1634 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
1635
1636 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
1637
1638 * builds/unix/configure.raw (version_info): Set to 9:16:3.
1639
David Turner0ba89912007-07-01 09:34:04 +000016402007-07-01 David Turner <david@freetype.org>
1641
Werner Lemberge3be90b2007-07-02 14:58:58 +00001642 * include/freetype/freetype.h, src/base/ftpatent.c
1643 (FT_Face_SetUnpatentedHinting): New function to dynamically change
1644 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +00001645
Werner Lemberge3be90b2007-07-02 14:58:58 +00001646 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
1647 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +00001648
David Turner74cc0e92007-06-30 22:54:12 +000016492007-06-30 David Turner <david@freetype.org>
1650
Werner Lemberge3be90b2007-07-02 14:58:58 +00001651 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
1652 initialization.
David Turner74cc0e92007-06-30 22:54:12 +00001653
Werner Lemberge3be90b2007-07-02 14:58:58 +00001654 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
1655 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +00001656
Werner Lemberg7723dc32007-06-26 04:44:35 +000016572007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
1658
1659 Add autofit module for Indic scripts. This currently just reuses
1660 the CJK-specific functions.
1661
1662 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
1663 macro.
1664 * devel/ftoption.h: Synchronize with
1665 include/freetype/config/ftoption.h.
1666
1667 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
1668
1669 * src/autofit/afglobal.c, src/autofit/aftypes.h,
1670 src/autofit/autofit.c: Updated.
1671
1672 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
1673 (AUTOF_DRV_SRC): Updated.
1674
David Turner8f626b02007-06-22 22:22:38 +000016752007-06-23 David Turner <david@freetype.org>
1676
Werner Lemberg7854c4a2007-06-23 07:16:20 +00001677 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
1678 2007-06-16 that prevented the TrueType module from loading most
1679 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00001680
Werner Lemberg5b4d4352007-06-20 07:07:55 +000016812007-06-20 Werner Lemberg <wl@gnu.org>
1682
1683 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
1684 change.
1685
Werner Lemberg9fe58152007-06-19 07:57:30 +000016862007-06-19 Werner Lemberg <wl@gnu.org>
1687
1688 * src/type1/t1load.c (parse_encoding): Handle one more error.
1689
Werner Lemberg5a829392007-06-19 04:53:30 +000016902007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
1691
1692 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
1693 FNT_Err_Invalid_File_Format if file format was recognized but
1694 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
1695 Add verbose debug logs to make it easier to debug failing load
1696 attempts.
1697 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
1698 so return an error if requested face index is > 0.
1699 Do not do further attempt to load fonts if a previous attempt has
1700 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
1701 file format has been recognized but no fonts found in the file.
1702
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017032007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1704
1705 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
1706 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
1707 the compiler warnings against unused arguments.
1708 (FT_ATSFontGetFileReference): Ditto.
1709 (FT_GetFile_From_Mac_ATS_Name): Ditto.
1710 (FT_New_Face_From_FSSpec): Ditto.
1711 (lookup_lwfn_by_fond): Fix wrong comment.
1712 Replace `const StringPtr' by more appropriate type
1713 `ConstStr255Param'.
1714 FSRefMakePathPath always returns UTF8 POSIX pathname in
1715 Mach-O, thus HFS pathname support is dropped.
1716 (count_faces): Remove HLock and HUnlock which is not
1717 required on Mac OS X anymore.
1718 (FT_New_Face_From_SFNT): Ditto.
1719 (FT_New_Face_From_FOND): Ditto.
1720 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
1721 except of HFS pathname support and HLock/HUnlock.
1722 They are required on classic CFM environment.
1723
17242007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +00001725
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001726 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
1727 assertion.
1728 (ps_parser_to_bytes): Fix error message.
1729
Werner Lembergbb2510d2007-06-18 17:07:49 +00001730 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001731 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
1732 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +00001733 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +00001734 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001735
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017362007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001737
Werner Lembergf48aec72007-06-18 07:07:55 +00001738 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
1739 logic.
1740 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
1741 correctly.
1742 (ps_parser_load_field_table): Use `fields->array_max' instead of
1743 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
1744
Werner Lemberg95104a42007-06-18 07:33:10 +00001745 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
1746 2007-06-06.
1747
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017482007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +00001749
1750 * src/tools/ftrandom.c (font_size): New global variable.
1751 (TestFace): Use it.
1752 (main): Handle new option `--size' to set `font_size'.
1753 (Usage): Updated.
1754
Werner Lembergbe183eb2007-06-17 11:27:17 +00001755 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
1756 invalid font.
1757 (FNT_Load_Glyph): Protect against invalid bitmap width.
1758
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017592007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +00001760
Werner Lemberge12ed562007-06-17 05:31:23 +00001761 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
1762 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +00001763
Werner Lemberge12ed562007-06-17 05:31:23 +00001764 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
1765 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +00001766
Werner Lemberge12ed562007-06-17 05:31:23 +00001767 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
1768 and `zp2'.
1769 (Ins_IP): Check argument ranges to reject bogus operations properly.
1770 (IUP_WorkerRec): Add `max_points' member.
1771 (_iup_worker_interpolate): Check argument ranges.
1772 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +00001773
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017742007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +00001775
1776 * src/winfonts/winfnt.h: Add necessary structures for PE resource
1777 parsing.
1778 (WinPE32_HeaderRec): New structure.
1779 (WinPE32_SectionRec): New structure.
1780 (WinPE_RsrcDirRec): New structure.
1781 (WinPE_RsrcDirEntryRec): New structure.
1782 (WinPE_RsrcDataEntryRec): New structure.
1783 (FNT_FontRec): Remove unused `size_shift' field.
1784
1785 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
1786 loading bitmap .fon files in PE format.
1787
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017882007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +00001789
1790 * builds/win32/ftdebug.c: Unify debug level handling with other
1791 platforms.
1792
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017932007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +00001794
1795 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
1796 console as well as to the debugger.
1797
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000017982007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +00001799
1800 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
1801 cover all ranges which could possibly be handled by the aflatin
1802 module (since the default fallback for unknown ranges is now the
1803 afcjk module). It might be necessary to fine-tune this further by
1804 splitting off modules for Greek, Cyrillic, or other blocks.
1805
David Turnerb7920172007-06-11 05:37:35 +000018062007-06-11 David Turner <david@freetype.org>
1807
Werner Lemberg49e18b82007-06-11 21:15:09 +00001808 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
1809 incorrect segment linking computation. This was the root cause of
1810 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +00001811
1812
Werner Lemberg49e18b82007-06-11 21:15:09 +00001813 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
1814 to improve the Latin auto-hinter. Note that the new code is
1815 disabled by default since it is not stabilized yet.
1816
1817 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
1818 (disabled currently).
1819
1820 * src/autofit/afhints.c: Remove dead code.
1821 (af_axis_hints_new_edge): Add argument to handle segment directions.
1822 (af_edge_flags_to_string): New function.
1823 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
1824 option flags.
1825 (af_glyph_hints_reload): Add argument to handle inflections.
1826 Simplify.
1827 (af_direction_compute): Fine tuning.
1828 (af_glyph_hints_align_edge_points): Fix logic.
1829 (af_glyph_hints_align_strong_points): Do linear search for small
1830 edge counts.
1831 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
1832 (af_iup_shift): Handle zero `delta'.
1833
1834 * src/autofit/afhints.h: Updated.
1835 (AF_SORT_SEGMENTS): New macro (disabled).
1836 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
1837
1838 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
1839 argument to pass option flags for handling scripts.
1840 * src/autofit/afglobal.h: Updated.
1841
1842 * src/autofit/afcjk.c: Updated.
1843 * src/autofit/aflatin.c: Updated.
1844 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
1845
1846 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
1847 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
1848 Don't set `edge->dir'
1849 (af_latin_hint_edges): Add more logging.
1850
1851 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00001852
Werner Lembergf6c120f2007-06-11 04:55:58 +000018532007-06-11 Werner Lemberg <wl@gnu.org>
1854
Werner Lembergcf7b7642007-06-11 04:58:01 +00001855 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00001856
David Turner84c6f882007-06-10 20:51:04 +000018572007-06-10 David Turner <david@freetype.org>
1858
Werner Lembergf6c120f2007-06-11 04:55:58 +00001859 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
1860 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00001861
Werner Lembergf6c120f2007-06-11 04:55:58 +00001862 * include/freetype/config/ftoption.h: Clarify documentation
1863 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00001864
Werner Lembergf6c120f2007-06-11 04:55:58 +00001865
1866 Add new `FT_Face_CheckTrueTypePatents' API.
1867
1868 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
1869 declaration.
1870
1871 * include/freetype/internal/services/svttglyf.h,
1872 src/base/ftpatent.c: New files.
1873
1874 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
1875 New macro.
1876
1877 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
1878 `ttpload.h'.
1879 (tt_service_truetype_glyf): New service structure.
1880 (tt_services): Register it.
1881
1882 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
1883 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00001884
Werner Lemberg33db39e2007-06-08 06:30:29 +000018852007-06-08 Werner Lemberg <wl@gnu.org>
1886
David Turner84c6f882007-06-10 20:51:04 +00001887 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00001888 Fonts without a cmap must be handled correctly by FreeType (anything
1889 else would be a bug).
1890
1891
1892 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1893 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
1894
Werner Lemberg88ab6382007-06-07 05:01:56 +000018952007-06-07 Werner Lemberg <wl@gnu.org>
1896
1897 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
1898 tt_sbit_decoder_load_image): Protect against integer overflows.
1899
1900
1901 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
1902 for `x_control' and `y_control'.
1903
Werner Lemberg2a2dca62007-06-06 04:39:37 +000019042007-06-06 Werner Lemberg <wl@gnu.org>
1905
1906 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
1907
Werner Lemberga8d65492007-06-06 04:47:49 +00001908
1909 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
1910 FreeType error.
1911
Werner Lemberg470210b2007-06-06 10:05:49 +00001912
1913 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
1914 `font_count'.
1915
1916
1917 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
1918
1919
1920 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
1921 `FT_Error'.
1922 Check `fd_index'.
1923 (cff_slot_load): Updated.
1924 * src/cff/cffgload.h: Updated.
1925
Werner Lemberg6c054752007-06-05 05:27:54 +000019262007-06-05 Werner Lemberg <wl@gnu.org>
1927
1928 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
1929 (pfr_glyph_load_simple): Convert assertion into normal FreeType
1930 error.
1931 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00001932 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
1933 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00001934
1935 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
1936
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001937
Werner Lemberg470210b2007-06-06 10:05:49 +00001938 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001939
Werner Lemberge5c14d92007-06-05 20:50:37 +00001940
1941 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
1942 in case of parsing error.
1943 (ps_parser_load_field): Updated.
1944
1945 * src/type1/t1load.c (parse_font_matrix): Updated.
1946
Werner Lembergad18b362007-06-04 07:04:05 +000019472007-06-04 Werner Lemberg <wl@gnu.org>
1948
1949 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
1950
1951 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
1952
Werner Lemberg3d507fe2007-06-03 16:54:55 +000019532007-06-03 Werner Lemberg <wl@gnu.org>
1954
Werner Lemberg99a320b2007-06-03 19:21:26 +00001955 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
1956 George Williams (with some modifications).
1957
19582007-06-03 Werner Lemberg <wl@gnu.org>
1959
Werner Lemberg3d507fe2007-06-03 16:54:55 +00001960 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
1961 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
1962 face == NULL. Suggested by Graham Asher.
1963
Werner Lembergce280a22007-06-03 05:58:30 +000019642007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
1965
1966 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
1967
Werner Lemberg5b591e42007-06-01 22:16:43 +000019682007-06-02 Werner Lemberg <wl@gnu.org>
1969
1970 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
1971 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
1972
1973 * src/bdf/bdflib.c (bdf_load_font): Use them.
1974
1975 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
1976
Werner Lembergb9933f42007-06-01 21:27:12 +000019772007-06-01 Werner Lemberg <wl@gnu.org>
1978
1979 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
1980 (FTC_CMapCache_Lookup): Remove unused code.
1981
Werner Lembergc793d902007-06-01 20:51:11 +000019822007-06-01 Sean McBride <sean@rogue-research.com>
1983
1984 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
1985 unused.
1986
Werner Lembergbebc7b12007-06-01 06:32:30 +000019872007-06-01 Werner Lemberg <wl@gnu.org>
1988
1989 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
1990 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00001991 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00001992
Werner Lembergcb37b3b2007-06-01 06:49:03 +00001993 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
1994 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
1995
Werner Lembergba03af62007-05-30 13:57:02 +000019962007-05-30 Werner Lemberg <wl@gnu.org>
1997
1998 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
1999 against too small binary data strings.
2000
2001 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
2002
David Turnerf0cd69c2007-05-28 15:42:09 +000020032007-05-28 David Turner <david@freetype.org>
2004
Werner Lemberg99e0c182007-05-29 07:00:23 +00002005 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
2006 transformation. This significantly reduces the loading time of CFF
2007 glyphs.
David Turner552a9562007-05-28 15:45:35 +00002008
Werner Lemberg99e0c182007-05-29 07:00:23 +00002009 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00002010
Werner Lemberg99e0c182007-05-29 07:00:23 +00002011 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
2012 hinting script to CJK, since it works well with more scripts than
2013 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
2014 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00002015
Werner Lemberg1c8980e2007-05-25 07:11:12 +000020162007-05-25 Werner Lemberg <wl@gnu.org>
2017
2018 * docs/CHANGES: Updated.
2019
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000020202007-05-24 Werner Lemberg <wl@gnu.org>
2021
2022 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
2023 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
2024
20252007-05-24 Graham Asher <graham.asher@btinternet.com>
2026
2027 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
2028 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
2029
David Turner0d0365e2007-05-22 09:53:44 +000020302007-05-22 David Turner <david@freetype.org>
2031
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002032 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
2033 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00002034
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002035
2036 Avoid heap blowup with very large .Z font files. This fixes
2037 Savannah bug #19910.
2038
2039 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
2040 `in_limit', `pad', `pad_bits', and `in_buff' members.
2041 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
2042 `buf_total' members.
2043
2044 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
2045 only one argument.
2046 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00002047
20482007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00002049
2050 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
2051 (ps_dimension_set_mask_bits): Remove `const'.
2052
David Turner0d0365e2007-05-22 09:53:44 +000020532007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00002054
2055 * src/sfnt/ttmtx.c (tt_face_get_metrics)
2056 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
2057
Werner Lembergb826fa72007-05-19 07:18:48 +000020582007-05-19 Derek Clegg <dclegg@apple.com>
2059
2060 Savannah patch #5929.
2061
2062 * include/freetype/tttables.h, src/base/ftobjcs.c
2063 (FT_Get_CMap_Format): New function.
2064
2065 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
2066 `format' member.
2067 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
2068 cmap_info->format.
2069
Werner Lemberg6f99c882007-05-19 07:01:49 +000020702007-05-19 Werner Lemberg <wl@gnu.org>
2071
2072 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
2073 before handling subglyphs so that it can be reinitialized each time.
2074 This fixes Savannah bug #19859.
2075
Werner Lemberg95bc9d32007-05-16 15:19:42 +000020762007-05-16 Werner Lemberg <wl@gnu.org>
2077
2078 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
2079 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
2080 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
2081 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
2082 tt_face_get_metrics): Fix type-punning issues.
2083
David Turner0a24bd22007-05-15 10:54:10 +000020842007-05-15 David Turner <david@freetype.org>
2085
2086 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00002087 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
2088 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00002089 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00002090 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00002091
Werner Lemberg607dec72007-05-15 06:49:37 +000020922007-05-15 Graham Asher <graham.asher@btinternet.com>
2093
2094 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
2095 variable.
2096 * src/autofit/afloader.c (af_loader_load_g): Ditto.
2097
2098 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
2099 (open_face_from_buffer): Initialize `stream'.
2100 (FT_Request_Metrics): Remove unused variable.
2101 Remove redundant `break' statements.
2102 (FT_Get_Track_Kerning): Remove unused variable.
2103
2104 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
2105 afm_parse_kern_data): Remove redundant
2106 `break' statements.
2107 (afm_parser_parse): Ditto.
2108 Don't use uninitialized variables.
2109
2110 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
2111 Use `|' operator instead of `^' to set it.
2112 Update all users.
2113
2114 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
2115 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
2116
2117 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
2118 comparison.
2119 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
2120 (TT_Load_Glyph): Remove unused variable.
2121
Werner Lemberg8d463a52007-05-13 16:01:55 +000021222007-05-13 Derek Clegg <dclegg@apple.com>
2123
2124 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
2125 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
2126
David Turner711cf842007-05-11 14:36:24 +000021272007-05-11 David Turner <david@freetype.org>
2128
Werner Lemberg56ceaa42007-05-14 18:53:58 +00002129 * src/cache/ftbasic.c, include/freetype/ftcache.h
2130 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
2131 functions that allow us to look up glyphs using an FTC_Scaler object
2132 to specify the size, making it possible to use fractional pixel
2133 sizes.
2134
2135 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
2136 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00002137
Werner Lemberg94be20e2007-05-09 20:02:55 +000021382007-05-09 Graham Asher <graham.asher@btinternet.com>
2139
2140 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
2141 (af_latin_metrics_scale_dim): Fix compiler warnings.
2142
Werner Lemberg41271032007-05-06 04:51:48 +000021432007-05-06 Werner Lemberg <wl@gnu.org>
2144
2145 * builds/win32/visualce/freetype.sln: Removed, as requested by
2146 Vincent.
2147
Werner Lembergdf49e692007-05-04 06:30:05 +000021482007-05-04 Vincent RICHOMME <richom.v@free.fr>
2149
2150 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
2151 PC targets.
2152
2153 * docs/CHANGES: Document them.
2154
21552007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00002156
2157 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
2158 mmap (which might happen on some RTOS). From Savannah patch #5909.
2159
Werner Lemberg106eaf12007-05-03 07:07:47 +000021602007-05-03 Werner Lemberg <wl@gnu.org>
2161
2162 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
2163 * include/freetype/freetype.h (FT_Set_Char_Size): Update
2164 documentation.
2165
Werner Lemberg1b5267d2007-04-28 21:06:15 +000021662007-04-28 Victor Stinner <victor.stinner@inl.fr>
2167
2168 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
2169 `cmap'.
2170
Werner Lembergcc712a22007-04-27 17:16:50 +000021712007-04-27 Werner Lemberg <wl@gnu.org>
2172
2173 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
2174 number of points in contours. Problem reported by Victor Stinner
2175 <victor.stinner@haypocalc.com>.
2176 (TT_Process_Simple_Glyph): Synchronize variable types.
2177
Werner Lemberg45bb18f2007-04-26 06:26:35 +000021782007-04-26 Werner Lemberg <wl@gnu.org>
2179
2180 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
2181 zero in case of error. This fixes Savannah bug #19689.
2182
Werner Lembergb2116512008-09-12 16:27:48 +000021832007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
David Turnera8b45e62007-05-11 14:10:30 +00002184
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002185 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
2186 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00002187
Werner Lembergfcc1f472007-04-10 11:51:50 +000021882007-04-10 Martin Horak <horakm@centrum.cz>
2189
2190 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
2191 Ignore `hhea' table. This fixes Savannah bug #19261.
2192
Werner Lemberg14bf82e2007-04-10 04:09:49 +000021932007-04-09 Werner Lemberg <wl@gnu.org>
2194
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002195
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002196 * Version 2.3.4 released.
2197 =========================
2198
2199
2200 Tag sources with `VER-2-3-4'.
2201
2202 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2203 version number to 2.3.4.
2204
2205 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2206 builds/win32/visualc/freetype.dsp,
2207 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
2208
2209 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
2210
2211 * builds/unix/configure.raw (version_info): Set to 9:15:3.
2212
Werner Lembergf4a52a62007-04-09 08:40:11 +000022132007-04-09 Martin Horak <horakm@centrum.cz>
2214
2215 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
2216 memory stream to avoid a crash with the incremental memory
2217 interface (Savannah bug #19260).
2218
David Turner1dcb4442007-04-06 08:19:04 +000022192007-04-06 David Turner <david@freetype.org>
2220
Werner Lembergc81cf612007-04-06 09:28:23 +00002221 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
2222 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00002223
Werner Lemberg9f83e052007-04-05 02:28:23 +000022242007-04-04 Werner Lemberg <wl@gnu.org>
2225
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002226
Werner Lemberg9f83e052007-04-05 02:28:23 +00002227 * Version 2.3.3 released.
2228 =========================
2229
2230
2231 Tag sources with `VER-2-3-3'.
2232
2233 * docs/CHANGES: Mention CVE-2007-1351.
2234
David Turner7338ec22007-04-03 14:30:34 +000022352007-04-03 David Turner <david@freetype.org>
2236
2237 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00002238 if one of the resolution values is 0, treat it as if it were the
2239 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00002240
David Turnere6472c12007-04-02 13:13:54 +000022412007-04-02 David Turner <david@freetype.org>
2242
Werner Lemberg94f12272007-04-03 07:19:53 +00002243 Add special code to detect `extra-light' fonts and do not snap their
2244 stem widths too much to avoid bizarre hinting effects.
2245
2246 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
2247 `extra_light' members.
2248
2249 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
2250 them.
2251 (af_latin_metrics_scale_dim): Set `extra_light'.
2252 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00002253
David Turner3f539692007-03-28 14:53:40 +000022542007-03-28 David Turner <david@freetype.org>
2255
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002256 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00002257 padding.
2258
Werner Lemberga08b2172007-03-28 07:17:17 +000022592007-03-28 Werner Lemberg <wl@gnu.org>
2260
2261 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
2262 gracefully.
2263 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00002264 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00002265 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
2266 number of code points in Unicode.
2267
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002268 * builds/win32/visualc/index.html,
2269 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002270 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002271 s/232/233/.
2272
2273 * docs/CHANGES: Mention ftdiff.
2274
David Turner3b242d32007-03-26 12:03:04 +000022752007-03-26 David Turner <david@freetype.org>
2276
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002277 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
2278 corresponding code.
2279 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00002280
Werner Lemberga08b2172007-03-28 07:17:17 +00002281 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002282 computations in order to ignore single-point contours. These are
2283 never rasterized and correspond in certain fonts to mark-attach
2284 points that are very far from the glyph's real outline, ruining the
2285 computation.
David Turnerf58caa02007-03-26 12:39:25 +00002286
Werner Lemberga08b2172007-03-28 07:17:17 +00002287 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00002288 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00002289 Otherwise code that uses them will most certainly ruin the fixed
2290 advance property.
David Turner23553d62007-03-26 13:37:17 +00002291
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002292 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
2293 documentation and bump version number to 2.3.3.
2294
2295 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
2296
2297 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00002298
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000022992007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2300
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002301 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
2302 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002303 * builds/vms/ftconfig.h: Ditto.
2304 * include/freetype/config/ftconfig.h: Ditto.
2305
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000023062007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2307
Werner Lemberg14ffe092007-03-22 06:12:43 +00002308 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
2309 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00002310 proposed by Sean McBride:
2311 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2312
23132007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2314
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002315 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
2316 setjmp, proposed by Sean McBride:
2317 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2318
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000023192007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2320
Werner Lembergc9f6c662007-03-21 13:30:14 +00002321 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
2322 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
2323 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002324
David Turner74c34eb2007-03-18 07:19:31 +000023252007-03-18 David Turner <david@freetype.org>
2326
Werner Lembergc9f6c662007-03-21 13:30:14 +00002327 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
2328 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00002329
Werner Lembergc9f6c662007-03-21 13:30:14 +00002330 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00002331
David Turner89020d92007-03-17 17:48:57 +000023322007-03-17 David Turner <david@freetype.org>
2333
Werner Lembergc9f6c662007-03-21 13:30:14 +00002334 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
2335 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00002336
Werner Lemberg25d592a2007-03-09 07:59:35 +000023372007-03-09 Werner Lemberg <wl@gnu.org>
2338
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002339
Werner Lemberg25d592a2007-03-09 07:59:35 +00002340 * Version 2.3.2 released.
2341 =========================
2342
2343
2344 Tag sources with `VER-2-3-2'.
2345
2346 * builds/win32/visualc/index.html,
2347 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002348 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00002349 s/231/232/.
2350
David Turner3a51afa2007-03-08 10:50:38 +000023512007-03-08 David Turner <david@freetype.org>
2352
Werner Lemberg25d592a2007-03-09 07:59:35 +00002353 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00002354
Werner Lemberg25d592a2007-03-09 07:59:35 +00002355 * builds/unix/configure.raw (version_info): Set to 9:13:3.
2356
2357 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
2358
2359 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00002360
Werner Lemberg1e259de2007-03-08 15:39:21 +00002361 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
2362 function to work properly, over-writing user-provided buffers in
2363 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00002364
David Turner121cad52007-03-08 16:43:50 +00002365
Werner Lemberg3d92f082007-03-06 11:59:24 +000023662007-03-05 Werner Lemberg <wl@gnu.org>
2367
2368 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
2369 macro for `strstr'.
2370
2371 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
2372 `trick_names', as suggested by Ivan Nincic.
2373
David Turner085bc6e2007-03-05 17:40:03 +000023742007-03-05 David Turner <david@freetype.org>
2375
Werner Lembergd112cf02007-03-06 12:06:56 +00002376 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
2377 case FT_Init_FreeType fails for some reason. Problem reported by
2378 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00002379
Werner Lembergd112cf02007-03-06 12:06:56 +00002380 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
2381 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
2382 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
2383 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00002384
Werner Lembergd112cf02007-03-06 12:06:56 +00002385 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
2386 signed values, not unsigned ones. Problem reported by Johannes
2387 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00002388
David Turner601aefe2007-02-21 16:47:49 +000023892007-02-21 David Turner <david@freetype.org>
2390
Werner Lembergde5e6862007-02-25 21:06:43 +00002391 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
2392 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00002393
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000023942007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2395
2396 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
2397 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
2398 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
2399
Werner Lemberga0915172007-02-16 08:12:50 +000024002007-02-16 Werner Lemberg <wl@gnu.org>
2401
2402 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
2403 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
2404
David Turner2c4500e2007-02-14 15:08:47 +000024052007-02-14 David Turner <david@freetype.org>
2406
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002407 It seems that the following changes fix most of the known
2408 interpreter problems with my fonts, but more testing is needed,
2409 though.
2410
2411 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
2412 (TT_MulFix14): Rewrite.
2413 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
2414 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00002415
Werner Lembergc6a14082007-02-12 22:08:15 +000024162007-02-12 Werner Lemberg <wl@gnu.org>
2417
2418 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
2419 warnings.
2420
2421 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
2422 (bdf_interpret_style): Ditto.
2423
David Turnerc0f9c4a2007-02-12 14:55:03 +000024242007-02-12 David Turner <david@freetype.org>
2425
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002426 Simplify projection and dual-projection code interface.
2427
Werner Lemberg406d25f2007-02-12 22:01:18 +00002428 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
2429 FT_Vector' as argument type.
2430 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
2431 Updated.
2432 (CUR_fast_project, CUR_fast_dualproj): New macros.
2433 (Project, Dual_Project, Project_x, Project_y): Updated.
2434 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
2435 macros.
2436
2437
2438 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
2439 adjustments for the non-light auto-hinted modes. Gets rid of
2440 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00002441
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002442 * src/autofit/aflatin.c (af_latin_hints_link_segments,
2443 af_latin_hints_compute_edges): Slight optimization of the segment
2444 linker and better handling of serif segments to get rid of broken
2445 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00002446
David Turnerc0f9c4a2007-02-12 14:55:03 +00002447
Werner Lemberg442bfb82007-02-12 21:44:10 +00002448 Introduce new string functions and the corresponding macros to get
2449 rid of various uses of strcpy and other `evil' functions, as well as
2450 to simplify a few things.
2451
2452 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
2453 ft_mem_strcpyn): New declarations.
2454 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
2455 macros.
2456 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
2457 functions.
2458
2459 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
2460 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
2461 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
2462 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
2463 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
2464 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
2465 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
2466 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00002467
Werner Lemberg406d25f2007-02-12 22:01:18 +00002468 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
2469
Werner Lemberg582067d2007-02-11 15:03:05 +000024702007-02-11 Werner Lemberg <wl@gnu.org>
2471
2472 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
2473 non-spacing glyphs.
2474
Werner Lemberg8f474532007-02-07 08:31:01 +000024752007-02-07 Tom Parker <palfrey@tevp.net>
2476
2477 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
2478 pointer.
2479
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000024802007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2481
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002482 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
2483 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00002484 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002485 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
2486 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
2487 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
2488 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00002489
2490 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
2491 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002492 * builds/mac/ftmac.c: Ditto.
2493
24942007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2495
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00002496 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00002497 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00002498 #include <ftmac.c>.
2499
25002007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2501
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00002502 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
2503 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
2504 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
2505 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
2506 FT_GetFilePath_From_Mac_ATS_Name.
2507 * builds/mac/ftmac.c: Ditto.
2508
25092007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2510
Werner Lembergdcbb7082007-02-08 08:54:09 +00002511 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00002512 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
2513 for passing to FT_New_Face_From_FSSpec.
2514
25152007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2516
Werner Lembergdcbb7082007-02-08 08:54:09 +00002517 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00002518 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00002519
2520 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
2521 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00002522 * builds/mac/ftmac.c (OS_INLINE): Ditto.
2523
Werner Lemberg313d7772007-02-01 08:10:45 +000025242007-02-01 Werner Lemberg <wl@gnu.org>
2525
2526 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
2527 Explain why applications shouldn't use it. Found by Alexei.
2528
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000025292007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002530
2531 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
2532 message.
2533
2534 * src/gxvalid/gxvmort1.c
2535 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
2536 message.
2537
Werner Lemberg53935932007-01-31 08:53:02 +000025382007-01-31 Werner Lemberg <wl@gnu.org>
2539
2540
2541 * Version 2.3.1 released.
2542 =========================
2543
2544
2545 Tag sources with `VER-2-3-1-FINAL'.
2546
2547 * builds/win32/visualc/freetype.dsp,
2548 builds/win32/visualc/freetype.vcproj: s/230/231/.
2549 * builds/win32/visualc/index.html: s/221/231/.
2550
2551 * vms_make.com: Add `ftgasp'.
2552
David Turnera7ee6082007-01-30 10:33:53 +000025532007-01-30 David Turner <david@freetype.org>
2554
Werner Lemberg53935932007-01-31 08:53:02 +00002555 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00002556
Werner Lemberg53935932007-01-31 08:53:02 +00002557 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00002558
Werner Lemberg25d592a2007-03-09 07:59:35 +00002559 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00002560 s/2.3.0/2.3.1/.
2561
2562 * builds/unix/configure.raw (version_info): Set to 9:12:3.
2563
2564
2565 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
2566 (af_loader_load_g): Disable the warper (i.e., the light hinting
2567 improvements) to make a 2.3.1 bugfix release before introducing a
2568 new feature. This should give us more time to tune and improve the
2569 warper for the next release.
2570
2571 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00002572
David Turnerd91eebd2007-01-26 15:05:41 +000025732007-01-25 David Turner <david@freetype.org>
2574
Werner Lembergbf241762007-01-26 16:08:49 +00002575 For light auto-hinting, improve glyph advance widths and resurrect
2576 normal/full hinting to its normal quality.
2577
2578 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
2579 and `xmax_delta'.
2580 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
2581 and `xmax_delta'.
2582
2583 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
2584 preprocessor conditional with if-clause, handling both light and
2585 normal mode.
2586
2587 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
2588 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00002589
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000025902007-01-25 Werner Lemberg <wl@gnu.org>
2591
2592 * docs/release: Updated -- Savannah uses a new uploading scheme.
2593
David Turnera42567b2007-01-25 12:23:37 +000025942007-01-25 David Turner <david@freetype.org>
2595
Werner Lembergd7855662007-01-25 13:53:56 +00002596 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00002597
Werner Lembergd7855662007-01-25 13:53:56 +00002598 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
2599 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
2600 functions.
David Turnera42567b2007-01-25 12:23:37 +00002601
Werner Lembergd7855662007-01-25 13:53:56 +00002602 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00002603
Werner Lembergb1be9e82007-01-25 11:50:00 +000026042007-01-25 Werner Lemberg <wl@gnu.org>
2605
2606 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00002607 correctly in a sanity check. Since this function is only used to
2608 load local and global functions, any charstring that called the last
2609 local/global function would fail otherwise. This fixes Savannah bug
2610 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00002611
2612 * docs/CHANGES: Document it.
2613
David Turnerb6de8d12007-01-23 15:51:50 +000026142007-01-23 David Turner <david@freetype.org>
2615
Werner Lembergb1be9e82007-01-25 11:50:00 +00002616 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
2617 prevented compilation when disabling both the unpatented and the
2618 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00002619
Werner Lembergb1be9e82007-01-25 11:50:00 +00002620
2621 Fix and enable the warper to improve `light' hinting mode. This is
2622 not necessarily a final version, but it seems to work well.
2623
2624 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
2625 Disable code.
2626 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
2627 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
2628
2629 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
2630 (af_warper_compute_line_best): Fix array size of `scores'.
2631 (af_warper_compute): Better handling of border cases.
2632 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
2633 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00002634
Werner Lemberg011d1112007-01-21 09:36:00 +000026352007-01-21 Werner Lemberg <wl@gnu.org>
2636
Werner Lemberg42b63b22007-01-21 21:01:33 +00002637 * ChangeLog: Split off older entries into...
2638 * ChangeLog.22: This new file.
2639
26402007-01-21 Werner Lemberg <wl@gnu.org>
2641
Werner Lemberg555258f2007-01-21 09:46:37 +00002642 * docs/CHANGES: Document SHZ fix.
2643
26442007-01-21 George Williams <gww@silcom.com>
2645
2646 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
2647 points.
2648
26492007-01-21 Werner Lemberg <wl@gnu.org>
2650
Werner Lemberg011d1112007-01-21 09:36:00 +00002651 * src/sfnt/ttmtx.c (tt_face_get_metrics)
2652 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
2653
Werner Lemberg87a5a432007-01-17 12:44:39 +000026542007-01-17 Werner Lemberg <wl@gnu.org>
2655
Werner Lembergb8003292007-01-17 12:56:25 +00002656
2657 * Version 2.3.0 released.
2658 =========================
2659
2660
2661 Tag sources with `VER-2-3-0-FINAL'.
2662
26632007-01-17 Werner Lemberg <wl@gnu.org>
2664
Werner Lemberg87a5a432007-01-17 12:44:39 +00002665 * docs/release: Updated.
2666
David Turner22122722007-01-16 20:06:44 +000026672007-01-16 David Turner <david@freetype.org>
2668
Werner Lemberg87a5a432007-01-17 12:44:39 +00002669 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
2670 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
2671 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
2672 warnings.
David Turner22122722007-01-16 20:06:44 +00002673
Werner Lemberg267e1d72007-01-15 07:48:09 +000026742007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
2675
2676 * builds/amiga/makefile, builds/amiga/makefile.os4,
2677 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
2678
2679 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
2680
Werner Lemberg8c4120d2007-01-15 06:42:40 +000026812007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
2682
2683 Fix various compiler warnings.
2684
2685 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
2686 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
2687 s/index/strike_index/.
2688 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
2689
2690 * src/gxvalid/gxvmorx5.c
2691 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
2692
2693 * src/truetype/ttinterp.c (Compute_Point_Displacement),
2694 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
2695 uninitialized variables.
2696
Werner Lemberg6164a9d2007-01-13 23:01:36 +000026972007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2698
2699 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
2700
Werner Lemberg281c1482007-01-13 22:50:51 +000027012007-01-13 Werner Lemberg <wl@gnu.org>
2702
2703 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
2704 versions up to 0x3FF without complaining.
2705
Werner Lembergac250b22007-01-13 14:01:36 +000027062007-01-13 Derek Clegg <dclegg@apple.com>
2707
2708 Add FT_Get_PS_Font_Info interface to CFF driver.
2709
2710 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
2711 (CFF_FontRec): Add `font_info' field.
2712
2713 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
2714 (cff_font_done): Free font->font_info if necessary.
2715
2716 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
2717 (cff_service_ps_info): Register cff_ps_get_font_info.
2718
Werner Lemberg23df31a2007-01-13 08:45:00 +000027192007-01-13 Werner Lemberg <wl@gnu.org>
2720
2721 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
2722 with C++ compiler.
2723
2724 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
2725 af_glyph_hints_dump_edges): Ditto.
2726
2727 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
2728 `modules.cfg').
2729
2730 * src/sfnt/ttsbit0.h: Remove.
2731
2732 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
2733
Werner Lemberg27cf9de2007-01-13 07:34:23 +000027342007-01-12 David Turner <david@freetype.org>
2735
2736 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
2737 bug in the bitmap emboldener if the pitch of the source bitmap is
2738 much larger than its width.
2739
2740 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
2741 compilation warning.
2742
Werner Lemberg6d96d312007-01-12 10:30:19 +000027432007-01-12 Werner Lemberg <wl@gnu.org>
2744
2745 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
2746 `automake' CVS module from sources.redhat.com.
2747
Werner Lemberg17432b52007-01-12 09:28:44 +000027482007-01-11 Werner Lemberg <wl@gnu.org>
2749
2750 * src/type1/t1load.c (is_space): Removed.
2751 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
2752 (parse_charstrings): Use IS_PS_TOKEN.
2753
2754
2755 * autogen.sh: Avoid bash specific syntax.
2756
David Turner038ace22007-01-11 15:00:59 +000027572007-01-11 David Turner <david@freetype.org>
2758
Werner Lemberg17432b52007-01-12 09:28:44 +00002759 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00002760
Werner Lemberg17432b52007-01-12 09:28:44 +00002761 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00002762
Werner Lemberg17432b52007-01-12 09:28:44 +00002763 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
2764 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00002765 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00002766
Werner Lemberg17432b52007-01-12 09:28:44 +00002767 * autogen.sh: Small fix to get it working on Mac OS X properly:
2768 The issue is that GNU libtool is called `glibtool' on this platform,
2769 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00002770
David Turner2628ea92007-01-10 13:15:56 +000027712007-01-10 David Turner <david@freetype.org>
2772
Werner Lemberg17432b52007-01-12 09:28:44 +00002773 * all-sources: Tag all sources with VER-2-3-0-RC1 and
2774 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00002775
Werner Lemberg17432b52007-01-12 09:28:44 +00002776 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
2777 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
2778 version number to 2.3.0.
2779
2780 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
2781 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00002782
2783 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00002784 include/freetype/ftlcdfil.h: Update reference documentation with
2785 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00002786
Werner Lemberg17432b52007-01-12 09:28:44 +00002787 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
2788 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00002789
Werner Lembergbf02d392007-01-10 07:07:37 +000027902007-01-10 Derek Clegg <dclegg@apple.com>
2791
2792 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
2793 values.
2794
David Turnerf48b60e2007-01-08 15:15:32 +000027952007-01-08 David Turner <david@freetype.org>
2796
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002797 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00002798
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002799 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
2800 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00002801 corresponding to a given character pixel size.
2802
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002803 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
2804 `gasp' table, in order to avoid potential problems with later
2805 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00002806
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002807 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
2808 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00002809
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002810 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
2811 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
2812 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
2813 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00002814
Werner Lemberge6b6f372007-01-07 00:06:47 +000028152007-01-07 Werner Lemberg <wl@gnu.org>
2816
Werner Lembergb8004d22007-01-07 09:13:38 +00002817 * src/cid/cidparse.c (cid_parser_new): Improve error message for
2818 Type 11 fonts.
2819 Scan for `/sfnts' token.
2820
28212007-01-07 Werner Lemberg <wl@gnu.org>
2822
2823 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00002824
Werner Lembergbe5f7972007-01-06 07:51:48 +000028252007-01-06 Werner Lemberg <wl@gnu.org>
2826
2827 * src/cff/cffload.c (cff_index_init): Remove unused variable.
2828 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
2829
David Turnera8cf42b2007-01-04 16:46:46 +000028302007-01-04 David Turner <david@freetype.org>
2831
Werner Lembergf6294392007-01-06 07:47:45 +00002832 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
2833 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00002834
Werner Lembergf6294392007-01-06 07:47:45 +00002835
2836 Do not allocate interpreter-specific tables in memory if we are not
2837 going to load glyphs with the bytecode interpreter anyway.
2838
2839 * src/truetype/ttgload.c (tt_loader_init): Load execution context
2840 only if glyph is hinted.
2841 Updated.
2842 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
2843 and `cvs_ready'.
2844 Add `tt_size_ready_bytecode' declaration.
2845 * src/truetype/ttobjs.c (tt_size_done_bytecode,
2846 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
2847 (tt_size_init): Move most code into `tt_size_init_bytecode'.
2848 (tt_size_done): Move most code into `tt_size_done_bytecode'.
2849 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002850
David Turner91a34022007-01-05 14:47:08 +00002851
Werner Lembergf6294392007-01-06 07:47:45 +00002852 Don't extract the metrics table from the SFNT font file. Instead,
2853 reparse it on each glyph load. The runtime difference is not
2854 noticeable, and it can save a lot of heap memory when memory-mapped
2855 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00002856
Werner Lembergf6294392007-01-06 07:47:45 +00002857 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
2858 `horz_metrics_offset' and `vert_metrics_ofset'.
2859 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
2860 Updated.
2861
2862
2863 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
2864
2865
2866 Do not load the CFF index offsets into memory, since this wastes a
2867 *lot* of heap memory with large Asian CFF fonts. There is no
2868 significant performance loss.
2869
2870 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
2871 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
2872 `data_size'.
2873 (CFF_CharsetRec): Add field `num_glyphs'.
2874
2875 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
2876 cff_charset_cid_to_gindex): New functions.
2877 (cff_new_index): Renamed to...
2878 (cff_index_init): This. Update all callers.
2879 Updated -- some code has been moved to `cff_index_load_offsets'.
2880 (cff_done_index): Renamed to...
2881 (cff_index_done): This. Update all callers.
2882 (cff_index_get_pointers, cff_index_access_element): Updated to use
2883 stream offsets.
2884 (cff_charset_compute_cids): Set `num_glyphs' field.
2885 (cff_encoding_load): Updated.
2886
2887 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00002888
28892007-01-04 David Turner <david@freetype.org>
2890
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002891 * docs/INSTALL.UNIX: Simplify some parts, add reference to
2892 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00002893
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002894 * README.CVS: Add common problem description and solution
2895 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00002896
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002897 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00002898
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002899 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00002900
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002901 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00002902
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002903 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
2904 (TWorker): This.
2905 Remove `count_table' and `memory'.
2906 Make `grays' a pointer.
2907 (TRaster): New structure.
2908 (count_table): New static array.
2909 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
2910 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
2911 ft_black_set_mode, ft_black_render): Updated.
2912 (ft_black_init): Don't initialize `count_table'.
2913 (ft_black_reset): Use the render pool. This saves about 6KB of
2914 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00002915
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002916 * src/smooth/ftgrays.c (TRaster): Replaced with...
2917 (TWorker): This.
2918 Remove `memory'.
2919 (TRaster): New structure.
2920
2921 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
2922 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
2923 gray_render_span, gray_raster_render): Updated.
2924 (gray_raster_reset): Use the render pool. This saves about 6KB of
2925 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00002926
David Turner8a6c44e2007-01-04 17:03:11 +00002927 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
2928 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002929 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
2930 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
2931 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00002932
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002933 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
2934 Remove a typo that results in no hinting and a memory leak with some
2935 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00002936
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002937 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00002938 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002939 CFF_Faces in it. We need to close all faces before destroying the
2940 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00002941
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000029422007-01-02 Werner Lemberg <wl@gnu.org>
2943
2944 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
2945 Remove compiler warning.
2946
David Turner9207e002007-01-02 16:58:13 +000029472007-01-02 David Turner <david@freetype.org>
2948
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002949 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00002950
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000029512006-12-31 Masatake YAMATO <jet@gyve.org>
2952
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002953 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
2954 function.
2955 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002956 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00002957 `gxv_kern_subtable_fmt0_pairs_validate'.
2958
David Turner115b4422006-12-22 11:37:05 +000029592006-12-22 David Turner <david@freetype.org>
2960
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002961 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
2962 warnings.
David Turner115b4422006-12-22 11:37:05 +00002963
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002964 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
2965 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00002966
Werner Lemberg4755bf72006-12-16 08:58:44 +000029672006-12-16 Anders Kaseorg <anders@kaseorg.com>
2968
2969 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
2970 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
2971
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000029722006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2973
Werner Lemberg9b774e22007-01-16 06:11:27 +00002974 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002975 sync with the modification by Jens Claudius on 2006-08-22; cf.
2976 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 +00002977
29782006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2979
2980 * src/base/ftmac.c: Specialized for Mac OS X only.
2981 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
Werner Lemberg830846e2008-07-27 06:27:21 +00002982 * builds/unix/configure.raw: Ditto. When explicit switches for
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00002983 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
2984 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
2985
29862006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2987
2988 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
2989 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
2990 instead of src/base/ftmac.c
2991 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
2992 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
2993 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
2994 that cannot be built at present.
2995
29962006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2997
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002998 * src/base/ftobjs.c: Improvement of resource fork handler for
2999 POSIX, cf.
3000 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00003001 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
3002 format or .dfont, to simulate the face index number counted by ftmac.c.
3003 (IsMacResource): Return the number of scalable faces correctly.
3004
Werner Lembergec5b4502006-12-10 07:51:38 +000030052006-12-10 Werner Lemberg <wl@gnu.org>
3006
3007 * builds/toplevel.mk (version): Protect against `distclean' target.
3008
Werner Lembergb26b3142006-12-09 20:01:43 +000030092006-12-09 Werner Lemberg <wl@gnu.org>
3010
3011 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
3012 or `type'.
3013
3014 * builds/freetype.mk (version): Extracted from freetype.h, using
3015 GNU make's built-in string functions.
3016 (refdoc): Use $(version) instead of static version number.
3017
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000030182006-12-08 Werner Lemberg <wl@gnu.org>
3019
3020 * builds/toplevel.mk (dist): Extract version number from freetype.h.
3021
Werner Lemberg15c29502006-12-09 07:29:54 +000030222006-12-08 Vladimir Volovich <vvv@vsu.ru>
3023
3024 * src/tools/apinames (State): Remove final comma in structure -- xlc
3025 v5 under AIX 4.3 doesn't like this.
3026
David Turnerdbf3b432006-12-07 21:18:09 +000030272006-12-07 David Turner <david@freetype.org>
3028
Werner Lemberg256a3512006-12-08 06:49:33 +00003029 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
3030 to the spacing of auto-fitted glyphs. This only impacts rare
3031 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00003032
Werner Lemberg11171312006-12-03 09:43:40 +000030332006-12-03 Werner Lemberg <wl@gnu.org>
3034
3035 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
3036
Werner Lemberg960ba592006-12-01 08:20:47 +000030372006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00003038
Werner Lemberg960ba592006-12-01 08:20:47 +00003039 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
3040 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
3041 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00003042
David Turner80658e52006-11-28 08:09:20 +00003043
Werner Lemberg960ba592006-12-01 08:20:47 +00003044 * include/freetype/ftxf86.h: Fix and extend comment so that it
3045 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00003046
Werner Lemberg960ba592006-12-01 08:20:47 +00003047 * include/freetype/ftchapters.h: Add `font_format' section.
3048
3049
3050 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
3051 to TOC in index page.
3052
30532006-11-28 David Turner <david@freetype.org>
3054
3055 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
3056 trying to render into a zero-width/height bitmap, not an error code.
3057
3058 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
3059
3060 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
3061 ones instead.
3062
3063 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
3064 variable.
David Turner80658e52006-11-28 08:09:20 +00003065
Werner Lemberg8636c292006-11-26 22:28:13 +000030662006-11-26 Pierre Hanser <hanser@club-internet.fr>
3067
3068 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
3069
Werner Lemberg960ba592006-12-01 08:20:47 +000030702006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00003071
Werner Lemberg960ba592006-12-01 08:20:47 +00003072 * src/autofit/afhints.c (af_glyph_hints_dump_points,
3073 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
3074 Add stubs to link the `ftgrid' test program when debugging is
3075 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00003076
Werner Lemberg960ba592006-12-01 08:20:47 +000030772006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00003078
3079 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00003080 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
3081
3082 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
3083 Emit more sensible information.
3084
3085 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
3086
3087 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
3088 rounding of blue values.
3089 (af_latin_hints_compute_segments): Hint segment heights.
3090 (af_latin_hints_link_segments): Reduce `len_score' value.
3091 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
3092 value and use `height' member for comparisons.
3093 (af_latin_hint_edges): Extend logging message.
3094 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00003095
Werner Lemberg91959bf2006-11-22 10:36:55 +000030962006-11-22 Werner Lemberg <wl@gnu.org>
3097
3098 Fix Savannah bug #15553.
3099
3100 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
3101 program after a change from mono to grayscaling (and vice versa).
3102 Use correct constant for comparison to get `exec->grayscale'.
3103
Werner Lemberg913a3652006-11-19 09:19:17 +000031042006-11-18 Werner Lemberg <wl@gnu.org>
3105
3106 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00003107 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00003108 This patch fixes Savannah bug #18301.
3109
3110 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
3111 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
3112 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
3113 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
3114 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
3115 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
3116 (FNT_Load_Glyph): Check validity of `glyph_index'.
3117
David Turner7bab6ae2006-11-13 11:25:06 +000031182006-11-13 David Turner <david@freetype.org>
3119
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003120 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
3121 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00003122
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003123 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
3124 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
3125 when building the library to change the default LCD filter to be
3126 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00003127
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003128 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00003129
David Turner8765c712006-11-10 16:49:42 +000031302006-11-10 David Turner <david@freetype.org>
3131
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003132 * src/smooth/ftsmooth.c: API change for the LCD
3133 filter. The FT_LcdFilter value is an enumeration describing which
3134 filter to apply, with new values FT_LCD_FILTER_LIGHT and
3135 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
3136 algorithm which produces strong color fringes for everything
3137 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00003138
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003139 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
3140 second parameter to an enum type.
3141
3142 * src/base/ftlcdfil.c (USE_LEGACY): Define.
3143 (_ft_lcd_filter): Rename to...
3144 (_ft_lcd_filter_fir): This.
3145 Update parameters.
3146 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
3147 (FT_Library_Set_LcdFilter): Update parameters.
3148 Handle new filter modes.
3149
3150 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
3151 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
3152 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
3153 callback and update other fields.
3154
3155 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
3156 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
3157 Other minor improvements.
3158
3159 * src/autofit/aflatin.c: Various tiny improvements that drastically
3160 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
3161 (af_latin_hints_compute_edges): Fix typo.
3162 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00003163
David Turner4e9cc3c2006-11-09 16:31:52 +000031642006-11-09 David Turner <david@freetype.org>
3165
Werner Lemberg49c77a82006-11-09 21:51:57 +00003166 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
3167 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00003168
Werner Lemberg5e430892006-11-07 09:35:03 +000031692006-11-07 Zhe Su <james.su@gmail.com>
3170
3171 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
3172 also.
3173
Werner Lemberg111b5ae2006-11-03 09:40:12 +000031742006-11-03 Werner Lemberg <wl@gnu.org>
3175
3176 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
3177
David Turner40604742006-11-02 16:37:35 +000031782006-11-02 David Turner <david@freetype.org>
3179
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003180 Add a few tweaks to better handle serif fonts.
3181 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00003182
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003183 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
3184 segments that are less than 1.5 pixels high. This gets rid of
3185 *many* corner cases with serifs.
3186 (af_latin_align_linked_edge): Add logging message.
3187 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
3188 Add logging messages.
3189 Handle AF_EDGE_FLAG flag specially.
3190
3191 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
3192 _af_debug_disable_blue_hints, and _af_debug_hints variables.
3193
3194 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
3195 Update external declarations.
3196 (af_corner_orientation, af_corner_is_flat): Replaced by...
3197
3198 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
3199 ft_corner_is_flat): These declarations.
3200
3201 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
3202 Comment out. Replaced by...
3203
3204 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
3205 These functions. Update all callers.
3206 (FT_Add64) [!FT_LONG64]: Simplify.
3207
3208 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
3209 (af_direction_compute): Add a missing FT_ABS call. This bug caused
3210 production of garbage by missing lots of segments.
3211
3212 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
3213
3214 * src/autofit/afloader.c (af_loader_init, af_loader_done)
3215 [AF_DEBUG]: Set _af_debug_hints.
3216
3217
3218 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
3219 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
3220 and ft_corner_orientation.
3221
3222
3223 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00003224
Werner Lemberge88c5262006-10-24 05:46:26 +000032252006-10-24 Werner Lemberg <wl@gnu.org>
3226
3227 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
3228
3229 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
3230 as argument.
3231
David Turnera1861392006-10-23 16:00:59 +000032322006-10-23 Zhe Su <zsu@novell.com>
3233
Werner Lemberg715e96e2006-10-24 05:28:45 +00003234 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
3235 better deal with broken Asian fonts with strange glyphs, having
3236 self-intersections and other peculiarities. The used algorithm is
3237 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00003238
David Turnere140f142006-10-23 08:56:57 +000032392006-10-23 David Turner <david@freetype.org>
3240
Werner Lemberg715e96e2006-10-24 05:28:45 +00003241 Speed up the CFF font loader. With some large CFF fonts,
3242 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00003243
Werner Lemberg715e96e2006-10-24 05:28:45 +00003244 * src/cff/cffload.c (cff_get_offset): Removed.
3245 (cff_new_index): Inline functionality of `cff_get_offset'.
3246 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
3247 (cff_charset_done): Call `cff_charset_free_cids'.
3248 (cff_charset_load): Call `cff_charset_compute_cids'.
3249 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
3250
3251 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
3252 with FT_NEXT_XXX.
3253
3254
3255 Speed up the Postscript hinter, with more than 100% speed increase
3256 on my machine.
3257
3258 * src/pshinter/pshalgo.c (psh_corner_is_flat,
3259 psh_corner_orientation): New functions.
3260 (psh_glyph_compute_inflections): Merge loops for efficiency.
3261 Use `psh_corner_orientation'.
3262 (psh_glyph_init): Use `psh_corner_is_flat'.
3263 (psh_hint_table_find_strong_point): Renamed to...
3264 (psh_hint_table_find_strong_points): This.
3265 Rewrite, adding argument to handle all points at once.
3266 Update all callers.
3267 (PSH_MAX_STRONG_INTERNAL): New macro.
3268 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00003269
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000032702006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3271
3272 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00003273 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00003274
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000032752006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3276
3277 * docs/INSTALL.CROSS: New document file for cross-building.
3278
3279 * builds/unix/configure.raw: Preliminary cross-building support.
3280 Find native C compiler and pass it by CC_BUILD, and
3281 find suffix for native executable and pass it by EXEEXT_BUILD.
3282 Also suffix for target executable is passed by EXEEXT.
3283
Werner Lembergb9e6d692006-10-15 08:58:40 +00003284 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
3285 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003286 CC_BUILD and EXEEXT_BUILD.
3287
Werner Lembergb9e6d692006-10-15 08:58:40 +00003288 * builds/exports.mk (APINAMES_EXE): Change the extension for
3289 apinames from the suffix for target (E) to that for building host
3290 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003291
Werner Lemberg82a07e92006-10-12 06:20:44 +000032922006-10-12 Werner Lemberg <wl@gnu.org>
3293
3294 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
3295 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
3296 which reference those files.
3297
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000032982006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3299
Werner Lembergb9e6d692006-10-15 08:58:40 +00003300 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
3301 embedded in freetype2.pc and freetype-config. Use it to record
3302 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00003303
3304 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
3305
3306 * builds/unix/freetype-config.in: Ditto.
3307
Werner Lemberg28e17d92006-10-11 17:27:47 +000033082006-10-11 Werner Lemberg <wl@gnu.org>
3309
3310 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
3311 development.
3312
Jens Claudius336d2292006-10-03 08:53:37 +000033132006-10-03 Jens Claudius <jens.claudius@yahoo.com>
3314
3315 * include/freetype/config/ftstdlib.h: Cast away volatileness from
3316 argument to ft_setjmp.
3317
3318 * include/freetype/internal/ftvalid.h: Add comment that
3319 ft_validator_run must not be used.
3320
Werner Lemberg2863cfa2006-10-01 17:04:00 +000033212006-10-01 Werner Lemberg <wl@gnu.org>
3322
3323 * src/base/ftbase.c: Undo change from 2006-09-30.
3324
3325 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
3326
33272006-09-30 David Turner <david@freetype.org>
3328
Werner Lemberg046bf8b2006-10-03 08:43:42 +00003329 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3330 s/unpatented_hinting/ignore_unpatented_hinter/.
3331 Update all callers.
3332
3333 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
3334 auto-hinting shall be used or not.
3335
3336 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00003337
Werner Lemberg2863cfa2006-10-01 17:04:00 +000033382006-09-30 Werner Lemberg <wl@gnu.org>
3339
Werner Lemberg1e4402e2006-09-29 22:10:36 +00003340 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
3341 in use).
3342
3343 * src/base/ftbase.c: Include `ftlcdfil.c'.
3344
Werner Lemberg9b15ea32006-09-29 18:22:11 +000033452006-09-29 Werner Lemberg <wl@gnu.org>
3346
3347 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
3348 overlapping segments. Bug reported by Stefan Koch.
3349
David Turnerad830712006-09-27 16:20:59 +000033502006-09-28 David Turner <david@freetype.org>
3351
Werner Lemberg2c002e12006-09-29 21:31:53 +00003352 Fix a bug in the automatic unpatented hinting support which prevents
3353 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00003354
Werner Lemberg2c002e12006-09-29 21:31:53 +00003355 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3356 s/force_autohint/unpatented_hinting/. Update all callers.
3357
3358 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
3359
3360 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00003361
David Turner8a317cf2006-09-27 07:52:48 +000033622006-09-27 David Turner <david@freetype.org>
3363
Werner Lemberg2c002e12006-09-29 21:31:53 +00003364 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00003365
David Turner8a317cf2006-09-27 07:52:48 +00003366
David Turnere140f142006-10-23 08:56:57 +00003367 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00003368 In a default build, the function `FT_Library_SetLcdFilter' returns
3369 `FT_Err_Unimplemented_Feature'; you need to #define
3370 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
3371 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00003372
Werner Lemberg2c002e12006-09-29 21:31:53 +00003373 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00003374
Werner Lemberg2c002e12006-09-29 21:31:53 +00003375 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
3376 typedef.
3377 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
3378 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00003379
Werner Lemberg2c002e12006-09-29 21:31:53 +00003380 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
3381 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00003382
Werner Lemberg2c002e12006-09-29 21:31:53 +00003383 Handle subpixel rendering.
3384 Simplify function.
3385 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
3386 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
3387
3388 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
3389 pointing to <freetype/ftlcdfil.h>.
3390
3391 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
3392 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
3393
3394 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00003395
Werner Lemberge20df4a2006-09-27 06:29:21 +000033962006-09-26 David Bustin
3397
3398 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
3399 correctly. Reported as Savannah bug #17843.
3400
David Turner6f8c6222006-09-26 15:42:44 +000034012006-09-26 David Turner <david@freetype.org>
3402
Werner Lemberg110246c2006-09-26 21:55:44 +00003403 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
3404 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
3405 horizontal and vertical hinting for the purpose of debugging the
3406 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00003407
Werner Lemberg110246c2006-09-26 21:55:44 +00003408 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
3409 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00003410
Werner Lemberg110246c2006-09-26 21:55:44 +00003411 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
3412
3413 * include/freetype/config/ftoption.h, devel/ftoption.h
3414 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
3415 we want to compile LCD-optimized rendering code (à la ClearType) or
3416 not. The macro *must* be disabled in default builds of the library
3417 for patent reasons.
3418
3419 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
3420 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
3421 isn't defined at compile time. This only changes the content of the
3422 rendered glyph to match the one of normal gray-level rendering,
3423 hence clients should not need to be modified.
3424
3425 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00003426
Werner Lemberg745ff2c2006-09-19 05:48:02 +000034272006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
3428
3429 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
3430 LWFN fails and both are available.
3431
David Turnerf3050052006-09-11 12:00:32 +000034322006-09-11 David Turner <david@freetype.org>
3433
Werner Lembergf9644552006-09-12 13:48:10 +00003434 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
3435 report their English names through an Apple Roman
3436 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00003437
Werner Lembergf9644552006-09-12 13:48:10 +00003438 If the font uses another name entry with language_id == English, it
3439 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00003440
Werner Lembergf9644552006-09-12 13:48:10 +00003441 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
3442 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00003443
Werner Lemberg36d2eab2006-09-05 19:24:34 +000034442006-09-05 Werner Lemberg <wl@gnu.org>
3445
3446 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00003447 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003448 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
3449 `HAN NOM B.ttf').
3450
3451 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
3452
David Turner772e55d2006-09-05 09:45:15 +000034532006-09-05 David Turner <david@freetype.org>
3454
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003455 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00003456
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003457 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
3458 (TRaster): Remove `count_ex' and `count_ey'.
3459 (gray_find_cell): Remove 2nd and 3rd argument.
3460 (gray_alloc_cell): Merged with `gray_find_cell'.
3461 (gray_record_cell): Simplify.
3462 (gray_set_cell): Rewrite.
3463 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
3464 (gray_render_span): Don't use FT_MEM_SET for small values.
3465 (gray_dump_cells) [DEBUG_GRAYS]: New function.
3466 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
3467 bitmap scanline.
3468 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00003469
David Turneraa557a92006-09-04 16:42:44 +000034702006-09-04 David Turner <david@freetype.org>
3471
Werner Lembergd1fc7d42006-09-05 07:55:42 +00003472 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
3473 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00003474
Werner Lemberg2d8629b2006-09-03 06:18:45 +000034752006-09-03 Werner Lemberg <wl@gnu.org>
3476
3477 * devel/ftoption.h: Synchronize with
3478 include/freetype/config/ftoption.h.
3479
3480 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
3481 variable declaration.
3482 (gray_convert_glyph): Fix compiler warnings.
3483
David Turner6d79f212006-09-01 14:09:35 +000034842006-09-01 David Turner <david@freetype.org>
3485
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003486 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
3487 to recognize a few fonts that require the automatic unpatented
3488 loader.
David Turnerbd502952006-09-01 19:05:24 +00003489
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003490 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
3491 rasterizer. The speed improvement is between 15% and 25%, depending
3492 on the font data.
3493
3494 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
3495 (TCell): Redefine.
3496 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
3497 (gray_init_cells): Updated.
3498 (gray_find_cell, gray_alloc_cell): New functions.
3499 (gray_record_cell): Rewritten to use `gray_find_cell' and
3500 `gray_alloc_cell'.
3501 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
3502 QSORT_THRESHOLD):
3503 Removed.
3504 (gray_shell_sort, gray_quick_sort, gray_check_sort,
3505 gray_dump_cells): Removed.
3506 (gray_sweep): Rewritten.
3507 (gray_convert_glyph): Rewrite code which used one of the sorting
3508 functions.
3509 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00003510
Werner Lembergd898aed2006-08-29 09:50:34 +000035112006-08-29 Dr. Werner Fink <werner@suse.de>
3512
3513 * configure: Make it possible to handle configure options which
3514 have strings containing spaces.
3515
35162006-08-27 David Turner <david@freetype.org>
3517
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003518 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
3519 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
3520 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
3521
3522 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
3523 src/truetype/truetype.c, src/truetype/ttdriver.c,
3524 src/truetype/ttgload.c, src/truetype/ttgload.h,
3525 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
3526 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
3527 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
3528
3529 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
3530 member `force_autohint'.
3531
3532 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
3533
3534 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
3535 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00003536
Jens Claudiusa787f452006-08-27 11:26:18 +000035372006-08-27 Jens Claudius <jens.claudius@yahoo.com>
3538
3539 Fix miscellaneous compiler warnings.
3540
Werner Lemberg32e05a62008-05-04 16:53:22 +00003541 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
3542 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00003543
Werner Lemberg32e05a62008-05-04 16:53:22 +00003544 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003545 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
3546 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00003547
Werner Lemberg32e05a62008-05-04 16:53:22 +00003548 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003549 volatileness of argument to ft_longjmp. Spotted by Werner
3550 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00003551
Werner Lemberg32e05a62008-05-04 16:53:22 +00003552 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003553 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00003554
Werner Lemberg32e05a62008-05-04 16:53:22 +00003555 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
3556 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00003557
Werner Lembergc4c35b72006-08-27 08:03:46 +000035582006-08-27 Werner Lemberg <wl@gnu.org>
3559
3560 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
3561 Reported by Jens.
3562
Jens Claudius088e44e2006-08-22 14:24:30 +000035632006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00003564
Jens Claudius088e44e2006-08-22 14:24:30 +00003565 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00003566 about addresses of volatile objects passed as function arguments as
3567 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00003568
Werner Lemberg32e05a62008-05-04 16:53:22 +00003569 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
3570 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003571
Werner Lemberg32e05a62008-05-04 16:53:22 +00003572 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
3573 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003574
Werner Lemberg32e05a62008-05-04 16:53:22 +00003575 * src/otvalid/otvmod.c (otv_load_table): Make function argument
3576 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003577
Jens Claudius2652bd52006-08-18 17:20:37 +000035782006-08-18 Jens Claudius <jens.claudius@yahoo.com>
3579
Werner Lemberg32e05a62008-05-04 16:53:22 +00003580 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
3581 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00003582 (gxv_validate): Same for local variables `memory' and `valid'.
3583 (classic_kern_validate): Same for local variables `memory',
3584 `ckern', and `valid'.
3585
Werner Lemberg32e05a62008-05-04 16:53:22 +00003586 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
3587 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
3588 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00003589
Werner Lemberg32e05a62008-05-04 16:53:22 +00003590 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
3591 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00003592
David Turner9fbfc6a2006-08-16 09:11:31 +000035932006-08-16 David Turner <david@freetype.org>
3594
Werner Lemberg12342992006-08-19 11:18:09 +00003595 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
3596 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00003597
Werner Lemberg12342992006-08-19 11:18:09 +00003598 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
3599 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00003600
David Turner33f5f242006-08-16 16:50:55 +00003601
Werner Lemberg830846e2008-07-27 06:27:21 +00003602 Improvements to native TrueType hinting. This is a first try,
Werner Lemberg12342992006-08-19 11:18:09 +00003603 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
3604
3605 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
3606 `extra_points2'.
3607
3608 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
3609 `orus'.
3610
3611 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
3612 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
3613 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
3614 handle `extra_points2'.
3615
3616 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
3617 Remove compiler warning.
3618 (cur_to_arg): Remove macro.
3619 (TT_Hint_Glyph): Updated.
3620 (TT_Process_Simple_Glyph): Handle `orus'.
3621
3622 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
3623 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
3624 (LOC_Ins_IUP): Renamed to...
3625 (IUP_WorkerRec): This.
3626 Add `orus' member.
3627 (Shift): Renamed to...
3628 (_iup_worker_shift): This.
3629 Updated.
3630 (Interp): Renamed to...
3631 (_iup_worker_interpolate): This.
3632 Updated to handle `orus'.
3633 (Ins_IUP): Updated.
3634
3635 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
3636 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00003637
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000036382006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3639
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00003640 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00003641 build ftvalid in ft2demos. This has been inadvertedly changed
3642 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00003643
36442006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3645
Werner Lemberg12342992006-08-19 11:18:09 +00003646 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
3647 Jens:
3648 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003649
Werner Lemberg32e05a62008-05-04 16:53:22 +00003650 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
3651 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003652
Werner Lemberg32e05a62008-05-04 16:53:22 +00003653 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003654
Jens Claudius9950adc2006-08-13 12:14:36 +000036552006-08-13 Jens Claudius <jens.claudius@yahoo.com>
3656
Werner Lemberg32e05a62008-05-04 16:53:22 +00003657 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00003658 T1_TOKEN_TYPE_KEY.
3659 (T1_FieldRec): Add `dict'.
3660 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
3661 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
3662 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00003663
Werner Lemberg32e05a62008-05-04 16:53:22 +00003664 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
3665 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003666
Werner Lemberg32e05a62008-05-04 16:53:22 +00003667 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003668
Werner Lemberg32e05a62008-05-04 16:53:22 +00003669 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00003670 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
3671 not T1_TOKEN_TYPE_ANY.
3672 (ps_parser_load_field): Make sure a token that should be a string or
3673 name is really a string or name.
3674 Avoid memory leak if a keyword has been already encountered and its
3675 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00003676 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00003677 T1_FIELD_XXX.
3678 (parse_dict): Ignore keywords that occur in the wrong dictionary
3679 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00003680
Werner Lemberg32e05a62008-05-04 16:53:22 +00003681 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003682
Werner Lemberg32e05a62008-05-04 16:53:22 +00003683 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
3684 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003685
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000036862006-07-18 Jens Claudius <jens.claudius@yahoo.com>
3687
3688 Move creation of field `buildchar' of T1_DecoderRec out of
3689 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
3690 of it.
3691
3692 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
3693 and `T1_Compute_Max_Advance'.
3694
Werner Lemberg32e05a62008-05-04 16:53:22 +00003695 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
3696 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003697
Werner Lemberg32e05a62008-05-04 16:53:22 +00003698 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
3699 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003700
Werner Lemberg32e05a62008-05-04 16:53:22 +00003701 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
3702 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003703 (cid_slot_load_glyph): Do not ignore failure when initializing the
3704 T1_Decoder.
3705
Werner Lemberg32e05a62008-05-04 16:53:22 +00003706 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003707 (t1_decoder_init): Remove initialization of fields `buildchar' and
3708 `len_buildchar'.
3709 (t1_decoder_done): Remove deallocation of field `buildchar'.
3710
3711 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
3712 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
3713 T1_Decoder.
3714 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
3715 `len_buildchar'; make sure to call finisher for T1_Decoder even in
3716 case of error.
3717
Werner Lemberg32e05a62008-05-04 16:53:22 +00003718 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
3719 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003720
Werner Lemberg32e05a62008-05-04 16:53:22 +00003721 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
3722 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003723
Werner Lemberg1a380e02006-07-14 18:28:08 +000037242006-07-14 Jens Claudius <jens.claudius@yahoo.com>
3725
Werner Lemberg32e05a62008-05-04 16:53:22 +00003726 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
3727 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
3728 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00003729 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
3730 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
3731 (T1_DecoderRec): New fields `buildchar' and `face'.
3732 (IS_PS_TOKEN): New macro.
3733
Werner Lemberg32e05a62008-05-04 16:53:22 +00003734 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
3735 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003736
Werner Lemberg32e05a62008-05-04 16:53:22 +00003737 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00003738 `default_design_vector' and `num_default_design_vector'.
3739
Werner Lemberg32e05a62008-05-04 16:53:22 +00003740 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
3741 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
3742 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003743
Werner Lemberg32e05a62008-05-04 16:53:22 +00003744 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
3745 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003746 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
3747 want to skip the array.
3748 (ps_tofixedarray): Allow `values' argument to be NULL if we just
3749 want to skip the array.
3750
Werner Lemberg32e05a62008-05-04 16:53:22 +00003751 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
3752 for (partially commented out) othersubrs 19-25, 27, and 28.
3753 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003754 (t1_decoder_done): Release new field `buildchar'.
3755
Werner Lemberg32e05a62008-05-04 16:53:22 +00003756 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00003757 functions.
3758 (t1_keywords): Register them.
3759 (t1_allocate_blend): Updated.
3760 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
3761 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
3762 (parse_dict): Remove `keyword_flags' argument.
3763 Use new macro IS_PS_TOKEN.
3764 Changed function so that later PostScript definitions override
3765 earlier ones.
3766 (t1_init_loader): Initialize new field `keywords_encountered'.
3767 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
3768 `len_buildchar'.
3769 Remove `keywords_flags'.
3770
Werner Lemberg32e05a62008-05-04 16:53:22 +00003771 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00003772 `keywords_encountered'.
3773 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
3774
Werner Lemberg32e05a62008-05-04 16:53:22 +00003775 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
3776 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003777
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000037782006-07-07 Werner Lemberg <wl@gnu.org>
3779
3780 Add many checks to protect against malformed PCF files.
3781
3782 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
3783 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
3784
3785 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
3786 data and check that tables don't overlap (using a simple
3787 bubblesort).
3788 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
3789 New macros which give the size of data structures in the data
3790 stream.
3791 (pcf_get_properties): Use rough estimates to get array size limits.
3792 Assign `face->nprops' and `face->properties' earlier so that a call
3793 to PCF_Face_Done can do the clean-up in case of error.
3794 Protect against invalid string offsets.
3795 (pcf_get_metrics): Clean up code.
3796 Adjust tracing message levels.
3797 Use rough estimate to get array size limit.
3798 (pcf_get_bitmaps): Clean up code.
3799 Adjust tracing message levels.
3800 Use rough estimates to get offset limits.
3801 (pcf_get_encodings): Adjust tracing message level.
3802 (pcf_get_accel): Clean up code.
3803
Werner Lemberg8eb05252006-06-27 06:20:01 +000038042006-06-26 Werner Lemberg <wl@gnu.org>
3805
3806 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
3807 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
3808
Werner Lemberg24703f82006-06-26 19:12:51 +000038092006-06-26 Jens Claudius <jens.claudius@yahoo.com>
3810
3811 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
3812 (t1_decoder_parse_charstrings): Operator with
3813 opcode 15 pops its two arguments.
3814 Handle the case where the pops of an othersubr may be part of a
3815 subroutine.
3816 Handle unknown othersubrs gracefully: count their operands and let
3817 the following pop operators push the operands as the results onto
3818 the Type1 stack.
3819 Improve handling of setcurrentpoint opcode.
3820
Werner Lembergc011f4c2006-06-26 09:40:00 +000038212006-06-25 Jens Claudius <jens.claudius@yahoo.com>
3822
3823 The Type 1 parser now skips over top-level procedures as required
3824 for a `Simplified Parser'. This makes the parser more robust as it
3825 doesn't poke around in PostScript code. Additionally, it makes the
3826 FontDirectory hackery in src/type1/t1load.c unnecessary.
3827
3828 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
3829 (skip_literal_string): Add FT_Error as return value.
3830 Handle escapes better.
3831 (skip_string): Add FT_Error as return value.
3832 Don't set `parser->error' but return error code directly.
3833 (skip_procedure): New function.
3834 (ps_parser_skip_PS_token): Handle procedures.
3835 Update code.
3836 (ps_parser_to_token): Update code.
3837 (ps_parser_load_field_table): Handle bbox entries also.
3838
3839 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
3840 Add commented-out code for synthetic fonts.
3841
Werner Lemberga2da05c2006-06-25 06:27:27 +000038422006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
3843
3844 Fix two hinting bugs as reported in
3845 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
3846
3847 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
3848 `first_point' member.
3849
3850 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
3851 `first_point'.
3852 (TT_Process_Composite_Glyph): Always untouch points.
3853
3854 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
3855 `first_point' and `last_point' in case of composite glyphs.
3856 (Ins_IUP): Fix computation of `end_point'.
3857
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000038582006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3859
Werner Lembergef3d2c22006-06-25 06:07:14 +00003860 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
3861 Mac. The original patch was written by David Sachitano and Lawrence
3862 Coopet, and modified by Sean McBride for MPW compatibility. Only
3863 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003864
Werner Lembergef3d2c22006-06-25 06:07:14 +00003865 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
3866 Mac OS X platforms.
3867 (OS_INLINE): Undefine before definition.
3868 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
3869 FontAssociation table in FOND resource.
3870 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
3871 and fontSize at each entry of FontAssociation table in FOND
3872 resource.
3873 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
3874 ffStylOff of FamilyRecord header of FOND resource, the header,
3875 fontSize, fontID at each entry of FontAssociation table, and
3876 StyleMapping table.
3877 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003878
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000038792006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3880
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003881 Public API of TrueTypeGX, OpenType, and classic kern table validator
3882 should return `FT_Err_Unimplemented_Feature' if validation service
3883 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00003884 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003885 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
3886
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003887 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
3888 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
3889 unavailable.
3890 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
3891 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003892
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003893 * src/base/ftotval.c (FT_OpenType_Validate): Return
3894 FT_Err_Unimplemented_Feature if OpenType validation service is
3895 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003896
Werner Lembergb10e45a2006-06-08 07:32:56 +000038972006-06-08 Werner Lemberg <wl@gnu.org>
3898
3899 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
3900 errors.
3901
David Turner5f1f7502006-06-07 05:11:50 +000039022006-06-07 David Turner <david@freetype.org>
3903
Werner Lemberg7d48cb02006-06-08 06:00:08 +00003904 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
3905 (T1_Read_Metrics): Fix memory leak which happened when the metrics
3906 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00003907
David Turner457b4a82006-06-06 08:14:14 +000039082006-06-06 David Turner <david@freetype.org>
3909
Werner Lemberg4836f952006-06-06 12:54:08 +00003910 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00003911
Werner Lemberg4836f952006-06-06 12:54:08 +00003912 We change `ps_unicodes_init' so that it also takes a
3913 `free_glyph_name' callback to release the glyph names returned by
3914 `get_glyph_name'
3915
3916 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
3917 Renamed to ...
3918 (PS_GetGlyphNameFunc): This.
3919 (PS_FreeGlyphNameFunc): New typedef.
3920 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
3921
3922 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
3923 argument.
3924 (cff_sid_free_glyph_name): New function.
3925 (cff_cmap_unicode_init): Updated.
3926
3927 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
3928
3929 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
3930 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00003931
3932
David Turner09717352006-06-04 14:33:08 +000039332006-06-04 David Turner <david@freetype.org>
3934
Werner Lembergd724f202006-06-04 15:17:41 +00003935 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
3936 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003937 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00003938
Werner Lembergd724f202006-06-04 15:17:41 +00003939 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
3940 of `face->num_glyphs' which missed the last glyph, due to
3941 the offset-by-1 computation, since the PFR format doesn't
3942 guarantee that glyph index 0 corresponds to the `missing
3943 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00003944
Werner Lemberg33779662006-05-26 06:30:05 +000039452006-05-25 Werner Lemberg <wl@gnu.org>
3946
3947 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
3948 `-no-undefined'. Reported by Christian Biesinger.
3949
Werner Lemberg24773d62006-05-20 08:53:13 +000039502006-05-19 Brian Weed <bw@imaginengine.com>
3951
3952 * builds/win32/visualc/freetype.dsp: Release libraries no longer
3953 have debug information, and debug libraries use `C7 compatible'
3954 debug info.
3955
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000039562006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3957
Werner Lemberga6523a62006-05-20 08:47:01 +00003958 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00003959 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003960
Werner Lemberga6523a62006-05-20 08:47:01 +00003961 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
3962 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003963
3964 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00003965 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003966
39672006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3968
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00003969 * build/unix/configure.raw: Add a fallback to disable Carbon
3970 dependency, if configured with no options on Mac OS X.
3971
39722006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3973
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003974 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00003975 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003976 the second part of Savannah bug #16590.
3977
Werner Lemberg545c4e52006-05-17 22:55:04 +000039782006-05-18 Werner Lemberg <wl@gnu.org>
3979
3980 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
3981 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
3982
David Turnerdc3ff312006-05-17 12:59:35 +000039832006-05-17 David Turner <david@freetype.org>
3984
Werner Lemberg545c4e52006-05-17 22:55:04 +00003985 This is a major patch used to drastically improve the performance of
3986 loading glyphs. This both speeds up loading the glyph vectors
3987 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00003988
Werner Lemberg545c4e52006-05-17 22:55:04 +00003989 We now use inline assembler code with GCC to implement `FT_MulFix',
3990 which is probably the most important function related to the
3991 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00003992
Werner Lemberg545c4e52006-05-17 22:55:04 +00003993 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00003994
3995
Werner Lemberg545c4e52006-05-17 22:55:04 +00003996 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
3997 `cursor' and `limit'.
3998
3999 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
4000 New functions.
4001 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
4002 [TEST]: Remove.
4003
4004 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
4005 code.
4006
4007 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
4008 `FT_ZERO'
4009 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
4010 (af_glyph_hints_reload: Rewrite recognition of weak points.
4011
4012 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
4013 constant values out of the loops.
4014
4015 * src/autofit/aftypes.h: Updated.
4016
4017 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
4018
4019 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
4020 product to get orientation.
4021
4022 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
4023 (FT_Stream_OpenGzip): Use it to handle small files directly in
4024 memory.
4025
4026 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
4027 Improve performance.
4028
4029 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
4030 `limit'.
4031
4032 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
4033 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
4034 exceedingly large values of number of contours. Speed up by
4035 reducing the number of loops.
4036
4037 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
4038
4039
4040 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
4041 used to detect rogue clients from 4 to 16. This is to prevent some
4042 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
4043 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00004044
Werner Lembergde2d90a2006-05-17 08:54:30 +000040452007-05-17 Werner Lemberg <wl@gnu.org>
4046
4047 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00004048 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00004049
40502006-05-16 Werner Lemberg <wl@gnu.org>
4051
4052 * docs/PROBLEMS: Updated icl issues.
4053
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004054----------------------------------------------------------------------------
4055
Werner Lemberg4c933992008-01-18 05:32:55 +00004056Copyright 2006, 2007, 2008 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004057David Turner, Robert Wilhelm, and Werner Lemberg.
4058
4059This file is part of the FreeType project, and may only be used, modified,
4060and distributed under the terms of the FreeType project license,
4061LICENSE.TXT. By continuing to use, modify, or distribute this file you
4062indicate that you have read the license and understand and accept it
4063fully.
4064
4065
4066Local Variables:
4067version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00004068coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004069End: