blob: 68e7937e11a18eb52dd14a02bd0084503de559c5 [file] [log] [blame]
Oran Agra3da7e682009-04-05 17:30:14 +030012009-04-05 Oran Agra <oran@monfort.co.il>
2
Oran Agra636c2942009-04-05 17:59:26 +03003 Position Independent Code (PIC) support and infrastructure in base.
4
5 * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
6 * include/freetype/internal/ftobjs.h Add pic_container member to
7 FT_LibraryRec.
8 Add macros to declare and init instances of FT_CMap_ClassRec.
9 Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
10 Add macros to declare, allocate and initialize modules
11 (FT_Module_Class).
12 Add macros to declare, allocate and initialize renderers
13 (FT_Renderer_Class).
14 Add macro to init instances of FT_Glyph_Class.
15 Add macros to declare, allocate and initialize drivers
16 (FT_Driver_ClassRec).
17 * include/freetype/internal/ftpic.h new file to declare the
18 FT_PIC_Container struct and the functions to allocate and detroy it.
19 * include/freetype/internal/ftserv.h add macros to allocate and
20 destory arrays of FT_ServiceDescRec.
21 * include/freetype/internal/internal.h define macro to include
22 ftpic.h.
23
24 New Files:
25 * src/base/ftpic.c implement functions to allocate and destory the
26 global pic_container.
27 * src/base/basepic.h declare struct to hold PIC globals for base and
28 macros to access them.
29 * src/base/basepic.c implement functions to allocate, destroy and
30 initialize PIC globals for base.
31
32 * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
33 functions that allocate and destroy ft_default_modules according to
34 FT_CONFIG_MODULES_H in the pic_container instead of the global scope
35 and use macro from basepic.h to access it.
36 * src/base/ftobjs.c add calls to the functions that allocate and
37 destroy the global pic_container when the library is created and
38 destroyed.
39
40 * src/base/jamfile add new files to FT2_MULTI build:
41 ftpic.c and basepic.c.
42 * src/base/ftbase.c add new files to build:
43 ftpic.c and basepic.c.
44
45 * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
46 ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
47 in the pic_container instead of the global scope and use macros from
48 basepic.h to access them.
49 * src/base/ftbbox.c allocate bbox_interface stract on the stack
50 instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
51 * src/base/ftstroke.c access ft_outline_glyph_class allocated in
52 ftglyph.c via macros from basepic.h
53
542009-04-05 Oran Agra <oran@monfort.co.il>
55
Oran Agra2589e5f2009-04-05 17:34:40 +030056 Preparing changes in cff parser later needed for PIC version.
57
58 * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
59 src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
60 'CFF_ParserRec' set by `cff_parser_init'.
61 Route library pointer from 'cff_face_init' to 'cff_subfont_load'
62 for `cff_parser_init'.
63
64 * src/cff/cffparse.c (CFF_Field_Handler): Move it to...
65 * src/cff/cffparse.h: This file, to be used by other C files.
66
672009-04-05 Oran Agra <oran@monfort.co.il>
68
Oran Agra3da7e682009-04-05 17:30:14 +030069 Minor change in ftstroke.c.
70
71 * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
72 `library' needed for PIC version.
73 Update all callers.
74
Werner Lembergca98f8c2009-04-04 07:42:38 +0200752009-04-04 Werner Lemberg <wl@gnu.org>
76
Werner Lemberg314f35a2009-04-04 09:20:14 +020077 ftnames.c -> ftsnames.c
78
79 * src/base/ftnames.c: Rename to...
80 * src/base/ftsnames.c: This.
81 * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
82
832009-04-04 Werner Lemberg <wl@gnu.org>
84
Werner Lembergca98f8c2009-04-04 07:42:38 +020085 Add support for cmap type 13.
86
87 * devel/ftoption.h, include/freetype/config/ftoption.h
88 (TT_CONFIG_CMAP_FORMAT_13): New macro.
89
90 * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
91 tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
92 tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
93 tt_cmap14_class_rec): New functions and structures for cmap 13
94 support.
95 (tt_cmap_classes): Register tt_cmap13_class_rec.
96
97 * docs/CHANGES: Mention cmap 13 support.
98
Werner Lembergfbdf1272009-04-01 08:03:37 +0200992009-04-01 Werner Lemberg <wl@gnu.org>
100
101 Ignore empty contours in CFF glyphs.
102
103 Problem reported by Albert Astals Cid <aacid@kde.org>.
104
105 * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
106 t1_builder_close_contour.
107
Werner Lemberg16bd51c2009-03-21 07:48:34 +01001082009-03-21 Werner Lemberg <wl@gnu.org>
109
Werner Lemberg4d1a34c2009-03-21 10:42:56 +0100110 Another redundant header inclusion.
111
112 * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
113
1142009-03-21 Werner Lemberg <wl@gnu.org>
115
Werner Lemberg86e041b2009-03-21 08:51:44 +0100116 Remove redundant header inclusions.
117
118 This covers many Ghostscript Coverity issues.
119
120 * src/*: Do it.
121
1222009-03-21 Werner Lemberg <wl@gnu.org>
123
Werner Lemberg16bd51c2009-03-21 07:48:34 +0100124 Fix Ghostscript Coverity issue #3904.
125
126 * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
Werner Lembergb3e6df62009-03-21 10:45:18 +0100127 invalid values of `runcnt'.
Werner Lemberg16bd51c2009-03-21 07:48:34 +0100128
Werner Lemberg0545ec12009-03-20 06:49:10 +01001292009-03-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg79972af2009-03-20 08:21:37 +0100130
Werner Lemberg7171ff52009-03-20 21:08:29 +0100131 Fix `make multi' run.
132
133 * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
134
1352009-03-20 Werner Lemberg <wl@gnu.org>
136
Werner Lemberg9dbfac22009-03-20 09:13:59 +0100137 Fix Savannah bug #25923.
138
139 * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
140
1412009-03-20 Werner Lemberg <wl@gnu.org>
142
Werner Lemberg79972af2009-03-20 08:21:37 +0100143 Protect against too large glyphs.
144
145 Problem reported by Tavis Ormandy <taviso@google.com>.
146
147 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
148 `width' or `pitch' to be larger than 0xFFFF.
149
1502009-03-20 Werner Lemberg <wl@gnu.org>
Werner Lemberga18788b2009-03-20 08:03:58 +0100151 Tavis Ormandy <taviso@google.com>
152
153 Fix validation for various cmap table formats.
154
155 * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
156 tt_cmap12_validate): Check `length' correctly.
157 (tt_cmap_14_validate): Check `length' and `numMappings' correctly.
158
1592009-03-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg0545ec12009-03-20 06:49:10 +0100160
Werner Lemberg0a05ba22009-03-20 07:19:45 +0100161 Protect against malformed compressed data.
162
Werner Lemberg0a05ba22009-03-20 07:19:45 +0100163 * src/lsw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
164 zero.
165
1662009-03-20 Werner Lemberg <wl@gnu.org>
167
Werner Lemberg0545ec12009-03-20 06:49:10 +0100168 Protect against invalid SID values in CFFs.
169
170 Problem reported by Tavis Ormandy <taviso@google.com>.
171
172 * src/cff/cffload.c (cff_charset_load): Reject SID values larger
173 than 64999.
174
Vincent Richomme8b819252009-03-19 08:30:49 +01001752009-03-19 Vincent Richomme <richom.v@free.fr>
176
177 Update WinCE Visual C project files.
178
179 * builds/wince/vc2005-ce/freetype.vcproj,
180 builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
181 files.
182
Werner Lemberga9ba23c2009-03-19 08:27:59 +01001832009-03-19 Werner Lemberg <wl@gnu.org>
184
185 Remove unused Win32 code.
186
187 * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
188 Since Win32 is handled separately this is no longer needed.
189
Vincent Richomme91b127f2009-03-19 08:17:50 +01001902009-03-19 Vincent Richomme <richom.v@free.fr>
191
192 Make `gzip' module compile on WinCE.
193
194 * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
195
Werner Lemberg80c253f2009-03-19 08:05:06 +01001962009-03-19 Werner Lemberg <wl@gnu.org>
197
198 Remove unused WinCE code.
199
200 * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
201 Since WinCE is handled separately this is no longer needed.
202
Werner Lemberg7bb10052009-03-16 20:42:38 +01002032009-03-16 Werner Lemberg <wl@gnu.org>
204
205 docmaker: Don't ignore single-line code blocks.
206
207 * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
208 2009-01-31.
209
Steve Langasek2cd5dce2009-03-15 00:58:25 -07002102009-03-15 Steve Langasek <steve.langasek@canonical.com>
211
212 Use __asm__ for declaring assembly instead of asm.
213
214 * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
215 asm on arm, fixing a build failure on armel with -pedantic.
216
Werner Lemberge4661642009-03-14 23:32:24 +01002172009-03-14 Werner Lemberg <wl@gnu.org>
218
219 Fix valgrind warning.
220
221 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
222 past the end of the frame.
223
Werner Lemberga284ab62009-03-12 08:11:12 +00002242009-03-12 Werner Lemberg <wl@gnu.org>
225
Werner Lembergf4f5ba22009-03-12 09:56:04 +0000226 * Version 2.3.9 released.
227 =========================
228
229
230 Tag sources with `VER-2-3-9'.
231
2322009-03-12 Werner Lemberg <wl@gnu.org>
233
Werner Lemberga284ab62009-03-12 08:11:12 +0000234 * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
235
2362009-03-12 Werner Lemberg <wl@gnu.org>
Werner Lembergb66efef2009-03-12 08:07:49 +0000237
238 Fix some FreeType Coverity issues as reported for Ghostscript.
239
240 * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
241 `args.stream' (#3874, #3875).
242 (open_face_PS_from_sfnt_stream): Improve error management (#3786).
243 * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
244 (#3870).
245 * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
246 code (#3790).
247 * src/base/ftrfork.c (raccess_guess_apple_generic): Check error
248 value of `FT_Stream_Skip' (#3784).
249
250 * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
251 it (#3872)
252
253 * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
254 it (#3871).
255 * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
256 `pcf_get_metric' (#3789, #3782).
257 (pcf_get_properties): Use FT_STREAM_SKIP (#3783).
258
259 * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
260 `acache' (#3797)
261
262 * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
263 (#3796).
264 * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
265 * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
266
267 * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
268 (#3793).
269 (_bdf_parse_start): Add comment (#3792).
270
271 * src/raster/ftraster.c (Finalize_Profile_Table): Check
272 `ras.fProfile' (#3791).
273
274 * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
275
276 * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
277 seek error (#3781).
278
Werner Lemberg07e81812009-03-11 21:29:54 +00002792009-03-11 Michael Toftdal <toftdal@gmail.com>
280
281 Extend CID service functions to handle CID-keyed CFFs as CID fonts.
282
283 * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
284 FT_Get_CID_From_Glyph_Index): New functions.
285
286 * include/freetype/internal/services/svcid.h
287 (FT_CID_GetIsInternallyCIDKeyedFunc,
288 FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
289 (CID Service): Use them.
290
291 * src/base/ftcid.c: Include FT_CID_H.
292 (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
293 New functions.
294
295 * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
296 New functions.
297 (cff_service_cid_info): Add them.
298 * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
299 -- it is needed for access as a CID-keyed font. It gets deleted
300 later on.
301
302 * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
303 New functions.
304 (cid_service_cid_info): Add them.
305
306 * docs/CHANGES: Updated.
307
Werner Lemberg9318df02009-03-11 10:20:51 +00003082009-03-11 Bram Tassyns <bramt@enfocus.be>
309
310 Fix Savannah bug #25597.
311
312 * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
313 to become larger than 9.
314
Werner Lemberg34ca21e2009-03-11 05:35:01 +00003152009-03-11 Werner Lemberg <wl@gnu.org>
316
Werner Lemberg911f4312009-03-11 07:07:37 +0000317 Fix Savannah bug #25814.
318
319 * builds/unix/freetype2.in: As suggested in the bug report, move
320 @LIBZ@ to `Libs.private'.
321
3222009-03-11 Werner Lemberg <wl@gnu.org>
323
Werner Lemberg801e7ba2009-03-11 06:47:49 +0000324 Fix Savannah bug #25781.
325 We now simply check for a valid `offset', no longer handling `delta
326 = 1' specially.
327
328 * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
329 last segment.
330 (tt_cmap4_set_range, tt_cmap4_char_map_linear,
331 tt_cmap4_char_map_binary): Check offset.
332
3332009-03-11 Werner Lemberg <wl@gnu.org>
334
Werner Lemberg34ca21e2009-03-11 05:35:01 +0000335 * src/base/Jamfile: Fix handling of ftadvanc.c.
336 Reported by Oran Agra <oran@monfort.co.il>.
337
Werner Lemberg31f5bbb2009-03-10 11:54:51 +00003382009-03-10 Vincent Richomme <richom.v@free.fr>
339
340 Restructure Win32 and Wince compiler support.
341
342 * src/builds/win32: Remove files for WinCE.
343 Move VC 2005 support to a separate directory.
344 Add directory for VC 2008 support.
345
346 * src/builds/wince: New directory hierarchy for WinCE compilers
347 (VC 2005 and VC 2008).
348
Werner Lemberg8312ab72009-03-09 13:18:47 +00003492009-03-09 Werner Lemberg <wl@gnu.org>
350
Werner Lemberg21dab912009-03-09 18:06:28 +0000351 More preparations for 2.3.9 release.
352
353 * docs/CHANGES: Updated.
354
355 * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
356
3572009-03-09 Werner Lemberg <wl@gnu.org>
358
Werner Lemberg8312ab72009-03-09 13:18:47 +0000359 * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
360
Werner Lembergee3cc2e2009-03-09 13:13:44 +00003612009-03-09 Alexey Kryukov <anagnost@yandex.ru>
362
363 Fix handling of EBDT formats 8 and 9 (part 2).
364
365 This patch fixes the following problems in ttsbit0.c:
366
367 . Bitmaps for compound glyphs were never allocated.
368
369 . `SBitDecoder' refused to load metrics if some other metrics have
370 already been loaded. This condition certainly makes no sense for
371 recursive calls, so I've just disabled it. Another possibility
372 would be resetting `decoder->metrics_loaded' to false before
373 loading each composite component. However, we must restore the
374 original metrics after finishing the recursion; otherwise we can
375 get a misaligned glyph.
376
377 . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
378 causing some glyph components to be shifted too far to the right
379 (especially noticeable for small sizes).
380
381 Note that support for grayscale bitmaps (not necessarily compound) is
382 completely broken in ttsbit0.c.
383
384 * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
385 (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
386 of `h == height'.
387 (tt_sbit_decoder_load_compound): Reset metrics after loading
388 components.
389 Allocate bitmap.
390
Werner Lemberg1a5edf72009-03-09 08:36:18 +00003912009-03-09 Werner Lemberg <wl@gnu.org>
392
393 * builds/unix/configure.raw (version_info): Set to 9:20:3.
394
David Turner01ca4da2009-03-03 13:28:59 +00003952009-03-03 David Turner <david@freetype.org>
396
Werner Lemberg42f5c712009-03-03 23:34:49 +0000397 Protect SFNT kerning table parser against malformed tables.
David Turnerab7e52b2009-03-03 22:37:13 +0000398
Werner Lemberg42f5c712009-03-03 23:34:49 +0000399 This closes Savannah BUG #25750.
400
401 * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
402 bug where a malformed table would be successfully loaded but later
403 crash the engine during parsing.
David Turnerab7e52b2009-03-03 22:37:13 +0000404
4052009-03-03 David Turner <david@freetype.org>
406
Werner Lemberg15b60bb2009-03-03 21:35:32 +0000407 Update documentation and bump version number to 2.3.9.
David Turnercda6f492009-03-03 20:49:32 +0000408
Werner Lemberg15b60bb2009-03-03 21:35:32 +0000409 * include/freetype/freetype.h: Bump patch version to 9.
410 * docs/CHANGES: Document the ABI break in 2.3.8.
411 * docs/VERSION.DLL: Update version numbers table for 2.3.9.
David Turnercda6f492009-03-03 20:49:32 +0000412
4132009-03-03 David Turner <david@freetype.org>
414
David Turner01ca4da2009-03-03 13:28:59 +0000415 Remove ABI-breaking field in public PS_InfoFontRec definition.
Werner Lemberg15b60bb2009-03-03 21:35:32 +0000416
David Turner01ca4da2009-03-03 13:28:59 +0000417 Instead, we define a new internal PS_FontExtraRec structure to
418 hold the additionnal field, then place it in various internal
419 positions of the corresponding FT_Face derived objects.
David Turnercda6f492009-03-03 20:49:32 +0000420
David Turner01ca4da2009-03-03 13:28:59 +0000421 * include/freetype/t1tables.h (PS_FontInfoRec): Remove the
422 `fs_type' field from the public structure.
Werner Lemberg15b60bb2009-03-03 21:35:32 +0000423 * include/freetype/internal/psaux.h (T1_FieldLocation): New
424 enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
425 * include/freetype/internal/t1types.h (PS_FontExtraRec): New
426 structure.
427 (T1_FontRec, CID_FaceRec): Add it.
David Turner01ca4da2009-03-03 13:28:59 +0000428
Werner Lemberg15b60bb2009-03-03 21:35:32 +0000429 * src/cid/cidload.c (cid_load_keyword): Handle
430 T1_FIELD_LOCATION_FONT_EXTRA.
431 * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
432 Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
433 * src/type1/t1load.c (t1_load_keyword): Handle
434 T1_FIELD_LOCATION_FONT_EXTRA.
David Turner01ca4da2009-03-03 13:28:59 +0000435
Werner Lemberg15b60bb2009-03-03 21:35:32 +0000436 * include/freetype/internal/services/svpsinfo.h (PsInfo service):
437 Add `PS_GetFontExtraFunc' function typedef.
438
439 * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
440 FT_SERVICE_POSTSCRIPT_INFO_H.
441 (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
442
443 * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
444 * src/cid/cidriver.c (cid_ps_get_font_extra): New function.
445 (cid_service_ps_info): Updated.
446 * src/type1/t1driver.c (t1_ps_get_font_extra): New function.
447 (t1_service_ps_info): Updated.
448 * src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
449 (t42_service_ps_info): Updated.
David Turner01ca4da2009-03-03 13:28:59 +0000450
Werner Lemberge5a7cc22009-03-02 09:09:12 +00004512009-03-02 Alexey Kryukov <anagnost@yandex.ru>
452
453 Fix handling of EBDT formats 8 and 9.
454
455 The main cycle in `blit_sbit' makes too many iterations: it actually
456 needs the count of lines in the source bitmap rather than in the
457 target image.
458
459 * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
460 Add parameter `source_height' and use it for main loop.
461 (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
462
Werner Lemberg14de1112009-02-24 21:34:51 +00004632009-02-23 Werner Lemberg <wl@gnu.org>
464
465 Fix Savannah bug #25669.
466
467 * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
468
469 * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
470 scaling factor for non-scalable fonts.
471
472 * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
473 value to prevent incorrect scaling.
474
475 * docs/CHANGES: Document it.
476
Werner Lemberg1e859922009-02-15 07:54:35 +00004772009-02-15 Matt Godbolt <matt@godbolt.org>
478
479 Fix Savannah bug #25588.
480
481 * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
482 `orr' instruction.
483
Werner Lemberg0552a492009-02-11 22:59:40 +00004842009-02-11 Werner Lemberg <wl@gnu.org>
485
486 * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
487 Reported by David Bevan <dbevan@emtex.com>.
488
Werner Lembergc2cabd42009-02-09 22:20:27 +00004892009-02-09 Werner Lemberg <wl@gnu.org>
490
491 Fix Savannah bug #25495.
492
493 * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
494 setting metrics and bbox values. This ensures that the check for a
495 font with neither a `glyf' table nor bitmap strikes can be performed
496 early enough to set metrics and bbox values too.
497
Werner Lemberg67bbcbd2009-02-04 07:59:16 +00004982009-02-04 Werner Lemberg <wl@gnu.org>
499
500 Fix Savannah bug #25480.
501
502 * builds/unix/freetype-config.in: For --ftversion, don't use $prefix
503 but $includedir.
504
Werner Lemberg763ae202009-01-30 23:45:53 +00005052009-01-31 Werner Lemberg <wl@gnu.org>
506
507 Minor docmaker improvements.
508
509 * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
510 code blocks.
511
Werner Lemberg1e5e7aa2009-01-25 16:27:04 +00005122009-01-25 Werner Lemberg <wl@gnu.org>
513
514 Fix SCANCTRL handling in TTFs.
515 Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
516
517 * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
518
Werner Lemberg5184ed62009-01-22 10:13:59 +00005192009-01-23 Werner Lemberg <wl@gnu.org>
520
521 Move FT_Get_FSType_Flags to a separate file.
522 Problem reported by Mickey Gabel <mickey@monfort.co.il>.
523
524 * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
525 * src/base/ftfstype.c: This new file.
526
527 * modules.cfg (BASE_EXTENSION): Add ftfstype.c.
528
529 * docs/INSTALL.ANY: Updated.
530
531 * builds/mac/*.txt, builds/amiga/*makefile*,
532 builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
533 Updated.
534
Suzuki, Toshiya (鈴木俊哉)5a009092009-01-22 03:50:37 +00005352009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
536
Suzuki, Toshiya (鈴木俊哉)a7c5de52009-01-22 04:00:32 +0000537 * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
538 messages ending without "\n".
539
5402009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
541
Suzuki, Toshiya (鈴木俊哉)5a009092009-01-22 03:50:37 +0000542 Fix Savannah bug #25347.
543
544 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
545 the stream to the original position passed to this function,
546 when ft_lookup_PS_in_sfnt_stream() failed.
547 (Mac_Read_sfnt_Resource): Rewind the stream to the head of
548 sfnt resource body, when open_face_PS_from_sfnt_stream()
549 failed.
550
Werner Lembergc591c172009-01-19 08:55:15 +00005512009-01-19 Michael Lotz <mmlr@mlotz.ch>
552
553 Fix Savannah bug #25355.
554
555 * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
556 assembler code work with gcc 2.95.3 (as used by the Haiku project).
557 Add `cc' register to the clobber list.
558
Werner Lemberg59e2c8d2009-01-18 06:42:59 +00005592009-01-18 Werner Lemberg <wl@gnu.org>
560
Werner Lemberg3739f8b2009-01-18 13:13:17 +0000561 Protect FT_Get_Next_Char.
562
563 * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
564 change from 2008-07-22.
565
566 Patch from Ronen Ghoshal <rghoshal@emtex.com>.
567
5682009-01-18 Werner Lemberg <wl@gnu.org>
569
Werner Lemberg4f7ef402009-01-18 10:53:29 +0000570 Implement FT_Get_Name_Index for SFNT driver.
571
572 * src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
573 (sfnt_service_glyph_dict): Use it.
574
575 Problem reported by Truc Truong <tructv@necsv.com>.
576
5772009-01-18 Werner Lemberg <wl@gnu.org>
578
Werner Lemberg59e2c8d2009-01-18 06:42:59 +0000579 * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
580 documentation. Problem reported by Truc Truong <tructv@necsv.com>.
581
582 * docs/CHANGES: Updated.
583
Werner Lembergfb4ddb22009-01-14 05:30:56 +00005842009-01-14 Werner Lemberg <wl@gnu.org>
585
Werner Lemberge22dd0b2009-01-14 06:52:18 +0000586 * Version 2.3.8 released.
587 =========================
588
589
590 Tag sources with `VER-2-3-8'.
591
592 * docs/VERSION.DLL: Update documentation and bump version number to
593 2.3.8.
594
595 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
596 builds/win32/visualc/freetype.dsp,
597 builds/win32/visualc/freetype.vcproj,
598 builds/win32/visualce/index.html,
599 builds/win32/visualce/freetype.dsp,
600 builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
601
602 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
603
604 * builds/unix/configure.raw (version_info): Set to 9:19:3.
605
606 * docs/release: Updated.
607
6082009-01-14 Werner Lemberg <wl@gnu.org>
609
Werner Lembergfb4ddb22009-01-14 05:30:56 +0000610 * builds/toplevel.mk (dist): Compress better.
611
Werner Lemberg24d72a12009-01-13 17:34:48 +00006122009-01-13 Werner Lemberg <wl@gnu.org>
613
Werner Lemberg9bf73ec2009-01-13 17:42:00 +0000614 * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
615 with C++.
616
6172009-01-13 Werner Lemberg <wl@gnu.org>
618
Werner Lemberg24d72a12009-01-13 17:34:48 +0000619 Don't use stdlib.h and friends directly.
620 Reported by Mickey Gabel <mickey@monfort.co.il>.
621
622 * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
623
624 * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
625 s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
626
627 * src/autofit/aftypes.h, src/autofit/afhints.c,
628 src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
629
630 * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
631
Werner Lemberge85baf42009-01-12 20:01:10 +00006322009-01-12 Werner Lemberg <wl@gnu.org>
633
Werner Lembergf47acf22009-01-12 20:11:14 +0000634 Avoid compiler warnings.
635
636 * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
637 Reported by Sean McBride <sean@rogue-research.com>.
638
6392009-01-12 Werner Lemberg <wl@gnu.org>
640
Werner Lemberge85baf42009-01-12 20:01:10 +0000641 Fix stdlib dependencies.
642
643 Problem reported by Mickey Gabel <mickey@monfort.co.il>.
644
645 * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
646
647 * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
648 s/memcpy/ft_memcpy/.
649 * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
650
Werner Lembergfc6d12a2009-01-11 10:55:45 +00006512009-01-11 Werner Lemberg <wl@gnu.org>
652
653 * docs/formats.txt: Add link to PCF specification.
654
Werner Lemberg214ca052009-01-11 11:45:54 +0000655 * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
656 documentation.
657
Suzuki, Toshiya (鈴木俊哉)759c07d2009-01-09 11:11:53 +00006582009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
659
660 * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
661 FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
662 FT_Int32, to match with the flags for FT_Load_Glyph().
663 * src/cff/cffdrivr.c (cff_get_advances): Ditto.
664 * src/truetype/ttdriver.c (tt_get_advances): Ditto.
665 * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
666 Ditto.
667 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
668 Ditto.
669
Suzuki, Toshiya (鈴木俊哉)68e16e02009-01-09 08:01:15 +00006702009-01-09 Daniel Zimmermann <netzimme@aol.com>
671
672 * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
Werner Lembergfc6d12a2009-01-11 10:55:45 +0000673 length check. From Savannah patch #6682.
Suzuki, Toshiya (鈴木俊哉)68e16e02009-01-09 08:01:15 +0000674
Werner Lemberg9d83d292009-01-09 07:58:08 +00006752009-01-09 Werner Lemberg <wl@gnu.org>
676
677 Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
678
679 * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
680 `count_offset' if it is zero (i.e., unused). Otherwise, the first
681 element of the structure which holds the data is erroneously
682 modified. Problem reported by Chi Nguyen <chint@necsv.com>.
683
Suzuki, Toshiya (鈴木俊哉)2dc10792009-01-09 05:07:15 +00006842009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
685
Suzuki, Toshiya (鈴木俊哉)a7c00b72009-01-09 07:21:16 +0000686 * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
687 FT_Get_Advances): Extend the type of load_flags from FT_UInt to
688 FT_UInt32, to pass 32-bit flags on 16bit platforms.
689 * src/cff/cffdrivr.c (cff_get_advances): Ditto.
690 * src/truetype/ttdriver.c (tt_get_advances): Ditto.
691 * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
692 Ditto.
693 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
694 Ditto.
695
6962009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
697
Suzuki, Toshiya (鈴木俊哉)2dc10792009-01-09 05:07:15 +0000698 * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
699 FT_Done_Face() cannot free all faces. If the list of the opened
700 faces includes broken face which FT_Done_Face() cannot free,
701 FT_Done_Library() retries FT_Done_Face() and it can fall into
702 an endless loop. See the discussion:
703 http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
704 http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
705
Werner Lemberga79de112009-01-07 08:27:37 +00007062009-01-07 Werner Lemberg <wl@gnu.org>
707
708 * docs/CHANGES: Document new key `a' in ftdiff.
709
Werner Lemberga86f1b92009-01-06 09:07:22 +00007102009-01-06 Werner Lemberg <wl@gnu.org>
711
Werner Lembergc3263722009-01-06 21:00:47 +0000712 * autogen.sh: Don't use GNUisms while calling sed. Problem reported
713 by Sean McBride.
714
7152009-01-06 Werner Lemberg <wl@gnu.org>
716
Werner Lemberga86f1b92009-01-06 09:07:22 +0000717 * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
718 and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
719 <chint@necsv.com>.
720
Werner Lembergc6791152009-01-06 07:07:39 +00007212009-01-06 Diego Pettenò <flameeyes@gmail.com>
722
723 * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
724 AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
725 this change can be found at
726 http://blog.flameeyes.eu/s/canonical-target.
727
728 From Savannah patch #6712.
729
Werner Lembergf2e33c12009-01-06 06:59:36 +00007302009-01-06 Sean McBride <sean@rogue-research.com>
731
732 * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
733
734 * src/base/ftmac.c: Remove some #undefs.
735
Werner Lemberg1ad384d2008-12-25 23:52:00 +00007362008-12-26 Werner Lemberg <wl@gnu.org>
737
738 Set `face_index' field in FT_Face for all font formats.
739
740 * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
741 sfnt/sfobjs.c (sfnt_init_face): Do it.
742
743 * docs/CHANGES: Document it.
744
Werner Lemberg66043b12008-12-22 18:09:48 +00007452008-12-22 Steve Grubb
746
David Turnercda6f492009-03-03 20:49:32 +0000747 * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
Werner Lemberg66043b12008-12-22 18:09:48 +0000748 Patch from Savannah bug #25151.
749
Werner Lemberg478cca12008-12-21 17:38:23 +00007502008-12-21 Werner Lemberg <wl@gnu.org>
751
Werner Lemberg3c5ad952008-12-21 17:51:12 +0000752 * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
753 src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
754 s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
755 errors in the bytecode interpreter only.
756
7572008-12-21 Werner Lemberg <wl@gnu.org>
758
Werner Lemberg478cca12008-12-21 17:38:23 +0000759 * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
760 arguments.
761 Fix return value for non-PFR fonts. Both problems reported by Chi
762 Nguyen <chint@necsv.com>.
763
Werner Lembergce33a312008-12-21 10:29:30 +00007642008-12-21 anonymous
765
766 FT_USE_MODULE declares things as:
767
768 extern const FT_Module_Class
769
770 (or similar for C++). However, the actual types of the variables
771 being declared are often different, e.g., FT_Driver_ClassRec or
772 FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
773
774 This works with most C compilers (since those structs begin with an
775 FT_Module_Class struct), but technically it's undefined behavior.
776
777 To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
778 paragraph 2:
779
780 All declarations that refer to the same object or function shall
781 have compatible type; otherwise, the behavior is undefined.
782
783 (And they are not compatible types.)
784
785 Most C compilers don't reject (or even detect!) code which has this
786 issue, but the GCC LTO development branch compiler does. (It
787 outputs the types of the objects while generating .o files, along
788 with a bunch of other information, then compares them when doing the
789 final link-time code generation pass.)
790
791 Patch from Savannah bug #25133.
792
793 * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
794
795 * builds/amiga/include/freetype/config/ftmodule.h,
796 include/freetype/config/ftmodule.h, */module.mk: Updated to declare
797 pass correct types to FT_USE_MODULE.
798
Werner Lembergb6fa8452008-12-21 09:46:31 +00007992008-12-21 Hongbo Ni <hongbo@njstar.com>
800
801 * src/autofit/aflatin.c (af_latin_hint_edges),
802 src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
Werner Lembergce33a312008-12-21 10:29:30 +0000803 (af_cjk_hint_edges): Protect against division by zero. This fixes
804 Savannah bug #25124.
Werner Lembergb6fa8452008-12-21 09:46:31 +0000805
Werner Lemberg05bf6872008-12-18 06:32:10 +00008062008-12-18 Werner Lemberg <wl@gnu.org>
807
808 * docs/CHANGES: Updated.
809
8102008-12-18 Bevan, David <dbevan@emtex.com>
811
812 Provide API for accessing embedding and subsetting restriction
813 information.
814
815 * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
816 FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
817 FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
818 FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
819 macros.
820 (FT_Get_FSType_Flags): New function declaration.
821
822 * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
823
824 * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
825 (t42_keywords): Handle `FSType'.
826
827 * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
828
Werner Lembergc8c4cc82008-12-17 10:50:31 +00008292008-12-17 Werner Lemberg <wl@gnu.org>
830
Werner Lembergcfc514e2008-12-17 11:03:26 +0000831 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
832 macros so that copying the source code into an application works
833 out of the box.
834
8352008-12-17 Werner Lemberg <wl@gnu.org>
836
837 * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
Werner Lembergc8c4cc82008-12-17 10:50:31 +0000838 FT_GlyphSlot_Own_Bitmap to...
839 * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
840
841 * docs/CHANGES: Document it.
842
Werner Lembergb972a2a2008-12-11 08:55:48 +00008432008-12-10 Werner Lemberg <wl@gnu.org>
844
845 Generalize the concept of `tricky' fonts by introducing
846 FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
847 engine is necessary for correct rendering.
848
849 At the same time, slightly modify the behaviour of tricky fonts:
850 FT_LOAD_NO_HINTING is now ignored. To really force raw loading
851 of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
852 FT_LOAD_NO_AUTOHINT must be used.
853
854 Finally, tricky TrueType fonts always use the bytecode interpreter
855 even if the patented code is used.
856
857 * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
858 New macros.
859
860 * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
861 semantics as described above.
862
863 * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
864 code of ...
865 (tt_face_init): This function, now simplified and updated to new
866 semantics.
867
868 * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
869 fonts.
870
871 * docs/CHANGES: Document it.
872
Werner Lemberg1474f432008-12-09 06:51:56 +00008732008-12-09 Werner Lemberg <wl@gnu.org>
874
875 Really fix Savannah bug #25010: An SFNT font with neither outlines
876 nor bitmaps can be considered as containing space `glyphs' only.
877
878 * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
879 a `glyf' table is missing.
880
881 * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
882 `glyf' table but a non-zero `loca' entry.
883 (tt_loader_init): Handle missing `glyf' table.
884
885 * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
886
887 * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
888 nor bitmaps is scalable.
889
Werner Lemberg76fffcd2008-12-05 18:37:44 +00008902008-12-05 Werner Lemberg <wl@nu.org>
891
Werner Lemberge3b083c2008-12-05 22:50:40 +0000892 * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
893 fixes Savannah bug #21190 which also provides a basic patch.
894
8952008-12-05 Werner Lemberg <wl@nu.org>
896
Werner Lemberg76fffcd2008-12-05 18:37:44 +0000897 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
898 0x100 instead of 0x10000; the latter value is already occupied by
899 FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
900
901
902 Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
903 bug #25010.
904
905 * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
906 outlines nor bitmaps.
907
908 * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
909 is no table with glyphs.
910
911
912 * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
913 message.
914
Werner Lembergafe60162008-12-01 12:53:00 +00009152008-12-01 Werner Lemberg <wl@gnu.org>
916
917 GDEF tables need `glyph_count' too for validation. Problem reported
918 by Chi Nguyen <chint@necsv.com>.
919
920 * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
921 (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
922 `glyph_count'.
923
Werner Lemberg1a5d5612008-11-29 22:50:24 +00009242008-11-29 Werner Lemberg <wl@gnu.org>
925
926 * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
927 src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
928 src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
929 src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
930 src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
931 (Atari PureC).
932
Werner Lembergb2cb6ce2008-11-29 09:32:12 +00009332008-11-29 James Cloos <cloos@jhcloos.com>
934
Werner Lemberg8f9b7f52008-11-29 17:35:58 +0000935 * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
936 it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
937 in the /BlendDesignMap space).
938
9392008-11-29 James Cloos <cloos@jhcloos.com>
940
Werner Lembergb2cb6ce2008-11-29 09:32:12 +0000941 * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
942 whereas `design_points' is FT_Long*. Therefore, return blend rather
943 than design points.
944
Werner Lembergc7597ed2008-11-27 21:55:20 +00009452008-11-27 Werner Lemberg <wl@gnu.org>
946
947 * src/cff/cffparse.c (cff_parse_real): Handle more than nine
948 significant digits correctly. This fixes Savannah bug #24953.
949
Werner Lemberg0a263a82008-11-25 05:44:41 +00009502008-11-25 Daniel Zimmermann <netzimme@aol.com>
951
952 * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
953 before the NULL check. From Savannah patch #6681.
954
Werner Lemberg52cd0fc2008-11-24 08:15:05 +00009552008-11-24 Werner Lemberg <wl@gnu.org>
956
957 Fixes from the gnuwin32 port.
958
959 * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
960
961 * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
962
963 * src/psaux/psobjs.c (ps_table_add): Check `length'.
964
Werner Lemberg105721a2008-11-15 10:35:51 +00009652008-11-15 Werner Lemberg <wl@gnu.org>
966
967 * src/truetype/ttinterp.c (tt_default_graphics_state): The default
968 value for `scan_type' is zero, as confirmed by Greg Hitchcock from
969 Microsoft. Problem reported by Michal Nowakowski
970 <miszka@limes.com.pl>.
971
Werner Lemberg312043f2008-11-12 06:29:41 +00009722008-11-12 Tor Andersson <tor.andersson@gmail.com>
973
974 * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
975 This fixes Savannah bug #24819.
976
Werner Lemberge7aad022008-11-08 22:00:55 +00009772008-11-08 Werner Lemberg <wl@gnu.org>
978
979 * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
980 since OpenType version 1.5 has been released.
981
982 * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
983 TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
984 (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
985 TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
986 TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
987 TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
988 TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
989 TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
990 TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
991 TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
992 TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
993 TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
994 TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
995 macros for OpenType 1.5.
996
Werner Lembergfb4ddb22009-01-14 05:30:56 +00009972008-11-08 Wenlin Institute <wenlin@wenlin.com>
Werner Lembergb6192822008-11-08 07:28:39 +0000998
999 * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
1000 slot->internal == NULL. Reported by Graham Asher.
1001
Werner Lemberg95120922008-11-08 07:20:25 +000010022008-11-08 Werner Lemberg <wl@gnu.org>
1003
1004 * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
1005 code so that memory allocation problems can be distinguished from
1006 missing table entries. Reported by Graham Asher.
1007 (GET_NAME): New macro.
1008 (sfnt_load_face): Use it.
1009
Werner Lembergc321b9b2008-11-05 14:34:29 +000010102008-11-05 Werner Lemberg <wl@gnu.org>
1011
1012 * devel/ftoption.h, include/freetype/config/ftoption.h
1013 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
1014 TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
David Turnercda6f492009-03-03 20:49:32 +00001015 `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
Werner Lembergc321b9b2008-11-05 14:34:29 +00001016 Reported in bug #441638 of bugzilla.novell.com.
1017
1018 * docs/CHANGES: Document it.
1019
Werner Lemberge0ed07d2008-11-04 10:37:30 +000010202008-11-03 Werner Lemberg <wl@gnu.org>
1021
1022 * src/type1/t1load.c (parse_subrs): Use an endless loop. There are
1023 fonts (like HELVI.PFB version 003.001, used on OS/2) which define
1024 some `subrs' elements more than once. Problem reported by Peter
1025 Weilbacher <mozilla@weilbacher.org>.
1026
Werner Lembergf31072c2008-10-15 20:03:37 +000010272008-10-15 Graham Asher <graham.asher@btinternet.com>
1028
1029 * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
1030
10312008-10-15 David Turner <david@freetype.org>
Suzuki, Toshiya (鈴木俊哉)69222662008-10-15 15:22:39 +00001032
1033 * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
1034 meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
1035
Werner Lemberg822604c2008-10-14 07:28:03 +000010362008-10-14 Werner Lemberg <wl@gnu.org>
1037
David Turnercda6f492009-03-03 20:49:32 +00001038 * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
Werner Lemberg822604c2008-10-14 07:28:03 +00001039 Suggested by Bram Tassyns in Savannah patch #6651.
1040
Werner Lemberg174b8de2008-10-12 11:47:29 +000010412008-10-12 Graham Asher <graham.asher@btinternet.com>
1042
1043 * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
1044 `underline_position'.
1045
10462008-10-12 Werner Lemberg <wl@gnu.org>
1047
1048 * docs/CHANGES: Updated.
1049
Suzuki, Toshiya (鈴木俊哉)1464bc52008-10-09 05:44:23 +000010502008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1051
1052 Fix Savannah bug #24468.
1053
1054 According to include/freetype/internal/ftobjs.h, the appropriate
1055 type to interchange single character codepoint is FT_UInt32. It
1056 should be distinguished from FT_UInt which can be 16bit integer.
1057
1058 * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
1059 of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
1060 (tt_cmap4_char_map_binary): Ditto.
1061 (tt_cmap14_get_nondef_chars): Change the type of return value
1062 from FT_UInt* to FT_UInt32*.
1063
10642008-10-08 John Tytgat <John.Tytgat@esko.com>
Werner Lembergfa9d3992008-10-08 16:04:46 +00001065
1066 Fix Savannah bug #24485.
1067
1068 * src/type1/t1load.c (parse_charstrings): Assure that we always have
1069 a .notdef glyph.
1070
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +000010712008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1072
Suzuki, Toshiya (鈴木俊哉)96d87be2008-10-05 03:08:10 +00001073 * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
1074 * builds/mac/ftmac.c: Ditto.
1075
10762008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1077
Werner Lemberg570b1fd2008-10-05 06:08:40 +00001078 * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
Suzuki, Toshiya (鈴木俊哉)af48cb02008-10-05 02:53:06 +00001079 * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
1080
10812008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1082
Werner Lemberg570b1fd2008-10-05 06:08:40 +00001083 * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
1084 the beginning of sfnt container.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +00001085 * src/sfnt/ttload.c (check_table_dir): Return
Werner Lemberg570b1fd2008-10-05 06:08:40 +00001086 `SFNT_Err_Table_Missing' when sfnt table directory structure is
1087 correct but essential tables for TrueType fonts (`head', `bhed' or
1088 `SING') are missing. Other errors are returned by
1089 SFNT_Err_Unknown_File_Format.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +00001090
1091 * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
Werner Lemberg570b1fd2008-10-05 06:08:40 +00001092 `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
1093 enabled only when old mac font support is configured.
Suzuki, Toshiya (鈴木俊哉)2d3e0af2008-10-05 02:38:57 +00001094
Suzuki, Toshiya (鈴木俊哉)72eb2702008-10-04 17:49:58 +000010952008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1096
Werner Lemberg570b1fd2008-10-05 06:08:40 +00001097 * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
1098 TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
1099 the repeated calculations of these values in ftobjs.c and ftmac.c.
Suzuki, Toshiya (鈴木俊哉)21bd5162008-10-04 18:10:28 +00001100 * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
1101 * src/base/ftmac.c: Ditto.
1102 * builds/mac/ftmac.c: Ditto.
1103
11042008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1105
Suzuki, Toshiya (鈴木俊哉)72eb2702008-10-04 17:49:58 +00001106 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
1107 initialization of *is_sfnt_cid.
1108
Werner Lemberg45489582008-10-04 11:39:03 +000011092008-10-04 Werner Lemberg <wl@gnu.org>
1110
1111 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
1112 warnings.
1113
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +000011142008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1115
1116 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
1117 (ft_lookup_PS_in_sfnt_stream): This.
Werner Lemberg45489582008-10-04 11:39:03 +00001118 (open_face_PS_from_sfnt_stream): New function. It checks whether
1119 the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
1120 font, then try to open a face for given face_index.
Suzuki, Toshiya (鈴木俊哉)1137d042008-10-04 07:11:58 +00001121 (Mac_Read_sfnt_Resource): Replace the combination of
1122 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
1123 `open_face_PS_from_sfnt_stream'.
1124 * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
1125 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
1126 * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
1127 `open_face_PS_from_sfnt_stream'.
1128
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +000011292008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1130
Werner Lemberg45489582008-10-04 11:39:03 +00001131 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
1132 FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
Suzuki, Toshiya (鈴木俊哉)bc2c4982008-10-03 12:28:52 +00001133
11342008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1135
Werner Lemberg45489582008-10-04 11:39:03 +00001136 * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
1137 MrC compiler of MPW is used. These compilers do not define the
1138 macro __APPLE__ by themselves.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +00001139 * builds/unix/ftconfig.in: Ditto.
1140 * builds/vms/ftconfig.h: Ditto.
Werner Lemberg45489582008-10-04 11:39:03 +00001141 * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
1142 include ftmac.c if FreeType 2 is built by MPW.
1143 * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
1144 enable shared functions for ftmac.c if FreeType 2 is built by MPW.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +00001145
1146 * builds/mac/ftmac.c: Include ftbase.h.
1147 (memory_stream_close): Removed.
1148 (new_memory_stream): Ditto.
1149 (open_face_from_buffer): Removed. Use the implementation in
1150 ftobjs.c.
1151 (ft_lookup_PS_in_sfnt): Ditto.
1152
1153 * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
Werner Lemberg45489582008-10-04 11:39:03 +00001154 included part of ftbase.c, to share the functions in ftobjs.c. The
1155 rule compiling ftmac.c separately is removed and the rule copying
1156 ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
Suzuki, Toshiya (鈴木俊哉)9e2b9902008-10-03 11:52:22 +00001157 * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
1158 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1159 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1160
Werner Lembergb17fb112008-10-02 10:17:32 +000011612008-10-02 Bram Tassyns <bramt@enfocus.be>
1162
1163 * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
1164 fixes Savannah bug #24430.
1165
Werner Lemberg89a1a512008-10-02 06:48:10 +000011662008-10-02 Werner Lemberg <wl@gnu.org>
1167
1168 * builds/freetype.mk (BASE_H): Rename to...
1169 (INTERNAL_H): This.
1170 (FREETYPE_H): Updated.
1171 * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
1172 * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
1173 * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
1174 * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
1175 * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
1176 * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
1177
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +000011782008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1179
1180 * src/base/ftbase.h: New file to declare the private utility
Werner Lembergcff15b02008-10-02 05:38:29 +00001181 functions shared by the sources of base modules. Currently,
1182 `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
1183 share between ftobjs.c and ftmac.c.
1184
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00001185 * src/base/rule.mk: Add ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +00001186
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00001187 * src/base/ftobjs.c: Include ftbase.h.
Werner Lembergcff15b02008-10-02 05:38:29 +00001188 (memory_stream_close): Build on any platform when old MacOS font
1189 support is enabled.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00001190 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +00001191 (open_face_from_buffer): Build on any platform when old MacOS font
1192 support is enabled. The counting of the face in a font file is
1193 slightly different between Carbon-dependent parser and Carbon-free
1194 parser. They are merged with the platform-specific conditional.
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00001195 (ft_lookup_PS_in_sfnt): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +00001196
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00001197 * src/base/ftmac.c: Include ftbase.h.
1198 (memory_stream_close): Removed.
1199 (new_memory_stream): Ditto.
Werner Lembergcff15b02008-10-02 05:38:29 +00001200 (open_face_from_buffer): Removed. Use the implementation in
Suzuki, Toshiya (鈴木俊哉)f4147022008-10-02 01:43:18 +00001201 ftobjs.c.
1202 (ft_lookup_PS_in_sfnt): Ditto.
1203
Werner Lembergce1bad02008-10-01 22:46:26 +000012042008-10-02 Werner Lemberg <wl@gnu.org>
1205
1206 * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
1207 if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
1208
Werner Lembergd03d8562008-10-01 22:39:05 +000012092008-10-01 Werner Lemberg <wl@gnu.org>
1210
1211 * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
1212 (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
1213 src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
1214 (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
David Turnercda6f492009-03-03 20:49:32 +00001215 src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
Werner Lembergd03d8562008-10-01 22:39:05 +00001216 Reported by Graham Asher.
1217
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +000012182008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1219
Werner Lembergfce4e232008-10-01 04:41:46 +00001220 * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
Werner Lembergcff15b02008-10-02 05:38:29 +00001221 multi' on Mac OS X. If the macro $(ftmac_c) is defined,
Werner Lembergfce4e232008-10-01 04:41:46 +00001222 $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
1223 lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
1224 ftmac.c.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +00001225 * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
1226 * builds/unix/configure.raw: Add procedure to set up appropriate
Werner Lembergfce4e232008-10-01 04:41:46 +00001227 value of $(ftmac_c) with the consideration of the availability of
1228 Carbon framework.
Suzuki, Toshiya (鈴木俊哉)ef4a9152008-09-30 16:21:07 +00001229
12302008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1231
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +00001232 * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
Werner Lembergfce4e232008-10-01 04:41:46 +00001233 * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
1234 function for MPW building. It is synchronized the condition to
1235 include ftmac.c source into ftbase.c.
Suzuki, Toshiya (鈴木俊哉)c6bdee52008-09-30 00:59:55 +00001236
Werner Lembergb4c810e2008-09-22 11:28:46 +000012372008-09-22 Werner Lemberg <wl@gnu.org>
1238
1239 * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
1240 cff_decoder_parse_charstrings): Handle (invalid)
1241 `callothersubr' and `pop' instructions.
1242
Werner Lembergbd0f71a2008-09-22 08:55:44 +000012432008-09-22 John Tytgat <John.Tytgat@esko.com>
1244
1245 Fix Savannah bug #24307.
1246
1247 * include/freetype/internal/t1types.h (CID_FaceRec),
1248 src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
1249
12502008-09-21 Werner Lemberg <wl@gnu.org>
1251
1252 * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
1253 `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
1254 Stephan T. Lavavej <stl@nuwen.net>.
1255
Suzuki, Toshiya (鈴木俊哉)815e1862008-09-21 18:33:57 +000012562008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1257
1258 * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
1259 by jam.
1260 * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
1261 jam.
1262
Werner Lemberg6874d852008-09-20 11:50:47 +000012632008-09-20 Werner Lemberg <wl@gnu.org>
1264
Werner Lemberg70f4cff2008-09-20 16:12:05 +00001265 * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
1266 passed to this function are already `normalized'. Problem reported
Werner Lembergbd0f71a2008-09-22 08:55:44 +00001267 by Stephan T. Lavavej <stl@nuwen.net>.
Werner Lemberg70f4cff2008-09-20 16:12:05 +00001268
1269 * docs/CHANGES: Document it.
1270
12712008-09-20 Werner Lemberg <wl@gnu.org>
1272
Werner Lemberg6874d852008-09-20 11:50:47 +00001273 * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
1274 (FT_Outline_Decompose): Decorate with tracing messages.
1275
1276 * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
1277 FT_DEBUG_LEVEL_TRACE.
1278 [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
1279 stdarg.h.
1280
1281 (FT_TRACE) [_STANDALONE_]: Remove.
1282 (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
1283 (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
1284 (FT_ERROR) [_STANDALONE_]: Updated.
1285
1286 (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
1287 Use FT_TRACE7.
1288 (gray_dump_cells): Make it `static void'.
Werner Lemberg70f4cff2008-09-20 16:12:05 +00001289 (gray_convert_glyph): Use FT_TRACE7.
Werner Lemberg6874d852008-09-20 11:50:47 +00001290
1291 (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
1292 ftoutln.c.
1293
1294 * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
1295 FT_ERROR_BASE.
1296
Werner Lemberg22e970a2008-09-20 12:20:21 +00001297 * docs/formats.txt: Updated.
1298
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +000012992008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1300
Suzuki, Toshiya (鈴木俊哉)3afbee82008-09-19 17:46:01 +00001301 * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
1302 CID-keyed font support.
1303 * builds/mac/ftmac.c: Ditto.
1304
13052008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1306
Werner Lemberg22e970a2008-09-20 12:20:21 +00001307 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
1308 sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
1309 `open_face_from_buffer' frees the passed buffer if it cannot open a
1310 face from the buffer, so the caller must not free it.
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +00001311
13122008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1313
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +00001314 * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
1315 for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
1316 (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
Werner Lemberg22e970a2008-09-20 12:20:21 +00001317 table in sfnt table directory. It is used before loading TrueType
Suzuki, Toshiya (鈴木俊哉)9ae5eaf2008-09-19 06:48:35 +00001318 font driver.
1319
Suzuki, Toshiya (鈴木俊哉)dec8e7b2008-09-19 16:47:01 +00001320 * docs/CHANGES: Add note about the current status of sfnt-wrapped
1321 Type1 and sfnt-wrapped CID-keyed font support.
1322
Werner Lemberg55c40632008-09-18 11:20:12 +000013232008-09-18 Werner Lemberg <wl@gnu.org>
1324
1325 * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
1326 orthogonality (ft_free and ft_sfree could belong to different memory
1327 pools). This fixes Savannah bug #24297.
1328
Suzuki, Toshiya (鈴木俊哉)0c0db3e2008-09-18 04:36:56 +000013292008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1330
1331 * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
1332 in ttags.h instead of numerical value 0x4F54544FL.
1333
Werner Lemberg634df6e2008-09-16 07:25:31 +000013342008-09-16 Werner Lemberg <wl@gnu.org>
1335
1336 * src/cff/cffgload.h, src/cff/cffgload.c
1337 (cff_decoder_set_width_only): Eliminate function call.
1338
Werner Lemberged6c0e02008-09-15 07:49:40 +000013392008-09-15 George Williams <gww@silcom.com>
1340
1341 Fix Savannah bug #24179, reported by Bram Tassyns.
1342
1343 * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
1344 of default values.
1345
13462008-09-15 Werner Lemberg <wl@gnu.org>
1347
1348 * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
1349 and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
1350 prevent unconditional definition. This fixes Savannah bug #24241.
1351
1352 * src/psnames/pstables.h: Regenerated.
1353
Werner Lembergb2116512008-09-12 16:27:48 +000013542008-09-13 Werner Lemberg <wl@gnu.org>
1355
1356 * autogen.sh, builds/unix/configure.raw,
1357 include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
1358 beautifying.
1359
1360 * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
1361 include/freetype/ftlcdfil.h: Protect against FreeType 1.
1362 Some other minor fixes.
1363
1364 * devel/ftoption.h: Synchronize with
1365 include/freetype/config/ftoption.h.
1366
Werner Lemberg8d3e6ec2008-09-11 08:29:14 +000013672008-09-11 Werner Lemberg <wl@gnu.org>
1368
1369 * src/base/ftbase.c: Include ftadvanc.c.
1370
Werner Lembergb2116512008-09-12 16:27:48 +000013712008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +00001372
1373 * builds/unix/ftconfig.in: Duplicate the cpp computation of
1374 FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
Werner Lembergb2116512008-09-12 16:27:48 +00001375 (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
1376 computation is disabled and the statically configured sizes are
1377 used. This fixes Savannah bug #21250.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +00001378
Werner Lembergb2116512008-09-12 16:27:48 +00001379 * builds/unix/configure.raw: Add the checks to compare the cpp
1380 computation results of the bit length of int and long versus the
1381 sizes detected by running `configure'. If the results are
1382 different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
1383 results.
1384 New option --{enable|disable}-biarch-config is added to define or
1385 undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
Suzuki, Toshiya (鈴木俊哉)59188662008-09-11 08:02:23 +00001386
Werner Lembergb2116512008-09-12 16:27:48 +000013872008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +00001388
Werner Lembergb2116512008-09-12 16:27:48 +00001389 * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
1390 ApplicationService framework is missing. Although this value is not
1391 used in building of FreeType2, it is written in `freetype2.pc' and
1392 `freetype-config'.
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +00001393
Werner Lembergb2116512008-09-12 16:27:48 +000013942008-09-01 david turner <david@freetype.org>
David Turner28534d62008-09-01 21:35:21 +00001395
Werner Lembergb2116512008-09-12 16:27:48 +00001396 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
1397 index to mean `use default cached FT_Face's charmap'. This fixes
1398 Savannah bug #22625.
1399 * include/freetype/ftcache.h: Document it.
David Turner17cd6872008-09-02 02:34:29 +00001400
Werner Lembergb2116512008-09-12 16:27:48 +00001401
1402 Make FT_MulFix an inlined function. This is done to speed up
David Turnerf47d2632008-09-02 02:21:58 +00001403 FreeType a little (on x86 3% when loading+hinting, 10% when
Werner Lembergb2116512008-09-12 16:27:48 +00001404 rendering, ARM savings are more important though). Disable this by
1405 undefining FT_CONFIG_OPTION_INLINE_MULFIX.
David Turnerf47d2632008-09-02 02:21:58 +00001406
Werner Lembergb2116512008-09-12 16:27:48 +00001407 Use of assembler code can now be controlled with
1408 FT_CONFIG_OPTION_NO_ASSEMBLER.
David Turner28534d62008-09-01 21:35:21 +00001409
Werner Lembergb2116512008-09-12 16:27:48 +00001410 * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
1411 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
1412 implementation.
1413 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
1414 implementation taken from `ftcalc.c'.
1415 [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
1416 which is defined to the platform-specific assembler implementation
1417 of FT_MulFix.
1418 [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
1419 (FT_MULFIX_INLINED): New macro.
David Turner28534d62008-09-01 21:35:21 +00001420
Werner Lembergb2116512008-09-12 16:27:48 +00001421 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
1422 FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
1423
1424 * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
1425
1426 * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
1427 FT_MULFIX_INLINED.
1428
1429
1430 Add a new header named FT_ADVANCES_H declaring some new APIs to
1431 extract the advances of one or more glyphs without necessarily
1432 loading their outlines. Also provide `fast loaders' for the
1433 TrueType, Type1, and CFF font drivers (more to come later).
1434
1435 * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
1436
1437 * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
1438 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
1439
1440 * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
1441 `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
1442 respectively.
1443
1444 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
1445 ftadvanc.c.
1446
1447 * src/cff/cffdrivr.c (cff_get_advances): New function.
1448 (cff_driver_class): Register it.
1449
1450 * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
1451 (cff_decoder_parse_charstrings): Handle `width_only'.
1452 (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
1453
1454 * src/cff/cffgload.h (cff_decoder): New element `width_only'.
1455 (cff_decoder_set_width_only): New declaration.
1456
1457 * src/truetype/ttdriver.c (tt_get_advances): New function.
1458 (tt_driver_class): Register it.
1459
1460 * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
1461 (TT_Get_HMetrics, TT_Get_VMetrics): This.
1462 Update callers.
1463 * src/truetype/ttgload.h: Declare them.
1464
1465 * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
1466 function.
1467 * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
1468
1469
1470 Add checks for minimum version of the `autotools' stuff.
1471
1472 * autogen.sh: Implement it.
1473 (get_major_version, get_minor_version, get_patch_version,
1474 compare_to_minimum_version, check_tool_version): New auxiliary
1475 functions.
1476
1477 * README.CVS: Document it.
1478
14792008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)7981fe22008-08-29 06:09:03 +00001480
1481 * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
1482 ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
1483
Werner Lemberg4dbf00a2008-08-28 16:12:48 +000014842008-08-28 Werner Lemberg <wl@gnu.org>
1485
1486 * src/type1/t1load.c (parse_encoding): Protect against infinite
1487 loop. This fixes Savannah bug #24150 (where a patch has been posted
1488 too).
1489
Werner Lemberga4cb0d92008-08-23 19:54:06 +000014902008-08-23 Werner Lemberg <wl@gnu.org>
1491
1492 * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
1493 (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
1494 #24119.
1495
Werner Lembergb2116512008-09-12 16:27:48 +000014962008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +00001497
Werner Lemberga4cb0d92008-08-23 19:54:06 +00001498 * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
1499 even if passed library or arguments are invalid. This fixes a bug
1500 that an uninitialized stream is freed when an invalid library handle
1501 is passed. Originally proposed by Mike Fabian, 2008/08/18 on
1502 freetype-devel.
Suzuki, Toshiya (鈴木俊哉)4c60bd92008-08-19 15:35:44 +00001503 (FT_Open_Face): Ditto (stream).
1504 (load_face_in_embedded_rfork): Ditto (stream2).
1505
Werner Lembergb2116512008-09-12 16:27:48 +000015062008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +00001507
Werner Lemberg77f73582008-08-19 04:53:02 +00001508 * src/base/ftmac.c: Add a fallback to guess the availability of the
1509 `ResourceIndex' type. It is used when built without configure
1510 (e.g., a build with Jam).
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +00001511 * builds/mac/ftmac.c: Ditto.
Werner Lemberg77f73582008-08-19 04:53:02 +00001512 * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
1513 explicitly, even if `ResourceIndex' is unavailable.
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +00001514
Werner Lembergb2116512008-09-12 16:27:48 +000015152008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +00001516
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +00001517 * builds/unix/configure.raw: In checking of Mac OS X features,
Werner Lemberg77f73582008-08-19 04:53:02 +00001518 all-in-one header file `Carbon.h' is replaced by the minimum
1519 header file `CoreServices.h', similar to current src/base/ftmac.c.
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +00001520
Werner Lembergb2116512008-09-12 16:27:48 +000015212008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +00001522
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +00001523 * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
Werner Lemberg77f73582008-08-19 04:53:02 +00001524 sub-header when its code_count is 0. Many Japanese Dynalab fonts
1525 include such an empty sub-header (code_count == 0, first_code == 0
1526 delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
Suzuki, Toshiya (鈴木俊哉)a2637822008-08-18 04:44:56 +00001527
Werner Lemberg7fd20182008-08-04 18:46:37 +000015282008-08-04 Werner Lemberg <wl@gnu.org>
1529
1530 * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
1531 Savannah bug #23995.
1532
1533 * src/cid/cidload.c (parse_expansion_factor): New callback function.
1534 (cid_field_records): Use it for `ExpansionFactor'.
1535 * src/cod/cidtoken.h: Handle `ForceBold' keyword.
1536 Don't handle `ExpansionFactor'.
1537
Werner Lembergeba3eee2008-08-04 15:54:24 +000015382008-08-04 Bram Tassyns <bramt@enfocus.be>
1539
1540 * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
1541 resulted in incorrect scaling. This fixes Savannah bug #23973.
1542
Werner Lemberg17e69012008-08-04 05:45:41 +000015432008-08-04 Werner Lemberg <wl@gnu.org>
1544
1545 Be more tolerant w.r.t. invalid entries in SFNT table directory.
1546
1547 * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
1548 adjust table count.
1549 Add more trace messages.
1550 (tt_face_load_font_dir): Updated.
1551
Werner Lemberg806f5932008-07-30 05:28:37 +000015522008-07-30 Werner Lemberg <wl@gnu.org>
1553
1554 * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
1555 assume that the first argument on the stack is the bottom-most
1556 element. Two reasons:
1557
1558 o According to people from Adobe it is missing in the Type 2
1559 specification that pushing of additional, superfluous arguments
1560 on the stack is prohibited.
1561
1562 o Acroread in general handles fonts differently, namely by popping
1563 the number of arguments needed for a particular operand (as a PS
1564 interpreter would do). In case of buggy fonts this causes a
1565 different interpretation which of the elements on the stack are
1566 superfluous and which not.
1567
1568 Since there are CFF subfonts (embedded in PDFs) which rely on
1569 Acroread's behaviour, FreeType now does the same.
1570
Werner Lemberg7f30c0c2008-07-27 05:43:59 +000015712008-07-27 Werner Lemberg <wl@gnu.org>
1572
1573 Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
Werner Lemberg57586882009-01-06 09:40:22 +00001574 fixes Savannah bug #23940.
Werner Lemberg7f30c0c2008-07-27 05:43:59 +00001575
1576 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
1577 (EXTRA_GLYPH_LIST_SIZE): This.
1578 Increase by 2.
1579 (ft_wgl_extra_unicodes): Rename to...
1580 (ft_extra_glyph_unicodes): This.
1581 Add two code values.
1582 (ft_wgl_extra_glyph_names): Rename to...
1583 (ft_extra_glyph_names): This.
1584 Add two glyphs.
1585 (ft_wgl_extra_glyph_name_offsets): Rename to...
1586 (ft_extra_glyph_name_offsets): This.
1587 Add two offsets.
1588
1589 (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
1590 (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
1591 Updated.
1592 (ps_unicodes_init): Updated.
1593
Werner Lembergbdcfddc2008-07-26 21:22:20 +000015942008-07-26 Werner Lemberg <wl@gnu.org>
1595
1596 * src/cff/cffgload.c (cff_decoder_prepare,
1597 cff_decoder_parse_charstrings): Improve debug output.
1598
Werner Lemberge75da452008-07-22 20:59:59 +000015992008-07-22 Martin McBride <mmcbride@emtex.com>
1600
1601 * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
1602 tt_cmap4_char_map_binary): Handle fonts which treat the last segment
1603 specially. According to the specification, such fonts would be
1604 invalid but acroread accepts them.
1605
Werner Lemberg50997cd2008-07-16 21:03:40 +000016062008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
1607
1608 * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
1609
1610 * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
1611
1612 * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
1613 Fix compiler warning.
1614
Werner Lemberg3d2f06f2008-07-16 06:13:34 +000016152008-07-16 Werner Lemberg <wl@gnu.org>
1616
Werner Lemberge75da452008-07-22 20:59:59 +00001617 Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00001618
1619 * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
1620 Invert sids table only if `pure_cff' is set.
1621 * src/cff/cffload.h: Udpated.
1622
1623 * src/cff/cffobjs.c (cff_face_init): Updated.
Werner Lembergbd48d352008-07-16 07:05:11 +00001624 Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
Werner Lemberg3d2f06f2008-07-16 06:13:34 +00001625
Werner Lemberge75da452008-07-22 20:59:59 +00001626 * docs/CHANGES: Updated.
1627
Werner Lemberg6b19e092008-07-09 06:20:12 +000016282008-07-09 Werner Lemberg <wl@gnu.org>
1629
1630 * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
1631 where num_locations < num_glyphs. Problem reported by Ding Li.
1632
Werner Lemberg4e33f9e2008-07-05 06:35:28 +000016332008-07-05 Werner Lemberg <wl@gnu.org>
1634
1635 Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
Werner Lembergca6fc732008-07-05 06:36:39 +00001636 newer. This fixes Savannah bug #23648.
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00001637
1638 * configure: zsh doesn't like ${1+"$@"}.
1639 Update needed GNU make version.
1640 * builds/toplevel.mk: Check for `$(eval ...)'.
1641 * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
1642 it.
1643
Werner Lemberg71b8f3f2008-07-04 07:22:06 +000016442008-07-04 Werner Lemberg <wl@gnu.org>
1645
1646 * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
1647 pixel, only check for dropouts if neither start nor end point lies
1648 on a pixel center. This fixes Savannah bug #23762.
1649
Werner Lembergbe54a682008-06-29 07:43:41 +000016502008-06-29 Werner Lemberg <wl@gnu.org>
1651
1652 * Version 2.3.7 released.
1653 =========================
1654
1655
1656 Tag sources with `VER-2-3-7'.
1657
1658 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1659 version number to 2.3.7.
1660
1661 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1662 builds/win32/visualc/freetype.dsp,
1663 builds/win32/visualc/freetype.vcproj,
1664 builds/win32/visualce/index.html,
1665 builds/win32/visualce/freetype.dsp,
1666 builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
1667
1668 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
1669
1670 * builds/unix/configure.raw (version_info): Set to 9:18:3.
1671
1672 * docs/release: Updated.
1673
Werner Lemberg4e7d9842008-06-27 22:26:11 +000016742008-06-28 Werner Lemberg <wl@gnu.org>
1675
Werner Lembergbe54a682008-06-29 07:43:41 +00001676 * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
Werner Lemberg4e7d9842008-06-27 22:26:11 +00001677 * src/ftcalc.c: Here. This fixes Savannah bug #23729.
1678
Werner Lemberga741c6f2008-06-27 06:58:48 +000016792008-06-27 Werner Lemberg <wl@gnu.org>
1680
1681 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
1682 Horizontal_Gray_Sweep_Drop): Test for intersections which
1683 degenerate to a single point can be ignored; this has been confirmed
1684 by Greg Hitchcock from Microsoft. (This was commented out code.)
1685
Werner Lemberg8a9b6392008-06-26 19:56:51 +000016862008-06-26 Werner Lemberg <wl@gnu.org>
1687
1688 Improve navigation in API reference.
1689
1690 * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
1691 (html_header_6): This.
1692 (html_header_3, html_header_3i, html_header_4, html_header_5,
1693 html_header_5t): New strings.
1694 (toc_footer_start, toc_footer_end): New strings.
1695 (HtmlFormatter::html_header): Updated.
1696 (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
1697 New strings.
1698 (HtmlFormatter::index_enter): Use `html_index_header'.
1699 (HtmlFormatter::index_exit): Print `html_footer'.
1700 (HtmlFormatter::toc_enter): Use `html_toc_header'.
1701 (HtmlFormatter::toc_exit): Print proper footer.
1702
1703 Convert ~ to non-breakable space.
1704
1705 * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
1706 Update header files accordingly.
1707
Werner Lembergb2116512008-09-12 16:27:48 +000017082008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001709
Werner Lemberg8a9b6392008-06-26 19:56:51 +00001710 * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
Werner Lemberge172c332008-06-25 22:21:42 +00001711 and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
1712 bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
1713 ResourceIndex type definition. The macro does not inform the type
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001714 availability.
1715 * src/base/ftmac.c: More parentheses are inserted to clarify the
Werner Lemberge172c332008-06-25 22:21:42 +00001716 conditionals to disable legacy APIs in `10.5 and later' cases. If
1717 HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +00001718
Werner Lemberg5563bea2008-06-24 05:44:28 +000017192008-06-24 Werner Lemberg <wl@gnu.org>
1720
Werner Lemberg830846e2008-07-27 06:27:21 +00001721 * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
1722 mode.
Werner Lembergce8853a2008-06-24 11:19:03 +00001723
1724 * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
1725 Draw_Sweep): No-dropout mode is value 2, not value 0.
1726 (Draw_Sweep): Really skip dropout handling for no-dropout mode.
1727
17282008-06-24 Werner Lemberg <wl@gnu.org>
1729
Werner Lemberg5563bea2008-06-24 05:44:28 +00001730 * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
1731 if it consists of one point only. Based on a patch from Savannah
1732 bug #23683 (from John Tytgat).
1733
Werner Lemberg745a4f42008-06-22 22:41:24 +000017342008-06-22 Werner Lemberg <wl@gnu.org>
1735
1736 * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
1737 with IS_HINTED.
1738
1739 * docs/CHANGES: Updated.
1740
Werner Lembergb2116512008-09-12 16:27:48 +000017412008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00001742
Werner Lemberg745a4f42008-06-22 22:41:24 +00001743 * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
1744 but LDFLAGS does not, import it to LDFLAGS. The option is used to
1745 specify non-default SDK on Mac OS X (e.g., universal binary SDK for
1746 Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
1747 recommends to add the option only to CFLAGS, LDFLAGS should include
1748 it because libfreetype.la is built with -no-undefined. This fixes a
1749 bug reported by Ryan Schmidt in MacPorts,
1750 http://trac.macports.org/ticket/15331.
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +00001751
Werner Lemberg5df5dbb2008-06-22 13:40:08 +000017522008-06-21 Werner Lemberg <wl@gnu.org>
1753
1754 Enable access to the various dropout rules of the B&W rasterizer.
1755 Pass dropout rules from the TT bytecode interpreter to the
Werner Lemberg959cb8e2008-06-25 20:58:33 +00001756 rasterizer.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00001757
1758 * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
1759 FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
1760
1761 * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
1762 Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
1763 OpenType specification.
1764 Fix mode 4 computation.
1765 (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
1766
Werner Lemberg959cb8e2008-06-25 20:58:33 +00001767 * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
1768 mode to FT_OUTLINE_XXX flags.
Werner Lemberg5df5dbb2008-06-22 13:40:08 +00001769
1770 * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
1771
Werner Lembergcd6dcca2008-06-19 06:20:21 +000017722008-06-19 Werner Lemberg <wl@gnu.org>
1773
Werner Lemberg5b631d82008-06-19 16:23:43 +00001774 * src/cff/cffobjs.c (cff_face_init): Compute final
1775 `dict->units_per_em' value before assigning it to
Werner Lembergbe54a682008-06-29 07:43:41 +00001776 `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
Werner Lemberg5b631d82008-06-19 16:23:43 +00001777 scaled incorrectly if the font matrix is non-standard. This fixes
1778 Savannah bug #23630.
1779
1780 * docs/CHANGES: Updated.
1781
17822008-06-19 Werner Lemberg <wl@gnu.org>
1783
Werner Lembergbe54a682008-06-29 07:43:41 +00001784 * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
1785 from 2008-06-19.
Werner Lembergcd6dcca2008-06-19 06:20:21 +00001786
Werner Lembergd57a5e92008-06-18 06:16:39 +000017872008-06-18 Werner Lemberg <wl@gnu.org>
1788
1789 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
1790 Reported by Peter Weilbacher <mozilla@weilbacher.org>.
1791
1792 * docs/CHANGES: Updated.
1793
Werner Lembergca947c22008-06-16 05:33:51 +000017942008-06-15 George Williams <gww@silcom.com>
1795
1796 * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
1797 `valid->extra2' to 1. This is undocumented in the OpenType 1.5
1798 specification.
1799
Werner Lembergad83e052008-06-15 11:06:12 +000018002008-06-15 Werner Lemberg <wl@gnu.org>
1801
1802 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
1803 from clobbering. Patch from Savannah bug report #23556.
1804
1805 * docs/CHANGES: Document it.
1806
Werner Lemberg102bb832008-06-10 04:57:19 +000018072008-06-10 Werner Lemberg <wl@gnu.org>
1808
Werner Lembergb796adb2008-06-10 17:15:35 +00001809 * autogen.sh: Add option `--install' to libtoolize.
1810
18112008-06-10 Werner Lemberg <wl@gnu.org>
1812
Werner Lemberg6174e172008-06-10 05:58:25 +00001813 * Version 2.3.6 released.
1814 =========================
1815
1816
1817 Tag sources with `VER-2-3-6'.
1818
1819 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1820 version number to 2.3.6.
1821
1822 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1823 builds/win32/visualc/freetype.dsp,
1824 builds/win32/visualc/freetype.vcproj,
1825 builds/win32/visualce/index.html,
1826 builds/win32/visualce/freetype.dsp,
1827 builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
1828
1829 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
1830
1831 * builds/unix/configure.raw (version_info): Set to 9:17:3.
1832
1833
1834 * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
1835 and `scale_y'.
1836 * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
1837
1838
1839 * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
1840 * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
1841
18422008-06-10 Werner Lemberg <wl@gnu.org>
1843
Werner Lemberg102bb832008-06-10 04:57:19 +00001844 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
1845 `clazz->done_face'.
1846
Werner Lemberg630e24d2008-06-09 21:20:18 +000018472008-06-09 VaDiM <s_sliva@rambler.ru>
1848
1849 Support debugging on WinCE. From Savannah patch #6536; this fixes
1850 bug #23497.
1851
1852 * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
1853 as a replacement for OutputDebugStringA (which WinCE doesn't have).
1854 Update all callers.
1855 (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
1856 environment variables.
1857
Werner Lemberga984fda2008-06-09 21:02:13 +000018582008-06-09 Werner Lemberg <wl@gnu.org>
1859
1860 * README.CVS: Updated.
1861
Werner Lemberg26bd7a22008-06-09 21:27:17 +00001862 * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
1863 for newer versions of autoconf and friends.
Werner Lemberga984fda2008-06-09 21:02:13 +00001864
Werner Lemberg7cb9ec02008-06-09 20:49:29 +000018652008-06-08 Werner Lemberg <wl@gnu.org>
1866
1867 * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
1868 `private_len' unsigned.
1869
1870 * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
1871 it as such.
1872 (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
1873
1874
1875 * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
1876
1877
1878 * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
1879 for sane value.
1880 Fix typo.
1881
1882
1883 * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
1884
1885
1886 * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
1887 `last_point'.
1888
1889
1890 * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
1891 `maxTwilightPoints'.
1892
Werner Lembergd77e7222008-06-05 22:07:19 +000018932008-06-06 Werner Lemberg <wl@gnu.org>
1894
1895 * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
1896 correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
1897
Werner Lemberg4c3cc762008-06-03 20:53:49 +000018982008-06-03 Werner Lemberg <wl@gnu.org>
1899
1900 * include/freetype/ftcache.h (FTC_FaceID): Change type back to
1901 FT_Pointer. Reported by Ian Britten <britten@caris.com>.
1902
Werner Lemberg8e3539b2008-06-02 13:53:54 +000019032008-06-02 Werner Lemberg <wl@gnu.org>
1904
1905 Emit header info for defined FreeType objects in reference.
1906
1907 * src/tools/docmaker/content.py (re_header_macro): New regexp.
1908 (ContentProcessor::__init__): Initialize new dictionary `headers'.
1909 (DocBlock::__init__): Collect macro header definitions.
1910
1911 * src/tools/docmaker/tohtml.py (header_location_header,
1912 header_location_footer): New strings.
1913 (HtmlFormatter::__init__): Pass `headers' dictionary.
1914 (HtmlFormatter::print_html_field): Don't emit paragraph tags.
1915 (HtmlFormatter::print_html_field_list): Emit empty paragraph.
1916 (HtmlFormatter::block_enter): Emit header info.
1917
19182008-06-01 Werner Lemberg <wl@gnu.org>
Werner Lemberg7493ea12008-06-02 07:24:36 +00001919
1920 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
1921 FT_INCREMENTAL_H): Added.
1922
Werner Lembergc94fa662008-05-27 23:24:07 +000019232008-05-28 Werner Lemberg <wl@gnu.org>
1924
Werner Lembergde0d0052008-05-28 21:51:15 +00001925 * src/tools/docmaker/sources.py (SourceBlock::__init__): While
1926 looking for markup tags, return immediately as soon a single one is
1927 found.
1928
19292008-05-28 Werner Lemberg <wl@gnu.org>
1930
Werner Lembergc94fa662008-05-27 23:24:07 +00001931 * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
1932 original, unscaled input values. Confirmed by Greg Hitchcock from
1933 Microsoft.
1934
Werner Lemberg35a90b72008-05-27 18:16:03 +000019352008-05-27 Werner Lemberg <wl@gnu.org>
1936
1937 * src/tools/docmaker/tohtml.py (block_footer_start,
1938 block_footer_middle): Beautify output.
1939
Werner Lembergc9381312008-05-25 12:19:34 +000019402008-05-25 Werner Lemberg <wl@gnu.org>
1941
1942 * src/raster/ftraster.c (fc_black_render): Return 0 when we are
1943 trying to render into a zero-width/height bitmap, not an error code.
1944
Werner Lembergffa49652008-05-25 12:43:57 +00001945 * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
1946 of the graphics state for subglyphs to...
1947 (TT_Hint_Glyph): This function.
1948 Hinting instructions for a composite glyph apparently refer to the
1949 just hinted subglyphs, not the unhinted, unscaled outline. This
1950 seems to fix Savannah bugs #20973 and (at least partially) #23310.
1951
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +000019522008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1953
1954 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
Werner Lemberg355f1b12008-05-22 06:12:23 +00001955 `aface' is returned by FT_New_Face_From_FOND(). The patch was
1956 proposed by an anonymous reporter of Savannah bug #23204.
Suzuki, Toshiya (鈴木俊哉)062f88a2008-05-20 07:57:53 +00001957
Werner Lemberg16dc51f2008-05-18 17:36:15 +000019582008-05-18 Werner Lemberg <wl@gnu.org>
1959
Werner Lemberg5e8a3682008-05-18 21:49:02 +00001960 * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
1961 correction for pixel boundary. Without this patch, the effect can
1962 be cumulative under certain circumstances, making glyphs taller and
1963 taller after each call. This fixes Savannah bug #19976.
1964
19652008-05-18 Werner Lemberg <wl@gnu.org>
1966
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001967 * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
1968 This fixes Savannah bug #23280.
1969
1970 * docs/CHANGES: Updated.
1971
Werner Lembergb2116512008-09-12 16:27:48 +000019722008-05-18 David Turner <david@freetype.org>
David Turnera92cec52008-05-18 14:08:57 +00001973
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001974 * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
1975 ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
1976 ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
1977 declarations non-global.
David Turnera92cec52008-05-18 14:08:57 +00001978
Werner Lemberg16dc51f2008-05-18 17:36:15 +00001979 * src/type1/t1load.c: Add missing comment.
David Turnera92cec52008-05-18 14:08:57 +00001980
Werner Lemberg89d64fa2008-05-17 20:06:13 +000019812008-05-17 Sam Hocevar <samh>
1982
1983 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
1984 glyphs correctly. Patch from Savannah bug #23277.
1985
Werner Lemberga2f17cc2008-05-17 10:01:45 +000019862008-05-16 Werner Lemberg <wl@gnu.org>
1987
1988 * docs/CHANGES: Updated.
1989
19902008-05-16 Sergey Tolstov <stolstov@esri.com>
1991
1992 Improve support for WGL4 encoded fonts.
1993
1994 * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
1995 (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
1996 ft_wgl_extra_glyph_name_offsets): New arrays.
1997 (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
1998 (ps_unicodes_init): Use them to add additional Unicode mappings.
1999
Werner Lemberg504645e2008-05-14 23:26:20 +000020002008-05-15 Werner Lemberg <wl@gnu.org>
2001
Werner Lembergbcc750e2008-05-16 04:50:00 +00002002 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
2003 <op_closepath>: `closepath' without a path is a no-op, not an error
2004 (cf. the PS reference manual).
2005
2006 Reported by Martin McBride.
2007
20082008-05-15 Werner Lemberg <wl@gnu.org>
2009
Werner Lembergbcfcc712008-05-15 09:14:39 +00002010 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
2011
20122008-05-15 Werner Lemberg <wl@gnu.org>
2013
Werner Lemberg504645e2008-05-14 23:26:20 +00002014 * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
Werner Lemberg2d738992008-05-14 23:33:53 +00002015 which contains a single but empty entry. This is technically
2016 invalid (since it must end with `return'), but...
Werner Lemberg504645e2008-05-14 23:26:20 +00002017
2018 Reported by Martin McBride.
2019
Werner Lemberge6e6ead2008-05-14 23:05:38 +000020202008-05-14 Werner Lemberg <wl@gnu.org>
2021
2022 Finish fix of scaling bug of CID-keyed CFF subfonts.
2023
2024 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
2025 (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
2026 functions.
2027
2028 * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
2029 provide global hinting data for both the top-font and all subfonts
2030 (with proper scaling).
2031
2032 * src/cff/cffobjs.c (cff_make_private_dict): New function, using
2033 code from `cff_size_init'.
2034 (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
2035 Use CFF_Internal and handle subfonts.
2036 (cff_face_init): Handle top-dict and subfont matrices correctly;
2037 apply some heuristic in case of unlikely matrix concatenation
2038 results. This has been discussed with people from Adobe (thanks
2039 goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
2040 and not correct.
2041
2042 * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
2043
2044 * src/cff/cffgload.c (cff_builder_init): Updated.
2045 (cff_decoder_prepare): Handle hints globals for subfonts.
2046 Update all callers.
2047 (cff_slot_load): Handling scaling of subfonts properly.
2048
2049 * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
2050 (cff_parse_font_matrix): Use it.
2051
2052 * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
2053 FT_ULong.
2054
2055 * docs/CHANGES: Document it.
2056
Werner Lembergfb572282008-05-13 12:10:04 +000020572008-05-13 Werner Lemberg <wl@gnu.org>
2058
2059 * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
2060 Handle case `face_index < 0'.
2061 * docs/CHANGES: Document it.
2062
Werner Lemberg551dd3c2008-05-04 13:37:38 +000020632008-05-04 Werner Lemberg <wl@gnu.org>
2064
2065 First steps to fix the scaling bug of CID-keyed CFF subfonts,
2066 reported by Ding Li on 2008/03/28 on freetype-devel.
2067
2068 * src/base/cff/cffparse.c (power_tens): New array.
2069 (cff_parse_real): Rewritten to introduce a fourth parameter which
2070 returns the `scaling' of the real number so that we have no
2071 precision loss. This is not used yet.
2072 Update all callers.
2073 (cff_parse_fixed_thousand): Replace with...
2074 (cff_parse_fixed_scaled): This function. Update all callers.
2075
Werner Lemberg6d29f0f2008-05-03 15:54:15 +000020762008-05-03 Werner Lemberg <wl@gnu.org>
2077
2078 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
2079 transformation since it recursively calls FT_Load_Glyph. This fixes
2080 Savannah bug #23143.
2081
Werner Lembergde9479a2008-04-26 12:52:57 +000020822008-04-26 Werner Lemberg <wl@gnu.org>
2083
2084 * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
2085 and `scale_y' as obsolete since they aren't used.
2086 * src/psaux/psobjs.c (t1_builder_init): Updated.
2087
2088 * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
2089 obsolete since they aren't used.
2090 * src/cff/cffgload.c (cff_builder_init): Updated.
2091
Werner Lemberg4ebc8902008-04-13 22:06:12 +000020922008-04-14 Werner Lemberg <wl@gnu.org>
2093
2094 * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
2095 `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
2096 bug #22909.
2097
Werner Lemberg048b7562008-04-13 05:55:36 +000020982008-04-13 Werner Lemberg <wl@gnu.org>
2099
2100 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
2101 integer part is zero.
2102
Werner Lembergc32e83f2008-04-01 06:07:37 +000021032008-04-01 Werner Lemberg <wl@gnu.org>
2104
2105 Fix compilation with g++ 4.1 (with both `single' and `multi'
2106 targets).
2107
2108 * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
2109 which is crossed by a `goto'.
2110
2111 * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
2112
Werner Lemberg210d6182008-04-01 05:55:48 +000021132008-03-31 Werner Lemberg <wl@gnu.org>
2114
2115 Fix support for subsetted CID-keyed CFFs.
2116
2117 * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
2118 FT_IS_CID_KEYED): New macros.
2119
2120 * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
2121 maximum CID value in CID-keyed CFFs.
2122 Handle FT_FACE_FLAG_CID_KEYED flag.
2123
2124 * docs/CHANGES: Document it.
2125
2126
2127 Fix CFF font matrix calculation and improve precision.
2128
2129 * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
2130 part is zero.
2131 (cff_parse_font_matrix): Simplify computation of `units_per_em';
2132 this prevents overflow also.
2133
2134
2135 Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
2136
2137 * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
2138 (cid_get_ros): New function.
2139 (cid_service_cid_info): New service structure.
2140 (cid_services): Register it.
2141
Werner Lemberga56e5262008-03-23 14:53:44 +000021422008-03-23 Werner Lemberg <wl@gnu.org>
2143
2144 Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
2145
2146 * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
2147 (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
2148
Werner Lemberg85751172008-03-21 07:16:00 +000021492008-03-21 Laurence Darby <ldarby>
2150
2151 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
2152 Savannah bug #22675.
2153
Werner Lemberg3863c952008-03-13 06:38:37 +000021542008-03-13 Derek Clegg <dclegg@apple.com>
2155
David Turnercda6f492009-03-03 20:49:32 +00002156 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
Werner Lemberg3863c952008-03-13 06:38:37 +00002157 Patch from Savannah bug #22541.
2158
Werner Lembergfc293932008-03-03 08:08:12 +000021592008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
2160
2161 * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
2162 tt_cmap14_find_variant): Return correct value.
2163 (tt_cmap14_variant_chars): Fix check for `di'.
2164
Werner Lemberg5057e362008-02-29 07:23:02 +000021652008-02-29 Wermer Lemberg <wl@gnu.org>
2166
2167 * docs/CHANGES: Updated.
2168
Werner Lemberg7faa1552008-02-29 07:14:38 +000021692008-02-29 Wolf
2170
2171 Add build support for symbian platform. From Savannah bug #22440.
2172
2173 * builds/symbian/*: New files.
2174
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +000021752008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2176
Werner Lemberg9b9d3342008-02-21 23:22:06 +00002177 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
2178 synthesis. For any face of a specified FOND, always the name for
2179 the first face was used. Except of a FOND that refers multiple
2180 Type1 font files, wrong synthesized font names are not used at all,
2181 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +00002182
2183 * builds/mac/ftmac.c: Ditto.
2184
21852008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2186
Werner Lemberg31093cc2008-02-21 17:10:04 +00002187 * builds/unix/configure.raw: Split compiler option to link Carbon
2188 frameworks to one option for CoreServices framework and another
2189 option for ApplicationServices framework. The split options can be
2190 managed by GNU libtool to avoid unrequired duplication when FreeType
2191 is linked with other applications. Suggested by Daniel Macks,
2192 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +00002193
Werner Lemberg28464c42008-02-18 20:34:42 +000021942008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
2195
2196 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
2197 from Savannah bug #22356.
2198
Werner Lemberg44c655b2008-02-17 08:22:08 +000021992008-02-17 Jonathan Blow <jon@number-none.com>
2200
2201 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
2202 Check for valid callback pointers.
2203
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +000022042008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2205
2206 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
2207 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +00002208 Kazmaier. According to the Resource Manager Reference,
2209 GetResource(), Get1Resource(), GetNamedResource(),
2210 Get1NamedResource() and RGetResource() set noErr but return NULL
2211 handle when they can not find the requested resource. These
2212 functions never return undefined values, so it is sufficient to
2213 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +00002214
2215 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
2216
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000022172008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2218
2219 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +00002220 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00002221 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +00002222
2223 * builds/unix/configure.raw: Print warning if configure is executed
2224 with options to specify Carbon functionalities explicitly.
2225
2226 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +00002227 included automatically and manual replacement is required.
2228
Werner Lemberg744dd452008-02-11 08:22:40 +000022292008-02-11 Werner Lemberg <wl@gnu.org>
2230
2231 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
2232 (dos_setup), builds/freetype.mk (clean_project_dos,
2233 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
2234 Murdoch.
2235
Werner Lemberg4c933992008-01-18 05:32:55 +000022362008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
2237
2238 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
2239 mention intra-pixel algorithm.
2240
2241 * include/freetype/freetype.h (FT_Render_Mode): Mention that
2242 FT_Library_SetLcdFilter can be used to reduce fringes.
2243
Werner Lemberg1ddd1b72008-01-16 06:58:54 +000022442008-01-16 Werner Lemberg <wl@gnu.org>
2245
2246 * src/raster/ftraster.c (ft_black_render): Check `outline' before
2247 using it. Reported by Allan Yang.
2248
Werner Lembergeca1f272008-01-12 07:46:09 +000022492008-01-12 Werner Lemberg <wl@gnu.org>
2250
2251 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
2252
22532008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
2254
2255 * src/raster/ftraster.c (ft_black_init)
2256 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
2257
Werner Lembergbf391cb2008-01-10 08:47:08 +000022582008-01-10 Werner Lemberg <wl@gnu.org>
2259
2260 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
2261 where the number of contours in a simple glyph is zero (and which
2262 does contain an entry in the `glyf' table). This fixes Savannah bug
2263 #21990.
2264
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +000022652008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2266
2267 Formatting suggested by Sean McBride.
2268
2269 * builds/mac/ftmac.c: Formatting (tab expanded).
2270 * src/autofit/afindic.c: Ditto.
2271 * src/base/ftcid.c: Ditto.
2272 * src/base/ftmac.c: Ditto.
2273
Werner Lembergd2e15732007-12-30 23:49:14 +000022742007-12-30 Werner Lemberg <wl@gnu.org>
2275
2276 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
2277 correctly.
2278
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +000022792007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2280
2281 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +00002282 references in a resource. In HelveLTMM (resource-fork PostScript
2283 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
2284 of PFB chunks is not sorted; sorting the chunks by reference IDs is
2285 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00002286
Werner Lembergd2e15732007-12-30 23:49:14 +00002287 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
2288 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00002289
Werner Lembergd2e15732007-12-30 23:49:14 +00002290 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
2291 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00002292
Werner Lembergd2e15732007-12-30 23:49:14 +00002293 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
2294 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00002295
Werner Lembergd156cab2007-12-14 07:48:32 +000022962007-12-14 Werner Lemberg <wl@gnu.org>
2297
2298 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
2299 division too early; otherwise the most significant digit(s) of the
2300 final result are lost as the value is truncated to an integer. This
2301 fixes Savannah bug #21794 (where the patch has been posted too).
2302
Werner Lembergbd7e1c32007-12-06 17:17:30 +000023032007-12-06 Fix <4d876b82@gmail.com>
2304
2305 Pass options from one configure script to another as-is (not
2306 expanded). This is needed for options like
2307 --includedir='${prefix}/include'.
2308
2309 * builds/unix/detect.mk, configure: Prevent argument expansion in
2310 call to the (real) `configure' script.
2311
23122007-12-06 Werner Lemberg <wl@gnu.org>
2313
2314 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
2315 TT_USE_BYTECODE_INTERPRETER isn't defined.
2316
23172007-12-06 Werner Lemberg <wl@gnu.org>
2318
2319 There exist CFFs which contain opcodes for the Type 1 operators
2320 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
2321 However, it doesn't harm to support them.
2322
2323 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
2324 `cff_op_closepath.'
2325 (cff_argument_counts): Ditto.
2326
2327 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
2328 and 13 (hsbw) which are invalid in Type 2 charstrings.
2329
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +000023302007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2331
Werner Lembergbd7e1c32007-12-06 17:17:30 +00002332 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
2333 support new pathname syntax `..namedfork/rsrc' to access a resource
2334 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
2335 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +00002336 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
2337 buffer size to store a pathname.
2338 * include/freetype/internal/ftrfork.h: Increment the number of
2339 resource fork guessing rule.
2340
23412007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2342
Werner Lembergbd7e1c32007-12-06 17:17:30 +00002343 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00002344 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +00002345 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +00002346 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
2347
23482007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2349
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00002350 The documents and comments for Mac OS X are improved by Sean
2351 McBride.
2352
2353 * src/base/ftmac.c: Fix a comment.
2354 * include/freetype/ftmac.h: Ditto.
2355 * docs/INSTALL.MAC: Improve English and add comment on lowest
2356 system version specified by MACOSX_DEPLOYMENT_TARGET.
2357
Werner Lemberga10d2b72007-12-04 22:05:54 +000023582007-12-04 Werner Lemberg <wl@gnu.org>
2359
2360 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
2361 concatenate error codes.
2362 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
2363
Werner Lembergd496b922007-12-04 21:49:59 +000023642007-12-04 Graham Asher <graham.asher@btinternet.com>
2365
2366 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
2367 concatenate error codes.
2368
Werner Lembergc0da5232007-12-04 21:44:32 +000023692007-12-04 Sean McBride <sean@rogue-research.com>
2370
2371 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
2372 warning.
2373
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +000023742007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2375
Werner Lemberg6174e172008-06-10 05:58:25 +00002376 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
Werner Lemberg24fe6182007-11-23 09:18:07 +00002377 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
2378 cannot mmap() the specified file and cannot seek to head of the
2379 specified file, it returns NULL stream and FT_Open_New() returns the
2380 error immediately. On MacOS, most legacy MacOS fonts fall into such
2381 a scenario because their data forks are zero-sized and cannot be
2382 sought. To proceed to guessing of resource fork fonts, the
2383 functions for legacy MacOS font must properly handle the NULL stream
2384 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00002385
Werner Lemberg24fe6182007-11-23 09:18:07 +00002386 * src/base/ftobjs.c (IsMacBinary): Return error
2387 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
2388 passed.
2389 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
2390 to fallback. Originally, legacy MacOS font is tested in the cases
2391 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
2392 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
2393 .dfont header is combined). Now the case of
2394 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00002395
Werner Lemberg24fe6182007-11-23 09:18:07 +00002396 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
2397 skip FT_Stream_Seek(), which seeks to the head of stream, and
2398 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
2399 for a NULL stream causes a Bus error on Mac OS X.
2400 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00002401 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00002402 (raccess_guess_apple_single): Ditto.
2403
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000024042007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2405
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +00002406 Fix for Carbon incompatibilities since Mac OS X 10.5,
2407 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002408
2409 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
2410
2411 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
Werner Lemberg830846e2008-07-27 06:27:21 +00002412 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002413 Carbon functions from a forked process is classified as unsafe
Werner Lemberg830846e2008-07-27 06:27:21 +00002414 by Apple. All Carbon-dependent functions should be deprecated.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002415
Werner Lembergf2e33c12009-01-06 06:59:36 +00002416 * src/base/ftmac.c: Use essential header files
2417 <CoreServices/CoreServices.h> and
2418 <ApplicationServices/ApplicationServices.h> instead of
2419 all-in-one header file <Carbon/Carbon.h>.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002420
2421 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
2422 genuine macro PATH_MAX.
2423
2424 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
2425 is not found in Mac OS X 10.0.
2426
2427 Multi-character constants ('POST', 'sfnt' etc) are replaced by
2428 64bit constants calculated by FT_MAKE_TAG() macro.
2429
2430 For the index in the segment of resource fork, new portable
2431 type ResourceIndex is introduced for better compatibility.
2432 This type is since Mac OS X 10.5, so it is defined as short
2433 when built on older platforms.
2434
2435 (FT_ATSFontGetFileReference): If build target is only the systems
2436 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
2437
2438 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
2439 and newer or 64bit platform, because legacy type FSSpec type is
2440 removed completely.
2441
2442 (FT_New_Face_From_FSSpec): Ditto.
2443
24442007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +00002445
2446 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
2447 fixes Savannah bug #21485.
2448
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000024492007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +00002450
2451 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
2452 can handle the font at all, then check `face_index'. Otherwise, the
2453 driver might return the wrong error code. This fixes Savannah bug
2454 #21468.
2455
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000024562007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +00002457
2458 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
David Turnercda6f492009-03-03 20:49:32 +00002459 support for bit 8 of the `fsSelection' field in the `OS/2' table.
Werner Lemberge77b6c42007-10-21 08:18:40 +00002460 MS is already using this; hopefully, this becomes part of OpenType
2461 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +00002462 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
2463 (WWS_SUBFAMILY).
2464
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +000024652007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +00002466
2467 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
2468 Add `td.left' element to CSS.
2469 (toc_section_enter): Use it.
2470
David Turnercf432db2007-10-19 12:36:40 +000024712007-10-18 David Turner <david@freetype.org>
2472
Werner Lemberg7f2425f2007-10-20 16:15:07 +00002473 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
2474 functions related to cmap type 14 support to the
2475 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +00002476
Werner Lemberg7f2425f2007-10-20 16:15:07 +00002477 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
2478 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
2479 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
2480 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
2481 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
2482
2483 Update documentation accordingly.
2484
2485 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
2486 Make the code a little more consistent with FreeType coding
2487 conventions and modify the cmap14 functions that returned a newly
2488 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +00002489 instead.
2490
Werner Lemberg7f2425f2007-10-20 16:15:07 +00002491 (TT_CMap14Rec): Provide array and auxiliary data for result.
2492 (tt_cmap14_done, tt_cmap14_ensure): New functions.
2493
2494 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
2495 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
2496 tt_cmap14_char_var_index, tt_cmap14_variants,
2497 tt_cmap14_char_variants, tt_cmap14_def_char_count,
2498 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
2499 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
2500
Werner Lemberg9a966b72007-10-15 17:21:32 +000025012007-10-15 George Williams <gww@silcom.com>
2502
2503 Add support for cmap type 14.
2504
2505 * devel/ftoption.h, include/freetype/config/ftoption.h
2506 (TT_CONFIG_CMAP_FORMAT_14): New macro.
2507
2508 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
2509 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
2510 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
2511 support function prototypes.
2512 (FT_CMap_ClassRec): Add them.
2513 Update all users.
2514
2515 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
2516 macro.
2517
2518 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
2519 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
2520 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
2521 functions.
2522
2523 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
2524 function.
2525 (FT_Set_Charmap): Disallow cmaps of type 14.
2526 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
2527 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
2528 FT_Get_Chars_Of_Variant): New API functions.
2529
2530 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
2531
2532 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
2533 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
2534 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
2535 tt_cmap14_find_variant, tt_cmap14_char_var_index,
2536 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
2537 tt_cmap14_char_variants, tt_cmap14_def_char_count,
2538 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
2539 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
2540 structures for cmap 14 support.
2541 (tt_cmap_classes): Register tt_cmap14_class_rec.
2542 (tt_face_build_cmaps): One more error message.
2543
2544 * docs/CHANGES: Mention cmap 14 support.
2545
Werner Lemberg74597cc2007-10-01 07:08:56 +000025462007-10-01 Werner Lemberg <wl@gnu.org>
2547
2548 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +00002549 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +00002550 This favours MS charmaps over Apple ones.
2551
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +000025522007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2553
Werner Lemberg9a966b72007-10-15 17:21:32 +00002554 * src/base/ftmac.c: Introduction of abstract `short' data types,
2555 ResFileRefNum and ResID. These types were introduced for Copland,
2556 then backported to MPW. The variables exchanged with FileManager
2557 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00002558 proposed by Sean McBride.
2559 * builds/mac/ftmac.c: Ditto.
2560
Werner Lembergabc44f52007-08-18 06:38:07 +000025612007-08-18 Werner Lemberg <wl@gnu.org>
2562
2563 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
2564 by Imran Yousaf. Fixes Savannah bug #20773.
2565
2566 (otv_Lookup_validate): Correct handling of LookupType. Found by
2567 Imran Yousaf. Fixes Savannah bug #20782.
2568
Werner Lemberg23a424f2007-08-17 20:16:44 +000025692007-08-17 George Williams <gww@silcom.com>
2570
2571 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
2572 SingleSubstFormat1.
2573
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000025742007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2575
2576 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
2577 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
2578 Found by Ryan Hill.
2579
Werner Lemberg3f1905b2007-08-11 15:45:32 +000025802007-08-11 George Williams <gww@silcom.com>
2581
2582 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
2583 (otv_Coverage_validate): Add fourth argument to pass an expected
2584 count value. Update all users.
2585 Check glyph IDs.
2586 (otv_ClassDef_validate): Check `StartGlyph'.
2587
2588 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
2589 checks.
2590
2591 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
2592 56 constants.
2593 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
2594 Check glyph IDs.
2595
Werner Lembergd76fe5a2007-08-08 06:38:06 +000025962007-08-08 Werner Lemberg <wl@gnu.org>
2597
2598 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
2599 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
2600 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
2601 appropriate. Reported by George.
2602
2603 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
2604
2605 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
2606
2607 * docs/CHANGES: Updated.
2608
26092007-08-08 George Williams <gww@silcom.com>
2610
2611 Add `MATH' validating support to otvalid module.
2612
2613 * include/freetype/tttags.h (TTAG_MATH): New macro.
2614 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
2615 (FT_VALIDATE_OT): Updated.
2616
2617 * src/otvalid/otmath.c: New file.
2618
2619 * src/otvalid/otvalid.c: Include otvmath.c.
2620 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
2621
Werner Lembergb6617882007-08-04 22:17:48 +000026222007-08-04 Werner Lemberg <wl@gnu.org>
2623
David Turnercf432db2007-10-19 12:36:40 +00002624 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +00002625 Fixes Savannah bug #20686.
2626
Werner Lembergd6752a62007-08-02 22:03:30 +000026272007-08-03 Werner Lemberg <wl@gnu.org>
2628
2629 * src/psnames/psmodule.c: Fix usage of
2630 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
2631
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +000026322007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2633
2634 * src/base/ftmac.c (open_face_from_buffer): The argument
2635 `driver_name' is typed as `const char*' to match with the
2636 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
2637 This is same with open_face_from_buffer in src/base/ftobjs.c.
2638 Found and fixed by Sean McBride.
2639
Werner Lemberg39c91ad2007-07-28 05:40:40 +000026402007-07-28 Werner Lemberg <wl@gnu.org>
2641
2642 * src/raster/ftraster.c (count_table): Make it conditional.
2643 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
2644 a preprocessor statement.
2645
Werner Lemberg71dd6872007-07-27 04:44:36 +000026462007-07-27 Werner Lemberg <wl@gnu.org>
2647
2648 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
2649 first usage. From Savannah patch #6115.
2650
Werner Lembergef915c32007-07-16 20:46:05 +000026512007-07-16 Werner Lemberg <wl@gnu.org>
2652
2653 * docs/CHANGES: Updated.
2654
26552007-07-16 Derek Clegg <dclegg@apple.com>
2656
2657 Add new service for getting the ROS from a CID font.
2658
2659 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
2660 * include/freetype/ftcid.h: New file.
2661
2662 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
2663 * include/freetype/internal/services/svcid.h: New file.
2664
2665 * src/base/ftcid.c: New file.
2666
2667 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
2668 (cff_get_ros): New function.
2669 (cff_service_cid_info): New service structure.
2670 (cff_services): Register it.
2671
2672 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
2673
2674 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
2675
2676 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
2677
Werner Lemberg2f109562007-07-11 05:32:00 +000026782007-07-11 Derek Clegg <dclegg@apple.com>
2679
2680 Add support for postscript name service to CFF driver.
2681
2682 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
2683 (cff_get_ps_name): New function.
2684 (cff_service_ps_name): New service structure.
2685 (cff_services): Register it.
2686
Werner Lembergb003b3e2007-07-08 07:13:12 +000026872007-07-07 Werner Lemberg <wl@gnu.org>
2688
2689 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
2690 `target'. Reported by Sean McBride.
2691
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000026922007-07-06 Werner Lemberg <wl@gnu.org>
2693
2694 * src/pfr/pfrcmap.c: Include pfrerror.h.
2695
2696 * src/autofit/afindic.c: Add some external declarations to pacify
2697 `make multi' compilation.
2698
2699 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
2700
2701 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
2702 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
2703 src/autofit/aflatin.c (af_latin_hints_compute_edges),
2704 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
2705 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
2706 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
2707
2708 * docs/release: Mention test compilation targets.
2709
Werner Lemberg986ea4b2007-07-04 04:53:15 +000027102007-07-04 Werner Lemberg <wl@gnu.org>
2711
2712 * docs/PROBLEMS: Mention that some PS based fonts can't be
2713 handled correctly by FreeType.
2714
Werner Lemberg3033f432007-07-04 14:12:19 +00002715 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
2716 recursion depth of 1. This was the maximum value in TrueType 1.0,
2717 and some older fonts don't set this field correctly.
2718
2719 * src/gxvalid/gxvmort1.c
2720 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
2721
Werner Lemberg3b0e5002007-07-03 04:48:19 +000027222007-07-03 Werner Lemberg <wl@gnu.org>
2723
2724 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
2725 `round' to pacify compiler.
2726
27272007-07-02 Werner Lemberg <wl@gnu.org>
2728
2729
2730 * Version 2.3.5 released.
2731 =========================
2732
2733
2734 Tag sources with `VER-2-3-5'.
2735
2736 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
2737 version number to 2.3.5.
2738
2739 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
2740 builds/win32/visualc/freetype.dsp,
2741 builds/win32/visualc/freetype.vcproj,
2742 builds/win32/visualce/index.html,
2743 builds/win32/visualce/freetype.dsp,
2744 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
2745
2746 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
2747
2748 * builds/unix/configure.raw (version_info): Set to 9:16:3.
2749
David Turner0ba89912007-07-01 09:34:04 +000027502007-07-01 David Turner <david@freetype.org>
2751
Werner Lemberge3be90b2007-07-02 14:58:58 +00002752 * include/freetype/freetype.h, src/base/ftpatent.c
2753 (FT_Face_SetUnpatentedHinting): New function to dynamically change
2754 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +00002755
Werner Lemberge3be90b2007-07-02 14:58:58 +00002756 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
2757 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +00002758
David Turner74cc0e92007-06-30 22:54:12 +000027592007-06-30 David Turner <david@freetype.org>
2760
Werner Lemberge3be90b2007-07-02 14:58:58 +00002761 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
2762 initialization.
David Turner74cc0e92007-06-30 22:54:12 +00002763
Werner Lemberge3be90b2007-07-02 14:58:58 +00002764 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
2765 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +00002766
Werner Lemberg7723dc32007-06-26 04:44:35 +000027672007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
2768
2769 Add autofit module for Indic scripts. This currently just reuses
2770 the CJK-specific functions.
2771
2772 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
2773 macro.
2774 * devel/ftoption.h: Synchronize with
2775 include/freetype/config/ftoption.h.
2776
2777 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
2778
2779 * src/autofit/afglobal.c, src/autofit/aftypes.h,
2780 src/autofit/autofit.c: Updated.
2781
2782 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
2783 (AUTOF_DRV_SRC): Updated.
2784
David Turner8f626b02007-06-22 22:22:38 +000027852007-06-23 David Turner <david@freetype.org>
2786
Werner Lemberg7854c4a2007-06-23 07:16:20 +00002787 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
2788 2007-06-16 that prevented the TrueType module from loading most
2789 glyphs.
David Turner8f626b02007-06-22 22:22:38 +00002790
Werner Lemberg5b4d4352007-06-20 07:07:55 +000027912007-06-20 Werner Lemberg <wl@gnu.org>
2792
2793 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
2794 change.
2795
Werner Lemberg9fe58152007-06-19 07:57:30 +000027962007-06-19 Werner Lemberg <wl@gnu.org>
2797
2798 * src/type1/t1load.c (parse_encoding): Handle one more error.
2799
Werner Lemberg5a829392007-06-19 04:53:30 +000028002007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
2801
2802 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
2803 FNT_Err_Invalid_File_Format if file format was recognized but
2804 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
2805 Add verbose debug logs to make it easier to debug failing load
2806 attempts.
2807 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
2808 so return an error if requested face index is > 0.
2809 Do not do further attempt to load fonts if a previous attempt has
2810 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
2811 file format has been recognized but no fonts found in the file.
2812
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000028132007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2814
2815 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
2816 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
2817 the compiler warnings against unused arguments.
2818 (FT_ATSFontGetFileReference): Ditto.
2819 (FT_GetFile_From_Mac_ATS_Name): Ditto.
2820 (FT_New_Face_From_FSSpec): Ditto.
2821 (lookup_lwfn_by_fond): Fix wrong comment.
2822 Replace `const StringPtr' by more appropriate type
2823 `ConstStr255Param'.
2824 FSRefMakePathPath always returns UTF8 POSIX pathname in
2825 Mach-O, thus HFS pathname support is dropped.
2826 (count_faces): Remove HLock and HUnlock which is not
2827 required on Mac OS X anymore.
2828 (FT_New_Face_From_SFNT): Ditto.
2829 (FT_New_Face_From_FOND): Ditto.
2830 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
2831 except of HFS pathname support and HLock/HUnlock.
2832 They are required on classic CFM environment.
2833
28342007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +00002835
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002836 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
2837 assertion.
2838 (ps_parser_to_bytes): Fix error message.
2839
Werner Lembergbb2510d2007-06-18 17:07:49 +00002840 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002841 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
2842 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +00002843 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +00002844 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002845
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000028462007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +00002847
Werner Lembergf48aec72007-06-18 07:07:55 +00002848 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
2849 logic.
2850 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
2851 correctly.
2852 (ps_parser_load_field_table): Use `fields->array_max' instead of
2853 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
2854
Werner Lemberg95104a42007-06-18 07:33:10 +00002855 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
2856 2007-06-06.
2857
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000028582007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +00002859
2860 * src/tools/ftrandom.c (font_size): New global variable.
2861 (TestFace): Use it.
2862 (main): Handle new option `--size' to set `font_size'.
2863 (Usage): Updated.
2864
Werner Lembergbe183eb2007-06-17 11:27:17 +00002865 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
2866 invalid font.
2867 (FNT_Load_Glyph): Protect against invalid bitmap width.
2868
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000028692007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +00002870
Werner Lemberge12ed562007-06-17 05:31:23 +00002871 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
2872 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +00002873
Werner Lemberge12ed562007-06-17 05:31:23 +00002874 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
2875 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +00002876
Werner Lemberge12ed562007-06-17 05:31:23 +00002877 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
2878 and `zp2'.
2879 (Ins_IP): Check argument ranges to reject bogus operations properly.
2880 (IUP_WorkerRec): Add `max_points' member.
2881 (_iup_worker_interpolate): Check argument ranges.
2882 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +00002883
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000028842007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +00002885
2886 * src/winfonts/winfnt.h: Add necessary structures for PE resource
2887 parsing.
2888 (WinPE32_HeaderRec): New structure.
2889 (WinPE32_SectionRec): New structure.
2890 (WinPE_RsrcDirRec): New structure.
2891 (WinPE_RsrcDirEntryRec): New structure.
2892 (WinPE_RsrcDataEntryRec): New structure.
2893 (FNT_FontRec): Remove unused `size_shift' field.
2894
2895 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
2896 loading bitmap .fon files in PE format.
2897
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000028982007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +00002899
2900 * builds/win32/ftdebug.c: Unify debug level handling with other
2901 platforms.
2902
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000029032007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +00002904
2905 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
2906 console as well as to the debugger.
2907
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +000029082007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +00002909
2910 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
2911 cover all ranges which could possibly be handled by the aflatin
2912 module (since the default fallback for unknown ranges is now the
2913 afcjk module). It might be necessary to fine-tune this further by
2914 splitting off modules for Greek, Cyrillic, or other blocks.
2915
David Turnerb7920172007-06-11 05:37:35 +000029162007-06-11 David Turner <david@freetype.org>
2917
Werner Lemberg49e18b82007-06-11 21:15:09 +00002918 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
2919 incorrect segment linking computation. This was the root cause of
2920 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +00002921
2922
Werner Lemberg49e18b82007-06-11 21:15:09 +00002923 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
2924 to improve the Latin auto-hinter. Note that the new code is
2925 disabled by default since it is not stabilized yet.
2926
2927 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
2928 (disabled currently).
2929
2930 * src/autofit/afhints.c: Remove dead code.
2931 (af_axis_hints_new_edge): Add argument to handle segment directions.
2932 (af_edge_flags_to_string): New function.
2933 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
2934 option flags.
2935 (af_glyph_hints_reload): Add argument to handle inflections.
2936 Simplify.
2937 (af_direction_compute): Fine tuning.
2938 (af_glyph_hints_align_edge_points): Fix logic.
2939 (af_glyph_hints_align_strong_points): Do linear search for small
2940 edge counts.
2941 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
2942 (af_iup_shift): Handle zero `delta'.
2943
2944 * src/autofit/afhints.h: Updated.
2945 (AF_SORT_SEGMENTS): New macro (disabled).
2946 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
2947
2948 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
2949 argument to pass option flags for handling scripts.
2950 * src/autofit/afglobal.h: Updated.
2951
2952 * src/autofit/afcjk.c: Updated.
2953 * src/autofit/aflatin.c: Updated.
2954 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
2955
2956 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
2957 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
2958 Don't set `edge->dir'
2959 (af_latin_hint_edges): Add more logging.
2960
2961 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +00002962
Werner Lembergf6c120f2007-06-11 04:55:58 +000029632007-06-11 Werner Lemberg <wl@gnu.org>
2964
Werner Lembergcf7b7642007-06-11 04:58:01 +00002965 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +00002966
David Turner84c6f882007-06-10 20:51:04 +000029672007-06-10 David Turner <david@freetype.org>
2968
Werner Lembergf6c120f2007-06-11 04:55:58 +00002969 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
2970 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +00002971
Werner Lembergf6c120f2007-06-11 04:55:58 +00002972 * include/freetype/config/ftoption.h: Clarify documentation
2973 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +00002974
Werner Lembergf6c120f2007-06-11 04:55:58 +00002975
2976 Add new `FT_Face_CheckTrueTypePatents' API.
2977
2978 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
2979 declaration.
2980
2981 * include/freetype/internal/services/svttglyf.h,
2982 src/base/ftpatent.c: New files.
2983
2984 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
2985 New macro.
2986
2987 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
2988 `ttpload.h'.
2989 (tt_service_truetype_glyf): New service structure.
2990 (tt_services): Register it.
2991
2992 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
2993 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +00002994
Werner Lemberg33db39e2007-06-08 06:30:29 +000029952007-06-08 Werner Lemberg <wl@gnu.org>
2996
David Turner84c6f882007-06-10 20:51:04 +00002997 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +00002998 Fonts without a cmap must be handled correctly by FreeType (anything
2999 else would be a bug).
3000
3001
3002 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
3003 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
3004
Werner Lemberg88ab6382007-06-07 05:01:56 +000030052007-06-07 Werner Lemberg <wl@gnu.org>
3006
3007 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
3008 tt_sbit_decoder_load_image): Protect against integer overflows.
3009
3010
3011 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
3012 for `x_control' and `y_control'.
3013
Werner Lemberg2a2dca62007-06-06 04:39:37 +000030142007-06-06 Werner Lemberg <wl@gnu.org>
3015
3016 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
3017
Werner Lemberga8d65492007-06-06 04:47:49 +00003018
3019 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
3020 FreeType error.
3021
Werner Lemberg470210b2007-06-06 10:05:49 +00003022
3023 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
3024 `font_count'.
3025
3026
3027 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
3028
3029
3030 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
3031 `FT_Error'.
3032 Check `fd_index'.
3033 (cff_slot_load): Updated.
3034 * src/cff/cffgload.h: Updated.
3035
Werner Lemberg6c054752007-06-05 05:27:54 +000030362007-06-05 Werner Lemberg <wl@gnu.org>
3037
3038 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
3039 (pfr_glyph_load_simple): Convert assertion into normal FreeType
3040 error.
3041 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00003042 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
3043 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00003044
3045 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
3046
Werner Lembergf4bc3f42007-06-05 07:32:15 +00003047
Werner Lemberg470210b2007-06-06 10:05:49 +00003048 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +00003049
Werner Lemberge5c14d92007-06-05 20:50:37 +00003050
3051 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
3052 in case of parsing error.
3053 (ps_parser_load_field): Updated.
3054
3055 * src/type1/t1load.c (parse_font_matrix): Updated.
3056
Werner Lembergad18b362007-06-04 07:04:05 +000030572007-06-04 Werner Lemberg <wl@gnu.org>
3058
3059 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
3060
3061 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
3062
Werner Lemberg3d507fe2007-06-03 16:54:55 +000030632007-06-03 Werner Lemberg <wl@gnu.org>
3064
Werner Lemberg99a320b2007-06-03 19:21:26 +00003065 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
3066 George Williams (with some modifications).
3067
30682007-06-03 Werner Lemberg <wl@gnu.org>
3069
Werner Lemberg3d507fe2007-06-03 16:54:55 +00003070 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
3071 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
3072 face == NULL. Suggested by Graham Asher.
3073
Werner Lembergce280a22007-06-03 05:58:30 +000030742007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
3075
3076 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
3077
Werner Lemberg5b591e42007-06-01 22:16:43 +000030782007-06-02 Werner Lemberg <wl@gnu.org>
3079
3080 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
3081 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
3082
3083 * src/bdf/bdflib.c (bdf_load_font): Use them.
3084
3085 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
3086
Werner Lembergb9933f42007-06-01 21:27:12 +000030872007-06-01 Werner Lemberg <wl@gnu.org>
3088
3089 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
3090 (FTC_CMapCache_Lookup): Remove unused code.
3091
Werner Lembergc793d902007-06-01 20:51:11 +000030922007-06-01 Sean McBride <sean@rogue-research.com>
3093
3094 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
3095 unused.
3096
Werner Lembergbebc7b12007-06-01 06:32:30 +000030972007-06-01 Werner Lemberg <wl@gnu.org>
3098
3099 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
3100 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +00003101 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +00003102
Werner Lembergcb37b3b2007-06-01 06:49:03 +00003103 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
3104 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
3105
Werner Lembergba03af62007-05-30 13:57:02 +000031062007-05-30 Werner Lemberg <wl@gnu.org>
3107
3108 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
3109 against too small binary data strings.
3110
3111 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
3112
David Turnerf0cd69c2007-05-28 15:42:09 +000031132007-05-28 David Turner <david@freetype.org>
3114
Werner Lemberg99e0c182007-05-29 07:00:23 +00003115 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
3116 transformation. This significantly reduces the loading time of CFF
3117 glyphs.
David Turner552a9562007-05-28 15:45:35 +00003118
Werner Lemberg99e0c182007-05-29 07:00:23 +00003119 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00003120
Werner Lemberg99e0c182007-05-29 07:00:23 +00003121 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
3122 hinting script to CJK, since it works well with more scripts than
3123 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
3124 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +00003125
Werner Lemberg1c8980e2007-05-25 07:11:12 +000031262007-05-25 Werner Lemberg <wl@gnu.org>
3127
3128 * docs/CHANGES: Updated.
3129
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000031302007-05-24 Werner Lemberg <wl@gnu.org>
3131
3132 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
3133 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
3134
31352007-05-24 Graham Asher <graham.asher@btinternet.com>
3136
3137 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
3138 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
3139
David Turner0d0365e2007-05-22 09:53:44 +000031402007-05-22 David Turner <david@freetype.org>
3141
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003142 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
3143 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +00003144
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003145
3146 Avoid heap blowup with very large .Z font files. This fixes
3147 Savannah bug #19910.
3148
3149 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
3150 `in_limit', `pad', `pad_bits', and `in_buff' members.
3151 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
3152 `buf_total' members.
3153
3154 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
3155 only one argument.
3156 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +00003157
31582007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +00003159
3160 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
3161 (ps_dimension_set_mask_bits): Remove `const'.
3162
David Turner0d0365e2007-05-22 09:53:44 +000031632007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +00003164
3165 * src/sfnt/ttmtx.c (tt_face_get_metrics)
3166 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
3167
Werner Lembergb826fa72007-05-19 07:18:48 +000031682007-05-19 Derek Clegg <dclegg@apple.com>
3169
3170 Savannah patch #5929.
3171
3172 * include/freetype/tttables.h, src/base/ftobjcs.c
3173 (FT_Get_CMap_Format): New function.
3174
3175 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
3176 `format' member.
3177 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
3178 cmap_info->format.
3179
Werner Lemberg6f99c882007-05-19 07:01:49 +000031802007-05-19 Werner Lemberg <wl@gnu.org>
3181
3182 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
3183 before handling subglyphs so that it can be reinitialized each time.
3184 This fixes Savannah bug #19859.
3185
Werner Lemberg95bc9d32007-05-16 15:19:42 +000031862007-05-16 Werner Lemberg <wl@gnu.org>
3187
3188 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
3189 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
3190 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
3191 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
3192 tt_face_get_metrics): Fix type-punning issues.
3193
David Turner0a24bd22007-05-15 10:54:10 +000031942007-05-15 David Turner <david@freetype.org>
3195
3196 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00003197 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
3198 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00003199 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00003200 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00003201
Werner Lemberg607dec72007-05-15 06:49:37 +000032022007-05-15 Graham Asher <graham.asher@btinternet.com>
3203
3204 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
3205 variable.
3206 * src/autofit/afloader.c (af_loader_load_g): Ditto.
3207
3208 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
3209 (open_face_from_buffer): Initialize `stream'.
3210 (FT_Request_Metrics): Remove unused variable.
3211 Remove redundant `break' statements.
3212 (FT_Get_Track_Kerning): Remove unused variable.
3213
3214 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
3215 afm_parse_kern_data): Remove redundant
3216 `break' statements.
3217 (afm_parser_parse): Ditto.
3218 Don't use uninitialized variables.
3219
3220 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
3221 Use `|' operator instead of `^' to set it.
3222 Update all users.
3223
3224 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
3225 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
3226
3227 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
3228 comparison.
3229 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
3230 (TT_Load_Glyph): Remove unused variable.
3231
Werner Lemberg8d463a52007-05-13 16:01:55 +000032322007-05-13 Derek Clegg <dclegg@apple.com>
3233
3234 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
3235 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
3236
David Turner711cf842007-05-11 14:36:24 +000032372007-05-11 David Turner <david@freetype.org>
3238
Werner Lemberg56ceaa42007-05-14 18:53:58 +00003239 * src/cache/ftbasic.c, include/freetype/ftcache.h
3240 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
3241 functions that allow us to look up glyphs using an FTC_Scaler object
3242 to specify the size, making it possible to use fractional pixel
3243 sizes.
3244
3245 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
3246 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00003247
Werner Lemberg94be20e2007-05-09 20:02:55 +000032482007-05-09 Graham Asher <graham.asher@btinternet.com>
3249
3250 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
3251 (af_latin_metrics_scale_dim): Fix compiler warnings.
3252
Werner Lemberg41271032007-05-06 04:51:48 +000032532007-05-06 Werner Lemberg <wl@gnu.org>
3254
3255 * builds/win32/visualce/freetype.sln: Removed, as requested by
3256 Vincent.
3257
Werner Lembergdf49e692007-05-04 06:30:05 +000032582007-05-04 Vincent RICHOMME <richom.v@free.fr>
3259
3260 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
3261 PC targets.
3262
3263 * docs/CHANGES: Document them.
3264
32652007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00003266
3267 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
3268 mmap (which might happen on some RTOS). From Savannah patch #5909.
3269
Werner Lemberg106eaf12007-05-03 07:07:47 +000032702007-05-03 Werner Lemberg <wl@gnu.org>
3271
3272 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
3273 * include/freetype/freetype.h (FT_Set_Char_Size): Update
3274 documentation.
3275
Werner Lemberg1b5267d2007-04-28 21:06:15 +000032762007-04-28 Victor Stinner <victor.stinner@inl.fr>
3277
3278 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
3279 `cmap'.
3280
Werner Lembergcc712a22007-04-27 17:16:50 +000032812007-04-27 Werner Lemberg <wl@gnu.org>
3282
3283 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
3284 number of points in contours. Problem reported by Victor Stinner
3285 <victor.stinner@haypocalc.com>.
3286 (TT_Process_Simple_Glyph): Synchronize variable types.
3287
Werner Lemberg45bb18f2007-04-26 06:26:35 +000032882007-04-26 Werner Lemberg <wl@gnu.org>
3289
3290 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
3291 zero in case of error. This fixes Savannah bug #19689.
3292
Werner Lembergb2116512008-09-12 16:27:48 +000032932007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
David Turnera8b45e62007-05-11 14:10:30 +00003294
Werner Lemberg1c8980e2007-05-25 07:11:12 +00003295 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
3296 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00003297
Werner Lembergfcc1f472007-04-10 11:51:50 +000032982007-04-10 Martin Horak <horakm@centrum.cz>
3299
3300 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
3301 Ignore `hhea' table. This fixes Savannah bug #19261.
3302
Werner Lemberg14bf82e2007-04-10 04:09:49 +000033032007-04-09 Werner Lemberg <wl@gnu.org>
3304
Werner Lemberg3b0e5002007-07-03 04:48:19 +00003305
Werner Lemberg14bf82e2007-04-10 04:09:49 +00003306 * Version 2.3.4 released.
3307 =========================
3308
3309
3310 Tag sources with `VER-2-3-4'.
3311
3312 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
3313 version number to 2.3.4.
3314
3315 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
3316 builds/win32/visualc/freetype.dsp,
3317 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
3318
3319 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
3320
3321 * builds/unix/configure.raw (version_info): Set to 9:15:3.
3322
Werner Lembergf4a52a62007-04-09 08:40:11 +000033232007-04-09 Martin Horak <horakm@centrum.cz>
3324
3325 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
3326 memory stream to avoid a crash with the incremental memory
3327 interface (Savannah bug #19260).
3328
David Turner1dcb4442007-04-06 08:19:04 +000033292007-04-06 David Turner <david@freetype.org>
3330
Werner Lembergc81cf612007-04-06 09:28:23 +00003331 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
3332 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00003333
Werner Lemberg9f83e052007-04-05 02:28:23 +000033342007-04-04 Werner Lemberg <wl@gnu.org>
3335
Werner Lemberg3b0e5002007-07-03 04:48:19 +00003336
Werner Lemberg9f83e052007-04-05 02:28:23 +00003337 * Version 2.3.3 released.
3338 =========================
3339
3340
3341 Tag sources with `VER-2-3-3'.
3342
3343 * docs/CHANGES: Mention CVE-2007-1351.
3344
David Turner7338ec22007-04-03 14:30:34 +000033452007-04-03 David Turner <david@freetype.org>
3346
3347 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00003348 if one of the resolution values is 0, treat it as if it were the
3349 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00003350
David Turnere6472c12007-04-02 13:13:54 +000033512007-04-02 David Turner <david@freetype.org>
3352
Werner Lemberg94f12272007-04-03 07:19:53 +00003353 Add special code to detect `extra-light' fonts and do not snap their
3354 stem widths too much to avoid bizarre hinting effects.
3355
3356 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
3357 `extra_light' members.
3358
3359 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
3360 them.
3361 (af_latin_metrics_scale_dim): Set `extra_light'.
3362 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00003363
David Turner3f539692007-03-28 14:53:40 +000033642007-03-28 David Turner <david@freetype.org>
3365
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003366 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00003367 padding.
3368
Werner Lemberga08b2172007-03-28 07:17:17 +000033692007-03-28 Werner Lemberg <wl@gnu.org>
3370
3371 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
3372 gracefully.
3373 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00003374 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00003375 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
3376 number of code points in Unicode.
3377
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003378 * builds/win32/visualc/index.html,
3379 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00003380 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003381 s/232/233/.
3382
3383 * docs/CHANGES: Mention ftdiff.
3384
David Turner3b242d32007-03-26 12:03:04 +000033852007-03-26 David Turner <david@freetype.org>
3386
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003387 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
3388 corresponding code.
3389 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00003390
Werner Lemberga08b2172007-03-28 07:17:17 +00003391 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003392 computations in order to ignore single-point contours. These are
3393 never rasterized and correspond in certain fonts to mark-attach
3394 points that are very far from the glyph's real outline, ruining the
3395 computation.
David Turnerf58caa02007-03-26 12:39:25 +00003396
Werner Lemberga08b2172007-03-28 07:17:17 +00003397 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00003398 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00003399 Otherwise code that uses them will most certainly ruin the fixed
3400 advance property.
David Turner23553d62007-03-26 13:37:17 +00003401
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003402 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
3403 documentation and bump version number to 2.3.3.
3404
3405 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
3406
3407 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00003408
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000034092007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3410
Werner Lemberg644b1ad2007-03-28 21:17:11 +00003411 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
3412 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00003413 * builds/vms/ftconfig.h: Ditto.
3414 * include/freetype/config/ftconfig.h: Ditto.
3415
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000034162007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3417
Werner Lemberg14ffe092007-03-22 06:12:43 +00003418 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
3419 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00003420 proposed by Sean McBride:
3421 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
3422
34232007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3424
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00003425 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
3426 setjmp, proposed by Sean McBride:
3427 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
3428
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000034292007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3430
Werner Lembergc9f6c662007-03-21 13:30:14 +00003431 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
3432 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
3433 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00003434
David Turner74c34eb2007-03-18 07:19:31 +000034352007-03-18 David Turner <david@freetype.org>
3436
Werner Lembergc9f6c662007-03-21 13:30:14 +00003437 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
3438 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00003439
Werner Lembergc9f6c662007-03-21 13:30:14 +00003440 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00003441
David Turner89020d92007-03-17 17:48:57 +000034422007-03-17 David Turner <david@freetype.org>
3443
Werner Lembergc9f6c662007-03-21 13:30:14 +00003444 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
3445 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00003446
Werner Lemberg25d592a2007-03-09 07:59:35 +000034472007-03-09 Werner Lemberg <wl@gnu.org>
3448
Werner Lemberg3b0e5002007-07-03 04:48:19 +00003449
Werner Lemberg25d592a2007-03-09 07:59:35 +00003450 * Version 2.3.2 released.
3451 =========================
3452
3453
3454 Tag sources with `VER-2-3-2'.
3455
3456 * builds/win32/visualc/index.html,
3457 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00003458 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00003459 s/231/232/.
3460
David Turner3a51afa2007-03-08 10:50:38 +000034612007-03-08 David Turner <david@freetype.org>
3462
Werner Lemberg25d592a2007-03-09 07:59:35 +00003463 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00003464
Werner Lemberg25d592a2007-03-09 07:59:35 +00003465 * builds/unix/configure.raw (version_info): Set to 9:13:3.
3466
3467 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
3468
3469 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00003470
Werner Lemberg1e259de2007-03-08 15:39:21 +00003471 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
3472 function to work properly, over-writing user-provided buffers in
3473 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00003474
David Turner121cad52007-03-08 16:43:50 +00003475
Werner Lemberg3d92f082007-03-06 11:59:24 +000034762007-03-05 Werner Lemberg <wl@gnu.org>
3477
3478 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
3479 macro for `strstr'.
3480
3481 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
3482 `trick_names', as suggested by Ivan Nincic.
3483
David Turner085bc6e2007-03-05 17:40:03 +000034842007-03-05 David Turner <david@freetype.org>
3485
Werner Lembergd112cf02007-03-06 12:06:56 +00003486 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
3487 case FT_Init_FreeType fails for some reason. Problem reported by
3488 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00003489
Werner Lembergd112cf02007-03-06 12:06:56 +00003490 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
3491 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
3492 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
3493 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00003494
Werner Lembergd112cf02007-03-06 12:06:56 +00003495 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
3496 signed values, not unsigned ones. Problem reported by Johannes
3497 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00003498
David Turner601aefe2007-02-21 16:47:49 +000034992007-02-21 David Turner <david@freetype.org>
3500
Werner Lembergde5e6862007-02-25 21:06:43 +00003501 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
3502 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00003503
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000035042007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3505
3506 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
3507 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
3508 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
3509
Werner Lemberga0915172007-02-16 08:12:50 +000035102007-02-16 Werner Lemberg <wl@gnu.org>
3511
3512 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
3513 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
3514
David Turner2c4500e2007-02-14 15:08:47 +000035152007-02-14 David Turner <david@freetype.org>
3516
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00003517 It seems that the following changes fix most of the known
3518 interpreter problems with my fonts, but more testing is needed,
3519 though.
3520
3521 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
3522 (TT_MulFix14): Rewrite.
3523 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
3524 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00003525
Werner Lembergc6a14082007-02-12 22:08:15 +000035262007-02-12 Werner Lemberg <wl@gnu.org>
3527
3528 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
3529 warnings.
3530
3531 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
3532 (bdf_interpret_style): Ditto.
3533
David Turnerc0f9c4a2007-02-12 14:55:03 +000035342007-02-12 David Turner <david@freetype.org>
3535
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00003536 Simplify projection and dual-projection code interface.
3537
Werner Lemberg406d25f2007-02-12 22:01:18 +00003538 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
3539 FT_Vector' as argument type.
3540 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
3541 Updated.
3542 (CUR_fast_project, CUR_fast_dualproj): New macros.
3543 (Project, Dual_Project, Project_x, Project_y): Updated.
3544 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
3545 macros.
3546
3547
3548 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
3549 adjustments for the non-light auto-hinted modes. Gets rid of
3550 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00003551
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00003552 * src/autofit/aflatin.c (af_latin_hints_link_segments,
3553 af_latin_hints_compute_edges): Slight optimization of the segment
3554 linker and better handling of serif segments to get rid of broken
3555 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00003556
David Turnerc0f9c4a2007-02-12 14:55:03 +00003557
Werner Lemberg442bfb82007-02-12 21:44:10 +00003558 Introduce new string functions and the corresponding macros to get
3559 rid of various uses of strcpy and other `evil' functions, as well as
3560 to simplify a few things.
3561
3562 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
3563 ft_mem_strcpyn): New declarations.
3564 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
3565 macros.
3566 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
3567 functions.
3568
3569 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
3570 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
3571 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
3572 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
3573 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
3574 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
3575 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
3576 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00003577
Werner Lemberg406d25f2007-02-12 22:01:18 +00003578 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
3579
Werner Lemberg582067d2007-02-11 15:03:05 +000035802007-02-11 Werner Lemberg <wl@gnu.org>
3581
3582 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
3583 non-spacing glyphs.
3584
Werner Lemberg8f474532007-02-07 08:31:01 +000035852007-02-07 Tom Parker <palfrey@tevp.net>
3586
3587 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
3588 pointer.
3589
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000035902007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3591
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003592 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
3593 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00003594 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003595 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
3596 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
3597 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
3598 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00003599
3600 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
3601 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00003602 * builds/mac/ftmac.c: Ditto.
3603
36042007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3605
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00003606 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00003607 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00003608 #include <ftmac.c>.
3609
36102007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3611
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00003612 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
3613 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
3614 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
3615 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
3616 FT_GetFilePath_From_Mac_ATS_Name.
3617 * builds/mac/ftmac.c: Ditto.
3618
36192007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3620
Werner Lembergdcbb7082007-02-08 08:54:09 +00003621 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00003622 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
3623 for passing to FT_New_Face_From_FSSpec.
3624
36252007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3626
Werner Lembergdcbb7082007-02-08 08:54:09 +00003627 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003628 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00003629
3630 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
3631 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003632 * builds/mac/ftmac.c (OS_INLINE): Ditto.
3633
Werner Lemberg313d7772007-02-01 08:10:45 +000036342007-02-01 Werner Lemberg <wl@gnu.org>
3635
3636 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
3637 Explain why applications shouldn't use it. Found by Alexei.
3638
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000036392007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003640
3641 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
3642 message.
3643
3644 * src/gxvalid/gxvmort1.c
3645 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
3646 message.
3647
Werner Lemberg53935932007-01-31 08:53:02 +000036482007-01-31 Werner Lemberg <wl@gnu.org>
3649
3650
3651 * Version 2.3.1 released.
3652 =========================
3653
3654
3655 Tag sources with `VER-2-3-1-FINAL'.
3656
3657 * builds/win32/visualc/freetype.dsp,
3658 builds/win32/visualc/freetype.vcproj: s/230/231/.
3659 * builds/win32/visualc/index.html: s/221/231/.
3660
3661 * vms_make.com: Add `ftgasp'.
3662
David Turnera7ee6082007-01-30 10:33:53 +000036632007-01-30 David Turner <david@freetype.org>
3664
Werner Lemberg53935932007-01-31 08:53:02 +00003665 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00003666
Werner Lemberg53935932007-01-31 08:53:02 +00003667 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00003668
Werner Lemberg25d592a2007-03-09 07:59:35 +00003669 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00003670 s/2.3.0/2.3.1/.
3671
3672 * builds/unix/configure.raw (version_info): Set to 9:12:3.
3673
3674
3675 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
3676 (af_loader_load_g): Disable the warper (i.e., the light hinting
3677 improvements) to make a 2.3.1 bugfix release before introducing a
3678 new feature. This should give us more time to tune and improve the
3679 warper for the next release.
3680
3681 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00003682
David Turnerd91eebd2007-01-26 15:05:41 +000036832007-01-25 David Turner <david@freetype.org>
3684
Werner Lembergbf241762007-01-26 16:08:49 +00003685 For light auto-hinting, improve glyph advance widths and resurrect
3686 normal/full hinting to its normal quality.
3687
3688 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
3689 and `xmax_delta'.
3690 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
3691 and `xmax_delta'.
3692
3693 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
3694 preprocessor conditional with if-clause, handling both light and
3695 normal mode.
3696
3697 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
3698 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00003699
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000037002007-01-25 Werner Lemberg <wl@gnu.org>
3701
3702 * docs/release: Updated -- Savannah uses a new uploading scheme.
3703
David Turnera42567b2007-01-25 12:23:37 +000037042007-01-25 David Turner <david@freetype.org>
3705
Werner Lembergd7855662007-01-25 13:53:56 +00003706 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00003707
Werner Lembergd7855662007-01-25 13:53:56 +00003708 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
3709 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
3710 functions.
David Turnera42567b2007-01-25 12:23:37 +00003711
Werner Lembergd7855662007-01-25 13:53:56 +00003712 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00003713
Werner Lembergb1be9e82007-01-25 11:50:00 +000037142007-01-25 Werner Lemberg <wl@gnu.org>
3715
3716 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00003717 correctly in a sanity check. Since this function is only used to
3718 load local and global functions, any charstring that called the last
3719 local/global function would fail otherwise. This fixes Savannah bug
3720 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00003721
3722 * docs/CHANGES: Document it.
3723
David Turnerb6de8d12007-01-23 15:51:50 +000037242007-01-23 David Turner <david@freetype.org>
3725
Werner Lembergb1be9e82007-01-25 11:50:00 +00003726 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
3727 prevented compilation when disabling both the unpatented and the
3728 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00003729
Werner Lembergb1be9e82007-01-25 11:50:00 +00003730
3731 Fix and enable the warper to improve `light' hinting mode. This is
3732 not necessarily a final version, but it seems to work well.
3733
3734 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
3735 Disable code.
3736 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
3737 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
3738
3739 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
3740 (af_warper_compute_line_best): Fix array size of `scores'.
3741 (af_warper_compute): Better handling of border cases.
3742 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
3743 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00003744
Werner Lemberg011d1112007-01-21 09:36:00 +000037452007-01-21 Werner Lemberg <wl@gnu.org>
3746
Werner Lemberg42b63b22007-01-21 21:01:33 +00003747 * ChangeLog: Split off older entries into...
3748 * ChangeLog.22: This new file.
3749
37502007-01-21 Werner Lemberg <wl@gnu.org>
3751
Werner Lemberg555258f2007-01-21 09:46:37 +00003752 * docs/CHANGES: Document SHZ fix.
3753
37542007-01-21 George Williams <gww@silcom.com>
3755
3756 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
3757 points.
3758
37592007-01-21 Werner Lemberg <wl@gnu.org>
3760
Werner Lemberg011d1112007-01-21 09:36:00 +00003761 * src/sfnt/ttmtx.c (tt_face_get_metrics)
3762 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
3763
Werner Lemberg87a5a432007-01-17 12:44:39 +000037642007-01-17 Werner Lemberg <wl@gnu.org>
3765
Werner Lembergb8003292007-01-17 12:56:25 +00003766
3767 * Version 2.3.0 released.
3768 =========================
3769
3770
3771 Tag sources with `VER-2-3-0-FINAL'.
3772
37732007-01-17 Werner Lemberg <wl@gnu.org>
3774
Werner Lemberg87a5a432007-01-17 12:44:39 +00003775 * docs/release: Updated.
3776
David Turner22122722007-01-16 20:06:44 +000037772007-01-16 David Turner <david@freetype.org>
3778
Werner Lemberg87a5a432007-01-17 12:44:39 +00003779 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
3780 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
3781 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
3782 warnings.
David Turner22122722007-01-16 20:06:44 +00003783
Werner Lemberg267e1d72007-01-15 07:48:09 +000037842007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
3785
3786 * builds/amiga/makefile, builds/amiga/makefile.os4,
3787 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
3788
3789 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
3790
Werner Lemberg8c4120d2007-01-15 06:42:40 +000037912007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
3792
3793 Fix various compiler warnings.
3794
3795 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
3796 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
3797 s/index/strike_index/.
3798 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
3799
3800 * src/gxvalid/gxvmorx5.c
3801 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
3802
3803 * src/truetype/ttinterp.c (Compute_Point_Displacement),
3804 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
3805 uninitialized variables.
3806
Werner Lemberg6164a9d2007-01-13 23:01:36 +000038072007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
3808
3809 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
3810
Werner Lemberg281c1482007-01-13 22:50:51 +000038112007-01-13 Werner Lemberg <wl@gnu.org>
3812
3813 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
3814 versions up to 0x3FF without complaining.
3815
Werner Lembergac250b22007-01-13 14:01:36 +000038162007-01-13 Derek Clegg <dclegg@apple.com>
3817
3818 Add FT_Get_PS_Font_Info interface to CFF driver.
3819
3820 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
3821 (CFF_FontRec): Add `font_info' field.
3822
3823 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
3824 (cff_font_done): Free font->font_info if necessary.
3825
3826 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
3827 (cff_service_ps_info): Register cff_ps_get_font_info.
3828
Werner Lemberg23df31a2007-01-13 08:45:00 +000038292007-01-13 Werner Lemberg <wl@gnu.org>
3830
3831 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
3832 with C++ compiler.
3833
3834 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
3835 af_glyph_hints_dump_edges): Ditto.
3836
3837 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
3838 `modules.cfg').
3839
3840 * src/sfnt/ttsbit0.h: Remove.
3841
3842 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
3843
Werner Lemberg27cf9de2007-01-13 07:34:23 +000038442007-01-12 David Turner <david@freetype.org>
3845
3846 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
3847 bug in the bitmap emboldener if the pitch of the source bitmap is
3848 much larger than its width.
3849
3850 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
3851 compilation warning.
3852
Werner Lemberg6d96d312007-01-12 10:30:19 +000038532007-01-12 Werner Lemberg <wl@gnu.org>
3854
3855 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
3856 `automake' CVS module from sources.redhat.com.
3857
Werner Lemberg17432b52007-01-12 09:28:44 +000038582007-01-11 Werner Lemberg <wl@gnu.org>
3859
3860 * src/type1/t1load.c (is_space): Removed.
3861 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
3862 (parse_charstrings): Use IS_PS_TOKEN.
3863
3864
3865 * autogen.sh: Avoid bash specific syntax.
3866
David Turner038ace22007-01-11 15:00:59 +000038672007-01-11 David Turner <david@freetype.org>
3868
Werner Lemberg17432b52007-01-12 09:28:44 +00003869 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00003870
Werner Lemberg17432b52007-01-12 09:28:44 +00003871 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00003872
Werner Lemberg17432b52007-01-12 09:28:44 +00003873 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
3874 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00003875 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00003876
Werner Lemberg17432b52007-01-12 09:28:44 +00003877 * autogen.sh: Small fix to get it working on Mac OS X properly:
3878 The issue is that GNU libtool is called `glibtool' on this platform,
3879 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00003880
David Turner2628ea92007-01-10 13:15:56 +000038812007-01-10 David Turner <david@freetype.org>
3882
Werner Lemberg17432b52007-01-12 09:28:44 +00003883 * all-sources: Tag all sources with VER-2-3-0-RC1 and
3884 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00003885
Werner Lemberg17432b52007-01-12 09:28:44 +00003886 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
3887 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
3888 version number to 2.3.0.
3889
3890 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
3891 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00003892
3893 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00003894 include/freetype/ftlcdfil.h: Update reference documentation with
3895 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00003896
Werner Lemberg17432b52007-01-12 09:28:44 +00003897 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
3898 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00003899
Werner Lembergbf02d392007-01-10 07:07:37 +000039002007-01-10 Derek Clegg <dclegg@apple.com>
3901
3902 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
3903 values.
3904
David Turnerf48b60e2007-01-08 15:15:32 +000039052007-01-08 David Turner <david@freetype.org>
3906
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003907 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00003908
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003909 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
3910 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00003911 corresponding to a given character pixel size.
3912
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003913 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
3914 `gasp' table, in order to avoid potential problems with later
3915 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00003916
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003917 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
3918 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00003919
Werner Lembergcc7f12a2007-01-09 10:37:36 +00003920 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
3921 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
3922 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
3923 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00003924
Werner Lemberge6b6f372007-01-07 00:06:47 +000039252007-01-07 Werner Lemberg <wl@gnu.org>
3926
Werner Lembergb8004d22007-01-07 09:13:38 +00003927 * src/cid/cidparse.c (cid_parser_new): Improve error message for
3928 Type 11 fonts.
3929 Scan for `/sfnts' token.
3930
39312007-01-07 Werner Lemberg <wl@gnu.org>
3932
3933 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00003934
Werner Lembergbe5f7972007-01-06 07:51:48 +000039352007-01-06 Werner Lemberg <wl@gnu.org>
3936
3937 * src/cff/cffload.c (cff_index_init): Remove unused variable.
3938 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
3939
David Turnera8cf42b2007-01-04 16:46:46 +000039402007-01-04 David Turner <david@freetype.org>
3941
Werner Lembergf6294392007-01-06 07:47:45 +00003942 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
3943 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00003944
Werner Lembergf6294392007-01-06 07:47:45 +00003945
3946 Do not allocate interpreter-specific tables in memory if we are not
3947 going to load glyphs with the bytecode interpreter anyway.
3948
3949 * src/truetype/ttgload.c (tt_loader_init): Load execution context
3950 only if glyph is hinted.
3951 Updated.
3952 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
3953 and `cvs_ready'.
3954 Add `tt_size_ready_bytecode' declaration.
3955 * src/truetype/ttobjs.c (tt_size_done_bytecode,
3956 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
3957 (tt_size_init): Move most code into `tt_size_init_bytecode'.
3958 (tt_size_done): Move most code into `tt_size_done_bytecode'.
3959 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00003960
David Turner91a34022007-01-05 14:47:08 +00003961
Werner Lembergf6294392007-01-06 07:47:45 +00003962 Don't extract the metrics table from the SFNT font file. Instead,
3963 reparse it on each glyph load. The runtime difference is not
3964 noticeable, and it can save a lot of heap memory when memory-mapped
3965 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00003966
Werner Lembergf6294392007-01-06 07:47:45 +00003967 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
3968 `horz_metrics_offset' and `vert_metrics_ofset'.
3969 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
3970 Updated.
3971
3972
3973 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
3974
3975
3976 Do not load the CFF index offsets into memory, since this wastes a
3977 *lot* of heap memory with large Asian CFF fonts. There is no
3978 significant performance loss.
3979
3980 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
3981 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
3982 `data_size'.
3983 (CFF_CharsetRec): Add field `num_glyphs'.
3984
3985 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
3986 cff_charset_cid_to_gindex): New functions.
3987 (cff_new_index): Renamed to...
3988 (cff_index_init): This. Update all callers.
3989 Updated -- some code has been moved to `cff_index_load_offsets'.
3990 (cff_done_index): Renamed to...
3991 (cff_index_done): This. Update all callers.
3992 (cff_index_get_pointers, cff_index_access_element): Updated to use
3993 stream offsets.
3994 (cff_charset_compute_cids): Set `num_glyphs' field.
3995 (cff_encoding_load): Updated.
3996
3997 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00003998
39992007-01-04 David Turner <david@freetype.org>
4000
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004001 * docs/INSTALL.UNIX: Simplify some parts, add reference to
4002 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00004003
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004004 * README.CVS: Add common problem description and solution
4005 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00004006
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004007 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00004008
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004009 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00004010
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004011 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00004012
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004013 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
4014 (TWorker): This.
4015 Remove `count_table' and `memory'.
4016 Make `grays' a pointer.
4017 (TRaster): New structure.
4018 (count_table): New static array.
4019 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
4020 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
4021 ft_black_set_mode, ft_black_render): Updated.
4022 (ft_black_init): Don't initialize `count_table'.
4023 (ft_black_reset): Use the render pool. This saves about 6KB of
4024 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00004025
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004026 * src/smooth/ftgrays.c (TRaster): Replaced with...
4027 (TWorker): This.
4028 Remove `memory'.
4029 (TRaster): New structure.
4030
4031 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
4032 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
4033 gray_render_span, gray_raster_render): Updated.
4034 (gray_raster_reset): Use the render pool. This saves about 6KB of
4035 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00004036
David Turner8a6c44e2007-01-04 17:03:11 +00004037 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
4038 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004039 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
4040 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
4041 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00004042
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004043 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
4044 Remove a typo that results in no hinting and a memory leak with some
4045 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00004046
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004047 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00004048 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00004049 CFF_Faces in it. We need to close all faces before destroying the
4050 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00004051
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000040522007-01-02 Werner Lemberg <wl@gnu.org>
4053
4054 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
4055 Remove compiler warning.
4056
David Turner9207e002007-01-02 16:58:13 +000040572007-01-02 David Turner <david@freetype.org>
4058
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004059 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00004060
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000040612006-12-31 Masatake YAMATO <jet@gyve.org>
4062
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004063 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
4064 function.
4065 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00004066 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00004067 `gxv_kern_subtable_fmt0_pairs_validate'.
4068
David Turner115b4422006-12-22 11:37:05 +000040692006-12-22 David Turner <david@freetype.org>
4070
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004071 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
4072 warnings.
David Turner115b4422006-12-22 11:37:05 +00004073
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00004074 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
4075 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00004076
Werner Lemberg4755bf72006-12-16 08:58:44 +000040772006-12-16 Anders Kaseorg <anders@kaseorg.com>
4078
4079 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
4080 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
4081
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000040822006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4083
Werner Lemberg9b774e22007-01-16 06:11:27 +00004084 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00004085 sync with the modification by Jens Claudius on 2006-08-22; cf.
4086 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 +00004087
40882006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4089
4090 * src/base/ftmac.c: Specialized for Mac OS X only.
4091 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
Werner Lemberg830846e2008-07-27 06:27:21 +00004092 * builds/unix/configure.raw: Ditto. When explicit switches for
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00004093 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
4094 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
4095
40962006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4097
4098 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
4099 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
4100 instead of src/base/ftmac.c
4101 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
4102 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
4103 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
4104 that cannot be built at present.
4105
41062006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4107
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00004108 * src/base/ftobjs.c: Improvement of resource fork handler for
4109 POSIX, cf.
4110 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00004111 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
4112 format or .dfont, to simulate the face index number counted by ftmac.c.
4113 (IsMacResource): Return the number of scalable faces correctly.
4114
Werner Lembergec5b4502006-12-10 07:51:38 +000041152006-12-10 Werner Lemberg <wl@gnu.org>
4116
4117 * builds/toplevel.mk (version): Protect against `distclean' target.
4118
Werner Lembergb26b3142006-12-09 20:01:43 +000041192006-12-09 Werner Lemberg <wl@gnu.org>
4120
4121 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
4122 or `type'.
4123
4124 * builds/freetype.mk (version): Extracted from freetype.h, using
4125 GNU make's built-in string functions.
4126 (refdoc): Use $(version) instead of static version number.
4127
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000041282006-12-08 Werner Lemberg <wl@gnu.org>
4129
4130 * builds/toplevel.mk (dist): Extract version number from freetype.h.
4131
Werner Lemberg15c29502006-12-09 07:29:54 +000041322006-12-08 Vladimir Volovich <vvv@vsu.ru>
4133
4134 * src/tools/apinames (State): Remove final comma in structure -- xlc
4135 v5 under AIX 4.3 doesn't like this.
4136
David Turnerdbf3b432006-12-07 21:18:09 +000041372006-12-07 David Turner <david@freetype.org>
4138
Werner Lemberg256a3512006-12-08 06:49:33 +00004139 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
4140 to the spacing of auto-fitted glyphs. This only impacts rare
4141 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00004142
Werner Lemberg11171312006-12-03 09:43:40 +000041432006-12-03 Werner Lemberg <wl@gnu.org>
4144
4145 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
4146
Werner Lemberg960ba592006-12-01 08:20:47 +000041472006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00004148
Werner Lemberg960ba592006-12-01 08:20:47 +00004149 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
4150 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
4151 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00004152
David Turner80658e52006-11-28 08:09:20 +00004153
Werner Lemberg960ba592006-12-01 08:20:47 +00004154 * include/freetype/ftxf86.h: Fix and extend comment so that it
4155 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00004156
Werner Lemberg960ba592006-12-01 08:20:47 +00004157 * include/freetype/ftchapters.h: Add `font_format' section.
4158
4159
4160 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
4161 to TOC in index page.
4162
41632006-11-28 David Turner <david@freetype.org>
4164
4165 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
4166 trying to render into a zero-width/height bitmap, not an error code.
4167
4168 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
4169
4170 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
4171 ones instead.
4172
4173 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
4174 variable.
David Turner80658e52006-11-28 08:09:20 +00004175
Werner Lemberg8636c292006-11-26 22:28:13 +000041762006-11-26 Pierre Hanser <hanser@club-internet.fr>
4177
4178 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
4179
Werner Lemberg960ba592006-12-01 08:20:47 +000041802006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00004181
Werner Lemberg960ba592006-12-01 08:20:47 +00004182 * src/autofit/afhints.c (af_glyph_hints_dump_points,
4183 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
4184 Add stubs to link the `ftgrid' test program when debugging is
4185 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00004186
Werner Lemberg960ba592006-12-01 08:20:47 +000041872006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00004188
4189 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00004190 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
4191
4192 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
4193 Emit more sensible information.
4194
4195 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
4196
4197 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
4198 rounding of blue values.
4199 (af_latin_hints_compute_segments): Hint segment heights.
4200 (af_latin_hints_link_segments): Reduce `len_score' value.
4201 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
4202 value and use `height' member for comparisons.
4203 (af_latin_hint_edges): Extend logging message.
4204 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00004205
Werner Lemberg91959bf2006-11-22 10:36:55 +000042062006-11-22 Werner Lemberg <wl@gnu.org>
4207
4208 Fix Savannah bug #15553.
4209
4210 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
4211 program after a change from mono to grayscaling (and vice versa).
4212 Use correct constant for comparison to get `exec->grayscale'.
4213
Werner Lemberg913a3652006-11-19 09:19:17 +000042142006-11-18 Werner Lemberg <wl@gnu.org>
4215
4216 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00004217 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00004218 This patch fixes Savannah bug #18301.
4219
4220 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
4221 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
4222 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
4223 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
4224 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
4225 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
4226 (FNT_Load_Glyph): Check validity of `glyph_index'.
4227
David Turner7bab6ae2006-11-13 11:25:06 +000042282006-11-13 David Turner <david@freetype.org>
4229
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00004230 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
4231 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00004232
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00004233 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
4234 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
4235 when building the library to change the default LCD filter to be
4236 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00004237
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00004238 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00004239
David Turner8765c712006-11-10 16:49:42 +000042402006-11-10 David Turner <david@freetype.org>
4241
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00004242 * src/smooth/ftsmooth.c: API change for the LCD
4243 filter. The FT_LcdFilter value is an enumeration describing which
4244 filter to apply, with new values FT_LCD_FILTER_LIGHT and
4245 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
4246 algorithm which produces strong color fringes for everything
4247 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00004248
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00004249 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
4250 second parameter to an enum type.
4251
4252 * src/base/ftlcdfil.c (USE_LEGACY): Define.
4253 (_ft_lcd_filter): Rename to...
4254 (_ft_lcd_filter_fir): This.
4255 Update parameters.
4256 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
4257 (FT_Library_Set_LcdFilter): Update parameters.
4258 Handle new filter modes.
4259
4260 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
4261 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
4262 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
4263 callback and update other fields.
4264
4265 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
4266 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
4267 Other minor improvements.
4268
4269 * src/autofit/aflatin.c: Various tiny improvements that drastically
4270 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
4271 (af_latin_hints_compute_edges): Fix typo.
4272 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00004273
David Turner4e9cc3c2006-11-09 16:31:52 +000042742006-11-09 David Turner <david@freetype.org>
4275
Werner Lemberg49c77a82006-11-09 21:51:57 +00004276 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
4277 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00004278
Werner Lemberg5e430892006-11-07 09:35:03 +000042792006-11-07 Zhe Su <james.su@gmail.com>
4280
4281 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
4282 also.
4283
Werner Lemberg111b5ae2006-11-03 09:40:12 +000042842006-11-03 Werner Lemberg <wl@gnu.org>
4285
4286 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
4287
David Turner40604742006-11-02 16:37:35 +000042882006-11-02 David Turner <david@freetype.org>
4289
Werner Lemberg111b5ae2006-11-03 09:40:12 +00004290 Add a few tweaks to better handle serif fonts.
4291 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00004292
Werner Lemberg111b5ae2006-11-03 09:40:12 +00004293 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
4294 segments that are less than 1.5 pixels high. This gets rid of
4295 *many* corner cases with serifs.
4296 (af_latin_align_linked_edge): Add logging message.
4297 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
4298 Add logging messages.
4299 Handle AF_EDGE_FLAG flag specially.
4300
4301 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
4302 _af_debug_disable_blue_hints, and _af_debug_hints variables.
4303
4304 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
4305 Update external declarations.
4306 (af_corner_orientation, af_corner_is_flat): Replaced by...
4307
4308 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
4309 ft_corner_is_flat): These declarations.
4310
4311 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
4312 Comment out. Replaced by...
4313
4314 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
4315 These functions. Update all callers.
4316 (FT_Add64) [!FT_LONG64]: Simplify.
4317
4318 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
4319 (af_direction_compute): Add a missing FT_ABS call. This bug caused
4320 production of garbage by missing lots of segments.
4321
4322 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
4323
4324 * src/autofit/afloader.c (af_loader_init, af_loader_done)
4325 [AF_DEBUG]: Set _af_debug_hints.
4326
4327
4328 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
4329 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
4330 and ft_corner_orientation.
4331
4332
4333 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00004334
Werner Lemberge88c5262006-10-24 05:46:26 +000043352006-10-24 Werner Lemberg <wl@gnu.org>
4336
4337 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
4338
4339 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
4340 as argument.
4341
David Turnera1861392006-10-23 16:00:59 +000043422006-10-23 Zhe Su <zsu@novell.com>
4343
Werner Lemberg715e96e2006-10-24 05:28:45 +00004344 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
4345 better deal with broken Asian fonts with strange glyphs, having
4346 self-intersections and other peculiarities. The used algorithm is
4347 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00004348
David Turnere140f142006-10-23 08:56:57 +000043492006-10-23 David Turner <david@freetype.org>
4350
Werner Lemberg715e96e2006-10-24 05:28:45 +00004351 Speed up the CFF font loader. With some large CFF fonts,
4352 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00004353
Werner Lemberg715e96e2006-10-24 05:28:45 +00004354 * src/cff/cffload.c (cff_get_offset): Removed.
4355 (cff_new_index): Inline functionality of `cff_get_offset'.
4356 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
4357 (cff_charset_done): Call `cff_charset_free_cids'.
4358 (cff_charset_load): Call `cff_charset_compute_cids'.
4359 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
4360
4361 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
4362 with FT_NEXT_XXX.
4363
4364
4365 Speed up the Postscript hinter, with more than 100% speed increase
4366 on my machine.
4367
4368 * src/pshinter/pshalgo.c (psh_corner_is_flat,
4369 psh_corner_orientation): New functions.
4370 (psh_glyph_compute_inflections): Merge loops for efficiency.
4371 Use `psh_corner_orientation'.
4372 (psh_glyph_init): Use `psh_corner_is_flat'.
4373 (psh_hint_table_find_strong_point): Renamed to...
4374 (psh_hint_table_find_strong_points): This.
4375 Rewrite, adding argument to handle all points at once.
4376 Update all callers.
4377 (PSH_MAX_STRONG_INTERNAL): New macro.
4378 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00004379
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000043802006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4381
4382 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00004383 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00004384
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000043852006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4386
4387 * docs/INSTALL.CROSS: New document file for cross-building.
4388
4389 * builds/unix/configure.raw: Preliminary cross-building support.
4390 Find native C compiler and pass it by CC_BUILD, and
4391 find suffix for native executable and pass it by EXEEXT_BUILD.
4392 Also suffix for target executable is passed by EXEEXT.
4393
Werner Lembergb9e6d692006-10-15 08:58:40 +00004394 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
4395 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00004396 CC_BUILD and EXEEXT_BUILD.
4397
Werner Lembergb9e6d692006-10-15 08:58:40 +00004398 * builds/exports.mk (APINAMES_EXE): Change the extension for
4399 apinames from the suffix for target (E) to that for building host
4400 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00004401
Werner Lemberg82a07e92006-10-12 06:20:44 +000044022006-10-12 Werner Lemberg <wl@gnu.org>
4403
4404 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
4405 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
4406 which reference those files.
4407
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000044082006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4409
Werner Lembergb9e6d692006-10-15 08:58:40 +00004410 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
4411 embedded in freetype2.pc and freetype-config. Use it to record
4412 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00004413
4414 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
4415
4416 * builds/unix/freetype-config.in: Ditto.
4417
Werner Lemberg28e17d92006-10-11 17:27:47 +000044182006-10-11 Werner Lemberg <wl@gnu.org>
4419
4420 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
4421 development.
4422
Jens Claudius336d2292006-10-03 08:53:37 +000044232006-10-03 Jens Claudius <jens.claudius@yahoo.com>
4424
4425 * include/freetype/config/ftstdlib.h: Cast away volatileness from
4426 argument to ft_setjmp.
4427
4428 * include/freetype/internal/ftvalid.h: Add comment that
4429 ft_validator_run must not be used.
4430
Werner Lemberg2863cfa2006-10-01 17:04:00 +000044312006-10-01 Werner Lemberg <wl@gnu.org>
4432
4433 * src/base/ftbase.c: Undo change from 2006-09-30.
4434
4435 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
4436
44372006-09-30 David Turner <david@freetype.org>
4438
Werner Lemberg046bf8b2006-10-03 08:43:42 +00004439 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
4440 s/unpatented_hinting/ignore_unpatented_hinter/.
4441 Update all callers.
4442
4443 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
4444 auto-hinting shall be used or not.
4445
4446 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00004447
Werner Lemberg2863cfa2006-10-01 17:04:00 +000044482006-09-30 Werner Lemberg <wl@gnu.org>
4449
Werner Lemberg1e4402e2006-09-29 22:10:36 +00004450 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
4451 in use).
4452
4453 * src/base/ftbase.c: Include `ftlcdfil.c'.
4454
Werner Lemberg9b15ea32006-09-29 18:22:11 +000044552006-09-29 Werner Lemberg <wl@gnu.org>
4456
4457 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
4458 overlapping segments. Bug reported by Stefan Koch.
4459
David Turnerad830712006-09-27 16:20:59 +000044602006-09-28 David Turner <david@freetype.org>
4461
Werner Lemberg2c002e12006-09-29 21:31:53 +00004462 Fix a bug in the automatic unpatented hinting support which prevents
4463 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00004464
Werner Lemberg2c002e12006-09-29 21:31:53 +00004465 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
4466 s/force_autohint/unpatented_hinting/. Update all callers.
4467
4468 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
4469
4470 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00004471
David Turner8a317cf2006-09-27 07:52:48 +000044722006-09-27 David Turner <david@freetype.org>
4473
Werner Lemberg2c002e12006-09-29 21:31:53 +00004474 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00004475
David Turner8a317cf2006-09-27 07:52:48 +00004476
David Turnere140f142006-10-23 08:56:57 +00004477 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00004478 In a default build, the function `FT_Library_SetLcdFilter' returns
4479 `FT_Err_Unimplemented_Feature'; you need to #define
4480 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
4481 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00004482
Werner Lemberg2c002e12006-09-29 21:31:53 +00004483 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00004484
Werner Lemberg2c002e12006-09-29 21:31:53 +00004485 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
4486 typedef.
4487 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
4488 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00004489
Werner Lemberg2c002e12006-09-29 21:31:53 +00004490 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
4491 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00004492
Werner Lemberg2c002e12006-09-29 21:31:53 +00004493 Handle subpixel rendering.
4494 Simplify function.
4495 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
4496 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
4497
4498 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
4499 pointing to <freetype/ftlcdfil.h>.
4500
4501 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
4502 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
4503
4504 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00004505
Werner Lemberge20df4a2006-09-27 06:29:21 +000045062006-09-26 David Bustin
4507
4508 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
4509 correctly. Reported as Savannah bug #17843.
4510
David Turner6f8c6222006-09-26 15:42:44 +000045112006-09-26 David Turner <david@freetype.org>
4512
Werner Lemberg110246c2006-09-26 21:55:44 +00004513 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
4514 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
4515 horizontal and vertical hinting for the purpose of debugging the
4516 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00004517
Werner Lemberg110246c2006-09-26 21:55:44 +00004518 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
4519 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00004520
Werner Lemberg110246c2006-09-26 21:55:44 +00004521 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
4522
4523 * include/freetype/config/ftoption.h, devel/ftoption.h
4524 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
4525 we want to compile LCD-optimized rendering code (à la ClearType) or
4526 not. The macro *must* be disabled in default builds of the library
4527 for patent reasons.
4528
4529 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
4530 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
4531 isn't defined at compile time. This only changes the content of the
4532 rendered glyph to match the one of normal gray-level rendering,
4533 hence clients should not need to be modified.
4534
4535 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00004536
Werner Lemberg745ff2c2006-09-19 05:48:02 +000045372006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
4538
4539 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
4540 LWFN fails and both are available.
4541
David Turnerf3050052006-09-11 12:00:32 +000045422006-09-11 David Turner <david@freetype.org>
4543
Werner Lembergf9644552006-09-12 13:48:10 +00004544 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
4545 report their English names through an Apple Roman
4546 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00004547
Werner Lembergf9644552006-09-12 13:48:10 +00004548 If the font uses another name entry with language_id == English, it
4549 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00004550
Werner Lembergf9644552006-09-12 13:48:10 +00004551 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
4552 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00004553
Werner Lemberg36d2eab2006-09-05 19:24:34 +000045542006-09-05 Werner Lemberg <wl@gnu.org>
4555
4556 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00004557 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00004558 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
4559 `HAN NOM B.ttf').
4560
4561 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
4562
David Turner772e55d2006-09-05 09:45:15 +000045632006-09-05 David Turner <david@freetype.org>
4564
Werner Lemberg36d2eab2006-09-05 19:24:34 +00004565 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00004566
Werner Lemberg36d2eab2006-09-05 19:24:34 +00004567 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
4568 (TRaster): Remove `count_ex' and `count_ey'.
4569 (gray_find_cell): Remove 2nd and 3rd argument.
4570 (gray_alloc_cell): Merged with `gray_find_cell'.
4571 (gray_record_cell): Simplify.
4572 (gray_set_cell): Rewrite.
4573 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
4574 (gray_render_span): Don't use FT_MEM_SET for small values.
4575 (gray_dump_cells) [DEBUG_GRAYS]: New function.
4576 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
4577 bitmap scanline.
4578 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00004579
David Turneraa557a92006-09-04 16:42:44 +000045802006-09-04 David Turner <david@freetype.org>
4581
Werner Lembergd1fc7d42006-09-05 07:55:42 +00004582 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
4583 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00004584
Werner Lemberg2d8629b2006-09-03 06:18:45 +000045852006-09-03 Werner Lemberg <wl@gnu.org>
4586
4587 * devel/ftoption.h: Synchronize with
4588 include/freetype/config/ftoption.h.
4589
4590 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
4591 variable declaration.
4592 (gray_convert_glyph): Fix compiler warnings.
4593
David Turner6d79f212006-09-01 14:09:35 +000045942006-09-01 David Turner <david@freetype.org>
4595
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004596 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
4597 to recognize a few fonts that require the automatic unpatented
4598 loader.
David Turnerbd502952006-09-01 19:05:24 +00004599
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004600 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
4601 rasterizer. The speed improvement is between 15% and 25%, depending
4602 on the font data.
4603
4604 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
4605 (TCell): Redefine.
4606 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
4607 (gray_init_cells): Updated.
4608 (gray_find_cell, gray_alloc_cell): New functions.
4609 (gray_record_cell): Rewritten to use `gray_find_cell' and
4610 `gray_alloc_cell'.
4611 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
4612 QSORT_THRESHOLD):
4613 Removed.
4614 (gray_shell_sort, gray_quick_sort, gray_check_sort,
4615 gray_dump_cells): Removed.
4616 (gray_sweep): Rewritten.
4617 (gray_convert_glyph): Rewrite code which used one of the sorting
4618 functions.
4619 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00004620
Werner Lembergd898aed2006-08-29 09:50:34 +000046212006-08-29 Dr. Werner Fink <werner@suse.de>
4622
4623 * configure: Make it possible to handle configure options which
4624 have strings containing spaces.
4625
46262006-08-27 David Turner <david@freetype.org>
4627
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004628 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
4629 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
4630 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
4631
4632 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
4633 src/truetype/truetype.c, src/truetype/ttdriver.c,
4634 src/truetype/ttgload.c, src/truetype/ttgload.h,
4635 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
4636 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
4637 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
4638
4639 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
4640 member `force_autohint'.
4641
4642 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
4643
4644 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
4645 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00004646
Jens Claudiusa787f452006-08-27 11:26:18 +000046472006-08-27 Jens Claudius <jens.claudius@yahoo.com>
4648
4649 Fix miscellaneous compiler warnings.
4650
Werner Lemberg32e05a62008-05-04 16:53:22 +00004651 * include/freetype/internal/ftobjs.h: Close comment with `*/' to
4652 avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00004653
Werner Lemberg32e05a62008-05-04 16:53:22 +00004654 * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004655 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
4656 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00004657
Werner Lemberg32e05a62008-05-04 16:53:22 +00004658 * src/base/ftobjs.c (t_validator_error): Cast away
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004659 volatileness of argument to ft_longjmp. Spotted by Werner
4660 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00004661
Werner Lemberg32e05a62008-05-04 16:53:22 +00004662 * src/bdf/bdflib.c (bdf_load_font): Initialize local
Werner Lemberg2d8629b2006-09-03 06:18:45 +00004663 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00004664
Werner Lemberg32e05a62008-05-04 16:53:22 +00004665 * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
4666 `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00004667
Werner Lembergc4c35b72006-08-27 08:03:46 +000046682006-08-27 Werner Lemberg <wl@gnu.org>
4669
4670 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
4671 Reported by Jens.
4672
Jens Claudius088e44e2006-08-22 14:24:30 +000046732006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00004674
Jens Claudius088e44e2006-08-22 14:24:30 +00004675 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00004676 about addresses of volatile objects passed as function arguments as
4677 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00004678
Werner Lemberg32e05a62008-05-04 16:53:22 +00004679 * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
4680 pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004681
Werner Lemberg32e05a62008-05-04 16:53:22 +00004682 * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
4683 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004684
Werner Lemberg32e05a62008-05-04 16:53:22 +00004685 * src/otvalid/otvmod.c (otv_load_table): Make function argument
4686 `table' a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00004687
Jens Claudius2652bd52006-08-18 17:20:37 +000046882006-08-18 Jens Claudius <jens.claudius@yahoo.com>
4689
Werner Lemberg32e05a62008-05-04 16:53:22 +00004690 * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
4691 as volatile since it must keep its value across a call to ft_setjmp.
Jens Claudius2652bd52006-08-18 17:20:37 +00004692 (gxv_validate): Same for local variables `memory' and `valid'.
4693 (classic_kern_validate): Same for local variables `memory',
4694 `ckern', and `valid'.
4695
Werner Lemberg32e05a62008-05-04 16:53:22 +00004696 * src/otvalid/otvmod.c (otv_validate): Same for function parameter
4697 `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
4698 and 'valid'.
Jens Claudius2652bd52006-08-18 17:20:37 +00004699
Werner Lemberg32e05a62008-05-04 16:53:22 +00004700 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
4701 `cmap'.
Jens Claudius2652bd52006-08-18 17:20:37 +00004702
David Turner9fbfc6a2006-08-16 09:11:31 +000047032006-08-16 David Turner <david@freetype.org>
4704
Werner Lemberg12342992006-08-19 11:18:09 +00004705 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
4706 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00004707
Werner Lemberg12342992006-08-19 11:18:09 +00004708 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
4709 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00004710
David Turner33f5f242006-08-16 16:50:55 +00004711
Werner Lemberg830846e2008-07-27 06:27:21 +00004712 Improvements to native TrueType hinting. This is a first try,
Werner Lemberg12342992006-08-19 11:18:09 +00004713 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
4714
4715 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
4716 `extra_points2'.
4717
4718 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
4719 `orus'.
4720
4721 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
4722 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
4723 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
4724 handle `extra_points2'.
4725
4726 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
4727 Remove compiler warning.
4728 (cur_to_arg): Remove macro.
4729 (TT_Hint_Glyph): Updated.
4730 (TT_Process_Simple_Glyph): Handle `orus'.
4731
4732 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
4733 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
4734 (LOC_Ins_IUP): Renamed to...
4735 (IUP_WorkerRec): This.
4736 Add `orus' member.
4737 (Shift): Renamed to...
4738 (_iup_worker_shift): This.
4739 Updated.
4740 (Interp): Renamed to...
4741 (_iup_worker_interpolate): This.
4742 Updated to handle `orus'.
4743 (Ins_IUP): Updated.
4744
4745 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
4746 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00004747
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000047482006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4749
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00004750 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00004751 build ftvalid in ft2demos. This has been inadvertedly changed
4752 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00004753
47542006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4755
Werner Lemberg12342992006-08-19 11:18:09 +00004756 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
4757 Jens:
4758 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004759
David Turnercda6f492009-03-03 20:49:32 +00004760 * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
Werner Lemberg32e05a62008-05-04 16:53:22 +00004761 It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004762
Werner Lemberg32e05a62008-05-04 16:53:22 +00004763 * src/gxvalid/gxvmod.c: Ditto.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00004764
Jens Claudius9950adc2006-08-13 12:14:36 +000047652006-08-13 Jens Claudius <jens.claudius@yahoo.com>
4766
Werner Lemberg32e05a62008-05-04 16:53:22 +00004767 * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
Werner Lemberg12342992006-08-19 11:18:09 +00004768 T1_TOKEN_TYPE_KEY.
4769 (T1_FieldRec): Add `dict'.
4770 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
4771 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
4772 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00004773
Werner Lemberg32e05a62008-05-04 16:53:22 +00004774 * src/cid/cidload.c: (cid_field_records): Adjust invocations of
4775 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004776
Werner Lemberg32e05a62008-05-04 16:53:22 +00004777 * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004778
David Turnercda6f492009-03-03 20:49:32 +00004779 * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00004780 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
4781 not T1_TOKEN_TYPE_ANY.
4782 (ps_parser_load_field): Make sure a token that should be a string or
4783 name is really a string or name.
4784 Avoid memory leak if a keyword has been already encountered and its
4785 value is overwritten.
Werner Lemberg32e05a62008-05-04 16:53:22 +00004786 * src/type1/t1load.c: (t1_keywords): Adjust invocations of
Werner Lemberg12342992006-08-19 11:18:09 +00004787 T1_FIELD_XXX.
4788 (parse_dict): Ignore keywords that occur in the wrong dictionary
4789 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00004790
Werner Lemberg32e05a62008-05-04 16:53:22 +00004791 * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004792
Werner Lemberg32e05a62008-05-04 16:53:22 +00004793 * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
4794 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00004795
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000047962006-07-18 Jens Claudius <jens.claudius@yahoo.com>
4797
4798 Move creation of field `buildchar' of T1_DecoderRec out of
4799 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
4800 of it.
4801
4802 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
4803 and `T1_Compute_Max_Advance'.
4804
Werner Lemberg32e05a62008-05-04 16:53:22 +00004805 * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
4806 `face', add `len_buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004807
Werner Lemberg32e05a62008-05-04 16:53:22 +00004808 * include/freetype/internal/t1types.h (T1_FaceRec): Add field
4809 `buildchar'.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004810
Werner Lemberg32e05a62008-05-04 16:53:22 +00004811 * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
4812 for T1_Decoder.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004813 (cid_slot_load_glyph): Do not ignore failure when initializing the
4814 T1_Decoder.
4815
Werner Lemberg32e05a62008-05-04 16:53:22 +00004816 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004817 (t1_decoder_init): Remove initialization of fields `buildchar' and
4818 `len_buildchar'.
4819 (t1_decoder_done): Remove deallocation of field `buildchar'.
4820
4821 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
4822 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
4823 T1_Decoder.
4824 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
4825 `len_buildchar'; make sure to call finisher for T1_Decoder even in
4826 case of error.
4827
Werner Lemberg32e05a62008-05-04 16:53:22 +00004828 * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
4829 of T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004830
Werner Lemberg32e05a62008-05-04 16:53:22 +00004831 * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
4832 T1_FaceRec.
Werner Lemberga4d6a1c2006-07-19 09:54:56 +00004833
Werner Lemberg1a380e02006-07-14 18:28:08 +000048342006-07-14 Jens Claudius <jens.claudius@yahoo.com>
4835
Werner Lemberg32e05a62008-05-04 16:53:22 +00004836 * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
4837 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
4838 and IS_PS_BASE85 (from src/psaux/psconv.h).
Werner Lemberg1a380e02006-07-14 18:28:08 +00004839 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
4840 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
4841 (T1_DecoderRec): New fields `buildchar' and `face'.
4842 (IS_PS_TOKEN): New macro.
4843
Werner Lemberg32e05a62008-05-04 16:53:22 +00004844 * include/freetype/internal/t1types.h (T1_FaceRec): New fields
4845 `ndv_idx', `cdv_idx', and `len_buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004846
Werner Lemberg32e05a62008-05-04 16:53:22 +00004847 * include/freetype/t1tables.h (PS_BlendRec): New fields
Werner Lemberg1a380e02006-07-14 18:28:08 +00004848 `default_design_vector' and `num_default_design_vector'.
4849
Werner Lemberg32e05a62008-05-04 16:53:22 +00004850 * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
4851 IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
4852 IS_PS_BASE85 to include/freetype/internal/psaux.h.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004853
Werner Lemberg32e05a62008-05-04 16:53:22 +00004854 * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
4855 argument to be NULL if we want only to count the number of tokens.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004856 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
4857 want to skip the array.
4858 (ps_tofixedarray): Allow `values' argument to be NULL if we just
4859 want to skip the array.
4860
Werner Lemberg32e05a62008-05-04 16:53:22 +00004861 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
David Turnercda6f492009-03-03 20:49:32 +00004862 for (partially commented out) othersubrs 19-25, 27, and 28.
4863 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004864 (t1_decoder_done): Release new field `buildchar'.
4865
Werner Lemberg32e05a62008-05-04 16:53:22 +00004866 * src/type1/t1load.c (parse_buildchar, parse_private): New
Werner Lemberg1a380e02006-07-14 18:28:08 +00004867 functions.
4868 (t1_keywords): Register them.
4869 (t1_allocate_blend): Updated.
4870 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
4871 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
4872 (parse_dict): Remove `keyword_flags' argument.
4873 Use new macro IS_PS_TOKEN.
4874 Changed function so that later PostScript definitions override
4875 earlier ones.
4876 (t1_init_loader): Initialize new field `keywords_encountered'.
4877 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
4878 `len_buildchar'.
4879 Remove `keywords_flags'.
4880
Werner Lemberg32e05a62008-05-04 16:53:22 +00004881 * src/type1/t1load.h (T1_LoaderRect): New field
Werner Lemberg1a380e02006-07-14 18:28:08 +00004882 `keywords_encountered'.
4883 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
4884
Werner Lemberg32e05a62008-05-04 16:53:22 +00004885 * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
4886 entries for parsing /NDV, /CDV, and /DesignVector.
Werner Lemberg1a380e02006-07-14 18:28:08 +00004887
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000048882006-07-07 Werner Lemberg <wl@gnu.org>
4889
4890 Add many checks to protect against malformed PCF files.
4891
4892 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
4893 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
4894
4895 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
4896 data and check that tables don't overlap (using a simple
4897 bubblesort).
4898 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
4899 New macros which give the size of data structures in the data
4900 stream.
4901 (pcf_get_properties): Use rough estimates to get array size limits.
4902 Assign `face->nprops' and `face->properties' earlier so that a call
4903 to PCF_Face_Done can do the clean-up in case of error.
4904 Protect against invalid string offsets.
4905 (pcf_get_metrics): Clean up code.
4906 Adjust tracing message levels.
4907 Use rough estimate to get array size limit.
4908 (pcf_get_bitmaps): Clean up code.
4909 Adjust tracing message levels.
4910 Use rough estimates to get offset limits.
4911 (pcf_get_encodings): Adjust tracing message level.
4912 (pcf_get_accel): Clean up code.
4913
Werner Lemberg8eb05252006-06-27 06:20:01 +000049142006-06-26 Werner Lemberg <wl@gnu.org>
4915
4916 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
4917 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
4918
Werner Lemberg24703f82006-06-26 19:12:51 +000049192006-06-26 Jens Claudius <jens.claudius@yahoo.com>
4920
4921 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
4922 (t1_decoder_parse_charstrings): Operator with
4923 opcode 15 pops its two arguments.
4924 Handle the case where the pops of an othersubr may be part of a
4925 subroutine.
4926 Handle unknown othersubrs gracefully: count their operands and let
4927 the following pop operators push the operands as the results onto
4928 the Type1 stack.
4929 Improve handling of setcurrentpoint opcode.
4930
Werner Lembergc011f4c2006-06-26 09:40:00 +000049312006-06-25 Jens Claudius <jens.claudius@yahoo.com>
4932
4933 The Type 1 parser now skips over top-level procedures as required
4934 for a `Simplified Parser'. This makes the parser more robust as it
4935 doesn't poke around in PostScript code. Additionally, it makes the
4936 FontDirectory hackery in src/type1/t1load.c unnecessary.
4937
4938 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
4939 (skip_literal_string): Add FT_Error as return value.
4940 Handle escapes better.
4941 (skip_string): Add FT_Error as return value.
4942 Don't set `parser->error' but return error code directly.
4943 (skip_procedure): New function.
4944 (ps_parser_skip_PS_token): Handle procedures.
4945 Update code.
4946 (ps_parser_to_token): Update code.
4947 (ps_parser_load_field_table): Handle bbox entries also.
4948
4949 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
4950 Add commented-out code for synthetic fonts.
4951
Werner Lemberga2da05c2006-06-25 06:27:27 +000049522006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
4953
4954 Fix two hinting bugs as reported in
4955 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
4956
4957 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
4958 `first_point' member.
4959
4960 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
4961 `first_point'.
4962 (TT_Process_Composite_Glyph): Always untouch points.
4963
4964 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
4965 `first_point' and `last_point' in case of composite glyphs.
4966 (Ins_IUP): Fix computation of `end_point'.
4967
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000049682006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4969
Werner Lembergef3d2c22006-06-25 06:07:14 +00004970 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
4971 Mac. The original patch was written by David Sachitano and Lawrence
4972 Coopet, and modified by Sean McBride for MPW compatibility. Only
4973 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00004974
Werner Lembergef3d2c22006-06-25 06:07:14 +00004975 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
4976 Mac OS X platforms.
4977 (OS_INLINE): Undefine before definition.
4978 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
4979 FontAssociation table in FOND resource.
4980 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
4981 and fontSize at each entry of FontAssociation table in FOND
4982 resource.
4983 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
4984 ffStylOff of FamilyRecord header of FOND resource, the header,
4985 fontSize, fontID at each entry of FontAssociation table, and
4986 StyleMapping table.
4987 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00004988
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000049892006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
4990
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004991 Public API of TrueTypeGX, OpenType, and classic kern table validator
4992 should return `FT_Err_Unimplemented_Feature' if validation service
4993 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00004994 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00004995 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
4996
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00004997 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
4998 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
4999 unavailable.
5000 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
5001 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00005002
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00005003 * src/base/ftotval.c (FT_OpenType_Validate): Return
5004 FT_Err_Unimplemented_Feature if OpenType validation service is
5005 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00005006
Werner Lembergb10e45a2006-06-08 07:32:56 +000050072006-06-08 Werner Lemberg <wl@gnu.org>
5008
5009 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
5010 errors.
5011
David Turner5f1f7502006-06-07 05:11:50 +000050122006-06-07 David Turner <david@freetype.org>
5013
Werner Lemberg7d48cb02006-06-08 06:00:08 +00005014 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
5015 (T1_Read_Metrics): Fix memory leak which happened when the metrics
5016 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00005017
David Turner457b4a82006-06-06 08:14:14 +000050182006-06-06 David Turner <david@freetype.org>
5019
Werner Lemberg4836f952006-06-06 12:54:08 +00005020 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00005021
Werner Lemberg4836f952006-06-06 12:54:08 +00005022 We change `ps_unicodes_init' so that it also takes a
5023 `free_glyph_name' callback to release the glyph names returned by
5024 `get_glyph_name'
5025
5026 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
5027 Renamed to ...
5028 (PS_GetGlyphNameFunc): This.
5029 (PS_FreeGlyphNameFunc): New typedef.
5030 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
5031
5032 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
5033 argument.
5034 (cff_sid_free_glyph_name): New function.
5035 (cff_cmap_unicode_init): Updated.
5036
5037 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
5038
5039 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
5040 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00005041
5042
David Turner09717352006-06-04 14:33:08 +000050432006-06-04 David Turner <david@freetype.org>
5044
Werner Lembergd724f202006-06-04 15:17:41 +00005045 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
5046 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00005047 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00005048
Werner Lembergd724f202006-06-04 15:17:41 +00005049 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
5050 of `face->num_glyphs' which missed the last glyph, due to
5051 the offset-by-1 computation, since the PFR format doesn't
5052 guarantee that glyph index 0 corresponds to the `missing
5053 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00005054
Werner Lemberg33779662006-05-26 06:30:05 +000050552006-05-25 Werner Lemberg <wl@gnu.org>
5056
5057 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
5058 `-no-undefined'. Reported by Christian Biesinger.
5059
Werner Lemberg24773d62006-05-20 08:53:13 +000050602006-05-19 Brian Weed <bw@imaginengine.com>
5061
5062 * builds/win32/visualc/freetype.dsp: Release libraries no longer
5063 have debug information, and debug libraries use `C7 compatible'
5064 debug info.
5065
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000050662006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
5067
Werner Lemberga6523a62006-05-20 08:47:01 +00005068 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00005069 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00005070
Werner Lemberga6523a62006-05-20 08:47:01 +00005071 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
5072 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00005073
5074 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00005075 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00005076
50772006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
5078
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00005079 * build/unix/configure.raw: Add a fallback to disable Carbon
5080 dependency, if configured with no options on Mac OS X.
5081
50822006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
5083
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00005084 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00005085 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00005086 the second part of Savannah bug #16590.
5087
Werner Lemberg545c4e52006-05-17 22:55:04 +000050882006-05-18 Werner Lemberg <wl@gnu.org>
5089
5090 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
5091 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
5092
David Turnerdc3ff312006-05-17 12:59:35 +000050932006-05-17 David Turner <david@freetype.org>
5094
Werner Lemberg545c4e52006-05-17 22:55:04 +00005095 This is a major patch used to drastically improve the performance of
5096 loading glyphs. This both speeds up loading the glyph vectors
5097 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00005098
Werner Lemberg545c4e52006-05-17 22:55:04 +00005099 We now use inline assembler code with GCC to implement `FT_MulFix',
5100 which is probably the most important function related to the
5101 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00005102
Werner Lemberg545c4e52006-05-17 22:55:04 +00005103 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00005104
5105
Werner Lemberg545c4e52006-05-17 22:55:04 +00005106 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
5107 `cursor' and `limit'.
5108
5109 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
5110 New functions.
5111 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
5112 [TEST]: Remove.
5113
5114 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
5115 code.
5116
5117 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
5118 `FT_ZERO'
5119 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
5120 (af_glyph_hints_reload: Rewrite recognition of weak points.
5121
5122 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
5123 constant values out of the loops.
5124
5125 * src/autofit/aftypes.h: Updated.
5126
5127 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
5128
5129 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
5130 product to get orientation.
5131
5132 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
5133 (FT_Stream_OpenGzip): Use it to handle small files directly in
5134 memory.
5135
5136 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
5137 Improve performance.
5138
5139 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
5140 `limit'.
5141
5142 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
5143 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
5144 exceedingly large values of number of contours. Speed up by
5145 reducing the number of loops.
5146
5147 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
5148
5149
5150 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
5151 used to detect rogue clients from 4 to 16. This is to prevent some
5152 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
5153 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00005154
Werner Lembergde2d90a2006-05-17 08:54:30 +000051552007-05-17 Werner Lemberg <wl@gnu.org>
5156
5157 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00005158 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00005159
51602006-05-16 Werner Lemberg <wl@gnu.org>
5161
5162 * docs/PROBLEMS: Updated icl issues.
5163
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00005164----------------------------------------------------------------------------
5165
Werner Lembergf2e33c12009-01-06 06:59:36 +00005166Copyright 2006, 2007, 2008, 2009 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00005167David Turner, Robert Wilhelm, and Werner Lemberg.
5168
5169This file is part of the FreeType project, and may only be used, modified,
5170and distributed under the terms of the FreeType project license,
5171LICENSE.TXT. By continuing to use, modify, or distribute this file you
5172indicate that you have read the license and understand and accept it
5173fully.
5174
5175
5176Local Variables:
5177version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00005178coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00005179End: