blob: 4ce1e0925cd49f62310b30319d9b116b1c0dbcac [file] [log] [blame]
Werner Lemberg0552a492009-02-11 22:59:40 +000012009-02-11 Werner Lemberg <wl@gnu.org>
2
3 * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
4 Reported by David Bevan <dbevan@emtex.com>.
5
Werner Lembergc2cabd42009-02-09 22:20:27 +000062009-02-09 Werner Lemberg <wl@gnu.org>
7
8 Fix Savannah bug #25495.
9
10 * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
11 setting metrics and bbox values. This ensures that the check for a
12 font with neither a `glyf' table nor bitmap strikes can be performed
13 early enough to set metrics and bbox values too.
14
Werner Lemberg67bbcbd2009-02-04 07:59:16 +0000152009-02-04 Werner Lemberg <wl@gnu.org>
16
17 Fix Savannah bug #25480.
18
19 * builds/unix/freetype-config.in: For --ftversion, don't use $prefix
20 but $includedir.
21
Werner Lemberg763ae202009-01-30 23:45:53 +0000222009-01-31 Werner Lemberg <wl@gnu.org>
23
24 Minor docmaker improvements.
25
26 * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
27 code blocks.
28
Werner Lemberg1e5e7aa2009-01-25 16:27:04 +0000292009-01-25 Werner Lemberg <wl@gnu.org>
30
31 Fix SCANCTRL handling in TTFs.
32 Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
33
34 * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
35
Werner Lemberg5184ed62009-01-22 10:13:59 +0000362009-01-23 Werner Lemberg <wl@gnu.org>
37
38 Move FT_Get_FSType_Flags to a separate file.
39 Problem reported by Mickey Gabel <mickey@monfort.co.il>.
40
41 * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
42 * src/base/ftfstype.c: This new file.
43
44 * modules.cfg (BASE_EXTENSION): Add ftfstype.c.
45
46 * docs/INSTALL.ANY: Updated.
47
48 * builds/mac/*.txt, builds/amiga/*makefile*,
49 builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
50 Updated.
51
Suzuki, Toshiya (鈴木俊哉)5a009092009-01-22 03:50:37 +0000522009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
53
Suzuki, Toshiya (鈴木俊哉)a7c5de52009-01-22 04:00:32 +000054 * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
55 messages ending without "\n".
56
572009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
58
Suzuki, Toshiya (鈴木俊哉)5a009092009-01-22 03:50:37 +000059 Fix Savannah bug #25347.
60
61 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
62 the stream to the original position passed to this function,
63 when ft_lookup_PS_in_sfnt_stream() failed.
64 (Mac_Read_sfnt_Resource): Rewind the stream to the head of
65 sfnt resource body, when open_face_PS_from_sfnt_stream()
66 failed.
67
Werner Lembergc591c172009-01-19 08:55:15 +0000682009-01-19 Michael Lotz <mmlr@mlotz.ch>
69
70 Fix Savannah bug #25355.
71
72 * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
73 assembler code work with gcc 2.95.3 (as used by the Haiku project).
74 Add `cc' register to the clobber list.
75
Werner Lemberg59e2c8d2009-01-18 06:42:59 +0000762009-01-18 Werner Lemberg <wl@gnu.org>
77
Werner Lemberg3739f8b2009-01-18 13:13:17 +000078 Protect FT_Get_Next_Char.
79
80 * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
81 change from 2008-07-22.
82
83 Patch from Ronen Ghoshal <rghoshal@emtex.com>.
84
852009-01-18 Werner Lemberg <wl@gnu.org>
86
Werner Lemberg4f7ef402009-01-18 10:53:29 +000087 Implement FT_Get_Name_Index for SFNT driver.
88
89 * src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
90 (sfnt_service_glyph_dict): Use it.
91
92 Problem reported by Truc Truong <tructv@necsv.com>.
93
942009-01-18 Werner Lemberg <wl@gnu.org>
95
Werner Lemberg59e2c8d2009-01-18 06:42:59 +000096 * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
97 documentation. Problem reported by Truc Truong <tructv@necsv.com>.
98
99 * docs/CHANGES: Updated.
100
Werner Lembergfb4ddb22009-01-14 05:30:56 +00001012009-01-14 Werner Lemberg <wl@gnu.org>
102
Werner Lemberge22dd0b2009-01-14 06:52:18 +0000103 * Version 2.3.8 released.
104 =========================
105
106
107 Tag sources with `VER-2-3-8'.
108
109 * docs/VERSION.DLL: Update documentation and bump version number to
110 2.3.8.
111
112 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
113 builds/win32/visualc/freetype.dsp,
114 builds/win32/visualc/freetype.vcproj,
115 builds/win32/visualce/index.html,
116 builds/win32/visualce/freetype.dsp,
117 builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
118
119 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
120
121 * builds/unix/configure.raw (version_info): Set to 9:19:3.
122
123 * docs/release: Updated.
124
1252009-01-14 Werner Lemberg <wl@gnu.org>
126
Werner Lembergfb4ddb22009-01-14 05:30:56 +0000127 * builds/toplevel.mk (dist): Compress better.
128
Werner Lemberg24d72a12009-01-13 17:34:48 +00001292009-01-13 Werner Lemberg <wl@gnu.org>
130
Werner Lemberg9bf73ec2009-01-13 17:42:00 +0000131 * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
132 with C++.
133
1342009-01-13 Werner Lemberg <wl@gnu.org>
135
Werner Lemberg24d72a12009-01-13 17:34:48 +0000136 Don't use stdlib.h and friends directly.
137 Reported by Mickey Gabel <mickey@monfort.co.il>.
138
139 * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
140
141 * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
142 s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
143
144 * src/autofit/aftypes.h, src/autofit/afhints.c,
145 src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
146
147 * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
148
Werner Lemberge85baf42009-01-12 20:01:10 +00001492009-01-12 Werner Lemberg <wl@gnu.org>
150
Werner Lembergf47acf22009-01-12 20:11:14 +0000151 Avoid compiler warnings.
152
153 * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
154 Reported by Sean McBride <sean@rogue-research.com>.
155
1562009-01-12 Werner Lemberg <wl@gnu.org>
157
Werner Lemberge85baf42009-01-12 20:01:10 +0000158 Fix stdlib dependencies.
159
160 Problem reported by Mickey Gabel <mickey@monfort.co.il>.
161
162 * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
163
164 * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
165 s/memcpy/ft_memcpy/.
166 * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
167
Werner Lembergfc6d12a2009-01-11 10:55:45 +00001682009-01-11 Werner Lemberg <wl@gnu.org>
169
170 * docs/formats.txt: Add link to PCF specification.
171
Werner Lemberg214ca052009-01-11 11:45:54 +0000172 * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
173 documentation.
174
Suzuki, Toshiya (鈴木俊哉)759c07d2009-01-09 11:11:53 +00001752009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
176
177 * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
178 FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
179 FT_Int32, to match with the flags for FT_Load_Glyph().
180 * src/cff/cffdrivr.c (cff_get_advances): Ditto.
181 * src/truetype/ttdriver.c (tt_get_advances): Ditto.
182 * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
183 Ditto.
184 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
185 Ditto.
186
Suzuki, Toshiya (鈴木俊哉)68e16e02009-01-09 08:01:15 +00001872009-01-09 Daniel Zimmermann <netzimme@aol.com>
188
189 * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
Werner Lembergfc6d12a2009-01-11 10:55:45 +0000190 length check. From Savannah patch #6682.
Suzuki, Toshiya (鈴木俊哉)68e16e02009-01-09 08:01:15 +0000191
Werner Lemberg9d83d292009-01-09 07:58:08 +00001922009-01-09 Werner Lemberg <wl@gnu.org>
193
194 Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
195
196 * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
197 `count_offset' if it is zero (i.e., unused). Otherwise, the first
198 element of the structure which holds the data is erroneously
199 modified. Problem reported by Chi Nguyen <chint@necsv.com>.
200
Suzuki, Toshiya (鈴木俊哉)2dc10792009-01-09 05:07:15 +00002012009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
202
Suzuki, Toshiya (鈴木俊哉)a7c00b72009-01-09 07:21:16 +0000203 * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
204 FT_Get_Advances): Extend the type of load_flags from FT_UInt to
205 FT_UInt32, to pass 32-bit flags on 16bit platforms.
206 * src/cff/cffdrivr.c (cff_get_advances): Ditto.
207 * src/truetype/ttdriver.c (tt_get_advances): Ditto.
208 * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
209 Ditto.
210 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
211 Ditto.
212
2132009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
214
Suzuki, Toshiya (鈴木俊哉)2dc10792009-01-09 05:07:15 +0000215 * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
216 FT_Done_Face() cannot free all faces. If the list of the opened
217 faces includes broken face which FT_Done_Face() cannot free,
218 FT_Done_Library() retries FT_Done_Face() and it can fall into
219 an endless loop. See the discussion:
220 http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
221 http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
222
Werner Lemberga79de112009-01-07 08:27:37 +00002232009-01-07 Werner Lemberg <wl@gnu.org>
224
225 * docs/CHANGES: Document new key `a' in ftdiff.
226
Werner Lemberga86f1b92009-01-06 09:07:22 +00002272009-01-06 Werner Lemberg <wl@gnu.org>
228
Werner Lembergc3263722009-01-06 21:00:47 +0000229 * autogen.sh: Don't use GNUisms while calling sed. Problem reported
230 by Sean McBride.
231
2322009-01-06 Werner Lemberg <wl@gnu.org>
233
Werner Lemberga86f1b92009-01-06 09:07:22 +0000234 * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
235 and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
236 <chint@necsv.com>.
237
Werner Lembergc6791152009-01-06 07:07:39 +00002382009-01-06 Diego Pettenò <flameeyes@gmail.com>
239
240 * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
241 AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
242 this change can be found at
243 http://blog.flameeyes.eu/s/canonical-target.
244
245 From Savannah patch #6712.
246
Werner Lembergf2e33c12009-01-06 06:59:36 +00002472009-01-06 Sean McBride <sean@rogue-research.com>
248
249 * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
250
251 * src/base/ftmac.c: Remove some #undefs.
252
Werner Lemberg1ad384d2008-12-25 23:52:00 +00002532008-12-26 Werner Lemberg <wl@gnu.org>
254
255 Set `face_index' field in FT_Face for all font formats.
256
257 * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
258 sfnt/sfobjs.c (sfnt_init_face): Do it.
259
260 * docs/CHANGES: Document it.
261
Werner Lemberg66043b12008-12-22 18:09:48 +00002622008-12-22 Steve Grubb
263
264 * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
265 Patch from Savannah bug #25151.
266
Werner Lemberg478cca12008-12-21 17:38:23 +00002672008-12-21 Werner Lemberg <wl@gnu.org>
268
Werner Lemberg3c5ad952008-12-21 17:51:12 +0000269 * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
270 src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
271 s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
272 errors in the bytecode interpreter only.
273
2742008-12-21 Werner Lemberg <wl@gnu.org>
275
Werner Lemberg478cca12008-12-21 17:38:23 +0000276 * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
277 arguments.
278 Fix return value for non-PFR fonts. Both problems reported by Chi
279 Nguyen <chint@necsv.com>.
280
Werner Lembergce33a312008-12-21 10:29:30 +00002812008-12-21 anonymous
282
283 FT_USE_MODULE declares things as:
284
285 extern const FT_Module_Class
286
287 (or similar for C++). However, the actual types of the variables
288 being declared are often different, e.g., FT_Driver_ClassRec or
289 FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
290
291 This works with most C compilers (since those structs begin with an
292 FT_Module_Class struct), but technically it's undefined behavior.
293
294 To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
295 paragraph 2:
296
297 All declarations that refer to the same object or function shall
298 have compatible type; otherwise, the behavior is undefined.
299
300 (And they are not compatible types.)
301
302 Most C compilers don't reject (or even detect!) code which has this
303 issue, but the GCC LTO development branch compiler does. (It
304 outputs the types of the objects while generating .o files, along
305 with a bunch of other information, then compares them when doing the
306 final link-time code generation pass.)
307
308 Patch from Savannah bug #25133.
309
310 * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
311
312 * builds/amiga/include/freetype/config/ftmodule.h,
313 include/freetype/config/ftmodule.h, */module.mk: Updated to declare
314 pass correct types to FT_USE_MODULE.
315
Werner Lembergb6fa8452008-12-21 09:46:31 +00003162008-12-21 Hongbo Ni <hongbo@njstar.com>
317
318 * src/autofit/aflatin.c (af_latin_hint_edges),
319 src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
Werner Lembergce33a312008-12-21 10:29:30 +0000320 (af_cjk_hint_edges): Protect against division by zero. This fixes
321 Savannah bug #25124.
Werner Lembergb6fa8452008-12-21 09:46:31 +0000322
Werner Lemberg05bf6872008-12-18 06:32:10 +00003232008-12-18 Werner Lemberg <wl@gnu.org>
324
325 * docs/CHANGES: Updated.
326
3272008-12-18 Bevan, David <dbevan@emtex.com>
328
329 Provide API for accessing embedding and subsetting restriction
330 information.
331
332 * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
333 FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
334 FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
335 FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
336 macros.
337 (FT_Get_FSType_Flags): New function declaration.
338
339 * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
340
341 * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
342 (t42_keywords): Handle `FSType'.
343
344 * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
345
Werner Lembergc8c4cc82008-12-17 10:50:31 +00003462008-12-17 Werner Lemberg <wl@gnu.org>
347
Werner Lembergcfc514e2008-12-17 11:03:26 +0000348 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
349 macros so that copying the source code into an application works
350 out of the box.
351
3522008-12-17 Werner Lemberg <wl@gnu.org>
353
354 * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
Werner Lembergc8c4cc82008-12-17 10:50:31 +0000355 FT_GlyphSlot_Own_Bitmap to...
356 * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
357
358 * docs/CHANGES: Document it.
359
Werner Lembergb972a2a2008-12-11 08:55:48 +00003602008-12-10 Werner Lemberg <wl@gnu.org>
361
362 Generalize the concept of `tricky' fonts by introducing
363 FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
364 engine is necessary for correct rendering.
365
366 At the same time, slightly modify the behaviour of tricky fonts:
367 FT_LOAD_NO_HINTING is now ignored. To really force raw loading
368 of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
369 FT_LOAD_NO_AUTOHINT must be used.
370
371 Finally, tricky TrueType fonts always use the bytecode interpreter
372 even if the patented code is used.
373
374 * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
375 New macros.
376
377 * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
378 semantics as described above.
379
380 * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
381 code of ...
382 (tt_face_init): This function, now simplified and updated to new
383 semantics.
384
385 * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
386 fonts.
387
388 * docs/CHANGES: Document it.
389
Werner Lemberg1474f432008-12-09 06:51:56 +00003902008-12-09 Werner Lemberg <wl@gnu.org>
391
392 Really fix Savannah bug #25010: An SFNT font with neither outlines
393 nor bitmaps can be considered as containing space `glyphs' only.
394
395 * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
396 a `glyf' table is missing.
397
398 * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
399 `glyf' table but a non-zero `loca' entry.
400 (tt_loader_init): Handle missing `glyf' table.
401
402 * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
403
404 * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
405 nor bitmaps is scalable.
406
Werner Lemberg76fffcd2008-12-05 18:37:44 +00004072008-12-05 Werner Lemberg <wl@nu.org>
408
Werner Lemberge3b083c2008-12-05 22:50:40 +0000409 * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
410 fixes Savannah bug #21190 which also provides a basic patch.
411
4122008-12-05 Werner Lemberg <wl@nu.org>
413
Werner Lemberg76fffcd2008-12-05 18:37:44 +0000414 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
415 0x100 instead of 0x10000; the latter value is already occupied by
416 FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
417
418
419 Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
420 bug #25010.
421
422 * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
423 outlines nor bitmaps.
424
425 * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
426 is no table with glyphs.
427
428
429 * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
430 message.
431
Werner Lembergafe60162008-12-01 12:53:00 +00004322008-12-01 Werner Lemberg <wl@gnu.org>
433
434 GDEF tables need `glyph_count' too for validation. Problem reported
435 by Chi Nguyen <chint@necsv.com>.
436
437 * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
438 (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
439 `glyph_count'.
440
Werner Lemberg1a5d5612008-11-29 22:50:24 +00004412008-11-29 Werner Lemberg <wl@gnu.org>
442
443 * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
444 src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
445 src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
446 src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
447 src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
448 (Atari PureC).
449
Werner Lembergb2cb6ce2008-11-29 09:32:12 +00004502008-11-29 James Cloos <cloos@jhcloos.com>
451
Werner Lemberg8f9b7f52008-11-29 17:35:58 +0000452 * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
453 it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
454 in the /BlendDesignMap space).
455
4562008-11-29 James Cloos <cloos@jhcloos.com>
457
Werner Lembergb2cb6ce2008-11-29 09:32:12 +0000458 * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
459 whereas `design_points' is FT_Long*. Therefore, return blend rather
460 than design points.
461
Werner Lembergc7597ed2008-11-27 21:55:20 +00004622008-11-27 Werner Lemberg <wl@gnu.org>
463
464 * src/cff/cffparse.c (cff_parse_real): Handle more than nine
465 significant digits correctly. This fixes Savannah bug #24953.
466
Werner Lemberg0a263a82008-11-25 05:44:41 +00004672008-11-25 Daniel Zimmermann <netzimme@aol.com>
468
469 * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
470 before the NULL check. From Savannah patch #6681.
471
Werner Lemberg52cd0fc2008-11-24 08:15:05 +00004722008-11-24 Werner Lemberg <wl@gnu.org>
473
474 Fixes from the gnuwin32 port.
475
476 * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
477
478 * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
479
480 * src/psaux/psobjs.c (ps_table_add): Check `length'.
481
Werner Lemberg105721a2008-11-15 10:35:51 +00004822008-11-15 Werner Lemberg <wl@gnu.org>
483
484 * src/truetype/ttinterp.c (tt_default_graphics_state): The default
485 value for `scan_type' is zero, as confirmed by Greg Hitchcock from
486 Microsoft. Problem reported by Michal Nowakowski
487 <miszka@limes.com.pl>.
488
Werner Lemberg312043f2008-11-12 06:29:41 +00004892008-11-12 Tor Andersson <tor.andersson@gmail.com>
490
491 * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
492 This fixes Savannah bug #24819.
493
Werner Lemberge7aad022008-11-08 22:00:55 +00004942008-11-08 Werner Lemberg <wl@gnu.org>
495
496 * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
497 since OpenType version 1.5 has been released.
498
499 * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
500 TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
501 (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
502 TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
503 TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
504 TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
505 TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
506 TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
507 TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
508 TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
509 TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
510 TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
511 TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
512 macros for OpenType 1.5.
513
Werner Lembergfb4ddb22009-01-14 05:30:56 +00005142008-11-08 Wenlin Institute <wenlin@wenlin.com>
Werner Lembergb6192822008-11-08 07:28:39 +0000515
516 * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
517 slot->internal == NULL. Reported by Graham Asher.
518
Werner Lemberg95120922008-11-08 07:20:25 +00005192008-11-08 Werner Lemberg <wl@gnu.org>
520
521 * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
522 code so that memory allocation problems can be distinguished from
523 missing table entries. Reported by Graham Asher.
524 (GET_NAME): New macro.
525 (sfnt_load_face): Use it.
526
Werner Lembergc321b9b2008-11-05 14:34:29 +00005272008-11-05 Werner Lemberg <wl@gnu.org>
528
529 * devel/ftoption.h, include/freetype/config/ftoption.h
530 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
531 TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
532 `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
533 Reported in bug #441638 of bugzilla.novell.com.
534
535 * docs/CHANGES: Document it.
536
Werner Lemberge0ed07d2008-11-04 10:37:30 +00005372008-11-03 Werner Lemberg <wl@gnu.org>
538
539 * src/type1/t1load.c (parse_subrs): Use an endless loop. There are
540 fonts (like HELVI.PFB version 003.001, used on OS/2) which define
541 some `subrs' elements more than once. Problem reported by Peter
542 Weilbacher <mozilla@weilbacher.org>.
543
Werner Lembergf31072c2008-10-15 20:03:37 +00005442008-10-15 Graham Asher <graham.asher@btinternet.com>
545
546 * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
547
5482008-10-15 David Turner <david@freetype.org>
Suzuki, Toshiya (鈴木俊哉)69222662008-10-15 15:22:39 +0000549
550 * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
551 meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
552
Werner Lemberg822604c2008-10-14 07:28:03 +00005532008-10-14 Werner Lemberg <wl@gnu.org>
554
555 * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
556 Suggested by Bram Tassyns in Savannah patch #6651.
557
Werner Lemberg174b8de2008-10-12 11:47:29 +00005582008-10-12 Graham Asher <graham.asher@btinternet.com>
559
560 * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
561 `underline_position'.
562
5632008-10-12 Werner Lemberg <wl@gnu.org>
564
565 * docs/CHANGES: Updated.
566
Suzuki, Toshiya (鈴木俊哉)1464bc52008-10-09 05:44:23 +00005672008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
568
569 Fix Savannah bug #24468.
570
571 According to include/freetype/internal/ftobjs.h, the appropriate
572 type to interchange single character codepoint is FT_UInt32. It
573 should be distinguished from FT_UInt which can be 16bit integer.
574
575 * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
576 of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
577 (tt_cmap4_char_map_binary): Ditto.
578 (tt_cmap14_get_nondef_chars): Change the type of return value
579 from FT_UInt* to FT_UInt32*.
580
5812008-10-08 John Tytgat <John.Tytgat@esko.com>
Werner Lembergfa9d3992008-10-08 16:04:46 +0000582
583 Fix Savannah bug #24485.
584
585 * src/type1/t1load.c (parse_charstrings): Assure that we always have
586 a .notdef glyph.
587
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +00005882008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
589
Suzuki, Toshiya (鈴木俊哉)96d87be2008-10-05 03:08:10 +0000590 * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
591 * builds/mac/ftmac.c: Ditto.
592
5932008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
594
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000595 * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
Suzuki, Toshiya (鈴木俊哉)af48cb02008-10-05 02:53:06 +0000596 * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
597
5982008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
599
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000600 * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
601 the beginning of sfnt container.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +0000602 * src/sfnt/ttload.c (check_table_dir): Return
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000603 `SFNT_Err_Table_Missing' when sfnt table directory structure is
604 correct but essential tables for TrueType fonts (`head', `bhed' or
605 `SING') are missing. Other errors are returned by
606 SFNT_Err_Unknown_File_Format.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +0000607
608 * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000609 `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
610 enabled only when old mac font support is configured.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +0000611
Suzuki, Toshiya (鈴木俊哉)72eb2702008-10-04 17:49:58 +00006122008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
613
Werner Lemberg570b1fd2008-10-05 06:08:40 +0000614 * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
615 TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
616 the repeated calculations of these values in ftobjs.c and ftmac.c.
Suzuki, Toshiya (鈴木俊哉)21bd5162008-10-04 18:10:28 +0000617 * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
618 * src/base/ftmac.c: Ditto.
619 * builds/mac/ftmac.c: Ditto.
620
6212008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
622
Suzuki, Toshiya (鈴木俊哉)72eb2702008-10-04 17:49:58 +0000623 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
624 initialization of *is_sfnt_cid.
625
Werner Lemberg45489582008-10-04 11:39:03 +00006262008-10-04 Werner Lemberg <wl@gnu.org>
627
628 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
629 warnings.
630
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +00006312008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
632
633 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
634 (ft_lookup_PS_in_sfnt_stream): This.
Werner Lemberg45489582008-10-04 11:39:03 +0000635 (open_face_PS_from_sfnt_stream): New function. It checks whether
636 the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
637 font, then try to open a face for given face_index.
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +0000638 (Mac_Read_sfnt_Resource): Replace the combination of
639 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
640 `open_face_PS_from_sfnt_stream'.
641 * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
642 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
643 * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
644 `open_face_PS_from_sfnt_stream'.
645
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +00006462008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
647
Werner Lemberg45489582008-10-04 11:39:03 +0000648 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
649 FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
Suzuki, Toshiya (鈴木俊哉)bc2c4982008-10-03 12:28:52 +0000650
6512008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
652
Werner Lemberg45489582008-10-04 11:39:03 +0000653 * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
654 MrC compiler of MPW is used. These compilers do not define the
655 macro __APPLE__ by themselves.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000656 * builds/unix/ftconfig.in: Ditto.
657 * builds/vms/ftconfig.h: Ditto.
Werner Lemberg45489582008-10-04 11:39:03 +0000658 * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
659 include ftmac.c if FreeType 2 is built by MPW.
660 * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
661 enable shared functions for ftmac.c if FreeType 2 is built by MPW.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000662
663 * builds/mac/ftmac.c: Include ftbase.h.
664 (memory_stream_close): Removed.
665 (new_memory_stream): Ditto.
666 (open_face_from_buffer): Removed. Use the implementation in
667 ftobjs.c.
668 (ft_lookup_PS_in_sfnt): Ditto.
669
670 * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
Werner Lemberg45489582008-10-04 11:39:03 +0000671 included part of ftbase.c, to share the functions in ftobjs.c. The
672 rule compiling ftmac.c separately is removed and the rule copying
673 ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +0000674 * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
675 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
676 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
677
Werner Lembergb17fb112008-10-02 10:17:32 +00006782008-10-02 Bram Tassyns <bramt@enfocus.be>
679
680 * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
681 fixes Savannah bug #24430.
682
Werner Lemberg89a1a512008-10-02 06:48:10 +00006832008-10-02 Werner Lemberg <wl@gnu.org>
684
685 * builds/freetype.mk (BASE_H): Rename to...
686 (INTERNAL_H): This.
687 (FREETYPE_H): Updated.
688 * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
689 * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
690 * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
691 * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
692 * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
693 * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
694
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00006952008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
696
697 * src/base/ftbase.h: New file to declare the private utility
Werner Lembergcff15b02008-10-02 05:38:29 +0000698 functions shared by the sources of base modules. Currently,
699 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
700 share between ftobjs.c and ftmac.c.
701
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000702 * src/base/rule.mk: Add ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +0000703
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000704 * src/base/ftobjs.c: Include ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +0000705 (memory_stream_close): Build on any platform when old MacOS font
706 support is enabled.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000707 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +0000708 (open_face_from_buffer): Build on any platform when old MacOS font
709 support is enabled. The counting of the face in a font file is
710 slightly different between Carbon-dependent parser and Carbon-free
711 parser. They are merged with the platform-specific conditional.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000712 (ft_lookup_PS_in_sfnt): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +0000713
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000714 * src/base/ftmac.c: Include ftbase.h.
715 (memory_stream_close): Removed.
716 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +0000717 (open_face_from_buffer): Removed. Use the implementation in
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +0000718 ftobjs.c.
719 (ft_lookup_PS_in_sfnt): Ditto.
720
Werner Lembergce1bad02008-10-01 22:46:26 +00007212008-10-02 Werner Lemberg <wl@gnu.org>
722
723 * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
724 if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
725
Werner Lembergd03d8562008-10-01 22:39:05 +00007262008-10-01 Werner Lemberg <wl@gnu.org>
727
728 * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
729 (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
730 src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
731 (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
732 src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
733 Reported by Graham Asher.
734
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +00007352008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
736
Werner Lembergfce4e232008-10-01 04:41:46 +0000737 * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
Werner Lembergcff15b02008-10-02 05:38:29 +0000738 multi' on Mac OS X. If the macro $(ftmac_c) is defined,
Werner Lembergfce4e232008-10-01 04:41:46 +0000739 $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
740 lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
741 ftmac.c.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +0000742 * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
743 * builds/unix/configure.raw: Add procedure to set up appropriate
Werner Lembergfce4e232008-10-01 04:41:46 +0000744 value of $(ftmac_c) with the consideration of the availability of
745 Carbon framework.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +0000746
7472008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
748
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +0000749 * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
Werner Lembergfce4e232008-10-01 04:41:46 +0000750 * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
751 function for MPW building. It is synchronized the condition to
752 include ftmac.c source into ftbase.c.
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +0000753
Werner Lembergb4c810e2008-09-22 11:28:46 +00007542008-09-22 Werner Lemberg <wl@gnu.org>
755
756 * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
757 cff_decoder_parse_charstrings): Handle (invalid)
758 `callothersubr' and `pop' instructions.
759
Werner Lembergbd0f71a2008-09-22 08:55:44 +00007602008-09-22 John Tytgat <John.Tytgat@esko.com>
761
762 Fix Savannah bug #24307.
763
764 * include/freetype/internal/t1types.h (CID_FaceRec),
765 src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
766
7672008-09-21 Werner Lemberg <wl@gnu.org>
768
769 * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
770 `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
771 Stephan T. Lavavej <stl@nuwen.net>.
772
Suzuki, Toshiya (鈴木俊哉)815e1862008-09-21 18:33:57 +00007732008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
774
775 * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
776 by jam.
777 * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
778 jam.
779
Werner Lemberg6874d852008-09-20 11:50:47 +00007802008-09-20 Werner Lemberg <wl@gnu.org>
781
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000782 * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
783 passed to this function are already `normalized'. Problem reported
Werner Lembergbd0f71a2008-09-22 08:55:44 +0000784 by Stephan T. Lavavej <stl@nuwen.net>.
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000785
786 * docs/CHANGES: Document it.
787
7882008-09-20 Werner Lemberg <wl@gnu.org>
789
Werner Lemberg6874d852008-09-20 11:50:47 +0000790 * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
791 (FT_Outline_Decompose): Decorate with tracing messages.
792
793 * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
794 FT_DEBUG_LEVEL_TRACE.
795 [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
796 stdarg.h.
797
798 (FT_TRACE) [_STANDALONE_]: Remove.
799 (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
800 (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
801 (FT_ERROR) [_STANDALONE_]: Updated.
802
803 (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
804 Use FT_TRACE7.
805 (gray_dump_cells): Make it `static void'.
Werner Lemberg70f4cff2008-09-20 16:12:05 +0000806 (gray_convert_glyph): Use FT_TRACE7.
Werner Lemberg6874d852008-09-20 11:50:47 +0000807
808 (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
809 ftoutln.c.
810
811 * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
812 FT_ERROR_BASE.
813
Werner Lemberg22e970a2008-09-20 12:20:21 +0000814 * docs/formats.txt: Updated.
815
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +00008162008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
817
Suzuki, Toshiya (鈴木俊哉)3afbee82008-09-19 17:46:01 +0000818 * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
819 CID-keyed font support.
820 * builds/mac/ftmac.c: Ditto.
821
8222008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
823
Werner Lemberg22e970a2008-09-20 12:20:21 +0000824 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
825 sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
826 `open_face_from_buffer' frees the passed buffer if it cannot open a
827 face from the buffer, so the caller must not free it.
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000828
8292008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
830
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000831 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
832 for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
833 (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
Werner Lemberg22e970a2008-09-20 12:20:21 +0000834 table in sfnt table directory. It is used before loading TrueType
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +0000835 font driver.
836
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +0000837 * docs/CHANGES: Add note about the current status of sfnt-wrapped
838 Type1 and sfnt-wrapped CID-keyed font support.
839
Werner Lemberg55c40632008-09-18 11:20:12 +00008402008-09-18 Werner Lemberg <wl@gnu.org>
841
842 * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
843 orthogonality (ft_free and ft_sfree could belong to different memory
844 pools). This fixes Savannah bug #24297.
845
Suzuki, Toshiya (鈴木俊哉)0c0db3e2008-09-18 04:36:56 +00008462008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
847
848 * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
849 in ttags.h instead of numerical value 0x4F54544FL.
850
Werner Lemberg634df6e2008-09-16 07:25:31 +00008512008-09-16 Werner Lemberg <wl@gnu.org>
852
853 * src/cff/cffgload.h, src/cff/cffgload.c
854 (cff_decoder_set_width_only): Eliminate function call.
855
Werner Lemberged6c0e02008-09-15 07:49:40 +00008562008-09-15 George Williams <gww@silcom.com>
857
858 Fix Savannah bug #24179, reported by Bram Tassyns.
859
860 * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
861 of default values.
862
8632008-09-15 Werner Lemberg <wl@gnu.org>
864
865 * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
866 and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
867 prevent unconditional definition. This fixes Savannah bug #24241.
868
869 * src/psnames/pstables.h: Regenerated.
870
Werner Lembergb2116512008-09-12 16:27:48 +00008712008-09-13 Werner Lemberg <wl@gnu.org>
872
873 * autogen.sh, builds/unix/configure.raw,
874 include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
875 beautifying.
876
877 * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
878 include/freetype/ftlcdfil.h: Protect against FreeType 1.
879 Some other minor fixes.
880
881 * devel/ftoption.h: Synchronize with
882 include/freetype/config/ftoption.h.
883
Werner Lemberg8d3e6ec2008-09-11 08:29:14 +00008842008-09-11 Werner Lemberg <wl@gnu.org>
885
886 * src/base/ftbase.c: Include ftadvanc.c.
887
Werner Lembergb2116512008-09-12 16:27:48 +00008882008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000889
890 * builds/unix/ftconfig.in: Duplicate the cpp computation of
891 FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
Werner Lembergb2116512008-09-12 16:27:48 +0000892 (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
893 computation is disabled and the statically configured sizes are
894 used. This fixes Savannah bug #21250.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000895
Werner Lembergb2116512008-09-12 16:27:48 +0000896 * builds/unix/configure.raw: Add the checks to compare the cpp
897 computation results of the bit length of int and long versus the
898 sizes detected by running `configure'. If the results are
899 different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
900 results.
901 New option --{enable|disable}-biarch-config is added to define or
902 undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +0000903
Werner Lembergb2116512008-09-12 16:27:48 +00009042008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000905
Werner Lembergb2116512008-09-12 16:27:48 +0000906 * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
907 ApplicationService framework is missing. Although this value is not
908 used in building of FreeType2, it is written in `freetype2.pc' and
909 `freetype-config'.
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000910
Werner Lembergb2116512008-09-12 16:27:48 +00009112008-09-01 david turner <david@freetype.org>
David Turner28534d62008-09-01 21:35:21 +0000912
Werner Lembergb2116512008-09-12 16:27:48 +0000913 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
914 index to mean `use default cached FT_Face's charmap'. This fixes
915 Savannah bug #22625.
916 * include/freetype/ftcache.h: Document it.
David Turner17cd6872008-09-02 02:34:29 +0000917
Werner Lembergb2116512008-09-12 16:27:48 +0000918
919 Make FT_MulFix an inlined function. This is done to speed up
David Turnerf47d2632008-09-02 02:21:58 +0000920 FreeType a little (on x86 3% when loading+hinting, 10% when
Werner Lembergb2116512008-09-12 16:27:48 +0000921 rendering, ARM savings are more important though). Disable this by
922 undefining FT_CONFIG_OPTION_INLINE_MULFIX.
David Turnerf47d2632008-09-02 02:21:58 +0000923
Werner Lembergb2116512008-09-12 16:27:48 +0000924 Use of assembler code can now be controlled with
925 FT_CONFIG_OPTION_NO_ASSEMBLER.
David Turner28534d62008-09-01 21:35:21 +0000926
Werner Lembergb2116512008-09-12 16:27:48 +0000927 * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
928 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
929 implementation.
930 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
931 implementation taken from `ftcalc.c'.
932 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
933 which is defined to the platform-specific assembler implementation
934 of FT_MulFix.
935 [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
936 (FT_MULFIX_INLINED): New macro.
David Turner28534d62008-09-01 21:35:21 +0000937
Werner Lembergb2116512008-09-12 16:27:48 +0000938 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
939 FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
940
941 * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
942
943 * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
944 FT_MULFIX_INLINED.
945
946
947 Add a new header named FT_ADVANCES_H declaring some new APIs to
948 extract the advances of one or more glyphs without necessarily
949 loading their outlines. Also provide `fast loaders' for the
950 TrueType, Type1, and CFF font drivers (more to come later).
951
952 * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
953
954 * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
955 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
956
957 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
958 `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
959 respectively.
960
961 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
962 ftadvanc.c.
963
964 * src/cff/cffdrivr.c (cff_get_advances): New function.
965 (cff_driver_class): Register it.
966
967 * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
968 (cff_decoder_parse_charstrings): Handle `width_only'.
969 (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
970
971 * src/cff/cffgload.h (cff_decoder): New element `width_only'.
972 (cff_decoder_set_width_only): New declaration.
973
974 * src/truetype/ttdriver.c (tt_get_advances): New function.
975 (tt_driver_class): Register it.
976
977 * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
978 (TT_Get_HMetrics, TT_Get_VMetrics): This.
979 Update callers.
980 * src/truetype/ttgload.h: Declare them.
981
982 * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
983 function.
984 * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
985
986
987 Add checks for minimum version of the `autotools' stuff.
988
989 * autogen.sh: Implement it.
990 (get_major_version, get_minor_version, get_patch_version,
991 compare_to_minimum_version, check_tool_version): New auxiliary
992 functions.
993
994 * README.CVS: Document it.
995
9962008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)7981fe22008-08-29 06:09:03 +0000997
998 * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
999 ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
1000
Werner Lemberg4dbf00a2008-08-28 16:12:48 +000010012008-08-28 Werner Lemberg <wl@gnu.org>
1002
1003 * src/type1/t1load.c (parse_encoding): Protect against infinite
1004 loop. This fixes Savannah bug #24150 (where a patch has been posted
1005 too).
1006
Werner Lemberga4cb0d92008-08-23 19:54:06 +000010072008-08-23 Werner Lemberg <wl@gnu.org>
1008
1009 * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
1010 (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
1011 #24119.
1012
Werner Lembergb2116512008-09-12 16:27:48 +000010132008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +00001014
Werner Lemberga4cb0d92008-08-23 19:54:06 +00001015 * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
1016 even if passed library or arguments are invalid. This fixes a bug
1017 that an uninitialized stream is freed when an invalid library handle
1018 is passed. Originally proposed by Mike Fabian, 2008/08/18 on
1019 freetype-devel.
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +00001020 (FT_Open_Face): Ditto (stream).
1021 (load_face_in_embedded_rfork): Ditto (stream2).
1022
Werner Lembergb2116512008-09-12 16:27:48 +000010232008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +00001024
Werner Lemberg77f73582008-08-19 04:53:02 +00001025 * src/base/ftmac.c: Add a fallback to guess the availability of the
1026 `ResourceIndex' type. It is used when built without configure
1027 (e.g., a build with Jam).
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +00001028 * builds/mac/ftmac.c: Ditto.
Werner Lemberg77f73582008-08-19 04:53:02 +00001029 * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
1030 explicitly, even if `ResourceIndex' is unavailable.
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +00001031
Werner Lembergb2116512008-09-12 16:27:48 +000010322008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +00001033
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +00001034 * builds/unix/configure.raw: In checking of Mac OS X features,
Werner Lemberg77f73582008-08-19 04:53:02 +00001035 all-in-one header file `Carbon.h' is replaced by the minimum
1036 header file `CoreServices.h', similar to current src/base/ftmac.c.
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +00001037
Werner Lembergb2116512008-09-12 16:27:48 +000010382008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +00001039
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +00001040 * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
Werner Lemberg77f73582008-08-19 04:53:02 +00001041 sub-header when its code_count is 0. Many Japanese Dynalab fonts
1042 include such an empty sub-header (code_count == 0, first_code == 0
1043 delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +00001044
Werner Lemberg7fd20182008-08-04 18:46:37 +000010452008-08-04 Werner Lemberg <wl@gnu.org>
1046
1047 * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
1048 Savannah bug #23995.
1049
1050 * src/cid/cidload.c (parse_expansion_factor): New callback function.
1051 (cid_field_records): Use it for `ExpansionFactor'.
1052 * src/cod/cidtoken.h: Handle `ForceBold' keyword.
1053 Don't handle `ExpansionFactor'.
1054
Werner Lembergeba3eee2008-08-04 15:54:24 +000010552008-08-04 Bram Tassyns <bramt@enfocus.be>
1056
1057 * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
1058 resulted in incorrect scaling. This fixes Savannah bug #23973.
1059
Werner Lemberg17e69012008-08-04 05:45:41 +000010602008-08-04 Werner Lemberg <wl@gnu.org>
1061
1062 Be more tolerant w.r.t. invalid entries in SFNT table directory.
1063
1064 * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
1065 adjust table count.
1066 Add more trace messages.
1067 (tt_face_load_font_dir): Updated.
1068
Werner Lemberg806f5932008-07-30 05:28:37 +000010692008-07-30 Werner Lemberg <wl@gnu.org>
1070
1071 * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
1072 assume that the first argument on the stack is the bottom-most
1073 element. Two reasons:
1074
1075 o According to people from Adobe it is missing in the Type 2
1076 specification that pushing of additional, superfluous arguments
1077 on the stack is prohibited.
1078
1079 o Acroread in general handles fonts differently, namely by popping
1080 the number of arguments needed for a particular operand (as a PS
1081 interpreter would do). In case of buggy fonts this causes a
1082 different interpretation which of the elements on the stack are
1083 superfluous and which not.
1084
1085 Since there are CFF subfonts (embedded in PDFs) which rely on
1086 Acroread's behaviour, FreeType now does the same.
1087
Werner Lemberg7f30c0c2008-07-27 05:43:59 +000010882008-07-27 Werner Lemberg <wl@gnu.org>
1089
1090 Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
Werner Lemberg57586882009-01-06 09:40:22 +00001091 fixes Savannah bug #23940.
Werner Lemberg7f30c0c2008-07-27 05:43:59 +00001092
1093 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
1094 (EXTRA_GLYPH_LIST_SIZE): This.
1095 Increase by 2.
1096 (ft_wgl_extra_unicodes): Rename to...
1097 (ft_extra_glyph_unicodes): This.
1098 Add two code values.
1099 (ft_wgl_extra_glyph_names): Rename to...
1100 (ft_extra_glyph_names): This.
1101 Add two glyphs.
1102 (ft_wgl_extra_glyph_name_offsets): Rename to...
1103 (ft_extra_glyph_name_offsets): This.
1104 Add two offsets.
1105
1106 (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
1107 (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
1108 Updated.
1109 (ps_unicodes_init): Updated.
1110
Werner Lembergbdcfddc2008-07-26 21:22:20 +000011112008-07-26 Werner Lemberg <wl@gnu.org>
1112
1113 * src/cff/cffgload.c (cff_decoder_prepare,
1114 cff_decoder_parse_charstrings): Improve debug output.
1115
Werner Lemberge75da452008-07-22 20:59:59 +000011162008-07-22 Martin McBride <mmcbride@emtex.com>
1117
1118 * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
1119 tt_cmap4_char_map_binary): Handle fonts which treat the last segment
1120 specially. According to the specification, such fonts would be
1121 invalid but acroread accepts them.
1122
Werner Lemberg50997cd2008-07-16 21:03:40 +000011232008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
1124
1125 * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
1126
1127 * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
1128
1129 * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
1130 Fix compiler warning.
1131
Werner Lemberg3d2f06f2008-07-16 06:13:34 +000011322008-07-16 Werner Lemberg <wl@gnu.org>
1133
Werner Lemberge75da452008-07-22 20:59:59 +00001134 Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00001135
1136 * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
1137 Invert sids table only if `pure_cff' is set.
1138 * src/cff/cffload.h: Udpated.
1139
1140 * src/cff/cffobjs.c (cff_face_init): Updated.
Werner Lembergbd48d352008-07-16 07:05:11 +00001141 Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00001142
Werner Lemberge75da452008-07-22 20:59:59 +00001143 * docs/CHANGES: Updated.
1144
Werner Lemberg6b19e092008-07-09 06:20:12 +000011452008-07-09 Werner Lemberg <wl@gnu.org>
1146
1147 * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
1148 where num_locations < num_glyphs. Problem reported by Ding Li.
1149
Werner Lemberg4e33f9e2008-07-05 06:35:28 +000011502008-07-05 Werner Lemberg <wl@gnu.org>
1151
1152 Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
Werner Lembergca6fc732008-07-05 06:36:39 +00001153 newer. This fixes Savannah bug #23648.
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00001154
1155 * configure: zsh doesn't like ${1+"$@"}.
1156 Update needed GNU make version.
1157 * builds/toplevel.mk: Check for `$(eval ...)'.
1158 * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
1159 it.
1160
Werner Lemberg71b8f3f2008-07-04 07:22:06 +000011612008-07-04 Werner Lemberg <wl@gnu.org>
1162
1163 * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
1164 pixel, only check for dropouts if neither start nor end point lies
1165 on a pixel center. This fixes Savannah bug #23762.
1166
Werner Lembergbe54a682008-06-29 07:43:41 +000011672008-06-29 Werner Lemberg <wl@gnu.org>
1168
1169 * Version 2.3.7 released.
1170 =========================
1171
1172
1173 Tag sources with `VER-2-3-7'.
1174
1175 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1176 version number to 2.3.7.
1177
1178 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1179 builds/win32/visualc/freetype.dsp,
1180 builds/win32/visualc/freetype.vcproj,
1181 builds/win32/visualce/index.html,
1182 builds/win32/visualce/freetype.dsp,
1183 builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
1184
1185 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
1186
1187 * builds/unix/configure.raw (version_info): Set to 9:18:3.
1188
1189 * docs/release: Updated.
1190
Werner Lemberg4e7d9842008-06-27 22:26:11 +000011912008-06-28 Werner Lemberg <wl@gnu.org>
1192
Werner Lembergbe54a682008-06-29 07:43:41 +00001193 * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
Werner Lemberg4e7d9842008-06-27 22:26:11 +00001194 * src/ftcalc.c: Here. This fixes Savannah bug #23729.
1195
Werner Lemberga741c6f2008-06-27 06:58:48 +000011962008-06-27 Werner Lemberg <wl@gnu.org>
1197
1198 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
1199 Horizontal_Gray_Sweep_Drop): Test for intersections which
1200 degenerate to a single point can be ignored; this has been confirmed
1201 by Greg Hitchcock from Microsoft. (This was commented out code.)
1202
Werner Lemberg8a9b6392008-06-26 19:56:51 +000012032008-06-26 Werner Lemberg <wl@gnu.org>
1204
1205 Improve navigation in API reference.
1206
1207 * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
1208 (html_header_6): This.
1209 (html_header_3, html_header_3i, html_header_4, html_header_5,
1210 html_header_5t): New strings.
1211 (toc_footer_start, toc_footer_end): New strings.
1212 (HtmlFormatter::html_header): Updated.
1213 (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
1214 New strings.
1215 (HtmlFormatter::index_enter): Use `html_index_header'.
1216 (HtmlFormatter::index_exit): Print `html_footer'.
1217 (HtmlFormatter::toc_enter): Use `html_toc_header'.
1218 (HtmlFormatter::toc_exit): Print proper footer.
1219
1220 Convert ~ to non-breakable space.
1221
1222 * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
1223 Update header files accordingly.
1224
Werner Lembergb2116512008-09-12 16:27:48 +000012252008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001226
Werner Lemberg8a9b6392008-06-26 19:56:51 +00001227 * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
Werner Lemberge172c332008-06-25 22:21:42 +00001228 and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
1229 bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
1230 ResourceIndex type definition. The macro does not inform the type
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001231 availability.
1232 * src/base/ftmac.c: More parentheses are inserted to clarify the
Werner Lemberge172c332008-06-25 22:21:42 +00001233 conditionals to disable legacy APIs in `10.5 and later' cases. If
1234 HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001235
Werner Lemberg5563bea2008-06-24 05:44:28 +000012362008-06-24 Werner Lemberg <wl@gnu.org>
1237
Werner Lemberg830846e2008-07-27 06:27:21 +00001238 * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
1239 mode.
Werner Lembergce8853a2008-06-24 11:19:03 +00001240
1241 * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
1242 Draw_Sweep): No-dropout mode is value 2, not value 0.
1243 (Draw_Sweep): Really skip dropout handling for no-dropout mode.
1244
12452008-06-24 Werner Lemberg <wl@gnu.org>
1246
Werner Lemberg5563bea2008-06-24 05:44:28 +00001247 * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
1248 if it consists of one point only. Based on a patch from Savannah
1249 bug #23683 (from John Tytgat).
1250
Werner Lemberg745a4f42008-06-22 22:41:24 +000012512008-06-22 Werner Lemberg <wl@gnu.org>
1252
1253 * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
1254 with IS_HINTED.
1255
1256 * docs/CHANGES: Updated.
1257
Werner Lembergb2116512008-09-12 16:27:48 +000012582008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00001259
Werner Lemberg745a4f42008-06-22 22:41:24 +00001260 * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
1261 but LDFLAGS does not, import it to LDFLAGS. The option is used to
1262 specify non-default SDK on Mac OS X (e.g., universal binary SDK for
1263 Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
1264 recommends to add the option only to CFLAGS, LDFLAGS should include
1265 it because libfreetype.la is built with -no-undefined. This fixes a
1266 bug reported by Ryan Schmidt in MacPorts,
1267 http://trac.macports.org/ticket/15331.
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00001268
Werner Lemberg5df5dbb2008-06-22 13:40:08 +000012692008-06-21 Werner Lemberg <wl@gnu.org>
1270
1271 Enable access to the various dropout rules of the B&W rasterizer.
1272 Pass dropout rules from the TT bytecode interpreter to the
Werner Lemberg959cb8e2008-06-25 20:58:33 +00001273 rasterizer.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00001274
1275 * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
1276 FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
1277
1278 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
1279 Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
1280 OpenType specification.
1281 Fix mode 4 computation.
1282 (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
1283
Werner Lemberg959cb8e2008-06-25 20:58:33 +00001284 * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
1285 mode to FT_OUTLINE_XXX flags.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00001286
1287 * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
1288
Werner Lembergcd6dcca2008-06-19 06:20:21 +000012892008-06-19 Werner Lemberg <wl@gnu.org>
1290
Werner Lemberg5b631d82008-06-19 16:23:43 +00001291 * src/cff/cffobjs.c (cff_face_init): Compute final
1292 `dict->units_per_em' value before assigning it to
Werner Lembergbe54a682008-06-29 07:43:41 +00001293 `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
Werner Lemberg5b631d82008-06-19 16:23:43 +00001294 scaled incorrectly if the font matrix is non-standard. This fixes
1295 Savannah bug #23630.
1296
1297 * docs/CHANGES: Updated.
1298
12992008-06-19 Werner Lemberg <wl@gnu.org>
1300
Werner Lembergbe54a682008-06-29 07:43:41 +00001301 * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
1302 from 2008-06-19.
Werner Lembergcd6dcca2008-06-19 06:20:21 +00001303
Werner Lembergd57a5e92008-06-18 06:16:39 +000013042008-06-18 Werner Lemberg <wl@gnu.org>
1305
1306 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
1307 Reported by Peter Weilbacher <mozilla@weilbacher.org>.
1308
1309 * docs/CHANGES: Updated.
1310
Werner Lembergca947c22008-06-16 05:33:51 +000013112008-06-15 George Williams <gww@silcom.com>
1312
1313 * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
1314 `valid->extra2' to 1. This is undocumented in the OpenType 1.5
1315 specification.
1316
Werner Lembergad83e052008-06-15 11:06:12 +000013172008-06-15 Werner Lemberg <wl@gnu.org>
1318
1319 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
1320 from clobbering. Patch from Savannah bug report #23556.
1321
1322 * docs/CHANGES: Document it.
1323
Werner Lemberg102bb832008-06-10 04:57:19 +000013242008-06-10 Werner Lemberg <wl@gnu.org>
1325
Werner Lembergb796adb2008-06-10 17:15:35 +00001326 * autogen.sh: Add option `--install' to libtoolize.
1327
13282008-06-10 Werner Lemberg <wl@gnu.org>
1329
Werner Lemberg6174e172008-06-10 05:58:25 +00001330 * Version 2.3.6 released.
1331 =========================
1332
1333
1334 Tag sources with `VER-2-3-6'.
1335
1336 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1337 version number to 2.3.6.
1338
1339 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1340 builds/win32/visualc/freetype.dsp,
1341 builds/win32/visualc/freetype.vcproj,
1342 builds/win32/visualce/index.html,
1343 builds/win32/visualce/freetype.dsp,
1344 builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
1345
1346 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
1347
1348 * builds/unix/configure.raw (version_info): Set to 9:17:3.
1349
1350
1351 * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
1352 and `scale_y'.
1353 * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
1354
1355
1356 * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
1357 * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
1358
13592008-06-10 Werner Lemberg <wl@gnu.org>
1360
Werner Lemberg102bb832008-06-10 04:57:19 +00001361 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
1362 `clazz->done_face'.
1363
Werner Lemberg630e24d2008-06-09 21:20:18 +000013642008-06-09 VaDiM <s_sliva@rambler.ru>
1365
1366 Support debugging on WinCE. From Savannah patch #6536; this fixes
1367 bug #23497.
1368
1369 * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
1370 as a replacement for OutputDebugStringA (which WinCE doesn't have).
1371 Update all callers.
1372 (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
1373 environment variables.
1374
Werner Lemberga984fda2008-06-09 21:02:13 +000013752008-06-09 Werner Lemberg <wl@gnu.org>
1376
1377 * README.CVS: Updated.
1378
Werner Lemberg26bd7a22008-06-09 21:27:17 +00001379 * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
1380 for newer versions of autoconf and friends.
Werner Lemberga984fda2008-06-09 21:02:13 +00001381
Werner Lemberg7cb9ec02008-06-09 20:49:29 +000013822008-06-08 Werner Lemberg <wl@gnu.org>
1383
1384 * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
1385 `private_len' unsigned.
1386
1387 * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
1388 it as such.
1389 (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
1390
1391
1392 * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
1393
1394
1395 * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
1396 for sane value.
1397 Fix typo.
1398
1399
1400 * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
1401
1402
1403 * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
1404 `last_point'.
1405
1406
1407 * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
1408 `maxTwilightPoints'.
1409
Werner Lembergd77e7222008-06-05 22:07:19 +000014102008-06-06 Werner Lemberg <wl@gnu.org>
1411
1412 * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
1413 correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
1414
Werner Lemberg4c3cc762008-06-03 20:53:49 +000014152008-06-03 Werner Lemberg <wl@gnu.org>
1416
1417 * include/freetype/ftcache.h (FTC_FaceID): Change type back to
1418 FT_Pointer. Reported by Ian Britten <britten@caris.com>.
1419
Werner Lemberg8e3539b2008-06-02 13:53:54 +000014202008-06-02 Werner Lemberg <wl@gnu.org>
1421
1422 Emit header info for defined FreeType objects in reference.
1423
1424 * src/tools/docmaker/content.py (re_header_macro): New regexp.
1425 (ContentProcessor::__init__): Initialize new dictionary `headers'.
1426 (DocBlock::__init__): Collect macro header definitions.
1427
1428 * src/tools/docmaker/tohtml.py (header_location_header,
1429 header_location_footer): New strings.
1430 (HtmlFormatter::__init__): Pass `headers' dictionary.
1431 (HtmlFormatter::print_html_field): Don't emit paragraph tags.
1432 (HtmlFormatter::print_html_field_list): Emit empty paragraph.
1433 (HtmlFormatter::block_enter): Emit header info.
1434
14352008-06-01 Werner Lemberg <wl@gnu.org>
Werner Lemberg7493ea12008-06-02 07:24:36 +00001436
1437 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
1438 FT_INCREMENTAL_H): Added.
1439
Werner Lembergc94fa662008-05-27 23:24:07 +000014402008-05-28 Werner Lemberg <wl@gnu.org>
1441
Werner Lembergde0d0052008-05-28 21:51:15 +00001442 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
1443 looking for markup tags, return immediately as soon a single one is
1444 found.
1445
14462008-05-28 Werner Lemberg <wl@gnu.org>
1447
Werner Lembergc94fa662008-05-27 23:24:07 +00001448 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
1449 original, unscaled input values. Confirmed by Greg Hitchcock from
1450 Microsoft.
1451
Werner Lemberg35a90b72008-05-27 18:16:03 +000014522008-05-27 Werner Lemberg <wl@gnu.org>
1453
1454 * src/tools/docmaker/tohtml.py (block_footer_start,
1455 block_footer_middle): Beautify output.
1456
Werner Lembergc9381312008-05-25 12:19:34 +000014572008-05-25 Werner Lemberg <wl@gnu.org>
1458
1459 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
1460 trying to render into a zero-width/height bitmap, not an error code.
1461
Werner Lembergffa49652008-05-25 12:43:57 +00001462 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
1463 of the graphics state for subglyphs to...
1464 (TT_Hint_Glyph): This function.
1465 Hinting instructions for a composite glyph apparently refer to the
1466 just hinted subglyphs, not the unhinted, unscaled outline. This
1467 seems to fix Savannah bugs #20973 and (at least partially) #23310.
1468
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +000014692008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1470
1471 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +00001472 `aface' is returned by FT_New_Face_From_FOND(). The patch was
1473 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +00001474
Werner Lemberg16dc51f2008-05-18 17:36:15 +000014752008-05-18 Werner Lemberg <wl@gnu.org>
1476
Werner Lemberg5e8a3682008-05-18 21:49:02 +00001477 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
1478 correction for pixel boundary. Without this patch, the effect can
1479 be cumulative under certain circumstances, making glyphs taller and
1480 taller after each call. This fixes Savannah bug #19976.
1481
14822008-05-18 Werner Lemberg <wl@gnu.org>
1483
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001484 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
1485 This fixes Savannah bug #23280.
1486
1487 * docs/CHANGES: Updated.
1488
Werner Lembergb2116512008-09-12 16:27:48 +000014892008-05-18 David Turner <david@freetype.org>
David Turnera92cec52008-05-18 14:08:57 +00001490
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001491 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
1492 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
1493 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
1494 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +00001495
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001496 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +00001497
Werner Lemberg89d64fa2008-05-17 20:06:13 +000014982008-05-17 Sam Hocevar <samh>
1499
1500 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
1501 glyphs correctly. Patch from Savannah bug #23277.
1502
Werner Lemberga2f17cc2008-05-17 10:01:45 +000015032008-05-16 Werner Lemberg <wl@gnu.org>
1504
1505 * docs/CHANGES: Updated.
1506
15072008-05-16 Sergey Tolstov <stolstov@esri.com>
1508
1509 Improve support for WGL4 encoded fonts.
1510
1511 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
1512 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
1513 ft_wgl_extra_glyph_name_offsets): New arrays.
1514 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
1515 (ps_unicodes_init): Use them to add additional Unicode mappings.
1516
Werner Lemberg504645e2008-05-14 23:26:20 +000015172008-05-15 Werner Lemberg <wl@gnu.org>
1518
Werner Lembergbcc750e2008-05-16 04:50:00 +00001519 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1520 <op_closepath>: `closepath' without a path is a no-op, not an error
1521 (cf. the PS reference manual).
1522
1523 Reported by Martin McBride.
1524
15252008-05-15 Werner Lemberg <wl@gnu.org>
1526
Werner Lembergbcfcc712008-05-15 09:14:39 +00001527 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
1528
15292008-05-15 Werner Lemberg <wl@gnu.org>
1530
Werner Lemberg504645e2008-05-14 23:26:20 +00001531 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +00001532 which contains a single but empty entry. This is technically
1533 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +00001534
1535 Reported by Martin McBride.
1536
Werner Lemberge6e6ead2008-05-14 23:05:38 +000015372008-05-14 Werner Lemberg <wl@gnu.org>
1538
1539 Finish fix of scaling bug of CID-keyed CFF subfonts.
1540
1541 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
1542 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
1543 functions.
1544
1545 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
1546 provide global hinting data for both the top-font and all subfonts
1547 (with proper scaling).
1548
1549 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
1550 code from `cff_size_init'.
1551 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
1552 Use CFF_Internal and handle subfonts.
1553 (cff_face_init): Handle top-dict and subfont matrices correctly;
1554 apply some heuristic in case of unlikely matrix concatenation
1555 results. This has been discussed with people from Adobe (thanks
1556 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
1557 and not correct.
1558
1559 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
1560
1561 * src/cff/cffgload.c (cff_builder_init): Updated.
1562 (cff_decoder_prepare): Handle hints globals for subfonts.
1563 Update all callers.
1564 (cff_slot_load): Handling scaling of subfonts properly.
1565
1566 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
1567 (cff_parse_font_matrix): Use it.
1568
1569 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
1570 FT_ULong.
1571
1572 * docs/CHANGES: Document it.
1573
Werner Lembergfb572282008-05-13 12:10:04 +000015742008-05-13 Werner Lemberg <wl@gnu.org>
1575
1576 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
1577 Handle case `face_index < 0'.
1578 * docs/CHANGES: Document it.
1579
Werner Lemberg551dd3c2008-05-04 13:37:38 +000015802008-05-04 Werner Lemberg <wl@gnu.org>
1581
1582 First steps to fix the scaling bug of CID-keyed CFF subfonts,
1583 reported by Ding Li on 2008/03/28 on freetype-devel.
1584
1585 * src/base/cff/cffparse.c (power_tens): New array.
1586 (cff_parse_real): Rewritten to introduce a fourth parameter which
1587 returns the `scaling' of the real number so that we have no
1588 precision loss. This is not used yet.
1589 Update all callers.
1590 (cff_parse_fixed_thousand): Replace with...
1591 (cff_parse_fixed_scaled): This function. Update all callers.
1592
Werner Lemberg6d29f0f2008-05-03 15:54:15 +000015932008-05-03 Werner Lemberg <wl@gnu.org>
1594
1595 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
1596 transformation since it recursively calls FT_Load_Glyph. This fixes
1597 Savannah bug #23143.
1598
Werner Lembergde9479a2008-04-26 12:52:57 +000015992008-04-26 Werner Lemberg <wl@gnu.org>
1600
1601 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
1602 and `scale_y' as obsolete since they aren't used.
1603 * src/psaux/psobjs.c (t1_builder_init): Updated.
1604
1605 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
1606 obsolete since they aren't used.
1607 * src/cff/cffgload.c (cff_builder_init): Updated.
1608
Werner Lemberg4ebc8902008-04-13 22:06:12 +000016092008-04-14 Werner Lemberg <wl@gnu.org>
1610
1611 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
1612 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
1613 bug #22909.
1614
Werner Lemberg048b7562008-04-13 05:55:36 +000016152008-04-13 Werner Lemberg <wl@gnu.org>
1616
1617 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
1618 integer part is zero.
1619
Werner Lembergc32e83f2008-04-01 06:07:37 +000016202008-04-01 Werner Lemberg <wl@gnu.org>
1621
1622 Fix compilation with g++ 4.1 (with both `single' and `multi'
1623 targets).
1624
1625 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
1626 which is crossed by a `goto'.
1627
1628 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
1629
Werner Lemberg210d6182008-04-01 05:55:48 +000016302008-03-31 Werner Lemberg <wl@gnu.org>
1631
1632 Fix support for subsetted CID-keyed CFFs.
1633
1634 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
1635 FT_IS_CID_KEYED): New macros.
1636
1637 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
1638 maximum CID value in CID-keyed CFFs.
1639 Handle FT_FACE_FLAG_CID_KEYED flag.
1640
1641 * docs/CHANGES: Document it.
1642
1643
1644 Fix CFF font matrix calculation and improve precision.
1645
1646 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
1647 part is zero.
1648 (cff_parse_font_matrix): Simplify computation of `units_per_em';
1649 this prevents overflow also.
1650
1651
1652 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
1653
1654 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
1655 (cid_get_ros): New function.
1656 (cid_service_cid_info): New service structure.
1657 (cid_services): Register it.
1658
Werner Lemberga56e5262008-03-23 14:53:44 +000016592008-03-23 Werner Lemberg <wl@gnu.org>
1660
1661 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
1662
1663 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
1664 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
1665
Werner Lemberg85751172008-03-21 07:16:00 +000016662008-03-21 Laurence Darby <ldarby>
1667
1668 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
1669 Savannah bug #22675.
1670
Werner Lemberg3863c952008-03-13 06:38:37 +000016712008-03-13 Derek Clegg <dclegg@apple.com>
1672
1673 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
1674 Patch from Savannah bug #22541.
1675
Werner Lembergfc293932008-03-03 08:08:12 +000016762008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
1677
1678 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
1679 tt_cmap14_find_variant): Return correct value.
1680 (tt_cmap14_variant_chars): Fix check for `di'.
1681
Werner Lemberg5057e362008-02-29 07:23:02 +000016822008-02-29 Wermer Lemberg <wl@gnu.org>
1683
1684 * docs/CHANGES: Updated.
1685
Werner Lemberg7faa1552008-02-29 07:14:38 +000016862008-02-29 Wolf
1687
1688 Add build support for symbian platform. From Savannah bug #22440.
1689
1690 * builds/symbian/*: New files.
1691
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +000016922008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1693
Werner Lemberg9b9d3342008-02-21 23:22:06 +00001694 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
1695 synthesis. For any face of a specified FOND, always the name for
1696 the first face was used. Except of a FOND that refers multiple
1697 Type1 font files, wrong synthesized font names are not used at all,
1698 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +00001699
1700 * builds/mac/ftmac.c: Ditto.
1701
17022008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1703
Werner Lemberg31093cc2008-02-21 17:10:04 +00001704 * builds/unix/configure.raw: Split compiler option to link Carbon
1705 frameworks to one option for CoreServices framework and another
1706 option for ApplicationServices framework. The split options can be
1707 managed by GNU libtool to avoid unrequired duplication when FreeType
1708 is linked with other applications. Suggested by Daniel Macks,
1709 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00001710
Werner Lemberg28464c42008-02-18 20:34:42 +000017112008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
1712
1713 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
1714 from Savannah bug #22356.
1715
Werner Lemberg44c655b2008-02-17 08:22:08 +000017162008-02-17 Jonathan Blow <jon@number-none.com>
1717
1718 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
1719 Check for valid callback pointers.
1720
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +000017212008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1722
1723 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
1724 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +00001725 Kazmaier. According to the Resource Manager Reference,
1726 GetResource(), Get1Resource(), GetNamedResource(),
1727 Get1NamedResource() and RGetResource() set noErr but return NULL
1728 handle when they can not find the requested resource. These
1729 functions never return undefined values, so it is sufficient to
1730 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00001731
1732 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
1733
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000017342008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1735
1736 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +00001737 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001738 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +00001739
1740 * builds/unix/configure.raw: Print warning if configure is executed
1741 with options to specify Carbon functionalities explicitly.
1742
1743 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00001744 included automatically and manual replacement is required.
1745
Werner Lemberg744dd452008-02-11 08:22:40 +000017462008-02-11 Werner Lemberg <wl@gnu.org>
1747
1748 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
1749 (dos_setup), builds/freetype.mk (clean_project_dos,
1750 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
1751 Murdoch.
1752
Werner Lemberg4c933992008-01-18 05:32:55 +000017532008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
1754
1755 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
1756 mention intra-pixel algorithm.
1757
1758 * include/freetype/freetype.h (FT_Render_Mode): Mention that
1759 FT_Library_SetLcdFilter can be used to reduce fringes.
1760
Werner Lemberg1ddd1b72008-01-16 06:58:54 +000017612008-01-16 Werner Lemberg <wl@gnu.org>
1762
1763 * src/raster/ftraster.c (ft_black_render): Check `outline' before
1764 using it. Reported by Allan Yang.
1765
Werner Lembergeca1f272008-01-12 07:46:09 +000017662008-01-12 Werner Lemberg <wl@gnu.org>
1767
1768 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
1769
17702008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
1771
1772 * src/raster/ftraster.c (ft_black_init)
1773 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
1774
Werner Lembergbf391cb2008-01-10 08:47:08 +000017752008-01-10 Werner Lemberg <wl@gnu.org>
1776
1777 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
1778 where the number of contours in a simple glyph is zero (and which
1779 does contain an entry in the `glyf' table). This fixes Savannah bug
1780 #21990.
1781
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +000017822008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1783
1784 Formatting suggested by Sean McBride.
1785
1786 * builds/mac/ftmac.c: Formatting (tab expanded).
1787 * src/autofit/afindic.c: Ditto.
1788 * src/base/ftcid.c: Ditto.
1789 * src/base/ftmac.c: Ditto.
1790
Werner Lembergd2e15732007-12-30 23:49:14 +000017912007-12-30 Werner Lemberg <wl@gnu.org>
1792
1793 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
1794 correctly.
1795
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +000017962007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1797
1798 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +00001799 references in a resource. In HelveLTMM (resource-fork PostScript
1800 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
1801 of PFB chunks is not sorted; sorting the chunks by reference IDs is
1802 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001803
Werner Lembergd2e15732007-12-30 23:49:14 +00001804 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
1805 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001806
Werner Lembergd2e15732007-12-30 23:49:14 +00001807 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
1808 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001809
Werner Lembergd2e15732007-12-30 23:49:14 +00001810 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
1811 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001812
Werner Lembergd156cab2007-12-14 07:48:32 +000018132007-12-14 Werner Lemberg <wl@gnu.org>
1814
1815 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
1816 division too early; otherwise the most significant digit(s) of the
1817 final result are lost as the value is truncated to an integer. This
1818 fixes Savannah bug #21794 (where the patch has been posted too).
1819
Werner Lembergbd7e1c32007-12-06 17:17:30 +000018202007-12-06 Fix <4d876b82@gmail.com>
1821
1822 Pass options from one configure script to another as-is (not
1823 expanded). This is needed for options like
1824 --includedir='${prefix}/include'.
1825
1826 * builds/unix/detect.mk, configure: Prevent argument expansion in
1827 call to the (real) `configure' script.
1828
18292007-12-06 Werner Lemberg <wl@gnu.org>
1830
1831 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
1832 TT_USE_BYTECODE_INTERPRETER isn't defined.
1833
18342007-12-06 Werner Lemberg <wl@gnu.org>
1835
1836 There exist CFFs which contain opcodes for the Type 1 operators
1837 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
1838 However, it doesn't harm to support them.
1839
1840 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
1841 `cff_op_closepath.'
1842 (cff_argument_counts): Ditto.
1843
1844 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
1845 and 13 (hsbw) which are invalid in Type 2 charstrings.
1846
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +000018472007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1848
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001849 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
1850 support new pathname syntax `..namedfork/rsrc' to access a resource
1851 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
1852 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +00001853 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
1854 buffer size to store a pathname.
1855 * include/freetype/internal/ftrfork.h: Increment the number of
1856 resource fork guessing rule.
1857
18582007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1859
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001860 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001861 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001862 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00001863 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
1864
18652007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1866
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00001867 The documents and comments for Mac OS X are improved by Sean
1868 McBride.
1869
1870 * src/base/ftmac.c: Fix a comment.
1871 * include/freetype/ftmac.h: Ditto.
1872 * docs/INSTALL.MAC: Improve English and add comment on lowest
1873 system version specified by MACOSX_DEPLOYMENT_TARGET.
1874
Werner Lemberga10d2b72007-12-04 22:05:54 +000018752007-12-04 Werner Lemberg <wl@gnu.org>
1876
1877 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
1878 concatenate error codes.
1879 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
1880
Werner Lembergd496b922007-12-04 21:49:59 +000018812007-12-04 Graham Asher <graham.asher@btinternet.com>
1882
1883 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
1884 concatenate error codes.
1885
Werner Lembergc0da5232007-12-04 21:44:32 +000018862007-12-04 Sean McBride <sean@rogue-research.com>
1887
1888 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
1889 warning.
1890
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +000018912007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1892
Werner Lemberg6174e172008-06-10 05:58:25 +00001893 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
Werner Lemberg24fe6182007-11-23 09:18:07 +00001894 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
1895 cannot mmap() the specified file and cannot seek to head of the
1896 specified file, it returns NULL stream and FT_Open_New() returns the
1897 error immediately. On MacOS, most legacy MacOS fonts fall into such
1898 a scenario because their data forks are zero-sized and cannot be
1899 sought. To proceed to guessing of resource fork fonts, the
1900 functions for legacy MacOS font must properly handle the NULL stream
1901 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001902
Werner Lemberg24fe6182007-11-23 09:18:07 +00001903 * src/base/ftobjs.c (IsMacBinary): Return error
1904 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
1905 passed.
1906 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
1907 to fallback. Originally, legacy MacOS font is tested in the cases
1908 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
1909 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
1910 .dfont header is combined). Now the case of
1911 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001912
Werner Lemberg24fe6182007-11-23 09:18:07 +00001913 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
1914 skip FT_Stream_Seek(), which seeks to the head of stream, and
1915 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
1916 for a NULL stream causes a Bus error on Mac OS X.
1917 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001918 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00001919 (raccess_guess_apple_single): Ditto.
1920
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000019212007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1922
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +00001923 Fix for Carbon incompatibilities since Mac OS X 10.5,
1924 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001925
1926 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
1927
1928 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
Werner Lemberg830846e2008-07-27 06:27:21 +00001929 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001930 Carbon functions from a forked process is classified as unsafe
Werner Lemberg830846e2008-07-27 06:27:21 +00001931 by Apple. All Carbon-dependent functions should be deprecated.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001932
Werner Lembergf2e33c12009-01-06 06:59:36 +00001933 * src/base/ftmac.c: Use essential header files
1934 <CoreServices/CoreServices.h> and
1935 <ApplicationServices/ApplicationServices.h> instead of
1936 all-in-one header file <Carbon/Carbon.h>.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00001937
1938 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
1939 genuine macro PATH_MAX.
1940
1941 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
1942 is not found in Mac OS X 10.0.
1943
1944 Multi-character constants ('POST', 'sfnt' etc) are replaced by
1945 64bit constants calculated by FT_MAKE_TAG() macro.
1946
1947 For the index in the segment of resource fork, new portable
1948 type ResourceIndex is introduced for better compatibility.
1949 This type is since Mac OS X 10.5, so it is defined as short
1950 when built on older platforms.
1951
1952 (FT_ATSFontGetFileReference): If build target is only the systems
1953 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
1954
1955 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
1956 and newer or 64bit platform, because legacy type FSSpec type is
1957 removed completely.
1958
1959 (FT_New_Face_From_FSSpec): Ditto.
1960
19612007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +00001962
1963 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
1964 fixes Savannah bug #21485.
1965
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000019662007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +00001967
1968 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
1969 can handle the font at all, then check `face_index'. Otherwise, the
1970 driver might return the wrong error code. This fixes Savannah bug
1971 #21468.
1972
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000019732007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001974
1975 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +00001976 support for bit 8 of the `fsSelection' field in the `OS/2' table.
1977 MS is already using this; hopefully, this becomes part of OpenType
1978 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +00001979 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
1980 (WWS_SUBFAMILY).
1981
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000019822007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +00001983
1984 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
1985 Add `td.left' element to CSS.
1986 (toc_section_enter): Use it.
1987
David Turnercf432db2007-10-19 12:36:40 +000019882007-10-18 David Turner <david@freetype.org>
1989
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001990 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
1991 functions related to cmap type 14 support to the
1992 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +00001993
Werner Lemberg7f2425f2007-10-20 16:15:07 +00001994 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
1995 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
1996 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
1997 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
1998 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
1999
2000 Update documentation accordingly.
2001
2002 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
2003 Make the code a little more consistent with FreeType coding
2004 conventions and modify the cmap14 functions that returned a newly
2005 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +00002006 instead.
2007
Werner Lemberg7f2425f2007-10-20 16:15:07 +00002008 (TT_CMap14Rec): Provide array and auxiliary data for result.
2009 (tt_cmap14_done, tt_cmap14_ensure): New functions.
2010
2011 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
2012 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
2013 tt_cmap14_char_var_index, tt_cmap14_variants,
2014 tt_cmap14_char_variants, tt_cmap14_def_char_count,
2015 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
2016 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
2017
Werner Lemberg9a966b72007-10-15 17:21:32 +000020182007-10-15 George Williams <gww@silcom.com>
2019
2020 Add support for cmap type 14.
2021
2022 * devel/ftoption.h, include/freetype/config/ftoption.h
2023 (TT_CONFIG_CMAP_FORMAT_14): New macro.
2024
2025 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
2026 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
2027 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
2028 support function prototypes.
2029 (FT_CMap_ClassRec): Add them.
2030 Update all users.
2031
2032 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
2033 macro.
2034
2035 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
2036 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
2037 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
2038 functions.
2039
2040 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
2041 function.
2042 (FT_Set_Charmap): Disallow cmaps of type 14.
2043 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
2044 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
2045 FT_Get_Chars_Of_Variant): New API functions.
2046
2047 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
2048
2049 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
2050 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
2051 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
2052 tt_cmap14_find_variant, tt_cmap14_char_var_index,
2053 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
2054 tt_cmap14_char_variants, tt_cmap14_def_char_count,
2055 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
2056 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
2057 structures for cmap 14 support.
2058 (tt_cmap_classes): Register tt_cmap14_class_rec.
2059 (tt_face_build_cmaps): One more error message.
2060
2061 * docs/CHANGES: Mention cmap 14 support.
2062
Werner Lemberg74597cc2007-10-01 07:08:56 +000020632007-10-01 Werner Lemberg <wl@gnu.org>
2064
2065 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +00002066 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +00002067 This favours MS charmaps over Apple ones.
2068
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +000020692007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2070
Werner Lemberg9a966b72007-10-15 17:21:32 +00002071 * src/base/ftmac.c: Introduction of abstract `short' data types,
2072 ResFileRefNum and ResID. These types were introduced for Copland,
2073 then backported to MPW. The variables exchanged with FileManager
2074 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00002075 proposed by Sean McBride.
2076 * builds/mac/ftmac.c: Ditto.
2077
Werner Lembergabc44f52007-08-18 06:38:07 +000020782007-08-18 Werner Lemberg <wl@gnu.org>
2079
2080 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
2081 by Imran Yousaf. Fixes Savannah bug #20773.
2082
2083 (otv_Lookup_validate): Correct handling of LookupType. Found by
2084 Imran Yousaf. Fixes Savannah bug #20782.
2085
Werner Lemberg23a424f2007-08-17 20:16:44 +000020862007-08-17 George Williams <gww@silcom.com>
2087
2088 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
2089 SingleSubstFormat1.
2090
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000020912007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2092
2093 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
2094 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
2095 Found by Ryan Hill.
2096
Werner Lemberg3f1905b2007-08-11 15:45:32 +000020972007-08-11 George Williams <gww@silcom.com>
2098
2099 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
2100 (otv_Coverage_validate): Add fourth argument to pass an expected
2101 count value. Update all users.
2102 Check glyph IDs.
2103 (otv_ClassDef_validate): Check `StartGlyph'.
2104
2105 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
2106 checks.
2107
2108 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
2109 56 constants.
2110 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
2111 Check glyph IDs.
2112
Werner Lembergd76fe5a2007-08-08 06:38:06 +000021132007-08-08 Werner Lemberg <wl@gnu.org>
2114
2115 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
2116 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
2117 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
2118 appropriate. Reported by George.
2119
2120 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
2121
2122 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
2123
2124 * docs/CHANGES: Updated.
2125
21262007-08-08 George Williams <gww@silcom.com>
2127
2128 Add `MATH' validating support to otvalid module.
2129
2130 * include/freetype/tttags.h (TTAG_MATH): New macro.
2131 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
2132 (FT_VALIDATE_OT): Updated.
2133
2134 * src/otvalid/otmath.c: New file.
2135
2136 * src/otvalid/otvalid.c: Include otvmath.c.
2137 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
2138
Werner Lembergb6617882007-08-04 22:17:48 +000021392007-08-04 Werner Lemberg <wl@gnu.org>
2140
David Turnercf432db2007-10-19 12:36:40 +00002141 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +00002142 Fixes Savannah bug #20686.
2143
Werner Lembergd6752a62007-08-02 22:03:30 +000021442007-08-03 Werner Lemberg <wl@gnu.org>
2145
2146 * src/psnames/psmodule.c: Fix usage of
2147 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
2148
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +000021492007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2150
2151 * src/base/ftmac.c (open_face_from_buffer): The argument
2152 `driver_name' is typed as `const char*' to match with the
2153 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
2154 This is same with open_face_from_buffer in src/base/ftobjs.c.
2155 Found and fixed by Sean McBride.
2156
Werner Lemberg39c91ad2007-07-28 05:40:40 +000021572007-07-28 Werner Lemberg <wl@gnu.org>
2158
2159 * src/raster/ftraster.c (count_table): Make it conditional.
2160 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
2161 a preprocessor statement.
2162
Werner Lemberg71dd6872007-07-27 04:44:36 +000021632007-07-27 Werner Lemberg <wl@gnu.org>
2164
2165 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
2166 first usage. From Savannah patch #6115.
2167
Werner Lembergef915c32007-07-16 20:46:05 +000021682007-07-16 Werner Lemberg <wl@gnu.org>
2169
2170 * docs/CHANGES: Updated.
2171
21722007-07-16 Derek Clegg <dclegg@apple.com>
2173
2174 Add new service for getting the ROS from a CID font.
2175
2176 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
2177 * include/freetype/ftcid.h: New file.
2178
2179 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
2180 * include/freetype/internal/services/svcid.h: New file.
2181
2182 * src/base/ftcid.c: New file.
2183
2184 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
2185 (cff_get_ros): New function.
2186 (cff_service_cid_info): New service structure.
2187 (cff_services): Register it.
2188
2189 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
2190
2191 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
2192
2193 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
2194
Werner Lemberg2f109562007-07-11 05:32:00 +000021952007-07-11 Derek Clegg <dclegg@apple.com>
2196
2197 Add support for postscript name service to CFF driver.
2198
2199 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
2200 (cff_get_ps_name): New function.
2201 (cff_service_ps_name): New service structure.
2202 (cff_services): Register it.
2203
Werner Lembergb003b3e2007-07-08 07:13:12 +000022042007-07-07 Werner Lemberg <wl@gnu.org>
2205
2206 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
2207 `target'. Reported by Sean McBride.
2208
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000022092007-07-06 Werner Lemberg <wl@gnu.org>
2210
2211 * src/pfr/pfrcmap.c: Include pfrerror.h.
2212
2213 * src/autofit/afindic.c: Add some external declarations to pacify
2214 `make multi' compilation.
2215
2216 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
2217
2218 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
2219 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
2220 src/autofit/aflatin.c (af_latin_hints_compute_edges),
2221 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
2222 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
2223 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
2224
2225 * docs/release: Mention test compilation targets.
2226
Werner Lemberg986ea4b2007-07-04 04:53:15 +000022272007-07-04 Werner Lemberg <wl@gnu.org>
2228
2229 * docs/PROBLEMS: Mention that some PS based fonts can't be
2230 handled correctly by FreeType.
2231
Werner Lemberg3033f432007-07-04 14:12:19 +00002232 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
2233 recursion depth of 1. This was the maximum value in TrueType 1.0,
2234 and some older fonts don't set this field correctly.
2235
2236 * src/gxvalid/gxvmort1.c
2237 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
2238
Werner Lemberg3b0e5002007-07-03 04:48:19 +000022392007-07-03 Werner Lemberg <wl@gnu.org>
2240
2241 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
2242 `round' to pacify compiler.
2243
22442007-07-02 Werner Lemberg <wl@gnu.org>
2245
2246
2247 * Version 2.3.5 released.
2248 =========================
2249
2250
2251 Tag sources with `VER-2-3-5'.
2252
2253 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2254 version number to 2.3.5.
2255
2256 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2257 builds/win32/visualc/freetype.dsp,
2258 builds/win32/visualc/freetype.vcproj,
2259 builds/win32/visualce/index.html,
2260 builds/win32/visualce/freetype.dsp,
2261 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
2262
2263 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
2264
2265 * builds/unix/configure.raw (version_info): Set to 9:16:3.
2266
David Turner0ba89912007-07-01 09:34:04 +000022672007-07-01 David Turner <david@freetype.org>
2268
Werner Lemberge3be90b2007-07-02 14:58:58 +00002269 * include/freetype/freetype.h, src/base/ftpatent.c
2270 (FT_Face_SetUnpatentedHinting): New function to dynamically change
2271 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +00002272
Werner Lemberge3be90b2007-07-02 14:58:58 +00002273 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
2274 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +00002275
David Turner74cc0e92007-06-30 22:54:12 +000022762007-06-30 David Turner <david@freetype.org>
2277
Werner Lemberge3be90b2007-07-02 14:58:58 +00002278 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
2279 initialization.
David Turner74cc0e92007-06-30 22:54:12 +00002280
Werner Lemberge3be90b2007-07-02 14:58:58 +00002281 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
2282 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +00002283
Werner Lemberg7723dc32007-06-26 04:44:35 +000022842007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
2285
2286 Add autofit module for Indic scripts. This currently just reuses
2287 the CJK-specific functions.
2288
2289 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
2290 macro.
2291 * devel/ftoption.h: Synchronize with
2292 include/freetype/config/ftoption.h.
2293
2294 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
2295
2296 * src/autofit/afglobal.c, src/autofit/aftypes.h,
2297 src/autofit/autofit.c: Updated.
2298
2299 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
2300 (AUTOF_DRV_SRC): Updated.
2301
David Turner8f626b02007-06-22 22:22:38 +000023022007-06-23 David Turner <david@freetype.org>
2303
Werner Lemberg7854c4a2007-06-23 07:16:20 +00002304 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
2305 2007-06-16 that prevented the TrueType module from loading most
2306 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00002307
Werner Lemberg5b4d4352007-06-20 07:07:55 +000023082007-06-20 Werner Lemberg <wl@gnu.org>
2309
2310 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
2311 change.
2312
Werner Lemberg9fe58152007-06-19 07:57:30 +000023132007-06-19 Werner Lemberg <wl@gnu.org>
2314
2315 * src/type1/t1load.c (parse_encoding): Handle one more error.
2316
Werner Lemberg5a829392007-06-19 04:53:30 +000023172007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
2318
2319 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
2320 FNT_Err_Invalid_File_Format if file format was recognized but
2321 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
2322 Add verbose debug logs to make it easier to debug failing load
2323 attempts.
2324 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
2325 so return an error if requested face index is > 0.
2326 Do not do further attempt to load fonts if a previous attempt has
2327 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
2328 file format has been recognized but no fonts found in the file.
2329
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023302007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2331
2332 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
2333 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
2334 the compiler warnings against unused arguments.
2335 (FT_ATSFontGetFileReference): Ditto.
2336 (FT_GetFile_From_Mac_ATS_Name): Ditto.
2337 (FT_New_Face_From_FSSpec): Ditto.
2338 (lookup_lwfn_by_fond): Fix wrong comment.
2339 Replace `const StringPtr' by more appropriate type
2340 `ConstStr255Param'.
2341 FSRefMakePathPath always returns UTF8 POSIX pathname in
2342 Mach-O, thus HFS pathname support is dropped.
2343 (count_faces): Remove HLock and HUnlock which is not
2344 required on Mac OS X anymore.
2345 (FT_New_Face_From_SFNT): Ditto.
2346 (FT_New_Face_From_FOND): Ditto.
2347 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
2348 except of HFS pathname support and HLock/HUnlock.
2349 They are required on classic CFM environment.
2350
23512007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +00002352
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002353 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
2354 assertion.
2355 (ps_parser_to_bytes): Fix error message.
2356
Werner Lembergbb2510d2007-06-18 17:07:49 +00002357 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002358 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
2359 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +00002360 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +00002361 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002362
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023632007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002364
Werner Lembergf48aec72007-06-18 07:07:55 +00002365 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
2366 logic.
2367 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
2368 correctly.
2369 (ps_parser_load_field_table): Use `fields->array_max' instead of
2370 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
2371
Werner Lemberg95104a42007-06-18 07:33:10 +00002372 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
2373 2007-06-06.
2374
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023752007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +00002376
2377 * src/tools/ftrandom.c (font_size): New global variable.
2378 (TestFace): Use it.
2379 (main): Handle new option `--size' to set `font_size'.
2380 (Usage): Updated.
2381
Werner Lembergbe183eb2007-06-17 11:27:17 +00002382 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
2383 invalid font.
2384 (FNT_Load_Glyph): Protect against invalid bitmap width.
2385
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000023862007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +00002387
Werner Lemberge12ed562007-06-17 05:31:23 +00002388 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
2389 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +00002390
Werner Lemberge12ed562007-06-17 05:31:23 +00002391 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
2392 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +00002393
Werner Lemberge12ed562007-06-17 05:31:23 +00002394 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
2395 and `zp2'.
2396 (Ins_IP): Check argument ranges to reject bogus operations properly.
2397 (IUP_WorkerRec): Add `max_points' member.
2398 (_iup_worker_interpolate): Check argument ranges.
2399 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +00002400
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000024012007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +00002402
2403 * src/winfonts/winfnt.h: Add necessary structures for PE resource
2404 parsing.
2405 (WinPE32_HeaderRec): New structure.
2406 (WinPE32_SectionRec): New structure.
2407 (WinPE_RsrcDirRec): New structure.
2408 (WinPE_RsrcDirEntryRec): New structure.
2409 (WinPE_RsrcDataEntryRec): New structure.
2410 (FNT_FontRec): Remove unused `size_shift' field.
2411
2412 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
2413 loading bitmap .fon files in PE format.
2414
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000024152007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +00002416
2417 * builds/win32/ftdebug.c: Unify debug level handling with other
2418 platforms.
2419
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000024202007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +00002421
2422 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
2423 console as well as to the debugger.
2424
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000024252007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +00002426
2427 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
2428 cover all ranges which could possibly be handled by the aflatin
2429 module (since the default fallback for unknown ranges is now the
2430 afcjk module). It might be necessary to fine-tune this further by
2431 splitting off modules for Greek, Cyrillic, or other blocks.
2432
David Turnerb7920172007-06-11 05:37:35 +000024332007-06-11 David Turner <david@freetype.org>
2434
Werner Lemberg49e18b82007-06-11 21:15:09 +00002435 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
2436 incorrect segment linking computation. This was the root cause of
2437 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +00002438
2439
Werner Lemberg49e18b82007-06-11 21:15:09 +00002440 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
2441 to improve the Latin auto-hinter. Note that the new code is
2442 disabled by default since it is not stabilized yet.
2443
2444 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
2445 (disabled currently).
2446
2447 * src/autofit/afhints.c: Remove dead code.
2448 (af_axis_hints_new_edge): Add argument to handle segment directions.
2449 (af_edge_flags_to_string): New function.
2450 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
2451 option flags.
2452 (af_glyph_hints_reload): Add argument to handle inflections.
2453 Simplify.
2454 (af_direction_compute): Fine tuning.
2455 (af_glyph_hints_align_edge_points): Fix logic.
2456 (af_glyph_hints_align_strong_points): Do linear search for small
2457 edge counts.
2458 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
2459 (af_iup_shift): Handle zero `delta'.
2460
2461 * src/autofit/afhints.h: Updated.
2462 (AF_SORT_SEGMENTS): New macro (disabled).
2463 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
2464
2465 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
2466 argument to pass option flags for handling scripts.
2467 * src/autofit/afglobal.h: Updated.
2468
2469 * src/autofit/afcjk.c: Updated.
2470 * src/autofit/aflatin.c: Updated.
2471 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
2472
2473 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
2474 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
2475 Don't set `edge->dir'
2476 (af_latin_hint_edges): Add more logging.
2477
2478 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00002479
Werner Lembergf6c120f2007-06-11 04:55:58 +000024802007-06-11 Werner Lemberg <wl@gnu.org>
2481
Werner Lembergcf7b7642007-06-11 04:58:01 +00002482 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00002483
David Turner84c6f882007-06-10 20:51:04 +000024842007-06-10 David Turner <david@freetype.org>
2485
Werner Lembergf6c120f2007-06-11 04:55:58 +00002486 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
2487 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00002488
Werner Lembergf6c120f2007-06-11 04:55:58 +00002489 * include/freetype/config/ftoption.h: Clarify documentation
2490 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00002491
Werner Lembergf6c120f2007-06-11 04:55:58 +00002492
2493 Add new `FT_Face_CheckTrueTypePatents' API.
2494
2495 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
2496 declaration.
2497
2498 * include/freetype/internal/services/svttglyf.h,
2499 src/base/ftpatent.c: New files.
2500
2501 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
2502 New macro.
2503
2504 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
2505 `ttpload.h'.
2506 (tt_service_truetype_glyf): New service structure.
2507 (tt_services): Register it.
2508
2509 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
2510 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00002511
Werner Lemberg33db39e2007-06-08 06:30:29 +000025122007-06-08 Werner Lemberg <wl@gnu.org>
2513
David Turner84c6f882007-06-10 20:51:04 +00002514 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00002515 Fonts without a cmap must be handled correctly by FreeType (anything
2516 else would be a bug).
2517
2518
2519 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
2520 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
2521
Werner Lemberg88ab6382007-06-07 05:01:56 +000025222007-06-07 Werner Lemberg <wl@gnu.org>
2523
2524 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
2525 tt_sbit_decoder_load_image): Protect against integer overflows.
2526
2527
2528 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
2529 for `x_control' and `y_control'.
2530
Werner Lemberg2a2dca62007-06-06 04:39:37 +000025312007-06-06 Werner Lemberg <wl@gnu.org>
2532
2533 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
2534
Werner Lemberga8d65492007-06-06 04:47:49 +00002535
2536 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
2537 FreeType error.
2538
Werner Lemberg470210b2007-06-06 10:05:49 +00002539
2540 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
2541 `font_count'.
2542
2543
2544 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
2545
2546
2547 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
2548 `FT_Error'.
2549 Check `fd_index'.
2550 (cff_slot_load): Updated.
2551 * src/cff/cffgload.h: Updated.
2552
Werner Lemberg6c054752007-06-05 05:27:54 +000025532007-06-05 Werner Lemberg <wl@gnu.org>
2554
2555 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
2556 (pfr_glyph_load_simple): Convert assertion into normal FreeType
2557 error.
2558 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00002559 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
2560 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00002561
2562 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
2563
Werner Lembergf4bc3f42007-06-05 07:32:15 +00002564
Werner Lemberg470210b2007-06-06 10:05:49 +00002565 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00002566
Werner Lemberge5c14d92007-06-05 20:50:37 +00002567
2568 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
2569 in case of parsing error.
2570 (ps_parser_load_field): Updated.
2571
2572 * src/type1/t1load.c (parse_font_matrix): Updated.
2573
Werner Lembergad18b362007-06-04 07:04:05 +000025742007-06-04 Werner Lemberg <wl@gnu.org>
2575
2576 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
2577
2578 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
2579
Werner Lemberg3d507fe2007-06-03 16:54:55 +000025802007-06-03 Werner Lemberg <wl@gnu.org>
2581
Werner Lemberg99a320b2007-06-03 19:21:26 +00002582 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
2583 George Williams (with some modifications).
2584
25852007-06-03 Werner Lemberg <wl@gnu.org>
2586
Werner Lemberg3d507fe2007-06-03 16:54:55 +00002587 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
2588 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
2589 face == NULL. Suggested by Graham Asher.
2590
Werner Lembergce280a22007-06-03 05:58:30 +000025912007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
2592
2593 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
2594
Werner Lemberg5b591e42007-06-01 22:16:43 +000025952007-06-02 Werner Lemberg <wl@gnu.org>
2596
2597 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
2598 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
2599
2600 * src/bdf/bdflib.c (bdf_load_font): Use them.
2601
2602 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
2603
Werner Lembergb9933f42007-06-01 21:27:12 +000026042007-06-01 Werner Lemberg <wl@gnu.org>
2605
2606 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
2607 (FTC_CMapCache_Lookup): Remove unused code.
2608
Werner Lembergc793d902007-06-01 20:51:11 +000026092007-06-01 Sean McBride <sean@rogue-research.com>
2610
2611 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
2612 unused.
2613
Werner Lembergbebc7b12007-06-01 06:32:30 +000026142007-06-01 Werner Lemberg <wl@gnu.org>
2615
2616 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
2617 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00002618 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00002619
Werner Lembergcb37b3b2007-06-01 06:49:03 +00002620 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
2621 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
2622
Werner Lembergba03af62007-05-30 13:57:02 +000026232007-05-30 Werner Lemberg <wl@gnu.org>
2624
2625 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
2626 against too small binary data strings.
2627
2628 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
2629
David Turnerf0cd69c2007-05-28 15:42:09 +000026302007-05-28 David Turner <david@freetype.org>
2631
Werner Lemberg99e0c182007-05-29 07:00:23 +00002632 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
2633 transformation. This significantly reduces the loading time of CFF
2634 glyphs.
David Turner552a9562007-05-28 15:45:35 +00002635
Werner Lemberg99e0c182007-05-29 07:00:23 +00002636 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00002637
Werner Lemberg99e0c182007-05-29 07:00:23 +00002638 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
2639 hinting script to CJK, since it works well with more scripts than
2640 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
2641 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00002642
Werner Lemberg1c8980e2007-05-25 07:11:12 +000026432007-05-25 Werner Lemberg <wl@gnu.org>
2644
2645 * docs/CHANGES: Updated.
2646
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000026472007-05-24 Werner Lemberg <wl@gnu.org>
2648
2649 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
2650 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
2651
26522007-05-24 Graham Asher <graham.asher@btinternet.com>
2653
2654 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
2655 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
2656
David Turner0d0365e2007-05-22 09:53:44 +000026572007-05-22 David Turner <david@freetype.org>
2658
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002659 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
2660 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00002661
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002662
2663 Avoid heap blowup with very large .Z font files. This fixes
2664 Savannah bug #19910.
2665
2666 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
2667 `in_limit', `pad', `pad_bits', and `in_buff' members.
2668 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
2669 `buf_total' members.
2670
2671 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
2672 only one argument.
2673 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00002674
26752007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00002676
2677 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
2678 (ps_dimension_set_mask_bits): Remove `const'.
2679
David Turner0d0365e2007-05-22 09:53:44 +000026802007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00002681
2682 * src/sfnt/ttmtx.c (tt_face_get_metrics)
2683 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
2684
Werner Lembergb826fa72007-05-19 07:18:48 +000026852007-05-19 Derek Clegg <dclegg@apple.com>
2686
2687 Savannah patch #5929.
2688
2689 * include/freetype/tttables.h, src/base/ftobjcs.c
2690 (FT_Get_CMap_Format): New function.
2691
2692 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
2693 `format' member.
2694 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
2695 cmap_info->format.
2696
Werner Lemberg6f99c882007-05-19 07:01:49 +000026972007-05-19 Werner Lemberg <wl@gnu.org>
2698
2699 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
2700 before handling subglyphs so that it can be reinitialized each time.
2701 This fixes Savannah bug #19859.
2702
Werner Lemberg95bc9d32007-05-16 15:19:42 +000027032007-05-16 Werner Lemberg <wl@gnu.org>
2704
2705 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
2706 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
2707 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
2708 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
2709 tt_face_get_metrics): Fix type-punning issues.
2710
David Turner0a24bd22007-05-15 10:54:10 +000027112007-05-15 David Turner <david@freetype.org>
2712
2713 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00002714 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
2715 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00002716 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00002717 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00002718
Werner Lemberg607dec72007-05-15 06:49:37 +000027192007-05-15 Graham Asher <graham.asher@btinternet.com>
2720
2721 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
2722 variable.
2723 * src/autofit/afloader.c (af_loader_load_g): Ditto.
2724
2725 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
2726 (open_face_from_buffer): Initialize `stream'.
2727 (FT_Request_Metrics): Remove unused variable.
2728 Remove redundant `break' statements.
2729 (FT_Get_Track_Kerning): Remove unused variable.
2730
2731 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
2732 afm_parse_kern_data): Remove redundant
2733 `break' statements.
2734 (afm_parser_parse): Ditto.
2735 Don't use uninitialized variables.
2736
2737 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
2738 Use `|' operator instead of `^' to set it.
2739 Update all users.
2740
2741 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
2742 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
2743
2744 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
2745 comparison.
2746 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
2747 (TT_Load_Glyph): Remove unused variable.
2748
Werner Lemberg8d463a52007-05-13 16:01:55 +000027492007-05-13 Derek Clegg <dclegg@apple.com>
2750
2751 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
2752 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
2753
David Turner711cf842007-05-11 14:36:24 +000027542007-05-11 David Turner <david@freetype.org>
2755
Werner Lemberg56ceaa42007-05-14 18:53:58 +00002756 * src/cache/ftbasic.c, include/freetype/ftcache.h
2757 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
2758 functions that allow us to look up glyphs using an FTC_Scaler object
2759 to specify the size, making it possible to use fractional pixel
2760 sizes.
2761
2762 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
2763 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00002764
Werner Lemberg94be20e2007-05-09 20:02:55 +000027652007-05-09 Graham Asher <graham.asher@btinternet.com>
2766
2767 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
2768 (af_latin_metrics_scale_dim): Fix compiler warnings.
2769
Werner Lemberg41271032007-05-06 04:51:48 +000027702007-05-06 Werner Lemberg <wl@gnu.org>
2771
2772 * builds/win32/visualce/freetype.sln: Removed, as requested by
2773 Vincent.
2774
Werner Lembergdf49e692007-05-04 06:30:05 +000027752007-05-04 Vincent RICHOMME <richom.v@free.fr>
2776
2777 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
2778 PC targets.
2779
2780 * docs/CHANGES: Document them.
2781
27822007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00002783
2784 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
2785 mmap (which might happen on some RTOS). From Savannah patch #5909.
2786
Werner Lemberg106eaf12007-05-03 07:07:47 +000027872007-05-03 Werner Lemberg <wl@gnu.org>
2788
2789 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
2790 * include/freetype/freetype.h (FT_Set_Char_Size): Update
2791 documentation.
2792
Werner Lemberg1b5267d2007-04-28 21:06:15 +000027932007-04-28 Victor Stinner <victor.stinner@inl.fr>
2794
2795 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
2796 `cmap'.
2797
Werner Lembergcc712a22007-04-27 17:16:50 +000027982007-04-27 Werner Lemberg <wl@gnu.org>
2799
2800 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
2801 number of points in contours. Problem reported by Victor Stinner
2802 <victor.stinner@haypocalc.com>.
2803 (TT_Process_Simple_Glyph): Synchronize variable types.
2804
Werner Lemberg45bb18f2007-04-26 06:26:35 +000028052007-04-26 Werner Lemberg <wl@gnu.org>
2806
2807 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
2808 zero in case of error. This fixes Savannah bug #19689.
2809
Werner Lembergb2116512008-09-12 16:27:48 +000028102007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
David Turnera8b45e62007-05-11 14:10:30 +00002811
Werner Lemberg1c8980e2007-05-25 07:11:12 +00002812 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
2813 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00002814
Werner Lembergfcc1f472007-04-10 11:51:50 +000028152007-04-10 Martin Horak <horakm@centrum.cz>
2816
2817 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
2818 Ignore `hhea' table. This fixes Savannah bug #19261.
2819
Werner Lemberg14bf82e2007-04-10 04:09:49 +000028202007-04-09 Werner Lemberg <wl@gnu.org>
2821
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002822
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002823 * Version 2.3.4 released.
2824 =========================
2825
2826
2827 Tag sources with `VER-2-3-4'.
2828
2829 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2830 version number to 2.3.4.
2831
2832 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2833 builds/win32/visualc/freetype.dsp,
2834 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
2835
2836 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
2837
2838 * builds/unix/configure.raw (version_info): Set to 9:15:3.
2839
Werner Lembergf4a52a62007-04-09 08:40:11 +000028402007-04-09 Martin Horak <horakm@centrum.cz>
2841
2842 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
2843 memory stream to avoid a crash with the incremental memory
2844 interface (Savannah bug #19260).
2845
David Turner1dcb4442007-04-06 08:19:04 +000028462007-04-06 David Turner <david@freetype.org>
2847
Werner Lembergc81cf612007-04-06 09:28:23 +00002848 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
2849 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00002850
Werner Lemberg9f83e052007-04-05 02:28:23 +000028512007-04-04 Werner Lemberg <wl@gnu.org>
2852
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002853
Werner Lemberg9f83e052007-04-05 02:28:23 +00002854 * Version 2.3.3 released.
2855 =========================
2856
2857
2858 Tag sources with `VER-2-3-3'.
2859
2860 * docs/CHANGES: Mention CVE-2007-1351.
2861
David Turner7338ec22007-04-03 14:30:34 +000028622007-04-03 David Turner <david@freetype.org>
2863
2864 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00002865 if one of the resolution values is 0, treat it as if it were the
2866 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00002867
David Turnere6472c12007-04-02 13:13:54 +000028682007-04-02 David Turner <david@freetype.org>
2869
Werner Lemberg94f12272007-04-03 07:19:53 +00002870 Add special code to detect `extra-light' fonts and do not snap their
2871 stem widths too much to avoid bizarre hinting effects.
2872
2873 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
2874 `extra_light' members.
2875
2876 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
2877 them.
2878 (af_latin_metrics_scale_dim): Set `extra_light'.
2879 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00002880
David Turner3f539692007-03-28 14:53:40 +000028812007-03-28 David Turner <david@freetype.org>
2882
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002883 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00002884 padding.
2885
Werner Lemberga08b2172007-03-28 07:17:17 +000028862007-03-28 Werner Lemberg <wl@gnu.org>
2887
2888 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
2889 gracefully.
2890 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00002891 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00002892 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
2893 number of code points in Unicode.
2894
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002895 * builds/win32/visualc/index.html,
2896 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002897 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002898 s/232/233/.
2899
2900 * docs/CHANGES: Mention ftdiff.
2901
David Turner3b242d32007-03-26 12:03:04 +000029022007-03-26 David Turner <david@freetype.org>
2903
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002904 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
2905 corresponding code.
2906 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00002907
Werner Lemberga08b2172007-03-28 07:17:17 +00002908 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002909 computations in order to ignore single-point contours. These are
2910 never rasterized and correspond in certain fonts to mark-attach
2911 points that are very far from the glyph's real outline, ruining the
2912 computation.
David Turnerf58caa02007-03-26 12:39:25 +00002913
Werner Lemberga08b2172007-03-28 07:17:17 +00002914 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00002915 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00002916 Otherwise code that uses them will most certainly ruin the fixed
2917 advance property.
David Turner23553d62007-03-26 13:37:17 +00002918
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002919 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
2920 documentation and bump version number to 2.3.3.
2921
2922 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
2923
2924 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00002925
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000029262007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2927
Werner Lemberg644b1ad2007-03-28 21:17:11 +00002928 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
2929 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002930 * builds/vms/ftconfig.h: Ditto.
2931 * include/freetype/config/ftconfig.h: Ditto.
2932
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000029332007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2934
Werner Lemberg14ffe092007-03-22 06:12:43 +00002935 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
2936 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00002937 proposed by Sean McBride:
2938 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2939
29402007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2941
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002942 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
2943 setjmp, proposed by Sean McBride:
2944 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
2945
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000029462007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2947
Werner Lembergc9f6c662007-03-21 13:30:14 +00002948 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
2949 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
2950 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002951
David Turner74c34eb2007-03-18 07:19:31 +000029522007-03-18 David Turner <david@freetype.org>
2953
Werner Lembergc9f6c662007-03-21 13:30:14 +00002954 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
2955 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00002956
Werner Lembergc9f6c662007-03-21 13:30:14 +00002957 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00002958
David Turner89020d92007-03-17 17:48:57 +000029592007-03-17 David Turner <david@freetype.org>
2960
Werner Lembergc9f6c662007-03-21 13:30:14 +00002961 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
2962 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00002963
Werner Lemberg25d592a2007-03-09 07:59:35 +000029642007-03-09 Werner Lemberg <wl@gnu.org>
2965
Werner Lemberg3b0e5002007-07-03 04:48:19 +00002966
Werner Lemberg25d592a2007-03-09 07:59:35 +00002967 * Version 2.3.2 released.
2968 =========================
2969
2970
2971 Tag sources with `VER-2-3-2'.
2972
2973 * builds/win32/visualc/index.html,
2974 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002975 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00002976 s/231/232/.
2977
David Turner3a51afa2007-03-08 10:50:38 +000029782007-03-08 David Turner <david@freetype.org>
2979
Werner Lemberg25d592a2007-03-09 07:59:35 +00002980 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00002981
Werner Lemberg25d592a2007-03-09 07:59:35 +00002982 * builds/unix/configure.raw (version_info): Set to 9:13:3.
2983
2984 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
2985
2986 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00002987
Werner Lemberg1e259de2007-03-08 15:39:21 +00002988 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
2989 function to work properly, over-writing user-provided buffers in
2990 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00002991
David Turner121cad52007-03-08 16:43:50 +00002992
Werner Lemberg3d92f082007-03-06 11:59:24 +000029932007-03-05 Werner Lemberg <wl@gnu.org>
2994
2995 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
2996 macro for `strstr'.
2997
2998 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
2999 `trick_names', as suggested by Ivan Nincic.
3000
David Turner085bc6e2007-03-05 17:40:03 +000030012007-03-05 David Turner <david@freetype.org>
3002
Werner Lembergd112cf02007-03-06 12:06:56 +00003003 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
3004 case FT_Init_FreeType fails for some reason. Problem reported by
3005 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00003006
Werner Lembergd112cf02007-03-06 12:06:56 +00003007 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
3008 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
3009 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
3010 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00003011
Werner Lembergd112cf02007-03-06 12:06:56 +00003012 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
3013 signed values, not unsigned ones. Problem reported by Johannes
3014 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00003015
David Turner601aefe2007-02-21 16:47:49 +000030162007-02-21 David Turner <david@freetype.org>
3017
Werner Lembergde5e6862007-02-25 21:06:43 +00003018 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
3019 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00003020
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000030212007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3022
3023 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
3024 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
3025 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
3026
Werner Lemberga0915172007-02-16 08:12:50 +000030272007-02-16 Werner Lemberg <wl@gnu.org>
3028
3029 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
3030 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
3031
David Turner2c4500e2007-02-14 15:08:47 +000030322007-02-14 David Turner <david@freetype.org>
3033
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00003034 It seems that the following changes fix most of the known
3035 interpreter problems with my fonts, but more testing is needed,
3036 though.
3037
3038 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
3039 (TT_MulFix14): Rewrite.
3040 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
3041 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00003042
Werner Lembergc6a14082007-02-12 22:08:15 +000030432007-02-12 Werner Lemberg <wl@gnu.org>
3044
3045 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
3046 warnings.
3047
3048 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
3049 (bdf_interpret_style): Ditto.
3050
David Turnerc0f9c4a2007-02-12 14:55:03 +000030512007-02-12 David Turner <david@freetype.org>
3052
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00003053 Simplify projection and dual-projection code interface.
3054
Werner Lemberg406d25f2007-02-12 22:01:18 +00003055 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
3056 FT_Vector' as argument type.
3057 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
3058 Updated.
3059 (CUR_fast_project, CUR_fast_dualproj): New macros.
3060 (Project, Dual_Project, Project_x, Project_y): Updated.
3061 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
3062 macros.
3063
3064
3065 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
3066 adjustments for the non-light auto-hinted modes. Gets rid of
3067 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00003068
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00003069 * src/autofit/aflatin.c (af_latin_hints_link_segments,
3070 af_latin_hints_compute_edges): Slight optimization of the segment
3071 linker and better handling of serif segments to get rid of broken
3072 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00003073
David Turnerc0f9c4a2007-02-12 14:55:03 +00003074
Werner Lemberg442bfb82007-02-12 21:44:10 +00003075 Introduce new string functions and the corresponding macros to get
3076 rid of various uses of strcpy and other `evil' functions, as well as
3077 to simplify a few things.
3078
3079 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
3080 ft_mem_strcpyn): New declarations.
3081 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
3082 macros.
3083 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
3084 functions.
3085
3086 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
3087 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
3088 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
3089 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
3090 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
3091 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
3092 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
3093 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00003094
Werner Lemberg406d25f2007-02-12 22:01:18 +00003095 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
3096
Werner Lemberg582067d2007-02-11 15:03:05 +000030972007-02-11 Werner Lemberg <wl@gnu.org>
3098
3099 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
3100 non-spacing glyphs.
3101
Werner Lemberg8f474532007-02-07 08:31:01 +000031022007-02-07 Tom Parker <palfrey@tevp.net>
3103
3104 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
3105 pointer.
3106
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000031072007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3108
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003109 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
3110 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00003111 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003112 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
3113 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
3114 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
3115 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00003116
3117 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
3118 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003119 * builds/mac/ftmac.c: Ditto.
3120
31212007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3122
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00003123 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00003124 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00003125 #include <ftmac.c>.
3126
31272007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3128
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00003129 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
3130 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
3131 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
3132 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
3133 FT_GetFilePath_From_Mac_ATS_Name.
3134 * builds/mac/ftmac.c: Ditto.
3135
31362007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3137
Werner Lembergdcbb7082007-02-08 08:54:09 +00003138 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00003139 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
3140 for passing to FT_New_Face_From_FSSpec.
3141
31422007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3143
Werner Lembergdcbb7082007-02-08 08:54:09 +00003144 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003145 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00003146
3147 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
3148 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003149 * builds/mac/ftmac.c (OS_INLINE): Ditto.
3150
Werner Lemberg313d7772007-02-01 08:10:45 +000031512007-02-01 Werner Lemberg <wl@gnu.org>
3152
3153 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
3154 Explain why applications shouldn't use it. Found by Alexei.
3155
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000031562007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003157
3158 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
3159 message.
3160
3161 * src/gxvalid/gxvmort1.c
3162 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
3163 message.
3164
Werner Lemberg53935932007-01-31 08:53:02 +000031652007-01-31 Werner Lemberg <wl@gnu.org>
3166
3167
3168 * Version 2.3.1 released.
3169 =========================
3170
3171
3172 Tag sources with `VER-2-3-1-FINAL'.
3173
3174 * builds/win32/visualc/freetype.dsp,
3175 builds/win32/visualc/freetype.vcproj: s/230/231/.
3176 * builds/win32/visualc/index.html: s/221/231/.
3177
3178 * vms_make.com: Add `ftgasp'.
3179
David Turnera7ee6082007-01-30 10:33:53 +000031802007-01-30 David Turner <david@freetype.org>
3181
Werner Lemberg53935932007-01-31 08:53:02 +00003182 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00003183
Werner Lemberg53935932007-01-31 08:53:02 +00003184 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00003185
Werner Lemberg25d592a2007-03-09 07:59:35 +00003186 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00003187 s/2.3.0/2.3.1/.
3188
3189 * builds/unix/configure.raw (version_info): Set to 9:12:3.
3190
3191
3192 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
3193 (af_loader_load_g): Disable the warper (i.e., the light hinting
3194 improvements) to make a 2.3.1 bugfix release before introducing a
3195 new feature. This should give us more time to tune and improve the
3196 warper for the next release.
3197
3198 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00003199
David Turnerd91eebd2007-01-26 15:05:41 +000032002007-01-25 David Turner <david@freetype.org>
3201
Werner Lembergbf241762007-01-26 16:08:49 +00003202 For light auto-hinting, improve glyph advance widths and resurrect
3203 normal/full hinting to its normal quality.
3204
3205 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
3206 and `xmax_delta'.
3207 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
3208 and `xmax_delta'.
3209
3210 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
3211 preprocessor conditional with if-clause, handling both light and
3212 normal mode.
3213
3214 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
3215 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00003216
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000032172007-01-25 Werner Lemberg <wl@gnu.org>
3218
3219 * docs/release: Updated -- Savannah uses a new uploading scheme.
3220
David Turnera42567b2007-01-25 12:23:37 +000032212007-01-25 David Turner <david@freetype.org>
3222
Werner Lembergd7855662007-01-25 13:53:56 +00003223 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00003224
Werner Lembergd7855662007-01-25 13:53:56 +00003225 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
3226 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
3227 functions.
David Turnera42567b2007-01-25 12:23:37 +00003228
Werner Lembergd7855662007-01-25 13:53:56 +00003229 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00003230
Werner Lembergb1be9e82007-01-25 11:50:00 +000032312007-01-25 Werner Lemberg <wl@gnu.org>
3232
3233 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00003234 correctly in a sanity check. Since this function is only used to
3235 load local and global functions, any charstring that called the last
3236 local/global function would fail otherwise. This fixes Savannah bug
3237 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00003238
3239 * docs/CHANGES: Document it.
3240
David Turnerb6de8d12007-01-23 15:51:50 +000032412007-01-23 David Turner <david@freetype.org>
3242
Werner Lembergb1be9e82007-01-25 11:50:00 +00003243 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
3244 prevented compilation when disabling both the unpatented and the
3245 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00003246
Werner Lembergb1be9e82007-01-25 11:50:00 +00003247
3248 Fix and enable the warper to improve `light' hinting mode. This is
3249 not necessarily a final version, but it seems to work well.
3250
3251 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
3252 Disable code.
3253 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
3254 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
3255
3256 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
3257 (af_warper_compute_line_best): Fix array size of `scores'.
3258 (af_warper_compute): Better handling of border cases.
3259 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
3260 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00003261
Werner Lemberg011d1112007-01-21 09:36:00 +000032622007-01-21 Werner Lemberg <wl@gnu.org>
3263
Werner Lemberg42b63b22007-01-21 21:01:33 +00003264 * ChangeLog: Split off older entries into...
3265 * ChangeLog.22: This new file.
3266
32672007-01-21 Werner Lemberg <wl@gnu.org>
3268
Werner Lemberg555258f2007-01-21 09:46:37 +00003269 * docs/CHANGES: Document SHZ fix.
3270
32712007-01-21 George Williams <gww@silcom.com>
3272
3273 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
3274 points.
3275
32762007-01-21 Werner Lemberg <wl@gnu.org>
3277
Werner Lemberg011d1112007-01-21 09:36:00 +00003278 * src/sfnt/ttmtx.c (tt_face_get_metrics)
3279 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
3280
Werner Lemberg87a5a432007-01-17 12:44:39 +000032812007-01-17 Werner Lemberg <wl@gnu.org>
3282
Werner Lembergb8003292007-01-17 12:56:25 +00003283
3284 * Version 2.3.0 released.
3285 =========================
3286
3287
3288 Tag sources with `VER-2-3-0-FINAL'.
3289
32902007-01-17 Werner Lemberg <wl@gnu.org>
3291
Werner Lemberg87a5a432007-01-17 12:44:39 +00003292 * docs/release: Updated.
3293
David Turner22122722007-01-16 20:06:44 +000032942007-01-16 David Turner <david@freetype.org>
3295
Werner Lemberg87a5a432007-01-17 12:44:39 +00003296 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
3297 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
3298 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
3299 warnings.
David Turner22122722007-01-16 20:06:44 +00003300
Werner Lemberg267e1d72007-01-15 07:48:09 +000033012007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
3302
3303 * builds/amiga/makefile, builds/amiga/makefile.os4,
3304 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
3305
3306 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
3307
Werner Lemberg8c4120d2007-01-15 06:42:40 +000033082007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
3309
3310 Fix various compiler warnings.
3311
3312 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
3313 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
3314 s/index/strike_index/.
3315 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
3316
3317 * src/gxvalid/gxvmorx5.c
3318 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
3319
3320 * src/truetype/ttinterp.c (Compute_Point_Displacement),
3321 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
3322 uninitialized variables.
3323
Werner Lemberg6164a9d2007-01-13 23:01:36 +000033242007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3325
3326 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
3327
Werner Lemberg281c1482007-01-13 22:50:51 +000033282007-01-13 Werner Lemberg <wl@gnu.org>
3329
3330 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
3331 versions up to 0x3FF without complaining.
3332
Werner Lembergac250b22007-01-13 14:01:36 +000033332007-01-13 Derek Clegg <dclegg@apple.com>
3334
3335 Add FT_Get_PS_Font_Info interface to CFF driver.
3336
3337 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
3338 (CFF_FontRec): Add `font_info' field.
3339
3340 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
3341 (cff_font_done): Free font->font_info if necessary.
3342
3343 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
3344 (cff_service_ps_info): Register cff_ps_get_font_info.
3345
Werner Lemberg23df31a2007-01-13 08:45:00 +000033462007-01-13 Werner Lemberg <wl@gnu.org>
3347
3348 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
3349 with C++ compiler.
3350
3351 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
3352 af_glyph_hints_dump_edges): Ditto.
3353
3354 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
3355 `modules.cfg').
3356
3357 * src/sfnt/ttsbit0.h: Remove.
3358
3359 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
3360
Werner Lemberg27cf9de2007-01-13 07:34:23 +000033612007-01-12 David Turner <david@freetype.org>
3362
3363 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
3364 bug in the bitmap emboldener if the pitch of the source bitmap is
3365 much larger than its width.
3366
3367 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
3368 compilation warning.
3369
Werner Lemberg6d96d312007-01-12 10:30:19 +000033702007-01-12 Werner Lemberg <wl@gnu.org>
3371
3372 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
3373 `automake' CVS module from sources.redhat.com.
3374
Werner Lemberg17432b52007-01-12 09:28:44 +000033752007-01-11 Werner Lemberg <wl@gnu.org>
3376
3377 * src/type1/t1load.c (is_space): Removed.
3378 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
3379 (parse_charstrings): Use IS_PS_TOKEN.
3380
3381
3382 * autogen.sh: Avoid bash specific syntax.
3383
David Turner038ace22007-01-11 15:00:59 +000033842007-01-11 David Turner <david@freetype.org>
3385
Werner Lemberg17432b52007-01-12 09:28:44 +00003386 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00003387
Werner Lemberg17432b52007-01-12 09:28:44 +00003388 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00003389
Werner Lemberg17432b52007-01-12 09:28:44 +00003390 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
3391 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00003392 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00003393
Werner Lemberg17432b52007-01-12 09:28:44 +00003394 * autogen.sh: Small fix to get it working on Mac OS X properly:
3395 The issue is that GNU libtool is called `glibtool' on this platform,
3396 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00003397
David Turner2628ea92007-01-10 13:15:56 +000033982007-01-10 David Turner <david@freetype.org>
3399
Werner Lemberg17432b52007-01-12 09:28:44 +00003400 * all-sources: Tag all sources with VER-2-3-0-RC1 and
3401 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00003402
Werner Lemberg17432b52007-01-12 09:28:44 +00003403 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
3404 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
3405 version number to 2.3.0.
3406
3407 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
3408 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00003409
3410 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00003411 include/freetype/ftlcdfil.h: Update reference documentation with
3412 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00003413
Werner Lemberg17432b52007-01-12 09:28:44 +00003414 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
3415 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00003416
Werner Lembergbf02d392007-01-10 07:07:37 +000034172007-01-10 Derek Clegg <dclegg@apple.com>
3418
3419 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
3420 values.
3421
David Turnerf48b60e2007-01-08 15:15:32 +000034222007-01-08 David Turner <david@freetype.org>
3423
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003424 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00003425
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003426 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
3427 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00003428 corresponding to a given character pixel size.
3429
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003430 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
3431 `gasp' table, in order to avoid potential problems with later
3432 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00003433
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003434 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
3435 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00003436
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003437 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
3438 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
3439 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
3440 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00003441
Werner Lemberge6b6f372007-01-07 00:06:47 +000034422007-01-07 Werner Lemberg <wl@gnu.org>
3443
Werner Lembergb8004d22007-01-07 09:13:38 +00003444 * src/cid/cidparse.c (cid_parser_new): Improve error message for
3445 Type 11 fonts.
3446 Scan for `/sfnts' token.
3447
34482007-01-07 Werner Lemberg <wl@gnu.org>
3449
3450 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00003451
Werner Lembergbe5f7972007-01-06 07:51:48 +000034522007-01-06 Werner Lemberg <wl@gnu.org>
3453
3454 * src/cff/cffload.c (cff_index_init): Remove unused variable.
3455 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
3456
David Turnera8cf42b2007-01-04 16:46:46 +000034572007-01-04 David Turner <david@freetype.org>
3458
Werner Lembergf6294392007-01-06 07:47:45 +00003459 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
3460 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00003461
Werner Lembergf6294392007-01-06 07:47:45 +00003462
3463 Do not allocate interpreter-specific tables in memory if we are not
3464 going to load glyphs with the bytecode interpreter anyway.
3465
3466 * src/truetype/ttgload.c (tt_loader_init): Load execution context
3467 only if glyph is hinted.
3468 Updated.
3469 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
3470 and `cvs_ready'.
3471 Add `tt_size_ready_bytecode' declaration.
3472 * src/truetype/ttobjs.c (tt_size_done_bytecode,
3473 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
3474 (tt_size_init): Move most code into `tt_size_init_bytecode'.
3475 (tt_size_done): Move most code into `tt_size_done_bytecode'.
3476 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00003477
David Turner91a34022007-01-05 14:47:08 +00003478
Werner Lembergf6294392007-01-06 07:47:45 +00003479 Don't extract the metrics table from the SFNT font file. Instead,
3480 reparse it on each glyph load. The runtime difference is not
3481 noticeable, and it can save a lot of heap memory when memory-mapped
3482 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00003483
Werner Lembergf6294392007-01-06 07:47:45 +00003484 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
3485 `horz_metrics_offset' and `vert_metrics_ofset'.
3486 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
3487 Updated.
3488
3489
3490 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
3491
3492
3493 Do not load the CFF index offsets into memory, since this wastes a
3494 *lot* of heap memory with large Asian CFF fonts. There is no
3495 significant performance loss.
3496
3497 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
3498 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
3499 `data_size'.
3500 (CFF_CharsetRec): Add field `num_glyphs'.
3501
3502 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
3503 cff_charset_cid_to_gindex): New functions.
3504 (cff_new_index): Renamed to...
3505 (cff_index_init): This. Update all callers.
3506 Updated -- some code has been moved to `cff_index_load_offsets'.
3507 (cff_done_index): Renamed to...
3508 (cff_index_done): This. Update all callers.
3509 (cff_index_get_pointers, cff_index_access_element): Updated to use
3510 stream offsets.
3511 (cff_charset_compute_cids): Set `num_glyphs' field.
3512 (cff_encoding_load): Updated.
3513
3514 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00003515
35162007-01-04 David Turner <david@freetype.org>
3517
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003518 * docs/INSTALL.UNIX: Simplify some parts, add reference to
3519 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00003520
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003521 * README.CVS: Add common problem description and solution
3522 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00003523
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003524 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00003525
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003526 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00003527
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003528 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00003529
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003530 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
3531 (TWorker): This.
3532 Remove `count_table' and `memory'.
3533 Make `grays' a pointer.
3534 (TRaster): New structure.
3535 (count_table): New static array.
3536 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
3537 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
3538 ft_black_set_mode, ft_black_render): Updated.
3539 (ft_black_init): Don't initialize `count_table'.
3540 (ft_black_reset): Use the render pool. This saves about 6KB of
3541 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00003542
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003543 * src/smooth/ftgrays.c (TRaster): Replaced with...
3544 (TWorker): This.
3545 Remove `memory'.
3546 (TRaster): New structure.
3547
3548 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
3549 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
3550 gray_render_span, gray_raster_render): Updated.
3551 (gray_raster_reset): Use the render pool. This saves about 6KB of
3552 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00003553
David Turner8a6c44e2007-01-04 17:03:11 +00003554 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
3555 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003556 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
3557 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
3558 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00003559
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003560 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
3561 Remove a typo that results in no hinting and a memory leak with some
3562 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00003563
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003564 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00003565 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00003566 CFF_Faces in it. We need to close all faces before destroying the
3567 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00003568
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000035692007-01-02 Werner Lemberg <wl@gnu.org>
3570
3571 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
3572 Remove compiler warning.
3573
David Turner9207e002007-01-02 16:58:13 +000035742007-01-02 David Turner <david@freetype.org>
3575
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003576 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00003577
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000035782006-12-31 Masatake YAMATO <jet@gyve.org>
3579
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003580 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
3581 function.
3582 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00003583 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00003584 `gxv_kern_subtable_fmt0_pairs_validate'.
3585
David Turner115b4422006-12-22 11:37:05 +000035862006-12-22 David Turner <david@freetype.org>
3587
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003588 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
3589 warnings.
David Turner115b4422006-12-22 11:37:05 +00003590
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00003591 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
3592 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00003593
Werner Lemberg4755bf72006-12-16 08:58:44 +000035942006-12-16 Anders Kaseorg <anders@kaseorg.com>
3595
3596 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
3597 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
3598
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000035992006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3600
Werner Lemberg9b774e22007-01-16 06:11:27 +00003601 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00003602 sync with the modification by Jens Claudius on 2006-08-22; cf.
3603 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 +00003604
36052006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3606
3607 * src/base/ftmac.c: Specialized for Mac OS X only.
3608 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
Werner Lemberg830846e2008-07-27 06:27:21 +00003609 * builds/unix/configure.raw: Ditto. When explicit switches for
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00003610 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
3611 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
3612
36132006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3614
3615 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
3616 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
3617 instead of src/base/ftmac.c
3618 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
3619 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
3620 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
3621 that cannot be built at present.
3622
36232006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3624
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00003625 * src/base/ftobjs.c: Improvement of resource fork handler for
3626 POSIX, cf.
3627 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00003628 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
3629 format or .dfont, to simulate the face index number counted by ftmac.c.
3630 (IsMacResource): Return the number of scalable faces correctly.
3631
Werner Lembergec5b4502006-12-10 07:51:38 +000036322006-12-10 Werner Lemberg <wl@gnu.org>
3633
3634 * builds/toplevel.mk (version): Protect against `distclean' target.
3635
Werner Lembergb26b3142006-12-09 20:01:43 +000036362006-12-09 Werner Lemberg <wl@gnu.org>
3637
3638 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
3639 or `type'.
3640
3641 * builds/freetype.mk (version): Extracted from freetype.h, using
3642 GNU make's built-in string functions.
3643 (refdoc): Use $(version) instead of static version number.
3644
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000036452006-12-08 Werner Lemberg <wl@gnu.org>
3646
3647 * builds/toplevel.mk (dist): Extract version number from freetype.h.
3648
Werner Lemberg15c29502006-12-09 07:29:54 +000036492006-12-08 Vladimir Volovich <vvv@vsu.ru>
3650
3651 * src/tools/apinames (State): Remove final comma in structure -- xlc
3652 v5 under AIX 4.3 doesn't like this.
3653
David Turnerdbf3b432006-12-07 21:18:09 +000036542006-12-07 David Turner <david@freetype.org>
3655
Werner Lemberg256a3512006-12-08 06:49:33 +00003656 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
3657 to the spacing of auto-fitted glyphs. This only impacts rare
3658 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00003659
Werner Lemberg11171312006-12-03 09:43:40 +000036602006-12-03 Werner Lemberg <wl@gnu.org>
3661
3662 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
3663
Werner Lemberg960ba592006-12-01 08:20:47 +000036642006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00003665
Werner Lemberg960ba592006-12-01 08:20:47 +00003666 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
3667 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
3668 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00003669
David Turner80658e52006-11-28 08:09:20 +00003670
Werner Lemberg960ba592006-12-01 08:20:47 +00003671 * include/freetype/ftxf86.h: Fix and extend comment so that it
3672 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00003673
Werner Lemberg960ba592006-12-01 08:20:47 +00003674 * include/freetype/ftchapters.h: Add `font_format' section.
3675
3676
3677 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
3678 to TOC in index page.
3679
36802006-11-28 David Turner <david@freetype.org>
3681
3682 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
3683 trying to render into a zero-width/height bitmap, not an error code.
3684
3685 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
3686
3687 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
3688 ones instead.
3689
3690 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
3691 variable.
David Turner80658e52006-11-28 08:09:20 +00003692
Werner Lemberg8636c292006-11-26 22:28:13 +000036932006-11-26 Pierre Hanser <hanser@club-internet.fr>
3694
3695 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
3696
Werner Lemberg960ba592006-12-01 08:20:47 +000036972006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00003698
Werner Lemberg960ba592006-12-01 08:20:47 +00003699 * src/autofit/afhints.c (af_glyph_hints_dump_points,
3700 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
3701 Add stubs to link the `ftgrid' test program when debugging is
3702 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00003703
Werner Lemberg960ba592006-12-01 08:20:47 +000037042006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00003705
3706 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00003707 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
3708
3709 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
3710 Emit more sensible information.
3711
3712 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
3713
3714 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
3715 rounding of blue values.
3716 (af_latin_hints_compute_segments): Hint segment heights.
3717 (af_latin_hints_link_segments): Reduce `len_score' value.
3718 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
3719 value and use `height' member for comparisons.
3720 (af_latin_hint_edges): Extend logging message.
3721 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00003722
Werner Lemberg91959bf2006-11-22 10:36:55 +000037232006-11-22 Werner Lemberg <wl@gnu.org>
3724
3725 Fix Savannah bug #15553.
3726
3727 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
3728 program after a change from mono to grayscaling (and vice versa).
3729 Use correct constant for comparison to get `exec->grayscale'.
3730
Werner Lemberg913a3652006-11-19 09:19:17 +000037312006-11-18 Werner Lemberg <wl@gnu.org>
3732
3733 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00003734 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00003735 This patch fixes Savannah bug #18301.
3736
3737 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
3738 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
3739 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
3740 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
3741 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
3742 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
3743 (FNT_Load_Glyph): Check validity of `glyph_index'.
3744
David Turner7bab6ae2006-11-13 11:25:06 +000037452006-11-13 David Turner <david@freetype.org>
3746
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003747 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
3748 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00003749
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003750 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
3751 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
3752 when building the library to change the default LCD filter to be
3753 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00003754
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003755 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00003756
David Turner8765c712006-11-10 16:49:42 +000037572006-11-10 David Turner <david@freetype.org>
3758
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003759 * src/smooth/ftsmooth.c: API change for the LCD
3760 filter. The FT_LcdFilter value is an enumeration describing which
3761 filter to apply, with new values FT_LCD_FILTER_LIGHT and
3762 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
3763 algorithm which produces strong color fringes for everything
3764 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00003765
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00003766 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
3767 second parameter to an enum type.
3768
3769 * src/base/ftlcdfil.c (USE_LEGACY): Define.
3770 (_ft_lcd_filter): Rename to...
3771 (_ft_lcd_filter_fir): This.
3772 Update parameters.
3773 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
3774 (FT_Library_Set_LcdFilter): Update parameters.
3775 Handle new filter modes.
3776
3777 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
3778 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
3779 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
3780 callback and update other fields.
3781
3782 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
3783 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
3784 Other minor improvements.
3785
3786 * src/autofit/aflatin.c: Various tiny improvements that drastically
3787 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
3788 (af_latin_hints_compute_edges): Fix typo.
3789 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00003790
David Turner4e9cc3c2006-11-09 16:31:52 +000037912006-11-09 David Turner <david@freetype.org>
3792
Werner Lemberg49c77a82006-11-09 21:51:57 +00003793 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
3794 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00003795
Werner Lemberg5e430892006-11-07 09:35:03 +000037962006-11-07 Zhe Su <james.su@gmail.com>
3797
3798 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
3799 also.
3800
Werner Lemberg111b5ae2006-11-03 09:40:12 +000038012006-11-03 Werner Lemberg <wl@gnu.org>
3802
3803 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
3804
David Turner40604742006-11-02 16:37:35 +000038052006-11-02 David Turner <david@freetype.org>
3806
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003807 Add a few tweaks to better handle serif fonts.
3808 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00003809
Werner Lemberg111b5ae2006-11-03 09:40:12 +00003810 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
3811 segments that are less than 1.5 pixels high. This gets rid of
3812 *many* corner cases with serifs.
3813 (af_latin_align_linked_edge): Add logging message.
3814 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
3815 Add logging messages.
3816 Handle AF_EDGE_FLAG flag specially.
3817
3818 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
3819 _af_debug_disable_blue_hints, and _af_debug_hints variables.
3820
3821 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
3822 Update external declarations.
3823 (af_corner_orientation, af_corner_is_flat): Replaced by...
3824
3825 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
3826 ft_corner_is_flat): These declarations.
3827
3828 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
3829 Comment out. Replaced by...
3830
3831 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
3832 These functions. Update all callers.
3833 (FT_Add64) [!FT_LONG64]: Simplify.
3834
3835 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
3836 (af_direction_compute): Add a missing FT_ABS call. This bug caused
3837 production of garbage by missing lots of segments.
3838
3839 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
3840
3841 * src/autofit/afloader.c (af_loader_init, af_loader_done)
3842 [AF_DEBUG]: Set _af_debug_hints.
3843
3844
3845 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
3846 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
3847 and ft_corner_orientation.
3848
3849
3850 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00003851
Werner Lemberge88c5262006-10-24 05:46:26 +000038522006-10-24 Werner Lemberg <wl@gnu.org>
3853
3854 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
3855
3856 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
3857 as argument.
3858
David Turnera1861392006-10-23 16:00:59 +000038592006-10-23 Zhe Su <zsu@novell.com>
3860
Werner Lemberg715e96e2006-10-24 05:28:45 +00003861 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
3862 better deal with broken Asian fonts with strange glyphs, having
3863 self-intersections and other peculiarities. The used algorithm is
3864 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00003865
David Turnere140f142006-10-23 08:56:57 +000038662006-10-23 David Turner <david@freetype.org>
3867
Werner Lemberg715e96e2006-10-24 05:28:45 +00003868 Speed up the CFF font loader. With some large CFF fonts,
3869 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00003870
Werner Lemberg715e96e2006-10-24 05:28:45 +00003871 * src/cff/cffload.c (cff_get_offset): Removed.
3872 (cff_new_index): Inline functionality of `cff_get_offset'.
3873 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
3874 (cff_charset_done): Call `cff_charset_free_cids'.
3875 (cff_charset_load): Call `cff_charset_compute_cids'.
3876 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
3877
3878 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
3879 with FT_NEXT_XXX.
3880
3881
3882 Speed up the Postscript hinter, with more than 100% speed increase
3883 on my machine.
3884
3885 * src/pshinter/pshalgo.c (psh_corner_is_flat,
3886 psh_corner_orientation): New functions.
3887 (psh_glyph_compute_inflections): Merge loops for efficiency.
3888 Use `psh_corner_orientation'.
3889 (psh_glyph_init): Use `psh_corner_is_flat'.
3890 (psh_hint_table_find_strong_point): Renamed to...
3891 (psh_hint_table_find_strong_points): This.
3892 Rewrite, adding argument to handle all points at once.
3893 Update all callers.
3894 (PSH_MAX_STRONG_INTERNAL): New macro.
3895 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00003896
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000038972006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3898
3899 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00003900 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00003901
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000039022006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3903
3904 * docs/INSTALL.CROSS: New document file for cross-building.
3905
3906 * builds/unix/configure.raw: Preliminary cross-building support.
3907 Find native C compiler and pass it by CC_BUILD, and
3908 find suffix for native executable and pass it by EXEEXT_BUILD.
3909 Also suffix for target executable is passed by EXEEXT.
3910
Werner Lembergb9e6d692006-10-15 08:58:40 +00003911 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
3912 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003913 CC_BUILD and EXEEXT_BUILD.
3914
Werner Lembergb9e6d692006-10-15 08:58:40 +00003915 * builds/exports.mk (APINAMES_EXE): Change the extension for
3916 apinames from the suffix for target (E) to that for building host
3917 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00003918
Werner Lemberg82a07e92006-10-12 06:20:44 +000039192006-10-12 Werner Lemberg <wl@gnu.org>
3920
3921 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
3922 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
3923 which reference those files.
3924
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000039252006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3926
Werner Lembergb9e6d692006-10-15 08:58:40 +00003927 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
3928 embedded in freetype2.pc and freetype-config. Use it to record
3929 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00003930
3931 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
3932
3933 * builds/unix/freetype-config.in: Ditto.
3934
Werner Lemberg28e17d92006-10-11 17:27:47 +000039352006-10-11 Werner Lemberg <wl@gnu.org>
3936
3937 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
3938 development.
3939
Jens Claudius336d2292006-10-03 08:53:37 +000039402006-10-03 Jens Claudius <jens.claudius@yahoo.com>
3941
3942 * include/freetype/config/ftstdlib.h: Cast away volatileness from
3943 argument to ft_setjmp.
3944
3945 * include/freetype/internal/ftvalid.h: Add comment that
3946 ft_validator_run must not be used.
3947
Werner Lemberg2863cfa2006-10-01 17:04:00 +000039482006-10-01 Werner Lemberg <wl@gnu.org>
3949
3950 * src/base/ftbase.c: Undo change from 2006-09-30.
3951
3952 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
3953
39542006-09-30 David Turner <david@freetype.org>
3955
Werner Lemberg046bf8b2006-10-03 08:43:42 +00003956 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3957 s/unpatented_hinting/ignore_unpatented_hinter/.
3958 Update all callers.
3959
3960 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
3961 auto-hinting shall be used or not.
3962
3963 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00003964
Werner Lemberg2863cfa2006-10-01 17:04:00 +000039652006-09-30 Werner Lemberg <wl@gnu.org>
3966
Werner Lemberg1e4402e2006-09-29 22:10:36 +00003967 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
3968 in use).
3969
3970 * src/base/ftbase.c: Include `ftlcdfil.c'.
3971
Werner Lemberg9b15ea32006-09-29 18:22:11 +000039722006-09-29 Werner Lemberg <wl@gnu.org>
3973
3974 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
3975 overlapping segments. Bug reported by Stefan Koch.
3976
David Turnerad830712006-09-27 16:20:59 +000039772006-09-28 David Turner <david@freetype.org>
3978
Werner Lemberg2c002e12006-09-29 21:31:53 +00003979 Fix a bug in the automatic unpatented hinting support which prevents
3980 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00003981
Werner Lemberg2c002e12006-09-29 21:31:53 +00003982 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
3983 s/force_autohint/unpatented_hinting/. Update all callers.
3984
3985 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
3986
3987 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00003988
David Turner8a317cf2006-09-27 07:52:48 +000039892006-09-27 David Turner <david@freetype.org>
3990
Werner Lemberg2c002e12006-09-29 21:31:53 +00003991 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00003992
David Turner8a317cf2006-09-27 07:52:48 +00003993
David Turnere140f142006-10-23 08:56:57 +00003994 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00003995 In a default build, the function `FT_Library_SetLcdFilter' returns
3996 `FT_Err_Unimplemented_Feature'; you need to #define
3997 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
3998 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00003999
Werner Lemberg2c002e12006-09-29 21:31:53 +00004000 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00004001
Werner Lemberg2c002e12006-09-29 21:31:53 +00004002 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
4003 typedef.
4004 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
4005 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00004006
Werner Lemberg2c002e12006-09-29 21:31:53 +00004007 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
4008 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00004009
Werner Lemberg2c002e12006-09-29 21:31:53 +00004010 Handle subpixel rendering.
4011 Simplify function.
4012 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
4013 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
4014
4015 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
4016 pointing to <freetype/ftlcdfil.h>.
4017
4018 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
4019 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
4020
4021 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00004022
Werner Lemberge20df4a2006-09-27 06:29:21 +000040232006-09-26 David Bustin
4024
4025 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
4026 correctly. Reported as Savannah bug #17843.
4027
David Turner6f8c6222006-09-26 15:42:44 +000040282006-09-26 David Turner <david@freetype.org>
4029
Werner Lemberg110246c2006-09-26 21:55:44 +00004030 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
4031 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
4032 horizontal and vertical hinting for the purpose of debugging the
4033 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00004034
Werner Lemberg110246c2006-09-26 21:55:44 +00004035 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
4036 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00004037
Werner Lemberg110246c2006-09-26 21:55:44 +00004038 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
4039
4040 * include/freetype/config/ftoption.h, devel/ftoption.h
4041 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
4042 we want to compile LCD-optimized rendering code (à la ClearType) or
4043 not. The macro *must* be disabled in default builds of the library
4044 for patent reasons.
4045
4046 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
4047 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
4048 isn't defined at compile time. This only changes the content of the
4049 rendered glyph to match the one of normal gray-level rendering,
4050 hence clients should not need to be modified.
4051
4052 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00004053
Werner Lemberg745ff2c2006-09-19 05:48:02 +000040542006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
4055
4056 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
4057 LWFN fails and both are available.
4058
David Turnerf3050052006-09-11 12:00:32 +000040592006-09-11 David Turner <david@freetype.org>
4060
Werner Lembergf9644552006-09-12 13:48:10 +00004061 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
4062 report their English names through an Apple Roman
4063 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00004064
Werner Lembergf9644552006-09-12 13:48:10 +00004065 If the font uses another name entry with language_id == English, it
4066 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00004067
Werner Lembergf9644552006-09-12 13:48:10 +00004068 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
4069 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00004070
Werner Lemberg36d2eab2006-09-05 19:24:34 +000040712006-09-05 Werner Lemberg <wl@gnu.org>
4072
4073 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00004074 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00004075 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
4076 `HAN NOM B.ttf').
4077
4078 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
4079
David Turner772e55d2006-09-05 09:45:15 +000040802006-09-05 David Turner <david@freetype.org>
4081
Werner Lemberg36d2eab2006-09-05 19:24:34 +00004082 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00004083
Werner Lemberg36d2eab2006-09-05 19:24:34 +00004084 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
4085 (TRaster): Remove `count_ex' and `count_ey'.
4086 (gray_find_cell): Remove 2nd and 3rd argument.
4087 (gray_alloc_cell): Merged with `gray_find_cell'.
4088 (gray_record_cell): Simplify.
4089 (gray_set_cell): Rewrite.
4090 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
4091 (gray_render_span): Don't use FT_MEM_SET for small values.
4092 (gray_dump_cells) [DEBUG_GRAYS]: New function.
4093 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
4094 bitmap scanline.
4095 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00004096
David Turneraa557a92006-09-04 16:42:44 +000040972006-09-04 David Turner <david@freetype.org>
4098
Werner Lembergd1fc7d42006-09-05 07:55:42 +00004099 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
4100 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00004101
Werner Lemberg2d8629b2006-09-03 06:18:45 +000041022006-09-03 Werner Lemberg <wl@gnu.org>
4103
4104 * devel/ftoption.h: Synchronize with
4105 include/freetype/config/ftoption.h.
4106
4107 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
4108 variable declaration.
4109 (gray_convert_glyph): Fix compiler warnings.
4110
David Turner6d79f212006-09-01 14:09:35 +000041112006-09-01 David Turner <david@freetype.org>
4112
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004113 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
4114 to recognize a few fonts that require the automatic unpatented
4115 loader.
David Turnerbd502952006-09-01 19:05:24 +00004116
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004117 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
4118 rasterizer. The speed improvement is between 15% and 25%, depending
4119 on the font data.
4120
4121 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
4122 (TCell): Redefine.
4123 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
4124 (gray_init_cells): Updated.
4125 (gray_find_cell, gray_alloc_cell): New functions.
4126 (gray_record_cell): Rewritten to use `gray_find_cell' and
4127 `gray_alloc_cell'.
4128 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
4129 QSORT_THRESHOLD):
4130 Removed.
4131 (gray_shell_sort, gray_quick_sort, gray_check_sort,
4132 gray_dump_cells): Removed.
4133 (gray_sweep): Rewritten.
4134 (gray_convert_glyph): Rewrite code which used one of the sorting
4135 functions.
4136 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00004137
Werner Lembergd898aed2006-08-29 09:50:34 +000041382006-08-29 Dr. Werner Fink <werner@suse.de>
4139
4140 * configure: Make it possible to handle configure options which
4141 have strings containing spaces.
4142
41432006-08-27 David Turner <david@freetype.org>
4144
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004145 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
4146 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
4147 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
4148
4149 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
4150 src/truetype/truetype.c, src/truetype/ttdriver.c,
4151 src/truetype/ttgload.c, src/truetype/ttgload.h,
4152 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
4153 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
4154 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
4155
4156 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
4157 member `force_autohint'.
4158
4159 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
4160
4161 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
4162 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00004163
Jens Claudiusa787f452006-08-27 11:26:18 +000041642006-08-27 Jens Claudius <jens.claudius@yahoo.com>
4165
4166 Fix miscellaneous compiler warnings.
4167
Werner Lemberg32e05a62008-05-04 16:53:22 +00004168 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
4169 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00004170
Werner Lemberg32e05a62008-05-04 16:53:22 +00004171 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004172 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
4173 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00004174
Werner Lemberg32e05a62008-05-04 16:53:22 +00004175 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004176 volatileness of argument to ft_longjmp. Spotted by Werner
4177 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00004178
Werner Lemberg32e05a62008-05-04 16:53:22 +00004179 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004180 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00004181
Werner Lemberg32e05a62008-05-04 16:53:22 +00004182 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
4183 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00004184
Werner Lembergc4c35b72006-08-27 08:03:46 +000041852006-08-27 Werner Lemberg <wl@gnu.org>
4186
4187 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
4188 Reported by Jens.
4189
Jens Claudius088e44e2006-08-22 14:24:30 +000041902006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00004191
Jens Claudius088e44e2006-08-22 14:24:30 +00004192 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00004193 about addresses of volatile objects passed as function arguments as
4194 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00004195
Werner Lemberg32e05a62008-05-04 16:53:22 +00004196 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
4197 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004198
Werner Lemberg32e05a62008-05-04 16:53:22 +00004199 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
4200 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004201
Werner Lemberg32e05a62008-05-04 16:53:22 +00004202 * src/otvalid/otvmod.c (otv_load_table): Make function argument
4203 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004204
Jens Claudius2652bd52006-08-18 17:20:37 +000042052006-08-18 Jens Claudius <jens.claudius@yahoo.com>
4206
Werner Lemberg32e05a62008-05-04 16:53:22 +00004207 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
4208 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00004209 (gxv_validate): Same for local variables `memory' and `valid'.
4210 (classic_kern_validate): Same for local variables `memory',
4211 `ckern', and `valid'.
4212
Werner Lemberg32e05a62008-05-04 16:53:22 +00004213 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
4214 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
4215 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00004216
Werner Lemberg32e05a62008-05-04 16:53:22 +00004217 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
4218 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00004219
David Turner9fbfc6a2006-08-16 09:11:31 +000042202006-08-16 David Turner <david@freetype.org>
4221
Werner Lemberg12342992006-08-19 11:18:09 +00004222 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
4223 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00004224
Werner Lemberg12342992006-08-19 11:18:09 +00004225 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
4226 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00004227
David Turner33f5f242006-08-16 16:50:55 +00004228
Werner Lemberg830846e2008-07-27 06:27:21 +00004229 Improvements to native TrueType hinting. This is a first try,
Werner Lemberg12342992006-08-19 11:18:09 +00004230 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
4231
4232 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
4233 `extra_points2'.
4234
4235 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
4236 `orus'.
4237
4238 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
4239 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
4240 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
4241 handle `extra_points2'.
4242
4243 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
4244 Remove compiler warning.
4245 (cur_to_arg): Remove macro.
4246 (TT_Hint_Glyph): Updated.
4247 (TT_Process_Simple_Glyph): Handle `orus'.
4248
4249 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
4250 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
4251 (LOC_Ins_IUP): Renamed to...
4252 (IUP_WorkerRec): This.
4253 Add `orus' member.
4254 (Shift): Renamed to...
4255 (_iup_worker_shift): This.
4256 Updated.
4257 (Interp): Renamed to...
4258 (_iup_worker_interpolate): This.
4259 Updated to handle `orus'.
4260 (Ins_IUP): Updated.
4261
4262 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
4263 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00004264
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000042652006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4266
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00004267 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00004268 build ftvalid in ft2demos. This has been inadvertedly changed
4269 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00004270
42712006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4272
Werner Lemberg12342992006-08-19 11:18:09 +00004273 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
4274 Jens:
4275 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004276
Werner Lemberg32e05a62008-05-04 16:53:22 +00004277 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
4278 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004279
Werner Lemberg32e05a62008-05-04 16:53:22 +00004280 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004281
Jens Claudius9950adc2006-08-13 12:14:36 +000042822006-08-13 Jens Claudius <jens.claudius@yahoo.com>
4283
Werner Lemberg32e05a62008-05-04 16:53:22 +00004284 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00004285 T1_TOKEN_TYPE_KEY.
4286 (T1_FieldRec): Add `dict'.
4287 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
4288 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
4289 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00004290
Werner Lemberg32e05a62008-05-04 16:53:22 +00004291 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
4292 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004293
Werner Lemberg32e05a62008-05-04 16:53:22 +00004294 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004295
Werner Lemberg32e05a62008-05-04 16:53:22 +00004296 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00004297 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
4298 not T1_TOKEN_TYPE_ANY.
4299 (ps_parser_load_field): Make sure a token that should be a string or
4300 name is really a string or name.
4301 Avoid memory leak if a keyword has been already encountered and its
4302 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00004303 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00004304 T1_FIELD_XXX.
4305 (parse_dict): Ignore keywords that occur in the wrong dictionary
4306 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00004307
Werner Lemberg32e05a62008-05-04 16:53:22 +00004308 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004309
Werner Lemberg32e05a62008-05-04 16:53:22 +00004310 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
4311 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004312
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000043132006-07-18 Jens Claudius <jens.claudius@yahoo.com>
4314
4315 Move creation of field `buildchar' of T1_DecoderRec out of
4316 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
4317 of it.
4318
4319 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
4320 and `T1_Compute_Max_Advance'.
4321
Werner Lemberg32e05a62008-05-04 16:53:22 +00004322 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
4323 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004324
Werner Lemberg32e05a62008-05-04 16:53:22 +00004325 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
4326 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004327
Werner Lemberg32e05a62008-05-04 16:53:22 +00004328 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
4329 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004330 (cid_slot_load_glyph): Do not ignore failure when initializing the
4331 T1_Decoder.
4332
Werner Lemberg32e05a62008-05-04 16:53:22 +00004333 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004334 (t1_decoder_init): Remove initialization of fields `buildchar' and
4335 `len_buildchar'.
4336 (t1_decoder_done): Remove deallocation of field `buildchar'.
4337
4338 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
4339 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
4340 T1_Decoder.
4341 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
4342 `len_buildchar'; make sure to call finisher for T1_Decoder even in
4343 case of error.
4344
Werner Lemberg32e05a62008-05-04 16:53:22 +00004345 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
4346 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004347
Werner Lemberg32e05a62008-05-04 16:53:22 +00004348 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
4349 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004350
Werner Lemberg1a380e02006-07-14 18:28:08 +000043512006-07-14 Jens Claudius <jens.claudius@yahoo.com>
4352
Werner Lemberg32e05a62008-05-04 16:53:22 +00004353 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
4354 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
4355 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00004356 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
4357 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
4358 (T1_DecoderRec): New fields `buildchar' and `face'.
4359 (IS_PS_TOKEN): New macro.
4360
Werner Lemberg32e05a62008-05-04 16:53:22 +00004361 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
4362 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004363
Werner Lemberg32e05a62008-05-04 16:53:22 +00004364 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00004365 `default_design_vector' and `num_default_design_vector'.
4366
Werner Lemberg32e05a62008-05-04 16:53:22 +00004367 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
4368 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
4369 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004370
Werner Lemberg32e05a62008-05-04 16:53:22 +00004371 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
4372 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004373 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
4374 want to skip the array.
4375 (ps_tofixedarray): Allow `values' argument to be NULL if we just
4376 want to skip the array.
4377
Werner Lemberg32e05a62008-05-04 16:53:22 +00004378 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
4379 for (partially commented out) othersubrs 19-25, 27, and 28.
4380 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004381 (t1_decoder_done): Release new field `buildchar'.
4382
Werner Lemberg32e05a62008-05-04 16:53:22 +00004383 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00004384 functions.
4385 (t1_keywords): Register them.
4386 (t1_allocate_blend): Updated.
4387 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
4388 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
4389 (parse_dict): Remove `keyword_flags' argument.
4390 Use new macro IS_PS_TOKEN.
4391 Changed function so that later PostScript definitions override
4392 earlier ones.
4393 (t1_init_loader): Initialize new field `keywords_encountered'.
4394 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
4395 `len_buildchar'.
4396 Remove `keywords_flags'.
4397
Werner Lemberg32e05a62008-05-04 16:53:22 +00004398 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00004399 `keywords_encountered'.
4400 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
4401
Werner Lemberg32e05a62008-05-04 16:53:22 +00004402 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
4403 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004404
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000044052006-07-07 Werner Lemberg <wl@gnu.org>
4406
4407 Add many checks to protect against malformed PCF files.
4408
4409 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
4410 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
4411
4412 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
4413 data and check that tables don't overlap (using a simple
4414 bubblesort).
4415 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
4416 New macros which give the size of data structures in the data
4417 stream.
4418 (pcf_get_properties): Use rough estimates to get array size limits.
4419 Assign `face->nprops' and `face->properties' earlier so that a call
4420 to PCF_Face_Done can do the clean-up in case of error.
4421 Protect against invalid string offsets.
4422 (pcf_get_metrics): Clean up code.
4423 Adjust tracing message levels.
4424 Use rough estimate to get array size limit.
4425 (pcf_get_bitmaps): Clean up code.
4426 Adjust tracing message levels.
4427 Use rough estimates to get offset limits.
4428 (pcf_get_encodings): Adjust tracing message level.
4429 (pcf_get_accel): Clean up code.
4430
Werner Lemberg8eb05252006-06-27 06:20:01 +000044312006-06-26 Werner Lemberg <wl@gnu.org>
4432
4433 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
4434 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
4435
Werner Lemberg24703f82006-06-26 19:12:51 +000044362006-06-26 Jens Claudius <jens.claudius@yahoo.com>
4437
4438 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
4439 (t1_decoder_parse_charstrings): Operator with
4440 opcode 15 pops its two arguments.
4441 Handle the case where the pops of an othersubr may be part of a
4442 subroutine.
4443 Handle unknown othersubrs gracefully: count their operands and let
4444 the following pop operators push the operands as the results onto
4445 the Type1 stack.
4446 Improve handling of setcurrentpoint opcode.
4447
Werner Lembergc011f4c2006-06-26 09:40:00 +000044482006-06-25 Jens Claudius <jens.claudius@yahoo.com>
4449
4450 The Type 1 parser now skips over top-level procedures as required
4451 for a `Simplified Parser'. This makes the parser more robust as it
4452 doesn't poke around in PostScript code. Additionally, it makes the
4453 FontDirectory hackery in src/type1/t1load.c unnecessary.
4454
4455 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
4456 (skip_literal_string): Add FT_Error as return value.
4457 Handle escapes better.
4458 (skip_string): Add FT_Error as return value.
4459 Don't set `parser->error' but return error code directly.
4460 (skip_procedure): New function.
4461 (ps_parser_skip_PS_token): Handle procedures.
4462 Update code.
4463 (ps_parser_to_token): Update code.
4464 (ps_parser_load_field_table): Handle bbox entries also.
4465
4466 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
4467 Add commented-out code for synthetic fonts.
4468
Werner Lemberga2da05c2006-06-25 06:27:27 +000044692006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
4470
4471 Fix two hinting bugs as reported in
4472 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
4473
4474 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
4475 `first_point' member.
4476
4477 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
4478 `first_point'.
4479 (TT_Process_Composite_Glyph): Always untouch points.
4480
4481 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
4482 `first_point' and `last_point' in case of composite glyphs.
4483 (Ins_IUP): Fix computation of `end_point'.
4484
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000044852006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4486
Werner Lembergef3d2c22006-06-25 06:07:14 +00004487 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
4488 Mac. The original patch was written by David Sachitano and Lawrence
4489 Coopet, and modified by Sean McBride for MPW compatibility. Only
4490 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00004491
Werner Lembergef3d2c22006-06-25 06:07:14 +00004492 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
4493 Mac OS X platforms.
4494 (OS_INLINE): Undefine before definition.
4495 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
4496 FontAssociation table in FOND resource.
4497 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
4498 and fontSize at each entry of FontAssociation table in FOND
4499 resource.
4500 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
4501 ffStylOff of FamilyRecord header of FOND resource, the header,
4502 fontSize, fontID at each entry of FontAssociation table, and
4503 StyleMapping table.
4504 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00004505
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000045062006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4507
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004508 Public API of TrueTypeGX, OpenType, and classic kern table validator
4509 should return `FT_Err_Unimplemented_Feature' if validation service
4510 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00004511 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004512 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
4513
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004514 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
4515 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
4516 unavailable.
4517 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
4518 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004519
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004520 * src/base/ftotval.c (FT_OpenType_Validate): Return
4521 FT_Err_Unimplemented_Feature if OpenType validation service is
4522 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004523
Werner Lembergb10e45a2006-06-08 07:32:56 +000045242006-06-08 Werner Lemberg <wl@gnu.org>
4525
4526 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
4527 errors.
4528
David Turner5f1f7502006-06-07 05:11:50 +000045292006-06-07 David Turner <david@freetype.org>
4530
Werner Lemberg7d48cb02006-06-08 06:00:08 +00004531 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
4532 (T1_Read_Metrics): Fix memory leak which happened when the metrics
4533 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00004534
David Turner457b4a82006-06-06 08:14:14 +000045352006-06-06 David Turner <david@freetype.org>
4536
Werner Lemberg4836f952006-06-06 12:54:08 +00004537 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00004538
Werner Lemberg4836f952006-06-06 12:54:08 +00004539 We change `ps_unicodes_init' so that it also takes a
4540 `free_glyph_name' callback to release the glyph names returned by
4541 `get_glyph_name'
4542
4543 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
4544 Renamed to ...
4545 (PS_GetGlyphNameFunc): This.
4546 (PS_FreeGlyphNameFunc): New typedef.
4547 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
4548
4549 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
4550 argument.
4551 (cff_sid_free_glyph_name): New function.
4552 (cff_cmap_unicode_init): Updated.
4553
4554 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
4555
4556 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
4557 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00004558
4559
David Turner09717352006-06-04 14:33:08 +000045602006-06-04 David Turner <david@freetype.org>
4561
Werner Lembergd724f202006-06-04 15:17:41 +00004562 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
4563 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00004564 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00004565
Werner Lembergd724f202006-06-04 15:17:41 +00004566 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
4567 of `face->num_glyphs' which missed the last glyph, due to
4568 the offset-by-1 computation, since the PFR format doesn't
4569 guarantee that glyph index 0 corresponds to the `missing
4570 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00004571
Werner Lemberg33779662006-05-26 06:30:05 +000045722006-05-25 Werner Lemberg <wl@gnu.org>
4573
4574 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
4575 `-no-undefined'. Reported by Christian Biesinger.
4576
Werner Lemberg24773d62006-05-20 08:53:13 +000045772006-05-19 Brian Weed <bw@imaginengine.com>
4578
4579 * builds/win32/visualc/freetype.dsp: Release libraries no longer
4580 have debug information, and debug libraries use `C7 compatible'
4581 debug info.
4582
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000045832006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4584
Werner Lemberga6523a62006-05-20 08:47:01 +00004585 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00004586 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00004587
Werner Lemberga6523a62006-05-20 08:47:01 +00004588 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
4589 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00004590
4591 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00004592 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00004593
45942006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4595
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00004596 * build/unix/configure.raw: Add a fallback to disable Carbon
4597 dependency, if configured with no options on Mac OS X.
4598
45992006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4600
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00004601 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00004602 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00004603 the second part of Savannah bug #16590.
4604
Werner Lemberg545c4e52006-05-17 22:55:04 +000046052006-05-18 Werner Lemberg <wl@gnu.org>
4606
4607 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
4608 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
4609
David Turnerdc3ff312006-05-17 12:59:35 +000046102006-05-17 David Turner <david@freetype.org>
4611
Werner Lemberg545c4e52006-05-17 22:55:04 +00004612 This is a major patch used to drastically improve the performance of
4613 loading glyphs. This both speeds up loading the glyph vectors
4614 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00004615
Werner Lemberg545c4e52006-05-17 22:55:04 +00004616 We now use inline assembler code with GCC to implement `FT_MulFix',
4617 which is probably the most important function related to the
4618 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00004619
Werner Lemberg545c4e52006-05-17 22:55:04 +00004620 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00004621
4622
Werner Lemberg545c4e52006-05-17 22:55:04 +00004623 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
4624 `cursor' and `limit'.
4625
4626 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
4627 New functions.
4628 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
4629 [TEST]: Remove.
4630
4631 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
4632 code.
4633
4634 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
4635 `FT_ZERO'
4636 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
4637 (af_glyph_hints_reload: Rewrite recognition of weak points.
4638
4639 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
4640 constant values out of the loops.
4641
4642 * src/autofit/aftypes.h: Updated.
4643
4644 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
4645
4646 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
4647 product to get orientation.
4648
4649 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
4650 (FT_Stream_OpenGzip): Use it to handle small files directly in
4651 memory.
4652
4653 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
4654 Improve performance.
4655
4656 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
4657 `limit'.
4658
4659 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
4660 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
4661 exceedingly large values of number of contours. Speed up by
4662 reducing the number of loops.
4663
4664 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
4665
4666
4667 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
4668 used to detect rogue clients from 4 to 16. This is to prevent some
4669 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
4670 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00004671
Werner Lembergde2d90a2006-05-17 08:54:30 +000046722007-05-17 Werner Lemberg <wl@gnu.org>
4673
4674 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00004675 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00004676
46772006-05-16 Werner Lemberg <wl@gnu.org>
4678
4679 * docs/PROBLEMS: Updated icl issues.
4680
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004681----------------------------------------------------------------------------
4682
Werner Lembergf2e33c12009-01-06 06:59:36 +00004683Copyright 2006, 2007, 2008, 2009 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004684David Turner, Robert Wilhelm, and Werner Lemberg.
4685
4686This file is part of the FreeType project, and may only be used, modified,
4687and distributed under the terms of the FreeType project license,
4688LICENSE.TXT. By continuing to use, modify, or distribute this file you
4689indicate that you have read the license and understand and accept it
4690fully.
4691
4692
4693Local Variables:
4694version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00004695coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00004696End: