blob: a8d0f4023cbfe9b1a6187145cba2a55856a871a6 [file] [log] [blame]
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +000012008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +00003 * src/base/rules.mk: Add conditional source to BASE_SRC, for
4 `make multi' on Mac OS X. If the macro $(ftmac_c) is defined,
5 $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In normal build,
6 the lack of ftmac.c in BASE_SRC is not serious because ftbase.c
7 includes ftmac.c.
8 * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
9 * builds/unix/configure.raw: Add procedure to set up appropriate
10 value of $(ftmac_c) with the consideration of the availability
11 of Carbon framework.
12
132008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
14
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +000015 * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
16 * src/base/ftobjs.c (FT_New_Face): Fix the condition to include
17 this function for MPW building. It is synchronized the condition
18 to include ftmac.c source into ftbase.c.
19
Werner Lembergb4c810e2008-09-22 11:28:46 +0000202008-09-22 Werner Lemberg <wl@gnu.org>
21
22 * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
23 cff_decoder_parse_charstrings): Handle (invalid)
24 `callothersubr' and `pop' instructions.
25
Werner Lembergbd0f71a2008-09-22 08:55:44 +0000262008-09-22 John Tytgat <John.Tytgat@esko.com>
27
28 Fix Savannah bug #24307.
29
30 * include/freetype/internal/t1types.h (CID_FaceRec),
31 src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
32
332008-09-21 Werner Lemberg <wl@gnu.org>
34
35 * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
36 `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
37 Stephan T. Lavavej <stl@nuwen.net>.
38
Suzuki, Toshiya (鈴木俊哉)815e1862008-09-21 18:33:57 +0000392008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
40
41 * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
42 by jam.
43 * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
44 jam.
45
Werner Lemberg6874d852008-09-20 11:50:47 +0000462008-09-20 Werner Lemberg <wl@gnu.org>
47
Werner Lemberg70f4cff2008-09-20 16:12:05 +000048 * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
49 passed to this function are already `normalized'. Problem reported
Werner Lembergbd0f71a2008-09-22 08:55:44 +000050 by Stephan T. Lavavej <stl@nuwen.net>.
Werner Lemberg70f4cff2008-09-20 16:12:05 +000051
52 * docs/CHANGES: Document it.
53
542008-09-20 Werner Lemberg <wl@gnu.org>
55
Werner Lemberg6874d852008-09-20 11:50:47 +000056 * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
57 (FT_Outline_Decompose): Decorate with tracing messages.
58
59 * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
60 FT_DEBUG_LEVEL_TRACE.
61 [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
62 stdarg.h.
63
64 (FT_TRACE) [_STANDALONE_]: Remove.
65 (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
66 (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
67 (FT_ERROR) [_STANDALONE_]: Updated.
68
69 (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
70 Use FT_TRACE7.
71 (gray_dump_cells): Make it `static void'.
Werner Lemberg70f4cff2008-09-20 16:12:05 +000072 (gray_convert_glyph): Use FT_TRACE7.
Werner Lemberg6874d852008-09-20 11:50:47 +000073
74 (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
75 ftoutln.c.
76
77 * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
78 FT_ERROR_BASE.
79
Werner Lemberg22e970a2008-09-20 12:20:21 +000080 * docs/formats.txt: Updated.
81
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000822008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
83
Suzuki, Toshiya (鈴木俊哉)3afbee82008-09-19 17:46:01 +000084 * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
85 CID-keyed font support.
86 * builds/mac/ftmac.c: Ditto.
87
882008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
89
Werner Lemberg22e970a2008-09-20 12:20:21 +000090 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
91 sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
92 `open_face_from_buffer' frees the passed buffer if it cannot open a
93 face from the buffer, so the caller must not free it.
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +000094
952008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
96
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +000097 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
98 for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
99 (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
Werner Lemberg22e970a2008-09-20 12:20:21 +0000100 table in sfnt table directory. It is used before loading TrueType
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000101 font driver.
102
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000103 * docs/CHANGES: Add note about the current status of sfnt-wrapped
104 Type1 and sfnt-wrapped CID-keyed font support.
105
Werner Lemberg55c40632008-09-18 11:20:12 +00001062008-09-18 Werner Lemberg <wl@gnu.org>
107
108 * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
109 orthogonality (ft_free and ft_sfree could belong to different memory
110 pools). This fixes Savannah bug #24297.
111
Suzuki, Toshiya (鈴木俊哉)0c0db3e2008-09-18 04:36:56 +00001122008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
113
114 * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
115 in ttags.h instead of numerical value 0x4F54544FL.
116
Werner Lemberg634df6e2008-09-16 07:25:31 +00001172008-09-16 Werner Lemberg <wl@gnu.org>
118
119 * src/cff/cffgload.h, src/cff/cffgload.c
120 (cff_decoder_set_width_only): Eliminate function call.
121
Werner Lemberged6c0e02008-09-15 07:49:40 +00001222008-09-15 George Williams <gww@silcom.com>
123
124 Fix Savannah bug #24179, reported by Bram Tassyns.
125
126 * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
127 of default values.
128
1292008-09-15 Werner Lemberg <wl@gnu.org>
130
131 * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
132 and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
133 prevent unconditional definition. This fixes Savannah bug #24241.
134
135 * src/psnames/pstables.h: Regenerated.
136
Werner Lembergb2116512008-09-12 16:27:48 +00001372008-09-13 Werner Lemberg <wl@gnu.org>
138
139 * autogen.sh, builds/unix/configure.raw,
140 include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
141 beautifying.
142
143 * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
144 include/freetype/ftlcdfil.h: Protect against FreeType 1.
145 Some other minor fixes.
146
147 * devel/ftoption.h: Synchronize with
148 include/freetype/config/ftoption.h.
149
Werner Lemberg8d3e6ec2008-09-11 08:29:14 +00001502008-09-11 Werner Lemberg <wl@gnu.org>
151
152 * src/base/ftbase.c: Include ftadvanc.c.
153
Werner Lembergb2116512008-09-12 16:27:48 +00001542008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000155
156 * builds/unix/ftconfig.in: Duplicate the cpp computation of
157 FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
Werner Lembergb2116512008-09-12 16:27:48 +0000158 (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
159 computation is disabled and the statically configured sizes are
160 used. This fixes Savannah bug #21250.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000161
Werner Lembergb2116512008-09-12 16:27:48 +0000162 * builds/unix/configure.raw: Add the checks to compare the cpp
163 computation results of the bit length of int and long versus the
164 sizes detected by running `configure'. If the results are
165 different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
166 results.
167 New option --{enable|disable}-biarch-config is added to define or
168 undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000169
Werner Lembergb2116512008-09-12 16:27:48 +00001702008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000171
Werner Lembergb2116512008-09-12 16:27:48 +0000172 * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
173 ApplicationService framework is missing. Although this value is not
174 used in building of FreeType2, it is written in `freetype2.pc' and
175 `freetype-config'.
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000176
Werner Lembergb2116512008-09-12 16:27:48 +00001772008-09-01 david turner <david@freetype.org>
David Turner28534d62008-09-01 21:35:21 +0000178
Werner Lembergb2116512008-09-12 16:27:48 +0000179 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
180 index to mean `use default cached FT_Face's charmap'. This fixes
181 Savannah bug #22625.
182 * include/freetype/ftcache.h: Document it.
David Turner17cd6872008-09-02 02:34:29 +0000183
Werner Lembergb2116512008-09-12 16:27:48 +0000184
185 Make FT_MulFix an inlined function. This is done to speed up
David Turnerf47d2632008-09-02 02:21:58 +0000186 FreeType a little (on x86 3% when loading+hinting, 10% when
Werner Lembergb2116512008-09-12 16:27:48 +0000187 rendering, ARM savings are more important though). Disable this by
188 undefining FT_CONFIG_OPTION_INLINE_MULFIX.
David Turnerf47d2632008-09-02 02:21:58 +0000189
Werner Lembergb2116512008-09-12 16:27:48 +0000190 Use of assembler code can now be controlled with
191 FT_CONFIG_OPTION_NO_ASSEMBLER.
David Turner28534d62008-09-01 21:35:21 +0000192
Werner Lembergb2116512008-09-12 16:27:48 +0000193 * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
194 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
195 implementation.
196 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
197 implementation taken from `ftcalc.c'.
198 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
199 which is defined to the platform-specific assembler implementation
200 of FT_MulFix.
201 [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
202 (FT_MULFIX_INLINED): New macro.
David Turner28534d62008-09-01 21:35:21 +0000203
Werner Lembergb2116512008-09-12 16:27:48 +0000204 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
205 FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
206
207 * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
208
209 * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
210 FT_MULFIX_INLINED.
211
212
213 Add a new header named FT_ADVANCES_H declaring some new APIs to
214 extract the advances of one or more glyphs without necessarily
215 loading their outlines. Also provide `fast loaders' for the
216 TrueType, Type1, and CFF font drivers (more to come later).
217
218 * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
219
220 * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
221 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
222
223 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
224 `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
225 respectively.
226
227 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
228 ftadvanc.c.
229
230 * src/cff/cffdrivr.c (cff_get_advances): New function.
231 (cff_driver_class): Register it.
232
233 * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
234 (cff_decoder_parse_charstrings): Handle `width_only'.
235 (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
236
237 * src/cff/cffgload.h (cff_decoder): New element `width_only'.
238 (cff_decoder_set_width_only): New declaration.
239
240 * src/truetype/ttdriver.c (tt_get_advances): New function.
241 (tt_driver_class): Register it.
242
243 * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
244 (TT_Get_HMetrics, TT_Get_VMetrics): This.
245 Update callers.
246 * src/truetype/ttgload.h: Declare them.
247
248 * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
249 function.
250 * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
251
252
253 Add checks for minimum version of the `autotools' stuff.
254
255 * autogen.sh: Implement it.
256 (get_major_version, get_minor_version, get_patch_version,
257 compare_to_minimum_version, check_tool_version): New auxiliary
258 functions.
259
260 * README.CVS: Document it.
261
2622008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)7981fe22008-08-29 06:09:03 +0000263
264 * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
265 ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
266
Werner Lemberg4dbf00a2008-08-28 16:12:48 +00002672008-08-28 Werner Lemberg <wl@gnu.org>
268
269 * src/type1/t1load.c (parse_encoding): Protect against infinite
270 loop. This fixes Savannah bug #24150 (where a patch has been posted
271 too).
272
Werner Lemberga4cb0d92008-08-23 19:54:06 +00002732008-08-23 Werner Lemberg <wl@gnu.org>
274
275 * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
276 (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
277 #24119.
278
Werner Lembergb2116512008-09-12 16:27:48 +00002792008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +0000280
Werner Lemberga4cb0d92008-08-23 19:54:06 +0000281 * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
282 even if passed library or arguments are invalid. This fixes a bug
283 that an uninitialized stream is freed when an invalid library handle
284 is passed. Originally proposed by Mike Fabian, 2008/08/18 on
285 freetype-devel.
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +0000286 (FT_Open_Face): Ditto (stream).
287 (load_face_in_embedded_rfork): Ditto (stream2).
288
Werner Lembergb2116512008-09-12 16:27:48 +00002892008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000290
Werner Lemberg77f73582008-08-19 04:53:02 +0000291 * src/base/ftmac.c: Add a fallback to guess the availability of the
292 `ResourceIndex' type. It is used when built without configure
293 (e.g., a build with Jam).
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000294 * builds/mac/ftmac.c: Ditto.
Werner Lemberg77f73582008-08-19 04:53:02 +0000295 * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
296 explicitly, even if `ResourceIndex' is unavailable.
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000297
Werner Lembergb2116512008-09-12 16:27:48 +00002982008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000299
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000300 * builds/unix/configure.raw: In checking of Mac OS X features,
Werner Lemberg77f73582008-08-19 04:53:02 +0000301 all-in-one header file `Carbon.h' is replaced by the minimum
302 header file `CoreServices.h', similar to current src/base/ftmac.c.
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000303
Werner Lembergb2116512008-09-12 16:27:48 +00003042008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000305
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000306 * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
Werner Lemberg77f73582008-08-19 04:53:02 +0000307 sub-header when its code_count is 0. Many Japanese Dynalab fonts
308 include such an empty sub-header (code_count == 0, first_code == 0
309 delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000310
Werner Lemberg7fd20182008-08-04 18:46:37 +00003112008-08-04 Werner Lemberg <wl@gnu.org>
312
313 * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
314 Savannah bug #23995.
315
316 * src/cid/cidload.c (parse_expansion_factor): New callback function.
317 (cid_field_records): Use it for `ExpansionFactor'.
318 * src/cod/cidtoken.h: Handle `ForceBold' keyword.
319 Don't handle `ExpansionFactor'.
320
Werner Lembergeba3eee2008-08-04 15:54:24 +00003212008-08-04 Bram Tassyns <bramt@enfocus.be>
322
323 * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
324 resulted in incorrect scaling. This fixes Savannah bug #23973.
325
Werner Lemberg17e69012008-08-04 05:45:41 +00003262008-08-04 Werner Lemberg <wl@gnu.org>
327
328 Be more tolerant w.r.t. invalid entries in SFNT table directory.
329
330 * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
331 adjust table count.
332 Add more trace messages.
333 (tt_face_load_font_dir): Updated.
334
Werner Lemberg806f5932008-07-30 05:28:37 +00003352008-07-30 Werner Lemberg <wl@gnu.org>
336
337 * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
338 assume that the first argument on the stack is the bottom-most
339 element. Two reasons:
340
341 o According to people from Adobe it is missing in the Type 2
342 specification that pushing of additional, superfluous arguments
343 on the stack is prohibited.
344
345 o Acroread in general handles fonts differently, namely by popping
346 the number of arguments needed for a particular operand (as a PS
347 interpreter would do). In case of buggy fonts this causes a
348 different interpretation which of the elements on the stack are
349 superfluous and which not.
350
351 Since there are CFF subfonts (embedded in PDFs) which rely on
352 Acroread's behaviour, FreeType now does the same.
353
Werner Lemberg7f30c0c2008-07-27 05:43:59 +00003542008-07-27 Werner Lemberg <wl@gnu.org>
355
356 Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
357 fixes Savanna bug #23940.
358
359 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
360 (EXTRA_GLYPH_LIST_SIZE): This.
361 Increase by 2.
362 (ft_wgl_extra_unicodes): Rename to...
363 (ft_extra_glyph_unicodes): This.
364 Add two code values.
365 (ft_wgl_extra_glyph_names): Rename to...
366 (ft_extra_glyph_names): This.
367 Add two glyphs.
368 (ft_wgl_extra_glyph_name_offsets): Rename to...
369 (ft_extra_glyph_name_offsets): This.
370 Add two offsets.
371
372 (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
373 (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
374 Updated.
375 (ps_unicodes_init): Updated.
376
Werner Lembergbdcfddc2008-07-26 21:22:20 +00003772008-07-26 Werner Lemberg <wl@gnu.org>
378
379 * src/cff/cffgload.c (cff_decoder_prepare,
380 cff_decoder_parse_charstrings): Improve debug output.
381
Werner Lemberge75da452008-07-22 20:59:59 +00003822008-07-22 Martin McBride <mmcbride@emtex.com>
383
384 * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
385 tt_cmap4_char_map_binary): Handle fonts which treat the last segment
386 specially. According to the specification, such fonts would be
387 invalid but acroread accepts them.
388
Werner Lemberg50997cd2008-07-16 21:03:40 +00003892008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
390
391 * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
392
393 * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
394
395 * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
396 Fix compiler warning.
397
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00003982008-07-16 Werner Lemberg <wl@gnu.org>
399
Werner Lemberge75da452008-07-22 20:59:59 +0000400 Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +0000401
402 * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
403 Invert sids table only if `pure_cff' is set.
404 * src/cff/cffload.h: Udpated.
405
406 * src/cff/cffobjs.c (cff_face_init): Updated.
Werner Lembergbd48d352008-07-16 07:05:11 +0000407 Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +0000408
Werner Lemberge75da452008-07-22 20:59:59 +0000409 * docs/CHANGES: Updated.
410
Werner Lemberg6b19e092008-07-09 06:20:12 +00004112008-07-09 Werner Lemberg <wl@gnu.org>
412
413 * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
414 where num_locations < num_glyphs. Problem reported by Ding Li.
415
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00004162008-07-05 Werner Lemberg <wl@gnu.org>
417
418 Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
Werner Lembergca6fc732008-07-05 06:36:39 +0000419 newer. This fixes Savannah bug #23648.
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000420
421 * configure: zsh doesn't like ${1+"$@"}.
422 Update needed GNU make version.
423 * builds/toplevel.mk: Check for `$(eval ...)'.
424 * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
425 it.
426
Werner Lemberg71b8f3f2008-07-04 07:22:06 +00004272008-07-04 Werner Lemberg <wl@gnu.org>
428
429 * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
430 pixel, only check for dropouts if neither start nor end point lies
431 on a pixel center. This fixes Savannah bug #23762.
432
Werner Lembergbe54a682008-06-29 07:43:41 +00004332008-06-29 Werner Lemberg <wl@gnu.org>
434
435 * Version 2.3.7 released.
436 =========================
437
438
439 Tag sources with `VER-2-3-7'.
440
441 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
442 version number to 2.3.7.
443
444 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
445 builds/win32/visualc/freetype.dsp,
446 builds/win32/visualc/freetype.vcproj,
447 builds/win32/visualce/index.html,
448 builds/win32/visualce/freetype.dsp,
449 builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
450
451 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
452
453 * builds/unix/configure.raw (version_info): Set to 9:18:3.
454
455 * docs/release: Updated.
456
Werner Lemberg4e7d9842008-06-27 22:26:11 +00004572008-06-28 Werner Lemberg <wl@gnu.org>
458
Werner Lembergbe54a682008-06-29 07:43:41 +0000459 * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
Werner Lemberg4e7d9842008-06-27 22:26:11 +0000460 * src/ftcalc.c: Here. This fixes Savannah bug #23729.
461
Werner Lemberga741c6f2008-06-27 06:58:48 +00004622008-06-27 Werner Lemberg <wl@gnu.org>
463
464 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
465 Horizontal_Gray_Sweep_Drop): Test for intersections which
466 degenerate to a single point can be ignored; this has been confirmed
467 by Greg Hitchcock from Microsoft. (This was commented out code.)
468
Werner Lemberg8a9b6392008-06-26 19:56:51 +00004692008-06-26 Werner Lemberg <wl@gnu.org>
470
471 Improve navigation in API reference.
472
473 * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
474 (html_header_6): This.
475 (html_header_3, html_header_3i, html_header_4, html_header_5,
476 html_header_5t): New strings.
477 (toc_footer_start, toc_footer_end): New strings.
478 (HtmlFormatter::html_header): Updated.
479 (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
480 New strings.
481 (HtmlFormatter::index_enter): Use `html_index_header'.
482 (HtmlFormatter::index_exit): Print `html_footer'.
483 (HtmlFormatter::toc_enter): Use `html_toc_header'.
484 (HtmlFormatter::toc_exit): Print proper footer.
485
486 Convert ~ to non-breakable space.
487
488 * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
489 Update header files accordingly.
490
Werner Lembergb2116512008-09-12 16:27:48 +00004912008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000492
Werner Lemberg8a9b6392008-06-26 19:56:51 +0000493 * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
Werner Lemberge172c332008-06-25 22:21:42 +0000494 and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
495 bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
496 ResourceIndex type definition. The macro does not inform the type
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000497 availability.
498 * src/base/ftmac.c: More parentheses are inserted to clarify the
Werner Lemberge172c332008-06-25 22:21:42 +0000499 conditionals to disable legacy APIs in `10.5 and later' cases. If
500 HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000501
Werner Lemberg5563bea2008-06-24 05:44:28 +00005022008-06-24 Werner Lemberg <wl@gnu.org>
503
Werner Lemberg830846e2008-07-27 06:27:21 +0000504 * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
505 mode.
Werner Lembergce8853a2008-06-24 11:19:03 +0000506
507 * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
508 Draw_Sweep): No-dropout mode is value 2, not value 0.
509 (Draw_Sweep): Really skip dropout handling for no-dropout mode.
510
5112008-06-24 Werner Lemberg <wl@gnu.org>
512
Werner Lemberg5563bea2008-06-24 05:44:28 +0000513 * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
514 if it consists of one point only. Based on a patch from Savannah
515 bug #23683 (from John Tytgat).
516
Werner Lemberg745a4f42008-06-22 22:41:24 +00005172008-06-22 Werner Lemberg <wl@gnu.org>
518
519 * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
520 with IS_HINTED.
521
522 * docs/CHANGES: Updated.
523
Werner Lembergb2116512008-09-12 16:27:48 +00005242008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000525
Werner Lemberg745a4f42008-06-22 22:41:24 +0000526 * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
527 but LDFLAGS does not, import it to LDFLAGS. The option is used to
528 specify non-default SDK on Mac OS X (e.g., universal binary SDK for
529 Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
530 recommends to add the option only to CFLAGS, LDFLAGS should include
531 it because libfreetype.la is built with -no-undefined. This fixes a
532 bug reported by Ryan Schmidt in MacPorts,
533 http://trac.macports.org/ticket/15331.
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000534
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00005352008-06-21 Werner Lemberg <wl@gnu.org>
536
537 Enable access to the various dropout rules of the B&W rasterizer.
538 Pass dropout rules from the TT bytecode interpreter to the
Werner Lemberg959cb8e2008-06-25 20:58:33 +0000539 rasterizer.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +0000540
541 * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
542 FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
543
544 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
545 Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
546 OpenType specification.
547 Fix mode 4 computation.
548 (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
549
Werner Lemberg959cb8e2008-06-25 20:58:33 +0000550 * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
551 mode to FT_OUTLINE_XXX flags.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +0000552
553 * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
554
Werner Lembergcd6dcca2008-06-19 06:20:21 +00005552008-06-19 Werner Lemberg <wl@gnu.org>
556
Werner Lemberg5b631d82008-06-19 16:23:43 +0000557 * src/cff/cffobjs.c (cff_face_init): Compute final
558 `dict->units_per_em' value before assigning it to
Werner Lembergbe54a682008-06-29 07:43:41 +0000559 `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
Werner Lemberg5b631d82008-06-19 16:23:43 +0000560 scaled incorrectly if the font matrix is non-standard. This fixes
561 Savannah bug #23630.
562
563 * docs/CHANGES: Updated.
564
5652008-06-19 Werner Lemberg <wl@gnu.org>
566
Werner Lembergbe54a682008-06-29 07:43:41 +0000567 * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
568 from 2008-06-19.
Werner Lembergcd6dcca2008-06-19 06:20:21 +0000569
Werner Lembergd57a5e92008-06-18 06:16:39 +00005702008-06-18 Werner Lemberg <wl@gnu.org>
571
572 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
573 Reported by Peter Weilbacher <mozilla@weilbacher.org>.
574
575 * docs/CHANGES: Updated.
576
Werner Lembergca947c22008-06-16 05:33:51 +00005772008-06-15 George Williams <gww@silcom.com>
578
579 * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
580 `valid->extra2' to 1. This is undocumented in the OpenType 1.5
581 specification.
582
Werner Lembergad83e052008-06-15 11:06:12 +00005832008-06-15 Werner Lemberg <wl@gnu.org>
584
585 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
586 from clobbering. Patch from Savannah bug report #23556.
587
588 * docs/CHANGES: Document it.
589
Werner Lemberg102bb832008-06-10 04:57:19 +00005902008-06-10 Werner Lemberg <wl@gnu.org>
591
Werner Lembergb796adb2008-06-10 17:15:35 +0000592 * autogen.sh: Add option `--install' to libtoolize.
593
5942008-06-10 Werner Lemberg <wl@gnu.org>
595
Werner Lemberg6174e172008-06-10 05:58:25 +0000596 * Version 2.3.6 released.
597 =========================
598
599
600 Tag sources with `VER-2-3-6'.
601
602 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
603 version number to 2.3.6.
604
605 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
606 builds/win32/visualc/freetype.dsp,
607 builds/win32/visualc/freetype.vcproj,
608 builds/win32/visualce/index.html,
609 builds/win32/visualce/freetype.dsp,
610 builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
611
612 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
613
614 * builds/unix/configure.raw (version_info): Set to 9:17:3.
615
616
617 * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
618 and `scale_y'.
619 * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
620
621
622 * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
623 * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
624
6252008-06-10 Werner Lemberg <wl@gnu.org>
626
Werner Lemberg102bb832008-06-10 04:57:19 +0000627 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
628 `clazz->done_face'.
629
Werner Lemberg630e24d2008-06-09 21:20:18 +00006302008-06-09 VaDiM <s_sliva@rambler.ru>
631
632 Support debugging on WinCE. From Savannah patch #6536; this fixes
633 bug #23497.
634
635 * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
636 as a replacement for OutputDebugStringA (which WinCE doesn't have).
637 Update all callers.
638 (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
639 environment variables.
640
Werner Lemberga984fda2008-06-09 21:02:13 +00006412008-06-09 Werner Lemberg <wl@gnu.org>
642
643 * README.CVS: Updated.
644
Werner Lemberg26bd7a22008-06-09 21:27:17 +0000645 * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
646 for newer versions of autoconf and friends.
Werner Lemberga984fda2008-06-09 21:02:13 +0000647
Werner Lemberg7cb9ec02008-06-09 20:49:29 +00006482008-06-08 Werner Lemberg <wl@gnu.org>
649
650 * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
651 `private_len' unsigned.
652
653 * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
654 it as such.
655 (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
656
657
658 * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
659
660
661 * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
662 for sane value.
663 Fix typo.
664
665
666 * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
667
668
669 * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
670 `last_point'.
671
672
673 * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
674 `maxTwilightPoints'.
675
Werner Lembergd77e7222008-06-05 22:07:19 +00006762008-06-06 Werner Lemberg <wl@gnu.org>
677
678 * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
679 correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
680
Werner Lemberg4c3cc762008-06-03 20:53:49 +00006812008-06-03 Werner Lemberg <wl@gnu.org>
682
683 * include/freetype/ftcache.h (FTC_FaceID): Change type back to
684 FT_Pointer. Reported by Ian Britten <britten@caris.com>.
685
Werner Lemberg8e3539b2008-06-02 13:53:54 +00006862008-06-02 Werner Lemberg <wl@gnu.org>
687
688 Emit header info for defined FreeType objects in reference.
689
690 * src/tools/docmaker/content.py (re_header_macro): New regexp.
691 (ContentProcessor::__init__): Initialize new dictionary `headers'.
692 (DocBlock::__init__): Collect macro header definitions.
693
694 * src/tools/docmaker/tohtml.py (header_location_header,
695 header_location_footer): New strings.
696 (HtmlFormatter::__init__): Pass `headers' dictionary.
697 (HtmlFormatter::print_html_field): Don't emit paragraph tags.
698 (HtmlFormatter::print_html_field_list): Emit empty paragraph.
699 (HtmlFormatter::block_enter): Emit header info.
700
7012008-06-01 Werner Lemberg <wl@gnu.org>
Werner Lemberg7493ea12008-06-02 07:24:36 +0000702
703 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
704 FT_INCREMENTAL_H): Added.
705
Werner Lembergc94fa662008-05-27 23:24:07 +00007062008-05-28 Werner Lemberg <wl@gnu.org>
707
Werner Lembergde0d0052008-05-28 21:51:15 +0000708 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
709 looking for markup tags, return immediately as soon a single one is
710 found.
711
7122008-05-28 Werner Lemberg <wl@gnu.org>
713
Werner Lembergc94fa662008-05-27 23:24:07 +0000714 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
715 original, unscaled input values. Confirmed by Greg Hitchcock from
716 Microsoft.
717
Werner Lemberg35a90b72008-05-27 18:16:03 +00007182008-05-27 Werner Lemberg <wl@gnu.org>
719
720 * src/tools/docmaker/tohtml.py (block_footer_start,
721 block_footer_middle): Beautify output.
722
Werner Lembergc9381312008-05-25 12:19:34 +00007232008-05-25 Werner Lemberg <wl@gnu.org>
724
725 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
726 trying to render into a zero-width/height bitmap, not an error code.
727
Werner Lembergffa49652008-05-25 12:43:57 +0000728 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
729 of the graphics state for subglyphs to...
730 (TT_Hint_Glyph): This function.
731 Hinting instructions for a composite glyph apparently refer to the
732 just hinted subglyphs, not the unhinted, unscaled outline. This
733 seems to fix Savannah bugs #20973 and (at least partially) #23310.
734
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +00007352008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
736
737 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +0000738 `aface' is returned by FT_New_Face_From_FOND(). The patch was
739 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +0000740
Werner Lemberg16dc51f2008-05-18 17:36:15 +00007412008-05-18 Werner Lemberg <wl@gnu.org>
742
Werner Lemberg5e8a3682008-05-18 21:49:02 +0000743 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
744 correction for pixel boundary. Without this patch, the effect can
745 be cumulative under certain circumstances, making glyphs taller and
746 taller after each call. This fixes Savannah bug #19976.
747
7482008-05-18 Werner Lemberg <wl@gnu.org>
749
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000750 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
751 This fixes Savannah bug #23280.
752
753 * docs/CHANGES: Updated.
754
Werner Lembergb2116512008-09-12 16:27:48 +00007552008-05-18 David Turner <david@freetype.org>
David Turnera92cec52008-05-18 14:08:57 +0000756
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000757 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
758 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
759 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
760 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +0000761
Werner Lemberg16dc51f2008-05-18 17:36:15 +0000762 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +0000763
Werner Lemberg89d64fa2008-05-17 20:06:13 +00007642008-05-17 Sam Hocevar <samh>
765
766 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
767 glyphs correctly. Patch from Savannah bug #23277.
768
Werner Lemberga2f17cc2008-05-17 10:01:45 +00007692008-05-16 Werner Lemberg <wl@gnu.org>
770
771 * docs/CHANGES: Updated.
772
7732008-05-16 Sergey Tolstov <stolstov@esri.com>
774
775 Improve support for WGL4 encoded fonts.
776
777 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
778 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
779 ft_wgl_extra_glyph_name_offsets): New arrays.
780 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
781 (ps_unicodes_init): Use them to add additional Unicode mappings.
782
Werner Lemberg504645e2008-05-14 23:26:20 +00007832008-05-15 Werner Lemberg <wl@gnu.org>
784
Werner Lembergbcc750e2008-05-16 04:50:00 +0000785 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
786 <op_closepath>: `closepath' without a path is a no-op, not an error
787 (cf. the PS reference manual).
788
789 Reported by Martin McBride.
790
7912008-05-15 Werner Lemberg <wl@gnu.org>
792
Werner Lembergbcfcc712008-05-15 09:14:39 +0000793 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
794
7952008-05-15 Werner Lemberg <wl@gnu.org>
796
Werner Lemberg504645e2008-05-14 23:26:20 +0000797 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +0000798 which contains a single but empty entry. This is technically
799 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +0000800
801 Reported by Martin McBride.
802
Werner Lemberge6e6ead2008-05-14 23:05:38 +00008032008-05-14 Werner Lemberg <wl@gnu.org>
804
805 Finish fix of scaling bug of CID-keyed CFF subfonts.
806
807 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
808 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
809 functions.
810
811 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
812 provide global hinting data for both the top-font and all subfonts
813 (with proper scaling).
814
815 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
816 code from `cff_size_init'.
817 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
818 Use CFF_Internal and handle subfonts.
819 (cff_face_init): Handle top-dict and subfont matrices correctly;
820 apply some heuristic in case of unlikely matrix concatenation
821 results. This has been discussed with people from Adobe (thanks
822 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
823 and not correct.
824
825 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
826
827 * src/cff/cffgload.c (cff_builder_init): Updated.
828 (cff_decoder_prepare): Handle hints globals for subfonts.
829 Update all callers.
830 (cff_slot_load): Handling scaling of subfonts properly.
831
832 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
833 (cff_parse_font_matrix): Use it.
834
835 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
836 FT_ULong.
837
838 * docs/CHANGES: Document it.
839
Werner Lembergfb572282008-05-13 12:10:04 +00008402008-05-13 Werner Lemberg <wl@gnu.org>
841
842 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
843 Handle case `face_index < 0'.
844 * docs/CHANGES: Document it.
845
Werner Lemberg551dd3c2008-05-04 13:37:38 +00008462008-05-04 Werner Lemberg <wl@gnu.org>
847
848 First steps to fix the scaling bug of CID-keyed CFF subfonts,
849 reported by Ding Li on 2008/03/28 on freetype-devel.
850
851 * src/base/cff/cffparse.c (power_tens): New array.
852 (cff_parse_real): Rewritten to introduce a fourth parameter which
853 returns the `scaling' of the real number so that we have no
854 precision loss. This is not used yet.
855 Update all callers.
856 (cff_parse_fixed_thousand): Replace with...
857 (cff_parse_fixed_scaled): This function. Update all callers.
858
Werner Lemberg6d29f0f2008-05-03 15:54:15 +00008592008-05-03 Werner Lemberg <wl@gnu.org>
860
861 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
862 transformation since it recursively calls FT_Load_Glyph. This fixes
863 Savannah bug #23143.
864
Werner Lembergde9479a2008-04-26 12:52:57 +00008652008-04-26 Werner Lemberg <wl@gnu.org>
866
867 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
868 and `scale_y' as obsolete since they aren't used.
869 * src/psaux/psobjs.c (t1_builder_init): Updated.
870
871 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
872 obsolete since they aren't used.
873 * src/cff/cffgload.c (cff_builder_init): Updated.
874
Werner Lemberg4ebc8902008-04-13 22:06:12 +00008752008-04-14 Werner Lemberg <wl@gnu.org>
876
877 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
878 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
879 bug #22909.
880
Werner Lemberg048b7562008-04-13 05:55:36 +00008812008-04-13 Werner Lemberg <wl@gnu.org>
882
883 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
884 integer part is zero.
885
Werner Lembergc32e83f2008-04-01 06:07:37 +00008862008-04-01 Werner Lemberg <wl@gnu.org>
887
888 Fix compilation with g++ 4.1 (with both `single' and `multi'
889 targets).
890
891 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
892 which is crossed by a `goto'.
893
894 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
895
Werner Lemberg210d6182008-04-01 05:55:48 +00008962008-03-31 Werner Lemberg <wl@gnu.org>
897
898 Fix support for subsetted CID-keyed CFFs.
899
900 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
901 FT_IS_CID_KEYED): New macros.
902
903 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
904 maximum CID value in CID-keyed CFFs.
905 Handle FT_FACE_FLAG_CID_KEYED flag.
906
907 * docs/CHANGES: Document it.
908
909
910 Fix CFF font matrix calculation and improve precision.
911
912 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
913 part is zero.
914 (cff_parse_font_matrix): Simplify computation of `units_per_em';
915 this prevents overflow also.
916
917
918 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
919
920 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
921 (cid_get_ros): New function.
922 (cid_service_cid_info): New service structure.
923 (cid_services): Register it.
924
Werner Lemberga56e5262008-03-23 14:53:44 +00009252008-03-23 Werner Lemberg <wl@gnu.org>
926
927 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
928
929 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
930 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
931
Werner Lemberg85751172008-03-21 07:16:00 +00009322008-03-21 Laurence Darby <ldarby>
933
934 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
935 Savannah bug #22675.
936
Werner Lemberg3863c952008-03-13 06:38:37 +00009372008-03-13 Derek Clegg <dclegg@apple.com>
938
939 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
940 Patch from Savannah bug #22541.
941
Werner Lembergfc293932008-03-03 08:08:12 +00009422008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
943
944 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
945 tt_cmap14_find_variant): Return correct value.
946 (tt_cmap14_variant_chars): Fix check for `di'.
947
Werner Lemberg5057e362008-02-29 07:23:02 +00009482008-02-29 Wermer Lemberg <wl@gnu.org>
949
950 * docs/CHANGES: Updated.
951
Werner Lemberg7faa1552008-02-29 07:14:38 +00009522008-02-29 Wolf
953
954 Add build support for symbian platform. From Savannah bug #22440.
955
956 * builds/symbian/*: New files.
957
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00009582008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
959
Werner Lemberg9b9d3342008-02-21 23:22:06 +0000960 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
961 synthesis. For any face of a specified FOND, always the name for
962 the first face was used. Except of a FOND that refers multiple
963 Type1 font files, wrong synthesized font names are not used at all,
964 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +0000965
966 * builds/mac/ftmac.c: Ditto.
967
9682008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
969
Werner Lemberg31093cc2008-02-21 17:10:04 +0000970 * builds/unix/configure.raw: Split compiler option to link Carbon
971 frameworks to one option for CoreServices framework and another
972 option for ApplicationServices framework. The split options can be
973 managed by GNU libtool to avoid unrequired duplication when FreeType
974 is linked with other applications. Suggested by Daniel Macks,
975 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +0000976
Werner Lemberg28464c42008-02-18 20:34:42 +00009772008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
978
979 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
980 from Savannah bug #22356.
981
Werner Lemberg44c655b2008-02-17 08:22:08 +00009822008-02-17 Jonathan Blow <jon@number-none.com>
983
984 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
985 Check for valid callback pointers.
986
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00009872008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
988
989 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
990 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +0000991 Kazmaier. According to the Resource Manager Reference,
992 GetResource(), Get1Resource(), GetNamedResource(),
993 Get1NamedResource() and RGetResource() set noErr but return NULL
994 handle when they can not find the requested resource. These
995 functions never return undefined values, so it is sufficient to
996 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +0000997
998 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
999
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000010002008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1001
1002 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +00001003 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001004 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +00001005
1006 * builds/unix/configure.raw: Print warning if configure is executed
1007 with options to specify Carbon functionalities explicitly.
1008
1009 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001010 included automatically and manual replacement is required.
1011
Werner Lemberg744dd452008-02-11 08:22:40 +000010122008-02-11 Werner Lemberg <wl@gnu.org>
1013
1014 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
1015 (dos_setup), builds/freetype.mk (clean_project_dos,
1016 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
1017 Murdoch.
1018
Werner Lemberg4c933992008-01-18 05:32:55 +000010192008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
1020
1021 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
1022 mention intra-pixel algorithm.
1023
1024 * include/freetype/freetype.h (FT_Render_Mode): Mention that
1025 FT_Library_SetLcdFilter can be used to reduce fringes.
1026
Werner Lemberg1ddd1b72008-01-16 06:58:54 +000010272008-01-16 Werner Lemberg <wl@gnu.org>
1028
1029 * src/raster/ftraster.c (ft_black_render): Check `outline' before
1030 using it. Reported by Allan Yang.
1031
Werner Lembergeca1f272008-01-12 07:46:09 +000010322008-01-12 Werner Lemberg <wl@gnu.org>
1033
1034 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
1035
10362008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
1037
1038 * src/raster/ftraster.c (ft_black_init)
1039 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
1040
Werner Lembergbf391cb2008-01-10 08:47:08 +000010412008-01-10 Werner Lemberg <wl@gnu.org>
1042
1043 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
1044 where the number of contours in a simple glyph is zero (and which
1045 does contain an entry in the `glyf' table). This fixes Savannah bug
1046 #21990.
1047
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +000010482008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1049
1050 Formatting suggested by Sean McBride.
1051
1052 * builds/mac/ftmac.c: Formatting (tab expanded).
1053 * src/autofit/afindic.c: Ditto.
1054 * src/base/ftcid.c: Ditto.
1055 * src/base/ftmac.c: Ditto.
1056
Werner Lembergd2e15732007-12-30 23:49:14 +000010572007-12-30 Werner Lemberg <wl@gnu.org>
1058
1059 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
1060 correctly.
1061
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +000010622007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1063
1064 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +00001065 references in a resource. In HelveLTMM (resource-fork PostScript
1066 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
1067 of PFB chunks is not sorted; sorting the chunks by reference IDs is
1068 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001069
Werner Lembergd2e15732007-12-30 23:49:14 +00001070 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
1071 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001072
Werner Lembergd2e15732007-12-30 23:49:14 +00001073 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
1074 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001075
Werner Lembergd2e15732007-12-30 23:49:14 +00001076 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
1077 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001078
Werner Lembergd156cab2007-12-14 07:48:32 +000010792007-12-14 Werner Lemberg <wl@gnu.org>
1080
1081 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
1082 division too early; otherwise the most significant digit(s) of the
1083 final result are lost as the value is truncated to an integer. This
1084 fixes Savannah bug #21794 (where the patch has been posted too).
1085
Werner Lembergbd7e1c32007-12-06 17:17:30 +000010862007-12-06 Fix <4d876b82@gmail.com>
1087
1088 Pass options from one configure script to another as-is (not
1089 expanded). This is needed for options like
1090 --includedir='${prefix}/include'.
1091
1092 * builds/unix/detect.mk, configure: Prevent argument expansion in
1093 call to the (real) `configure' script.
1094
10952007-12-06 Werner Lemberg <wl@gnu.org>
1096
1097 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
1098 TT_USE_BYTECODE_INTERPRETER isn't defined.
1099
11002007-12-06 Werner Lemberg <wl@gnu.org>
1101
1102 There exist CFFs which contain opcodes for the Type 1 operators
1103 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
1104 However, it doesn't harm to support them.
1105
1106 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
1107 `cff_op_closepath.'
1108 (cff_argument_counts): Ditto.
1109
1110 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
1111 and 13 (hsbw) which are invalid in Type 2 charstrings.
1112
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +000011132007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1114
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001115 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
1116 support new pathname syntax `..namedfork/rsrc' to access a resource
1117 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
1118 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +00001119 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
1120 buffer size to store a pathname.
1121 * include/freetype/internal/ftrfork.h: Increment the number of
1122 resource fork guessing rule.
1123
11242007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1125
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001126 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001127 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001128 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001129 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
1130
11312007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1132
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00001133 The documents and comments for Mac OS X are improved by Sean
1134 McBride.
1135
1136 * src/base/ftmac.c: Fix a comment.
1137 * include/freetype/ftmac.h: Ditto.
1138 * docs/INSTALL.MAC: Improve English and add comment on lowest
1139 system version specified by MACOSX_DEPLOYMENT_TARGET.
1140
Werner Lemberga10d2b72007-12-04 22:05:54 +000011412007-12-04 Werner Lemberg <wl@gnu.org>
1142
1143 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
1144 concatenate error codes.
1145 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
1146
Werner Lembergd496b922007-12-04 21:49:59 +000011472007-12-04 Graham Asher <graham.asher@btinternet.com>
1148
1149 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
1150 concatenate error codes.
1151
Werner Lembergc0da5232007-12-04 21:44:32 +000011522007-12-04 Sean McBride <sean@rogue-research.com>
1153
1154 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
1155 warning.
1156
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +000011572007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1158
Werner Lemberg6174e172008-06-10 05:58:25 +00001159 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
Werner Lemberg24fe6182007-11-23 09:18:07 +00001160 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
1161 cannot mmap() the specified file and cannot seek to head of the
1162 specified file, it returns NULL stream and FT_Open_New() returns the
1163 error immediately. On MacOS, most legacy MacOS fonts fall into such
1164 a scenario because their data forks are zero-sized and cannot be
1165 sought. To proceed to guessing of resource fork fonts, the
1166 functions for legacy MacOS font must properly handle the NULL stream
1167 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001168
Werner Lemberg24fe6182007-11-23 09:18:07 +00001169 * src/base/ftobjs.c (IsMacBinary): Return error
1170 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
1171 passed.
1172 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
1173 to fallback. Originally, legacy MacOS font is tested in the cases
1174 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
1175 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
1176 .dfont header is combined). Now the case of
1177 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001178
Werner Lemberg24fe6182007-11-23 09:18:07 +00001179 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
1180 skip FT_Stream_Seek(), which seeks to the head of stream, and
1181 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
1182 for a NULL stream causes a Bus error on Mac OS X.
1183 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001184 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001185 (raccess_guess_apple_single): Ditto.
1186
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000011872007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1188
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +00001189 Fix for Carbon incompatibilities since Mac OS X 10.5,
1190 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001191
1192 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
1193
1194 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
Werner Lemberg830846e2008-07-27 06:27:21 +00001195 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001196 Carbon functions from a forked process is classified as unsafe
Werner Lemberg830846e2008-07-27 06:27:21 +00001197 by Apple. All Carbon-dependent functions should be deprecated.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001198
1199 * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
1200 and <ApplicationServices/ApplicationServices.h> instead of
1201 all-in-one header file <CoreServices/CoreServices.h>.
1202
1203 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
1204 genuine macro PATH_MAX.
1205
1206 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
1207 is not found in Mac OS X 10.0.
1208
1209 Multi-character constants ('POST', 'sfnt' etc) are replaced by
1210 64bit constants calculated by FT_MAKE_TAG() macro.
1211
1212 For the index in the segment of resource fork, new portable
1213 type ResourceIndex is introduced for better compatibility.
1214 This type is since Mac OS X 10.5, so it is defined as short
1215 when built on older platforms.
1216
1217 (FT_ATSFontGetFileReference): If build target is only the systems
1218 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
1219
1220 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
1221 and newer or 64bit platform, because legacy type FSSpec type is
1222 removed completely.
1223
1224 (FT_New_Face_From_FSSpec): Ditto.
1225
12262007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +00001227
1228 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
1229 fixes Savannah bug #21485.
1230
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000012312007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +00001232
1233 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
1234 can handle the font at all, then check `face_index'. Otherwise, the
1235 driver might return the wrong error code. This fixes Savannah bug
1236 #21468.
1237
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000012382007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001239
1240 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +00001241 support for bit 8 of the `fsSelection' field in the `OS/2' table.
1242 MS is already using this; hopefully, this becomes part of OpenType
1243 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001244 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
1245 (WWS_SUBFAMILY).
1246
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000012472007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +00001248
1249 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
1250 Add `td.left' element to CSS.
1251 (toc_section_enter): Use it.
1252
David Turnercf432db2007-10-19 12:36:40 +000012532007-10-18 David Turner <david@freetype.org>
1254
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001255 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
1256 functions related to cmap type 14 support to the
1257 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +00001258
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001259 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
1260 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
1261 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
1262 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
1263 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
1264
1265 Update documentation accordingly.
1266
1267 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
1268 Make the code a little more consistent with FreeType coding
1269 conventions and modify the cmap14 functions that returned a newly
1270 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +00001271 instead.
1272
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001273 (TT_CMap14Rec): Provide array and auxiliary data for result.
1274 (tt_cmap14_done, tt_cmap14_ensure): New functions.
1275
1276 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
1277 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
1278 tt_cmap14_char_var_index, tt_cmap14_variants,
1279 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1280 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1281 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
1282
Werner Lemberg9a966b72007-10-15 17:21:32 +000012832007-10-15 George Williams <gww@silcom.com>
1284
1285 Add support for cmap type 14.
1286
1287 * devel/ftoption.h, include/freetype/config/ftoption.h
1288 (TT_CONFIG_CMAP_FORMAT_14): New macro.
1289
1290 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
1291 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
1292 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
1293 support function prototypes.
1294 (FT_CMap_ClassRec): Add them.
1295 Update all users.
1296
1297 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
1298 macro.
1299
1300 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
1301 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
1302 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
1303 functions.
1304
1305 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
1306 function.
1307 (FT_Set_Charmap): Disallow cmaps of type 14.
1308 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
1309 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
1310 FT_Get_Chars_Of_Variant): New API functions.
1311
1312 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
1313
1314 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
1315 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
1316 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
1317 tt_cmap14_find_variant, tt_cmap14_char_var_index,
1318 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
1319 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1320 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1321 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
1322 structures for cmap 14 support.
1323 (tt_cmap_classes): Register tt_cmap14_class_rec.
1324 (tt_face_build_cmaps): One more error message.
1325
1326 * docs/CHANGES: Mention cmap 14 support.
1327
Werner Lemberg74597cc2007-10-01 07:08:56 +000013282007-10-01 Werner Lemberg <wl@gnu.org>
1329
1330 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +00001331 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +00001332 This favours MS charmaps over Apple ones.
1333
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +000013342007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1335
Werner Lemberg9a966b72007-10-15 17:21:32 +00001336 * src/base/ftmac.c: Introduction of abstract `short' data types,
1337 ResFileRefNum and ResID. These types were introduced for Copland,
1338 then backported to MPW. The variables exchanged with FileManager
1339 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00001340 proposed by Sean McBride.
1341 * builds/mac/ftmac.c: Ditto.
1342
Werner Lembergabc44f52007-08-18 06:38:07 +000013432007-08-18 Werner Lemberg <wl@gnu.org>
1344
1345 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
1346 by Imran Yousaf. Fixes Savannah bug #20773.
1347
1348 (otv_Lookup_validate): Correct handling of LookupType. Found by
1349 Imran Yousaf. Fixes Savannah bug #20782.
1350
Werner Lemberg23a424f2007-08-17 20:16:44 +000013512007-08-17 George Williams <gww@silcom.com>
1352
1353 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
1354 SingleSubstFormat1.
1355
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000013562007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1357
1358 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
1359 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
1360 Found by Ryan Hill.
1361
Werner Lemberg3f1905b2007-08-11 15:45:32 +000013622007-08-11 George Williams <gww@silcom.com>
1363
1364 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
1365 (otv_Coverage_validate): Add fourth argument to pass an expected
1366 count value. Update all users.
1367 Check glyph IDs.
1368 (otv_ClassDef_validate): Check `StartGlyph'.
1369
1370 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
1371 checks.
1372
1373 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
1374 56 constants.
1375 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
1376 Check glyph IDs.
1377
Werner Lembergd76fe5a2007-08-08 06:38:06 +000013782007-08-08 Werner Lemberg <wl@gnu.org>
1379
1380 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
1381 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
1382 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
1383 appropriate. Reported by George.
1384
1385 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
1386
1387 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
1388
1389 * docs/CHANGES: Updated.
1390
13912007-08-08 George Williams <gww@silcom.com>
1392
1393 Add `MATH' validating support to otvalid module.
1394
1395 * include/freetype/tttags.h (TTAG_MATH): New macro.
1396 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
1397 (FT_VALIDATE_OT): Updated.
1398
1399 * src/otvalid/otmath.c: New file.
1400
1401 * src/otvalid/otvalid.c: Include otvmath.c.
1402 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
1403
Werner Lembergb6617882007-08-04 22:17:48 +000014042007-08-04 Werner Lemberg <wl@gnu.org>
1405
David Turnercf432db2007-10-19 12:36:40 +00001406 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +00001407 Fixes Savannah bug #20686.
1408
Werner Lembergd6752a62007-08-02 22:03:30 +000014092007-08-03 Werner Lemberg <wl@gnu.org>
1410
1411 * src/psnames/psmodule.c: Fix usage of
1412 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
1413
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +000014142007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1415
1416 * src/base/ftmac.c (open_face_from_buffer): The argument
1417 `driver_name' is typed as `const char*' to match with the
1418 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
1419 This is same with open_face_from_buffer in src/base/ftobjs.c.
1420 Found and fixed by Sean McBride.
1421
Werner Lemberg39c91ad2007-07-28 05:40:40 +000014222007-07-28 Werner Lemberg <wl@gnu.org>
1423
1424 * src/raster/ftraster.c (count_table): Make it conditional.
1425 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
1426 a preprocessor statement.
1427
Werner Lemberg71dd6872007-07-27 04:44:36 +000014282007-07-27 Werner Lemberg <wl@gnu.org>
1429
1430 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
1431 first usage. From Savannah patch #6115.
1432
Werner Lembergef915c32007-07-16 20:46:05 +000014332007-07-16 Werner Lemberg <wl@gnu.org>
1434
1435 * docs/CHANGES: Updated.
1436
14372007-07-16 Derek Clegg <dclegg@apple.com>
1438
1439 Add new service for getting the ROS from a CID font.
1440
1441 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
1442 * include/freetype/ftcid.h: New file.
1443
1444 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
1445 * include/freetype/internal/services/svcid.h: New file.
1446
1447 * src/base/ftcid.c: New file.
1448
1449 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
1450 (cff_get_ros): New function.
1451 (cff_service_cid_info): New service structure.
1452 (cff_services): Register it.
1453
1454 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
1455
1456 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
1457
1458 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
1459
Werner Lemberg2f109562007-07-11 05:32:00 +000014602007-07-11 Derek Clegg <dclegg@apple.com>
1461
1462 Add support for postscript name service to CFF driver.
1463
1464 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
1465 (cff_get_ps_name): New function.
1466 (cff_service_ps_name): New service structure.
1467 (cff_services): Register it.
1468
Werner Lembergb003b3e2007-07-08 07:13:12 +000014692007-07-07 Werner Lemberg <wl@gnu.org>
1470
1471 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
1472 `target'. Reported by Sean McBride.
1473
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000014742007-07-06 Werner Lemberg <wl@gnu.org>
1475
1476 * src/pfr/pfrcmap.c: Include pfrerror.h.
1477
1478 * src/autofit/afindic.c: Add some external declarations to pacify
1479 `make multi' compilation.
1480
1481 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
1482
1483 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
1484 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
1485 src/autofit/aflatin.c (af_latin_hints_compute_edges),
1486 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
1487 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
1488 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
1489
1490 * docs/release: Mention test compilation targets.
1491
Werner Lemberg986ea4b2007-07-04 04:53:15 +000014922007-07-04 Werner Lemberg <wl@gnu.org>
1493
1494 * docs/PROBLEMS: Mention that some PS based fonts can't be
1495 handled correctly by FreeType.
1496
Werner Lemberg3033f432007-07-04 14:12:19 +00001497 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
1498 recursion depth of 1. This was the maximum value in TrueType 1.0,
1499 and some older fonts don't set this field correctly.
1500
1501 * src/gxvalid/gxvmort1.c
1502 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
1503
Werner Lemberg3b0e5002007-07-03 04:48:19 +000015042007-07-03 Werner Lemberg <wl@gnu.org>
1505
1506 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
1507 `round' to pacify compiler.
1508
15092007-07-02 Werner Lemberg <wl@gnu.org>
1510
1511
1512 * Version 2.3.5 released.
1513 =========================
1514
1515
1516 Tag sources with `VER-2-3-5'.
1517
1518 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1519 version number to 2.3.5.
1520
1521 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1522 builds/win32/visualc/freetype.dsp,
1523 builds/win32/visualc/freetype.vcproj,
1524 builds/win32/visualce/index.html,
1525 builds/win32/visualce/freetype.dsp,
1526 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
1527
1528 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
1529
1530 * builds/unix/configure.raw (version_info): Set to 9:16:3.
1531
David Turner0ba89912007-07-01 09:34:04 +000015322007-07-01 David Turner <david@freetype.org>
1533
Werner Lemberge3be90b2007-07-02 14:58:58 +00001534 * include/freetype/freetype.h, src/base/ftpatent.c
1535 (FT_Face_SetUnpatentedHinting): New function to dynamically change
1536 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +00001537
Werner Lemberge3be90b2007-07-02 14:58:58 +00001538 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
1539 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +00001540
David Turner74cc0e92007-06-30 22:54:12 +000015412007-06-30 David Turner <david@freetype.org>
1542
Werner Lemberge3be90b2007-07-02 14:58:58 +00001543 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
1544 initialization.
David Turner74cc0e92007-06-30 22:54:12 +00001545
Werner Lemberge3be90b2007-07-02 14:58:58 +00001546 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
1547 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +00001548
Werner Lemberg7723dc32007-06-26 04:44:35 +000015492007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
1550
1551 Add autofit module for Indic scripts. This currently just reuses
1552 the CJK-specific functions.
1553
1554 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
1555 macro.
1556 * devel/ftoption.h: Synchronize with
1557 include/freetype/config/ftoption.h.
1558
1559 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
1560
1561 * src/autofit/afglobal.c, src/autofit/aftypes.h,
1562 src/autofit/autofit.c: Updated.
1563
1564 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
1565 (AUTOF_DRV_SRC): Updated.
1566
David Turner8f626b02007-06-22 22:22:38 +000015672007-06-23 David Turner <david@freetype.org>
1568
Werner Lemberg7854c4a2007-06-23 07:16:20 +00001569 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
1570 2007-06-16 that prevented the TrueType module from loading most
1571 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00001572
Werner Lemberg5b4d4352007-06-20 07:07:55 +000015732007-06-20 Werner Lemberg <wl@gnu.org>
1574
1575 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
1576 change.
1577
Werner Lemberg9fe58152007-06-19 07:57:30 +000015782007-06-19 Werner Lemberg <wl@gnu.org>
1579
1580 * src/type1/t1load.c (parse_encoding): Handle one more error.
1581
Werner Lemberg5a829392007-06-19 04:53:30 +000015822007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
1583
1584 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
1585 FNT_Err_Invalid_File_Format if file format was recognized but
1586 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
1587 Add verbose debug logs to make it easier to debug failing load
1588 attempts.
1589 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
1590 so return an error if requested face index is > 0.
1591 Do not do further attempt to load fonts if a previous attempt has
1592 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
1593 file format has been recognized but no fonts found in the file.
1594
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000015952007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1596
1597 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
1598 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
1599 the compiler warnings against unused arguments.
1600 (FT_ATSFontGetFileReference): Ditto.
1601 (FT_GetFile_From_Mac_ATS_Name): Ditto.
1602 (FT_New_Face_From_FSSpec): Ditto.
1603 (lookup_lwfn_by_fond): Fix wrong comment.
1604 Replace `const StringPtr' by more appropriate type
1605 `ConstStr255Param'.
1606 FSRefMakePathPath always returns UTF8 POSIX pathname in
1607 Mach-O, thus HFS pathname support is dropped.
1608 (count_faces): Remove HLock and HUnlock which is not
1609 required on Mac OS X anymore.
1610 (FT_New_Face_From_SFNT): Ditto.
1611 (FT_New_Face_From_FOND): Ditto.
1612 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
1613 except of HFS pathname support and HLock/HUnlock.
1614 They are required on classic CFM environment.
1615
16162007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +00001617
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001618 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
1619 assertion.
1620 (ps_parser_to_bytes): Fix error message.
1621
Werner Lembergbb2510d2007-06-18 17:07:49 +00001622 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001623 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
1624 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +00001625 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +00001626 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001627
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016282007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +00001629
Werner Lembergf48aec72007-06-18 07:07:55 +00001630 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
1631 logic.
1632 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
1633 correctly.
1634 (ps_parser_load_field_table): Use `fields->array_max' instead of
1635 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
1636
Werner Lemberg95104a42007-06-18 07:33:10 +00001637 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
1638 2007-06-06.
1639
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016402007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +00001641
1642 * src/tools/ftrandom.c (font_size): New global variable.
1643 (TestFace): Use it.
1644 (main): Handle new option `--size' to set `font_size'.
1645 (Usage): Updated.
1646
Werner Lembergbe183eb2007-06-17 11:27:17 +00001647 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
1648 invalid font.
1649 (FNT_Load_Glyph): Protect against invalid bitmap width.
1650
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016512007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +00001652
Werner Lemberge12ed562007-06-17 05:31:23 +00001653 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
1654 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +00001655
Werner Lemberge12ed562007-06-17 05:31:23 +00001656 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
1657 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +00001658
Werner Lemberge12ed562007-06-17 05:31:23 +00001659 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
1660 and `zp2'.
1661 (Ins_IP): Check argument ranges to reject bogus operations properly.
1662 (IUP_WorkerRec): Add `max_points' member.
1663 (_iup_worker_interpolate): Check argument ranges.
1664 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +00001665
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016662007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +00001667
1668 * src/winfonts/winfnt.h: Add necessary structures for PE resource
1669 parsing.
1670 (WinPE32_HeaderRec): New structure.
1671 (WinPE32_SectionRec): New structure.
1672 (WinPE_RsrcDirRec): New structure.
1673 (WinPE_RsrcDirEntryRec): New structure.
1674 (WinPE_RsrcDataEntryRec): New structure.
1675 (FNT_FontRec): Remove unused `size_shift' field.
1676
1677 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
1678 loading bitmap .fon files in PE format.
1679
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016802007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +00001681
1682 * builds/win32/ftdebug.c: Unify debug level handling with other
1683 platforms.
1684
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016852007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +00001686
1687 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
1688 console as well as to the debugger.
1689
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000016902007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +00001691
1692 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
1693 cover all ranges which could possibly be handled by the aflatin
1694 module (since the default fallback for unknown ranges is now the
1695 afcjk module). It might be necessary to fine-tune this further by
1696 splitting off modules for Greek, Cyrillic, or other blocks.
1697
David Turnerb7920172007-06-11 05:37:35 +000016982007-06-11 David Turner <david@freetype.org>
1699
Werner Lemberg49e18b82007-06-11 21:15:09 +00001700 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
1701 incorrect segment linking computation. This was the root cause of
1702 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +00001703
1704
Werner Lemberg49e18b82007-06-11 21:15:09 +00001705 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
1706 to improve the Latin auto-hinter. Note that the new code is
1707 disabled by default since it is not stabilized yet.
1708
1709 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
1710 (disabled currently).
1711
1712 * src/autofit/afhints.c: Remove dead code.
1713 (af_axis_hints_new_edge): Add argument to handle segment directions.
1714 (af_edge_flags_to_string): New function.
1715 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
1716 option flags.
1717 (af_glyph_hints_reload): Add argument to handle inflections.
1718 Simplify.
1719 (af_direction_compute): Fine tuning.
1720 (af_glyph_hints_align_edge_points): Fix logic.
1721 (af_glyph_hints_align_strong_points): Do linear search for small
1722 edge counts.
1723 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
1724 (af_iup_shift): Handle zero `delta'.
1725
1726 * src/autofit/afhints.h: Updated.
1727 (AF_SORT_SEGMENTS): New macro (disabled).
1728 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
1729
1730 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
1731 argument to pass option flags for handling scripts.
1732 * src/autofit/afglobal.h: Updated.
1733
1734 * src/autofit/afcjk.c: Updated.
1735 * src/autofit/aflatin.c: Updated.
1736 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
1737
1738 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
1739 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
1740 Don't set `edge->dir'
1741 (af_latin_hint_edges): Add more logging.
1742
1743 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00001744
Werner Lembergf6c120f2007-06-11 04:55:58 +000017452007-06-11 Werner Lemberg <wl@gnu.org>
1746
Werner Lembergcf7b7642007-06-11 04:58:01 +00001747 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00001748
David Turner84c6f882007-06-10 20:51:04 +000017492007-06-10 David Turner <david@freetype.org>
1750
Werner Lembergf6c120f2007-06-11 04:55:58 +00001751 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
1752 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00001753
Werner Lembergf6c120f2007-06-11 04:55:58 +00001754 * include/freetype/config/ftoption.h: Clarify documentation
1755 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00001756
Werner Lembergf6c120f2007-06-11 04:55:58 +00001757
1758 Add new `FT_Face_CheckTrueTypePatents' API.
1759
1760 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
1761 declaration.
1762
1763 * include/freetype/internal/services/svttglyf.h,
1764 src/base/ftpatent.c: New files.
1765
1766 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
1767 New macro.
1768
1769 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
1770 `ttpload.h'.
1771 (tt_service_truetype_glyf): New service structure.
1772 (tt_services): Register it.
1773
1774 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
1775 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00001776
Werner Lemberg33db39e2007-06-08 06:30:29 +000017772007-06-08 Werner Lemberg <wl@gnu.org>
1778
David Turner84c6f882007-06-10 20:51:04 +00001779 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00001780 Fonts without a cmap must be handled correctly by FreeType (anything
1781 else would be a bug).
1782
1783
1784 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1785 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
1786
Werner Lemberg88ab6382007-06-07 05:01:56 +000017872007-06-07 Werner Lemberg <wl@gnu.org>
1788
1789 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
1790 tt_sbit_decoder_load_image): Protect against integer overflows.
1791
1792
1793 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
1794 for `x_control' and `y_control'.
1795
Werner Lemberg2a2dca62007-06-06 04:39:37 +000017962007-06-06 Werner Lemberg <wl@gnu.org>
1797
1798 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
1799
Werner Lemberga8d65492007-06-06 04:47:49 +00001800
1801 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
1802 FreeType error.
1803
Werner Lemberg470210b2007-06-06 10:05:49 +00001804
1805 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
1806 `font_count'.
1807
1808
1809 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
1810
1811
1812 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
1813 `FT_Error'.
1814 Check `fd_index'.
1815 (cff_slot_load): Updated.
1816 * src/cff/cffgload.h: Updated.
1817
Werner Lemberg6c054752007-06-05 05:27:54 +000018182007-06-05 Werner Lemberg <wl@gnu.org>
1819
1820 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
1821 (pfr_glyph_load_simple): Convert assertion into normal FreeType
1822 error.
1823 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00001824 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
1825 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00001826
1827 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
1828
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001829
Werner Lemberg470210b2007-06-06 10:05:49 +00001830 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00001831
Werner Lemberge5c14d92007-06-05 20:50:37 +00001832
1833 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
1834 in case of parsing error.
1835 (ps_parser_load_field): Updated.
1836
1837 * src/type1/t1load.c (parse_font_matrix): Updated.
1838
Werner Lembergad18b362007-06-04 07:04:05 +000018392007-06-04 Werner Lemberg <wl@gnu.org>
1840
1841 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
1842
1843 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
1844
Werner Lemberg3d507fe2007-06-03 16:54:55 +000018452007-06-03 Werner Lemberg <wl@gnu.org>
1846
Werner Lemberg99a320b2007-06-03 19:21:26 +00001847 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
1848 George Williams (with some modifications).
1849
18502007-06-03 Werner Lemberg <wl@gnu.org>
1851
Werner Lemberg3d507fe2007-06-03 16:54:55 +00001852 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
1853 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
1854 face == NULL. Suggested by Graham Asher.
1855
Werner Lembergce280a22007-06-03 05:58:30 +000018562007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
1857
1858 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
1859
Werner Lemberg5b591e42007-06-01 22:16:43 +000018602007-06-02 Werner Lemberg <wl@gnu.org>
1861
1862 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
1863 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
1864
1865 * src/bdf/bdflib.c (bdf_load_font): Use them.
1866
1867 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
1868
Werner Lembergb9933f42007-06-01 21:27:12 +000018692007-06-01 Werner Lemberg <wl@gnu.org>
1870
1871 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
1872 (FTC_CMapCache_Lookup): Remove unused code.
1873
Werner Lembergc793d902007-06-01 20:51:11 +000018742007-06-01 Sean McBride <sean@rogue-research.com>
1875
1876 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
1877 unused.
1878
Werner Lembergbebc7b12007-06-01 06:32:30 +000018792007-06-01 Werner Lemberg <wl@gnu.org>
1880
1881 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
1882 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00001883 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00001884
Werner Lembergcb37b3b2007-06-01 06:49:03 +00001885 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
1886 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
1887
Werner Lembergba03af62007-05-30 13:57:02 +000018882007-05-30 Werner Lemberg <wl@gnu.org>
1889
1890 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
1891 against too small binary data strings.
1892
1893 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
1894
David Turnerf0cd69c2007-05-28 15:42:09 +000018952007-05-28 David Turner <david@freetype.org>
1896
Werner Lemberg99e0c182007-05-29 07:00:23 +00001897 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
1898 transformation. This significantly reduces the loading time of CFF
1899 glyphs.
David Turner552a9562007-05-28 15:45:35 +00001900
Werner Lemberg99e0c182007-05-29 07:00:23 +00001901 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00001902
Werner Lemberg99e0c182007-05-29 07:00:23 +00001903 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
1904 hinting script to CJK, since it works well with more scripts than
1905 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
1906 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00001907
Werner Lemberg1c8980e2007-05-25 07:11:12 +000019082007-05-25 Werner Lemberg <wl@gnu.org>
1909
1910 * docs/CHANGES: Updated.
1911
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000019122007-05-24 Werner Lemberg <wl@gnu.org>
1913
1914 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
1915 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
1916
19172007-05-24 Graham Asher <graham.asher@btinternet.com>
1918
1919 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
1920 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
1921
David Turner0d0365e2007-05-22 09:53:44 +000019222007-05-22 David Turner <david@freetype.org>
1923
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001924 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
1925 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00001926
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001927
1928 Avoid heap blowup with very large .Z font files. This fixes
1929 Savannah bug #19910.
1930
1931 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
1932 `in_limit', `pad', `pad_bits', and `in_buff' members.
1933 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
1934 `buf_total' members.
1935
1936 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
1937 only one argument.
1938 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00001939
19402007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00001941
1942 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
1943 (ps_dimension_set_mask_bits): Remove `const'.
1944
David Turner0d0365e2007-05-22 09:53:44 +000019452007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00001946
1947 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1948 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
1949
Werner Lembergb826fa72007-05-19 07:18:48 +000019502007-05-19 Derek Clegg <dclegg@apple.com>
1951
1952 Savannah patch #5929.
1953
1954 * include/freetype/tttables.h, src/base/ftobjcs.c
1955 (FT_Get_CMap_Format): New function.
1956
1957 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
1958 `format' member.
1959 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
1960 cmap_info->format.
1961
Werner Lemberg6f99c882007-05-19 07:01:49 +000019622007-05-19 Werner Lemberg <wl@gnu.org>
1963
1964 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
1965 before handling subglyphs so that it can be reinitialized each time.
1966 This fixes Savannah bug #19859.
1967
Werner Lemberg95bc9d32007-05-16 15:19:42 +000019682007-05-16 Werner Lemberg <wl@gnu.org>
1969
1970 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
1971 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
1972 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
1973 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
1974 tt_face_get_metrics): Fix type-punning issues.
1975
David Turner0a24bd22007-05-15 10:54:10 +000019762007-05-15 David Turner <david@freetype.org>
1977
1978 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001979 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
1980 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00001981 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001982 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00001983
Werner Lemberg607dec72007-05-15 06:49:37 +000019842007-05-15 Graham Asher <graham.asher@btinternet.com>
1985
1986 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
1987 variable.
1988 * src/autofit/afloader.c (af_loader_load_g): Ditto.
1989
1990 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
1991 (open_face_from_buffer): Initialize `stream'.
1992 (FT_Request_Metrics): Remove unused variable.
1993 Remove redundant `break' statements.
1994 (FT_Get_Track_Kerning): Remove unused variable.
1995
1996 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
1997 afm_parse_kern_data): Remove redundant
1998 `break' statements.
1999 (afm_parser_parse): Ditto.
2000 Don't use uninitialized variables.
2001
2002 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
2003 Use `|' operator instead of `^' to set it.
2004 Update all users.
2005
2006 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
2007 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
2008
2009 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
2010 comparison.
2011 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
2012 (TT_Load_Glyph): Remove unused variable.
2013
Werner Lemberg8d463a52007-05-13 16:01:55 +000020142007-05-13 Derek Clegg <dclegg@apple.com>
2015
2016 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
2017 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
2018
David Turner711cf842007-05-11 14:36:24 +000020192007-05-11 David Turner <david@freetype.org>
2020
Werner Lemberg56ceaa42007-05-14 18:53:58 +00002021 * src/cache/ftbasic.c, include/freetype/ftcache.h
2022 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
2023 functions that allow us to look up glyphs using an FTC_Scaler object
2024 to specify the size, making it possible to use fractional pixel
2025 sizes.
2026
2027 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
2028 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00002029
Werner Lemberg94be20e2007-05-09 20:02:55 +000020302007-05-09 Graham Asher <graham.asher@btinternet.com>
2031
2032 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
2033 (af_latin_metrics_scale_dim): Fix compiler warnings.
2034
Werner Lemberg41271032007-05-06 04:51:48 +000020352007-05-06 Werner Lemberg <wl@gnu.org>
2036
2037 * builds/win32/visualce/freetype.sln: Removed, as requested by
2038 Vincent.
2039
Werner Lembergdf49e692007-05-04 06:30:05 +000020402007-05-04 Vincent RICHOMME <richom.v@free.fr>
2041
2042 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
2043 PC targets.
2044
2045 * docs/CHANGES: Document them.
2046
20472007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00002048
2049 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
2050 mmap (which might happen on some RTOS). From Savannah patch #5909.
2051
Werner Lemberg106eaf12007-05-03 07:07:47 +000020522007-05-03 Werner Lemberg <wl@gnu.org>
2053
2054 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
2055 * include/freetype/freetype.h (FT_Set_Char_Size): Update
2056 documentation.
2057
Werner Lemberg1b5267d2007-04-28 21:06:15 +000020582007-04-28 Victor Stinner <victor.stinner@inl.fr>
2059
2060 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
2061 `cmap'.
2062
Werner Lembergcc712a22007-04-27 17:16:50 +000020632007-04-27 Werner Lemberg <wl@gnu.org>
2064
2065 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
2066 number of points in contours. Problem reported by Victor Stinner
2067 <victor.stinner@haypocalc.com>.
2068 (TT_Process_Simple_Glyph): Synchronize variable types.
2069
Werner Lemberg45bb18f2007-04-26 06:26:35 +000020702007-04-26 Werner Lemberg <wl@gnu.org>
2071
2072 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
2073 zero in case of error. This fixes Savannah bug #19689.
2074
Werner Lembergb2116512008-09-12 16:27:48 +000020752007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
David Turnera8b45e62007-05-11 14:10:30 +00002076
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002077 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
2078 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00002079
Werner Lembergfcc1f472007-04-10 11:51:50 +000020802007-04-10 Martin Horak <horakm@centrum.cz>
2081
2082 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
2083 Ignore `hhea' table. This fixes Savannah bug #19261.
2084
Werner Lemberg14bf82e2007-04-10 04:09:49 +000020852007-04-09 Werner Lemberg <wl@gnu.org>
2086
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002087
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002088 * Version 2.3.4 released.
2089 =========================
2090
2091
2092 Tag sources with `VER-2-3-4'.
2093
2094 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2095 version number to 2.3.4.
2096
2097 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2098 builds/win32/visualc/freetype.dsp,
2099 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
2100
2101 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
2102
2103 * builds/unix/configure.raw (version_info): Set to 9:15:3.
2104
Werner Lembergf4a52a62007-04-09 08:40:11 +000021052007-04-09 Martin Horak <horakm@centrum.cz>
2106
2107 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
2108 memory stream to avoid a crash with the incremental memory
2109 interface (Savannah bug #19260).
2110
David Turner1dcb4442007-04-06 08:19:04 +000021112007-04-06 David Turner <david@freetype.org>
2112
Werner Lembergc81cf612007-04-06 09:28:23 +00002113 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
2114 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00002115
Werner Lemberg9f83e052007-04-05 02:28:23 +000021162007-04-04 Werner Lemberg <wl@gnu.org>
2117
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002118
Werner Lemberg9f83e052007-04-05 02:28:23 +00002119 * Version 2.3.3 released.
2120 =========================
2121
2122
2123 Tag sources with `VER-2-3-3'.
2124
2125 * docs/CHANGES: Mention CVE-2007-1351.
2126
David Turner7338ec22007-04-03 14:30:34 +000021272007-04-03 David Turner <david@freetype.org>
2128
2129 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00002130 if one of the resolution values is 0, treat it as if it were the
2131 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00002132
David Turnere6472c12007-04-02 13:13:54 +000021332007-04-02 David Turner <david@freetype.org>
2134
Werner Lemberg94f12272007-04-03 07:19:53 +00002135 Add special code to detect `extra-light' fonts and do not snap their
2136 stem widths too much to avoid bizarre hinting effects.
2137
2138 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
2139 `extra_light' members.
2140
2141 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
2142 them.
2143 (af_latin_metrics_scale_dim): Set `extra_light'.
2144 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00002145
David Turner3f539692007-03-28 14:53:40 +000021462007-03-28 David Turner <david@freetype.org>
2147
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002148 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00002149 padding.
2150
Werner Lemberga08b2172007-03-28 07:17:17 +000021512007-03-28 Werner Lemberg <wl@gnu.org>
2152
2153 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
2154 gracefully.
2155 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00002156 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00002157 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
2158 number of code points in Unicode.
2159
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002160 * builds/win32/visualc/index.html,
2161 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002162 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002163 s/232/233/.
2164
2165 * docs/CHANGES: Mention ftdiff.
2166
David Turner3b242d32007-03-26 12:03:04 +000021672007-03-26 David Turner <david@freetype.org>
2168
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002169 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
2170 corresponding code.
2171 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00002172
Werner Lemberga08b2172007-03-28 07:17:17 +00002173 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002174 computations in order to ignore single-point contours. These are
2175 never rasterized and correspond in certain fonts to mark-attach
2176 points that are very far from the glyph's real outline, ruining the
2177 computation.
David Turnerf58caa02007-03-26 12:39:25 +00002178
Werner Lemberga08b2172007-03-28 07:17:17 +00002179 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00002180 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00002181 Otherwise code that uses them will most certainly ruin the fixed
2182 advance property.
David Turner23553d62007-03-26 13:37:17 +00002183
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002184 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
2185 documentation and bump version number to 2.3.3.
2186
2187 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
2188
2189 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00002190
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000021912007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2192
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002193 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
2194 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002195 * builds/vms/ftconfig.h: Ditto.
2196 * include/freetype/config/ftconfig.h: Ditto.
2197
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000021982007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2199
Werner Lemberg14ffe092007-03-22 06:12:43 +00002200 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
2201 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00002202 proposed by Sean McBride:
2203 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2204
22052007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2206
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002207 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
2208 setjmp, proposed by Sean McBride:
2209 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2210
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000022112007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2212
Werner Lembergc9f6c662007-03-21 13:30:14 +00002213 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
2214 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
2215 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002216
David Turner74c34eb2007-03-18 07:19:31 +000022172007-03-18 David Turner <david@freetype.org>
2218
Werner Lembergc9f6c662007-03-21 13:30:14 +00002219 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
2220 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00002221
Werner Lembergc9f6c662007-03-21 13:30:14 +00002222 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00002223
David Turner89020d92007-03-17 17:48:57 +000022242007-03-17 David Turner <david@freetype.org>
2225
Werner Lembergc9f6c662007-03-21 13:30:14 +00002226 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
2227 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00002228
Werner Lemberg25d592a2007-03-09 07:59:35 +000022292007-03-09 Werner Lemberg <wl@gnu.org>
2230
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002231
Werner Lemberg25d592a2007-03-09 07:59:35 +00002232 * Version 2.3.2 released.
2233 =========================
2234
2235
2236 Tag sources with `VER-2-3-2'.
2237
2238 * builds/win32/visualc/index.html,
2239 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002240 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00002241 s/231/232/.
2242
David Turner3a51afa2007-03-08 10:50:38 +000022432007-03-08 David Turner <david@freetype.org>
2244
Werner Lemberg25d592a2007-03-09 07:59:35 +00002245 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00002246
Werner Lemberg25d592a2007-03-09 07:59:35 +00002247 * builds/unix/configure.raw (version_info): Set to 9:13:3.
2248
2249 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
2250
2251 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00002252
Werner Lemberg1e259de2007-03-08 15:39:21 +00002253 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
2254 function to work properly, over-writing user-provided buffers in
2255 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00002256
David Turner121cad52007-03-08 16:43:50 +00002257
Werner Lemberg3d92f082007-03-06 11:59:24 +000022582007-03-05 Werner Lemberg <wl@gnu.org>
2259
2260 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
2261 macro for `strstr'.
2262
2263 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
2264 `trick_names', as suggested by Ivan Nincic.
2265
David Turner085bc6e2007-03-05 17:40:03 +000022662007-03-05 David Turner <david@freetype.org>
2267
Werner Lembergd112cf02007-03-06 12:06:56 +00002268 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
2269 case FT_Init_FreeType fails for some reason. Problem reported by
2270 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00002271
Werner Lembergd112cf02007-03-06 12:06:56 +00002272 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
2273 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
2274 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
2275 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00002276
Werner Lembergd112cf02007-03-06 12:06:56 +00002277 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
2278 signed values, not unsigned ones. Problem reported by Johannes
2279 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00002280
David Turner601aefe2007-02-21 16:47:49 +000022812007-02-21 David Turner <david@freetype.org>
2282
Werner Lembergde5e6862007-02-25 21:06:43 +00002283 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
2284 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00002285
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000022862007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2287
2288 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
2289 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
2290 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
2291
Werner Lemberga0915172007-02-16 08:12:50 +000022922007-02-16 Werner Lemberg <wl@gnu.org>
2293
2294 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
2295 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
2296
David Turner2c4500e2007-02-14 15:08:47 +000022972007-02-14 David Turner <david@freetype.org>
2298
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002299 It seems that the following changes fix most of the known
2300 interpreter problems with my fonts, but more testing is needed,
2301 though.
2302
2303 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
2304 (TT_MulFix14): Rewrite.
2305 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
2306 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00002307
Werner Lembergc6a14082007-02-12 22:08:15 +000023082007-02-12 Werner Lemberg <wl@gnu.org>
2309
2310 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
2311 warnings.
2312
2313 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
2314 (bdf_interpret_style): Ditto.
2315
David Turnerc0f9c4a2007-02-12 14:55:03 +000023162007-02-12 David Turner <david@freetype.org>
2317
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002318 Simplify projection and dual-projection code interface.
2319
Werner Lemberg406d25f2007-02-12 22:01:18 +00002320 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
2321 FT_Vector' as argument type.
2322 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
2323 Updated.
2324 (CUR_fast_project, CUR_fast_dualproj): New macros.
2325 (Project, Dual_Project, Project_x, Project_y): Updated.
2326 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
2327 macros.
2328
2329
2330 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
2331 adjustments for the non-light auto-hinted modes. Gets rid of
2332 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00002333
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002334 * src/autofit/aflatin.c (af_latin_hints_link_segments,
2335 af_latin_hints_compute_edges): Slight optimization of the segment
2336 linker and better handling of serif segments to get rid of broken
2337 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00002338
David Turnerc0f9c4a2007-02-12 14:55:03 +00002339
Werner Lemberg442bfb82007-02-12 21:44:10 +00002340 Introduce new string functions and the corresponding macros to get
2341 rid of various uses of strcpy and other `evil' functions, as well as
2342 to simplify a few things.
2343
2344 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
2345 ft_mem_strcpyn): New declarations.
2346 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
2347 macros.
2348 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
2349 functions.
2350
2351 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
2352 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
2353 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
2354 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
2355 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
2356 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
2357 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
2358 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00002359
Werner Lemberg406d25f2007-02-12 22:01:18 +00002360 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
2361
Werner Lemberg582067d2007-02-11 15:03:05 +000023622007-02-11 Werner Lemberg <wl@gnu.org>
2363
2364 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
2365 non-spacing glyphs.
2366
Werner Lemberg8f474532007-02-07 08:31:01 +000023672007-02-07 Tom Parker <palfrey@tevp.net>
2368
2369 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
2370 pointer.
2371
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000023722007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2373
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002374 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
2375 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00002376 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002377 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
2378 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
2379 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
2380 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00002381
2382 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
2383 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00002384 * builds/mac/ftmac.c: Ditto.
2385
23862007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2387
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00002388 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00002389 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00002390 #include <ftmac.c>.
2391
23922007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2393
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00002394 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
2395 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
2396 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
2397 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
2398 FT_GetFilePath_From_Mac_ATS_Name.
2399 * builds/mac/ftmac.c: Ditto.
2400
24012007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2402
Werner Lembergdcbb7082007-02-08 08:54:09 +00002403 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00002404 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
2405 for passing to FT_New_Face_From_FSSpec.
2406
24072007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2408
Werner Lembergdcbb7082007-02-08 08:54:09 +00002409 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00002410 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00002411
2412 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
2413 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00002414 * builds/mac/ftmac.c (OS_INLINE): Ditto.
2415
Werner Lemberg313d7772007-02-01 08:10:45 +000024162007-02-01 Werner Lemberg <wl@gnu.org>
2417
2418 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
2419 Explain why applications shouldn't use it. Found by Alexei.
2420
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000024212007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002422
2423 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
2424 message.
2425
2426 * src/gxvalid/gxvmort1.c
2427 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
2428 message.
2429
Werner Lemberg53935932007-01-31 08:53:02 +000024302007-01-31 Werner Lemberg <wl@gnu.org>
2431
2432
2433 * Version 2.3.1 released.
2434 =========================
2435
2436
2437 Tag sources with `VER-2-3-1-FINAL'.
2438
2439 * builds/win32/visualc/freetype.dsp,
2440 builds/win32/visualc/freetype.vcproj: s/230/231/.
2441 * builds/win32/visualc/index.html: s/221/231/.
2442
2443 * vms_make.com: Add `ftgasp'.
2444
David Turnera7ee6082007-01-30 10:33:53 +000024452007-01-30 David Turner <david@freetype.org>
2446
Werner Lemberg53935932007-01-31 08:53:02 +00002447 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00002448
Werner Lemberg53935932007-01-31 08:53:02 +00002449 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00002450
Werner Lemberg25d592a2007-03-09 07:59:35 +00002451 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00002452 s/2.3.0/2.3.1/.
2453
2454 * builds/unix/configure.raw (version_info): Set to 9:12:3.
2455
2456
2457 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
2458 (af_loader_load_g): Disable the warper (i.e., the light hinting
2459 improvements) to make a 2.3.1 bugfix release before introducing a
2460 new feature. This should give us more time to tune and improve the
2461 warper for the next release.
2462
2463 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00002464
David Turnerd91eebd2007-01-26 15:05:41 +000024652007-01-25 David Turner <david@freetype.org>
2466
Werner Lembergbf241762007-01-26 16:08:49 +00002467 For light auto-hinting, improve glyph advance widths and resurrect
2468 normal/full hinting to its normal quality.
2469
2470 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
2471 and `xmax_delta'.
2472 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
2473 and `xmax_delta'.
2474
2475 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
2476 preprocessor conditional with if-clause, handling both light and
2477 normal mode.
2478
2479 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
2480 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00002481
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000024822007-01-25 Werner Lemberg <wl@gnu.org>
2483
2484 * docs/release: Updated -- Savannah uses a new uploading scheme.
2485
David Turnera42567b2007-01-25 12:23:37 +000024862007-01-25 David Turner <david@freetype.org>
2487
Werner Lembergd7855662007-01-25 13:53:56 +00002488 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00002489
Werner Lembergd7855662007-01-25 13:53:56 +00002490 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
2491 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
2492 functions.
David Turnera42567b2007-01-25 12:23:37 +00002493
Werner Lembergd7855662007-01-25 13:53:56 +00002494 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00002495
Werner Lembergb1be9e82007-01-25 11:50:00 +000024962007-01-25 Werner Lemberg <wl@gnu.org>
2497
2498 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00002499 correctly in a sanity check. Since this function is only used to
2500 load local and global functions, any charstring that called the last
2501 local/global function would fail otherwise. This fixes Savannah bug
2502 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00002503
2504 * docs/CHANGES: Document it.
2505
David Turnerb6de8d12007-01-23 15:51:50 +000025062007-01-23 David Turner <david@freetype.org>
2507
Werner Lembergb1be9e82007-01-25 11:50:00 +00002508 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
2509 prevented compilation when disabling both the unpatented and the
2510 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00002511
Werner Lembergb1be9e82007-01-25 11:50:00 +00002512
2513 Fix and enable the warper to improve `light' hinting mode. This is
2514 not necessarily a final version, but it seems to work well.
2515
2516 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
2517 Disable code.
2518 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
2519 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
2520
2521 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
2522 (af_warper_compute_line_best): Fix array size of `scores'.
2523 (af_warper_compute): Better handling of border cases.
2524 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
2525 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00002526
Werner Lemberg011d1112007-01-21 09:36:00 +000025272007-01-21 Werner Lemberg <wl@gnu.org>
2528
Werner Lemberg42b63b22007-01-21 21:01:33 +00002529 * ChangeLog: Split off older entries into...
2530 * ChangeLog.22: This new file.
2531
25322007-01-21 Werner Lemberg <wl@gnu.org>
2533
Werner Lemberg555258f2007-01-21 09:46:37 +00002534 * docs/CHANGES: Document SHZ fix.
2535
25362007-01-21 George Williams <gww@silcom.com>
2537
2538 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
2539 points.
2540
25412007-01-21 Werner Lemberg <wl@gnu.org>
2542
Werner Lemberg011d1112007-01-21 09:36:00 +00002543 * src/sfnt/ttmtx.c (tt_face_get_metrics)
2544 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
2545
Werner Lemberg87a5a432007-01-17 12:44:39 +000025462007-01-17 Werner Lemberg <wl@gnu.org>
2547
Werner Lembergb8003292007-01-17 12:56:25 +00002548
2549 * Version 2.3.0 released.
2550 =========================
2551
2552
2553 Tag sources with `VER-2-3-0-FINAL'.
2554
25552007-01-17 Werner Lemberg <wl@gnu.org>
2556
Werner Lemberg87a5a432007-01-17 12:44:39 +00002557 * docs/release: Updated.
2558
David Turner22122722007-01-16 20:06:44 +000025592007-01-16 David Turner <david@freetype.org>
2560
Werner Lemberg87a5a432007-01-17 12:44:39 +00002561 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
2562 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
2563 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
2564 warnings.
David Turner22122722007-01-16 20:06:44 +00002565
Werner Lemberg267e1d72007-01-15 07:48:09 +000025662007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
2567
2568 * builds/amiga/makefile, builds/amiga/makefile.os4,
2569 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
2570
2571 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
2572
Werner Lemberg8c4120d2007-01-15 06:42:40 +000025732007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
2574
2575 Fix various compiler warnings.
2576
2577 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
2578 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
2579 s/index/strike_index/.
2580 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
2581
2582 * src/gxvalid/gxvmorx5.c
2583 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
2584
2585 * src/truetype/ttinterp.c (Compute_Point_Displacement),
2586 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
2587 uninitialized variables.
2588
Werner Lemberg6164a9d2007-01-13 23:01:36 +000025892007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2590
2591 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
2592
Werner Lemberg281c1482007-01-13 22:50:51 +000025932007-01-13 Werner Lemberg <wl@gnu.org>
2594
2595 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
2596 versions up to 0x3FF without complaining.
2597
Werner Lembergac250b22007-01-13 14:01:36 +000025982007-01-13 Derek Clegg <dclegg@apple.com>
2599
2600 Add FT_Get_PS_Font_Info interface to CFF driver.
2601
2602 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
2603 (CFF_FontRec): Add `font_info' field.
2604
2605 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
2606 (cff_font_done): Free font->font_info if necessary.
2607
2608 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
2609 (cff_service_ps_info): Register cff_ps_get_font_info.
2610
Werner Lemberg23df31a2007-01-13 08:45:00 +000026112007-01-13 Werner Lemberg <wl@gnu.org>
2612
2613 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
2614 with C++ compiler.
2615
2616 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
2617 af_glyph_hints_dump_edges): Ditto.
2618
2619 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
2620 `modules.cfg').
2621
2622 * src/sfnt/ttsbit0.h: Remove.
2623
2624 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
2625
Werner Lemberg27cf9de2007-01-13 07:34:23 +000026262007-01-12 David Turner <david@freetype.org>
2627
2628 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
2629 bug in the bitmap emboldener if the pitch of the source bitmap is
2630 much larger than its width.
2631
2632 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
2633 compilation warning.
2634
Werner Lemberg6d96d312007-01-12 10:30:19 +000026352007-01-12 Werner Lemberg <wl@gnu.org>
2636
2637 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
2638 `automake' CVS module from sources.redhat.com.
2639
Werner Lemberg17432b52007-01-12 09:28:44 +000026402007-01-11 Werner Lemberg <wl@gnu.org>
2641
2642 * src/type1/t1load.c (is_space): Removed.
2643 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
2644 (parse_charstrings): Use IS_PS_TOKEN.
2645
2646
2647 * autogen.sh: Avoid bash specific syntax.
2648
David Turner038ace22007-01-11 15:00:59 +000026492007-01-11 David Turner <david@freetype.org>
2650
Werner Lemberg17432b52007-01-12 09:28:44 +00002651 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00002652
Werner Lemberg17432b52007-01-12 09:28:44 +00002653 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00002654
Werner Lemberg17432b52007-01-12 09:28:44 +00002655 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
2656 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00002657 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00002658
Werner Lemberg17432b52007-01-12 09:28:44 +00002659 * autogen.sh: Small fix to get it working on Mac OS X properly:
2660 The issue is that GNU libtool is called `glibtool' on this platform,
2661 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00002662
David Turner2628ea92007-01-10 13:15:56 +000026632007-01-10 David Turner <david@freetype.org>
2664
Werner Lemberg17432b52007-01-12 09:28:44 +00002665 * all-sources: Tag all sources with VER-2-3-0-RC1 and
2666 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00002667
Werner Lemberg17432b52007-01-12 09:28:44 +00002668 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
2669 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
2670 version number to 2.3.0.
2671
2672 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
2673 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00002674
2675 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00002676 include/freetype/ftlcdfil.h: Update reference documentation with
2677 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00002678
Werner Lemberg17432b52007-01-12 09:28:44 +00002679 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
2680 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00002681
Werner Lembergbf02d392007-01-10 07:07:37 +000026822007-01-10 Derek Clegg <dclegg@apple.com>
2683
2684 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
2685 values.
2686
David Turnerf48b60e2007-01-08 15:15:32 +000026872007-01-08 David Turner <david@freetype.org>
2688
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002689 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00002690
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002691 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
2692 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00002693 corresponding to a given character pixel size.
2694
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002695 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
2696 `gasp' table, in order to avoid potential problems with later
2697 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00002698
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002699 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
2700 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00002701
Werner Lembergcc7f12a2007-01-09 10:37:36 +00002702 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
2703 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
2704 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
2705 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00002706
Werner Lemberge6b6f372007-01-07 00:06:47 +000027072007-01-07 Werner Lemberg <wl@gnu.org>
2708
Werner Lembergb8004d22007-01-07 09:13:38 +00002709 * src/cid/cidparse.c (cid_parser_new): Improve error message for
2710 Type 11 fonts.
2711 Scan for `/sfnts' token.
2712
27132007-01-07 Werner Lemberg <wl@gnu.org>
2714
2715 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00002716
Werner Lembergbe5f7972007-01-06 07:51:48 +000027172007-01-06 Werner Lemberg <wl@gnu.org>
2718
2719 * src/cff/cffload.c (cff_index_init): Remove unused variable.
2720 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
2721
David Turnera8cf42b2007-01-04 16:46:46 +000027222007-01-04 David Turner <david@freetype.org>
2723
Werner Lembergf6294392007-01-06 07:47:45 +00002724 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
2725 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00002726
Werner Lembergf6294392007-01-06 07:47:45 +00002727
2728 Do not allocate interpreter-specific tables in memory if we are not
2729 going to load glyphs with the bytecode interpreter anyway.
2730
2731 * src/truetype/ttgload.c (tt_loader_init): Load execution context
2732 only if glyph is hinted.
2733 Updated.
2734 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
2735 and `cvs_ready'.
2736 Add `tt_size_ready_bytecode' declaration.
2737 * src/truetype/ttobjs.c (tt_size_done_bytecode,
2738 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
2739 (tt_size_init): Move most code into `tt_size_init_bytecode'.
2740 (tt_size_done): Move most code into `tt_size_done_bytecode'.
2741 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002742
David Turner91a34022007-01-05 14:47:08 +00002743
Werner Lembergf6294392007-01-06 07:47:45 +00002744 Don't extract the metrics table from the SFNT font file. Instead,
2745 reparse it on each glyph load. The runtime difference is not
2746 noticeable, and it can save a lot of heap memory when memory-mapped
2747 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00002748
Werner Lembergf6294392007-01-06 07:47:45 +00002749 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
2750 `horz_metrics_offset' and `vert_metrics_ofset'.
2751 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
2752 Updated.
2753
2754
2755 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
2756
2757
2758 Do not load the CFF index offsets into memory, since this wastes a
2759 *lot* of heap memory with large Asian CFF fonts. There is no
2760 significant performance loss.
2761
2762 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
2763 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
2764 `data_size'.
2765 (CFF_CharsetRec): Add field `num_glyphs'.
2766
2767 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
2768 cff_charset_cid_to_gindex): New functions.
2769 (cff_new_index): Renamed to...
2770 (cff_index_init): This. Update all callers.
2771 Updated -- some code has been moved to `cff_index_load_offsets'.
2772 (cff_done_index): Renamed to...
2773 (cff_index_done): This. Update all callers.
2774 (cff_index_get_pointers, cff_index_access_element): Updated to use
2775 stream offsets.
2776 (cff_charset_compute_cids): Set `num_glyphs' field.
2777 (cff_encoding_load): Updated.
2778
2779 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00002780
27812007-01-04 David Turner <david@freetype.org>
2782
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002783 * docs/INSTALL.UNIX: Simplify some parts, add reference to
2784 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00002785
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002786 * README.CVS: Add common problem description and solution
2787 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00002788
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002789 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00002790
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002791 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00002792
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002793 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00002794
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002795 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
2796 (TWorker): This.
2797 Remove `count_table' and `memory'.
2798 Make `grays' a pointer.
2799 (TRaster): New structure.
2800 (count_table): New static array.
2801 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
2802 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
2803 ft_black_set_mode, ft_black_render): Updated.
2804 (ft_black_init): Don't initialize `count_table'.
2805 (ft_black_reset): Use the render pool. This saves about 6KB of
2806 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00002807
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002808 * src/smooth/ftgrays.c (TRaster): Replaced with...
2809 (TWorker): This.
2810 Remove `memory'.
2811 (TRaster): New structure.
2812
2813 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
2814 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
2815 gray_render_span, gray_raster_render): Updated.
2816 (gray_raster_reset): Use the render pool. This saves about 6KB of
2817 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00002818
David Turner8a6c44e2007-01-04 17:03:11 +00002819 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
2820 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002821 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
2822 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
2823 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00002824
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002825 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
2826 Remove a typo that results in no hinting and a memory leak with some
2827 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00002828
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002829 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00002830 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00002831 CFF_Faces in it. We need to close all faces before destroying the
2832 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00002833
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000028342007-01-02 Werner Lemberg <wl@gnu.org>
2835
2836 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
2837 Remove compiler warning.
2838
David Turner9207e002007-01-02 16:58:13 +000028392007-01-02 David Turner <david@freetype.org>
2840
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002841 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00002842
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000028432006-12-31 Masatake YAMATO <jet@gyve.org>
2844
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002845 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
2846 function.
2847 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00002848 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00002849 `gxv_kern_subtable_fmt0_pairs_validate'.
2850
David Turner115b4422006-12-22 11:37:05 +000028512006-12-22 David Turner <david@freetype.org>
2852
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002853 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
2854 warnings.
David Turner115b4422006-12-22 11:37:05 +00002855
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00002856 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
2857 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00002858
Werner Lemberg4755bf72006-12-16 08:58:44 +000028592006-12-16 Anders Kaseorg <anders@kaseorg.com>
2860
2861 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
2862 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
2863
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000028642006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2865
Werner Lemberg9b774e22007-01-16 06:11:27 +00002866 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002867 sync with the modification by Jens Claudius on 2006-08-22; cf.
2868 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 +00002869
28702006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2871
2872 * src/base/ftmac.c: Specialized for Mac OS X only.
2873 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
Werner Lemberg830846e2008-07-27 06:27:21 +00002874 * builds/unix/configure.raw: Ditto. When explicit switches for
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00002875 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
2876 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
2877
28782006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2879
2880 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
2881 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
2882 instead of src/base/ftmac.c
2883 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
2884 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
2885 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
2886 that cannot be built at present.
2887
28882006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2889
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00002890 * src/base/ftobjs.c: Improvement of resource fork handler for
2891 POSIX, cf.
2892 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00002893 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
2894 format or .dfont, to simulate the face index number counted by ftmac.c.
2895 (IsMacResource): Return the number of scalable faces correctly.
2896
Werner Lembergec5b4502006-12-10 07:51:38 +000028972006-12-10 Werner Lemberg <wl@gnu.org>
2898
2899 * builds/toplevel.mk (version): Protect against `distclean' target.
2900
Werner Lembergb26b3142006-12-09 20:01:43 +000029012006-12-09 Werner Lemberg <wl@gnu.org>
2902
2903 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
2904 or `type'.
2905
2906 * builds/freetype.mk (version): Extracted from freetype.h, using
2907 GNU make's built-in string functions.
2908 (refdoc): Use $(version) instead of static version number.
2909
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000029102006-12-08 Werner Lemberg <wl@gnu.org>
2911
2912 * builds/toplevel.mk (dist): Extract version number from freetype.h.
2913
Werner Lemberg15c29502006-12-09 07:29:54 +000029142006-12-08 Vladimir Volovich <vvv@vsu.ru>
2915
2916 * src/tools/apinames (State): Remove final comma in structure -- xlc
2917 v5 under AIX 4.3 doesn't like this.
2918
David Turnerdbf3b432006-12-07 21:18:09 +000029192006-12-07 David Turner <david@freetype.org>
2920
Werner Lemberg256a3512006-12-08 06:49:33 +00002921 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
2922 to the spacing of auto-fitted glyphs. This only impacts rare
2923 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00002924
Werner Lemberg11171312006-12-03 09:43:40 +000029252006-12-03 Werner Lemberg <wl@gnu.org>
2926
2927 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
2928
Werner Lemberg960ba592006-12-01 08:20:47 +000029292006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00002930
Werner Lemberg960ba592006-12-01 08:20:47 +00002931 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
2932 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
2933 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00002934
David Turner80658e52006-11-28 08:09:20 +00002935
Werner Lemberg960ba592006-12-01 08:20:47 +00002936 * include/freetype/ftxf86.h: Fix and extend comment so that it
2937 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00002938
Werner Lemberg960ba592006-12-01 08:20:47 +00002939 * include/freetype/ftchapters.h: Add `font_format' section.
2940
2941
2942 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
2943 to TOC in index page.
2944
29452006-11-28 David Turner <david@freetype.org>
2946
2947 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
2948 trying to render into a zero-width/height bitmap, not an error code.
2949
2950 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
2951
2952 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
2953 ones instead.
2954
2955 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
2956 variable.
David Turner80658e52006-11-28 08:09:20 +00002957
Werner Lemberg8636c292006-11-26 22:28:13 +000029582006-11-26 Pierre Hanser <hanser@club-internet.fr>
2959
2960 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
2961
Werner Lemberg960ba592006-12-01 08:20:47 +000029622006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00002963
Werner Lemberg960ba592006-12-01 08:20:47 +00002964 * src/autofit/afhints.c (af_glyph_hints_dump_points,
2965 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
2966 Add stubs to link the `ftgrid' test program when debugging is
2967 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00002968
Werner Lemberg960ba592006-12-01 08:20:47 +000029692006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00002970
2971 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00002972 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
2973
2974 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
2975 Emit more sensible information.
2976
2977 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
2978
2979 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
2980 rounding of blue values.
2981 (af_latin_hints_compute_segments): Hint segment heights.
2982 (af_latin_hints_link_segments): Reduce `len_score' value.
2983 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
2984 value and use `height' member for comparisons.
2985 (af_latin_hint_edges): Extend logging message.
2986 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00002987
Werner Lemberg91959bf2006-11-22 10:36:55 +000029882006-11-22 Werner Lemberg <wl@gnu.org>
2989
2990 Fix Savannah bug #15553.
2991
2992 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
2993 program after a change from mono to grayscaling (and vice versa).
2994 Use correct constant for comparison to get `exec->grayscale'.
2995
Werner Lemberg913a3652006-11-19 09:19:17 +000029962006-11-18 Werner Lemberg <wl@gnu.org>
2997
2998 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00002999 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00003000 This patch fixes Savannah bug #18301.
3001
3002 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
3003 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
3004 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
3005 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
3006 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
3007 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
3008 (FNT_Load_Glyph): Check validity of `glyph_index'.
3009
David Turner7bab6ae2006-11-13 11:25:06 +000030102006-11-13 David Turner <david@freetype.org>
3011
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003012 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
3013 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00003014
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003015 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
3016 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
3017 when building the library to change the default LCD filter to be
3018 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00003019
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003020 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00003021
David Turner8765c712006-11-10 16:49:42 +000030222006-11-10 David Turner <david@freetype.org>
3023
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003024 * src/smooth/ftsmooth.c: API change for the LCD
3025 filter. The FT_LcdFilter value is an enumeration describing which
3026 filter to apply, with new values FT_LCD_FILTER_LIGHT and
3027 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
3028 algorithm which produces strong color fringes for everything
3029 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00003030
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003031 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
3032 second parameter to an enum type.
3033
3034 * src/base/ftlcdfil.c (USE_LEGACY): Define.
3035 (_ft_lcd_filter): Rename to...
3036 (_ft_lcd_filter_fir): This.
3037 Update parameters.
3038 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
3039 (FT_Library_Set_LcdFilter): Update parameters.
3040 Handle new filter modes.
3041
3042 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
3043 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
3044 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
3045 callback and update other fields.
3046
3047 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
3048 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
3049 Other minor improvements.
3050
3051 * src/autofit/aflatin.c: Various tiny improvements that drastically
3052 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
3053 (af_latin_hints_compute_edges): Fix typo.
3054 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00003055
David Turner4e9cc3c2006-11-09 16:31:52 +000030562006-11-09 David Turner <david@freetype.org>
3057
Werner Lemberg49c77a82006-11-09 21:51:57 +00003058 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
3059 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00003060
Werner Lemberg5e430892006-11-07 09:35:03 +000030612006-11-07 Zhe Su <james.su@gmail.com>
3062
3063 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
3064 also.
3065
Werner Lemberg111b5ae2006-11-03 09:40:12 +000030662006-11-03 Werner Lemberg <wl@gnu.org>
3067
3068 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
3069
David Turner40604742006-11-02 16:37:35 +000030702006-11-02 David Turner <david@freetype.org>
3071
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003072 Add a few tweaks to better handle serif fonts.
3073 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00003074
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003075 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
3076 segments that are less than 1.5 pixels high. This gets rid of
3077 *many* corner cases with serifs.
3078 (af_latin_align_linked_edge): Add logging message.
3079 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
3080 Add logging messages.
3081 Handle AF_EDGE_FLAG flag specially.
3082
3083 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
3084 _af_debug_disable_blue_hints, and _af_debug_hints variables.
3085
3086 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
3087 Update external declarations.
3088 (af_corner_orientation, af_corner_is_flat): Replaced by...
3089
3090 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
3091 ft_corner_is_flat): These declarations.
3092
3093 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
3094 Comment out. Replaced by...
3095
3096 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
3097 These functions. Update all callers.
3098 (FT_Add64) [!FT_LONG64]: Simplify.
3099
3100 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
3101 (af_direction_compute): Add a missing FT_ABS call. This bug caused
3102 production of garbage by missing lots of segments.
3103
3104 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
3105
3106 * src/autofit/afloader.c (af_loader_init, af_loader_done)
3107 [AF_DEBUG]: Set _af_debug_hints.
3108
3109
3110 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
3111 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
3112 and ft_corner_orientation.
3113
3114
3115 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00003116
Werner Lemberge88c5262006-10-24 05:46:26 +000031172006-10-24 Werner Lemberg <wl@gnu.org>
3118
3119 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
3120
3121 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
3122 as argument.
3123
David Turnera1861392006-10-23 16:00:59 +000031242006-10-23 Zhe Su <zsu@novell.com>
3125
Werner Lemberg715e96e2006-10-24 05:28:45 +00003126 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
3127 better deal with broken Asian fonts with strange glyphs, having
3128 self-intersections and other peculiarities. The used algorithm is
3129 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00003130
David Turnere140f142006-10-23 08:56:57 +000031312006-10-23 David Turner <david@freetype.org>
3132
Werner Lemberg715e96e2006-10-24 05:28:45 +00003133 Speed up the CFF font loader. With some large CFF fonts,
3134 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00003135
Werner Lemberg715e96e2006-10-24 05:28:45 +00003136 * src/cff/cffload.c (cff_get_offset): Removed.
3137 (cff_new_index): Inline functionality of `cff_get_offset'.
3138 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
3139 (cff_charset_done): Call `cff_charset_free_cids'.
3140 (cff_charset_load): Call `cff_charset_compute_cids'.
3141 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
3142
3143 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
3144 with FT_NEXT_XXX.
3145
3146
3147 Speed up the Postscript hinter, with more than 100% speed increase
3148 on my machine.
3149
3150 * src/pshinter/pshalgo.c (psh_corner_is_flat,
3151 psh_corner_orientation): New functions.
3152 (psh_glyph_compute_inflections): Merge loops for efficiency.
3153 Use `psh_corner_orientation'.
3154 (psh_glyph_init): Use `psh_corner_is_flat'.
3155 (psh_hint_table_find_strong_point): Renamed to...
3156 (psh_hint_table_find_strong_points): This.
3157 Rewrite, adding argument to handle all points at once.
3158 Update all callers.
3159 (PSH_MAX_STRONG_INTERNAL): New macro.
3160 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00003161
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000031622006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3163
3164 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00003165 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00003166
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000031672006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3168
3169 * docs/INSTALL.CROSS: New document file for cross-building.
3170
3171 * builds/unix/configure.raw: Preliminary cross-building support.
3172 Find native C compiler and pass it by CC_BUILD, and
3173 find suffix for native executable and pass it by EXEEXT_BUILD.
3174 Also suffix for target executable is passed by EXEEXT.
3175
Werner Lembergb9e6d692006-10-15 08:58:40 +00003176 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
3177 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003178 CC_BUILD and EXEEXT_BUILD.
3179
Werner Lembergb9e6d692006-10-15 08:58:40 +00003180 * builds/exports.mk (APINAMES_EXE): Change the extension for
3181 apinames from the suffix for target (E) to that for building host
3182 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003183
Werner Lemberg82a07e92006-10-12 06:20:44 +000031842006-10-12 Werner Lemberg <wl@gnu.org>
3185
3186 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
3187 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
3188 which reference those files.
3189
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000031902006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3191
Werner Lembergb9e6d692006-10-15 08:58:40 +00003192 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
3193 embedded in freetype2.pc and freetype-config. Use it to record
3194 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00003195
3196 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
3197
3198 * builds/unix/freetype-config.in: Ditto.
3199
Werner Lemberg28e17d92006-10-11 17:27:47 +000032002006-10-11 Werner Lemberg <wl@gnu.org>
3201
3202 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
3203 development.
3204
Jens Claudius336d2292006-10-03 08:53:37 +000032052006-10-03 Jens Claudius <jens.claudius@yahoo.com>
3206
3207 * include/freetype/config/ftstdlib.h: Cast away volatileness from
3208 argument to ft_setjmp.
3209
3210 * include/freetype/internal/ftvalid.h: Add comment that
3211 ft_validator_run must not be used.
3212
Werner Lemberg2863cfa2006-10-01 17:04:00 +000032132006-10-01 Werner Lemberg <wl@gnu.org>
3214
3215 * src/base/ftbase.c: Undo change from 2006-09-30.
3216
3217 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
3218
32192006-09-30 David Turner <david@freetype.org>
3220
Werner Lemberg046bf8b2006-10-03 08:43:42 +00003221 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3222 s/unpatented_hinting/ignore_unpatented_hinter/.
3223 Update all callers.
3224
3225 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
3226 auto-hinting shall be used or not.
3227
3228 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00003229
Werner Lemberg2863cfa2006-10-01 17:04:00 +000032302006-09-30 Werner Lemberg <wl@gnu.org>
3231
Werner Lemberg1e4402e2006-09-29 22:10:36 +00003232 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
3233 in use).
3234
3235 * src/base/ftbase.c: Include `ftlcdfil.c'.
3236
Werner Lemberg9b15ea32006-09-29 18:22:11 +000032372006-09-29 Werner Lemberg <wl@gnu.org>
3238
3239 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
3240 overlapping segments. Bug reported by Stefan Koch.
3241
David Turnerad830712006-09-27 16:20:59 +000032422006-09-28 David Turner <david@freetype.org>
3243
Werner Lemberg2c002e12006-09-29 21:31:53 +00003244 Fix a bug in the automatic unpatented hinting support which prevents
3245 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00003246
Werner Lemberg2c002e12006-09-29 21:31:53 +00003247 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3248 s/force_autohint/unpatented_hinting/. Update all callers.
3249
3250 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
3251
3252 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00003253
David Turner8a317cf2006-09-27 07:52:48 +000032542006-09-27 David Turner <david@freetype.org>
3255
Werner Lemberg2c002e12006-09-29 21:31:53 +00003256 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00003257
David Turner8a317cf2006-09-27 07:52:48 +00003258
David Turnere140f142006-10-23 08:56:57 +00003259 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00003260 In a default build, the function `FT_Library_SetLcdFilter' returns
3261 `FT_Err_Unimplemented_Feature'; you need to #define
3262 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
3263 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00003264
Werner Lemberg2c002e12006-09-29 21:31:53 +00003265 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00003266
Werner Lemberg2c002e12006-09-29 21:31:53 +00003267 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
3268 typedef.
3269 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
3270 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00003271
Werner Lemberg2c002e12006-09-29 21:31:53 +00003272 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
3273 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00003274
Werner Lemberg2c002e12006-09-29 21:31:53 +00003275 Handle subpixel rendering.
3276 Simplify function.
3277 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
3278 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
3279
3280 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
3281 pointing to <freetype/ftlcdfil.h>.
3282
3283 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
3284 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
3285
3286 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00003287
Werner Lemberge20df4a2006-09-27 06:29:21 +000032882006-09-26 David Bustin
3289
3290 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
3291 correctly. Reported as Savannah bug #17843.
3292
David Turner6f8c6222006-09-26 15:42:44 +000032932006-09-26 David Turner <david@freetype.org>
3294
Werner Lemberg110246c2006-09-26 21:55:44 +00003295 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
3296 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
3297 horizontal and vertical hinting for the purpose of debugging the
3298 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00003299
Werner Lemberg110246c2006-09-26 21:55:44 +00003300 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
3301 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00003302
Werner Lemberg110246c2006-09-26 21:55:44 +00003303 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
3304
3305 * include/freetype/config/ftoption.h, devel/ftoption.h
3306 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
3307 we want to compile LCD-optimized rendering code (à la ClearType) or
3308 not. The macro *must* be disabled in default builds of the library
3309 for patent reasons.
3310
3311 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
3312 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
3313 isn't defined at compile time. This only changes the content of the
3314 rendered glyph to match the one of normal gray-level rendering,
3315 hence clients should not need to be modified.
3316
3317 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00003318
Werner Lemberg745ff2c2006-09-19 05:48:02 +000033192006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
3320
3321 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
3322 LWFN fails and both are available.
3323
David Turnerf3050052006-09-11 12:00:32 +000033242006-09-11 David Turner <david@freetype.org>
3325
Werner Lembergf9644552006-09-12 13:48:10 +00003326 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
3327 report their English names through an Apple Roman
3328 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00003329
Werner Lembergf9644552006-09-12 13:48:10 +00003330 If the font uses another name entry with language_id == English, it
3331 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00003332
Werner Lembergf9644552006-09-12 13:48:10 +00003333 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
3334 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00003335
Werner Lemberg36d2eab2006-09-05 19:24:34 +000033362006-09-05 Werner Lemberg <wl@gnu.org>
3337
3338 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00003339 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003340 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
3341 `HAN NOM B.ttf').
3342
3343 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
3344
David Turner772e55d2006-09-05 09:45:15 +000033452006-09-05 David Turner <david@freetype.org>
3346
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003347 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00003348
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003349 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
3350 (TRaster): Remove `count_ex' and `count_ey'.
3351 (gray_find_cell): Remove 2nd and 3rd argument.
3352 (gray_alloc_cell): Merged with `gray_find_cell'.
3353 (gray_record_cell): Simplify.
3354 (gray_set_cell): Rewrite.
3355 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
3356 (gray_render_span): Don't use FT_MEM_SET for small values.
3357 (gray_dump_cells) [DEBUG_GRAYS]: New function.
3358 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
3359 bitmap scanline.
3360 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00003361
David Turneraa557a92006-09-04 16:42:44 +000033622006-09-04 David Turner <david@freetype.org>
3363
Werner Lembergd1fc7d42006-09-05 07:55:42 +00003364 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
3365 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00003366
Werner Lemberg2d8629b2006-09-03 06:18:45 +000033672006-09-03 Werner Lemberg <wl@gnu.org>
3368
3369 * devel/ftoption.h: Synchronize with
3370 include/freetype/config/ftoption.h.
3371
3372 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
3373 variable declaration.
3374 (gray_convert_glyph): Fix compiler warnings.
3375
David Turner6d79f212006-09-01 14:09:35 +000033762006-09-01 David Turner <david@freetype.org>
3377
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003378 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
3379 to recognize a few fonts that require the automatic unpatented
3380 loader.
David Turnerbd502952006-09-01 19:05:24 +00003381
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003382 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
3383 rasterizer. The speed improvement is between 15% and 25%, depending
3384 on the font data.
3385
3386 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
3387 (TCell): Redefine.
3388 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
3389 (gray_init_cells): Updated.
3390 (gray_find_cell, gray_alloc_cell): New functions.
3391 (gray_record_cell): Rewritten to use `gray_find_cell' and
3392 `gray_alloc_cell'.
3393 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
3394 QSORT_THRESHOLD):
3395 Removed.
3396 (gray_shell_sort, gray_quick_sort, gray_check_sort,
3397 gray_dump_cells): Removed.
3398 (gray_sweep): Rewritten.
3399 (gray_convert_glyph): Rewrite code which used one of the sorting
3400 functions.
3401 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00003402
Werner Lembergd898aed2006-08-29 09:50:34 +000034032006-08-29 Dr. Werner Fink <werner@suse.de>
3404
3405 * configure: Make it possible to handle configure options which
3406 have strings containing spaces.
3407
34082006-08-27 David Turner <david@freetype.org>
3409
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003410 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
3411 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
3412 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
3413
3414 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
3415 src/truetype/truetype.c, src/truetype/ttdriver.c,
3416 src/truetype/ttgload.c, src/truetype/ttgload.h,
3417 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
3418 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
3419 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
3420
3421 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
3422 member `force_autohint'.
3423
3424 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
3425
3426 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
3427 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00003428
Jens Claudiusa787f452006-08-27 11:26:18 +000034292006-08-27 Jens Claudius <jens.claudius@yahoo.com>
3430
3431 Fix miscellaneous compiler warnings.
3432
Werner Lemberg32e05a62008-05-04 16:53:22 +00003433 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
3434 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00003435
Werner Lemberg32e05a62008-05-04 16:53:22 +00003436 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003437 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
3438 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00003439
Werner Lemberg32e05a62008-05-04 16:53:22 +00003440 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003441 volatileness of argument to ft_longjmp. Spotted by Werner
3442 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00003443
Werner Lemberg32e05a62008-05-04 16:53:22 +00003444 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00003445 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00003446
Werner Lemberg32e05a62008-05-04 16:53:22 +00003447 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
3448 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00003449
Werner Lembergc4c35b72006-08-27 08:03:46 +000034502006-08-27 Werner Lemberg <wl@gnu.org>
3451
3452 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
3453 Reported by Jens.
3454
Jens Claudius088e44e2006-08-22 14:24:30 +000034552006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00003456
Jens Claudius088e44e2006-08-22 14:24:30 +00003457 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00003458 about addresses of volatile objects passed as function arguments as
3459 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00003460
Werner Lemberg32e05a62008-05-04 16:53:22 +00003461 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
3462 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003463
Werner Lemberg32e05a62008-05-04 16:53:22 +00003464 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
3465 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003466
Werner Lemberg32e05a62008-05-04 16:53:22 +00003467 * src/otvalid/otvmod.c (otv_load_table): Make function argument
3468 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00003469
Jens Claudius2652bd52006-08-18 17:20:37 +000034702006-08-18 Jens Claudius <jens.claudius@yahoo.com>
3471
Werner Lemberg32e05a62008-05-04 16:53:22 +00003472 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
3473 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00003474 (gxv_validate): Same for local variables `memory' and `valid'.
3475 (classic_kern_validate): Same for local variables `memory',
3476 `ckern', and `valid'.
3477
Werner Lemberg32e05a62008-05-04 16:53:22 +00003478 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
3479 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
3480 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00003481
Werner Lemberg32e05a62008-05-04 16:53:22 +00003482 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
3483 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00003484
David Turner9fbfc6a2006-08-16 09:11:31 +000034852006-08-16 David Turner <david@freetype.org>
3486
Werner Lemberg12342992006-08-19 11:18:09 +00003487 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
3488 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00003489
Werner Lemberg12342992006-08-19 11:18:09 +00003490 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
3491 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00003492
David Turner33f5f242006-08-16 16:50:55 +00003493
Werner Lemberg830846e2008-07-27 06:27:21 +00003494 Improvements to native TrueType hinting. This is a first try,
Werner Lemberg12342992006-08-19 11:18:09 +00003495 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
3496
3497 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
3498 `extra_points2'.
3499
3500 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
3501 `orus'.
3502
3503 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
3504 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
3505 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
3506 handle `extra_points2'.
3507
3508 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
3509 Remove compiler warning.
3510 (cur_to_arg): Remove macro.
3511 (TT_Hint_Glyph): Updated.
3512 (TT_Process_Simple_Glyph): Handle `orus'.
3513
3514 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
3515 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
3516 (LOC_Ins_IUP): Renamed to...
3517 (IUP_WorkerRec): This.
3518 Add `orus' member.
3519 (Shift): Renamed to...
3520 (_iup_worker_shift): This.
3521 Updated.
3522 (Interp): Renamed to...
3523 (_iup_worker_interpolate): This.
3524 Updated to handle `orus'.
3525 (Ins_IUP): Updated.
3526
3527 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
3528 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00003529
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000035302006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3531
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00003532 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00003533 build ftvalid in ft2demos. This has been inadvertedly changed
3534 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00003535
35362006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3537
Werner Lemberg12342992006-08-19 11:18:09 +00003538 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
3539 Jens:
3540 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003541
Werner Lemberg32e05a62008-05-04 16:53:22 +00003542 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
3543 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003544
Werner Lemberg32e05a62008-05-04 16:53:22 +00003545 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00003546
Jens Claudius9950adc2006-08-13 12:14:36 +000035472006-08-13 Jens Claudius <jens.claudius@yahoo.com>
3548
Werner Lemberg32e05a62008-05-04 16:53:22 +00003549 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00003550 T1_TOKEN_TYPE_KEY.
3551 (T1_FieldRec): Add `dict'.
3552 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
3553 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
3554 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00003555
Werner Lemberg32e05a62008-05-04 16:53:22 +00003556 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
3557 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003558
Werner Lemberg32e05a62008-05-04 16:53:22 +00003559 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003560
Werner Lemberg32e05a62008-05-04 16:53:22 +00003561 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00003562 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
3563 not T1_TOKEN_TYPE_ANY.
3564 (ps_parser_load_field): Make sure a token that should be a string or
3565 name is really a string or name.
3566 Avoid memory leak if a keyword has been already encountered and its
3567 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00003568 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00003569 T1_FIELD_XXX.
3570 (parse_dict): Ignore keywords that occur in the wrong dictionary
3571 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00003572
Werner Lemberg32e05a62008-05-04 16:53:22 +00003573 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003574
Werner Lemberg32e05a62008-05-04 16:53:22 +00003575 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
3576 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00003577
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000035782006-07-18 Jens Claudius <jens.claudius@yahoo.com>
3579
3580 Move creation of field `buildchar' of T1_DecoderRec out of
3581 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
3582 of it.
3583
3584 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
3585 and `T1_Compute_Max_Advance'.
3586
Werner Lemberg32e05a62008-05-04 16:53:22 +00003587 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
3588 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003589
Werner Lemberg32e05a62008-05-04 16:53:22 +00003590 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
3591 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003592
Werner Lemberg32e05a62008-05-04 16:53:22 +00003593 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
3594 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003595 (cid_slot_load_glyph): Do not ignore failure when initializing the
3596 T1_Decoder.
3597
Werner Lemberg32e05a62008-05-04 16:53:22 +00003598 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003599 (t1_decoder_init): Remove initialization of fields `buildchar' and
3600 `len_buildchar'.
3601 (t1_decoder_done): Remove deallocation of field `buildchar'.
3602
3603 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
3604 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
3605 T1_Decoder.
3606 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
3607 `len_buildchar'; make sure to call finisher for T1_Decoder even in
3608 case of error.
3609
Werner Lemberg32e05a62008-05-04 16:53:22 +00003610 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
3611 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003612
Werner Lemberg32e05a62008-05-04 16:53:22 +00003613 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
3614 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00003615
Werner Lemberg1a380e02006-07-14 18:28:08 +000036162006-07-14 Jens Claudius <jens.claudius@yahoo.com>
3617
Werner Lemberg32e05a62008-05-04 16:53:22 +00003618 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
3619 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
3620 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00003621 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
3622 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
3623 (T1_DecoderRec): New fields `buildchar' and `face'.
3624 (IS_PS_TOKEN): New macro.
3625
Werner Lemberg32e05a62008-05-04 16:53:22 +00003626 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
3627 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003628
Werner Lemberg32e05a62008-05-04 16:53:22 +00003629 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00003630 `default_design_vector' and `num_default_design_vector'.
3631
Werner Lemberg32e05a62008-05-04 16:53:22 +00003632 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
3633 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
3634 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003635
Werner Lemberg32e05a62008-05-04 16:53:22 +00003636 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
3637 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003638 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
3639 want to skip the array.
3640 (ps_tofixedarray): Allow `values' argument to be NULL if we just
3641 want to skip the array.
3642
Werner Lemberg32e05a62008-05-04 16:53:22 +00003643 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
3644 for (partially commented out) othersubrs 19-25, 27, and 28.
3645 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003646 (t1_decoder_done): Release new field `buildchar'.
3647
Werner Lemberg32e05a62008-05-04 16:53:22 +00003648 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00003649 functions.
3650 (t1_keywords): Register them.
3651 (t1_allocate_blend): Updated.
3652 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
3653 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
3654 (parse_dict): Remove `keyword_flags' argument.
3655 Use new macro IS_PS_TOKEN.
3656 Changed function so that later PostScript definitions override
3657 earlier ones.
3658 (t1_init_loader): Initialize new field `keywords_encountered'.
3659 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
3660 `len_buildchar'.
3661 Remove `keywords_flags'.
3662
Werner Lemberg32e05a62008-05-04 16:53:22 +00003663 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00003664 `keywords_encountered'.
3665 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
3666
Werner Lemberg32e05a62008-05-04 16:53:22 +00003667 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
3668 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00003669
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000036702006-07-07 Werner Lemberg <wl@gnu.org>
3671
3672 Add many checks to protect against malformed PCF files.
3673
3674 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
3675 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
3676
3677 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
3678 data and check that tables don't overlap (using a simple
3679 bubblesort).
3680 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
3681 New macros which give the size of data structures in the data
3682 stream.
3683 (pcf_get_properties): Use rough estimates to get array size limits.
3684 Assign `face->nprops' and `face->properties' earlier so that a call
3685 to PCF_Face_Done can do the clean-up in case of error.
3686 Protect against invalid string offsets.
3687 (pcf_get_metrics): Clean up code.
3688 Adjust tracing message levels.
3689 Use rough estimate to get array size limit.
3690 (pcf_get_bitmaps): Clean up code.
3691 Adjust tracing message levels.
3692 Use rough estimates to get offset limits.
3693 (pcf_get_encodings): Adjust tracing message level.
3694 (pcf_get_accel): Clean up code.
3695
Werner Lemberg8eb05252006-06-27 06:20:01 +000036962006-06-26 Werner Lemberg <wl@gnu.org>
3697
3698 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
3699 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
3700
Werner Lemberg24703f82006-06-26 19:12:51 +000037012006-06-26 Jens Claudius <jens.claudius@yahoo.com>
3702
3703 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
3704 (t1_decoder_parse_charstrings): Operator with
3705 opcode 15 pops its two arguments.
3706 Handle the case where the pops of an othersubr may be part of a
3707 subroutine.
3708 Handle unknown othersubrs gracefully: count their operands and let
3709 the following pop operators push the operands as the results onto
3710 the Type1 stack.
3711 Improve handling of setcurrentpoint opcode.
3712
Werner Lembergc011f4c2006-06-26 09:40:00 +000037132006-06-25 Jens Claudius <jens.claudius@yahoo.com>
3714
3715 The Type 1 parser now skips over top-level procedures as required
3716 for a `Simplified Parser'. This makes the parser more robust as it
3717 doesn't poke around in PostScript code. Additionally, it makes the
3718 FontDirectory hackery in src/type1/t1load.c unnecessary.
3719
3720 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
3721 (skip_literal_string): Add FT_Error as return value.
3722 Handle escapes better.
3723 (skip_string): Add FT_Error as return value.
3724 Don't set `parser->error' but return error code directly.
3725 (skip_procedure): New function.
3726 (ps_parser_skip_PS_token): Handle procedures.
3727 Update code.
3728 (ps_parser_to_token): Update code.
3729 (ps_parser_load_field_table): Handle bbox entries also.
3730
3731 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
3732 Add commented-out code for synthetic fonts.
3733
Werner Lemberga2da05c2006-06-25 06:27:27 +000037342006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
3735
3736 Fix two hinting bugs as reported in
3737 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
3738
3739 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
3740 `first_point' member.
3741
3742 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
3743 `first_point'.
3744 (TT_Process_Composite_Glyph): Always untouch points.
3745
3746 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
3747 `first_point' and `last_point' in case of composite glyphs.
3748 (Ins_IUP): Fix computation of `end_point'.
3749
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000037502006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3751
Werner Lembergef3d2c22006-06-25 06:07:14 +00003752 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
3753 Mac. The original patch was written by David Sachitano and Lawrence
3754 Coopet, and modified by Sean McBride for MPW compatibility. Only
3755 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003756
Werner Lembergef3d2c22006-06-25 06:07:14 +00003757 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
3758 Mac OS X platforms.
3759 (OS_INLINE): Undefine before definition.
3760 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
3761 FontAssociation table in FOND resource.
3762 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
3763 and fontSize at each entry of FontAssociation table in FOND
3764 resource.
3765 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
3766 ffStylOff of FamilyRecord header of FOND resource, the header,
3767 fontSize, fontID at each entry of FontAssociation table, and
3768 StyleMapping table.
3769 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00003770
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000037712006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3772
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003773 Public API of TrueTypeGX, OpenType, and classic kern table validator
3774 should return `FT_Err_Unimplemented_Feature' if validation service
3775 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00003776 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003777 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
3778
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003779 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
3780 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
3781 unavailable.
3782 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
3783 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003784
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00003785 * src/base/ftotval.c (FT_OpenType_Validate): Return
3786 FT_Err_Unimplemented_Feature if OpenType validation service is
3787 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00003788
Werner Lembergb10e45a2006-06-08 07:32:56 +000037892006-06-08 Werner Lemberg <wl@gnu.org>
3790
3791 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
3792 errors.
3793
David Turner5f1f7502006-06-07 05:11:50 +000037942006-06-07 David Turner <david@freetype.org>
3795
Werner Lemberg7d48cb02006-06-08 06:00:08 +00003796 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
3797 (T1_Read_Metrics): Fix memory leak which happened when the metrics
3798 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00003799
David Turner457b4a82006-06-06 08:14:14 +000038002006-06-06 David Turner <david@freetype.org>
3801
Werner Lemberg4836f952006-06-06 12:54:08 +00003802 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00003803
Werner Lemberg4836f952006-06-06 12:54:08 +00003804 We change `ps_unicodes_init' so that it also takes a
3805 `free_glyph_name' callback to release the glyph names returned by
3806 `get_glyph_name'
3807
3808 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
3809 Renamed to ...
3810 (PS_GetGlyphNameFunc): This.
3811 (PS_FreeGlyphNameFunc): New typedef.
3812 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
3813
3814 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
3815 argument.
3816 (cff_sid_free_glyph_name): New function.
3817 (cff_cmap_unicode_init): Updated.
3818
3819 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
3820
3821 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
3822 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00003823
3824
David Turner09717352006-06-04 14:33:08 +000038252006-06-04 David Turner <david@freetype.org>
3826
Werner Lembergd724f202006-06-04 15:17:41 +00003827 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
3828 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003829 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00003830
Werner Lembergd724f202006-06-04 15:17:41 +00003831 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
3832 of `face->num_glyphs' which missed the last glyph, due to
3833 the offset-by-1 computation, since the PFR format doesn't
3834 guarantee that glyph index 0 corresponds to the `missing
3835 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00003836
Werner Lemberg33779662006-05-26 06:30:05 +000038372006-05-25 Werner Lemberg <wl@gnu.org>
3838
3839 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
3840 `-no-undefined'. Reported by Christian Biesinger.
3841
Werner Lemberg24773d62006-05-20 08:53:13 +000038422006-05-19 Brian Weed <bw@imaginengine.com>
3843
3844 * builds/win32/visualc/freetype.dsp: Release libraries no longer
3845 have debug information, and debug libraries use `C7 compatible'
3846 debug info.
3847
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000038482006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3849
Werner Lemberga6523a62006-05-20 08:47:01 +00003850 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00003851 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003852
Werner Lemberga6523a62006-05-20 08:47:01 +00003853 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
3854 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003855
3856 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00003857 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00003858
38592006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3860
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00003861 * build/unix/configure.raw: Add a fallback to disable Carbon
3862 dependency, if configured with no options on Mac OS X.
3863
38642006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3865
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003866 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00003867 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00003868 the second part of Savannah bug #16590.
3869
Werner Lemberg545c4e52006-05-17 22:55:04 +000038702006-05-18 Werner Lemberg <wl@gnu.org>
3871
3872 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
3873 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
3874
David Turnerdc3ff312006-05-17 12:59:35 +000038752006-05-17 David Turner <david@freetype.org>
3876
Werner Lemberg545c4e52006-05-17 22:55:04 +00003877 This is a major patch used to drastically improve the performance of
3878 loading glyphs. This both speeds up loading the glyph vectors
3879 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00003880
Werner Lemberg545c4e52006-05-17 22:55:04 +00003881 We now use inline assembler code with GCC to implement `FT_MulFix',
3882 which is probably the most important function related to the
3883 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00003884
Werner Lemberg545c4e52006-05-17 22:55:04 +00003885 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00003886
3887
Werner Lemberg545c4e52006-05-17 22:55:04 +00003888 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
3889 `cursor' and `limit'.
3890
3891 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
3892 New functions.
3893 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
3894 [TEST]: Remove.
3895
3896 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
3897 code.
3898
3899 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
3900 `FT_ZERO'
3901 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
3902 (af_glyph_hints_reload: Rewrite recognition of weak points.
3903
3904 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
3905 constant values out of the loops.
3906
3907 * src/autofit/aftypes.h: Updated.
3908
3909 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
3910
3911 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
3912 product to get orientation.
3913
3914 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
3915 (FT_Stream_OpenGzip): Use it to handle small files directly in
3916 memory.
3917
3918 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
3919 Improve performance.
3920
3921 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
3922 `limit'.
3923
3924 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
3925 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
3926 exceedingly large values of number of contours. Speed up by
3927 reducing the number of loops.
3928
3929 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
3930
3931
3932 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
3933 used to detect rogue clients from 4 to 16. This is to prevent some
3934 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
3935 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00003936
Werner Lembergde2d90a2006-05-17 08:54:30 +000039372007-05-17 Werner Lemberg <wl@gnu.org>
3938
3939 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00003940 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00003941
39422006-05-16 Werner Lemberg <wl@gnu.org>
3943
3944 * docs/PROBLEMS: Updated icl issues.
3945
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003946----------------------------------------------------------------------------
3947
Werner Lemberg4c933992008-01-18 05:32:55 +00003948Copyright 2006, 2007, 2008 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003949David Turner, Robert Wilhelm, and Werner Lemberg.
3950
3951This file is part of the FreeType project, and may only be used, modified,
3952and distributed under the terms of the FreeType project license,
3953LICENSE.TXT. By continuing to use, modify, or distribute this file you
3954indicate that you have read the license and understand and accept it
3955fully.
3956
3957
3958Local Variables:
3959version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003960coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003961End: