blob: 654e76adb5de7d211d9b7a9deaf32bc1c64f0a56 [file] [log] [blame]
Werner Lembergfb4ddb22009-01-14 05:30:56 +000012009-01-14 Werner Lemberg <wl@gnu.org>
2
Werner Lemberge22dd0b2009-01-14 06:52:18 +00003 * Version 2.3.8 released.
4 =========================
5
6
7 Tag sources with `VER-2-3-8'.
8
9 * docs/VERSION.DLL: Update documentation and bump version number to
10 2.3.8.
11
12 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
13 builds/win32/visualc/freetype.dsp,
14 builds/win32/visualc/freetype.vcproj,
15 builds/win32/visualce/index.html,
16 builds/win32/visualce/freetype.dsp,
17 builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
18
19 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
20
21 * builds/unix/configure.raw (version_info): Set to 9:19:3.
22
23 * docs/release: Updated.
24
252009-01-14 Werner Lemberg <wl@gnu.org>
26
Werner Lembergfb4ddb22009-01-14 05:30:56 +000027 * builds/toplevel.mk (dist): Compress better.
28
Werner Lemberg24d72a12009-01-13 17:34:48 +0000292009-01-13 Werner Lemberg <wl@gnu.org>
30
Werner Lemberg9bf73ec2009-01-13 17:42:00 +000031 * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
32 with C++.
33
342009-01-13 Werner Lemberg <wl@gnu.org>
35
Werner Lemberg24d72a12009-01-13 17:34:48 +000036 Don't use stdlib.h and friends directly.
37 Reported by Mickey Gabel <mickey@monfort.co.il>.
38
39 * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
40
41 * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
42 s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
43
44 * src/autofit/aftypes.h, src/autofit/afhints.c,
45 src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
46
47 * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
48
Werner Lemberge85baf42009-01-12 20:01:10 +0000492009-01-12 Werner Lemberg <wl@gnu.org>
50
Werner Lembergf47acf22009-01-12 20:11:14 +000051 Avoid compiler warnings.
52
53 * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
54 Reported by Sean McBride <sean@rogue-research.com>.
55
562009-01-12 Werner Lemberg <wl@gnu.org>
57
Werner Lemberge85baf42009-01-12 20:01:10 +000058 Fix stdlib dependencies.
59
60 Problem reported by Mickey Gabel <mickey@monfort.co.il>.
61
62 * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
63
64 * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
65 s/memcpy/ft_memcpy/.
66 * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
67
Werner Lembergfc6d12a2009-01-11 10:55:45 +0000682009-01-11 Werner Lemberg <wl@gnu.org>
69
70 * docs/formats.txt: Add link to PCF specification.
71
Werner Lemberg214ca052009-01-11 11:45:54 +000072 * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
73 documentation.
74
Suzuki, Toshiya (鈴木俊哉)759c07d2009-01-09 11:11:53 +0000752009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
76
77 * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
78 FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
79 FT_Int32, to match with the flags for FT_Load_Glyph().
80 * src/cff/cffdrivr.c (cff_get_advances): Ditto.
81 * src/truetype/ttdriver.c (tt_get_advances): Ditto.
82 * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
83 Ditto.
84 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
85 Ditto.
86
Suzuki, Toshiya (鈴木俊哉)68e16e02009-01-09 08:01:15 +0000872009-01-09 Daniel Zimmermann <netzimme@aol.com>
88
89 * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
Werner Lembergfc6d12a2009-01-11 10:55:45 +000090 length check. From Savannah patch #6682.
Suzuki, Toshiya (鈴木俊哉)68e16e02009-01-09 08:01:15 +000091
Werner Lemberg9d83d292009-01-09 07:58:08 +0000922009-01-09 Werner Lemberg <wl@gnu.org>
93
94 Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
95
96 * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
97 `count_offset' if it is zero (i.e., unused). Otherwise, the first
98 element of the structure which holds the data is erroneously
99 modified. Problem reported by Chi Nguyen <chint@necsv.com>.
100
Suzuki, Toshiya (鈴木俊哉)2dc10792009-01-09 05:07:15 +00001012009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
102
Suzuki, Toshiya (鈴木俊哉)a7c00b72009-01-09 07:21:16 +0000103 * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
104 FT_Get_Advances): Extend the type of load_flags from FT_UInt to
105 FT_UInt32, to pass 32-bit flags on 16bit platforms.
106 * src/cff/cffdrivr.c (cff_get_advances): Ditto.
107 * src/truetype/ttdriver.c (tt_get_advances): Ditto.
108 * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
109 Ditto.
110 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
111 Ditto.
112
1132009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
114
Suzuki, Toshiya (鈴木俊哉)2dc10792009-01-09 05:07:15 +0000115 * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
116 FT_Done_Face() cannot free all faces. If the list of the opened
117 faces includes broken face which FT_Done_Face() cannot free,
118 FT_Done_Library() retries FT_Done_Face() and it can fall into
119 an endless loop. See the discussion:
120 http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
121 http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
122
Werner Lemberga79de112009-01-07 08:27:37 +00001232009-01-07 Werner Lemberg <wl@gnu.org>
124
125 * docs/CHANGES: Document new key `a' in ftdiff.
126
Werner Lemberga86f1b92009-01-06 09:07:22 +00001272009-01-06 Werner Lemberg <wl@gnu.org>
128
Werner Lembergc3263722009-01-06 21:00:47 +0000129 * autogen.sh: Don't use GNUisms while calling sed. Problem reported
130 by Sean McBride.
131
1322009-01-06 Werner Lemberg <wl@gnu.org>
133
Werner Lemberga86f1b92009-01-06 09:07:22 +0000134 * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
135 and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
136 <chint@necsv.com>.
137
Werner Lembergc6791152009-01-06 07:07:39 +00001382009-01-06 Diego Pettenò <flameeyes@gmail.com>
139
140 * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
141 AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
142 this change can be found at
143 http://blog.flameeyes.eu/s/canonical-target.
144
145 From Savannah patch #6712.
146
Werner Lembergf2e33c12009-01-06 06:59:36 +00001472009-01-06 Sean McBride <sean@rogue-research.com>
148
149 * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
150
151 * src/base/ftmac.c: Remove some #undefs.
152
Werner Lemberg1ad384d2008-12-25 23:52:00 +00001532008-12-26 Werner Lemberg <wl@gnu.org>
154
155 Set `face_index' field in FT_Face for all font formats.
156
157 * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
158 sfnt/sfobjs.c (sfnt_init_face): Do it.
159
160 * docs/CHANGES: Document it.
161
Werner Lemberg66043b12008-12-22 18:09:48 +00001622008-12-22 Steve Grubb
163
164 * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
165 Patch from Savannah bug #25151.
166
Werner Lemberg478cca12008-12-21 17:38:23 +00001672008-12-21 Werner Lemberg <wl@gnu.org>
168
Werner Lemberg3c5ad952008-12-21 17:51:12 +0000169 * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
170 src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
171 s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
172 errors in the bytecode interpreter only.
173
1742008-12-21 Werner Lemberg <wl@gnu.org>
175
Werner Lemberg478cca12008-12-21 17:38:23 +0000176 * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
177 arguments.
178 Fix return value for non-PFR fonts. Both problems reported by Chi
179 Nguyen <chint@necsv.com>.
180
Werner Lembergce33a312008-12-21 10:29:30 +00001812008-12-21 anonymous
182
183 FT_USE_MODULE declares things as:
184
185 extern const FT_Module_Class
186
187 (or similar for C++). However, the actual types of the variables
188 being declared are often different, e.g., FT_Driver_ClassRec or
189 FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
190
191 This works with most C compilers (since those structs begin with an
192 FT_Module_Class struct), but technically it's undefined behavior.
193
194 To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
195 paragraph 2:
196
197 All declarations that refer to the same object or function shall
198 have compatible type; otherwise, the behavior is undefined.
199
200 (And they are not compatible types.)
201
202 Most C compilers don't reject (or even detect!) code which has this
203 issue, but the GCC LTO development branch compiler does. (It
204 outputs the types of the objects while generating .o files, along
205 with a bunch of other information, then compares them when doing the
206 final link-time code generation pass.)
207
208 Patch from Savannah bug #25133.
209
210 * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
211
212 * builds/amiga/include/freetype/config/ftmodule.h,
213 include/freetype/config/ftmodule.h, */module.mk: Updated to declare
214 pass correct types to FT_USE_MODULE.
215
Werner Lembergb6fa8452008-12-21 09:46:31 +00002162008-12-21 Hongbo Ni <hongbo@njstar.com>
217
218 * src/autofit/aflatin.c (af_latin_hint_edges),
219 src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
Werner Lembergce33a312008-12-21 10:29:30 +0000220 (af_cjk_hint_edges): Protect against division by zero. This fixes
221 Savannah bug #25124.
Werner Lembergb6fa8452008-12-21 09:46:31 +0000222
Werner Lemberg05bf6872008-12-18 06:32:10 +00002232008-12-18 Werner Lemberg <wl@gnu.org>
224
225 * docs/CHANGES: Updated.
226
2272008-12-18 Bevan, David <dbevan@emtex.com>
228
229 Provide API for accessing embedding and subsetting restriction
230 information.
231
232 * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
233 FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
234 FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
235 FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
236 macros.
237 (FT_Get_FSType_Flags): New function declaration.
238
239 * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
240
241 * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
242 (t42_keywords): Handle `FSType'.
243
244 * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
245
Werner Lembergc8c4cc82008-12-17 10:50:31 +00002462008-12-17 Werner Lemberg <wl@gnu.org>
247
Werner Lembergcfc514e2008-12-17 11:03:26 +0000248 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
249 macros so that copying the source code into an application works
250 out of the box.
251
2522008-12-17 Werner Lemberg <wl@gnu.org>
253
254 * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
Werner Lembergc8c4cc82008-12-17 10:50:31 +0000255 FT_GlyphSlot_Own_Bitmap to...
256 * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
257
258 * docs/CHANGES: Document it.
259
Werner Lembergb972a2a2008-12-11 08:55:48 +00002602008-12-10 Werner Lemberg <wl@gnu.org>
261
262 Generalize the concept of `tricky' fonts by introducing
263 FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
264 engine is necessary for correct rendering.
265
266 At the same time, slightly modify the behaviour of tricky fonts:
267 FT_LOAD_NO_HINTING is now ignored. To really force raw loading
268 of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
269 FT_LOAD_NO_AUTOHINT must be used.
270
271 Finally, tricky TrueType fonts always use the bytecode interpreter
272 even if the patented code is used.
273
274 * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
275 New macros.
276
277 * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
278 semantics as described above.
279
280 * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
281 code of ...
282 (tt_face_init): This function, now simplified and updated to new
283 semantics.
284
285 * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
286 fonts.
287
288 * docs/CHANGES: Document it.
289
Werner Lemberg1474f432008-12-09 06:51:56 +00002902008-12-09 Werner Lemberg <wl@gnu.org>
291
292 Really fix Savannah bug #25010: An SFNT font with neither outlines
293 nor bitmaps can be considered as containing space `glyphs' only.
294
295 * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
296 a `glyf' table is missing.
297
298 * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
299 `glyf' table but a non-zero `loca' entry.
300 (tt_loader_init): Handle missing `glyf' table.
301
302 * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
303
304 * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
305 nor bitmaps is scalable.
306
Werner Lemberg76fffcd2008-12-05 18:37:44 +00003072008-12-05 Werner Lemberg <wl@nu.org>
308
Werner Lemberge3b083c2008-12-05 22:50:40 +0000309 * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
310 fixes Savannah bug #21190 which also provides a basic patch.
311
3122008-12-05 Werner Lemberg <wl@nu.org>
313
Werner Lemberg76fffcd2008-12-05 18:37:44 +0000314 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
315 0x100 instead of 0x10000; the latter value is already occupied by
316 FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
317
318
319 Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
320 bug #25010.
321
322 * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
323 outlines nor bitmaps.
324
325 * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
326 is no table with glyphs.
327
328
329 * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
330 message.
331
Werner Lembergafe60162008-12-01 12:53:00 +00003322008-12-01 Werner Lemberg <wl@gnu.org>
333
334 GDEF tables need `glyph_count' too for validation. Problem reported
335 by Chi Nguyen <chint@necsv.com>.
336
337 * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
338 (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
339 `glyph_count'.
340
Werner Lemberg1a5d5612008-11-29 22:50:24 +00003412008-11-29 Werner Lemberg <wl@gnu.org>
342
343 * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
344 src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
345 src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
346 src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
347 src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
348 (Atari PureC).
349
Werner Lembergb2cb6ce2008-11-29 09:32:12 +00003502008-11-29 James Cloos <cloos@jhcloos.com>
351
Werner Lemberg8f9b7f52008-11-29 17:35:58 +0000352 * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
353 it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
354 in the /BlendDesignMap space).
355
3562008-11-29 James Cloos <cloos@jhcloos.com>
357
Werner Lembergb2cb6ce2008-11-29 09:32:12 +0000358 * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
359 whereas `design_points' is FT_Long*. Therefore, return blend rather
360 than design points.
361
Werner Lembergc7597ed2008-11-27 21:55:20 +00003622008-11-27 Werner Lemberg <wl@gnu.org>
363
364 * src/cff/cffparse.c (cff_parse_real): Handle more than nine
365 significant digits correctly. This fixes Savannah bug #24953.
366
Werner Lemberg0a263a82008-11-25 05:44:41 +00003672008-11-25 Daniel Zimmermann <netzimme@aol.com>
368
369 * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
370 before the NULL check. From Savannah patch #6681.
371
Werner Lemberg52cd0fc2008-11-24 08:15:05 +00003722008-11-24 Werner Lemberg <wl@gnu.org>
373
374 Fixes from the gnuwin32 port.
375
376 * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
377
378 * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
379
380 * src/psaux/psobjs.c (ps_table_add): Check `length'.
381
Werner Lemberg105721a2008-11-15 10:35:51 +00003822008-11-15 Werner Lemberg <wl@gnu.org>
383
384 * src/truetype/ttinterp.c (tt_default_graphics_state): The default
385 value for `scan_type' is zero, as confirmed by Greg Hitchcock from
386 Microsoft. Problem reported by Michal Nowakowski
387 <miszka@limes.com.pl>.
388
Werner Lemberg312043f2008-11-12 06:29:41 +00003892008-11-12 Tor Andersson <tor.andersson@gmail.com>
390
391 * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
392 This fixes Savannah bug #24819.
393
Werner Lemberge7aad022008-11-08 22:00:55 +00003942008-11-08 Werner Lemberg <wl@gnu.org>
395
396 * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
397 since OpenType version 1.5 has been released.
398
399 * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
400 TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
401 (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
402 TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
403 TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
404 TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
405 TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
406 TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
407 TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
408 TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
409 TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
410 TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
411 TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
412 macros for OpenType 1.5.
413
Werner Lembergfb4ddb22009-01-14 05:30:56 +00004142008-11-08 Wenlin Institute <wenlin@wenlin.com>
Werner Lembergb6192822008-11-08 07:28:39 +0000415
416 * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
417 slot->internal == NULL. Reported by Graham Asher.
418
Werner Lemberg95120922008-11-08 07:20:25 +00004192008-11-08 Werner Lemberg <wl@gnu.org>
420
421 * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
422 code so that memory allocation problems can be distinguished from
423 missing table entries. Reported by Graham Asher.
424 (GET_NAME): New macro.
425 (sfnt_load_face): Use it.
426
Werner Lembergc321b9b2008-11-05 14:34:29 +00004272008-11-05 Werner Lemberg <wl@gnu.org>
428
429 * devel/ftoption.h, include/freetype/config/ftoption.h
430 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
431 TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
432 `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
433 Reported in bug #441638 of bugzilla.novell.com.
434
435 * docs/CHANGES: Document it.
436
Werner Lemberge0ed07d2008-11-04 10:37:30 +00004372008-11-03 Werner Lemberg <wl@gnu.org>
438
439 * src/type1/t1load.c (parse_subrs): Use an endless loop. There are
440 fonts (like HELVI.PFB version 003.001, used on OS/2) which define
441 some `subrs' elements more than once. Problem reported by Peter
442 Weilbacher <mozilla@weilbacher.org>.
443
Werner Lembergf31072c2008-10-15 20:03:37 +00004442008-10-15 Graham Asher <graham.asher@btinternet.com>
445
446 * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
447
4482008-10-15 David Turner <david@freetype.org>
Suzuki, Toshiya (鈴木俊哉)69222662008-10-15 15:22:39 +0000449
450 * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
451 meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
452
Werner Lemberg822604c2008-10-14 07:28:03 +00004532008-10-14 Werner Lemberg <wl@gnu.org>
454
455 * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
456 Suggested by Bram Tassyns in Savannah patch #6651.
457
Werner Lemberg174b8de2008-10-12 11:47:29 +00004582008-10-12 Graham Asher <graham.asher@btinternet.com>
459
460 * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
461 `underline_position'.
462
4632008-10-12 Werner Lemberg <wl@gnu.org>
464
465 * docs/CHANGES: Updated.
466
Suzuki, Toshiya (鈴木俊哉)1464bc52008-10-09 05:44:23 +00004672008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
468
469 Fix Savannah bug #24468.
470
471 According to include/freetype/internal/ftobjs.h, the appropriate
472 type to interchange single character codepoint is FT_UInt32. It
473 should be distinguished from FT_UInt which can be 16bit integer.
474
475 * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
476 of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
477 (tt_cmap4_char_map_binary): Ditto.
478 (tt_cmap14_get_nondef_chars): Change the type of return value
479 from FT_UInt* to FT_UInt32*.
480
4812008-10-08 John Tytgat <John.Tytgat@esko.com>
Werner Lembergfa9d3992008-10-08 16:04:46 +0000482
483 Fix Savannah bug #24485.
484
485 * src/type1/t1load.c (parse_charstrings): Assure that we always have
486 a .notdef glyph.
487
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +00004882008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
489
Suzuki, Toshiya (鈴木俊哉)96d87be2008-10-05 03:08:10 +0000490 * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
491 * builds/mac/ftmac.c: Ditto.
492
4932008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
494
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000495 * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
Suzuki, Toshiya (鈴木俊哉)af48cb02008-10-05 02:53:06 +0000496 * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
497
4982008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
499
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000500 * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
501 the beginning of sfnt container.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +0000502 * src/sfnt/ttload.c (check_table_dir): Return
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000503 `SFNT_Err_Table_Missing' when sfnt table directory structure is
504 correct but essential tables for TrueType fonts (`head', `bhed' or
505 `SING') are missing. Other errors are returned by
506 SFNT_Err_Unknown_File_Format.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +0000507
508 * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000509 `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
510 enabled only when old mac font support is configured.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +0000511
Suzuki, Toshiya (鈴木俊哉)72eb2702008-10-04 17:49:58 +00005122008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
513
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000514 * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
515 TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
516 the repeated calculations of these values in ftobjs.c and ftmac.c.
Suzuki, Toshiya (鈴木俊哉)21bd5162008-10-04 18:10:28 +0000517 * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
518 * src/base/ftmac.c: Ditto.
519 * builds/mac/ftmac.c: Ditto.
520
5212008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
522
Suzuki, Toshiya (鈴木俊哉)72eb2702008-10-04 17:49:58 +0000523 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
524 initialization of *is_sfnt_cid.
525
Werner Lemberg45489582008-10-04 11:39:03 +00005262008-10-04 Werner Lemberg <wl@gnu.org>
527
528 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
529 warnings.
530
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +00005312008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
532
533 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
534 (ft_lookup_PS_in_sfnt_stream): This.
Werner Lemberg45489582008-10-04 11:39:03 +0000535 (open_face_PS_from_sfnt_stream): New function. It checks whether
536 the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
537 font, then try to open a face for given face_index.
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +0000538 (Mac_Read_sfnt_Resource): Replace the combination of
539 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
540 `open_face_PS_from_sfnt_stream'.
541 * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
542 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
543 * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
544 `open_face_PS_from_sfnt_stream'.
545
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +00005462008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
547
Werner Lemberg45489582008-10-04 11:39:03 +0000548 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
549 FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
Suzuki, Toshiya (鈴木俊哉)bc2c4982008-10-03 12:28:52 +0000550
5512008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
552
Werner Lemberg45489582008-10-04 11:39:03 +0000553 * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
554 MrC compiler of MPW is used. These compilers do not define the
555 macro __APPLE__ by themselves.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000556 * builds/unix/ftconfig.in: Ditto.
557 * builds/vms/ftconfig.h: Ditto.
Werner Lemberg45489582008-10-04 11:39:03 +0000558 * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
559 include ftmac.c if FreeType 2 is built by MPW.
560 * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
561 enable shared functions for ftmac.c if FreeType 2 is built by MPW.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000562
563 * builds/mac/ftmac.c: Include ftbase.h.
564 (memory_stream_close): Removed.
565 (new_memory_stream): Ditto.
566 (open_face_from_buffer): Removed. Use the implementation in
567 ftobjs.c.
568 (ft_lookup_PS_in_sfnt): Ditto.
569
570 * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
Werner Lemberg45489582008-10-04 11:39:03 +0000571 included part of ftbase.c, to share the functions in ftobjs.c. The
572 rule compiling ftmac.c separately is removed and the rule copying
573 ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000574 * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
575 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
576 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
577
Werner Lembergb17fb112008-10-02 10:17:32 +00005782008-10-02 Bram Tassyns <bramt@enfocus.be>
579
580 * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
581 fixes Savannah bug #24430.
582
Werner Lemberg89a1a512008-10-02 06:48:10 +00005832008-10-02 Werner Lemberg <wl@gnu.org>
584
585 * builds/freetype.mk (BASE_H): Rename to...
586 (INTERNAL_H): This.
587 (FREETYPE_H): Updated.
588 * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
589 * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
590 * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
591 * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
592 * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
593 * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
594
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00005952008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
596
597 * src/base/ftbase.h: New file to declare the private utility
Werner Lembergcff15b02008-10-02 05:38:29 +0000598 functions shared by the sources of base modules. Currently,
599 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
600 share between ftobjs.c and ftmac.c.
601
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000602 * src/base/rule.mk: Add ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +0000603
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000604 * src/base/ftobjs.c: Include ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +0000605 (memory_stream_close): Build on any platform when old MacOS font
606 support is enabled.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000607 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +0000608 (open_face_from_buffer): Build on any platform when old MacOS font
609 support is enabled. The counting of the face in a font file is
610 slightly different between Carbon-dependent parser and Carbon-free
611 parser. They are merged with the platform-specific conditional.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000612 (ft_lookup_PS_in_sfnt): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +0000613
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000614 * src/base/ftmac.c: Include ftbase.h.
615 (memory_stream_close): Removed.
616 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +0000617 (open_face_from_buffer): Removed. Use the implementation in
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000618 ftobjs.c.
619 (ft_lookup_PS_in_sfnt): Ditto.
620
Werner Lembergce1bad02008-10-01 22:46:26 +00006212008-10-02 Werner Lemberg <wl@gnu.org>
622
623 * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
624 if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
625
Werner Lembergd03d8562008-10-01 22:39:05 +00006262008-10-01 Werner Lemberg <wl@gnu.org>
627
628 * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
629 (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
630 src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
631 (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
632 src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
633 Reported by Graham Asher.
634
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +00006352008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
636
Werner Lembergfce4e232008-10-01 04:41:46 +0000637 * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
Werner Lembergcff15b02008-10-02 05:38:29 +0000638 multi' on Mac OS X. If the macro $(ftmac_c) is defined,
Werner Lembergfce4e232008-10-01 04:41:46 +0000639 $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
640 lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
641 ftmac.c.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +0000642 * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
643 * builds/unix/configure.raw: Add procedure to set up appropriate
Werner Lembergfce4e232008-10-01 04:41:46 +0000644 value of $(ftmac_c) with the consideration of the availability of
645 Carbon framework.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +0000646
6472008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
648
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +0000649 * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
Werner Lembergfce4e232008-10-01 04:41:46 +0000650 * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
651 function for MPW building. It is synchronized the condition to
652 include ftmac.c source into ftbase.c.
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +0000653
Werner Lembergb4c810e2008-09-22 11:28:46 +00006542008-09-22 Werner Lemberg <wl@gnu.org>
655
656 * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
657 cff_decoder_parse_charstrings): Handle (invalid)
658 `callothersubr' and `pop' instructions.
659
Werner Lembergbd0f71a2008-09-22 08:55:44 +00006602008-09-22 John Tytgat <John.Tytgat@esko.com>
661
662 Fix Savannah bug #24307.
663
664 * include/freetype/internal/t1types.h (CID_FaceRec),
665 src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
666
6672008-09-21 Werner Lemberg <wl@gnu.org>
668
669 * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
670 `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
671 Stephan T. Lavavej <stl@nuwen.net>.
672
Suzuki, Toshiya (鈴木俊哉)815e1862008-09-21 18:33:57 +00006732008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
674
675 * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
676 by jam.
677 * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
678 jam.
679
Werner Lemberg6874d852008-09-20 11:50:47 +00006802008-09-20 Werner Lemberg <wl@gnu.org>
681
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000682 * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
683 passed to this function are already `normalized'. Problem reported
Werner Lembergbd0f71a2008-09-22 08:55:44 +0000684 by Stephan T. Lavavej <stl@nuwen.net>.
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000685
686 * docs/CHANGES: Document it.
687
6882008-09-20 Werner Lemberg <wl@gnu.org>
689
Werner Lemberg6874d852008-09-20 11:50:47 +0000690 * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
691 (FT_Outline_Decompose): Decorate with tracing messages.
692
693 * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
694 FT_DEBUG_LEVEL_TRACE.
695 [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
696 stdarg.h.
697
698 (FT_TRACE) [_STANDALONE_]: Remove.
699 (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
700 (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
701 (FT_ERROR) [_STANDALONE_]: Updated.
702
703 (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
704 Use FT_TRACE7.
705 (gray_dump_cells): Make it `static void'.
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000706 (gray_convert_glyph): Use FT_TRACE7.
Werner Lemberg6874d852008-09-20 11:50:47 +0000707
708 (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
709 ftoutln.c.
710
711 * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
712 FT_ERROR_BASE.
713
Werner Lemberg22e970a2008-09-20 12:20:21 +0000714 * docs/formats.txt: Updated.
715
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +00007162008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
717
Suzuki, Toshiya (鈴木俊哉)3afbee82008-09-19 17:46:01 +0000718 * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
719 CID-keyed font support.
720 * builds/mac/ftmac.c: Ditto.
721
7222008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
723
Werner Lemberg22e970a2008-09-20 12:20:21 +0000724 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
725 sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
726 `open_face_from_buffer' frees the passed buffer if it cannot open a
727 face from the buffer, so the caller must not free it.
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000728
7292008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
730
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000731 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
732 for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
733 (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
Werner Lemberg22e970a2008-09-20 12:20:21 +0000734 table in sfnt table directory. It is used before loading TrueType
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000735 font driver.
736
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000737 * docs/CHANGES: Add note about the current status of sfnt-wrapped
738 Type1 and sfnt-wrapped CID-keyed font support.
739
Werner Lemberg55c40632008-09-18 11:20:12 +00007402008-09-18 Werner Lemberg <wl@gnu.org>
741
742 * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
743 orthogonality (ft_free and ft_sfree could belong to different memory
744 pools). This fixes Savannah bug #24297.
745
Suzuki, Toshiya (鈴木俊哉)0c0db3e2008-09-18 04:36:56 +00007462008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
747
748 * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
749 in ttags.h instead of numerical value 0x4F54544FL.
750
Werner Lemberg634df6e2008-09-16 07:25:31 +00007512008-09-16 Werner Lemberg <wl@gnu.org>
752
753 * src/cff/cffgload.h, src/cff/cffgload.c
754 (cff_decoder_set_width_only): Eliminate function call.
755
Werner Lemberged6c0e02008-09-15 07:49:40 +00007562008-09-15 George Williams <gww@silcom.com>
757
758 Fix Savannah bug #24179, reported by Bram Tassyns.
759
760 * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
761 of default values.
762
7632008-09-15 Werner Lemberg <wl@gnu.org>
764
765 * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
766 and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
767 prevent unconditional definition. This fixes Savannah bug #24241.
768
769 * src/psnames/pstables.h: Regenerated.
770
Werner Lembergb2116512008-09-12 16:27:48 +00007712008-09-13 Werner Lemberg <wl@gnu.org>
772
773 * autogen.sh, builds/unix/configure.raw,
774 include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
775 beautifying.
776
777 * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
778 include/freetype/ftlcdfil.h: Protect against FreeType 1.
779 Some other minor fixes.
780
781 * devel/ftoption.h: Synchronize with
782 include/freetype/config/ftoption.h.
783
Werner Lemberg8d3e6ec2008-09-11 08:29:14 +00007842008-09-11 Werner Lemberg <wl@gnu.org>
785
786 * src/base/ftbase.c: Include ftadvanc.c.
787
Werner Lembergb2116512008-09-12 16:27:48 +00007882008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000789
790 * builds/unix/ftconfig.in: Duplicate the cpp computation of
791 FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
Werner Lembergb2116512008-09-12 16:27:48 +0000792 (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
793 computation is disabled and the statically configured sizes are
794 used. This fixes Savannah bug #21250.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000795
Werner Lembergb2116512008-09-12 16:27:48 +0000796 * builds/unix/configure.raw: Add the checks to compare the cpp
797 computation results of the bit length of int and long versus the
798 sizes detected by running `configure'. If the results are
799 different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
800 results.
801 New option --{enable|disable}-biarch-config is added to define or
802 undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000803
Werner Lembergb2116512008-09-12 16:27:48 +00008042008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000805
Werner Lembergb2116512008-09-12 16:27:48 +0000806 * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
807 ApplicationService framework is missing. Although this value is not
808 used in building of FreeType2, it is written in `freetype2.pc' and
809 `freetype-config'.
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000810
Werner Lembergb2116512008-09-12 16:27:48 +00008112008-09-01 david turner <david@freetype.org>
David Turner28534d62008-09-01 21:35:21 +0000812
Werner Lembergb2116512008-09-12 16:27:48 +0000813 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
814 index to mean `use default cached FT_Face's charmap'. This fixes
815 Savannah bug #22625.
816 * include/freetype/ftcache.h: Document it.
David Turner17cd6872008-09-02 02:34:29 +0000817
Werner Lembergb2116512008-09-12 16:27:48 +0000818
819 Make FT_MulFix an inlined function. This is done to speed up
David Turnerf47d2632008-09-02 02:21:58 +0000820 FreeType a little (on x86 3% when loading+hinting, 10% when
Werner Lembergb2116512008-09-12 16:27:48 +0000821 rendering, ARM savings are more important though). Disable this by
822 undefining FT_CONFIG_OPTION_INLINE_MULFIX.
David Turnerf47d2632008-09-02 02:21:58 +0000823
Werner Lembergb2116512008-09-12 16:27:48 +0000824 Use of assembler code can now be controlled with
825 FT_CONFIG_OPTION_NO_ASSEMBLER.
David Turner28534d62008-09-01 21:35:21 +0000826
Werner Lembergb2116512008-09-12 16:27:48 +0000827 * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
828 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
829 implementation.
830 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
831 implementation taken from `ftcalc.c'.
832 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
833 which is defined to the platform-specific assembler implementation
834 of FT_MulFix.
835 [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
836 (FT_MULFIX_INLINED): New macro.
David Turner28534d62008-09-01 21:35:21 +0000837
Werner Lembergb2116512008-09-12 16:27:48 +0000838 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
839 FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
840
841 * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
842
843 * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
844 FT_MULFIX_INLINED.
845
846
847 Add a new header named FT_ADVANCES_H declaring some new APIs to
848 extract the advances of one or more glyphs without necessarily
849 loading their outlines. Also provide `fast loaders' for the
850 TrueType, Type1, and CFF font drivers (more to come later).
851
852 * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
853
854 * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
855 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
856
857 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
858 `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
859 respectively.
860
861 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
862 ftadvanc.c.
863
864 * src/cff/cffdrivr.c (cff_get_advances): New function.
865 (cff_driver_class): Register it.
866
867 * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
868 (cff_decoder_parse_charstrings): Handle `width_only'.
869 (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
870
871 * src/cff/cffgload.h (cff_decoder): New element `width_only'.
872 (cff_decoder_set_width_only): New declaration.
873
874 * src/truetype/ttdriver.c (tt_get_advances): New function.
875 (tt_driver_class): Register it.
876
877 * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
878 (TT_Get_HMetrics, TT_Get_VMetrics): This.
879 Update callers.
880 * src/truetype/ttgload.h: Declare them.
881
882 * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
883 function.
884 * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
885
886
887 Add checks for minimum version of the `autotools' stuff.
888
889 * autogen.sh: Implement it.
890 (get_major_version, get_minor_version, get_patch_version,
891 compare_to_minimum_version, check_tool_version): New auxiliary
892 functions.
893
894 * README.CVS: Document it.
895
8962008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)7981fe22008-08-29 06:09:03 +0000897
898 * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
899 ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
900
Werner Lemberg4dbf00a2008-08-28 16:12:48 +00009012008-08-28 Werner Lemberg <wl@gnu.org>
902
903 * src/type1/t1load.c (parse_encoding): Protect against infinite
904 loop. This fixes Savannah bug #24150 (where a patch has been posted
905 too).
906
Werner Lemberga4cb0d92008-08-23 19:54:06 +00009072008-08-23 Werner Lemberg <wl@gnu.org>
908
909 * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
910 (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
911 #24119.
912
Werner Lembergb2116512008-09-12 16:27:48 +00009132008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +0000914
Werner Lemberga4cb0d92008-08-23 19:54:06 +0000915 * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
916 even if passed library or arguments are invalid. This fixes a bug
917 that an uninitialized stream is freed when an invalid library handle
918 is passed. Originally proposed by Mike Fabian, 2008/08/18 on
919 freetype-devel.
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +0000920 (FT_Open_Face): Ditto (stream).
921 (load_face_in_embedded_rfork): Ditto (stream2).
922
Werner Lembergb2116512008-09-12 16:27:48 +00009232008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000924
Werner Lemberg77f73582008-08-19 04:53:02 +0000925 * src/base/ftmac.c: Add a fallback to guess the availability of the
926 `ResourceIndex' type. It is used when built without configure
927 (e.g., a build with Jam).
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000928 * builds/mac/ftmac.c: Ditto.
Werner Lemberg77f73582008-08-19 04:53:02 +0000929 * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
930 explicitly, even if `ResourceIndex' is unavailable.
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000931
Werner Lembergb2116512008-09-12 16:27:48 +00009322008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000933
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000934 * builds/unix/configure.raw: In checking of Mac OS X features,
Werner Lemberg77f73582008-08-19 04:53:02 +0000935 all-in-one header file `Carbon.h' is replaced by the minimum
936 header file `CoreServices.h', similar to current src/base/ftmac.c.
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000937
Werner Lembergb2116512008-09-12 16:27:48 +00009382008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000939
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000940 * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
Werner Lemberg77f73582008-08-19 04:53:02 +0000941 sub-header when its code_count is 0. Many Japanese Dynalab fonts
942 include such an empty sub-header (code_count == 0, first_code == 0
943 delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +0000944
Werner Lemberg7fd20182008-08-04 18:46:37 +00009452008-08-04 Werner Lemberg <wl@gnu.org>
946
947 * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
948 Savannah bug #23995.
949
950 * src/cid/cidload.c (parse_expansion_factor): New callback function.
951 (cid_field_records): Use it for `ExpansionFactor'.
952 * src/cod/cidtoken.h: Handle `ForceBold' keyword.
953 Don't handle `ExpansionFactor'.
954
Werner Lembergeba3eee2008-08-04 15:54:24 +00009552008-08-04 Bram Tassyns <bramt@enfocus.be>
956
957 * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
958 resulted in incorrect scaling. This fixes Savannah bug #23973.
959
Werner Lemberg17e69012008-08-04 05:45:41 +00009602008-08-04 Werner Lemberg <wl@gnu.org>
961
962 Be more tolerant w.r.t. invalid entries in SFNT table directory.
963
964 * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
965 adjust table count.
966 Add more trace messages.
967 (tt_face_load_font_dir): Updated.
968
Werner Lemberg806f5932008-07-30 05:28:37 +00009692008-07-30 Werner Lemberg <wl@gnu.org>
970
971 * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
972 assume that the first argument on the stack is the bottom-most
973 element. Two reasons:
974
975 o According to people from Adobe it is missing in the Type 2
976 specification that pushing of additional, superfluous arguments
977 on the stack is prohibited.
978
979 o Acroread in general handles fonts differently, namely by popping
980 the number of arguments needed for a particular operand (as a PS
981 interpreter would do). In case of buggy fonts this causes a
982 different interpretation which of the elements on the stack are
983 superfluous and which not.
984
985 Since there are CFF subfonts (embedded in PDFs) which rely on
986 Acroread's behaviour, FreeType now does the same.
987
Werner Lemberg7f30c0c2008-07-27 05:43:59 +00009882008-07-27 Werner Lemberg <wl@gnu.org>
989
990 Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
Werner Lemberg57586882009-01-06 09:40:22 +0000991 fixes Savannah bug #23940.
Werner Lemberg7f30c0c2008-07-27 05:43:59 +0000992
993 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
994 (EXTRA_GLYPH_LIST_SIZE): This.
995 Increase by 2.
996 (ft_wgl_extra_unicodes): Rename to...
997 (ft_extra_glyph_unicodes): This.
998 Add two code values.
999 (ft_wgl_extra_glyph_names): Rename to...
1000 (ft_extra_glyph_names): This.
1001 Add two glyphs.
1002 (ft_wgl_extra_glyph_name_offsets): Rename to...
1003 (ft_extra_glyph_name_offsets): This.
1004 Add two offsets.
1005
1006 (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
1007 (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
1008 Updated.
1009 (ps_unicodes_init): Updated.
1010
Werner Lembergbdcfddc2008-07-26 21:22:20 +000010112008-07-26 Werner Lemberg <wl@gnu.org>
1012
1013 * src/cff/cffgload.c (cff_decoder_prepare,
1014 cff_decoder_parse_charstrings): Improve debug output.
1015
Werner Lemberge75da452008-07-22 20:59:59 +000010162008-07-22 Martin McBride <mmcbride@emtex.com>
1017
1018 * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
1019 tt_cmap4_char_map_binary): Handle fonts which treat the last segment
1020 specially. According to the specification, such fonts would be
1021 invalid but acroread accepts them.
1022
Werner Lemberg50997cd2008-07-16 21:03:40 +000010232008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
1024
1025 * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
1026
1027 * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
1028
1029 * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
1030 Fix compiler warning.
1031
Werner Lemberg3d2f06f2008-07-16 06:13:34 +000010322008-07-16 Werner Lemberg <wl@gnu.org>
1033
Werner Lemberge75da452008-07-22 20:59:59 +00001034 Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00001035
1036 * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
1037 Invert sids table only if `pure_cff' is set.
1038 * src/cff/cffload.h: Udpated.
1039
1040 * src/cff/cffobjs.c (cff_face_init): Updated.
Werner Lembergbd48d352008-07-16 07:05:11 +00001041 Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00001042
Werner Lemberge75da452008-07-22 20:59:59 +00001043 * docs/CHANGES: Updated.
1044
Werner Lemberg6b19e092008-07-09 06:20:12 +000010452008-07-09 Werner Lemberg <wl@gnu.org>
1046
1047 * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
1048 where num_locations < num_glyphs. Problem reported by Ding Li.
1049
Werner Lemberg4e33f9e2008-07-05 06:35:28 +000010502008-07-05 Werner Lemberg <wl@gnu.org>
1051
1052 Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
Werner Lembergca6fc732008-07-05 06:36:39 +00001053 newer. This fixes Savannah bug #23648.
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00001054
1055 * configure: zsh doesn't like ${1+"$@"}.
1056 Update needed GNU make version.
1057 * builds/toplevel.mk: Check for `$(eval ...)'.
1058 * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
1059 it.
1060
Werner Lemberg71b8f3f2008-07-04 07:22:06 +000010612008-07-04 Werner Lemberg <wl@gnu.org>
1062
1063 * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
1064 pixel, only check for dropouts if neither start nor end point lies
1065 on a pixel center. This fixes Savannah bug #23762.
1066
Werner Lembergbe54a682008-06-29 07:43:41 +000010672008-06-29 Werner Lemberg <wl@gnu.org>
1068
1069 * Version 2.3.7 released.
1070 =========================
1071
1072
1073 Tag sources with `VER-2-3-7'.
1074
1075 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1076 version number to 2.3.7.
1077
1078 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1079 builds/win32/visualc/freetype.dsp,
1080 builds/win32/visualc/freetype.vcproj,
1081 builds/win32/visualce/index.html,
1082 builds/win32/visualce/freetype.dsp,
1083 builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
1084
1085 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
1086
1087 * builds/unix/configure.raw (version_info): Set to 9:18:3.
1088
1089 * docs/release: Updated.
1090
Werner Lemberg4e7d9842008-06-27 22:26:11 +000010912008-06-28 Werner Lemberg <wl@gnu.org>
1092
Werner Lembergbe54a682008-06-29 07:43:41 +00001093 * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
Werner Lemberg4e7d9842008-06-27 22:26:11 +00001094 * src/ftcalc.c: Here. This fixes Savannah bug #23729.
1095
Werner Lemberga741c6f2008-06-27 06:58:48 +000010962008-06-27 Werner Lemberg <wl@gnu.org>
1097
1098 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
1099 Horizontal_Gray_Sweep_Drop): Test for intersections which
1100 degenerate to a single point can be ignored; this has been confirmed
1101 by Greg Hitchcock from Microsoft. (This was commented out code.)
1102
Werner Lemberg8a9b6392008-06-26 19:56:51 +000011032008-06-26 Werner Lemberg <wl@gnu.org>
1104
1105 Improve navigation in API reference.
1106
1107 * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
1108 (html_header_6): This.
1109 (html_header_3, html_header_3i, html_header_4, html_header_5,
1110 html_header_5t): New strings.
1111 (toc_footer_start, toc_footer_end): New strings.
1112 (HtmlFormatter::html_header): Updated.
1113 (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
1114 New strings.
1115 (HtmlFormatter::index_enter): Use `html_index_header'.
1116 (HtmlFormatter::index_exit): Print `html_footer'.
1117 (HtmlFormatter::toc_enter): Use `html_toc_header'.
1118 (HtmlFormatter::toc_exit): Print proper footer.
1119
1120 Convert ~ to non-breakable space.
1121
1122 * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
1123 Update header files accordingly.
1124
Werner Lembergb2116512008-09-12 16:27:48 +000011252008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001126
Werner Lemberg8a9b6392008-06-26 19:56:51 +00001127 * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
Werner Lemberge172c332008-06-25 22:21:42 +00001128 and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
1129 bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
1130 ResourceIndex type definition. The macro does not inform the type
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001131 availability.
1132 * src/base/ftmac.c: More parentheses are inserted to clarify the
Werner Lemberge172c332008-06-25 22:21:42 +00001133 conditionals to disable legacy APIs in `10.5 and later' cases. If
1134 HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001135
Werner Lemberg5563bea2008-06-24 05:44:28 +000011362008-06-24 Werner Lemberg <wl@gnu.org>
1137
Werner Lemberg830846e2008-07-27 06:27:21 +00001138 * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
1139 mode.
Werner Lembergce8853a2008-06-24 11:19:03 +00001140
1141 * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
1142 Draw_Sweep): No-dropout mode is value 2, not value 0.
1143 (Draw_Sweep): Really skip dropout handling for no-dropout mode.
1144
11452008-06-24 Werner Lemberg <wl@gnu.org>
1146
Werner Lemberg5563bea2008-06-24 05:44:28 +00001147 * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
1148 if it consists of one point only. Based on a patch from Savannah
1149 bug #23683 (from John Tytgat).
1150
Werner Lemberg745a4f42008-06-22 22:41:24 +000011512008-06-22 Werner Lemberg <wl@gnu.org>
1152
1153 * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
1154 with IS_HINTED.
1155
1156 * docs/CHANGES: Updated.
1157
Werner Lembergb2116512008-09-12 16:27:48 +000011582008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00001159
Werner Lemberg745a4f42008-06-22 22:41:24 +00001160 * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
1161 but LDFLAGS does not, import it to LDFLAGS. The option is used to
1162 specify non-default SDK on Mac OS X (e.g., universal binary SDK for
1163 Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
1164 recommends to add the option only to CFLAGS, LDFLAGS should include
1165 it because libfreetype.la is built with -no-undefined. This fixes a
1166 bug reported by Ryan Schmidt in MacPorts,
1167 http://trac.macports.org/ticket/15331.
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00001168
Werner Lemberg5df5dbb2008-06-22 13:40:08 +000011692008-06-21 Werner Lemberg <wl@gnu.org>
1170
1171 Enable access to the various dropout rules of the B&W rasterizer.
1172 Pass dropout rules from the TT bytecode interpreter to the
Werner Lemberg959cb8e2008-06-25 20:58:33 +00001173 rasterizer.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00001174
1175 * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
1176 FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
1177
1178 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
1179 Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
1180 OpenType specification.
1181 Fix mode 4 computation.
1182 (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
1183
Werner Lemberg959cb8e2008-06-25 20:58:33 +00001184 * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
1185 mode to FT_OUTLINE_XXX flags.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00001186
1187 * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
1188
Werner Lembergcd6dcca2008-06-19 06:20:21 +000011892008-06-19 Werner Lemberg <wl@gnu.org>
1190
Werner Lemberg5b631d82008-06-19 16:23:43 +00001191 * src/cff/cffobjs.c (cff_face_init): Compute final
1192 `dict->units_per_em' value before assigning it to
Werner Lembergbe54a682008-06-29 07:43:41 +00001193 `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
Werner Lemberg5b631d82008-06-19 16:23:43 +00001194 scaled incorrectly if the font matrix is non-standard. This fixes
1195 Savannah bug #23630.
1196
1197 * docs/CHANGES: Updated.
1198
11992008-06-19 Werner Lemberg <wl@gnu.org>
1200
Werner Lembergbe54a682008-06-29 07:43:41 +00001201 * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
1202 from 2008-06-19.
Werner Lembergcd6dcca2008-06-19 06:20:21 +00001203
Werner Lembergd57a5e92008-06-18 06:16:39 +000012042008-06-18 Werner Lemberg <wl@gnu.org>
1205
1206 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
1207 Reported by Peter Weilbacher <mozilla@weilbacher.org>.
1208
1209 * docs/CHANGES: Updated.
1210
Werner Lembergca947c22008-06-16 05:33:51 +000012112008-06-15 George Williams <gww@silcom.com>
1212
1213 * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
1214 `valid->extra2' to 1. This is undocumented in the OpenType 1.5
1215 specification.
1216
Werner Lembergad83e052008-06-15 11:06:12 +000012172008-06-15 Werner Lemberg <wl@gnu.org>
1218
1219 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
1220 from clobbering. Patch from Savannah bug report #23556.
1221
1222 * docs/CHANGES: Document it.
1223
Werner Lemberg102bb832008-06-10 04:57:19 +000012242008-06-10 Werner Lemberg <wl@gnu.org>
1225
Werner Lembergb796adb2008-06-10 17:15:35 +00001226 * autogen.sh: Add option `--install' to libtoolize.
1227
12282008-06-10 Werner Lemberg <wl@gnu.org>
1229
Werner Lemberg6174e172008-06-10 05:58:25 +00001230 * Version 2.3.6 released.
1231 =========================
1232
1233
1234 Tag sources with `VER-2-3-6'.
1235
1236 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1237 version number to 2.3.6.
1238
1239 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1240 builds/win32/visualc/freetype.dsp,
1241 builds/win32/visualc/freetype.vcproj,
1242 builds/win32/visualce/index.html,
1243 builds/win32/visualce/freetype.dsp,
1244 builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
1245
1246 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
1247
1248 * builds/unix/configure.raw (version_info): Set to 9:17:3.
1249
1250
1251 * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
1252 and `scale_y'.
1253 * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
1254
1255
1256 * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
1257 * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
1258
12592008-06-10 Werner Lemberg <wl@gnu.org>
1260
Werner Lemberg102bb832008-06-10 04:57:19 +00001261 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
1262 `clazz->done_face'.
1263
Werner Lemberg630e24d2008-06-09 21:20:18 +000012642008-06-09 VaDiM <s_sliva@rambler.ru>
1265
1266 Support debugging on WinCE. From Savannah patch #6536; this fixes
1267 bug #23497.
1268
1269 * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
1270 as a replacement for OutputDebugStringA (which WinCE doesn't have).
1271 Update all callers.
1272 (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
1273 environment variables.
1274
Werner Lemberga984fda2008-06-09 21:02:13 +000012752008-06-09 Werner Lemberg <wl@gnu.org>
1276
1277 * README.CVS: Updated.
1278
Werner Lemberg26bd7a22008-06-09 21:27:17 +00001279 * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
1280 for newer versions of autoconf and friends.
Werner Lemberga984fda2008-06-09 21:02:13 +00001281
Werner Lemberg7cb9ec02008-06-09 20:49:29 +000012822008-06-08 Werner Lemberg <wl@gnu.org>
1283
1284 * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
1285 `private_len' unsigned.
1286
1287 * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
1288 it as such.
1289 (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
1290
1291
1292 * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
1293
1294
1295 * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
1296 for sane value.
1297 Fix typo.
1298
1299
1300 * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
1301
1302
1303 * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
1304 `last_point'.
1305
1306
1307 * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
1308 `maxTwilightPoints'.
1309
Werner Lembergd77e7222008-06-05 22:07:19 +000013102008-06-06 Werner Lemberg <wl@gnu.org>
1311
1312 * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
1313 correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
1314
Werner Lemberg4c3cc762008-06-03 20:53:49 +000013152008-06-03 Werner Lemberg <wl@gnu.org>
1316
1317 * include/freetype/ftcache.h (FTC_FaceID): Change type back to
1318 FT_Pointer. Reported by Ian Britten <britten@caris.com>.
1319
Werner Lemberg8e3539b2008-06-02 13:53:54 +000013202008-06-02 Werner Lemberg <wl@gnu.org>
1321
1322 Emit header info for defined FreeType objects in reference.
1323
1324 * src/tools/docmaker/content.py (re_header_macro): New regexp.
1325 (ContentProcessor::__init__): Initialize new dictionary `headers'.
1326 (DocBlock::__init__): Collect macro header definitions.
1327
1328 * src/tools/docmaker/tohtml.py (header_location_header,
1329 header_location_footer): New strings.
1330 (HtmlFormatter::__init__): Pass `headers' dictionary.
1331 (HtmlFormatter::print_html_field): Don't emit paragraph tags.
1332 (HtmlFormatter::print_html_field_list): Emit empty paragraph.
1333 (HtmlFormatter::block_enter): Emit header info.
1334
13352008-06-01 Werner Lemberg <wl@gnu.org>
Werner Lemberg7493ea12008-06-02 07:24:36 +00001336
1337 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
1338 FT_INCREMENTAL_H): Added.
1339
Werner Lembergc94fa662008-05-27 23:24:07 +000013402008-05-28 Werner Lemberg <wl@gnu.org>
1341
Werner Lembergde0d0052008-05-28 21:51:15 +00001342 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
1343 looking for markup tags, return immediately as soon a single one is
1344 found.
1345
13462008-05-28 Werner Lemberg <wl@gnu.org>
1347
Werner Lembergc94fa662008-05-27 23:24:07 +00001348 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
1349 original, unscaled input values. Confirmed by Greg Hitchcock from
1350 Microsoft.
1351
Werner Lemberg35a90b72008-05-27 18:16:03 +000013522008-05-27 Werner Lemberg <wl@gnu.org>
1353
1354 * src/tools/docmaker/tohtml.py (block_footer_start,
1355 block_footer_middle): Beautify output.
1356
Werner Lembergc9381312008-05-25 12:19:34 +000013572008-05-25 Werner Lemberg <wl@gnu.org>
1358
1359 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
1360 trying to render into a zero-width/height bitmap, not an error code.
1361
Werner Lembergffa49652008-05-25 12:43:57 +00001362 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
1363 of the graphics state for subglyphs to...
1364 (TT_Hint_Glyph): This function.
1365 Hinting instructions for a composite glyph apparently refer to the
1366 just hinted subglyphs, not the unhinted, unscaled outline. This
1367 seems to fix Savannah bugs #20973 and (at least partially) #23310.
1368
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +000013692008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1370
1371 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +00001372 `aface' is returned by FT_New_Face_From_FOND(). The patch was
1373 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +00001374
Werner Lemberg16dc51f2008-05-18 17:36:15 +000013752008-05-18 Werner Lemberg <wl@gnu.org>
1376
Werner Lemberg5e8a3682008-05-18 21:49:02 +00001377 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
1378 correction for pixel boundary. Without this patch, the effect can
1379 be cumulative under certain circumstances, making glyphs taller and
1380 taller after each call. This fixes Savannah bug #19976.
1381
13822008-05-18 Werner Lemberg <wl@gnu.org>
1383
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001384 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
1385 This fixes Savannah bug #23280.
1386
1387 * docs/CHANGES: Updated.
1388
Werner Lembergb2116512008-09-12 16:27:48 +000013892008-05-18 David Turner <david@freetype.org>
David Turnera92cec52008-05-18 14:08:57 +00001390
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001391 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
1392 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
1393 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
1394 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +00001395
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001396 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +00001397
Werner Lemberg89d64fa2008-05-17 20:06:13 +000013982008-05-17 Sam Hocevar <samh>
1399
1400 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
1401 glyphs correctly. Patch from Savannah bug #23277.
1402
Werner Lemberga2f17cc2008-05-17 10:01:45 +000014032008-05-16 Werner Lemberg <wl@gnu.org>
1404
1405 * docs/CHANGES: Updated.
1406
14072008-05-16 Sergey Tolstov <stolstov@esri.com>
1408
1409 Improve support for WGL4 encoded fonts.
1410
1411 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
1412 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
1413 ft_wgl_extra_glyph_name_offsets): New arrays.
1414 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
1415 (ps_unicodes_init): Use them to add additional Unicode mappings.
1416
Werner Lemberg504645e2008-05-14 23:26:20 +000014172008-05-15 Werner Lemberg <wl@gnu.org>
1418
Werner Lembergbcc750e2008-05-16 04:50:00 +00001419 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1420 <op_closepath>: `closepath' without a path is a no-op, not an error
1421 (cf. the PS reference manual).
1422
1423 Reported by Martin McBride.
1424
14252008-05-15 Werner Lemberg <wl@gnu.org>
1426
Werner Lembergbcfcc712008-05-15 09:14:39 +00001427 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
1428
14292008-05-15 Werner Lemberg <wl@gnu.org>
1430
Werner Lemberg504645e2008-05-14 23:26:20 +00001431 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +00001432 which contains a single but empty entry. This is technically
1433 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +00001434
1435 Reported by Martin McBride.
1436
Werner Lemberge6e6ead2008-05-14 23:05:38 +000014372008-05-14 Werner Lemberg <wl@gnu.org>
1438
1439 Finish fix of scaling bug of CID-keyed CFF subfonts.
1440
1441 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
1442 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
1443 functions.
1444
1445 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
1446 provide global hinting data for both the top-font and all subfonts
1447 (with proper scaling).
1448
1449 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
1450 code from `cff_size_init'.
1451 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
1452 Use CFF_Internal and handle subfonts.
1453 (cff_face_init): Handle top-dict and subfont matrices correctly;
1454 apply some heuristic in case of unlikely matrix concatenation
1455 results. This has been discussed with people from Adobe (thanks
1456 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
1457 and not correct.
1458
1459 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
1460
1461 * src/cff/cffgload.c (cff_builder_init): Updated.
1462 (cff_decoder_prepare): Handle hints globals for subfonts.
1463 Update all callers.
1464 (cff_slot_load): Handling scaling of subfonts properly.
1465
1466 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
1467 (cff_parse_font_matrix): Use it.
1468
1469 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
1470 FT_ULong.
1471
1472 * docs/CHANGES: Document it.
1473
Werner Lembergfb572282008-05-13 12:10:04 +000014742008-05-13 Werner Lemberg <wl@gnu.org>
1475
1476 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
1477 Handle case `face_index < 0'.
1478 * docs/CHANGES: Document it.
1479
Werner Lemberg551dd3c2008-05-04 13:37:38 +000014802008-05-04 Werner Lemberg <wl@gnu.org>
1481
1482 First steps to fix the scaling bug of CID-keyed CFF subfonts,
1483 reported by Ding Li on 2008/03/28 on freetype-devel.
1484
1485 * src/base/cff/cffparse.c (power_tens): New array.
1486 (cff_parse_real): Rewritten to introduce a fourth parameter which
1487 returns the `scaling' of the real number so that we have no
1488 precision loss. This is not used yet.
1489 Update all callers.
1490 (cff_parse_fixed_thousand): Replace with...
1491 (cff_parse_fixed_scaled): This function. Update all callers.
1492
Werner Lemberg6d29f0f2008-05-03 15:54:15 +000014932008-05-03 Werner Lemberg <wl@gnu.org>
1494
1495 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
1496 transformation since it recursively calls FT_Load_Glyph. This fixes
1497 Savannah bug #23143.
1498
Werner Lembergde9479a2008-04-26 12:52:57 +000014992008-04-26 Werner Lemberg <wl@gnu.org>
1500
1501 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
1502 and `scale_y' as obsolete since they aren't used.
1503 * src/psaux/psobjs.c (t1_builder_init): Updated.
1504
1505 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
1506 obsolete since they aren't used.
1507 * src/cff/cffgload.c (cff_builder_init): Updated.
1508
Werner Lemberg4ebc8902008-04-13 22:06:12 +000015092008-04-14 Werner Lemberg <wl@gnu.org>
1510
1511 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
1512 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
1513 bug #22909.
1514
Werner Lemberg048b7562008-04-13 05:55:36 +000015152008-04-13 Werner Lemberg <wl@gnu.org>
1516
1517 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
1518 integer part is zero.
1519
Werner Lembergc32e83f2008-04-01 06:07:37 +000015202008-04-01 Werner Lemberg <wl@gnu.org>
1521
1522 Fix compilation with g++ 4.1 (with both `single' and `multi'
1523 targets).
1524
1525 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
1526 which is crossed by a `goto'.
1527
1528 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
1529
Werner Lemberg210d6182008-04-01 05:55:48 +000015302008-03-31 Werner Lemberg <wl@gnu.org>
1531
1532 Fix support for subsetted CID-keyed CFFs.
1533
1534 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
1535 FT_IS_CID_KEYED): New macros.
1536
1537 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
1538 maximum CID value in CID-keyed CFFs.
1539 Handle FT_FACE_FLAG_CID_KEYED flag.
1540
1541 * docs/CHANGES: Document it.
1542
1543
1544 Fix CFF font matrix calculation and improve precision.
1545
1546 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
1547 part is zero.
1548 (cff_parse_font_matrix): Simplify computation of `units_per_em';
1549 this prevents overflow also.
1550
1551
1552 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
1553
1554 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
1555 (cid_get_ros): New function.
1556 (cid_service_cid_info): New service structure.
1557 (cid_services): Register it.
1558
Werner Lemberga56e5262008-03-23 14:53:44 +000015592008-03-23 Werner Lemberg <wl@gnu.org>
1560
1561 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
1562
1563 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
1564 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
1565
Werner Lemberg85751172008-03-21 07:16:00 +000015662008-03-21 Laurence Darby <ldarby>
1567
1568 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
1569 Savannah bug #22675.
1570
Werner Lemberg3863c952008-03-13 06:38:37 +000015712008-03-13 Derek Clegg <dclegg@apple.com>
1572
1573 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
1574 Patch from Savannah bug #22541.
1575
Werner Lembergfc293932008-03-03 08:08:12 +000015762008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
1577
1578 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
1579 tt_cmap14_find_variant): Return correct value.
1580 (tt_cmap14_variant_chars): Fix check for `di'.
1581
Werner Lemberg5057e362008-02-29 07:23:02 +000015822008-02-29 Wermer Lemberg <wl@gnu.org>
1583
1584 * docs/CHANGES: Updated.
1585
Werner Lemberg7faa1552008-02-29 07:14:38 +000015862008-02-29 Wolf
1587
1588 Add build support for symbian platform. From Savannah bug #22440.
1589
1590 * builds/symbian/*: New files.
1591
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +000015922008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1593
Werner Lemberg9b9d3342008-02-21 23:22:06 +00001594 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
1595 synthesis. For any face of a specified FOND, always the name for
1596 the first face was used. Except of a FOND that refers multiple
1597 Type1 font files, wrong synthesized font names are not used at all,
1598 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +00001599
1600 * builds/mac/ftmac.c: Ditto.
1601
16022008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1603
Werner Lemberg31093cc2008-02-21 17:10:04 +00001604 * builds/unix/configure.raw: Split compiler option to link Carbon
1605 frameworks to one option for CoreServices framework and another
1606 option for ApplicationServices framework. The split options can be
1607 managed by GNU libtool to avoid unrequired duplication when FreeType
1608 is linked with other applications. Suggested by Daniel Macks,
1609 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00001610
Werner Lemberg28464c42008-02-18 20:34:42 +000016112008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
1612
1613 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
1614 from Savannah bug #22356.
1615
Werner Lemberg44c655b2008-02-17 08:22:08 +000016162008-02-17 Jonathan Blow <jon@number-none.com>
1617
1618 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
1619 Check for valid callback pointers.
1620
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +000016212008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1622
1623 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
1624 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +00001625 Kazmaier. According to the Resource Manager Reference,
1626 GetResource(), Get1Resource(), GetNamedResource(),
1627 Get1NamedResource() and RGetResource() set noErr but return NULL
1628 handle when they can not find the requested resource. These
1629 functions never return undefined values, so it is sufficient to
1630 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00001631
1632 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
1633
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000016342008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1635
1636 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +00001637 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001638 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +00001639
1640 * builds/unix/configure.raw: Print warning if configure is executed
1641 with options to specify Carbon functionalities explicitly.
1642
1643 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001644 included automatically and manual replacement is required.
1645
Werner Lemberg744dd452008-02-11 08:22:40 +000016462008-02-11 Werner Lemberg <wl@gnu.org>
1647
1648 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
1649 (dos_setup), builds/freetype.mk (clean_project_dos,
1650 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
1651 Murdoch.
1652
Werner Lemberg4c933992008-01-18 05:32:55 +000016532008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
1654
1655 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
1656 mention intra-pixel algorithm.
1657
1658 * include/freetype/freetype.h (FT_Render_Mode): Mention that
1659 FT_Library_SetLcdFilter can be used to reduce fringes.
1660
Werner Lemberg1ddd1b72008-01-16 06:58:54 +000016612008-01-16 Werner Lemberg <wl@gnu.org>
1662
1663 * src/raster/ftraster.c (ft_black_render): Check `outline' before
1664 using it. Reported by Allan Yang.
1665
Werner Lembergeca1f272008-01-12 07:46:09 +000016662008-01-12 Werner Lemberg <wl@gnu.org>
1667
1668 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
1669
16702008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
1671
1672 * src/raster/ftraster.c (ft_black_init)
1673 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
1674
Werner Lembergbf391cb2008-01-10 08:47:08 +000016752008-01-10 Werner Lemberg <wl@gnu.org>
1676
1677 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
1678 where the number of contours in a simple glyph is zero (and which
1679 does contain an entry in the `glyf' table). This fixes Savannah bug
1680 #21990.
1681
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +000016822008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1683
1684 Formatting suggested by Sean McBride.
1685
1686 * builds/mac/ftmac.c: Formatting (tab expanded).
1687 * src/autofit/afindic.c: Ditto.
1688 * src/base/ftcid.c: Ditto.
1689 * src/base/ftmac.c: Ditto.
1690
Werner Lembergd2e15732007-12-30 23:49:14 +000016912007-12-30 Werner Lemberg <wl@gnu.org>
1692
1693 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
1694 correctly.
1695
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +000016962007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1697
1698 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +00001699 references in a resource. In HelveLTMM (resource-fork PostScript
1700 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
1701 of PFB chunks is not sorted; sorting the chunks by reference IDs is
1702 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001703
Werner Lembergd2e15732007-12-30 23:49:14 +00001704 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
1705 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001706
Werner Lembergd2e15732007-12-30 23:49:14 +00001707 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
1708 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001709
Werner Lembergd2e15732007-12-30 23:49:14 +00001710 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
1711 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001712
Werner Lembergd156cab2007-12-14 07:48:32 +000017132007-12-14 Werner Lemberg <wl@gnu.org>
1714
1715 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
1716 division too early; otherwise the most significant digit(s) of the
1717 final result are lost as the value is truncated to an integer. This
1718 fixes Savannah bug #21794 (where the patch has been posted too).
1719
Werner Lembergbd7e1c32007-12-06 17:17:30 +000017202007-12-06 Fix <4d876b82@gmail.com>
1721
1722 Pass options from one configure script to another as-is (not
1723 expanded). This is needed for options like
1724 --includedir='${prefix}/include'.
1725
1726 * builds/unix/detect.mk, configure: Prevent argument expansion in
1727 call to the (real) `configure' script.
1728
17292007-12-06 Werner Lemberg <wl@gnu.org>
1730
1731 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
1732 TT_USE_BYTECODE_INTERPRETER isn't defined.
1733
17342007-12-06 Werner Lemberg <wl@gnu.org>
1735
1736 There exist CFFs which contain opcodes for the Type 1 operators
1737 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
1738 However, it doesn't harm to support them.
1739
1740 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
1741 `cff_op_closepath.'
1742 (cff_argument_counts): Ditto.
1743
1744 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
1745 and 13 (hsbw) which are invalid in Type 2 charstrings.
1746
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +000017472007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1748
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001749 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
1750 support new pathname syntax `..namedfork/rsrc' to access a resource
1751 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
1752 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +00001753 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
1754 buffer size to store a pathname.
1755 * include/freetype/internal/ftrfork.h: Increment the number of
1756 resource fork guessing rule.
1757
17582007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1759
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001760 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001761 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001762 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001763 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
1764
17652007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1766
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00001767 The documents and comments for Mac OS X are improved by Sean
1768 McBride.
1769
1770 * src/base/ftmac.c: Fix a comment.
1771 * include/freetype/ftmac.h: Ditto.
1772 * docs/INSTALL.MAC: Improve English and add comment on lowest
1773 system version specified by MACOSX_DEPLOYMENT_TARGET.
1774
Werner Lemberga10d2b72007-12-04 22:05:54 +000017752007-12-04 Werner Lemberg <wl@gnu.org>
1776
1777 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
1778 concatenate error codes.
1779 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
1780
Werner Lembergd496b922007-12-04 21:49:59 +000017812007-12-04 Graham Asher <graham.asher@btinternet.com>
1782
1783 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
1784 concatenate error codes.
1785
Werner Lembergc0da5232007-12-04 21:44:32 +000017862007-12-04 Sean McBride <sean@rogue-research.com>
1787
1788 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
1789 warning.
1790
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +000017912007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1792
Werner Lemberg6174e172008-06-10 05:58:25 +00001793 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
Werner Lemberg24fe6182007-11-23 09:18:07 +00001794 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
1795 cannot mmap() the specified file and cannot seek to head of the
1796 specified file, it returns NULL stream and FT_Open_New() returns the
1797 error immediately. On MacOS, most legacy MacOS fonts fall into such
1798 a scenario because their data forks are zero-sized and cannot be
1799 sought. To proceed to guessing of resource fork fonts, the
1800 functions for legacy MacOS font must properly handle the NULL stream
1801 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001802
Werner Lemberg24fe6182007-11-23 09:18:07 +00001803 * src/base/ftobjs.c (IsMacBinary): Return error
1804 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
1805 passed.
1806 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
1807 to fallback. Originally, legacy MacOS font is tested in the cases
1808 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
1809 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
1810 .dfont header is combined). Now the case of
1811 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001812
Werner Lemberg24fe6182007-11-23 09:18:07 +00001813 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
1814 skip FT_Stream_Seek(), which seeks to the head of stream, and
1815 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
1816 for a NULL stream causes a Bus error on Mac OS X.
1817 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001818 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001819 (raccess_guess_apple_single): Ditto.
1820
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000018212007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1822
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +00001823 Fix for Carbon incompatibilities since Mac OS X 10.5,
1824 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001825
1826 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
1827
1828 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
Werner Lemberg830846e2008-07-27 06:27:21 +00001829 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001830 Carbon functions from a forked process is classified as unsafe
Werner Lemberg830846e2008-07-27 06:27:21 +00001831 by Apple. All Carbon-dependent functions should be deprecated.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001832
Werner Lembergf2e33c12009-01-06 06:59:36 +00001833 * src/base/ftmac.c: Use essential header files
1834 <CoreServices/CoreServices.h> and
1835 <ApplicationServices/ApplicationServices.h> instead of
1836 all-in-one header file <Carbon/Carbon.h>.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001837
1838 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
1839 genuine macro PATH_MAX.
1840
1841 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
1842 is not found in Mac OS X 10.0.
1843
1844 Multi-character constants ('POST', 'sfnt' etc) are replaced by
1845 64bit constants calculated by FT_MAKE_TAG() macro.
1846
1847 For the index in the segment of resource fork, new portable
1848 type ResourceIndex is introduced for better compatibility.
1849 This type is since Mac OS X 10.5, so it is defined as short
1850 when built on older platforms.
1851
1852 (FT_ATSFontGetFileReference): If build target is only the systems
1853 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
1854
1855 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
1856 and newer or 64bit platform, because legacy type FSSpec type is
1857 removed completely.
1858
1859 (FT_New_Face_From_FSSpec): Ditto.
1860
18612007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +00001862
1863 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
1864 fixes Savannah bug #21485.
1865
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000018662007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +00001867
1868 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
1869 can handle the font at all, then check `face_index'. Otherwise, the
1870 driver might return the wrong error code. This fixes Savannah bug
1871 #21468.
1872
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000018732007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001874
1875 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +00001876 support for bit 8 of the `fsSelection' field in the `OS/2' table.
1877 MS is already using this; hopefully, this becomes part of OpenType
1878 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001879 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
1880 (WWS_SUBFAMILY).
1881
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000018822007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +00001883
1884 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
1885 Add `td.left' element to CSS.
1886 (toc_section_enter): Use it.
1887
David Turnercf432db2007-10-19 12:36:40 +000018882007-10-18 David Turner <david@freetype.org>
1889
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001890 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
1891 functions related to cmap type 14 support to the
1892 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +00001893
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001894 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
1895 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
1896 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
1897 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
1898 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
1899
1900 Update documentation accordingly.
1901
1902 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
1903 Make the code a little more consistent with FreeType coding
1904 conventions and modify the cmap14 functions that returned a newly
1905 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +00001906 instead.
1907
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001908 (TT_CMap14Rec): Provide array and auxiliary data for result.
1909 (tt_cmap14_done, tt_cmap14_ensure): New functions.
1910
1911 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
1912 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
1913 tt_cmap14_char_var_index, tt_cmap14_variants,
1914 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1915 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1916 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
1917
Werner Lemberg9a966b72007-10-15 17:21:32 +000019182007-10-15 George Williams <gww@silcom.com>
1919
1920 Add support for cmap type 14.
1921
1922 * devel/ftoption.h, include/freetype/config/ftoption.h
1923 (TT_CONFIG_CMAP_FORMAT_14): New macro.
1924
1925 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
1926 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
1927 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
1928 support function prototypes.
1929 (FT_CMap_ClassRec): Add them.
1930 Update all users.
1931
1932 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
1933 macro.
1934
1935 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
1936 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
1937 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
1938 functions.
1939
1940 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
1941 function.
1942 (FT_Set_Charmap): Disallow cmaps of type 14.
1943 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
1944 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
1945 FT_Get_Chars_Of_Variant): New API functions.
1946
1947 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
1948
1949 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
1950 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
1951 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
1952 tt_cmap14_find_variant, tt_cmap14_char_var_index,
1953 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
1954 tt_cmap14_char_variants, tt_cmap14_def_char_count,
1955 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
1956 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
1957 structures for cmap 14 support.
1958 (tt_cmap_classes): Register tt_cmap14_class_rec.
1959 (tt_face_build_cmaps): One more error message.
1960
1961 * docs/CHANGES: Mention cmap 14 support.
1962
Werner Lemberg74597cc2007-10-01 07:08:56 +000019632007-10-01 Werner Lemberg <wl@gnu.org>
1964
1965 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +00001966 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +00001967 This favours MS charmaps over Apple ones.
1968
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +000019692007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1970
Werner Lemberg9a966b72007-10-15 17:21:32 +00001971 * src/base/ftmac.c: Introduction of abstract `short' data types,
1972 ResFileRefNum and ResID. These types were introduced for Copland,
1973 then backported to MPW. The variables exchanged with FileManager
1974 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00001975 proposed by Sean McBride.
1976 * builds/mac/ftmac.c: Ditto.
1977
Werner Lembergabc44f52007-08-18 06:38:07 +000019782007-08-18 Werner Lemberg <wl@gnu.org>
1979
1980 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
1981 by Imran Yousaf. Fixes Savannah bug #20773.
1982
1983 (otv_Lookup_validate): Correct handling of LookupType. Found by
1984 Imran Yousaf. Fixes Savannah bug #20782.
1985
Werner Lemberg23a424f2007-08-17 20:16:44 +000019862007-08-17 George Williams <gww@silcom.com>
1987
1988 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
1989 SingleSubstFormat1.
1990
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000019912007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1992
1993 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
1994 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
1995 Found by Ryan Hill.
1996
Werner Lemberg3f1905b2007-08-11 15:45:32 +000019972007-08-11 George Williams <gww@silcom.com>
1998
1999 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
2000 (otv_Coverage_validate): Add fourth argument to pass an expected
2001 count value. Update all users.
2002 Check glyph IDs.
2003 (otv_ClassDef_validate): Check `StartGlyph'.
2004
2005 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
2006 checks.
2007
2008 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
2009 56 constants.
2010 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
2011 Check glyph IDs.
2012
Werner Lembergd76fe5a2007-08-08 06:38:06 +000020132007-08-08 Werner Lemberg <wl@gnu.org>
2014
2015 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
2016 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
2017 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
2018 appropriate. Reported by George.
2019
2020 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
2021
2022 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
2023
2024 * docs/CHANGES: Updated.
2025
20262007-08-08 George Williams <gww@silcom.com>
2027
2028 Add `MATH' validating support to otvalid module.
2029
2030 * include/freetype/tttags.h (TTAG_MATH): New macro.
2031 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
2032 (FT_VALIDATE_OT): Updated.
2033
2034 * src/otvalid/otmath.c: New file.
2035
2036 * src/otvalid/otvalid.c: Include otvmath.c.
2037 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
2038
Werner Lembergb6617882007-08-04 22:17:48 +000020392007-08-04 Werner Lemberg <wl@gnu.org>
2040
David Turnercf432db2007-10-19 12:36:40 +00002041 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +00002042 Fixes Savannah bug #20686.
2043
Werner Lembergd6752a62007-08-02 22:03:30 +000020442007-08-03 Werner Lemberg <wl@gnu.org>
2045
2046 * src/psnames/psmodule.c: Fix usage of
2047 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
2048
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +000020492007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2050
2051 * src/base/ftmac.c (open_face_from_buffer): The argument
2052 `driver_name' is typed as `const char*' to match with the
2053 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
2054 This is same with open_face_from_buffer in src/base/ftobjs.c.
2055 Found and fixed by Sean McBride.
2056
Werner Lemberg39c91ad2007-07-28 05:40:40 +000020572007-07-28 Werner Lemberg <wl@gnu.org>
2058
2059 * src/raster/ftraster.c (count_table): Make it conditional.
2060 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
2061 a preprocessor statement.
2062
Werner Lemberg71dd6872007-07-27 04:44:36 +000020632007-07-27 Werner Lemberg <wl@gnu.org>
2064
2065 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
2066 first usage. From Savannah patch #6115.
2067
Werner Lembergef915c32007-07-16 20:46:05 +000020682007-07-16 Werner Lemberg <wl@gnu.org>
2069
2070 * docs/CHANGES: Updated.
2071
20722007-07-16 Derek Clegg <dclegg@apple.com>
2073
2074 Add new service for getting the ROS from a CID font.
2075
2076 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
2077 * include/freetype/ftcid.h: New file.
2078
2079 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
2080 * include/freetype/internal/services/svcid.h: New file.
2081
2082 * src/base/ftcid.c: New file.
2083
2084 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
2085 (cff_get_ros): New function.
2086 (cff_service_cid_info): New service structure.
2087 (cff_services): Register it.
2088
2089 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
2090
2091 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
2092
2093 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
2094
Werner Lemberg2f109562007-07-11 05:32:00 +000020952007-07-11 Derek Clegg <dclegg@apple.com>
2096
2097 Add support for postscript name service to CFF driver.
2098
2099 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
2100 (cff_get_ps_name): New function.
2101 (cff_service_ps_name): New service structure.
2102 (cff_services): Register it.
2103
Werner Lembergb003b3e2007-07-08 07:13:12 +000021042007-07-07 Werner Lemberg <wl@gnu.org>
2105
2106 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
2107 `target'. Reported by Sean McBride.
2108
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000021092007-07-06 Werner Lemberg <wl@gnu.org>
2110
2111 * src/pfr/pfrcmap.c: Include pfrerror.h.
2112
2113 * src/autofit/afindic.c: Add some external declarations to pacify
2114 `make multi' compilation.
2115
2116 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
2117
2118 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
2119 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
2120 src/autofit/aflatin.c (af_latin_hints_compute_edges),
2121 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
2122 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
2123 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
2124
2125 * docs/release: Mention test compilation targets.
2126
Werner Lemberg986ea4b2007-07-04 04:53:15 +000021272007-07-04 Werner Lemberg <wl@gnu.org>
2128
2129 * docs/PROBLEMS: Mention that some PS based fonts can't be
2130 handled correctly by FreeType.
2131
Werner Lemberg3033f432007-07-04 14:12:19 +00002132 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
2133 recursion depth of 1. This was the maximum value in TrueType 1.0,
2134 and some older fonts don't set this field correctly.
2135
2136 * src/gxvalid/gxvmort1.c
2137 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
2138
Werner Lemberg3b0e5002007-07-03 04:48:19 +000021392007-07-03 Werner Lemberg <wl@gnu.org>
2140
2141 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
2142 `round' to pacify compiler.
2143
21442007-07-02 Werner Lemberg <wl@gnu.org>
2145
2146
2147 * Version 2.3.5 released.
2148 =========================
2149
2150
2151 Tag sources with `VER-2-3-5'.
2152
2153 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2154 version number to 2.3.5.
2155
2156 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2157 builds/win32/visualc/freetype.dsp,
2158 builds/win32/visualc/freetype.vcproj,
2159 builds/win32/visualce/index.html,
2160 builds/win32/visualce/freetype.dsp,
2161 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
2162
2163 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
2164
2165 * builds/unix/configure.raw (version_info): Set to 9:16:3.
2166
David Turner0ba89912007-07-01 09:34:04 +000021672007-07-01 David Turner <david@freetype.org>
2168
Werner Lemberge3be90b2007-07-02 14:58:58 +00002169 * include/freetype/freetype.h, src/base/ftpatent.c
2170 (FT_Face_SetUnpatentedHinting): New function to dynamically change
2171 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +00002172
Werner Lemberge3be90b2007-07-02 14:58:58 +00002173 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
2174 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +00002175
David Turner74cc0e92007-06-30 22:54:12 +000021762007-06-30 David Turner <david@freetype.org>
2177
Werner Lemberge3be90b2007-07-02 14:58:58 +00002178 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
2179 initialization.
David Turner74cc0e92007-06-30 22:54:12 +00002180
Werner Lemberge3be90b2007-07-02 14:58:58 +00002181 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
2182 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +00002183
Werner Lemberg7723dc32007-06-26 04:44:35 +000021842007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
2185
2186 Add autofit module for Indic scripts. This currently just reuses
2187 the CJK-specific functions.
2188
2189 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
2190 macro.
2191 * devel/ftoption.h: Synchronize with
2192 include/freetype/config/ftoption.h.
2193
2194 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
2195
2196 * src/autofit/afglobal.c, src/autofit/aftypes.h,
2197 src/autofit/autofit.c: Updated.
2198
2199 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
2200 (AUTOF_DRV_SRC): Updated.
2201
David Turner8f626b02007-06-22 22:22:38 +000022022007-06-23 David Turner <david@freetype.org>
2203
Werner Lemberg7854c4a2007-06-23 07:16:20 +00002204 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
2205 2007-06-16 that prevented the TrueType module from loading most
2206 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00002207
Werner Lemberg5b4d4352007-06-20 07:07:55 +000022082007-06-20 Werner Lemberg <wl@gnu.org>
2209
2210 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
2211 change.
2212
Werner Lemberg9fe58152007-06-19 07:57:30 +000022132007-06-19 Werner Lemberg <wl@gnu.org>
2214
2215 * src/type1/t1load.c (parse_encoding): Handle one more error.
2216
Werner Lemberg5a829392007-06-19 04:53:30 +000022172007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
2218
2219 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
2220 FNT_Err_Invalid_File_Format if file format was recognized but
2221 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
2222 Add verbose debug logs to make it easier to debug failing load
2223 attempts.
2224 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
2225 so return an error if requested face index is > 0.
2226 Do not do further attempt to load fonts if a previous attempt has
2227 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
2228 file format has been recognized but no fonts found in the file.
2229
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000022302007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2231
2232 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
2233 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
2234 the compiler warnings against unused arguments.
2235 (FT_ATSFontGetFileReference): Ditto.
2236 (FT_GetFile_From_Mac_ATS_Name): Ditto.
2237 (FT_New_Face_From_FSSpec): Ditto.
2238 (lookup_lwfn_by_fond): Fix wrong comment.
2239 Replace `const StringPtr' by more appropriate type
2240 `ConstStr255Param'.
2241 FSRefMakePathPath always returns UTF8 POSIX pathname in
2242 Mach-O, thus HFS pathname support is dropped.
2243 (count_faces): Remove HLock and HUnlock which is not
2244 required on Mac OS X anymore.
2245 (FT_New_Face_From_SFNT): Ditto.
2246 (FT_New_Face_From_FOND): Ditto.
2247 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
2248 except of HFS pathname support and HLock/HUnlock.
2249 They are required on classic CFM environment.
2250
22512007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +00002252
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002253 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
2254 assertion.
2255 (ps_parser_to_bytes): Fix error message.
2256
Werner Lembergbb2510d2007-06-18 17:07:49 +00002257 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002258 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
2259 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +00002260 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +00002261 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002262
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000022632007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002264
Werner Lembergf48aec72007-06-18 07:07:55 +00002265 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
2266 logic.
2267 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
2268 correctly.
2269 (ps_parser_load_field_table): Use `fields->array_max' instead of
2270 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
2271
Werner Lemberg95104a42007-06-18 07:33:10 +00002272 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
2273 2007-06-06.
2274
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000022752007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +00002276
2277 * src/tools/ftrandom.c (font_size): New global variable.
2278 (TestFace): Use it.
2279 (main): Handle new option `--size' to set `font_size'.
2280 (Usage): Updated.
2281
Werner Lembergbe183eb2007-06-17 11:27:17 +00002282 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
2283 invalid font.
2284 (FNT_Load_Glyph): Protect against invalid bitmap width.
2285
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000022862007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +00002287
Werner Lemberge12ed562007-06-17 05:31:23 +00002288 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
2289 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +00002290
Werner Lemberge12ed562007-06-17 05:31:23 +00002291 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
2292 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +00002293
Werner Lemberge12ed562007-06-17 05:31:23 +00002294 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
2295 and `zp2'.
2296 (Ins_IP): Check argument ranges to reject bogus operations properly.
2297 (IUP_WorkerRec): Add `max_points' member.
2298 (_iup_worker_interpolate): Check argument ranges.
2299 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +00002300
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023012007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +00002302
2303 * src/winfonts/winfnt.h: Add necessary structures for PE resource
2304 parsing.
2305 (WinPE32_HeaderRec): New structure.
2306 (WinPE32_SectionRec): New structure.
2307 (WinPE_RsrcDirRec): New structure.
2308 (WinPE_RsrcDirEntryRec): New structure.
2309 (WinPE_RsrcDataEntryRec): New structure.
2310 (FNT_FontRec): Remove unused `size_shift' field.
2311
2312 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
2313 loading bitmap .fon files in PE format.
2314
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023152007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +00002316
2317 * builds/win32/ftdebug.c: Unify debug level handling with other
2318 platforms.
2319
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023202007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +00002321
2322 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
2323 console as well as to the debugger.
2324
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023252007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +00002326
2327 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
2328 cover all ranges which could possibly be handled by the aflatin
2329 module (since the default fallback for unknown ranges is now the
2330 afcjk module). It might be necessary to fine-tune this further by
2331 splitting off modules for Greek, Cyrillic, or other blocks.
2332
David Turnerb7920172007-06-11 05:37:35 +000023332007-06-11 David Turner <david@freetype.org>
2334
Werner Lemberg49e18b82007-06-11 21:15:09 +00002335 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
2336 incorrect segment linking computation. This was the root cause of
2337 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +00002338
2339
Werner Lemberg49e18b82007-06-11 21:15:09 +00002340 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
2341 to improve the Latin auto-hinter. Note that the new code is
2342 disabled by default since it is not stabilized yet.
2343
2344 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
2345 (disabled currently).
2346
2347 * src/autofit/afhints.c: Remove dead code.
2348 (af_axis_hints_new_edge): Add argument to handle segment directions.
2349 (af_edge_flags_to_string): New function.
2350 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
2351 option flags.
2352 (af_glyph_hints_reload): Add argument to handle inflections.
2353 Simplify.
2354 (af_direction_compute): Fine tuning.
2355 (af_glyph_hints_align_edge_points): Fix logic.
2356 (af_glyph_hints_align_strong_points): Do linear search for small
2357 edge counts.
2358 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
2359 (af_iup_shift): Handle zero `delta'.
2360
2361 * src/autofit/afhints.h: Updated.
2362 (AF_SORT_SEGMENTS): New macro (disabled).
2363 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
2364
2365 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
2366 argument to pass option flags for handling scripts.
2367 * src/autofit/afglobal.h: Updated.
2368
2369 * src/autofit/afcjk.c: Updated.
2370 * src/autofit/aflatin.c: Updated.
2371 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
2372
2373 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
2374 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
2375 Don't set `edge->dir'
2376 (af_latin_hint_edges): Add more logging.
2377
2378 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00002379
Werner Lembergf6c120f2007-06-11 04:55:58 +000023802007-06-11 Werner Lemberg <wl@gnu.org>
2381
Werner Lembergcf7b7642007-06-11 04:58:01 +00002382 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00002383
David Turner84c6f882007-06-10 20:51:04 +000023842007-06-10 David Turner <david@freetype.org>
2385
Werner Lembergf6c120f2007-06-11 04:55:58 +00002386 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
2387 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00002388
Werner Lembergf6c120f2007-06-11 04:55:58 +00002389 * include/freetype/config/ftoption.h: Clarify documentation
2390 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00002391
Werner Lembergf6c120f2007-06-11 04:55:58 +00002392
2393 Add new `FT_Face_CheckTrueTypePatents' API.
2394
2395 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
2396 declaration.
2397
2398 * include/freetype/internal/services/svttglyf.h,
2399 src/base/ftpatent.c: New files.
2400
2401 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
2402 New macro.
2403
2404 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
2405 `ttpload.h'.
2406 (tt_service_truetype_glyf): New service structure.
2407 (tt_services): Register it.
2408
2409 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
2410 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00002411
Werner Lemberg33db39e2007-06-08 06:30:29 +000024122007-06-08 Werner Lemberg <wl@gnu.org>
2413
David Turner84c6f882007-06-10 20:51:04 +00002414 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00002415 Fonts without a cmap must be handled correctly by FreeType (anything
2416 else would be a bug).
2417
2418
2419 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
2420 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
2421
Werner Lemberg88ab6382007-06-07 05:01:56 +000024222007-06-07 Werner Lemberg <wl@gnu.org>
2423
2424 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
2425 tt_sbit_decoder_load_image): Protect against integer overflows.
2426
2427
2428 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
2429 for `x_control' and `y_control'.
2430
Werner Lemberg2a2dca62007-06-06 04:39:37 +000024312007-06-06 Werner Lemberg <wl@gnu.org>
2432
2433 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
2434
Werner Lemberga8d65492007-06-06 04:47:49 +00002435
2436 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
2437 FreeType error.
2438
Werner Lemberg470210b2007-06-06 10:05:49 +00002439
2440 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
2441 `font_count'.
2442
2443
2444 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
2445
2446
2447 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
2448 `FT_Error'.
2449 Check `fd_index'.
2450 (cff_slot_load): Updated.
2451 * src/cff/cffgload.h: Updated.
2452
Werner Lemberg6c054752007-06-05 05:27:54 +000024532007-06-05 Werner Lemberg <wl@gnu.org>
2454
2455 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
2456 (pfr_glyph_load_simple): Convert assertion into normal FreeType
2457 error.
2458 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00002459 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
2460 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00002461
2462 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
2463
Werner Lembergf4bc3f42007-06-05 07:32:15 +00002464
Werner Lemberg470210b2007-06-06 10:05:49 +00002465 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00002466
Werner Lemberge5c14d92007-06-05 20:50:37 +00002467
2468 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
2469 in case of parsing error.
2470 (ps_parser_load_field): Updated.
2471
2472 * src/type1/t1load.c (parse_font_matrix): Updated.
2473
Werner Lembergad18b362007-06-04 07:04:05 +000024742007-06-04 Werner Lemberg <wl@gnu.org>
2475
2476 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
2477
2478 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
2479
Werner Lemberg3d507fe2007-06-03 16:54:55 +000024802007-06-03 Werner Lemberg <wl@gnu.org>
2481
Werner Lemberg99a320b2007-06-03 19:21:26 +00002482 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
2483 George Williams (with some modifications).
2484
24852007-06-03 Werner Lemberg <wl@gnu.org>
2486
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002487 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
2488 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
2489 face == NULL. Suggested by Graham Asher.
2490
Werner Lembergce280a22007-06-03 05:58:30 +000024912007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
2492
2493 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
2494
Werner Lemberg5b591e42007-06-01 22:16:43 +000024952007-06-02 Werner Lemberg <wl@gnu.org>
2496
2497 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
2498 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
2499
2500 * src/bdf/bdflib.c (bdf_load_font): Use them.
2501
2502 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
2503
Werner Lembergb9933f42007-06-01 21:27:12 +000025042007-06-01 Werner Lemberg <wl@gnu.org>
2505
2506 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
2507 (FTC_CMapCache_Lookup): Remove unused code.
2508
Werner Lembergc793d902007-06-01 20:51:11 +000025092007-06-01 Sean McBride <sean@rogue-research.com>
2510
2511 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
2512 unused.
2513
Werner Lembergbebc7b12007-06-01 06:32:30 +000025142007-06-01 Werner Lemberg <wl@gnu.org>
2515
2516 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
2517 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00002518 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00002519
Werner Lembergcb37b3b2007-06-01 06:49:03 +00002520 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
2521 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
2522
Werner Lembergba03af62007-05-30 13:57:02 +000025232007-05-30 Werner Lemberg <wl@gnu.org>
2524
2525 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
2526 against too small binary data strings.
2527
2528 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
2529
David Turnerf0cd69c2007-05-28 15:42:09 +000025302007-05-28 David Turner <david@freetype.org>
2531
Werner Lemberg99e0c182007-05-29 07:00:23 +00002532 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
2533 transformation. This significantly reduces the loading time of CFF
2534 glyphs.
David Turner552a9562007-05-28 15:45:35 +00002535
Werner Lemberg99e0c182007-05-29 07:00:23 +00002536 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00002537
Werner Lemberg99e0c182007-05-29 07:00:23 +00002538 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
2539 hinting script to CJK, since it works well with more scripts than
2540 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
2541 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00002542
Werner Lemberg1c8980e2007-05-25 07:11:12 +000025432007-05-25 Werner Lemberg <wl@gnu.org>
2544
2545 * docs/CHANGES: Updated.
2546
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000025472007-05-24 Werner Lemberg <wl@gnu.org>
2548
2549 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
2550 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
2551
25522007-05-24 Graham Asher <graham.asher@btinternet.com>
2553
2554 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
2555 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
2556
David Turner0d0365e2007-05-22 09:53:44 +000025572007-05-22 David Turner <david@freetype.org>
2558
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002559 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
2560 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00002561
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002562
2563 Avoid heap blowup with very large .Z font files. This fixes
2564 Savannah bug #19910.
2565
2566 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
2567 `in_limit', `pad', `pad_bits', and `in_buff' members.
2568 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
2569 `buf_total' members.
2570
2571 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
2572 only one argument.
2573 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00002574
25752007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00002576
2577 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
2578 (ps_dimension_set_mask_bits): Remove `const'.
2579
David Turner0d0365e2007-05-22 09:53:44 +000025802007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00002581
2582 * src/sfnt/ttmtx.c (tt_face_get_metrics)
2583 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
2584
Werner Lembergb826fa72007-05-19 07:18:48 +000025852007-05-19 Derek Clegg <dclegg@apple.com>
2586
2587 Savannah patch #5929.
2588
2589 * include/freetype/tttables.h, src/base/ftobjcs.c
2590 (FT_Get_CMap_Format): New function.
2591
2592 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
2593 `format' member.
2594 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
2595 cmap_info->format.
2596
Werner Lemberg6f99c882007-05-19 07:01:49 +000025972007-05-19 Werner Lemberg <wl@gnu.org>
2598
2599 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
2600 before handling subglyphs so that it can be reinitialized each time.
2601 This fixes Savannah bug #19859.
2602
Werner Lemberg95bc9d32007-05-16 15:19:42 +000026032007-05-16 Werner Lemberg <wl@gnu.org>
2604
2605 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
2606 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
2607 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
2608 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
2609 tt_face_get_metrics): Fix type-punning issues.
2610
David Turner0a24bd22007-05-15 10:54:10 +000026112007-05-15 David Turner <david@freetype.org>
2612
2613 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00002614 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
2615 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00002616 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00002617 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00002618
Werner Lemberg607dec72007-05-15 06:49:37 +000026192007-05-15 Graham Asher <graham.asher@btinternet.com>
2620
2621 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
2622 variable.
2623 * src/autofit/afloader.c (af_loader_load_g): Ditto.
2624
2625 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
2626 (open_face_from_buffer): Initialize `stream'.
2627 (FT_Request_Metrics): Remove unused variable.
2628 Remove redundant `break' statements.
2629 (FT_Get_Track_Kerning): Remove unused variable.
2630
2631 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
2632 afm_parse_kern_data): Remove redundant
2633 `break' statements.
2634 (afm_parser_parse): Ditto.
2635 Don't use uninitialized variables.
2636
2637 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
2638 Use `|' operator instead of `^' to set it.
2639 Update all users.
2640
2641 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
2642 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
2643
2644 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
2645 comparison.
2646 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
2647 (TT_Load_Glyph): Remove unused variable.
2648
Werner Lemberg8d463a52007-05-13 16:01:55 +000026492007-05-13 Derek Clegg <dclegg@apple.com>
2650
2651 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
2652 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
2653
David Turner711cf842007-05-11 14:36:24 +000026542007-05-11 David Turner <david@freetype.org>
2655
Werner Lemberg56ceaa42007-05-14 18:53:58 +00002656 * src/cache/ftbasic.c, include/freetype/ftcache.h
2657 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
2658 functions that allow us to look up glyphs using an FTC_Scaler object
2659 to specify the size, making it possible to use fractional pixel
2660 sizes.
2661
2662 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
2663 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00002664
Werner Lemberg94be20e2007-05-09 20:02:55 +000026652007-05-09 Graham Asher <graham.asher@btinternet.com>
2666
2667 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
2668 (af_latin_metrics_scale_dim): Fix compiler warnings.
2669
Werner Lemberg41271032007-05-06 04:51:48 +000026702007-05-06 Werner Lemberg <wl@gnu.org>
2671
2672 * builds/win32/visualce/freetype.sln: Removed, as requested by
2673 Vincent.
2674
Werner Lembergdf49e692007-05-04 06:30:05 +000026752007-05-04 Vincent RICHOMME <richom.v@free.fr>
2676
2677 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
2678 PC targets.
2679
2680 * docs/CHANGES: Document them.
2681
26822007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00002683
2684 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
2685 mmap (which might happen on some RTOS). From Savannah patch #5909.
2686
Werner Lemberg106eaf12007-05-03 07:07:47 +000026872007-05-03 Werner Lemberg <wl@gnu.org>
2688
2689 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
2690 * include/freetype/freetype.h (FT_Set_Char_Size): Update
2691 documentation.
2692
Werner Lemberg1b5267d2007-04-28 21:06:15 +000026932007-04-28 Victor Stinner <victor.stinner@inl.fr>
2694
2695 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
2696 `cmap'.
2697
Werner Lembergcc712a22007-04-27 17:16:50 +000026982007-04-27 Werner Lemberg <wl@gnu.org>
2699
2700 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
2701 number of points in contours. Problem reported by Victor Stinner
2702 <victor.stinner@haypocalc.com>.
2703 (TT_Process_Simple_Glyph): Synchronize variable types.
2704
Werner Lemberg45bb18f2007-04-26 06:26:35 +000027052007-04-26 Werner Lemberg <wl@gnu.org>
2706
2707 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
2708 zero in case of error. This fixes Savannah bug #19689.
2709
Werner Lembergb2116512008-09-12 16:27:48 +000027102007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
David Turnera8b45e62007-05-11 14:10:30 +00002711
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002712 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
2713 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00002714
Werner Lembergfcc1f472007-04-10 11:51:50 +000027152007-04-10 Martin Horak <horakm@centrum.cz>
2716
2717 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
2718 Ignore `hhea' table. This fixes Savannah bug #19261.
2719
Werner Lemberg14bf82e2007-04-10 04:09:49 +000027202007-04-09 Werner Lemberg <wl@gnu.org>
2721
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002722
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002723 * Version 2.3.4 released.
2724 =========================
2725
2726
2727 Tag sources with `VER-2-3-4'.
2728
2729 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2730 version number to 2.3.4.
2731
2732 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2733 builds/win32/visualc/freetype.dsp,
2734 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
2735
2736 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
2737
2738 * builds/unix/configure.raw (version_info): Set to 9:15:3.
2739
Werner Lembergf4a52a62007-04-09 08:40:11 +000027402007-04-09 Martin Horak <horakm@centrum.cz>
2741
2742 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
2743 memory stream to avoid a crash with the incremental memory
2744 interface (Savannah bug #19260).
2745
David Turner1dcb4442007-04-06 08:19:04 +000027462007-04-06 David Turner <david@freetype.org>
2747
Werner Lembergc81cf612007-04-06 09:28:23 +00002748 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
2749 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00002750
Werner Lemberg9f83e052007-04-05 02:28:23 +000027512007-04-04 Werner Lemberg <wl@gnu.org>
2752
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002753
Werner Lemberg9f83e052007-04-05 02:28:23 +00002754 * Version 2.3.3 released.
2755 =========================
2756
2757
2758 Tag sources with `VER-2-3-3'.
2759
2760 * docs/CHANGES: Mention CVE-2007-1351.
2761
David Turner7338ec22007-04-03 14:30:34 +000027622007-04-03 David Turner <david@freetype.org>
2763
2764 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00002765 if one of the resolution values is 0, treat it as if it were the
2766 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00002767
David Turnere6472c12007-04-02 13:13:54 +000027682007-04-02 David Turner <david@freetype.org>
2769
Werner Lemberg94f12272007-04-03 07:19:53 +00002770 Add special code to detect `extra-light' fonts and do not snap their
2771 stem widths too much to avoid bizarre hinting effects.
2772
2773 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
2774 `extra_light' members.
2775
2776 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
2777 them.
2778 (af_latin_metrics_scale_dim): Set `extra_light'.
2779 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00002780
David Turner3f539692007-03-28 14:53:40 +000027812007-03-28 David Turner <david@freetype.org>
2782
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002783 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00002784 padding.
2785
Werner Lemberga08b2172007-03-28 07:17:17 +000027862007-03-28 Werner Lemberg <wl@gnu.org>
2787
2788 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
2789 gracefully.
2790 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00002791 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00002792 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
2793 number of code points in Unicode.
2794
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002795 * builds/win32/visualc/index.html,
2796 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002797 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002798 s/232/233/.
2799
2800 * docs/CHANGES: Mention ftdiff.
2801
David Turner3b242d32007-03-26 12:03:04 +000028022007-03-26 David Turner <david@freetype.org>
2803
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002804 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
2805 corresponding code.
2806 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00002807
Werner Lemberga08b2172007-03-28 07:17:17 +00002808 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002809 computations in order to ignore single-point contours. These are
2810 never rasterized and correspond in certain fonts to mark-attach
2811 points that are very far from the glyph's real outline, ruining the
2812 computation.
David Turnerf58caa02007-03-26 12:39:25 +00002813
Werner Lemberga08b2172007-03-28 07:17:17 +00002814 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00002815 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00002816 Otherwise code that uses them will most certainly ruin the fixed
2817 advance property.
David Turner23553d62007-03-26 13:37:17 +00002818
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002819 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
2820 documentation and bump version number to 2.3.3.
2821
2822 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
2823
2824 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00002825
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000028262007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2827
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002828 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
2829 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002830 * builds/vms/ftconfig.h: Ditto.
2831 * include/freetype/config/ftconfig.h: Ditto.
2832
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000028332007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2834
Werner Lemberg14ffe092007-03-22 06:12:43 +00002835 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
2836 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00002837 proposed by Sean McBride:
2838 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2839
28402007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2841
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002842 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
2843 setjmp, proposed by Sean McBride:
2844 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2845
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000028462007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2847
Werner Lembergc9f6c662007-03-21 13:30:14 +00002848 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
2849 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
2850 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002851
David Turner74c34eb2007-03-18 07:19:31 +000028522007-03-18 David Turner <david@freetype.org>
2853
Werner Lembergc9f6c662007-03-21 13:30:14 +00002854 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
2855 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00002856
Werner Lembergc9f6c662007-03-21 13:30:14 +00002857 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00002858
David Turner89020d92007-03-17 17:48:57 +000028592007-03-17 David Turner <david@freetype.org>
2860
Werner Lembergc9f6c662007-03-21 13:30:14 +00002861 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
2862 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00002863
Werner Lemberg25d592a2007-03-09 07:59:35 +000028642007-03-09 Werner Lemberg <wl@gnu.org>
2865
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002866
Werner Lemberg25d592a2007-03-09 07:59:35 +00002867 * Version 2.3.2 released.
2868 =========================
2869
2870
2871 Tag sources with `VER-2-3-2'.
2872
2873 * builds/win32/visualc/index.html,
2874 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002875 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00002876 s/231/232/.
2877
David Turner3a51afa2007-03-08 10:50:38 +000028782007-03-08 David Turner <david@freetype.org>
2879
Werner Lemberg25d592a2007-03-09 07:59:35 +00002880 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00002881
Werner Lemberg25d592a2007-03-09 07:59:35 +00002882 * builds/unix/configure.raw (version_info): Set to 9:13:3.
2883
2884 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
2885
2886 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00002887
Werner Lemberg1e259de2007-03-08 15:39:21 +00002888 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
2889 function to work properly, over-writing user-provided buffers in
2890 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00002891
David Turner121cad52007-03-08 16:43:50 +00002892
Werner Lemberg3d92f082007-03-06 11:59:24 +000028932007-03-05 Werner Lemberg <wl@gnu.org>
2894
2895 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
2896 macro for `strstr'.
2897
2898 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
2899 `trick_names', as suggested by Ivan Nincic.
2900
David Turner085bc6e2007-03-05 17:40:03 +000029012007-03-05 David Turner <david@freetype.org>
2902
Werner Lembergd112cf02007-03-06 12:06:56 +00002903 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
2904 case FT_Init_FreeType fails for some reason. Problem reported by
2905 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00002906
Werner Lembergd112cf02007-03-06 12:06:56 +00002907 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
2908 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
2909 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
2910 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00002911
Werner Lembergd112cf02007-03-06 12:06:56 +00002912 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
2913 signed values, not unsigned ones. Problem reported by Johannes
2914 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00002915
David Turner601aefe2007-02-21 16:47:49 +000029162007-02-21 David Turner <david@freetype.org>
2917
Werner Lembergde5e6862007-02-25 21:06:43 +00002918 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
2919 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00002920
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000029212007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2922
2923 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
2924 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
2925 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
2926
Werner Lemberga0915172007-02-16 08:12:50 +000029272007-02-16 Werner Lemberg <wl@gnu.org>
2928
2929 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
2930 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
2931
David Turner2c4500e2007-02-14 15:08:47 +000029322007-02-14 David Turner <david@freetype.org>
2933
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002934 It seems that the following changes fix most of the known
2935 interpreter problems with my fonts, but more testing is needed,
2936 though.
2937
2938 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
2939 (TT_MulFix14): Rewrite.
2940 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
2941 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00002942
Werner Lembergc6a14082007-02-12 22:08:15 +000029432007-02-12 Werner Lemberg <wl@gnu.org>
2944
2945 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
2946 warnings.
2947
2948 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
2949 (bdf_interpret_style): Ditto.
2950
David Turnerc0f9c4a2007-02-12 14:55:03 +000029512007-02-12 David Turner <david@freetype.org>
2952
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002953 Simplify projection and dual-projection code interface.
2954
Werner Lemberg406d25f2007-02-12 22:01:18 +00002955 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
2956 FT_Vector' as argument type.
2957 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
2958 Updated.
2959 (CUR_fast_project, CUR_fast_dualproj): New macros.
2960 (Project, Dual_Project, Project_x, Project_y): Updated.
2961 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
2962 macros.
2963
2964
2965 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
2966 adjustments for the non-light auto-hinted modes. Gets rid of
2967 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00002968
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00002969 * src/autofit/aflatin.c (af_latin_hints_link_segments,
2970 af_latin_hints_compute_edges): Slight optimization of the segment
2971 linker and better handling of serif segments to get rid of broken
2972 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00002973
David Turnerc0f9c4a2007-02-12 14:55:03 +00002974
Werner Lemberg442bfb82007-02-12 21:44:10 +00002975 Introduce new string functions and the corresponding macros to get
2976 rid of various uses of strcpy and other `evil' functions, as well as
2977 to simplify a few things.
2978
2979 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
2980 ft_mem_strcpyn): New declarations.
2981 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
2982 macros.
2983 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
2984 functions.
2985
2986 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
2987 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
2988 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
2989 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
2990 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
2991 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
2992 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
2993 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00002994
Werner Lemberg406d25f2007-02-12 22:01:18 +00002995 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
2996
Werner Lemberg582067d2007-02-11 15:03:05 +000029972007-02-11 Werner Lemberg <wl@gnu.org>
2998
2999 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
3000 non-spacing glyphs.
3001
Werner Lemberg8f474532007-02-07 08:31:01 +000030022007-02-07 Tom Parker <palfrey@tevp.net>
3003
3004 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
3005 pointer.
3006
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000030072007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3008
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003009 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
3010 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00003011 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003012 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
3013 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
3014 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
3015 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00003016
3017 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
3018 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003019 * builds/mac/ftmac.c: Ditto.
3020
30212007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3022
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00003023 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00003024 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00003025 #include <ftmac.c>.
3026
30272007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3028
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00003029 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
3030 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
3031 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
3032 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
3033 FT_GetFilePath_From_Mac_ATS_Name.
3034 * builds/mac/ftmac.c: Ditto.
3035
30362007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3037
Werner Lembergdcbb7082007-02-08 08:54:09 +00003038 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00003039 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
3040 for passing to FT_New_Face_From_FSSpec.
3041
30422007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3043
Werner Lembergdcbb7082007-02-08 08:54:09 +00003044 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003045 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00003046
3047 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
3048 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003049 * builds/mac/ftmac.c (OS_INLINE): Ditto.
3050
Werner Lemberg313d7772007-02-01 08:10:45 +000030512007-02-01 Werner Lemberg <wl@gnu.org>
3052
3053 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
3054 Explain why applications shouldn't use it. Found by Alexei.
3055
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000030562007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003057
3058 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
3059 message.
3060
3061 * src/gxvalid/gxvmort1.c
3062 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
3063 message.
3064
Werner Lemberg53935932007-01-31 08:53:02 +000030652007-01-31 Werner Lemberg <wl@gnu.org>
3066
3067
3068 * Version 2.3.1 released.
3069 =========================
3070
3071
3072 Tag sources with `VER-2-3-1-FINAL'.
3073
3074 * builds/win32/visualc/freetype.dsp,
3075 builds/win32/visualc/freetype.vcproj: s/230/231/.
3076 * builds/win32/visualc/index.html: s/221/231/.
3077
3078 * vms_make.com: Add `ftgasp'.
3079
David Turnera7ee6082007-01-30 10:33:53 +000030802007-01-30 David Turner <david@freetype.org>
3081
Werner Lemberg53935932007-01-31 08:53:02 +00003082 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00003083
Werner Lemberg53935932007-01-31 08:53:02 +00003084 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00003085
Werner Lemberg25d592a2007-03-09 07:59:35 +00003086 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00003087 s/2.3.0/2.3.1/.
3088
3089 * builds/unix/configure.raw (version_info): Set to 9:12:3.
3090
3091
3092 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
3093 (af_loader_load_g): Disable the warper (i.e., the light hinting
3094 improvements) to make a 2.3.1 bugfix release before introducing a
3095 new feature. This should give us more time to tune and improve the
3096 warper for the next release.
3097
3098 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00003099
David Turnerd91eebd2007-01-26 15:05:41 +000031002007-01-25 David Turner <david@freetype.org>
3101
Werner Lembergbf241762007-01-26 16:08:49 +00003102 For light auto-hinting, improve glyph advance widths and resurrect
3103 normal/full hinting to its normal quality.
3104
3105 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
3106 and `xmax_delta'.
3107 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
3108 and `xmax_delta'.
3109
3110 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
3111 preprocessor conditional with if-clause, handling both light and
3112 normal mode.
3113
3114 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
3115 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00003116
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000031172007-01-25 Werner Lemberg <wl@gnu.org>
3118
3119 * docs/release: Updated -- Savannah uses a new uploading scheme.
3120
David Turnera42567b2007-01-25 12:23:37 +000031212007-01-25 David Turner <david@freetype.org>
3122
Werner Lembergd7855662007-01-25 13:53:56 +00003123 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00003124
Werner Lembergd7855662007-01-25 13:53:56 +00003125 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
3126 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
3127 functions.
David Turnera42567b2007-01-25 12:23:37 +00003128
Werner Lembergd7855662007-01-25 13:53:56 +00003129 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00003130
Werner Lembergb1be9e82007-01-25 11:50:00 +000031312007-01-25 Werner Lemberg <wl@gnu.org>
3132
3133 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00003134 correctly in a sanity check. Since this function is only used to
3135 load local and global functions, any charstring that called the last
3136 local/global function would fail otherwise. This fixes Savannah bug
3137 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00003138
3139 * docs/CHANGES: Document it.
3140
David Turnerb6de8d12007-01-23 15:51:50 +000031412007-01-23 David Turner <david@freetype.org>
3142
Werner Lembergb1be9e82007-01-25 11:50:00 +00003143 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
3144 prevented compilation when disabling both the unpatented and the
3145 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00003146
Werner Lembergb1be9e82007-01-25 11:50:00 +00003147
3148 Fix and enable the warper to improve `light' hinting mode. This is
3149 not necessarily a final version, but it seems to work well.
3150
3151 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
3152 Disable code.
3153 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
3154 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
3155
3156 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
3157 (af_warper_compute_line_best): Fix array size of `scores'.
3158 (af_warper_compute): Better handling of border cases.
3159 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
3160 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00003161
Werner Lemberg011d1112007-01-21 09:36:00 +000031622007-01-21 Werner Lemberg <wl@gnu.org>
3163
Werner Lemberg42b63b22007-01-21 21:01:33 +00003164 * ChangeLog: Split off older entries into...
3165 * ChangeLog.22: This new file.
3166
31672007-01-21 Werner Lemberg <wl@gnu.org>
3168
Werner Lemberg555258f2007-01-21 09:46:37 +00003169 * docs/CHANGES: Document SHZ fix.
3170
31712007-01-21 George Williams <gww@silcom.com>
3172
3173 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
3174 points.
3175
31762007-01-21 Werner Lemberg <wl@gnu.org>
3177
Werner Lemberg011d1112007-01-21 09:36:00 +00003178 * src/sfnt/ttmtx.c (tt_face_get_metrics)
3179 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
3180
Werner Lemberg87a5a432007-01-17 12:44:39 +000031812007-01-17 Werner Lemberg <wl@gnu.org>
3182
Werner Lembergb8003292007-01-17 12:56:25 +00003183
3184 * Version 2.3.0 released.
3185 =========================
3186
3187
3188 Tag sources with `VER-2-3-0-FINAL'.
3189
31902007-01-17 Werner Lemberg <wl@gnu.org>
3191
Werner Lemberg87a5a432007-01-17 12:44:39 +00003192 * docs/release: Updated.
3193
David Turner22122722007-01-16 20:06:44 +000031942007-01-16 David Turner <david@freetype.org>
3195
Werner Lemberg87a5a432007-01-17 12:44:39 +00003196 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
3197 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
3198 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
3199 warnings.
David Turner22122722007-01-16 20:06:44 +00003200
Werner Lemberg267e1d72007-01-15 07:48:09 +000032012007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
3202
3203 * builds/amiga/makefile, builds/amiga/makefile.os4,
3204 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
3205
3206 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
3207
Werner Lemberg8c4120d2007-01-15 06:42:40 +000032082007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
3209
3210 Fix various compiler warnings.
3211
3212 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
3213 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
3214 s/index/strike_index/.
3215 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
3216
3217 * src/gxvalid/gxvmorx5.c
3218 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
3219
3220 * src/truetype/ttinterp.c (Compute_Point_Displacement),
3221 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
3222 uninitialized variables.
3223
Werner Lemberg6164a9d2007-01-13 23:01:36 +000032242007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3225
3226 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
3227
Werner Lemberg281c1482007-01-13 22:50:51 +000032282007-01-13 Werner Lemberg <wl@gnu.org>
3229
3230 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
3231 versions up to 0x3FF without complaining.
3232
Werner Lembergac250b22007-01-13 14:01:36 +000032332007-01-13 Derek Clegg <dclegg@apple.com>
3234
3235 Add FT_Get_PS_Font_Info interface to CFF driver.
3236
3237 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
3238 (CFF_FontRec): Add `font_info' field.
3239
3240 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
3241 (cff_font_done): Free font->font_info if necessary.
3242
3243 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
3244 (cff_service_ps_info): Register cff_ps_get_font_info.
3245
Werner Lemberg23df31a2007-01-13 08:45:00 +000032462007-01-13 Werner Lemberg <wl@gnu.org>
3247
3248 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
3249 with C++ compiler.
3250
3251 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
3252 af_glyph_hints_dump_edges): Ditto.
3253
3254 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
3255 `modules.cfg').
3256
3257 * src/sfnt/ttsbit0.h: Remove.
3258
3259 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
3260
Werner Lemberg27cf9de2007-01-13 07:34:23 +000032612007-01-12 David Turner <david@freetype.org>
3262
3263 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
3264 bug in the bitmap emboldener if the pitch of the source bitmap is
3265 much larger than its width.
3266
3267 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
3268 compilation warning.
3269
Werner Lemberg6d96d312007-01-12 10:30:19 +000032702007-01-12 Werner Lemberg <wl@gnu.org>
3271
3272 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
3273 `automake' CVS module from sources.redhat.com.
3274
Werner Lemberg17432b52007-01-12 09:28:44 +000032752007-01-11 Werner Lemberg <wl@gnu.org>
3276
3277 * src/type1/t1load.c (is_space): Removed.
3278 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
3279 (parse_charstrings): Use IS_PS_TOKEN.
3280
3281
3282 * autogen.sh: Avoid bash specific syntax.
3283
David Turner038ace22007-01-11 15:00:59 +000032842007-01-11 David Turner <david@freetype.org>
3285
Werner Lemberg17432b52007-01-12 09:28:44 +00003286 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00003287
Werner Lemberg17432b52007-01-12 09:28:44 +00003288 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00003289
Werner Lemberg17432b52007-01-12 09:28:44 +00003290 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
3291 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00003292 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00003293
Werner Lemberg17432b52007-01-12 09:28:44 +00003294 * autogen.sh: Small fix to get it working on Mac OS X properly:
3295 The issue is that GNU libtool is called `glibtool' on this platform,
3296 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00003297
David Turner2628ea92007-01-10 13:15:56 +000032982007-01-10 David Turner <david@freetype.org>
3299
Werner Lemberg17432b52007-01-12 09:28:44 +00003300 * all-sources: Tag all sources with VER-2-3-0-RC1 and
3301 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00003302
Werner Lemberg17432b52007-01-12 09:28:44 +00003303 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
3304 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
3305 version number to 2.3.0.
3306
3307 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
3308 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00003309
3310 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00003311 include/freetype/ftlcdfil.h: Update reference documentation with
3312 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00003313
Werner Lemberg17432b52007-01-12 09:28:44 +00003314 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
3315 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00003316
Werner Lembergbf02d392007-01-10 07:07:37 +000033172007-01-10 Derek Clegg <dclegg@apple.com>
3318
3319 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
3320 values.
3321
David Turnerf48b60e2007-01-08 15:15:32 +000033222007-01-08 David Turner <david@freetype.org>
3323
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003324 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00003325
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003326 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
3327 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00003328 corresponding to a given character pixel size.
3329
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003330 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
3331 `gasp' table, in order to avoid potential problems with later
3332 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00003333
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003334 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
3335 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00003336
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003337 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
3338 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
3339 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
3340 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00003341
Werner Lemberge6b6f372007-01-07 00:06:47 +000033422007-01-07 Werner Lemberg <wl@gnu.org>
3343
Werner Lembergb8004d22007-01-07 09:13:38 +00003344 * src/cid/cidparse.c (cid_parser_new): Improve error message for
3345 Type 11 fonts.
3346 Scan for `/sfnts' token.
3347
33482007-01-07 Werner Lemberg <wl@gnu.org>
3349
3350 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00003351
Werner Lembergbe5f7972007-01-06 07:51:48 +000033522007-01-06 Werner Lemberg <wl@gnu.org>
3353
3354 * src/cff/cffload.c (cff_index_init): Remove unused variable.
3355 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
3356
David Turnera8cf42b2007-01-04 16:46:46 +000033572007-01-04 David Turner <david@freetype.org>
3358
Werner Lembergf6294392007-01-06 07:47:45 +00003359 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
3360 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00003361
Werner Lembergf6294392007-01-06 07:47:45 +00003362
3363 Do not allocate interpreter-specific tables in memory if we are not
3364 going to load glyphs with the bytecode interpreter anyway.
3365
3366 * src/truetype/ttgload.c (tt_loader_init): Load execution context
3367 only if glyph is hinted.
3368 Updated.
3369 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
3370 and `cvs_ready'.
3371 Add `tt_size_ready_bytecode' declaration.
3372 * src/truetype/ttobjs.c (tt_size_done_bytecode,
3373 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
3374 (tt_size_init): Move most code into `tt_size_init_bytecode'.
3375 (tt_size_done): Move most code into `tt_size_done_bytecode'.
3376 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00003377
David Turner91a34022007-01-05 14:47:08 +00003378
Werner Lembergf6294392007-01-06 07:47:45 +00003379 Don't extract the metrics table from the SFNT font file. Instead,
3380 reparse it on each glyph load. The runtime difference is not
3381 noticeable, and it can save a lot of heap memory when memory-mapped
3382 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00003383
Werner Lembergf6294392007-01-06 07:47:45 +00003384 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
3385 `horz_metrics_offset' and `vert_metrics_ofset'.
3386 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
3387 Updated.
3388
3389
3390 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
3391
3392
3393 Do not load the CFF index offsets into memory, since this wastes a
3394 *lot* of heap memory with large Asian CFF fonts. There is no
3395 significant performance loss.
3396
3397 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
3398 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
3399 `data_size'.
3400 (CFF_CharsetRec): Add field `num_glyphs'.
3401
3402 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
3403 cff_charset_cid_to_gindex): New functions.
3404 (cff_new_index): Renamed to...
3405 (cff_index_init): This. Update all callers.
3406 Updated -- some code has been moved to `cff_index_load_offsets'.
3407 (cff_done_index): Renamed to...
3408 (cff_index_done): This. Update all callers.
3409 (cff_index_get_pointers, cff_index_access_element): Updated to use
3410 stream offsets.
3411 (cff_charset_compute_cids): Set `num_glyphs' field.
3412 (cff_encoding_load): Updated.
3413
3414 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00003415
34162007-01-04 David Turner <david@freetype.org>
3417
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003418 * docs/INSTALL.UNIX: Simplify some parts, add reference to
3419 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00003420
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003421 * README.CVS: Add common problem description and solution
3422 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00003423
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003424 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00003425
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003426 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00003427
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003428 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00003429
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003430 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
3431 (TWorker): This.
3432 Remove `count_table' and `memory'.
3433 Make `grays' a pointer.
3434 (TRaster): New structure.
3435 (count_table): New static array.
3436 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
3437 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
3438 ft_black_set_mode, ft_black_render): Updated.
3439 (ft_black_init): Don't initialize `count_table'.
3440 (ft_black_reset): Use the render pool. This saves about 6KB of
3441 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00003442
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003443 * src/smooth/ftgrays.c (TRaster): Replaced with...
3444 (TWorker): This.
3445 Remove `memory'.
3446 (TRaster): New structure.
3447
3448 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
3449 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
3450 gray_render_span, gray_raster_render): Updated.
3451 (gray_raster_reset): Use the render pool. This saves about 6KB of
3452 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00003453
David Turner8a6c44e2007-01-04 17:03:11 +00003454 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
3455 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003456 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
3457 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
3458 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00003459
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003460 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
3461 Remove a typo that results in no hinting and a memory leak with some
3462 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00003463
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003464 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00003465 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003466 CFF_Faces in it. We need to close all faces before destroying the
3467 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00003468
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000034692007-01-02 Werner Lemberg <wl@gnu.org>
3470
3471 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
3472 Remove compiler warning.
3473
David Turner9207e002007-01-02 16:58:13 +000034742007-01-02 David Turner <david@freetype.org>
3475
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003476 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00003477
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000034782006-12-31 Masatake YAMATO <jet@gyve.org>
3479
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003480 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
3481 function.
3482 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00003483 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00003484 `gxv_kern_subtable_fmt0_pairs_validate'.
3485
David Turner115b4422006-12-22 11:37:05 +000034862006-12-22 David Turner <david@freetype.org>
3487
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003488 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
3489 warnings.
David Turner115b4422006-12-22 11:37:05 +00003490
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003491 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
3492 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00003493
Werner Lemberg4755bf72006-12-16 08:58:44 +000034942006-12-16 Anders Kaseorg <anders@kaseorg.com>
3495
3496 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
3497 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
3498
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000034992006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3500
Werner Lemberg9b774e22007-01-16 06:11:27 +00003501 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00003502 sync with the modification by Jens Claudius on 2006-08-22; cf.
3503 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 +00003504
35052006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3506
3507 * src/base/ftmac.c: Specialized for Mac OS X only.
3508 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
Werner Lemberg830846e2008-07-27 06:27:21 +00003509 * builds/unix/configure.raw: Ditto. When explicit switches for
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00003510 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
3511 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
3512
35132006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3514
3515 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
3516 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
3517 instead of src/base/ftmac.c
3518 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
3519 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
3520 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
3521 that cannot be built at present.
3522
35232006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3524
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00003525 * src/base/ftobjs.c: Improvement of resource fork handler for
3526 POSIX, cf.
3527 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00003528 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
3529 format or .dfont, to simulate the face index number counted by ftmac.c.
3530 (IsMacResource): Return the number of scalable faces correctly.
3531
Werner Lembergec5b4502006-12-10 07:51:38 +000035322006-12-10 Werner Lemberg <wl@gnu.org>
3533
3534 * builds/toplevel.mk (version): Protect against `distclean' target.
3535
Werner Lembergb26b3142006-12-09 20:01:43 +000035362006-12-09 Werner Lemberg <wl@gnu.org>
3537
3538 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
3539 or `type'.
3540
3541 * builds/freetype.mk (version): Extracted from freetype.h, using
3542 GNU make's built-in string functions.
3543 (refdoc): Use $(version) instead of static version number.
3544
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000035452006-12-08 Werner Lemberg <wl@gnu.org>
3546
3547 * builds/toplevel.mk (dist): Extract version number from freetype.h.
3548
Werner Lemberg15c29502006-12-09 07:29:54 +000035492006-12-08 Vladimir Volovich <vvv@vsu.ru>
3550
3551 * src/tools/apinames (State): Remove final comma in structure -- xlc
3552 v5 under AIX 4.3 doesn't like this.
3553
David Turnerdbf3b432006-12-07 21:18:09 +000035542006-12-07 David Turner <david@freetype.org>
3555
Werner Lemberg256a3512006-12-08 06:49:33 +00003556 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
3557 to the spacing of auto-fitted glyphs. This only impacts rare
3558 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00003559
Werner Lemberg11171312006-12-03 09:43:40 +000035602006-12-03 Werner Lemberg <wl@gnu.org>
3561
3562 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
3563
Werner Lemberg960ba592006-12-01 08:20:47 +000035642006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00003565
Werner Lemberg960ba592006-12-01 08:20:47 +00003566 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
3567 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
3568 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00003569
David Turner80658e52006-11-28 08:09:20 +00003570
Werner Lemberg960ba592006-12-01 08:20:47 +00003571 * include/freetype/ftxf86.h: Fix and extend comment so that it
3572 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00003573
Werner Lemberg960ba592006-12-01 08:20:47 +00003574 * include/freetype/ftchapters.h: Add `font_format' section.
3575
3576
3577 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
3578 to TOC in index page.
3579
35802006-11-28 David Turner <david@freetype.org>
3581
3582 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
3583 trying to render into a zero-width/height bitmap, not an error code.
3584
3585 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
3586
3587 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
3588 ones instead.
3589
3590 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
3591 variable.
David Turner80658e52006-11-28 08:09:20 +00003592
Werner Lemberg8636c292006-11-26 22:28:13 +000035932006-11-26 Pierre Hanser <hanser@club-internet.fr>
3594
3595 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
3596
Werner Lemberg960ba592006-12-01 08:20:47 +000035972006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00003598
Werner Lemberg960ba592006-12-01 08:20:47 +00003599 * src/autofit/afhints.c (af_glyph_hints_dump_points,
3600 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
3601 Add stubs to link the `ftgrid' test program when debugging is
3602 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00003603
Werner Lemberg960ba592006-12-01 08:20:47 +000036042006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00003605
3606 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00003607 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
3608
3609 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
3610 Emit more sensible information.
3611
3612 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
3613
3614 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
3615 rounding of blue values.
3616 (af_latin_hints_compute_segments): Hint segment heights.
3617 (af_latin_hints_link_segments): Reduce `len_score' value.
3618 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
3619 value and use `height' member for comparisons.
3620 (af_latin_hint_edges): Extend logging message.
3621 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00003622
Werner Lemberg91959bf2006-11-22 10:36:55 +000036232006-11-22 Werner Lemberg <wl@gnu.org>
3624
3625 Fix Savannah bug #15553.
3626
3627 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
3628 program after a change from mono to grayscaling (and vice versa).
3629 Use correct constant for comparison to get `exec->grayscale'.
3630
Werner Lemberg913a3652006-11-19 09:19:17 +000036312006-11-18 Werner Lemberg <wl@gnu.org>
3632
3633 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00003634 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00003635 This patch fixes Savannah bug #18301.
3636
3637 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
3638 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
3639 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
3640 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
3641 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
3642 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
3643 (FNT_Load_Glyph): Check validity of `glyph_index'.
3644
David Turner7bab6ae2006-11-13 11:25:06 +000036452006-11-13 David Turner <david@freetype.org>
3646
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003647 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
3648 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00003649
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003650 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
3651 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
3652 when building the library to change the default LCD filter to be
3653 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00003654
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003655 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00003656
David Turner8765c712006-11-10 16:49:42 +000036572006-11-10 David Turner <david@freetype.org>
3658
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003659 * src/smooth/ftsmooth.c: API change for the LCD
3660 filter. The FT_LcdFilter value is an enumeration describing which
3661 filter to apply, with new values FT_LCD_FILTER_LIGHT and
3662 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
3663 algorithm which produces strong color fringes for everything
3664 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00003665
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003666 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
3667 second parameter to an enum type.
3668
3669 * src/base/ftlcdfil.c (USE_LEGACY): Define.
3670 (_ft_lcd_filter): Rename to...
3671 (_ft_lcd_filter_fir): This.
3672 Update parameters.
3673 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
3674 (FT_Library_Set_LcdFilter): Update parameters.
3675 Handle new filter modes.
3676
3677 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
3678 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
3679 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
3680 callback and update other fields.
3681
3682 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
3683 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
3684 Other minor improvements.
3685
3686 * src/autofit/aflatin.c: Various tiny improvements that drastically
3687 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
3688 (af_latin_hints_compute_edges): Fix typo.
3689 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00003690
David Turner4e9cc3c2006-11-09 16:31:52 +000036912006-11-09 David Turner <david@freetype.org>
3692
Werner Lemberg49c77a82006-11-09 21:51:57 +00003693 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
3694 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00003695
Werner Lemberg5e430892006-11-07 09:35:03 +000036962006-11-07 Zhe Su <james.su@gmail.com>
3697
3698 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
3699 also.
3700
Werner Lemberg111b5ae2006-11-03 09:40:12 +000037012006-11-03 Werner Lemberg <wl@gnu.org>
3702
3703 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
3704
David Turner40604742006-11-02 16:37:35 +000037052006-11-02 David Turner <david@freetype.org>
3706
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003707 Add a few tweaks to better handle serif fonts.
3708 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00003709
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003710 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
3711 segments that are less than 1.5 pixels high. This gets rid of
3712 *many* corner cases with serifs.
3713 (af_latin_align_linked_edge): Add logging message.
3714 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
3715 Add logging messages.
3716 Handle AF_EDGE_FLAG flag specially.
3717
3718 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
3719 _af_debug_disable_blue_hints, and _af_debug_hints variables.
3720
3721 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
3722 Update external declarations.
3723 (af_corner_orientation, af_corner_is_flat): Replaced by...
3724
3725 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
3726 ft_corner_is_flat): These declarations.
3727
3728 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
3729 Comment out. Replaced by...
3730
3731 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
3732 These functions. Update all callers.
3733 (FT_Add64) [!FT_LONG64]: Simplify.
3734
3735 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
3736 (af_direction_compute): Add a missing FT_ABS call. This bug caused
3737 production of garbage by missing lots of segments.
3738
3739 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
3740
3741 * src/autofit/afloader.c (af_loader_init, af_loader_done)
3742 [AF_DEBUG]: Set _af_debug_hints.
3743
3744
3745 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
3746 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
3747 and ft_corner_orientation.
3748
3749
3750 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00003751
Werner Lemberge88c5262006-10-24 05:46:26 +000037522006-10-24 Werner Lemberg <wl@gnu.org>
3753
3754 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
3755
3756 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
3757 as argument.
3758
David Turnera1861392006-10-23 16:00:59 +000037592006-10-23 Zhe Su <zsu@novell.com>
3760
Werner Lemberg715e96e2006-10-24 05:28:45 +00003761 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
3762 better deal with broken Asian fonts with strange glyphs, having
3763 self-intersections and other peculiarities. The used algorithm is
3764 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00003765
David Turnere140f142006-10-23 08:56:57 +000037662006-10-23 David Turner <david@freetype.org>
3767
Werner Lemberg715e96e2006-10-24 05:28:45 +00003768 Speed up the CFF font loader. With some large CFF fonts,
3769 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00003770
Werner Lemberg715e96e2006-10-24 05:28:45 +00003771 * src/cff/cffload.c (cff_get_offset): Removed.
3772 (cff_new_index): Inline functionality of `cff_get_offset'.
3773 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
3774 (cff_charset_done): Call `cff_charset_free_cids'.
3775 (cff_charset_load): Call `cff_charset_compute_cids'.
3776 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
3777
3778 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
3779 with FT_NEXT_XXX.
3780
3781
3782 Speed up the Postscript hinter, with more than 100% speed increase
3783 on my machine.
3784
3785 * src/pshinter/pshalgo.c (psh_corner_is_flat,
3786 psh_corner_orientation): New functions.
3787 (psh_glyph_compute_inflections): Merge loops for efficiency.
3788 Use `psh_corner_orientation'.
3789 (psh_glyph_init): Use `psh_corner_is_flat'.
3790 (psh_hint_table_find_strong_point): Renamed to...
3791 (psh_hint_table_find_strong_points): This.
3792 Rewrite, adding argument to handle all points at once.
3793 Update all callers.
3794 (PSH_MAX_STRONG_INTERNAL): New macro.
3795 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00003796
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000037972006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3798
3799 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00003800 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00003801
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000038022006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3803
3804 * docs/INSTALL.CROSS: New document file for cross-building.
3805
3806 * builds/unix/configure.raw: Preliminary cross-building support.
3807 Find native C compiler and pass it by CC_BUILD, and
3808 find suffix for native executable and pass it by EXEEXT_BUILD.
3809 Also suffix for target executable is passed by EXEEXT.
3810
Werner Lembergb9e6d692006-10-15 08:58:40 +00003811 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
3812 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003813 CC_BUILD and EXEEXT_BUILD.
3814
Werner Lembergb9e6d692006-10-15 08:58:40 +00003815 * builds/exports.mk (APINAMES_EXE): Change the extension for
3816 apinames from the suffix for target (E) to that for building host
3817 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003818
Werner Lemberg82a07e92006-10-12 06:20:44 +000038192006-10-12 Werner Lemberg <wl@gnu.org>
3820
3821 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
3822 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
3823 which reference those files.
3824
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000038252006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3826
Werner Lembergb9e6d692006-10-15 08:58:40 +00003827 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
3828 embedded in freetype2.pc and freetype-config. Use it to record
3829 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00003830
3831 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
3832
3833 * builds/unix/freetype-config.in: Ditto.
3834
Werner Lemberg28e17d92006-10-11 17:27:47 +000038352006-10-11 Werner Lemberg <wl@gnu.org>
3836
3837 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
3838 development.
3839
Jens Claudius336d2292006-10-03 08:53:37 +000038402006-10-03 Jens Claudius <jens.claudius@yahoo.com>
3841
3842 * include/freetype/config/ftstdlib.h: Cast away volatileness from
3843 argument to ft_setjmp.
3844
3845 * include/freetype/internal/ftvalid.h: Add comment that
3846 ft_validator_run must not be used.
3847
Werner Lemberg2863cfa2006-10-01 17:04:00 +000038482006-10-01 Werner Lemberg <wl@gnu.org>
3849
3850 * src/base/ftbase.c: Undo change from 2006-09-30.
3851
3852 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
3853
38542006-09-30 David Turner <david@freetype.org>
3855
Werner Lemberg046bf8b2006-10-03 08:43:42 +00003856 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3857 s/unpatented_hinting/ignore_unpatented_hinter/.
3858 Update all callers.
3859
3860 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
3861 auto-hinting shall be used or not.
3862
3863 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00003864
Werner Lemberg2863cfa2006-10-01 17:04:00 +000038652006-09-30 Werner Lemberg <wl@gnu.org>
3866
Werner Lemberg1e4402e2006-09-29 22:10:36 +00003867 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
3868 in use).
3869
3870 * src/base/ftbase.c: Include `ftlcdfil.c'.
3871
Werner Lemberg9b15ea32006-09-29 18:22:11 +000038722006-09-29 Werner Lemberg <wl@gnu.org>
3873
3874 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
3875 overlapping segments. Bug reported by Stefan Koch.
3876
David Turnerad830712006-09-27 16:20:59 +000038772006-09-28 David Turner <david@freetype.org>
3878
Werner Lemberg2c002e12006-09-29 21:31:53 +00003879 Fix a bug in the automatic unpatented hinting support which prevents
3880 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00003881
Werner Lemberg2c002e12006-09-29 21:31:53 +00003882 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3883 s/force_autohint/unpatented_hinting/. Update all callers.
3884
3885 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
3886
3887 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00003888
David Turner8a317cf2006-09-27 07:52:48 +000038892006-09-27 David Turner <david@freetype.org>
3890
Werner Lemberg2c002e12006-09-29 21:31:53 +00003891 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00003892
David Turner8a317cf2006-09-27 07:52:48 +00003893
David Turnere140f142006-10-23 08:56:57 +00003894 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00003895 In a default build, the function `FT_Library_SetLcdFilter' returns
3896 `FT_Err_Unimplemented_Feature'; you need to #define
3897 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
3898 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00003899
Werner Lemberg2c002e12006-09-29 21:31:53 +00003900 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00003901
Werner Lemberg2c002e12006-09-29 21:31:53 +00003902 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
3903 typedef.
3904 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
3905 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00003906
Werner Lemberg2c002e12006-09-29 21:31:53 +00003907 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
3908 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00003909
Werner Lemberg2c002e12006-09-29 21:31:53 +00003910 Handle subpixel rendering.
3911 Simplify function.
3912 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
3913 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
3914
3915 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
3916 pointing to <freetype/ftlcdfil.h>.
3917
3918 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
3919 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
3920
3921 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00003922
Werner Lemberge20df4a2006-09-27 06:29:21 +000039232006-09-26 David Bustin
3924
3925 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
3926 correctly. Reported as Savannah bug #17843.
3927
David Turner6f8c6222006-09-26 15:42:44 +000039282006-09-26 David Turner <david@freetype.org>
3929
Werner Lemberg110246c2006-09-26 21:55:44 +00003930 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
3931 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
3932 horizontal and vertical hinting for the purpose of debugging the
3933 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00003934
Werner Lemberg110246c2006-09-26 21:55:44 +00003935 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
3936 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00003937
Werner Lemberg110246c2006-09-26 21:55:44 +00003938 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
3939
3940 * include/freetype/config/ftoption.h, devel/ftoption.h
3941 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
3942 we want to compile LCD-optimized rendering code (à la ClearType) or
3943 not. The macro *must* be disabled in default builds of the library
3944 for patent reasons.
3945
3946 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
3947 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
3948 isn't defined at compile time. This only changes the content of the
3949 rendered glyph to match the one of normal gray-level rendering,
3950 hence clients should not need to be modified.
3951
3952 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00003953
Werner Lemberg745ff2c2006-09-19 05:48:02 +000039542006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
3955
3956 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
3957 LWFN fails and both are available.
3958
David Turnerf3050052006-09-11 12:00:32 +000039592006-09-11 David Turner <david@freetype.org>
3960
Werner Lembergf9644552006-09-12 13:48:10 +00003961 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
3962 report their English names through an Apple Roman
3963 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00003964
Werner Lembergf9644552006-09-12 13:48:10 +00003965 If the font uses another name entry with language_id == English, it
3966 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00003967
Werner Lembergf9644552006-09-12 13:48:10 +00003968 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
3969 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00003970
Werner Lemberg36d2eab2006-09-05 19:24:34 +000039712006-09-05 Werner Lemberg <wl@gnu.org>
3972
3973 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00003974 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003975 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
3976 `HAN NOM B.ttf').
3977
3978 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
3979
David Turner772e55d2006-09-05 09:45:15 +000039802006-09-05 David Turner <david@freetype.org>
3981
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003982 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00003983
Werner Lemberg36d2eab2006-09-05 19:24:34 +00003984 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
3985 (TRaster): Remove `count_ex' and `count_ey'.
3986 (gray_find_cell): Remove 2nd and 3rd argument.
3987 (gray_alloc_cell): Merged with `gray_find_cell'.
3988 (gray_record_cell): Simplify.
3989 (gray_set_cell): Rewrite.
3990 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
3991 (gray_render_span): Don't use FT_MEM_SET for small values.
3992 (gray_dump_cells) [DEBUG_GRAYS]: New function.
3993 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
3994 bitmap scanline.
3995 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00003996
David Turneraa557a92006-09-04 16:42:44 +000039972006-09-04 David Turner <david@freetype.org>
3998
Werner Lembergd1fc7d42006-09-05 07:55:42 +00003999 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
4000 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00004001
Werner Lemberg2d8629b2006-09-03 06:18:45 +000040022006-09-03 Werner Lemberg <wl@gnu.org>
4003
4004 * devel/ftoption.h: Synchronize with
4005 include/freetype/config/ftoption.h.
4006
4007 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
4008 variable declaration.
4009 (gray_convert_glyph): Fix compiler warnings.
4010
David Turner6d79f212006-09-01 14:09:35 +000040112006-09-01 David Turner <david@freetype.org>
4012
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004013 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
4014 to recognize a few fonts that require the automatic unpatented
4015 loader.
David Turnerbd502952006-09-01 19:05:24 +00004016
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004017 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
4018 rasterizer. The speed improvement is between 15% and 25%, depending
4019 on the font data.
4020
4021 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
4022 (TCell): Redefine.
4023 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
4024 (gray_init_cells): Updated.
4025 (gray_find_cell, gray_alloc_cell): New functions.
4026 (gray_record_cell): Rewritten to use `gray_find_cell' and
4027 `gray_alloc_cell'.
4028 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
4029 QSORT_THRESHOLD):
4030 Removed.
4031 (gray_shell_sort, gray_quick_sort, gray_check_sort,
4032 gray_dump_cells): Removed.
4033 (gray_sweep): Rewritten.
4034 (gray_convert_glyph): Rewrite code which used one of the sorting
4035 functions.
4036 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00004037
Werner Lembergd898aed2006-08-29 09:50:34 +000040382006-08-29 Dr. Werner Fink <werner@suse.de>
4039
4040 * configure: Make it possible to handle configure options which
4041 have strings containing spaces.
4042
40432006-08-27 David Turner <david@freetype.org>
4044
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004045 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
4046 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
4047 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
4048
4049 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
4050 src/truetype/truetype.c, src/truetype/ttdriver.c,
4051 src/truetype/ttgload.c, src/truetype/ttgload.h,
4052 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
4053 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
4054 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
4055
4056 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
4057 member `force_autohint'.
4058
4059 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
4060
4061 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
4062 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00004063
Jens Claudiusa787f452006-08-27 11:26:18 +000040642006-08-27 Jens Claudius <jens.claudius@yahoo.com>
4065
4066 Fix miscellaneous compiler warnings.
4067
Werner Lemberg32e05a62008-05-04 16:53:22 +00004068 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
4069 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00004070
Werner Lemberg32e05a62008-05-04 16:53:22 +00004071 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004072 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
4073 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00004074
Werner Lemberg32e05a62008-05-04 16:53:22 +00004075 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004076 volatileness of argument to ft_longjmp. Spotted by Werner
4077 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00004078
Werner Lemberg32e05a62008-05-04 16:53:22 +00004079 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004080 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00004081
Werner Lemberg32e05a62008-05-04 16:53:22 +00004082 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
4083 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00004084
Werner Lembergc4c35b72006-08-27 08:03:46 +000040852006-08-27 Werner Lemberg <wl@gnu.org>
4086
4087 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
4088 Reported by Jens.
4089
Jens Claudius088e44e2006-08-22 14:24:30 +000040902006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00004091
Jens Claudius088e44e2006-08-22 14:24:30 +00004092 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00004093 about addresses of volatile objects passed as function arguments as
4094 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00004095
Werner Lemberg32e05a62008-05-04 16:53:22 +00004096 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
4097 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004098
Werner Lemberg32e05a62008-05-04 16:53:22 +00004099 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
4100 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004101
Werner Lemberg32e05a62008-05-04 16:53:22 +00004102 * src/otvalid/otvmod.c (otv_load_table): Make function argument
4103 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004104
Jens Claudius2652bd52006-08-18 17:20:37 +000041052006-08-18 Jens Claudius <jens.claudius@yahoo.com>
4106
Werner Lemberg32e05a62008-05-04 16:53:22 +00004107 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
4108 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00004109 (gxv_validate): Same for local variables `memory' and `valid'.
4110 (classic_kern_validate): Same for local variables `memory',
4111 `ckern', and `valid'.
4112
Werner Lemberg32e05a62008-05-04 16:53:22 +00004113 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
4114 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
4115 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00004116
Werner Lemberg32e05a62008-05-04 16:53:22 +00004117 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
4118 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00004119
David Turner9fbfc6a2006-08-16 09:11:31 +000041202006-08-16 David Turner <david@freetype.org>
4121
Werner Lemberg12342992006-08-19 11:18:09 +00004122 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
4123 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00004124
Werner Lemberg12342992006-08-19 11:18:09 +00004125 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
4126 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00004127
David Turner33f5f242006-08-16 16:50:55 +00004128
Werner Lemberg830846e2008-07-27 06:27:21 +00004129 Improvements to native TrueType hinting. This is a first try,
Werner Lemberg12342992006-08-19 11:18:09 +00004130 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
4131
4132 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
4133 `extra_points2'.
4134
4135 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
4136 `orus'.
4137
4138 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
4139 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
4140 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
4141 handle `extra_points2'.
4142
4143 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
4144 Remove compiler warning.
4145 (cur_to_arg): Remove macro.
4146 (TT_Hint_Glyph): Updated.
4147 (TT_Process_Simple_Glyph): Handle `orus'.
4148
4149 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
4150 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
4151 (LOC_Ins_IUP): Renamed to...
4152 (IUP_WorkerRec): This.
4153 Add `orus' member.
4154 (Shift): Renamed to...
4155 (_iup_worker_shift): This.
4156 Updated.
4157 (Interp): Renamed to...
4158 (_iup_worker_interpolate): This.
4159 Updated to handle `orus'.
4160 (Ins_IUP): Updated.
4161
4162 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
4163 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00004164
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000041652006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4166
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00004167 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00004168 build ftvalid in ft2demos. This has been inadvertedly changed
4169 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00004170
41712006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4172
Werner Lemberg12342992006-08-19 11:18:09 +00004173 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
4174 Jens:
4175 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004176
Werner Lemberg32e05a62008-05-04 16:53:22 +00004177 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
4178 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004179
Werner Lemberg32e05a62008-05-04 16:53:22 +00004180 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004181
Jens Claudius9950adc2006-08-13 12:14:36 +000041822006-08-13 Jens Claudius <jens.claudius@yahoo.com>
4183
Werner Lemberg32e05a62008-05-04 16:53:22 +00004184 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00004185 T1_TOKEN_TYPE_KEY.
4186 (T1_FieldRec): Add `dict'.
4187 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
4188 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
4189 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00004190
Werner Lemberg32e05a62008-05-04 16:53:22 +00004191 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
4192 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004193
Werner Lemberg32e05a62008-05-04 16:53:22 +00004194 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004195
Werner Lemberg32e05a62008-05-04 16:53:22 +00004196 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00004197 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
4198 not T1_TOKEN_TYPE_ANY.
4199 (ps_parser_load_field): Make sure a token that should be a string or
4200 name is really a string or name.
4201 Avoid memory leak if a keyword has been already encountered and its
4202 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00004203 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00004204 T1_FIELD_XXX.
4205 (parse_dict): Ignore keywords that occur in the wrong dictionary
4206 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00004207
Werner Lemberg32e05a62008-05-04 16:53:22 +00004208 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004209
Werner Lemberg32e05a62008-05-04 16:53:22 +00004210 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
4211 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004212
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000042132006-07-18 Jens Claudius <jens.claudius@yahoo.com>
4214
4215 Move creation of field `buildchar' of T1_DecoderRec out of
4216 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
4217 of it.
4218
4219 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
4220 and `T1_Compute_Max_Advance'.
4221
Werner Lemberg32e05a62008-05-04 16:53:22 +00004222 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
4223 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004224
Werner Lemberg32e05a62008-05-04 16:53:22 +00004225 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
4226 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004227
Werner Lemberg32e05a62008-05-04 16:53:22 +00004228 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
4229 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004230 (cid_slot_load_glyph): Do not ignore failure when initializing the
4231 T1_Decoder.
4232
Werner Lemberg32e05a62008-05-04 16:53:22 +00004233 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004234 (t1_decoder_init): Remove initialization of fields `buildchar' and
4235 `len_buildchar'.
4236 (t1_decoder_done): Remove deallocation of field `buildchar'.
4237
4238 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
4239 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
4240 T1_Decoder.
4241 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
4242 `len_buildchar'; make sure to call finisher for T1_Decoder even in
4243 case of error.
4244
Werner Lemberg32e05a62008-05-04 16:53:22 +00004245 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
4246 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004247
Werner Lemberg32e05a62008-05-04 16:53:22 +00004248 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
4249 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004250
Werner Lemberg1a380e02006-07-14 18:28:08 +000042512006-07-14 Jens Claudius <jens.claudius@yahoo.com>
4252
Werner Lemberg32e05a62008-05-04 16:53:22 +00004253 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
4254 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
4255 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00004256 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
4257 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
4258 (T1_DecoderRec): New fields `buildchar' and `face'.
4259 (IS_PS_TOKEN): New macro.
4260
Werner Lemberg32e05a62008-05-04 16:53:22 +00004261 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
4262 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004263
Werner Lemberg32e05a62008-05-04 16:53:22 +00004264 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00004265 `default_design_vector' and `num_default_design_vector'.
4266
Werner Lemberg32e05a62008-05-04 16:53:22 +00004267 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
4268 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
4269 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004270
Werner Lemberg32e05a62008-05-04 16:53:22 +00004271 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
4272 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004273 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
4274 want to skip the array.
4275 (ps_tofixedarray): Allow `values' argument to be NULL if we just
4276 want to skip the array.
4277
Werner Lemberg32e05a62008-05-04 16:53:22 +00004278 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
4279 for (partially commented out) othersubrs 19-25, 27, and 28.
4280 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004281 (t1_decoder_done): Release new field `buildchar'.
4282
Werner Lemberg32e05a62008-05-04 16:53:22 +00004283 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00004284 functions.
4285 (t1_keywords): Register them.
4286 (t1_allocate_blend): Updated.
4287 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
4288 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
4289 (parse_dict): Remove `keyword_flags' argument.
4290 Use new macro IS_PS_TOKEN.
4291 Changed function so that later PostScript definitions override
4292 earlier ones.
4293 (t1_init_loader): Initialize new field `keywords_encountered'.
4294 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
4295 `len_buildchar'.
4296 Remove `keywords_flags'.
4297
Werner Lemberg32e05a62008-05-04 16:53:22 +00004298 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00004299 `keywords_encountered'.
4300 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
4301
Werner Lemberg32e05a62008-05-04 16:53:22 +00004302 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
4303 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004304
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000043052006-07-07 Werner Lemberg <wl@gnu.org>
4306
4307 Add many checks to protect against malformed PCF files.
4308
4309 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
4310 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
4311
4312 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
4313 data and check that tables don't overlap (using a simple
4314 bubblesort).
4315 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
4316 New macros which give the size of data structures in the data
4317 stream.
4318 (pcf_get_properties): Use rough estimates to get array size limits.
4319 Assign `face->nprops' and `face->properties' earlier so that a call
4320 to PCF_Face_Done can do the clean-up in case of error.
4321 Protect against invalid string offsets.
4322 (pcf_get_metrics): Clean up code.
4323 Adjust tracing message levels.
4324 Use rough estimate to get array size limit.
4325 (pcf_get_bitmaps): Clean up code.
4326 Adjust tracing message levels.
4327 Use rough estimates to get offset limits.
4328 (pcf_get_encodings): Adjust tracing message level.
4329 (pcf_get_accel): Clean up code.
4330
Werner Lemberg8eb05252006-06-27 06:20:01 +000043312006-06-26 Werner Lemberg <wl@gnu.org>
4332
4333 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
4334 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
4335
Werner Lemberg24703f82006-06-26 19:12:51 +000043362006-06-26 Jens Claudius <jens.claudius@yahoo.com>
4337
4338 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
4339 (t1_decoder_parse_charstrings): Operator with
4340 opcode 15 pops its two arguments.
4341 Handle the case where the pops of an othersubr may be part of a
4342 subroutine.
4343 Handle unknown othersubrs gracefully: count their operands and let
4344 the following pop operators push the operands as the results onto
4345 the Type1 stack.
4346 Improve handling of setcurrentpoint opcode.
4347
Werner Lembergc011f4c2006-06-26 09:40:00 +000043482006-06-25 Jens Claudius <jens.claudius@yahoo.com>
4349
4350 The Type 1 parser now skips over top-level procedures as required
4351 for a `Simplified Parser'. This makes the parser more robust as it
4352 doesn't poke around in PostScript code. Additionally, it makes the
4353 FontDirectory hackery in src/type1/t1load.c unnecessary.
4354
4355 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
4356 (skip_literal_string): Add FT_Error as return value.
4357 Handle escapes better.
4358 (skip_string): Add FT_Error as return value.
4359 Don't set `parser->error' but return error code directly.
4360 (skip_procedure): New function.
4361 (ps_parser_skip_PS_token): Handle procedures.
4362 Update code.
4363 (ps_parser_to_token): Update code.
4364 (ps_parser_load_field_table): Handle bbox entries also.
4365
4366 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
4367 Add commented-out code for synthetic fonts.
4368
Werner Lemberga2da05c2006-06-25 06:27:27 +000043692006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
4370
4371 Fix two hinting bugs as reported in
4372 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
4373
4374 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
4375 `first_point' member.
4376
4377 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
4378 `first_point'.
4379 (TT_Process_Composite_Glyph): Always untouch points.
4380
4381 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
4382 `first_point' and `last_point' in case of composite glyphs.
4383 (Ins_IUP): Fix computation of `end_point'.
4384
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000043852006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4386
Werner Lembergef3d2c22006-06-25 06:07:14 +00004387 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
4388 Mac. The original patch was written by David Sachitano and Lawrence
4389 Coopet, and modified by Sean McBride for MPW compatibility. Only
4390 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00004391
Werner Lembergef3d2c22006-06-25 06:07:14 +00004392 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
4393 Mac OS X platforms.
4394 (OS_INLINE): Undefine before definition.
4395 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
4396 FontAssociation table in FOND resource.
4397 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
4398 and fontSize at each entry of FontAssociation table in FOND
4399 resource.
4400 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
4401 ffStylOff of FamilyRecord header of FOND resource, the header,
4402 fontSize, fontID at each entry of FontAssociation table, and
4403 StyleMapping table.
4404 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00004405
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000044062006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4407
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004408 Public API of TrueTypeGX, OpenType, and classic kern table validator
4409 should return `FT_Err_Unimplemented_Feature' if validation service
4410 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00004411 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004412 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
4413
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004414 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
4415 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
4416 unavailable.
4417 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
4418 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004419
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004420 * src/base/ftotval.c (FT_OpenType_Validate): Return
4421 FT_Err_Unimplemented_Feature if OpenType validation service is
4422 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004423
Werner Lembergb10e45a2006-06-08 07:32:56 +000044242006-06-08 Werner Lemberg <wl@gnu.org>
4425
4426 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
4427 errors.
4428
David Turner5f1f7502006-06-07 05:11:50 +000044292006-06-07 David Turner <david@freetype.org>
4430
Werner Lemberg7d48cb02006-06-08 06:00:08 +00004431 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
4432 (T1_Read_Metrics): Fix memory leak which happened when the metrics
4433 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00004434
David Turner457b4a82006-06-06 08:14:14 +000044352006-06-06 David Turner <david@freetype.org>
4436
Werner Lemberg4836f952006-06-06 12:54:08 +00004437 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00004438
Werner Lemberg4836f952006-06-06 12:54:08 +00004439 We change `ps_unicodes_init' so that it also takes a
4440 `free_glyph_name' callback to release the glyph names returned by
4441 `get_glyph_name'
4442
4443 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
4444 Renamed to ...
4445 (PS_GetGlyphNameFunc): This.
4446 (PS_FreeGlyphNameFunc): New typedef.
4447 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
4448
4449 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
4450 argument.
4451 (cff_sid_free_glyph_name): New function.
4452 (cff_cmap_unicode_init): Updated.
4453
4454 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
4455
4456 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
4457 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00004458
4459
David Turner09717352006-06-04 14:33:08 +000044602006-06-04 David Turner <david@freetype.org>
4461
Werner Lembergd724f202006-06-04 15:17:41 +00004462 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
4463 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00004464 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00004465
Werner Lembergd724f202006-06-04 15:17:41 +00004466 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
4467 of `face->num_glyphs' which missed the last glyph, due to
4468 the offset-by-1 computation, since the PFR format doesn't
4469 guarantee that glyph index 0 corresponds to the `missing
4470 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00004471
Werner Lemberg33779662006-05-26 06:30:05 +000044722006-05-25 Werner Lemberg <wl@gnu.org>
4473
4474 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
4475 `-no-undefined'. Reported by Christian Biesinger.
4476
Werner Lemberg24773d62006-05-20 08:53:13 +000044772006-05-19 Brian Weed <bw@imaginengine.com>
4478
4479 * builds/win32/visualc/freetype.dsp: Release libraries no longer
4480 have debug information, and debug libraries use `C7 compatible'
4481 debug info.
4482
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000044832006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4484
Werner Lemberga6523a62006-05-20 08:47:01 +00004485 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00004486 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00004487
Werner Lemberga6523a62006-05-20 08:47:01 +00004488 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
4489 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00004490
4491 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00004492 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00004493
44942006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4495
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00004496 * build/unix/configure.raw: Add a fallback to disable Carbon
4497 dependency, if configured with no options on Mac OS X.
4498
44992006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4500
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00004501 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00004502 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00004503 the second part of Savannah bug #16590.
4504
Werner Lemberg545c4e52006-05-17 22:55:04 +000045052006-05-18 Werner Lemberg <wl@gnu.org>
4506
4507 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
4508 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
4509
David Turnerdc3ff312006-05-17 12:59:35 +000045102006-05-17 David Turner <david@freetype.org>
4511
Werner Lemberg545c4e52006-05-17 22:55:04 +00004512 This is a major patch used to drastically improve the performance of
4513 loading glyphs. This both speeds up loading the glyph vectors
4514 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00004515
Werner Lemberg545c4e52006-05-17 22:55:04 +00004516 We now use inline assembler code with GCC to implement `FT_MulFix',
4517 which is probably the most important function related to the
4518 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00004519
Werner Lemberg545c4e52006-05-17 22:55:04 +00004520 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00004521
4522
Werner Lemberg545c4e52006-05-17 22:55:04 +00004523 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
4524 `cursor' and `limit'.
4525
4526 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
4527 New functions.
4528 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
4529 [TEST]: Remove.
4530
4531 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
4532 code.
4533
4534 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
4535 `FT_ZERO'
4536 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
4537 (af_glyph_hints_reload: Rewrite recognition of weak points.
4538
4539 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
4540 constant values out of the loops.
4541
4542 * src/autofit/aftypes.h: Updated.
4543
4544 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
4545
4546 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
4547 product to get orientation.
4548
4549 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
4550 (FT_Stream_OpenGzip): Use it to handle small files directly in
4551 memory.
4552
4553 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
4554 Improve performance.
4555
4556 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
4557 `limit'.
4558
4559 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
4560 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
4561 exceedingly large values of number of contours. Speed up by
4562 reducing the number of loops.
4563
4564 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
4565
4566
4567 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
4568 used to detect rogue clients from 4 to 16. This is to prevent some
4569 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
4570 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00004571
Werner Lembergde2d90a2006-05-17 08:54:30 +000045722007-05-17 Werner Lemberg <wl@gnu.org>
4573
4574 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00004575 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00004576
45772006-05-16 Werner Lemberg <wl@gnu.org>
4578
4579 * docs/PROBLEMS: Updated icl issues.
4580
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004581----------------------------------------------------------------------------
4582
Werner Lembergf2e33c12009-01-06 06:59:36 +00004583Copyright 2006, 2007, 2008, 2009 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004584David Turner, Robert Wilhelm, and Werner Lemberg.
4585
4586This file is part of the FreeType project, and may only be used, modified,
4587and distributed under the terms of the FreeType project license,
4588LICENSE.TXT. By continuing to use, modify, or distribute this file you
4589indicate that you have read the license and understand and accept it
4590fully.
4591
4592
4593Local Variables:
4594version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00004595coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004596End: