Add copy of .ttf font with .eot extension for testing
[wine-gecko.git] / modules / freetype2 / ChangeLog.20
blob8fcc5e70ab4ea59881a4cc62c4f631220ef837a9
1 2002-02-09  Werner Lemberg  <wl@gnu.org>
3         * README: Fix typo.
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
20         release.
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
41         is now in ...
42         (pcf_get_metric): Here.
43         (pcfSeekToType): Renamed to ...
44         (pcf_seek_to_table_type): This.
45         Use FT_Int.
46         (pcfHasType): Renamed to ...
47         (pcf_has_table_type): This.
48         Use FT_Int.
49         (find_property): Renamed to ...
50         (pcf_find_property): This.
51         Use FT_Int.
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
75         embedded bitmaps.
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'
84         typedef.
85         (FT_Driver_Class): Use it.
86         * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
87         typedef.
88         (PSNames_Interface): Use it.
89         * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
90         typedef.
91         (TT_CMapTable): Use it.
93         * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
94         high-level API.
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
105         functions.
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
129         for the new release.
131 2002-01-31  David Turner  <david@freetype.org>
133         * README, README.UNX, docs/CHANGES: Updating documentation for the
134         2.0.7 release.
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
181         actually.
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
217         prefix.
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
236         Unix-friendly.
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
293         warning.
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
300         control issues.
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
314         really funky glyphs.
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
352         FT_ERROR messages.
353         * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
354         `trace_pshalgo1'.
355         * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
356         `trace_pshalgo2'.
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
385         tracing strings.
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
398         `pshinter'.
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.
409         Add hinting support.
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
416         functions.
417         (CFF_Init_Face): Renamed to ...
418         (CFF_Face_Init): This.
419         Add hinter support.
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
430         `pshinter'.
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.
439         Add hinting support.
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
497         glyph header.
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
505         `gfam'.
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
511         `cfam'.
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
532         MacOS classic.
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
540         should).
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:
587         FT_Sin(0) == -1!).
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
602         charmap cache.
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
631         debugging purposes.
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
647         warnings.
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
653         simpler.
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
659         macro.
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
675         variable.
676         * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
677         compiler warning.
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.
682         Use `const'.
683         * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
684         declaration.
685         * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
686         to avoid shadowing.
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.
727         Fix typos.
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.
732         Fix typos.
733         (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
734         typos.
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').
741         Fix typos.
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
772         source tree.
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 ...
803         (Sort): Updated.
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
815         some bogus warnings.
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
820         the source file.
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
832         macro definition.
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
848         avoid a memory leak.
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
861         synthetic.
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
868         second time.
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
874         compiler warnings.
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
882         files.
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
942         will be added soon).
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
961         for Polish users).
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):
972         Updated.
973         * src/psnames/pstables.h: Regenerated.
974         * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
975         Fix return value.
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
1005         `outline' from it.
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
1020         ftsizes.h).
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
1025         FT_Activate_Size.
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
1049         ones).
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
1065         `cmap_rec_fields'.
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
1083         that too.
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
1110         cmaps.
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
1115         structure.
1116         (TT_Load_CMap): Ditto.
1118         * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
1119         Unicode).
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
1161         FT_Get_Name_Index.
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
1173         2001-06-27.
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
1180         parameter.
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
1196         compiled in.
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
1203         `new_width'.
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
1236         compilers.
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
1267         constants.
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
1274         easier to redefine.
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
1302         documentation.
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.
1308         (NEXT_*): Use them.
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
1317         `L' for constant.
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'
1328         variables.
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
1333         compiler warning.
1334         * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
1335         variable.
1336         * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
1337         `outline' variable.
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'
1343         variable.
1344         * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
1345         variable.
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'
1349         variables.
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
1359         macros.
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
1368         conditionally.
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
1385         defined.
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
1391         compiler warnings.
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
1397         needed.
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
1406         was applied twice).
1408         Fixed a bug that returned an invalid linear width for composite
1409         TrueType glyphs.
1411         * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
1412         and `linear_def'.
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
1419         Werner.
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
1434         details.
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
1440         `fterrors.h'.
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
1460         macro.
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
1519         flag.
1520         (ah_outline_compute_blue_edges): Add code to compute active blue
1521         zones.
1522         * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
1523         value.
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__ ->
1533         __FTTRIGON_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
1546         algorithms).
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
1568         versions).
1570         * Jamfile: Fixed incorrect HDRMACRO argument.
1572         * TODO: Removed the cubic arc bbox computation note, since it has been
1573         fixed recently.
1574         * src/base/ftbbox.c (test_cubic_zero): Renamed to...
1575         (test_cubic_extrema): This function.  Use `UL' for unsigned long
1576         constants.
1578         * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
1579         Formatting.
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
1594         computation.
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
1601         formatting issues.
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
1611         shift computation).
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()
1621         unconditionally.
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
1664         violation.
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.
1701         * TODO: Updated.
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
1714         `TT_Err_*'.
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'
1727         references.
1728         * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
1730         * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
1731         FT_LOCAL_DEF.
1732         * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
1733         * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
1734         Ditto.
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
1768         FT_SFNT_NAMES_H.
1770         * docs/docmaker.py: Added generation of INDEX link in table of
1771         contents.
1773         * INSTALL, docs/BUILD: Updated documentation to indicate that the
1774         compilation process has changed slightly (no more `src' required in
1775         the include path).
1777         * builds/*/*-def.mk: Changed the objects directory from `obj' to
1778         `objs'.
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'
1788         accordingly.
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
1817         macros.
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
1852         messages.
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
1865         if lenIV >= 0.
1867         * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
1868         if lenIV >= 0.
1870 2001-03-11  Werner Lemberg  <wl@gnu.org>
1872         * TODO: Updated.
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>
1879         * TODO: New file.
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
1890         processing.
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
1896         number handling.
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
1958         <foka@debian.org>.
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
1968         finding this out.
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,
2019         etc...
2021 2001-02-02  Werner Lemberg  <wl@gnu.org>
2023         * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
2024         obsolete now).
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
2038         ID codes.
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
2088         generator.
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
2107         driver.
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
2137         X Window System).
2138         * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
2139         PCF driver.
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
2156         definition.
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
2169         operator.
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
2177             cff_expert_charset
2178             cff_expertsubset_charset
2179             cff_standard_encoding
2180             cff_expert_encoding
2182         so that the encoding/charset parser can handle predefined encodings and
2183         charsets.
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
2193         numbers.
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
2240         compilers/targets.
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
2266         ftconfig.h file.
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
2301         issues.
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
2311         here.
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
2344         readable.
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
2355         pointer).
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
2397         files.
2399 2000-12-01  Werner Lemberg  <wl@gnu.org>
2401         * INSTALL: Revised.
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',
2413         `setup'.
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
2426         though.
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'
2439         in these cases).
2441 2000-11-30  Tom Kacvinsky  <tkacvins@freetype.org>
2443         * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
2444         pure CFF fonts.
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
2470         conditionally.
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
2476         conditionally.
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
2493         parentheses.
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
2512         conditional.
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'
2532         to 1000.
2534         * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
2535         loop.
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
2551         tracing output.
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
2559         type1z->type1.
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
2566         is returned.
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.
2585         Fix --version.
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
2607 fully.
2610 Local Variables:
2611 version-control: never
2612 coding: utf-8
2613 End: