1 2002-02-09 Werner Lemberg <wl@gnu.org>
4 * docs/CHANGES: Minor fixes.
7 * Version 2.0.8 released.
8 =========================
11 2002-02-08 David Turner <david@freetype.org>
13 * docs/CHANGES: Updating for 2.0.8.
15 * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
16 removing `FT_Get_Next_Char' from the API (temporarily).
18 * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
19 note that this function might temporarily be removed for the 2.0.8
22 2002-02-07 David Turner <david@freetype.org>
24 * src/pcf/pcfread.c (pcf_load_font): Removed immature support of
25 the AVERAGE_WIDTH property.
27 2002-02-06 David Turner <david@freetype.org>
29 * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
30 PDF documents do not include 'cmap', 'post' and 'name' tables, the
31 SFNT face loader has been changed to not immediately report an
32 error if these are not present.
34 Note that the specification _requires_ these tables, but Adobe
35 seems to ignore it completely.
37 * src/sfnt/ttcmap.c: Removing compiler warnings.
39 * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
40 (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code
42 (pcf_get_metric): Here.
43 (pcfSeekToType): Renamed to ...
44 (pcf_seek_to_table_type): This.
46 (pcfHasType): Renamed to ...
47 (pcf_has_table_type): This.
49 (find_property): Renamed to ...
50 (pcf_find_property): This.
52 (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
53 better (delaying format checks out of FT_Access_Frame ..
54 FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
55 state when encountering an invalid PCF font).
57 * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
58 (PCF_Face_Done): This.
59 (PCF_Init_Face): Renamed to ...
60 (PCF_Face_Init): This.
61 (PCF_Get_Char_Index): Renamed to ...
62 (PCF_Char_Get_Index): This.
63 (PCF_Get_Next_Char): Renamed to ...
64 (PCF_Char_Get_Next): This.
65 (pcf_driver_class): Updated.
67 * src/pcf/pcf.h (PCF_Done_Face): Removed.
69 2002-02-06 Detlef Würkner <TetiSoft@apg.lahn.de>
71 * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
73 * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
74 property to return correct character pixel (width/height) pairs for
77 2002-02-04 Keith Packard <keithp@keithp.com>
79 Adding the function `FT_Get_Next_Char', doing the obvious thing
80 w.r.t. the selected charmap.
82 * include/freetype/freetype.h: Add prototype.
83 * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
85 (FT_Driver_Class): Use it.
86 * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
88 (PSNames_Interface): Use it.
89 * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
91 (TT_CMapTable): Use it.
93 * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
95 * src/cff/cffdrivr.c (cff_get_next_char): New function.
96 (cff_driver_class): Add it.
97 * src/cid/cidriver.c (Cid_Get_Next_Char): New function.
98 (t1cid_driver_class): Add it.
99 * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
100 (pcf_driver_class): Add it.
101 * src/psnames/psmodule.c (PS_Next_Unicode): New function.
102 (psnames_interface): Add it.
103 * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
104 code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
106 (TT_CharMap_Load): Use them.
107 * src/truetype/ttdriver.c (Get_Next_Char): New function.
108 (tt_driver_class): Add it.
109 * src/type1/t1driver.c (Get_Next_Char): New function.
110 (t1_driver_class): Add it.
111 * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
112 (winfnt_driver_class): Add it.
114 * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
115 Unicode and Latin 1 encodings.
117 2002-02-02 Keith Packard <keithp@keithp.com>
119 * builds/unix/freetype-config.in: Add missing `fi'.
122 * Version 2.0.7 released.
123 =========================
126 2002-02-01 David Turner <david@freetype.org>
128 * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
131 2002-01-31 David Turner <david@freetype.org>
133 * README, README.UNX, docs/CHANGES: Updating documentation for the
136 2002-01-30 David Turner <david@freetype.org>
138 * INSTALL: Moved to ...
139 * docs/INSTALL: Here to avoid conflicts with the `install' script on
140 Windows, where the filesystem doesn't preserve case.
142 2002-01-29 David Turner <david@freetype.org>
144 * configure: Fixed the script. It previously didn't accept more
145 than one argument correctly. For example, when typing:
147 ./configure --disable-shared --disable-nls
149 the `--disable-nls' was incorrectly sent to the `make' program.
151 2002-01-29 Werner Lemberg <wl@gnu.org>
153 * README.UNX: Fix typo.
154 * builds/unix/install.mk (uninstall): Fix library name for libtool.
156 2002-01-28 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
158 * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
159 the face object (face->toc.tables, face->root.family_name,
160 face->root.available_size, face->charset_encoding,
161 face->charset_registry are now freed). Thanks to Niels Moseley.
163 2002-01-28 Roberto Alameda <ojancano@geekmail.de>
165 * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
167 2002-01-28 Werner Lemberg <wl@gnu.org>
169 * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
170 of `base' string for decrypting to not modify the original data.
171 Based on a patch by Jakub Bogusz <qboosh@pld.org.pl>.
173 2002-01-27 Giuliano Pochini <pochini@shiny.it>
175 * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
176 bad rendering of thin lines (less than one pixel thick).
178 2002-01-25 Werner Lemberg <wl@gnu.org>
180 * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
183 2002-01-25 Martin Zinser <zinser@decus.de>
185 * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
186 compilation warnings.
187 * src/base/descrip.mms (OBJS): Add `ftmm.obj'.
188 * src/cache/descrip.mms (ftcache.obj): Dependencies added.
190 2002-01-25 WANG Yi <wangyi@founder.com.cn>
192 * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
194 2002-01-21 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
196 * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
197 the URL for the online resource.
199 2002-01-18 Ian Brown <ian.brown@printsoft.de>
201 * builds/win32/ftdebug.c: New file.
202 * builds/win32/visualc/freetype.dsp: Updated.
204 2002-01-18 Detlef Würkner <TetiSoft@apg.lahn.de>
206 * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
207 * builds/amiga/README: Updated.
209 2002-01-18 Ian Brown <ian.brown@printsoft.de>
211 * builds/win32/visualc/freetype.dsp: Updated.
213 2002-01-13 Werner Lemberg <wl@gnu.org>
215 * builds/unix/freetype2.a4: The script was still buggy.
216 * builds/unix/freetype-config.in: Make it really work for any install
219 2002-01-10 Werner Lemberg <wl@gnu.org>
221 * builds/unix/freetype2.a4: Fix some serious bugs.
223 2002-01-09 David Turner <david@freetype.org>
225 * builds/unix/configure.ac: Build top-level Jamfile.
227 2002-01-09 Maxim Shemanarev <mcseemagg@yahoo.com>
229 * src/smooth/ftgrays.c (gray_render_line): Small optimization to
230 the smooth anti-aliased renderer that deals with vertical segments.
231 This results in a 5-7% speedup in rendering speed.
233 2002-01-08 David Turner <david@freetype.org>
235 Added some wrapper scripts to make the installation more
238 * configure, install: New files.
240 * INSTALL, README.UNX: Updated installation documentation to use the
241 new 'configure' and 'install' scripts.
243 2002-01-07 David Turner <david@freetype.org>
246 * Version 2.0.6 released.
247 =========================
250 * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
252 * src/tools/docmaker.py: Fixed HTML quoting in sources.
253 (html_format): Replaced with ...
254 (html_quote): New function.
255 (html_quote0): New function.
256 (DocCode::dump_html): Small improvement.
257 (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
259 * include/freetype/config/ftoption.h: Setting default options for
260 a release build (debugging off, bytecode interpreter off).
262 * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
263 src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
264 src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
265 warnings (in pedantic compilation modes).
267 2002-01-05 David Turner <david@freetype.org>
269 * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
270 of auto-hinted stem widths; this avoids color fringes in
271 `ClearType-like' rendering.
273 * src/truetype/ttgload.c (TT_Load_Glyph_Header,
274 TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
275 Modified the TrueType loader to make it more paranoid; this avoids
276 nasty buffer overflows in the case of invalid glyph data (as
277 encountered in the output of some buggy font converters).
279 2002-01-04 David Turner <david@freetype.org>
281 * README.UNX: Added special README file for Unix users.
283 * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
285 * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
286 of compiler warnings.
288 * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
290 2002-01-03 Werner Lemberg <wl@gnu.org>
292 * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
295 2002-01-03 Keith Packard <keithp@keithp.com>
297 * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
298 all FreeType input streams are closed in child processes of a `fork'
299 on Unix systems. This is important to avoid (potential) access
302 2002-01-03 David Turner <david@freetype.org>
304 * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
305 library when dealing with certain weird fonts like `Stalingrad', in
306 `sadn.pfb' (this font has no full font name entry).
308 * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
309 New function to check the consistency of outline data.
311 * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
312 ensure that loaded glyphs are valid. This allows certain fonts like
313 `tt1095m_.ttf' to be loaded even though it appears they contain
316 There still is a bug there, though.
318 * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
320 2001-12-30 David Turner <david@freetype.org>
322 * src/autohint/ahhint.c (ah_hinter_load): Fix advance width
323 computation of auto-hinted glyphs. This noticeably improves the
324 spacing of letters in KDE and Gnome.
326 2001-12-25 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
328 * builds/dos/detect.mk: Correcting the order for Borland compilers:
329 16-bit bcc was never selected, always overridden by 32-bit bcc32.
331 2001-12-22 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
333 * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
334 and fix incorrect computation of `available_sizes'.
336 2001-12-22 David Turner <david@freetype.org>
338 * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
339 incorrect glyph advance in the case of mono-width fonts (like
340 Courier, Andale Mono, and others).
342 2001-12-22 Detlef Würkner <TetiSoft@apg.lahn.de>
344 * builds/amiga/*: Adaptations to latest changes.
345 Support added for MorphOS.
347 2001-12-22 Werner Lemberg <wl@gnu.org>
349 * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
350 (ps_mask_table_merge, ps_hints_open, ps_hints_stem,
351 ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
353 * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
355 * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
357 * include/freetype/internal/ftdebug.h (FT_Trace): Updated.
359 * docs/modules.txt: New file.
361 2001-12-21 David Turner <david@freetype.org>
363 * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
364 Ignore invalid `hintmask' and `cntrmask' operators (instead of
365 returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro'
366 couldn't be rendered otherwise (it seems its charstring is buggy,
367 though this requires more analysis).
368 (FT_COMPONENT): Define.
370 * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
371 (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
372 bug where the X and Y axis where inverted in the postscript hinter.
373 This caused problem when displaying on non-square surfaces.
375 * src/pshinter/pshalgo2.c: s/vertical/dimension/.
377 * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
378 point constant with a fixed-float equivalent. For some reasons not
379 all compilers are capable of directly computing a floating pointer
380 constant casted to FT_Fixed, and will link a math library instead.
382 2001-12-20 Werner Lemberg <wl@gnu.org>
384 * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
386 * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
387 * src/cache/ftcmanag.c (ftc_family_table_alloc,
388 ftc_family_table_free, FTC_Manager_Check): Ditto.
389 * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
391 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
393 2001-12-20 David Turner <david@freetype.org>
395 Added PostScript hinter support to the CFF and CID drivers.
397 * include/freetype/internal/cfftypes.h (CFF_Font): New member
399 * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
400 * src/cff/cffload.h: Updated.
401 * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
402 (CFF_Builder_Init): This.
403 Added new argument `hinting'.
404 (CFF_Done_Builder): Renamed to ...
405 (CFF_Builder_Done): This.
406 (CFF_Init_Decoder): Added new argument `hinting'.
407 (CFF_Parse_CharStrings): Implement vstem support.
408 (CFF_Load_Glyph): Updated.
410 (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
411 (cff_argument_counts): Updated.
412 * src/cff/cffgload.h: Updated.
413 * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
414 (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
415 CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
417 (CFF_Init_Face): Renamed to ...
418 (CFF_Face_Init): This.
420 (CFF_Done_Face): Renamed to ...
421 (CFF_Face_Done): This.
422 (CFF_Init_Driver): Renamed to ...
423 (CFF_Driver_Init): This.
424 (CFF_Done_Driver): Renamed to ...
425 (CFF_Driver_Done): This.
426 * src/cff/cffobjs.h: Updated.
427 * src/cff/cffdrivr.c (cff_driver_class): Updated.
429 * include/freetype/internal/t1types.h (CID_FaceRec): New member
431 * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
432 * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
433 (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
434 CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
435 (CID_Done_Face): Renamed to ...
436 (CID_Face_Done): This.
437 (CID_Init_Face): Renamed to ...
438 (CID_Face_Init): This.
440 (CID_Init_Driver): Renamed to ...
441 (CID_Driver_Init): This.
442 (CID_Done_Driver): Renamed to ...
443 (CID_Driver_Done): This.
444 * src/cid/cidobjs.h: Updated.
445 * src/cidriver.c: Updated.
447 * src/pshinter/pshrec.c (t2_hint_stems): Fixed.
449 * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
450 crashed the library on exit.
452 * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
453 transformation of hinted glyphs.
455 * src/cid/cidload.c (cid_read_subrs): Fix error condition.
457 * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
458 routines were never released when CID faces were destroyed.
460 * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
461 to move the definition of encoding tables back within `cffload.c'
462 instead of making them part of a shared header (causing problems in
463 `multi' builds). This reverts change 2001-08-08.
465 * docs/CHANGES: Updated for 2.0.6 release.
466 * docs/TODO: Added `stem3 and counter hints support' to the TODO
467 list for the Postscript hinter.
468 * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
470 2001-12-19 David Turner <david@freetype.org>
472 * include/freetype/cache/ftcache.h: Added comments to indicate that
473 some of the exported functions should only be used by applications
474 that need to implement custom cache types.
476 * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
477 that prevented composites from loading correctly, due to missing
478 parentheses around macro parameters.
480 * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
481 tables optional to load PCL fonts properly.
483 * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
484 (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
485 `Fixed' the bug that prevented embedded bitmaps to be loaded when
486 the auto-hinter is used. This actually is a hack but will be enough
487 until the internal re-design scheduled for FreeType 2.1.
489 * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
490 shifting bug in the monochrome renderer.
492 * README: Updated version numbers to 2.0.6.
494 2001-12-17 Werner Lemberg <wl@gnu.org>
496 * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
499 2001-12-15 Werner Lemberg <wl@gnu.org>
501 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
502 * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
503 already in ftcmanag.h.
504 * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
506 * src/cache/ftcmanag.c (ftc_family_table_alloc,
507 * ftc_family_table_free): Use FT_EXPORT_DEF.
508 * include/freetype/cache/ftcmanag.h: Updated.
509 * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
510 * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
512 Remove compiler warning.
513 (FTC_CMapCache_Lookup): Remove compiler warnings.
514 (ftc_cmap_family_init): Ditto.
515 (FTC_CMapCache_Lookup): Ditto.
517 * builds/unix/configure.ac: Increase `version_info' to 8:0:2.
518 * builds/unix/configure: Regenerated.
520 2001-12-14 Werner Lemberg <wl@gnu.org>
522 * builds/mac/README: Updated.
524 2001-12-14 Scott Long <scott@swiftview.com>
526 * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
527 dealing with invalid fonts (i.e. glyph size < 10 bytes).
529 2001-12-14 Sam Latinga <slouken@devolution.com>
531 * builds/mac/freetype.make: A new Makefile to build with MPW on
534 2001-12-14 David Turner <david@freetype.org>
536 * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
537 (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
538 src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
539 all font drivers (the advance width was never hinted when it
542 * include/freetype/freetype.h (FREETYPE_PATCH): New macro.
543 * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
544 use `extern' keyword.
546 2001-12-12 David Turner <david@freetype.org>
548 * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
549 psh_globals_new): Adding correct BlueScale/BlueShift support, plus
550 family blues processing.
551 * src/pshinter/pshglob.h (PSH_BluesRec): Updated.
553 Started adding support for the Postscript hinter in the CFF module.
555 * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
556 (CFF_Parse_CharStrings): Implement it.
557 * src/cff/cffgload.h: Updated.
559 2001-12-12 Werner Lemberg <wl@gnu.org>
561 * builds/unix/freetype2.m4: Some portability fixes.
563 2001-12-11 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
565 * src/base/descrip.mms (OBJS): Add ftdebug.obj.
567 2001-12-11 Werner Lemberg <wl@gnu.org>
569 * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
571 2001-12-11 David Turner <david@freetype.org>
573 * builds/unix/freetype-config.in: Modified the script to prevent
574 passing `-L/usr/lib' to gcc.
576 * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
578 * builds/unix/freetype2.m4: New file for checking configure paths.
579 We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
580 didn't modify builds/unix/install.mk yet.
582 * INSTALL: Updated the instructions to build shared libraries with
583 Jam. They were simply wrong.
585 * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
586 slightly improper results for `FT_Cos' and `FT_Sin' (example:
589 2001-12-11 Detlef Würkner <TetiSoft@apg.lahn.de>
591 * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
592 Fixed incorrect argument types.
594 2001-12-10 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
596 * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
597 by setting the `face->metrics.max_advance' correctly.
599 2001-12-07 David Turner <david@freetype.org>
601 * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
603 * src/cache/ftcache.c: Updated.
605 * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
607 2001-12-06 Leonard Rosenthol <leonardr@lazerware.com>
609 Added support for reading .dfont files on Mac OS X. Also added a
610 new routine which looks up a given font by name in the Mac OS and
611 returns the disk file where it resides.
613 * src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
614 (is_dfont): New auxiliary function.
615 (FT_New_Face_From_dfont): New function.
616 (FT_GetFile_From_Mac_Name): New exported function.
617 (FT_New_Face): Updated.
618 * include/freetype/ftmac.h: Updated.
620 2001-12-06 David Turner <david@freetype.org>
622 * src/cache/Jamfile, src/cache/rules.mk: Updated.
624 2001-12-06 Werner Lemberg <wl@gnu.org>
626 * INSTALL: Small update.
628 2001-12-05 David Turner <david@freetype.org>
630 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
632 Comment out use of `origin'.
634 * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
635 where outline shifting wasn't correctly undone after bitmap
636 rasterization. This created problems with certain glyphs (like '"'
637 of certain fonts) and the cache system.
639 * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
640 * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
641 (ps2_hints_apply): Small fix.
643 2001-12-05 David Turner <david@freetype.org>
645 * src/pshinter/pshalgo2.c (psh2_hint_table_init),
646 src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
649 * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
650 Yet another massive rewrite of the caching sub-system in order to
651 both increase performance and allow simpler cache sub-classing. As
652 an example, the code for the image and sbit caches is now much
655 I still need to update the documentation in
656 www/freetype2/docs/cache.html to reflect the new design though.
658 * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
660 (FT_CACHE_INTERNAL_CACHE_H): Updated.
662 2001-12-05 David Krause <freetype@davidkrause.com>
664 * docs/license.txt: s/X Windows/X Window System/.
666 2001-12-04 Werner Lemberg <wl@gnu.org>
668 * src/raster/ftraster.c: Fix definition condition of MEM_Set().
669 * src/smooth/ftgrays.c (M_Y): Change value to 192.
670 * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
671 Remove unused variable.
672 * src/cache/ftcimage.c (ftc_image_node_init,
673 ftc_image_node_compare): Remove unused variables.
674 * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
676 * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
678 * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
679 avoid compiler warnings.
680 * src/pcf/pcfread.c (tableNames): Use `const'.
681 (pcf_read_TOC): Change counter name to avoid compiler warning.
683 * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
685 * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
687 * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
688 * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
689 and `T1_Size_Done()'.
691 2001-11-20 Antoine Leca <antoineleca@multimania.com>
693 * include/freetype/ttnameid.h: Added some new Microsoft language
694 codes and LCIDs as found in MSDN (Passport SDK). Also added
695 comments about the meaning of bit 57 of the `OS/2' table
696 (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
697 a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner
698 <TetiSoft@apg.lahn.de> for noticing this.
700 2001-11-20 David Turner <david@freetype.org>
702 * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
703 routine that created nasty alignment artefacts.
705 * src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
707 * src/smooth/ftgrays.c: De-activated experimental gamma support.
708 Apparently, `optimal' gamma tables depend on the monitor type,
709 resolution and general karma, so it's better to compute them outside
710 of the rasterizer itself.
711 (gray_convert_glyph): Use `volatile' keyword.
713 2001-10-29 David Turner <david@freetype.org>
715 Adding experimental `gamma' support. This produces smoother glyphs
716 at small sizes for very little cost.
718 * src/smooth/ftgrays.c (grays_init_gamma): New function.
719 (gray_raster_new): Use it.
721 Various fixes to the auto-hinter. They merely improve the output of
722 sans-serif fonts. Note that there are still problems with serifed
723 fonts and composites (accented characters).
725 * src/autohint/ahglyph.c (ah_outline_load,
726 ah_outline_link_segments): Implement it.
728 (ah_outline_save, ah_outline_compute_segments): Fix typos.
729 * src/autohint/ahhint.c (ah_align_serif_edge): New argument
730 `vertical'. Implement improvement.
731 (ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
733 (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
735 (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
736 * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
737 * src/autohint/ahtypes.h: Ditto.
738 (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
739 (making them global as `ah_debug_disable_horz' and
740 `ah_debug_disable_vert').
743 * tests/gview.c: Updated the debugging glyph viewer to show the
744 hints generated by the `autohint' module.
746 2001-10-27 David Turner <david@freetype.org>
748 * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
749 considerably lowered the performance of the abstract chunk cache.
751 2001-10-26 David Turner <david@freetype.org>
753 * include/freetype/ftcache.h, include/freetype/cache/*.h,
754 src/cache/*.c: Major re-design of the cache sub-system to provide
755 better performance as well as an `Acquire'/`Release' API. Seems to
756 work well here, but probably needs a bit more testing.
758 2001-10-26 Leonard Rosenthol <leonardr@lazerware.com>
760 * builds/mac/README: Updated to reflect my taking over the project
761 and that is now being actively maintained.
763 * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
764 <paulm@profoundeffects.com> to support loading a face other than the
765 first from a FOND resource.
766 (FT_New_Face_From_FOND): Updated.
768 2001-10-25 Leonard Rosenthol <leonardr@lazerware.com>
770 * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
771 OS for latest version (7) of CWPro and for recent changes to the FT
774 2001-10-25 David Turner <david@freetype.org>
776 * include/freetype/config/ftoption.h: Updated comments to explain
777 precisely how to use project-specific macro definitions without
778 modifying this file manually.
780 (FT_CONFIG_FORCE_INT64): Define.
782 (FT_DEBUG_MEMORY): New macro.
784 2001-10-24 Tom Kacvinsky <tkacvins@freetype.org>
786 * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
788 2001-10-23 David Turner <david@freetype.org>
790 * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
791 Improvements to the memory debugger to report more information in
792 case of errors. Also, some allocations that occurred through REALLOC
793 couldn't be previously caught correctly.
795 * src/autohint/ahglyph.c (ah_outline_compute_segments,
796 ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
797 src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
798 liberal uses of memset() by the MEM_Set() macro.
800 2001-10-23 David Turner <david@freetype.org>
802 * src/raster/ftraster.c (Update): Removed to be inlined in ...
805 2001-10-22 David Turner <david@freetype.org>
807 * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
808 builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
809 builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
810 src/base/ftdbgmem.c: Updated the memory debugger and
811 platform-specific implementations of `ftsystem' in order to be able
812 to debug memory allocations on Unix, VMS and Amiga too!
814 * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
817 * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
818 Modified the debugging memory manager to report the location (source
819 file name + line number) where leaked memory blocks are allocated in
822 * src/base/ftdbgmem.c: New debugging memory manager. You must
823 define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It
824 will record every memory block allocated and report simple errors
825 like memory leaks and double deletes.
827 * src/base/Jamfile: Include ftdbgmem.
828 * src/base/rules.mk: Ditto.
829 * src/base/ftbase.c: Include ftdbgmem.c.
831 * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
834 * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
835 base component to use the debugging memory manager when the macro
836 FT_DEBUG_MEMORY is defined.
838 2001-10-21 Tom Kacvinsky <tkacvins@freetype.org>
840 * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
841 we are working with a CID keyed CFF font. Otherwise, a variable
842 that was never allocated memory might freed. This is a correction
843 to the previous patch for freeing subfonts.
845 2001-10-21 Tom Kacvinsky <tkacvins@freetype.org>
847 * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
850 2001-10-21 David Turner <david@freetype.org>
852 * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
853 src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
854 (in multi-object compilation mode, mainly).
856 2001-10-20 Tom Kacvinsky <tkacvins@freetype.org>
858 * src/type1/t1load.c (parse_encoding): Add a test to make sure
859 that custom encodings (i.e., neither StandardEncoding nor
860 ExpertEncoding) are not loaded twice when the Type 1 font is
863 * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
864 for when loading synthetic fonts to make sure that the font name
865 and subroutines are not loaded twice. This is to remove a memory
866 leak that occurred because the original memory blocks for these
867 objects were not deallocated when the objects were parsed the
870 2001-10-19 David Turner <david@freetype.org>
872 * src/smooth/ftgrays.c, src/pshinter/pshglob.h,
873 src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
876 * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
877 files to build the PostScript hinter with the `old' build system.
879 2001-10-19 Jacob Jansen <joukj@hrem.stm.tudelft.nl>
881 * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
884 2001-10-18 David Turner <david@freetype.org>
886 * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
887 `glnames.py' script used to generate the `pstables.h' header file.
888 The old one contained a serious bug that made FreeType return
889 incorrect glyph names for certain glyphs.
891 * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
892 pixel size from character size to use rounding. This is an
893 experiment to see whether this gives values similar to Windows for
894 scaled ascent/descent/etc.
896 * src/base/ftcalc.c (FT_Div64by32): Changed the implementation
897 slightly since the original code was mis-compiled on Mac machines
898 using the MPW C compiler.
900 * src/base/ftobjs.c (FT_Realloc): When a memory block was grown
901 through FT_Realloc(), the new bytes were not set to 0, which created
902 some strange bugs in the PostScript hinter.
903 (destroy_face): Don't deallocate unconditionally.
905 * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
906 Adding support to new PostScript hinter.
908 * include/freetype/internal/psglobal.h,
909 include/freetype/internal/pshints.h,
910 include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
911 src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
912 src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
913 src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
914 src/pshinter/pshglob.c, src/pshinter/pshinter.c,
915 src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
916 src/pshinter/pshrec.h: Adding new PostScript hinter module.
918 * include/freetype/internal/ftobjs.h,
919 include/freetype/internal/internal.h,
920 include/freetype/internal/psaux.h,
921 include/freetype/internal/t1types.h, src/psaux/psobjs.c,
922 src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
923 src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
924 src/type1/t1objs.h: Updates to use the new PostScript hinter.
926 * tests/Jamfile, tests/gview.c: Adding a new glyph hinting
927 viewer/debugger to the source tree. Note that you will _not_ be
928 able to compile it since it depends on an unavailable graphics
929 library named `Nirvana' to render vector images.
931 2001-10-17 David Turner <david@freetype.org>
934 * Version 2.0.5 released.
935 =========================
938 * include/freetype/freetype.h, include/internal/ftobjs.h,
939 src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
940 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
941 font. Should work with all formats except pure CFF/CEF fonts (this
944 * src/cid/cidriver (cid_get_postscript_name): New function.
945 (CID_Get_Interface): Handle `postscript_name' interface.
947 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
948 (SFNT_Get_Interface): Handle `postscript_name' interface.
950 * src/type1/t1driver.c (t1_get_ps_name): New function.
951 (Get_Interface): Handle `postscript_name' interface.
953 * README, docs/CHANGES: Updated for 2.0.5 release.
955 2001-10-08 David Turner <david@freetype.org>
957 Fixed a bug in `glnames.py' that prevented it from generating
958 correct glyph names tables. This resulted in the unavailability of
959 certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
960 charmaps, even if these were present in the font (causing problems
963 * src/tools/glnames.py (mac_standard_names): Fixed.
964 (t1_standard_strings): Some fixes and renamed to ...
965 (sid_standard_names): This.
966 (t1_expert_encoding): Fixed.
967 (the_adobe_glyph_list): Renamed to ...
968 (adobe_glyph_names): This.
969 (the_adobe_glyphs): Renamed to ...
970 (adobe_glyph_values): This.
971 (dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
973 * src/psnames/pstables.h: Regenerated.
974 * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
976 Use `sid_standard_table' and `ps_names_to_unicode' instead of
977 `t1_standard_glyphs' and `names_to_unicode'.
978 (PS_Macintosh_Name): Use `ps_glyph_names' instead of
979 `standard_glyph_names'.
980 (PS_Standard_Strings): Use `sid_standard_names' instead of
981 `t1_standard_glyphs'.
983 * doc/BUGS, doc/TODO: New documents.
985 2001-10-07 Richard Barber <rich@solutionuk.com>
987 * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
988 correct LRU behaviour.
990 2001-10-07 David Turner <david@freetype.org>
992 setjmp() and longjmp() are now used for rollback (i.e. when memory
993 pool overflow occurs).
995 Function names are now all uniformly prefixed with `gray_'.
997 * src/smooth/ftgrays.c: Include <setjmp.h>.
998 (ErrRaster_MemoryOverflow): New macro.
999 (TArea): New type to store area values in each cell (using `int' was
1000 too small on 16-bit systems). <limits.h> is included to properly
1001 get the needed data type.
1002 (TCell, TRaster): Use it.
1003 (TRaster): New element `jump_buffer'.
1004 (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
1006 (gray_record_cell): Use longjmp().
1007 (gray_set_cell): Use gray_record_cell() for error handling.
1008 (gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
1009 (gray_convert_glyph_inner): New function, using setjmp().
1010 (gray_convert_glyph): Use it.
1012 2001-10-07 David Turner <david@freetype.org>
1014 Provide a public API to manage multiple size objects for a given
1015 FT_Face in the new header file `ftsizes.h'.
1017 * include/freetype/ftsizes.h: New header file,
1018 * include/freetype/internal/ftobjs.h: Use it.
1019 Remove declarations of FT_New_Size and FT_Done_Size (moved to
1021 * include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
1022 * src/base/ftobjs.c (FT_Activate_Size): New function.
1023 * src/cache/ftcmanag.c: Include ftsizes.h.
1024 (ftc_manager_init_size, ftc_manager_flush_size): Use
1027 2001-09-20 Detlef Würkner <TetiSoft@apg.lahn.de>
1029 * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
1031 2001-09-15 Detlef Würkner <TetiSoft@apg.lahn.de>
1033 * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
1035 2001-09-10 Yao Zhang <yzhang@sharemedia.com>
1037 * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
1038 hi-byte == 0 correctly.
1040 2001-09-10 Werner Lemberg <wl@gnu.org>
1042 * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
1044 2001-08-30 Martin Muskens <mmuskens@aurelon.com>
1046 * src/type1/t1load.c (parse_font_matrix): A new way to compute the
1047 units per EM with greater accuracy (important for embedded T1 fonts
1048 in PDF documents that were automatically generated from TrueType
1051 * src/type1/t1load.c (is_alpha): Now supports `+' in font names;
1052 this is used in embedded fonts.
1054 * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
1055 generated a dangling pointer reference.
1057 2001-08-30 Anthony Feik <afeick@hotmail.com>
1059 * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
1060 FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
1062 2001-08-25 Werner Lemberg <wl@gnu.org>
1064 * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
1067 * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
1068 Undefine FT_ERR_BASE before defining again.
1070 2001-08-22 Werner Lemberg <wl@gnu.org>
1072 * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
1074 2001-08-21 Werner Lemberg <wl@gnu.org>
1076 * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
1078 2001-08-21 David Turner <david@freetype.org>
1080 * include/freetype/config/ftoption.h: Changed the default setting
1081 for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
1082 source compatibility in a few cases. Updated the comment to explain
1085 2001-08-17 Martin Muskens <mmuskens@aurelon.com>
1087 * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
1089 2001-08-12 Werner Lemberg <wl@gnu.org>
1091 Updating to OpenType 1.3.
1093 * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
1094 TT_CMap6): Adding field `language'.
1095 (TT_CMapTable): Removing field `language'.
1096 Type of `length' field changed to FT_ULong.
1097 Adding fields for cmaps format 8, 10, and 12.
1098 (TT_CMapGroup): New auxiliary structure.
1099 (TT_CMap8_12, TT_CMap10): New structures.
1100 * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
1101 Removed last element of `Reserved' array.
1102 * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
1103 TT_NAME_ID_CID_FINDFONT_NAME): New macros.
1105 * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
1106 field to the new structures.
1107 Fixed freeing of arrays in case of unsuccessful loads.
1108 Added support for loading format 8, 10, and 12 cmaps.
1109 (TT_CharMap_Free): Added support for freeing format 8, 10, and 12
1111 (code_to_index4): Small improvement.
1112 (code_to_index6): Ditto.
1113 (code_to_index8_12, code_to_index10): New functions.
1114 * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
1116 (TT_Load_CMap): Ditto.
1118 * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
1121 2001-08-11 Werner Lemberg <wl@gnu.org>
1123 * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
1125 2001-08-09 Tom Kacvinsky <tkacvins@freetype.org>
1127 * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
1128 cff_get_glyph_name for consistency.
1130 (cff_get_glyph_index): Minor documentation change.
1132 * src/type1/t1driver.c (t1_get_name_index): New function used in
1133 Get_Interface as the function returned when the `name_index'
1134 function is requested.
1136 (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
1138 2001-08-08 Tom Kacvinsky <tkacvins@freetype.org>
1140 * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
1141 cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
1142 and cff_expert_encoding arrays to cffload.h.
1144 * src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
1145 cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
1146 and cff_expert_encoding arrays.
1148 * src/cff/cffdrivr.c (cff_get_name_index): New function, returned
1149 when `cff_get_interface' is called with a request for the
1150 `name_index' function.
1152 (cff_get_interface): Modified so that it returns the function
1153 `cff_get_name_index' when the `name_index' function is requested.
1155 * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
1156 return a glyph index for a given glyph name only if the driver
1157 supports glyph names.
1159 * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
1160 New function pointer type definition used in the function
1163 * include/freetype/freetype.h (FT_Get_Name_Index): Added
1164 documentation and prototype.
1166 2001-07-26 Werner Lemberg <wl@gnu.org>
1168 * builds/cygwin/*: Removed. Use the unix stuff instead.
1170 2001-07-26 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
1172 * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
1175 2001-07-17 Werner Lemberg <wl@gnu.org>
1177 * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
1178 `cursor' and `capacity'.
1179 * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
1181 (PS_Table_Add): Use FT_Offset for `new_size'.
1183 Add support for version 0.5 maxp tables.
1185 * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
1186 (TT_Load_OS2): Initialize some values.
1188 2001-07-13 Werner Lemberg <wl@gnu.org>
1190 * src/base/ftsynth.c: Include ftcalc.h unconditionally.
1192 2001-07-07 David Turner <david@freetype.org>
1194 * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
1195 Removed pedantic compiler warnings when the bytecode interpreter is
1198 2001-07-03 Werner Lemberg <wl@gnu.org>
1200 * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
1201 unused variable `edges'.
1202 (ah_hinter_load): Remove unused variables `old_width' and
1204 * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
1205 * src/psaux/psobjs.c (T1_Decrypt): Ditto.
1206 * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
1208 2001-06-28 David Turner <david@freetype.org>
1210 * include/internal/ftstream.h: Modified the definitions
1211 of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
1213 2001-06-26 Werner Lemberg <wl@gnu.org>
1215 * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
1216 instead of FT_Int as type for `length' parameter.
1217 * include/freetype/internal/psaux.h (PSAux_Interface): Updated.
1219 2001-06-27 Wolfgang Domröse <porthos.domroese@harz.de>
1221 * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
1222 instead of FT_Int as type for `length' parameter.
1225 * Version 2.0.4 released.
1226 =========================
1229 2001-06-27 David Turner <david@freetype.org>
1231 * builds/unix/ftconfig.in: Changed the definition of the
1232 FT_CALLBACK_DEF macro.
1234 * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
1235 use of the FT_CALLBACK_DEF macro in order to support 16-bit
1238 * builds/unix/ftconfig.in: Changed the definition of the
1239 FT_CALLBACK_DEF macro.
1241 * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
1242 that the kerning table is correctly sorted (some problem fonts don't
1243 have a correct kern table).
1245 2001-06-26 Wolfgang Domröse <porthos.domroese@harz.de>
1247 * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
1249 2001-06-24 David Turner <david@freetype.org>
1251 * src/base/ftcalc.c (ft_div64by32): Fixed the source to work
1252 correctly on 16-bit systems.
1254 2001-06-23 Anthony Fok <fok@debian.org>
1256 * debian/*: Added Debian package build directory for 2.0.4.
1258 2001-06-22 David Turner <david@freetype.org>
1260 * docs/PATENTS: Added patents disclaimer. This one was missing!
1262 * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
1264 2001-06-20 Werner Lemberg <wl@gnu.org>
1266 * include/freetype/config/ftconfig.h: Add two more `L's to
1268 Add missing semicolons.
1270 * builds/toplevel.mk: Do similar change as for
1271 builds/unix/detect.mk.
1273 * include/freetype/freetype.h (FT_ENC_TAG): New version to make it
1275 * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
1277 * src/pcf/pcfread.c (pcf_get_encodings): Add cast.
1279 2001-06-19 David Turner <david@freetype.org>
1281 * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
1282 Updated the Visual C++ project (for the 2.0.4 release).
1284 * builds/unix/detect.mk: Added rule for AIX detection (which uses
1285 /usr/sbin/init instead of /sbin/init).
1287 * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
1288 error macros to simplify handling of new error scheme.
1290 2001-06-19 Werner Lemberg <wl@gnu.org>
1292 * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
1294 2001-06-19 David Turner <david@freetype.org>
1296 Removing _lots_ of compiler warnings when the most pedantic warning
1297 levels of Visual C++ and Borland C++ are used. Too many files to be
1298 listed here, but FT2 now compiles without warnings with VC++ and the
1299 `/W4' warning level (lint-style).
1301 * include/freetype/freetype.h (FT_New_Memory_Face): Updated
1303 * include/freetype/fttypes.h (FT_BOOL): New macro.
1304 * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
1305 to suppress warning.
1306 * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
1307 FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
1309 * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
1310 (FT_New_Memory_Face): Add `const' to function declaration.
1312 2001-06-18 Werner Lemberg <wl@gnu.org>
1314 Minor cleanups to remove compiler warnings.
1316 * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
1318 * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
1319 * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
1320 * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
1321 * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
1322 * src/base/ftobjs.c (FT_Done_Size): Fix return value.
1323 (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
1324 unused `memory' variable.
1325 * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
1326 * src/autohint/ahhint.c (ah_hint_edges_3,
1327 ah_hinter_align_edge_points): Remove unused `before' and `after'
1329 (ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
1330 (ah_hinter_load): Remove unused `new_advance', `start_contour',
1331 and `metrics' variables.
1332 * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
1334 * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
1336 * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
1338 (cff_compute_bias): Use `U' for constant.
1339 * src/cid/cidload.c (cid_decrypt): Ditto.
1340 * src/psaux/psobjs.c (T1_Decrypt): Ditto.
1341 * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
1342 * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
1344 * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
1346 * src/truetype/ttgload.c (load_truetype_glyph): Remove unused
1347 `num_contours' and `ins_offset' variables.
1348 (compute_glyph_metrics): Remove unused `Top' and `x_scale'
1350 (TT_Load_Glyph): Remove unused `memory' variable.
1351 * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
1353 2001-06-18 Werner Lemberg <wl@gnu.org>
1355 Make the new error scheme source compatible with older FT versions
1356 by introducing another layer.
1358 * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
1360 (FT_NOERRORDEF): Removed.
1361 * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
1363 2001-06-16 Werner Lemberg <wl@gnu.org>
1365 * include/freetype/freetype.h (FT_ENC_TAG): New macro.
1366 (FT_Encoding_): Use it.
1367 * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
1370 2001-06-14 David Turner <david@freetype.org>
1372 Modified the TrueType interpreter to let it use the new
1373 trigonometric functions provided in `fttrigon.h'. This gets rid of
1374 some old 64-bit computation routines, as well as many warnings when
1375 compiling the library with the `long long' 64-bit integer type.
1377 * include/freetype/config/ftoption.h: Undefine
1378 FT_CONFIG_OPTION_OLD_CALCS.
1379 * include/freetype/internal/ftcalc.h: Rearrange use of
1380 FT_CONFIG_OPTION_OLD_CALCS.
1381 * src/base/ftcalc.c: Add declaration of FT_Int64 if
1382 FT_CONFIG_OPTION_OLD_CALCS isn't defined.
1383 * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
1384 (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
1386 (Current_Ratio, Normalize): Simplify code.
1388 2001-06-11 Mike Owens <MOwens@amtdatasouth.com>
1390 * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
1393 2001-06-08 Werner Lemberg <wl@gnu.org>
1395 * builds/unix/configure.in: Renamed to ...
1396 * builds/unix/configure.ac: This to make sure that autoconf 2.50 is
1398 Run `autoupdate' on it.
1399 Increase `version_info' to 7:0:1.
1400 * builds/unix/configure: Regenerated.
1402 2001-06-08 David Turner <david@freetype.org>
1404 * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
1405 corrupted transformed glyphs that were auto-hinted (the transform
1408 Fixed a bug that returned an invalid linear width for composite
1411 * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
1413 * src/truetype/ttgload.c (load_truetype_glyph,
1414 compute_glyph_metrics): Use it.
1416 * include/fttypes.h (FT_ERROR_BASE): New macro.
1417 * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
1418 to make source code work with the new error scheme implemented by
1420 * src/base/ftoutln.c (FT_Outline_Render): Ditto.
1422 2001-06-07 Werner Lemberg <wl@gnu.org>
1424 Updating to libtool 1.4.0 and autoconf 2.50.
1426 * builds/unix/ltconfig: Removed.
1427 * builds/unix/ltmain.sh, builds/unix/configure.in,
1428 builds/unix/aclocal.m4: Updated.
1429 * builds/unix/configure: Regenerated.
1431 2001-06-06 Werner Lemberg <wl@gnu.org>
1433 Complete redesign of error codes. Please check ftmoderr.h for more
1436 * include/freetype/internal/cfferrs.h,
1437 include/freetype/internal/tterrors.h,
1438 include/freetype/internal/t1errors.h: Removed. Replaced with files
1439 local to the module. All extra error codes have been moved to
1442 * src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
1444 * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
1445 src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
1446 src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
1447 src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
1448 src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
1449 error names for the module it belongs to.
1451 * include/freetype/ftmoderr.h: New file, defining the module error
1452 offsets. Its structure is similar to `fterrors.h'.
1454 * include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
1455 (FT_ERRORDEF): Redefined to use module error offsets.
1456 All internal error codes are now public; unused error codes have
1457 been removed, some are new.
1459 * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
1461 * include/freetype/config/ftoption.h
1462 (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
1464 All other source files have been updated to use the new error codes;
1465 some already existing (internal) error codes local to a module have
1466 been renamed to give them the same name as in the base module.
1468 All make files have been updated to include the local error files.
1470 2001-06-06 Werner Lemberg <wl@gnu.org>
1472 * src/cid/cidtokens.h: Replaced with...
1473 * src/cid/cidtoken.h: This file for 8+3 consistency.
1475 * src/raster/ftraster.c: Use macros for header file names.
1477 * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
1478 Fix length of `Reserved' array. Note that this isn't the real fix
1479 since recent OpenType specs have introduced a `CaretOffset' field
1480 instead of the first reserved byte.
1482 2001-05-29 Werner Lemberg <wl@gnu.org>
1484 * INSTALL: Minor fixes.
1487 * Version 2.0.3 released.
1488 =========================
1491 2001-05-29 David Turner <david@freetype.org>
1493 * INSTALL, docs/CHANGES: Updated.
1495 2001-05-25 David Turner <david@freetype.org>
1497 Moved several documents from the top-level to the `docs' directory.
1499 * src/base/ftcalc.c (FT_DivFix): Small fix to return value.
1501 2001-05-16 David Turner <david@freetype.org>
1503 * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
1504 composite loader. Spotted by Keith Packard.
1505 * src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
1506 FT_GlyphLoader_Check_Subglyphs): Ditto.
1508 2001-05-14 David Turner <david@freetype.org>
1510 Fixed the incorrect blue zone computations, and improved the
1511 composite support. Note that these changes result in improved
1512 rendering, while sometimes introducing their own artefacts. This is
1513 probably the last big change to the autohinter before the
1514 introduction of a complete replacement.
1516 * src/autohint/ahglobal.c (sort_values): Fix loop.
1517 * src/autohint/ahglyph.c: Removed some obsolete code.
1518 (ah_outline_compute_edges): Modify code to set the ah_edge_round
1520 (ah_outline_compute_blue_edges): Add code to compute active blue
1522 * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
1525 * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
1526 created incorrect scale factors!
1527 (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
1529 2001-05-12 Werner Lemberg <wl@gnu.org>
1531 * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
1532 * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
1534 Include FT_FREETYPE_H.
1535 Beautified; added copyright.
1536 * src/base/fttrigon.c: Beautified; added copyright.
1538 2001-05-11 David Turner <david@freetype.org>
1540 * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
1541 (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
1542 the incorrect EM size computation.
1544 * include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
1545 adding trigonometric functions to the core API (using Cordic
1547 * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
1549 * builds/newline: New file.
1550 * builds/top_level.mk, builds/detect.mk: Use it. This fixes
1551 problems with Make on Windows 2000, as well as problems when `make
1552 distclean' is invoked on a non-Unix platform when there is no
1553 `config.mk' in the current directory.
1555 * builds/freetype.mk: Fixed a problem with object deletions under
1556 Dos/Windows/OS/2 systems.
1558 Added new directory to hold tools and test programs.
1560 * docs/docmaker.py, docs/glnames.py: Moved to...
1561 * src/tools/docmaker.py, src/tools/glnames.py: This place.
1562 * src/tools/cordic.py: New file used to compute arctangent table
1563 needed by fttrigon.c.
1564 * src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
1566 * src/tools/docmaker.py: Improved the script to add the current date
1567 at the footer of each web page (useful to distinguish between
1570 * Jamfile: Fixed incorrect HDRMACRO argument.
1572 * TODO: Removed the cubic arc bbox computation note, since it has been
1574 * src/base/ftbbox.c (test_cubic_zero): Renamed to...
1575 (test_cubic_extrema): This function. Use `UL' for unsigned long
1578 * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
1581 2001-05-10 David Turner <david@freetype.org>
1583 * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
1584 which happened when trying to open 0-size font files!
1586 2001-05-09 Werner Lemberg <wl@gnu.org>
1588 * include/freetype/internal/ftcalc.h: Move declaration of
1589 FT_SqrtFixed() out of `#ifdef FT_LONG64'.
1591 2001-05-08 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
1593 * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
1596 2001-05-08 David Turner <david@freetype.org>
1598 * docs/docmaker.py: Updated the DocMaker script in order to add
1599 command line options (--output,--prefix,--title), fix the erroneous
1600 line numbers reported during errors and warnings, and other
1603 * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
1604 fixes related to rounding in 64-bits routines and
1605 pseudo-`optimizations'.
1607 2001-04-27 David Turner <david@freetype.org>
1609 * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
1610 normalization algorithm (invalid final bit position, and invalid
1613 2001-04-26 Werner Lemberg <wl@gnu.org>
1615 * builds/unix/config.guess, builds/unix/config.sub: Updated to
1616 latest versions from gnu.org.
1618 * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
1620 * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
1622 * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
1623 Fix compiler warnings.
1624 * src/base/ftcalc.c: Fix (potential) compiler warnings.
1626 2001-04-26 David Turner <david@freetype.org>
1628 * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
1629 fixed-point square root computation. It is now used even with
1630 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
1632 * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
1634 2001-04-25 David Turner <david@freetype.org>
1636 * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
1637 direct computations with 16.16 values instead of sub-divisions. It
1638 is now slower, but proves a point :-)
1640 * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
1641 Fixed the Bézier stack depths.
1643 * src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
1645 * builds/beos: Added BeOS-specific files to the old build system
1646 (no changes were necessary to support BeOS in the Jamfile though).
1648 2001-04-20 David Turner <david@freetype.org>
1650 * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
1651 types on platforms where Autoconf is not available). Also removed
1652 FTCALC_USE_LONG_LONG and replaced it with
1653 FT_CONFIG_OPTION_FORCE_INT64.
1655 * builds/win32/freetype.dsp: Updated the Visual C++ project file.
1656 Doesn't create a DLL yet.
1658 * cffgload.c: Removed a compilation warning.
1660 2001-04-10 Tom Kacvinsky <tkacvins@freetype.org>
1662 * t1load.c (parse_charstrings): Changed code for placing .notdef
1663 glyph into slot 0 so that we no longer have a memory access
1666 * t1load.h: In structure T1_Loader, added swap_table (of type
1667 PS_Table) to facilitate placing the .notdef glyph into slot 0.
1669 2001-04-10 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
1671 * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
1673 2001-04-09 Laurence Withers <lwithers@lwithers.demon.co.uk>
1675 * builds/dos/detect.mk: Add support for bash.
1677 2001-04-05 Werner Lemberg <wl@gnu.org>
1679 * builds/os2/*.mk: These files have been forgotten to update to
1680 the structure of similar makefiles.
1681 * builds/dos/*.mk: Ditto.
1682 * builds/ansi/*.mk: Ditto.
1684 * builds/win32/win32-def.mk (BUILD): Fix typo.
1686 * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
1687 This is already used in the link_*.mk files.
1689 2001-04-03 Werner Lemberg <wl@gnu.org>
1691 * src/*/Jamfile: Slight changes to make files more cryptic.
1693 2001-04-03 Werner Lemberg <wl@gnu.org>
1695 * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes
1696 to give files identical structure.
1698 2001-04-02 Werner Lemberg <wl@gnu.org>
1700 * CHANGES: Reformatted, minor fixes.
1702 * README: Formatting.
1703 * include/freetype/freetype.h: Formatting.
1705 * Jamfile: Fix typo.
1707 * src/cff/cffparse.c: Move error code #defines to...
1708 * include/freetype/internal/cfferrs.h: This file.
1709 * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
1710 `FT_Err_*' with `CFF_Err_*'.
1711 * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
1712 * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
1713 * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
1715 * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
1716 * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
1717 src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
1719 * include/freetype/internal/cfferrs.h: Add
1720 `CFF_Err_Unknown_File_Format'.
1721 * include/freetype/internal/t1errors.h: Add
1722 `T1_Err_Unknown_File_Format'.
1723 * include/freetype/internal/tterrors.h: Add
1724 `TT_Err_Unknown_File_Format'.
1726 * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
1728 * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
1730 * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
1732 * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
1733 * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
1735 * src/type1/t1objs.c (T1_Done_Driver): Ditto.
1736 * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
1737 * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
1739 2001-04-02 Tom Kacvinsky <tkacvins@freetype.org>
1741 * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
1742 dereference. Submitted by Herbert Duerr <duerr@sun.com>.
1744 2001-03-26 Tom Kacvinsky <tkacvins@freetype.org>
1746 * include/freetype/config/ftconfig.h: Changed hexadecimal
1747 constants to use suffix U to avoid problems with HP-UX's c89
1748 compiler. Submitted by G.W. Lucas <glucas@sonalysts.com>.
1750 2001-03-24 David Turner <david.turner@freetype.org>
1752 * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
1753 the source tree. See www.freetype.org/jam/index.html for details.
1756 * Version 2.0.2 released.
1757 =========================
1760 2001-03-20 Werner Lemberg <wl@gnu.org>
1762 * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
1764 2001-03-20 David Turner <david.turner@freetype.org>
1766 * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
1767 Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
1770 * docs/docmaker.py: Added generation of INDEX link in table of
1773 * INSTALL, docs/BUILD: Updated documentation to indicate that the
1774 compilation process has changed slightly (no more `src' required in
1777 * builds/*/*-def.mk: Changed the objects directory from `obj' to
1780 * include/freetype/config/ftheader.h: Removed obsolete macros like
1781 FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
1782 were previously defined in <freetype/ftcache.h>. Added comments to
1783 be included in a new API Reference section.
1785 * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
1786 component needs to add its own directory to the include path at
1787 compile time. Modified all `rules.mk' and `descrip.mms'
1790 2001-03-20 Werner Lemberg <wl@gnu.org>
1792 * builds/unix/configure.in: Add $ft_version.
1793 * builds/unix/freetype-config.in: Use it.
1794 * builds/unix/configure: Updated.
1796 2001-03-19 Tom Kacvinsky <tkacvins@freetype.org>
1798 * src/type1/t1load.c (parse_font_matrix): Assign the units per em
1799 value an unsigned short value, first by shifting right 16 bits,
1800 then by casting the results to FT_UShort.
1802 * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
1803 value an unsigned short value, first by shifting right 16 bits,
1804 then by casting the results to FT_UShort.
1806 2001-03-17 David Turner <david.turner@freetype.org>
1808 * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
1809 src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
1810 compiler warnings in pedantic modes.
1812 * include/config/ft2build.h, include/config/ftheader.h: The file
1813 `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
1814 top-level <ft2build.h>.
1816 * include/config/ftheader.h: Added new section describing the #include
1819 2001-03-17 Tom Kacvinsky <tkacvins@freetype.org>
1821 * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
1822 values for the bounding box numbers.
1824 * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
1825 set `root->ascender' (`root->descender') to the integer part of
1826 `root->bbox.yMax' (`root->bbox.yMin', respectively).
1828 2001-03-16 Tom Kacvinsky <tkacvins@freetype.org>
1830 * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
1831 cff_get_interface to facilitate getting a glyph name for glyph index
1832 via FT_Get_Glyph_Name().
1834 (cff_get_interface): Added support for getting a glyph name via the
1835 `glyph_name' module interface. Uses the new function
1836 get_cff_glyph_name().
1837 Submitted by Sander van der Wal <svdwal@xs4all.nl>.
1839 * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
1840 FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
1841 not defined. This is to add support for getting a glyph name from a
1842 glyph index via FT_Get_Glyph_Name().
1843 Submitted by Sander van der Wal <svdwal@xs4all.nl>.
1845 * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
1846 deprecated operator `dotsection'.
1847 Submitted by Sander van der Wal <svdwal@xs4all.nl>.
1849 2001-03-12 Werner Lemberg <wl@gnu.org>
1851 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
1854 * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
1856 2001-03-12 Tom Kacvinsky <tkacvins@freetype.org>
1858 * include/freetype/internal/psaux.h: Changed the lenIV member of
1859 the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
1861 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust
1862 for lenIV seed bytes at the start of a decrypted subroutine.
1864 * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
1867 * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
1870 2001-03-11 Werner Lemberg <wl@gnu.org>
1874 * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
1875 avoid compiler warnings.
1877 2001-03-10 Tom Kacvinsky <tkacvins@freetype.org>
1881 * include/freetype/freetype.h: Added prototypes and notes for
1882 three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
1883 * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
1884 implementation code.
1886 * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
1887 and if that is not available, default to 1000 units per EM. Changed
1888 assignment code for ascender and descender values.
1889 * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
1891 (parse_font_bbox): Changed to use FT_Fixed number handling.
1893 * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
1894 for ascender, descender, and max_advance_width.
1895 * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
1898 2001-03-10 Henrik Grubbström <grubba@roxen.com>
1900 * src/*/*.c: Added many casts to make code more 64bit-safe.
1902 2001-03-07 Werner Lemberg <wl@gnu.org>
1904 * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
1906 2001-03-07 Tom Kacvinsky <tkacvins@freetype.org>
1908 * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
1909 until parse_font_bbox is changed before we use logical shift rights
1910 in the assignments of `root->ascender', `root->descender', and
1911 `root->max_advance_width'.
1913 (T1_Done_Face): Free `char_name' table to avoid a memory leak.
1914 Submitted by Sander van der Wal <svdwal@xs4all.nl>.
1916 2001-03-05 Tom Kacvinsky <tkacvins@freetype.org>
1918 * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
1919 the Type 2 glyph charstring (used by conversion programs).
1920 Submitted by Ha Shao <hashao@chinese.com>.
1922 2001-03-04 Antoine Leca <Antoine.Leca@renault.fr>
1924 * include/freetype/ttnameid.h: Correct a stupid typo which prevented
1925 correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
1927 2001-03-04 Werner Lemberg <wl@gnu.org>
1929 * src/autohint/ahtypes.h (AH_Hinter): Add elements
1930 `disable_horz_edges', `disable_vert_edges'.
1931 * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
1932 them (and remove static variables with the same names).
1933 * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
1934 * docs/glnames.py: Updated to latest pstables.h changes.
1936 * builds/unix/detect.mk: Add test for Hurd.
1937 * builds/hurd/detect.mk: Removed.
1939 2001-03-04 Sander van der Wal <svdwal@xs4all.nl>
1941 * src/psnames/pstables.h: Add more `const'.
1942 * src/pcf/pcfutil.c: Ditto.
1944 2001-03-04 Werner Lemberg <wl@gnu.org>
1946 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
1947 (FT_Glyph_Done -> FT_Done_Glyph).
1949 2001-03-01 Antoine Leca <Antoine.Leca@renault.fr>
1951 * include/freetype/ttnameid.h: Added some new Microsoft language
1952 codes and LCIDs as found in Office Xp.
1954 2001-02-28 David Turner <david.turner@freetype.org>
1956 * builds/hurd/detect.mk: New file. Added support to detect the GNU
1957 Hurd operating system as Unix-like. Fix submitted by Anthony Fok
1960 * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
1961 the Type 1 glyph charstring (used by conversion programs).
1962 Submitted by Ha Shao <hashao@chinese.com>.
1964 2001-02-22 David Turner <david.turner@freetype.org>
1966 * src/base/ftgrays.c (grays_sweep): The function didn't exit
1967 immediately if `num_cells' was 0 as it should. Thanks to Boris for
1970 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
1971 bitmap rendering fails (thanks to Graham Asher).
1973 2001-02-13 Werner Lemberg <wl@gnu.org>
1975 * docs/docmaker.py (DocSection::add_element): Use
1976 `self.print_error()'.
1978 * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
1980 2001-02-13 David Turner <david.turner@freetype.org>
1982 * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
1983 script to support chapters and section block ordering. Updated the
1984 public header files accordingly.
1986 * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
1987 were not correctly copied.
1989 2001-02-08 Tom Kacvinsky <tkacvins@freetype.org>
1991 * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
1992 unnecessary fprintf( stderr, ... ).
1994 2001-02-07 Tom Kacvinsky <tkacvins@freetype.org>
1996 * src/type1/t1objs.c (T1_Init_Face): Added code to get the
1997 units_per_EM from the value assigned in parse_font_matrix, if
1998 available. Default to 1000 if not available.
2000 * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
2001 the units_per_EM from the FontMatrix.
2003 (cff_parse_fixed_thousand): New function. Gets a real number from
2004 the CFF font, but multiplies by 1000 (this is to avoid rounding
2005 errors when placing this real number into a 16.16 fixed number).
2007 (cff_parse_real): Added code so that the integer part is moved
2008 into the high sixteen bits of the 16.16 fixed number.
2010 * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
2011 per EM from the CFF dictionary, if available.
2013 * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
2014 added a units_per_em member to facilitate passing of units_per_em
2015 from function cff_parse_font_matrix.
2017 * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
2018 character. This is so that font names with `-' are fully parsed,
2021 2001-02-02 Werner Lemberg <wl@gnu.org>
2023 * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
2026 (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
2027 + MEM_Copy() to avoid a memory bug.
2029 2001-02-01 David Turner <david.turner@freetype.org>
2031 * docs/docmaker.py: Improved the index sorting routine to place
2032 capital letters before small ones. Added the `<order>' marker to
2033 section blocks in order to give the order of blocks.
2035 2001-01-30 Antoine Leca <Antoine.Leca@renault.fr>
2037 * include/freetype/ttnameid.h: Latest updates to Microsoft language
2040 2001-01-24 Tom Kacvinsky <tkacvins@freetype.org>
2042 * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
2043 units_per_EM from the font matrix.
2045 (parse_dict): Deleted test to see whether the FontInfo keyword has
2046 been seen. Deletion of this test allows fonts without FontInfo
2047 dictionaries to be parsed by the Type 1 driver.
2049 (T1_Open_Face): Deleted empty subroutines array test to make sure
2050 fonts with no subroutines still are parsed.
2052 2001-01-17 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
2054 * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
2055 pcf_get_bitmaps): Fix compiler errors.
2057 2001-01-11 David Turner <david.turner@freetype.org>
2059 * src/pcf/pcfread.c: Removed some compilation warnings related
2060 to comparison of signed vs. unsigned integers.
2062 * include/freetype/internal/ftdebug.h: Changed the debug trace
2063 constants from trace_t2xxxx to trace_cffxxxx to be able to compile
2064 the CFF driver in debug mode.
2066 2001-01-11 Matthew Crosby <mcrosby@marthon.org>
2068 * builds/unix/freetype-config.in: Fix problems with separate
2069 --prefix and --exec-prefix.
2071 2001-01-11 David Turner <david.turner@freetype.org>
2073 * docs/docmaker.py: Added cross-references generation as well as
2074 more robust handling of pathname wildcard matching.
2076 2001-01-10 Werner Lemberg <wl@gnu.org>
2078 * docs/docmaker.py: Minor improvements to reduce unwanted spaces
2079 and empty lines in output.
2081 2001-01-09 David Turner <david.turner@freetype.org>
2083 * docs/docmaker.py: Improved script to generate table of contents
2084 and index pages. It also supports wildcards on non Unix systems.
2086 * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
2087 to include section definitions/delimitations for the API Reference
2090 * include/freetype/freetype.h: Moved declaration of
2091 `FT_Generic_Finalizer' and the `FT_Generic' structure to...
2092 * include/freetype/fttypes.h: here.
2094 2001-01-04 Werner Lemberg <wl@gnu.org>
2096 * include/freetype/ttnameid.h: Updated Unicode code range comments.
2098 2001-01-03 Tom Kacvinsky <tkacvins@freetype.org>
2100 * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
2102 * include/freetype/internal/internal.h: Changed to use cfftypes.h
2103 (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
2105 * include/freetype/internal/cfftypes.h: Merged in changes from
2106 t2types.h and made this the canonical `types' header for the CFF
2109 * include/freetype/internal/t2types.h: This file was merged with
2110 cfftypes.h and is no longer necessary.
2112 * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
2114 * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
2115 src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
2116 src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
2117 cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_
2118 (T2_) were replaced with cff_ (CFF_, respectively).
2120 * src/cff/t2gload.h: Renamed cffgload.h.
2122 * src/cff/t2gload.c: Renamed cffgload.c
2124 2000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
2126 * builds/vms: Support files for VMS architecture added.
2127 * descrip.mms, src/*/descrip.mms: VMS makefiles added.
2128 * README.VMS: New file.
2130 2000-01-01 Werner Lemberg <wl@gnu.org>
2132 * LICENSE.TXT: Added info about PCF driver license.
2134 2001-01-01 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
2136 * src/pcf/*: New driver module for PCF font format (used in
2138 * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
2140 * include/freetype/internal/pcftypes.h: New file.
2141 * include/freetype/config/ftmodule.h: Added PCF driver module.
2143 2001-01-01 Werner Lemberg <wl@gnu.org>
2145 * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
2147 2000-12-31 Werner Lemberg <wl@gnu.org>
2149 * builds/modules.mk (clean_module_list): Fixed deletion of module
2150 file in case `make make_module_list' is called before `make setup'.
2152 2000-12-30 Werner Lemberg <wl@gnu.org>
2154 * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
2155 (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
2158 2000-12-30 Tom Kacvinsky <tkacvins@freetype.org>
2160 * include/freetype/internal/t2types.h,
2161 include/freetype/internal/cfftypes.h: Changed the structures for
2162 CFF_Encoding and CFF_Encoding for the new implementations of the
2163 charset and encoding parsers in the CFF driver.
2165 * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
2166 t2_operator_seac): Added these functions for use in implementing the
2167 seac emulation provided by the Type 2 endchar operator.
2168 (T2_Parse_CharStrings): Added seac emulation for the endchar
2171 * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
2172 CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
2173 charset/encoding tables, and free the memory used by them when the
2174 CFF driver is finished with them. Added tables
2176 cff_isoadobe_charset
2178 cff_expertsubset_charset
2179 cff_standard_encoding
2182 so that the encoding/charset parser can handle predefined encodings and
2185 2000-12-24 Tom Kacvinsky <tkacvins@freetype.org>
2187 * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
2188 transform is applied.
2190 * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
2191 the font matrix numbers are scaled by 1/(matrix->yy). Also, the
2192 offset vector now contains integer values instead of 16.16 fixed
2195 2000-12-22 Tom Kacvinsky <tkacvins@freetype.org>
2197 * src/autohint/ahhint.c (ah_hinter_load_glyph):
2198 Removed unnecessary comments and commented-out code.
2200 2000-12-21 David Turner <david.turner@freetype.org>
2202 * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
2203 we'll work on supporting CID AFM files later I guess :-)
2205 2000-12-21 Tom Kacvinsky <tkacvins@freetype.org>
2207 * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
2208 Changed so that fonts with a non-standard FontMatrix render
2209 correctly. Previously, the first glyph rendered from such a
2210 font did not have the transformation matrix applied.
2212 2000-12-17 Werner Lemberg <wl@gnu.org>
2214 * *.mk: Added lots of `.PHONY' targets.
2216 2000-12-17 Karsten Fleischer <kfleisc1@ford.com>
2218 * *.mk: Implemented `platform' target to disable auto-detection.
2220 2000-12-14 Werner Lemberg <wl@gnu.org>
2222 * docs/design/modules.html: Removed. Covered by design-*.html.
2224 * INSTALL: Added info about makepp.
2226 2000-12-14 David Turner <david.turner@freetype.org>
2228 Added support for clipped direct rendering in the smooth renderer.
2229 This should not break binary compatibility of existing applications.
2231 * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
2232 definition of the FT_BBox structure from the former to the latter.
2233 * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
2234 FT_Raster_Flag enumeration.
2235 Add `clip_box' element to FT_Raster_Params structure.
2236 * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
2238 * INSTALL: Updated installation instructions on Win32, listing the
2239 new `make setup list' target used to list supported
2242 * src/raster/ftraster.c (ft_black_render): Test for unsupported
2243 direct rendering before testing arguments.
2245 2000-12-13 David Turner <david.turner@freetype.org>
2247 * include/freetype/config/ft2build.h,
2248 include/freetype/internal/internal.h: Fixed header inclusion macros
2249 to use direct definitions. This is the only way to do these things
2250 in a portable way :-( The rest of the code should follow shortly
2251 though everything compiles now.
2253 * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
2255 * builds/win32/detect.mk: Added support for the Intel C/C++
2256 compiler, as well as _preliminary_ (read: doesn't work!) support for
2257 Watcom. Also added a new setup target. Type `make setup list' for
2258 a list of supported command-line compilers on Win32.
2260 * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
2261 conditionals are off.
2263 2000-12-13 Werner Lemberg <wl@gnu.org>
2265 * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong
2268 2000-12-12 Werner Lemberg <wl@gnu.org>
2270 * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
2271 Removed. ANSI C doesn't (explicitly) allow macro expansion in
2272 arguments using `##'.
2273 (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
2274 names directly. Make them configurable. Use `##' to strip leading
2275 and trailing spaces from arguments.
2277 * builds/unix/ft2unix.h: Adapted.
2279 * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
2280 ft_close_stream): Use FT_CALLBACK_DEF.
2282 * builds/unix/ftsystem.c: Use new header scheme.
2283 (FT_Done_Memory): Use free() from FT_Memory structure.
2285 * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
2287 2000-12-11 Werner Lemberg <wl@gnu.org>
2289 * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
2290 FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
2291 FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
2293 2000-12-09 Werner Lemberg <wl@gnu.org>
2295 * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
2297 2000-12-08 Werner Lemberg <wl@gnu.org>
2299 * */*.h: Changed body inclusion macro names to start and end with
2300 `__' (those which haven't converted yet). Fixed minor conversion
2303 * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
2305 * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
2307 2000-12-07 David Turner <david.turner@freetype.org>
2309 * */*.[ch]: Changed source files to adhere to the new
2310 header inclusion scheme. Not completely tested but works for now
2313 * src/cff/t2driver.c: Renamed and updated to...
2314 * src/cff/cffdrivr.c: New file.
2315 * src/cff/t2driver.h: Renamed and updated to...
2316 * src/cff/cffdrivr.h: New file.
2317 * src/cff/t2load.c: Renamed and updated to...
2318 * src/cff/cffload.c: New file.
2319 * src/cff/t2load.h: Renamed and updated to...
2320 * src/cff/cffload.h: New file.
2321 * src/cff/t2objs.c: Renamed and updated to...
2322 * src/cff/cffobjs.c: New file.
2323 * src/cff/t2objs.h: Renamed and updated to...
2324 * src/cff/cffobjs.h: New file.
2325 * src/cff/t2parse.c: Renamed and updated to...
2326 * src/cff/cffparse.c: New file.
2327 * src/cff/t2parse.h: Renamed and updated to...
2328 * src/cff/cffparse.h: New file.
2329 * src/cff/t2tokens.h: Renamed and updated to...
2330 * src/cff/cfftoken.h: New file.
2332 * src/cff/cff.c, src/cff/rules.mk: Updated.
2334 2000-12-06 David Turner <david.turner@freetype.org>
2336 * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
2338 2000-12-06 Werner Lemberg <wl@gnu.org>
2340 * builds/module.mk: Replaced `xxx #' with `xxx$(space).
2341 * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
2342 avoid trailing spaces in variable.
2343 * builds/freetype.mk: Use $(D) instead of $D to make statement more
2346 * docs/docmaker.py: Formatting.
2348 2000-12-05 David Turner <david.turner@freetype.org>
2350 * src/psaux/psauxmod.c: Fixed a broken inclusion of component
2351 header files (an FT_FLAT_COMPILE test was missing).
2353 * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
2354 an occasional crash when the function was called (due to a dangling
2357 * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
2358 The ANSI `free()' function was called instead of `memory->free()'.
2360 * docs/docmaker.py: Added section filtering, multi-page generation
2361 (index page generation is still missing though).
2363 2000-12-04 David Turner <david.turner@freetype.org>
2365 * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
2366 is now installed as <ft2build.h> for Unix systems. Note that we
2367 still use the `freetype2/freetype' installation path for now.
2369 * */*.[ch]: Now using <ft2build.h> as the default build and setup
2370 configuration file in all public headers. Internal source files
2371 still need some changes though.
2373 * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
2374 directory to hold all development options for both the Unix and
2375 Win32 developer builds.
2377 * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
2378 builds/win32/w32-dev.mk: Changed the developer build targets to
2379 `devel-gcc' and `devel-bcc' in order to be able to develop with the
2380 Borland C++ compiler.
2382 2000-12-01 David Turner <david.turner@freetype.org>
2385 * Version 2.0.1 released.
2386 =========================
2389 * builds/unix/configure.in, builds/unix/configure,
2390 builds/cygwin/configure.in, builds/cygwin/configure: Setting
2391 `version_info' to 6:1:0 for the 2.0.1 release.
2393 * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
2395 * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
2396 to allow compilation under Unix with the Unix-specific config
2399 2000-12-01 Werner Lemberg <wl@gnu.org>
2402 * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
2403 builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
2404 builds/win32/w32-bccd.mk: Revised.
2405 * include/freetype/config/ftbuild.h,
2406 include/freetype/internal/internal.h: Revised.
2407 * include/freetype/ftimage.h: Updated to new header inclusion scheme.
2409 2000-11-30 Werner Lemberg <wl@gnu.org>
2411 * builds/toplevel.mk (.PHONY): Adding `distclean'.
2412 * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
2415 2000-11-30 David Turner <david.turner@freetype.ogr>
2417 * INSTALL: Slightly updated the quick starter documentation to
2418 include IDE compilation, prevent against BSD Make, and specify `make
2419 setup' instead of a single `make' for build configuration.
2421 * include/config/ftbuild.h, include/internal/internal.h: Added new
2422 configuration files used to determine the location of all public,
2423 configuration, and internal header files for FreeType 2. Modified
2424 all headers under `include/freetype' to reflect this change. Note
2425 that we still need to change the library source files themselves
2428 * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
2429 builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
2430 builds/win32/detect.mk: Added new files to support compilation with
2431 the free Borland C++ command-line compiler. Modified the detection
2432 rules to recognize the new `bcc32' target in `make setup bcc32'.
2434 * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
2435 src/truetype/ttobjs.c, src/truetype/ttgload.c,
2436 src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
2437 didn't really like. Basically, this compiler complains when FT_UInt
2438 is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
2441 2000-11-30 Tom Kacvinsky <tkacvins@freetype.org>
2443 * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
2446 * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
2448 2000-11-29 David Turner <david.turner@freetype.org>
2450 * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
2451 bug in the formula used to compute the conic Bézier extrema
2452 of non-monotonous arcs.
2454 2000-11-29 Werner Lemberg <wl@gnu.org>
2456 * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
2457 (FT_Set_Renderer): Use FT_EXPORT_DEF.
2458 * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
2459 src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
2460 FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
2461 FTC_Manager_Register_Cache), src/cache/ftcsbits.c
2462 (FTC_SBit_Cache_Lookup): Ditto.
2464 * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
2465 src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
2467 2000-11-29 Werner Lemberg <wl@gnu.org>
2469 * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
2472 * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
2473 `size->strike_index' only conditionally.
2475 * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
2478 * src/winfonts/winfnt.h: Move all type definitions to...
2479 * src/include/freetype/internal/fnttypes.h: New file.
2480 * src/winfonts/winfnt.c: Use it.
2482 2000-11-29 ??? ??? <darin@eazel.com>
2484 * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
2485 with a direct solution (which also satisfies picky compilers).
2487 2000-11-28 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
2489 * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
2490 disabled interpreter also.
2492 * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
2495 2000-11-26 Tom Kacvinsky <tkacvins@freetype.org>
2497 * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
2498 width setting code to take into account even/odd argument counts
2499 and glyph width operand before endchar/hmoveto/vmoveto.
2501 2000-11-26 Werner Lemberg <wl@gnu.org>
2503 * builds/ansi/ansi.mk: Fix inclusion order of files.
2505 2000-11-26 Keith Packard <keithp@keithp.com>
2507 * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
2509 2000-11-26 Werner Lemberg <wl@gnu.org>
2511 * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
2514 2000-11-23 Werner Lemberg <wl@gnu.org>
2516 * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
2517 function from PSAux module.
2519 * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
2520 (T1_Finalize_Parser): New function (to avoid name clash with a
2521 function in the PSAux module).
2522 (T1_Decrypt): Removed since it is duplicated in the PSAux module.
2523 (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
2524 function from PSAux module.
2526 * src/type1/t1parse.h: Adapted.
2528 2000-11-22 Tom Kacvinsky <tkacvins@freetype.org>
2530 * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
2531 `root->num_faces' to `cff->num_faces' and set `units_per_EM'
2534 * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
2537 * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
2538 sid that was off by one.
2540 2000-11-16 David Turner <david@freetype.org>
2542 * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
2543 auto-hinting of synthetic Type 1 fonts.
2545 * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
2546 Added auto-hinting support of synthetic Type 1 fonts.
2548 2000-11-12 Tom Kacvinsky <tkacvins@freetype.org>
2550 * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
2553 * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
2554 `has-outline' to true only if the font has a `glyf' or `CFF ' table.
2556 2000-11-11 Werner Lemberg <wl@gnu.org>
2558 * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
2561 2000-11-11 Tom Kacvinsky <tkacvins@freetype.org>
2563 * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
2564 Added a --libtool option. When freetype-config --libtool is
2565 invoked, the absolute path to the libtool convenience library
2568 2000-11-11 Werner Lemberg <wl@gnu.org>
2570 * builds/cygwin/cygwin-def.in: Same fix as previous.
2572 2000-11-10 Tom Kacvinsky <tkacvins@freetype.org>
2574 * builds/unix/unix-def.in: Add
2576 INSTALL_PROGRAM := @INSTALL_PROGRAM@
2577 INSTALL_SCRIPT := @INSTALL_SCRIPT@
2579 so that installation of freetype-config does not fail.
2581 2000-11-10 Werner Lemberg <wl@gnu.org>
2583 * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
2584 Move test down for empty --exec-prefix.
2587 * builds/cygwin/install.mk, builds/unix/install.mk: Use
2588 $(INSTALL_SCRIPT) for installation of freetype-config.
2590 * builds/cygwin/install.mk: Fix clean target names.
2592 2000-11-09 David Turner <david@freetype.org>
2595 * Version 2.0 released.
2596 =======================
2598 ----------------------------------------------------------------------------
2600 Copyright 2000, 2001, 2002, 2007 by
2601 David Turner, Robert Wilhelm, and Werner Lemberg.
2603 This file is part of the FreeType project, and may only be used, modified,
2604 and distributed under the terms of the FreeType project license,
2605 LICENSE.TXT. By continuing to use, modify, or distribute this file you
2606 indicate that you have read the license and understand and accept it
2611 version-control: never