shithub: freetype+ttf2subf

Download patch

ref: 60ba8fe9e71a244aaf7dc4591641ac14783706b8
parent: 0606350c2a08eec120e4557a07f252e1c72963ce
author: Werner Lemberg <[email protected]>
date: Fri Jan 22 04:02:07 EST 2021

Move old ChangeLog files to new `docs/oldlogs` directory.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog.20
+++ /dev/null
@@ -1,2613 +1,0 @@
-2002-02-09  Werner Lemberg  <[email protected]>
-
-	* README: Fix typo.
-	* docs/CHANGES: Minor fixes.
-
-
-	* Version 2.0.8 released.
-	=========================
-
-
-2002-02-08  David Turner  <[email protected]>
-
-	* docs/CHANGES: Updating for 2.0.8.
-
-	* include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
-	removing `FT_Get_Next_Char' from the API (temporarily).
-
-	* include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
-	note that this function might temporarily be removed for the 2.0.8
-	release.
-
-2002-02-07  David Turner  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_load_font): Removed immature support of
-	the AVERAGE_WIDTH property.
-
-2002-02-06  David Turner  <[email protected]>
-
-	* src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
-	PDF documents do not include 'cmap', 'post' and 'name' tables, the
-	SFNT face loader has been changed to not immediately report an
-	error if these are not present.
-
-	Note that the specification _requires_ these tables, but Adobe
-	seems to ignore it completely.
-
-	* src/sfnt/ttcmap.c: Removing compiler warnings.
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
-	(pcf_parse_metric, pcf_parse_compressed_metric): Removed.  Code
-	is now in ...
-	(pcf_get_metric): Here.
-	(pcfSeekToType): Renamed to ...
-	(pcf_seek_to_table_type): This.
-	Use FT_Int.
-	(pcfHasType): Renamed to ...
-	(pcf_has_table_type): This.
-	Use FT_Int.
-	(find_property): Renamed to ...
-	(pcf_find_property): This.
-	Use FT_Int.
-	(pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
-	better (delaying format checks out of FT_Access_Frame ..
-	FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
-	state when encountering an invalid PCF font).
-
-	* src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
-	(PCF_Face_Done): This.
-	(PCF_Init_Face): Renamed to ...
-	(PCF_Face_Init): This.
-	(PCF_Get_Char_Index): Renamed to ...
-	(PCF_Char_Get_Index): This.
-	(PCF_Get_Next_Char): Renamed to ...
-	(PCF_Char_Get_Next): This.
-	(pcf_driver_class): Updated.
-
-	* src/pcf/pcf.h (PCF_Done_Face): Removed.
-
-2002-02-06  Detlef Würkner  <[email protected]>
-
-	* src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
-
-	* src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
-	property to return correct character pixel (width/height) pairs for
-	embedded bitmaps.
-
-2002-02-04  Keith Packard  <[email protected]>
-
-	Adding the function `FT_Get_Next_Char', doing the obvious thing
-	w.r.t. the selected charmap.
-
-	* include/freetype/freetype.h: Add prototype.
-	* include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
-	typedef.
-	(FT_Driver_Class): Use it.
-	* include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
-	typedef.
-	(PSNames_Interface): Use it.
-	* include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
-	typedef.
-	(TT_CMapTable): Use it.
-
-	* src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
-	high-level API.
-	* src/cff/cffdrivr.c (cff_get_next_char): New function.
-	(cff_driver_class): Add it.
-	* src/cid/cidriver.c (Cid_Get_Next_Char): New function.
-	(t1cid_driver_class): Add it.
-	* src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
-	(pcf_driver_class): Add it.
-	* src/psnames/psmodule.c (PS_Next_Unicode): New function.
-	(psnames_interface): Add it.
-	* src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
-	code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
-	functions.
-	(TT_CharMap_Load): Use them.
-	* src/truetype/ttdriver.c (Get_Next_Char): New function.
-	(tt_driver_class): Add it.
-	* src/type1/t1driver.c (Get_Next_Char): New function.
-	(t1_driver_class): Add it.
-	* src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
-	(winfnt_driver_class): Add it.
-
-	* src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
-	Unicode and Latin 1 encodings.
-
-2002-02-02  Keith Packard  <[email protected]>
-
-	* builds/unix/freetype-config.in: Add missing `fi'.
-
-
-	* Version 2.0.7 released.
-	=========================
-
-
-2002-02-01  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
-	for the new release.
-
-2002-01-31  David Turner  <[email protected]>
-
-	* README, README.UNX, docs/CHANGES: Updating documentation for the
-	2.0.7 release.
-
-2002-01-30  David Turner  <[email protected]>
-
-	* INSTALL: Moved to ...
-	* docs/INSTALL: Here to avoid conflicts with the `install' script on
-	Windows, where the filesystem doesn't preserve case.
-
-2002-01-29  David Turner  <[email protected]>
-
-	* configure: Fixed the script.  It previously didn't accept more
-	than one argument correctly.  For example, when typing:
-
-	  ./configure --disable-shared --disable-nls
-
-	the `--disable-nls' was incorrectly sent to the `make' program.
-
-2002-01-29  Werner Lemberg  <[email protected]>
-
-	* README.UNX: Fix typo.
-	* builds/unix/install.mk (uninstall): Fix library name for libtool.
-
-2002-01-28  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
-	the face object (face->toc.tables, face->root.family_name,
-	face->root.available_size, face->charset_encoding,
-	face->charset_registry are now freed).  Thanks to Niels Moseley.
-
-2002-01-28  Roberto Alameda  <[email protected]>
-
-	* src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
-
-2002-01-28  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
-	of `base' string for decrypting to not modify the original data.
-	Based on a patch by Jakub Bogusz <[email protected]>.
-
-2002-01-27  Giuliano Pochini  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
-	bad rendering of thin lines (less than one pixel thick).
-
-2002-01-25  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
-	actually.
-
-2002-01-25  Martin Zinser  <[email protected]>
-
-	* src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
-	compilation warnings.
-	* src/base/descrip.mms (OBJS): Add `ftmm.obj'.
-	* src/cache/descrip.mms (ftcache.obj): Dependencies added.
-
-2002-01-25  WANG Yi  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
-
-2002-01-21  Antoine Leca  <[email protected]>
-
-	* docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
-	the URL for the online resource.
-
-2002-01-18  Ian Brown  <[email protected]>
-
-	* builds/win32/ftdebug.c: New file.
-	* builds/win32/visualc/freetype.dsp: Updated.
-
-2002-01-18  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
-	* builds/amiga/README: Updated.
-
-2002-01-18  Ian Brown  <[email protected]>
-
-	* builds/win32/visualc/freetype.dsp: Updated.
-
-2002-01-13  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype2.a4: The script was still buggy.
-	* builds/unix/freetype-config.in: Make it really work for any install
-	prefix.
-
-2002-01-10  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype2.a4: Fix some serious bugs.
-
-2002-01-09  David Turner  <[email protected]>
-
-	* builds/unix/configure.ac: Build top-level Jamfile.
-
-2002-01-09  Maxim Shemanarev  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_render_line): Small optimization to
-	the smooth anti-aliased renderer that deals with vertical segments.
-	This results in a 5-7% speedup in rendering speed.
-
-2002-01-08  David Turner  <[email protected]>
-
-	Added some wrapper scripts to make the installation more
-	Unix-friendly.
-
-	* configure, install: New files.
-
-	* INSTALL, README.UNX: Updated installation documentation to use the
-	new 'configure' and 'install' scripts.
-
-2002-01-07  David Turner  <[email protected]>
-
-
-	* Version 2.0.6 released.
-	=========================
-
-
-	* docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
-
-	* src/tools/docmaker.py: Fixed HTML quoting in sources.
-	(html_format): Replaced with ...
-	(html_quote): New function.
-	(html_quote0): New function.
-	(DocCode::dump_html): Small improvement.
-	(DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
-
-	* include/freetype/config/ftoption.h: Setting default options for
-	a release build (debugging off, bytecode interpreter off).
-
-	* src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
-	src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
-	src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
-	warnings (in pedantic compilation modes).
-
-2002-01-05  David Turner  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
-	of auto-hinted stem widths; this avoids color fringes in
-	`ClearType-like' rendering.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph_Header,
-	TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
-	Modified the TrueType loader to make it more paranoid; this avoids
-	nasty buffer overflows in the case of invalid glyph data (as
-	encountered in the output of some buggy font converters).
-
-2002-01-04  David Turner  <[email protected]>
-
-	* README.UNX: Added special README file for Unix users.
-
-	* builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
-
-	* src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
-	of compiler warnings.
-
-	* src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
-
-2002-01-03  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
-	warning.
-
-2002-01-03  Keith Packard  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
-	all FreeType input streams are closed in child processes of a `fork'
-	on Unix systems.  This is important to avoid (potential) access
-	control issues.
-
-2002-01-03  David Turner  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
-	library when dealing with certain weird fonts like `Stalingrad', in
-	`sadn.pfb' (this font has no full font name entry).
-
-	* src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
-	New function to check the consistency of outline data.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
-	ensure that loaded glyphs are valid.  This allows certain fonts like
-	`tt1095m_.ttf' to be loaded even though it appears they contain
-	really funky glyphs.
-
-	There still is a bug there, though.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
-
-2001-12-30  David Turner  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load): Fix advance width
-	computation of auto-hinted glyphs.  This noticeably improves the
-	spacing of letters in KDE and Gnome.
-
-2001-12-25  Antoine Leca  <[email protected]>
-
-	* builds/dos/detect.mk: Correcting the order for Borland compilers:
-	16-bit bcc was never selected, always overridden by 32-bit bcc32.
-
-2001-12-22  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
-	and fix incorrect computation of `available_sizes'.
-
-2001-12-22  David Turner  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
-	incorrect glyph advance in the case of mono-width fonts (like
-	Courier, Andale Mono, and others).
-
-2001-12-22  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/*: Adaptations to latest changes.
-	Support added for MorphOS.
-
-2001-12-22  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
-	(ps_mask_table_merge, ps_hints_open, ps_hints_stem,
-	ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
-	FT_ERROR messages.
-	* src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
-	`trace_pshalgo1'.
-	* src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
-	`trace_pshalgo2'.
-	* include/freetype/internal/ftdebug.h (FT_Trace): Updated.
-
-	* docs/modules.txt: New file.
-
-2001-12-21  David Turner  <[email protected]>
-
-	* src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
-	Ignore invalid `hintmask' and `cntrmask' operators (instead of
-	returning an error).  Glyph 2028 of the CFF font `MSung-Light-Acro'
-	couldn't be rendered otherwise (it seems its charstring is buggy,
-	though this requires more analysis).
-	(FT_COMPONENT): Define.
-
-	* src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
-	(T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
-	bug where the X and Y axis where inverted in the postscript hinter.
-	This caused problem when displaying on non-square surfaces.
-
-	* src/pshinter/pshalgo2.c: s/vertical/dimension/.
-
-	* src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
-	point constant with a fixed-float equivalent.  For some reasons not
-	all compilers are capable of directly computing a floating pointer
-	constant casted to FT_Fixed, and will link a math library instead.
-
-2001-12-20  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
-	tracing strings.
-	* src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
-	* src/cache/ftcmanag.c (ftc_family_table_alloc,
-	ftc_family_table_free, FTC_Manager_Check): Ditto.
-	* src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
-
-	* src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
-
-2001-12-20  David Turner  <[email protected]>
-
-	Added PostScript hinter support to the CFF and CID drivers.
-
-	* include/freetype/internal/cfftypes.h (CFF_Font): New member
-	`pshinter'.
-	* src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
-	* src/cff/cffload.h: Updated.
-	* src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
-	(CFF_Builder_Init): This.
-	Added new argument `hinting'.
-	(CFF_Done_Builder): Renamed to ...
-	(CFF_Builder_Done): This.
-	(CFF_Init_Decoder): Added new argument `hinting'.
-	(CFF_Parse_CharStrings): Implement vstem support.
-	(CFF_Load_Glyph): Updated.
-	Add hinting support.
-	(cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
-	(cff_argument_counts): Updated.
-	* src/cff/cffgload.h: Updated.
-	* src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
-	(CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
-	CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GlyphSlot_Init): New
-	functions.
-	(CFF_Init_Face): Renamed to ...
-	(CFF_Face_Init): This.
-	Add hinter support.
-	(CFF_Done_Face): Renamed to ...
-	(CFF_Face_Done): This.
-	(CFF_Init_Driver): Renamed to ...
-	(CFF_Driver_Init): This.
-	(CFF_Done_Driver): Renamed to ...
-	(CFF_Driver_Done): This.
-	* src/cff/cffobjs.h: Updated.
-	* src/cff/cffdrivr.c (cff_driver_class): Updated.
-
-	* include/freetype/internal/t1types.h (CID_FaceRec): New member
-	`pshinter'.
-	* src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
-	* src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
-	(CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
-	CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
-	(CID_Done_Face): Renamed to ...
-	(CID_Face_Done): This.
-	(CID_Init_Face): Renamed to ...
-	(CID_Face_Init): This.
-	Add hinting support.
-	(CID_Init_Driver): Renamed to ...
-	(CID_Driver_Init): This.
-	(CID_Done_Driver): Renamed to ...
-	(CID_Driver_Done): This.
-	* src/cid/cidobjs.h: Updated.
-	* src/cidriver.c: Updated.
-
-	* src/pshinter/pshrec.c (t2_hint_stems): Fixed.
-
-	* src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
-	crashed the library on exit.
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
-	transformation of hinted glyphs.
-
-	* src/cid/cidload.c (cid_read_subrs): Fix error condition.
-
-	* src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
-	routines were never released when CID faces were destroyed.
-
-	* src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
-	to move the definition of encoding tables back within `cffload.c'
-	instead of making them part of a shared header (causing problems in
-	`multi' builds).  This reverts change 2001-08-08.
-
-	* docs/CHANGES: Updated for 2.0.6 release.
-	* docs/TODO: Added `stem3 and counter hints support' to the TODO
-	list for the Postscript hinter.
-	* docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
-
-2001-12-19  David Turner  <[email protected]>
-
-	* include/freetype/cache/ftcache.h: Added comments to indicate that
-	some of the exported functions should only be used by applications
-	that need to implement custom cache types.
-
-	* src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
-	that prevented composites from loading correctly, due to missing
-	parentheses around macro parameters.
-
-	* src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
-	tables optional to load PCL fonts properly.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
-	(FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
-	`Fixed' the bug that prevented embedded bitmaps to be loaded when
-	the auto-hinter is used.  This actually is a hack but will be enough
-	until the internal re-design scheduled for FreeType 2.1.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
-	shifting bug in the monochrome renderer.
-
-	* README: Updated version numbers to 2.0.6.
-
-2001-12-17  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
-	glyph header.
-
-2001-12-15  Werner Lemberg  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
-	* include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
-	already in ftcmanag.h.
-	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
-	`gfam'.
-	* src/cache/ftcmanag.c (ftc_family_table_alloc,
-	* ftc_family_table_free): Use FT_EXPORT_DEF.
-	* include/freetype/cache/ftcmanag.h: Updated.
-	* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
-	* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
-	`cfam'.
-	Remove compiler warning.
-	(FTC_CMapCache_Lookup): Remove compiler warnings.
-	(ftc_cmap_family_init): Ditto.
-	(FTC_CMapCache_Lookup): Ditto.
-
-	* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
-	* builds/unix/configure: Regenerated.
-
-2001-12-14  Werner Lemberg  <[email protected]>
-
-	* builds/mac/README: Updated.
-
-2001-12-14  Scott Long  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
-	dealing with invalid fonts (i.e. glyph size < 10 bytes).
-
-2001-12-14  Sam Latinga  <[email protected]>
-
-	* builds/mac/freetype.make: A new Makefile to build with MPW on
-	MacOS classic.
-
-2001-12-14  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
-	(T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
-	src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
-	all font drivers (the advance width was never hinted when it
-	should).
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): New macro.
-	* src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
-	use `extern' keyword.
-
-2001-12-12  David Turner  <[email protected]>
-
-	* src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
-	psh_globals_new): Adding correct BlueScale/BlueShift support, plus
-	family blues processing.
-	* src/pshinter/pshglob.h (PSH_BluesRec): Updated.
-
-	Started adding support for the Postscript hinter in the CFF module.
-
-	* src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
-	(CFF_Parse_CharStrings): Implement it.
-	* src/cff/cffgload.h: Updated.
-
-2001-12-12  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype2.m4: Some portability fixes.
-
-2001-12-11  Jouk Jansen  <[email protected]>
-
-	* src/base/descrip.mms (OBJS): Add ftdebug.obj.
-
-2001-12-11  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
-
-2001-12-11  David Turner  <[email protected]>
-
-	* builds/unix/freetype-config.in: Modified the script to prevent
-	passing `-L/usr/lib' to gcc.
-
-	* docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
-
-	* builds/unix/freetype2.m4: New file for checking configure paths.
-	We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
-	didn't modify builds/unix/install.mk yet.
-
-	* INSTALL: Updated the instructions to build shared libraries with
-	Jam.  They were simply wrong.
-
-	* src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
-	slightly improper results for `FT_Cos' and `FT_Sin' (example:
-	FT_Sin(0) == -1!).
-
-2001-12-11  Detlef Würkner  <[email protected]>
-
-	* include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
-	Fixed incorrect argument types.
-
-2001-12-10  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
-	by setting the `face->metrics.max_advance' correctly.
-
-2001-12-07  David Turner  <[email protected]>
-
-	* include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
-	charmap cache.
-	* src/cache/ftcache.c: Updated.
-
-	* src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
-
-2001-12-06  Leonard Rosenthol  <[email protected]>
-
-	Added support for reading .dfont files on Mac OS X.  Also added a
-	new routine which looks up a given font by name in the Mac OS and
-	returns the disk file where it resides.
-
-	* src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
-	(is_dfont): New auxiliary function.
-	(FT_New_Face_From_dfont): New function.
-	(FT_GetFile_From_Mac_Name): New exported function.
-	(FT_New_Face): Updated.
-	* include/freetype/ftmac.h: Updated.
-
-2001-12-06  David Turner  <[email protected]>
-
-	* src/cache/Jamfile, src/cache/rules.mk: Updated.
-
-2001-12-06  Werner Lemberg  <[email protected]>
-
-	* INSTALL: Small update.
-
-2001-12-05  David Turner  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
-	debugging purposes.
-	Comment out use of `origin'.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
-	where outline shifting wasn't correctly undone after bitmap
-	rasterization.  This created problems with certain glyphs (like '"'
-	of certain fonts) and the cache system.
-
-	* src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
-	* src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
-	(ps2_hints_apply): Small fix.
-
-2001-12-05  David Turner  <[email protected]>
-
-	* src/pshinter/pshalgo2.c (psh2_hint_table_init),
-	src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
-	warnings.
-
-	* include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
-	Yet another massive rewrite of the caching sub-system in order to
-	both increase performance and allow simpler cache sub-classing.  As
-	an example, the code for the image and sbit caches is now much
-	simpler.
-
-	I still need to update the documentation in
-	www/freetype2/docs/cache.html to reflect the new design though.
-
-	* include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
-	macro.
-	(FT_CACHE_INTERNAL_CACHE_H): Updated.
-
-2001-12-05  David Krause  <[email protected]>
-
-	* docs/license.txt: s/X Windows/X Window System/.
-
-2001-12-04  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c: Fix definition condition of MEM_Set().
-	* src/smooth/ftgrays.c (M_Y): Change value to 192.
-	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
-	Remove unused variable.
-	* src/cache/ftcimage.c (ftc_image_node_init,
-	ftc_image_node_compare): Remove unused variables.
-	* src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
-	variable.
-	* src/raster/ftraster.c (MEM_Set): Move definition down to avoid
-	compiler warning.
-	* src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
-	avoid compiler warnings.
-	* src/pcf/pcfread.c (tableNames): Use `const'.
-	(pcf_read_TOC): Change counter name to avoid compiler warning.
-	Use `const'.
-	* src/pshinter/pshrec.c (ps_hints_close): Remove redundant
-	declaration.
-	* src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
-	to avoid shadowing.
-	* src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
-	* src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
-	and `T1_Size_Done()'.
-
-2001-11-20  Antoine Leca  <[email protected]>
-
-	* include/freetype/ttnameid.h: Added some new Microsoft language
-	codes and LCIDs as found in MSDN (Passport SDK).  Also added
-	comments about the meaning of bit 57 of the `OS/2' table
-	(TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
-	a character beyond 0xFFFF in this font'.  Thanks to Detlef Würkner
-	<[email protected]> for noticing this.
-
-2001-11-20  David Turner  <[email protected]>
-
-	* src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
-	routine that created nasty alignment artefacts.
-
-	* src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
-
-	* src/smooth/ftgrays.c: De-activated experimental gamma support.
-	Apparently, `optimal' gamma tables depend on the monitor type,
-	resolution and general karma, so it's better to compute them outside
-	of the rasterizer itself.
-	(gray_convert_glyph): Use `volatile' keyword.
-
-2001-10-29  David Turner  <[email protected]>
-
-	Adding experimental `gamma' support.  This produces smoother glyphs
-	at small sizes for very little cost.
-
-	* src/smooth/ftgrays.c (grays_init_gamma): New function.
-	(gray_raster_new): Use it.
-
-	Various fixes to the auto-hinter.  They merely improve the output of
-	sans-serif fonts.  Note that there are still problems with serifed
-	fonts and composites (accented characters).
-
-	* src/autohint/ahglyph.c (ah_outline_load,
-	ah_outline_link_segments): Implement it.
-	Fix typos.
-	(ah_outline_save, ah_outline_compute_segments): Fix typos.
-	* src/autohint/ahhint.c (ah_align_serif_edge): New argument
-	`vertical'.  Implement improvement.
-	(ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
-	Fix typos.
-	(ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
-	typos.
-	(ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
-	* src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
-	* src/autohint/ahtypes.h: Ditto.
-	(AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
-	(making them global as `ah_debug_disable_horz' and
-	`ah_debug_disable_vert').
-	Fix typos.
-
-	* tests/gview.c: Updated the debugging glyph viewer to show the
-	hints generated by the `autohint' module.
-
-2001-10-27  David Turner  <[email protected]>
-
-	* src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
-	considerably lowered the performance of the abstract chunk cache.
-
-2001-10-26  David Turner  <[email protected]>
-
-	* include/freetype/ftcache.h, include/freetype/cache/*.h,
-	src/cache/*.c: Major re-design of the cache sub-system to provide
-	better performance as well as an `Acquire'/`Release' API.  Seems to
-	work well here, but probably needs a bit more testing.
-
-2001-10-26  Leonard Rosenthol  <[email protected]>
-
-	* builds/mac/README: Updated to reflect my taking over the project
-	and that is now being actively maintained.
-
-	* src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
-	<[email protected]> to support loading a face other than the
-	first from a FOND resource.
-	(FT_New_Face_From_FOND): Updated.
-
-2001-10-25  Leonard Rosenthol  <[email protected]>
-
-	* builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
-	OS for latest version (7) of CWPro and for recent changes to the FT
-	source tree.
-
-2001-10-25  David Turner  <[email protected]>
-
-	* include/freetype/config/ftoption.h: Updated comments to explain
-	precisely how to use project-specific macro definitions without
-	modifying this file manually.
-
-	(FT_CONFIG_FORCE_INT64): Define.
-
-	(FT_DEBUG_MEMORY): New macro.
-
-2001-10-24  Tom Kacvinsky  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
-
-2001-10-23  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
-	Improvements to the memory debugger to report more information in
-	case of errors.  Also, some allocations that occurred through REALLOC
-	couldn't be previously caught correctly.
-
-	* src/autohint/ahglyph.c (ah_outline_compute_segments,
-	ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
-	src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
-	liberal uses of memset() by the MEM_Set() macro.
-
-2001-10-23  David Turner  <[email protected]>
-
-	* src/raster/ftraster.c (Update): Removed to be inlined in ...
-	(Sort): Updated.
-
-2001-10-22  David Turner  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
-	builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
-	builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
-	src/base/ftdbgmem.c: Updated the memory debugger and
-	platform-specific implementations of `ftsystem' in order to be able
-	to debug memory allocations on Unix, VMS and Amiga too!
-
-	* src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
-	some bogus warnings.
-
-	* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
-	Modified the debugging memory manager to report the location (source
-	file name + line number) where leaked memory blocks are allocated in
-	the source file.
-
-	* src/base/ftdbgmem.c: New debugging memory manager.  You must
-	define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it.  It
-	will record every memory block allocated and report simple errors
-	like memory leaks and double deletes.
-
-	* src/base/Jamfile: Include ftdbgmem.
-	* src/base/rules.mk: Ditto.
-	* src/base/ftbase.c: Include ftdbgmem.c.
-
-	* include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
-	macro definition.
-
-	* src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
-	base component to use the debugging memory manager when the macro
-	FT_DEBUG_MEMORY is defined.
-
-2001-10-21  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
-	we are working with a CID keyed CFF font.  Otherwise, a variable
-	that was never allocated memory might freed.  This is a correction
-	to the previous patch for freeing subfonts.
-
-2001-10-21  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
-	avoid a memory leak.
-
-2001-10-21  David Turner  <[email protected]>
-
-	* src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
-	src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
-	(in multi-object compilation mode, mainly).
-
-2001-10-20  Tom Kacvinsky  <[email protected]>
-
-	* src/type1/t1load.c (parse_encoding): Add a test to make sure
-	that custom encodings (i.e., neither StandardEncoding nor
-	ExpertEncoding) are not loaded twice when the Type 1 font is
-	synthetic.
-
-	* src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
-	for when loading synthetic fonts to make sure that the font name
-	and subroutines are not loaded twice.  This is to remove a memory
-	leak that occurred because the original memory blocks for these
-	objects were not deallocated when the objects were parsed the
-	second time.
-
-2001-10-19  David Turner  <[email protected]>
-
-	* src/smooth/ftgrays.c, src/pshinter/pshglob.h,
-	src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
-	compiler warnings.
-
-	* src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
-	files to build the PostScript hinter with the `old' build system.
-
-2001-10-19  Jacob Jansen  <[email protected]>
-
-	* descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
-	files.
-
-2001-10-18  David Turner  <[email protected]>
-
-	* src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
-	`glnames.py' script used to generate the `pstables.h' header file.
-	The old one contained a serious bug that made FreeType return
-	incorrect glyph names for certain glyphs.
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
-	pixel size from character size to use rounding.  This is an
-	experiment to see whether this gives values similar to Windows for
-	scaled ascent/descent/etc.
-
-	* src/base/ftcalc.c (FT_Div64by32): Changed the implementation
-	slightly since the original code was mis-compiled on Mac machines
-	using the MPW C compiler.
-
-	* src/base/ftobjs.c (FT_Realloc): When a memory block was grown
-	through FT_Realloc(), the new bytes were not set to 0, which created
-	some strange bugs in the PostScript hinter.
-	(destroy_face): Don't deallocate unconditionally.
-
-	* src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
-	Adding support to new PostScript hinter.
-
-	* include/freetype/internal/psglobal.h,
-	include/freetype/internal/pshints.h,
-	include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
-	src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
-	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
-	src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
-	src/pshinter/pshglob.c, src/pshinter/pshinter.c,
-	src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
-	src/pshinter/pshrec.h: Adding new PostScript hinter module.
-
-	* include/freetype/internal/ftobjs.h,
-	include/freetype/internal/internal.h,
-	include/freetype/internal/psaux.h,
-	include/freetype/internal/t1types.h, src/psaux/psobjs.c,
-	src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
-	src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
-	src/type1/t1objs.h: Updates to use the new PostScript hinter.
-
-	* tests/Jamfile, tests/gview.c: Adding a new glyph hinting
-	viewer/debugger to the source tree.  Note that you will _not_ be
-	able to compile it since it depends on an unavailable graphics
-	library named `Nirvana' to render vector images.
-
-2001-10-17  David Turner  <[email protected]>
-
-
-	* Version 2.0.5 released.
-	=========================
-
-
-	* include/freetype/freetype.h, include/internal/ftobjs.h,
-	src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
-	'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
-	font.  Should work with all formats except pure CFF/CEF fonts (this
-	will be added soon).
-
-	* src/cid/cidriver (cid_get_postscript_name): New function.
-	(CID_Get_Interface): Handle `postscript_name' interface.
-
-	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
-	(SFNT_Get_Interface): Handle `postscript_name' interface.
-
-	* src/type1/t1driver.c (t1_get_ps_name): New function.
-	(Get_Interface): Handle `postscript_name' interface.
-
-	* README, docs/CHANGES: Updated for 2.0.5 release.
-
-2001-10-08  David Turner  <[email protected]>
-
-	Fixed a bug in `glnames.py' that prevented it from generating
-	correct glyph names tables.  This resulted in the unavailability of
-	certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
-	charmaps, even if these were present in the font (causing problems
-	for Polish users).
-
-	* src/tools/glnames.py (mac_standard_names): Fixed.
-	(t1_standard_strings): Some fixes and renamed to ...
-	(sid_standard_names): This.
-	(t1_expert_encoding): Fixed.
-	(the_adobe_glyph_list): Renamed to ...
-	(adobe_glyph_names): This.
-	(the_adobe_glyphs): Renamed to ...
-	(adobe_glyph_values): This.
-	(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
-	Updated.
-	* src/psnames/pstables.h: Regenerated.
-	* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
-	Fix return value.
-	Use `sid_standard_table' and `ps_names_to_unicode' instead of
-	`t1_standard_glyphs' and `names_to_unicode'.
-	(PS_Macintosh_Name): Use `ps_glyph_names' instead of
-	`standard_glyph_names'.
-	(PS_Standard_Strings): Use `sid_standard_names' instead of
-	`t1_standard_glyphs'.
-
-	* doc/BUGS, doc/TODO: New documents.
-
-2001-10-07  Richard Barber  <[email protected]>
-
-	* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
-	correct LRU behaviour.
-
-2001-10-07  David Turner  <[email protected]>
-
-	setjmp() and longjmp() are now used for rollback (i.e. when memory
-	pool overflow occurs).
-
-	Function names are now all uniformly prefixed with `gray_'.
-
-	* src/smooth/ftgrays.c: Include <setjmp.h>.
-	(ErrRaster_MemoryOverflow): New macro.
-	(TArea): New type to store area values in each cell (using `int' was
-	too small on 16-bit systems).  <limits.h> is included to properly
-	get the needed data type.
-	(TCell, TRaster): Use it.
-	(TRaster): New element `jump_buffer'.
-	(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
-	`outline' from it.
-	(gray_record_cell): Use longjmp().
-	(gray_set_cell): Use gray_record_cell() for error handling.
-	(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
-	(gray_convert_glyph_inner): New function, using setjmp().
-	(gray_convert_glyph): Use it.
-
-2001-10-07  David Turner  <[email protected]>
-
-	Provide a public API to manage multiple size objects for a given
-	FT_Face in the new header file `ftsizes.h'.
-
-	* include/freetype/ftsizes.h: New header file,
-	* include/freetype/internal/ftobjs.h: Use it.
-	Remove declarations of FT_New_Size and FT_Done_Size (moved to
-	ftsizes.h).
-	* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
-	* src/base/ftobjs.c (FT_Activate_Size): New function.
-	* src/cache/ftcmanag.c: Include ftsizes.h.
-	(ftc_manager_init_size, ftc_manager_flush_size): Use
-	FT_Activate_Size.
-
-2001-09-20  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/*: Added port to Amiga with the SAS/C compiler.
-
-2001-09-15  Detlef Würkner  <[email protected]>
-
-	* src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
-
-2001-09-10  Yao Zhang  <[email protected]>
-
-	* src/sfnt/ttcmap.c (code_to_index2): Handle code values with
-	hi-byte == 0 correctly.
-
-2001-09-10  Werner Lemberg  <[email protected]>
-
-	* builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
-
-2001-08-30  Martin Muskens  <[email protected]>
-
-	* src/type1/t1load.c (parse_font_matrix): A new way to compute the
-	units per EM with greater accuracy (important for embedded T1 fonts
-	in PDF documents that were automatically generated from TrueType
-	ones).
-
-	* src/type1/t1load.c (is_alpha): Now supports `+' in font names;
-	this is used in embedded fonts.
-
-	* src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
-	generated a dangling pointer reference.
-
-2001-08-30  Anthony Feik  <[email protected]>
-
-	* src/type1/t1afm.c (T1_Read_AFM): Now correctly sets the flag
-	FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
-
-2001-08-25  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
-	`cmap_rec_fields'.
-
-	* include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
-	Undefine FT_ERR_BASE before defining again.
-
-2001-08-22  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
-
-2001-08-21  Werner Lemberg  <[email protected]>
-
-	* builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
-
-2001-08-21  David Turner  <[email protected]>
-
-	* include/freetype/config/ftoption.h: Changed the default setting
-	for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
-	source compatibility in a few cases.  Updated the comment to explain
-	that too.
-
-2001-08-17  Martin Muskens  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
-
-2001-08-12  Werner Lemberg  <[email protected]>
-
-	Updating to OpenType 1.3.
-
-	* include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
-	TT_CMap6): Adding field `language'.
-	(TT_CMapTable): Removing field `language'.
-	Type of `length' field changed to FT_ULong.
-	Adding fields for cmaps format 8, 10, and 12.
-	(TT_CMapGroup): New auxiliary structure.
-	(TT_CMap8_12, TT_CMap10): New structures.
-	* include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
-	Removed last element of `Reserved' array.
-	* include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
-	TT_NAME_ID_CID_FINDFONT_NAME): New macros.
-
-	* src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
-	field to the new structures.
-	Fixed freeing of arrays in case of unsuccessful loads.
-	Added support for loading format 8, 10, and 12 cmaps.
-	(TT_CharMap_Free): Added support for freeing format 8, 10, and 12
-	cmaps.
-	(code_to_index4): Small improvement.
-	(code_to_index6): Ditto.
-	(code_to_index8_12, code_to_index10): New functions.
-	* src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
-	structure.
-	(TT_Load_CMap): Ditto.
-
-	* src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
-	Unicode).
-
-2001-08-11  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
-
-2001-08-09  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
-	cff_get_glyph_name for consistency.
-
-	(cff_get_glyph_index): Minor documentation change.
-
-	* src/type1/t1driver.c (t1_get_name_index): New function used in
-	Get_Interface as the function returned when the `name_index'
-	function is requested.
-
-	(get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
-
-2001-08-08  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
-	cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
-	and cff_expert_encoding arrays to cffload.h.
-
-	* src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
-	cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
-	and cff_expert_encoding arrays.
-
-	* src/cff/cffdrivr.c (cff_get_name_index): New function, returned
-	when `cff_get_interface' is called with a request for the
-	`name_index' function.
-
-	(cff_get_interface): Modified so that it returns the function
-	`cff_get_name_index' when the `name_index' function is requested.
-
-	* src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
-	return a glyph index for a given glyph name only if the driver
-	supports glyph names.
-
-	* include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
-	New function pointer type definition used in the function
-	FT_Get_Name_Index.
-
-	* include/freetype/freetype.h (FT_Get_Name_Index): Added
-	documentation and prototype.
-
-2001-07-26  Werner Lemberg  <[email protected]>
-
-	* builds/cygwin/*: Removed.  Use the unix stuff instead.
-
-2001-07-26  Jouk Jansen  <[email protected]>
-
-	* builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
-	2001-06-27.
-
-2001-07-17  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
-	`cursor' and `capacity'.
-	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for second
-	parameter.
-	(PS_Table_Add): Use FT_Offset for `new_size'.
-
-	Add support for version 0.5 maxp tables.
-
-	* src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
-	(TT_Load_OS2): Initialize some values.
-
-2001-07-13  Werner Lemberg  <[email protected]>
-
-	* src/base/ftsynth.c: Include ftcalc.h unconditionally.
-
-2001-07-07  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
-	Removed pedantic compiler warnings when the bytecode interpreter is
-	compiled in.
-
-2001-07-03  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
-	unused variable `edges'.
-	(ah_hinter_load): Remove unused variables `old_width' and
-	`new_width'.
-	* src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
-	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
-
-2001-06-28  David Turner  <[email protected]>
-
-	* include/internal/ftstream.h: Modified the definitions
-	of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
-
-2001-06-26  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
-	instead of FT_Int as type for `length' parameter.
-	* include/freetype/internal/psaux.h (PSAux_Interface): Updated.
-
-2001-06-27  Wolfgang Domröse  <[email protected]>
-
-	* src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
-	instead of FT_Int as type for `length' parameter.
-
-
-	* Version 2.0.4 released.
-	=========================
-
-
-2001-06-27  David Turner  <[email protected]>
-
-	* builds/unix/ftconfig.in: Changed the definition of the
-	FT_CALLBACK_DEF macro.
-
-	* include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
-	use of the FT_CALLBACK_DEF macro in order to support 16-bit
-	compilers.
-
-	* builds/unix/ftconfig.in: Changed the definition of the
-	FT_CALLBACK_DEF macro.
-
-	* src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
-	that the kerning table is correctly sorted (some problem fonts don't
-	have a correct kern table).
-
-2001-06-26  Wolfgang Domröse  <[email protected]>
-
-	* include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
-
-2001-06-24  David Turner  <[email protected]>
-
-	* src/base/ftcalc.c (ft_div64by32): Fixed the source to work
-	correctly on 16-bit systems.
-
-2001-06-23  Anthony Fok  <[email protected]>
-
-	* debian/*: Added Debian package build directory for 2.0.4.
-
-2001-06-22  David Turner  <[email protected]>
-
-	* docs/PATENTS: Added patents disclaimer.  This one was missing!
-
-	* docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
-
-2001-06-20  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftconfig.h: Add two more `L's to
-	constants.
-	Add missing semicolons.
-
-	* builds/toplevel.mk: Do similar change as for
-	builds/unix/detect.mk.
-
-	* include/freetype/freetype.h (FT_ENC_TAG): New version to make it
-	easier to redefine.
-	* include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
-
-	* src/pcf/pcfread.c (pcf_get_encodings): Add cast.
-
-2001-06-19  David Turner  <[email protected]>
-
-	* builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
-	Updated the Visual C++ project (for the 2.0.4 release).
-
-	* builds/unix/detect.mk: Added rule for AIX detection (which uses
-	/usr/sbin/init instead of /sbin/init).
-
-	* include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
-	error macros to simplify handling of new error scheme.
-
-2001-06-19  Werner Lemberg  <[email protected]>
-
-	* include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
-
-2001-06-19  David Turner  <[email protected]>
-
-	Removing _lots_ of compiler warnings when the most pedantic warning
-	levels of Visual C++ and Borland C++ are used.  Too many files to be
-	listed here, but FT2 now compiles without warnings with VC++ and the
-	`/W4' warning level (lint-style).
-
-	* include/freetype/freetype.h (FT_New_Memory_Face): Updated
-	documentation.
-	* include/freetype/fttypes.h (FT_BOOL): New macro.
-	* include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
-	to suppress warning.
-	* include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
-	FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
-	(NEXT_*): Use them.
-	* src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_New_Memory_Face): Add `const' to function declaration.
-
-2001-06-18  Werner Lemberg  <[email protected]>
-
-	Minor cleanups to remove compiler warnings.
-
-	* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
-	`L' for constant.
-	* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
-	* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
-	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
-	* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
-	* src/base/ftobjs.c (FT_Done_Size): Fix return value.
-	(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
-	unused `memory' variable.
-	* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
-	* src/autohint/ahhint.c (ah_hint_edges_3,
-	ah_hinter_align_edge_points): Remove unused `before' and `after'
-	variables.
-	(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
-	(ah_hinter_load): Remove unused `new_advance', `start_contour',
-	and `metrics' variables.
-	* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
-	compiler warning.
-	* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
-	variable.
-	* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
-	`outline' variable.
-	(cff_compute_bias): Use `U' for constant.
-	* src/cid/cidload.c (cid_decrypt): Ditto.
-	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
-	* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
-	variable.
-	* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
-	variable.
-	* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
-	`num_contours' and `ins_offset' variables.
-	(compute_glyph_metrics): Remove unused `Top' and `x_scale'
-	variables.
-	(TT_Load_Glyph): Remove unused `memory' variable.
-	* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
-
-2001-06-18  Werner Lemberg  <[email protected]>
-
-	Make the new error scheme source compatible with older FT versions
-	by introducing another layer.
-
-	* include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
-	macros.
-	(FT_NOERRORDEF): Removed.
-	* include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
-
-2001-06-16  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_ENC_TAG): New macro.
-	(FT_Encoding_): Use it.
-	* include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
-	conditionally.
-
-2001-06-14  David Turner  <[email protected]>
-
-	Modified the TrueType interpreter to let it use the new
-	trigonometric functions provided in `fttrigon.h'.  This gets rid of
-	some old 64-bit computation routines, as well as many warnings when
-	compiling the library with the `long long' 64-bit integer type.
-
-	* include/freetype/config/ftoption.h: Undefine
-	FT_CONFIG_OPTION_OLD_CALCS.
-	* include/freetype/internal/ftcalc.h: Rearrange use of
-	FT_CONFIG_OPTION_OLD_CALCS.
-	* src/base/ftcalc.c: Add declaration of FT_Int64 if
-	FT_CONFIG_OPTION_OLD_CALCS isn't defined.
-	* src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
-	(Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
-	defined.
-	(Current_Ratio, Normalize): Simplify code.
-
-2001-06-11  Mike Owens  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
-	compiler warnings.
-
-2001-06-08  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.in: Renamed to ...
-	* builds/unix/configure.ac: This to make sure that autoconf 2.50 is
-	needed.
-	Run `autoupdate' on it.
-	Increase `version_info' to 7:0:1.
-	* builds/unix/configure: Regenerated.
-
-2001-06-08  David Turner  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
-	corrupted transformed glyphs that were auto-hinted (the transform
-	was applied twice).
-
-	Fixed a bug that returned an invalid linear width for composite
-	TrueType glyphs.
-
-	* include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
-	and `linear_def'.
-	* src/truetype/ttgload.c (load_truetype_glyph,
-	compute_glyph_metrics): Use it.
-
-	* include/fttypes.h (FT_ERROR_BASE): New macro.
-	* src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
-	to make source code work with the new error scheme implemented by
-	Werner.
-	* src/base/ftoutln.c (FT_Outline_Render): Ditto.
-
-2001-06-07  Werner Lemberg  <[email protected]>
-
-	Updating to libtool 1.4.0 and autoconf 2.50.
-
-	* builds/unix/ltconfig: Removed.
-	* builds/unix/ltmain.sh, builds/unix/configure.in,
-	builds/unix/aclocal.m4: Updated.
-	* builds/unix/configure: Regenerated.
-
-2001-06-06  Werner Lemberg  <[email protected]>
-
-	Complete redesign of error codes.  Please check ftmoderr.h for more
-	details.
-
-	* include/freetype/internal/cfferrs.h,
-	include/freetype/internal/tterrors.h,
-	include/freetype/internal/t1errors.h: Removed.  Replaced with files
-	local to the module.  All extra error codes have been moved to
-	`fterrors.h'.
-
-	* src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
-
-	* src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
-	src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
-	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
-	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
-	src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
-	error names for the module it belongs to.
-
-	* include/freetype/ftmoderr.h: New file, defining the module error
-	offsets.  Its structure is similar to `fterrors.h'.
-
-	* include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
-	(FT_ERRORDEF): Redefined to use module error offsets.
-	All internal error codes are now public; unused error codes have
-	been removed, some are new.
-
-	* include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
-	macro.
-	* include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
-
-	All other source files have been updated to use the new error codes;
-	some already existing (internal) error codes local to a module have
-	been renamed to give them the same name as in the base module.
-
-	All make files have been updated to include the local error files.
-
-2001-06-06  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidtokens.h: Replaced with...
-	* src/cid/cidtoken.h: This file for 8+3 consistency.
-
-	* src/raster/ftraster.c: Use macros for header file names.
-
-	* src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
-	Fix length of `Reserved' array.  Note that this isn't the real fix
-	since recent OpenType specs have introduced a `CaretOffset' field
-	instead of the first reserved byte.
-
-2001-05-29  Werner Lemberg  <[email protected]>
-
-	* INSTALL: Minor fixes.
-
-
-	* Version 2.0.3 released.
-	=========================
-
-
-2001-05-29  David Turner  <[email protected]>
-
-	* INSTALL, docs/CHANGES: Updated.
-
-2001-05-25  David Turner  <[email protected]>
-
-	Moved several documents from the top-level to the `docs' directory.
-
-	* src/base/ftcalc.c (FT_DivFix): Small fix to return value.
-
-2001-05-16  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
-	composite loader.  Spotted by Keith Packard.
-	* src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
-	FT_GlyphLoader_Check_Subglyphs): Ditto.
-
-2001-05-14  David Turner  <[email protected]>
-
-	Fixed the incorrect blue zone computations, and improved the
-	composite support.  Note that these changes result in improved
-	rendering, while sometimes introducing their own artefacts.  This is
-	probably the last big change to the autohinter before the
-	introduction of a complete replacement.
-
-	* src/autohint/ahglobal.c (sort_values): Fix loop.
-	* src/autohint/ahglyph.c: Removed some obsolete code.
-	(ah_outline_compute_edges): Modify code to set the ah_edge_round
-	flag.
-	(ah_outline_compute_blue_edges): Add code to compute active blue
-	zones.
-	* src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
-	value.
-
-	* src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
-	created incorrect scale factors!
-	(FT_RoundFix, FT_CeilFix, FT_FloorFix): Minor improvements.
-
-2001-05-12  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
-	* include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
-	__FTTRIGON_H__.
-	Include FT_FREETYPE_H.
-	Beautified; added copyright.
-	* src/base/fttrigon.c: Beautified; added copyright.
-
-2001-05-11  David Turner  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
-	(parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
-	the incorrect EM size computation.
-
-	* include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
-	adding trigonometric functions to the core API (using Cordic
-	algorithms).
-	* src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
-
-	* builds/newline: New file.
-	* builds/top_level.mk, builds/detect.mk: Use it.  This fixes
-	problems with Make on Windows 2000, as well as problems when `make
-	distclean' is invoked on a non-Unix platform when there is no
-	`config.mk' in the current directory.
-
-	* builds/freetype.mk: Fixed a problem with object deletions under
-	Dos/Windows/OS/2 systems.
-
-	Added new directory to hold tools and test programs.
-
-	* docs/docmaker.py, docs/glnames.py: Moved to...
-	* src/tools/docmaker.py, src/tools/glnames.py: This place.
-	* src/tools/cordic.py: New file used to compute arctangent table
-	needed by fttrigon.c.
-	* src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
-
-	* src/tools/docmaker.py: Improved the script to add the current date
-	at the footer of each web page (useful to distinguish between
-	versions).
-
-	* Jamfile: Fixed incorrect HDRMACRO argument.
-
-	* TODO: Removed the cubic arc bbox computation note, since it has been
-	fixed recently.
-	* src/base/ftbbox.c (test_cubic_zero): Renamed to...
-	(test_cubic_extrema): This function.  Use `UL' for unsigned long
-	constants.
-
-	* include/freetype/t1tables.h, include/freetype/config/ftoption.h:
-	Formatting.
-
-2001-05-10  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
-	which happened when trying to open 0-size font files!
-
-2001-05-09  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftcalc.h: Move declaration of
-	FT_SqrtFixed() out of `#ifdef FT_LONG64'.
-
-2001-05-08  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
-	computation.
-
-2001-05-08  David Turner  <[email protected]>
-
-	* docs/docmaker.py: Updated the DocMaker script in order to add
-	command line options (--output,--prefix,--title), fix the erroneous
-	line numbers reported during errors and warnings, and other
-	formatting issues.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
-	fixes related to rounding in 64-bits routines and
-	pseudo-`optimizations'.
-
-2001-04-27  David Turner  <[email protected]>
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
-	normalization algorithm (invalid final bit position, and invalid
-	shift computation).
-
-2001-04-26  Werner Lemberg  <[email protected]>
-
-	* builds/unix/config.guess, builds/unix/config.sub: Updated to
-	latest versions from gnu.org.
-
-	* builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
-
-	* include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
-	unconditionally.
-	* src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
-	Fix compiler warnings.
-	* src/base/ftcalc.c: Fix (potential) compiler warnings.
-
-2001-04-26  David Turner  <[email protected]>
-
-	* src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
-	fixed-point square root computation.  It is now used even with
-	64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
-
-	* src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
-
-2001-04-25  David Turner  <[email protected]>
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
-	direct computations with 16.16 values instead of sub-divisions.  It
-	is now slower, but proves a point :-)
-
-	* src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
-	Fixed the Bézier stack depths.
-
-	* src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
-
-	* builds/beos: Added BeOS-specific files to the old build system
-	(no changes were necessary to support BeOS in the Jamfile though).
-
-2001-04-20  David Turner  <[email protected]>
-
-	* ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
-	types on platforms where Autoconf is not available).  Also removed
-	FTCALC_USE_LONG_LONG and replaced it with
-	FT_CONFIG_OPTION_FORCE_INT64.
-
-	* builds/win32/freetype.dsp: Updated the Visual C++ project file.
-	Doesn't create a DLL yet.
-
-	* cffgload.c: Removed a compilation warning.
-
-2001-04-10  Tom Kacvinsky  <[email protected]>
-
-	* t1load.c (parse_charstrings): Changed code for placing .notdef
-	glyph into slot 0 so that we no longer have a memory access
-	violation.
-
-	* t1load.h: In structure T1_Loader, added swap_table (of type
-	PS_Table) to facilitate placing the .notdef glyph into slot 0.
-
-2001-04-10  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
-
-2001-04-09  Laurence Withers  <[email protected]>
-
-	* builds/dos/detect.mk: Add support for bash.
-
-2001-04-05  Werner Lemberg  <[email protected]>
-
-	* builds/os2/*.mk: These files have been forgotten to update to
-	the structure of similar makefiles.
-	* builds/dos/*.mk: Ditto.
-	* builds/ansi/*.mk: Ditto.
-
-	* builds/win32/win32-def.mk (BUILD): Fix typo.
-
-	* builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
-	This is already used in the link_*.mk files.
-
-2001-04-03  Werner Lemberg  <[email protected]>
-
-	* src/*/Jamfile: Slight changes to make files more cryptic.
-
-2001-04-03  Werner Lemberg  <[email protected]>
-
-	* Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
-	to give files identical structure.
-
-2001-04-02  Werner Lemberg  <[email protected]>
-
-	* CHANGES: Reformatted, minor fixes.
-	* TODO: Updated.
-	* README: Formatting.
-	* include/freetype/freetype.h: Formatting.
-
-	* Jamfile: Fix typo.
-
-	* src/cff/cffparse.c: Move error code #defines to...
-	* include/freetype/internal/cfferrs.h: This file.
-	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
-	`FT_Err_*' with `CFF_Err_*'.
-	* src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
-	* src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
-	* src/sfnt/sfobjs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
-	`TT_Err_*'.
-	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
-	* src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
-	src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
-
-	* include/freetype/internal/cfferrs.h: Add
-	`CFF_Err_Unknown_File_Format'.
-	* include/freetype/internal/t1errors.h: Add
-	`T1_Err_Unknown_File_Format'.
-	* include/freetype/internal/tterrors.h: Add
-	`TT_Err_Unknown_File_Format'.
-
-	* src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
-	references.
-	* src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
-
-	* src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
-	FT_LOCAL_DEF.
-	* src/cid/cidobjs.c (CID_Done_Driver): Ditto.
-	* src/truetype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
-	Ditto.
-	* src/type1/t1objs.c (T1_Done_Driver): Ditto.
-	* src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
-	* src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
-
-2001-04-02  Tom Kacvinsky  <[email protected]>
-
-	* src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
-	dereference.  Submitted by Herbert Duerr <[email protected]>.
-
-2001-03-26  Tom Kacvinsky  <[email protected]>
-
-	* include/freetype/config/ftconfig.h: Changed hexadecimal
-	constants to use suffix U to avoid problems with HP-UX's c89
-	compiler.  Submitted by G.W. Lucas <[email protected]>.
-
-2001-03-24  David Turner  <[email protected]>
-
-	* Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
-	the source tree.  See www.freetype.org/jam/index.html for details.
-
-
-	* Version 2.0.2 released.
-	=========================
-
-
-2001-03-20  Werner Lemberg  <[email protected]>
-
-	* builds/win32/detect.mk: Fix .PHONY target for Intel compiler.
-
-2001-03-20  David Turner  <[email protected]>
-
-	* include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
-	Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
-	FT_SFNT_NAMES_H.
-
-	* docs/docmaker.py: Added generation of INDEX link in table of
-	contents.
-
-	* INSTALL, docs/BUILD: Updated documentation to indicate that the
-	compilation process has changed slightly (no more `src' required in
-	the include path).
-
-	* builds/*/*-def.mk: Changed the objects directory from `obj' to
-	`objs'.
-
-	* include/freetype/config/ftheader.h: Removed obsolete macros like
-	FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
-	were previously defined in <freetype/ftcache.h>.  Added comments to
-	be included in a new API Reference section.
-
-	* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
-	component needs to add its own directory to the include path at
-	compile time.  Modified all `rules.mk' and `descrip.mms'
-	accordingly.
-
-2001-03-20  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.in: Add $ft_version.
-	* builds/unix/freetype-config.in: Use it.
-	* builds/unix/configure: Updated.
-
-2001-03-19  Tom Kacvinsky  <[email protected]>
-
-	* src/type1/t1load.c (parse_font_matrix): Assign the units per em
-	value an unsigned short value, first by shifting right 16 bits,
-	then by casting the results to FT_UShort.
-
-	* src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
-	value an unsigned short value, first by shifting right 16 bits,
-	then by casting the results to FT_UShort.
-
-2001-03-17  David Turner  <[email protected]>
-
-	* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
-	src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
-	compiler warnings in pedantic modes.
-
-	* include/config/ft2build.h, include/config/ftheader.h: The file
-	`ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
-	top-level <ft2build.h>.
-
-	* include/config/ftheader.h: Added new section describing the #include
-	macros.
-
-2001-03-17  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
-	values for the bounding box numbers.
-
-	* src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
-	set `root->ascender' (`root->descender') to the integer part of
-	`root->bbox.yMax' (`root->bbox.yMin', respectively).
-
-2001-03-16  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffdrivr.c (get_cff_glyph_name):  New function.  Used in
-	cff_get_interface to facilitate getting a glyph name for glyph index
-	via FT_Get_Glyph_Name().
-
-	(cff_get_interface): Added support for getting a glyph name via the
-	`glyph_name' module interface.  Uses the new function
-	get_cff_glyph_name().
-	Submitted by Sander van der Wal <[email protected]>.
-
-	* src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
-	FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
-	not defined.  This is to add support for getting a glyph name from a
-	glyph index via FT_Get_Glyph_Name().
-	Submitted by Sander van der Wal <[email protected]>.
-
-	* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
-	deprecated operator `dotsection'.
-	Submitted by Sander van der Wal <[email protected]>.
-
-2001-03-12  Werner Lemberg  <[email protected]>
-
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
-	messages.
-
-	* INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
-
-2001-03-12  Tom Kacvinsky  <[email protected]>
-
-	* include/freetype/internal/psaux.h:  Changed the lenIV member of
-	the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
-
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings):  Adjust
-	for lenIV seed bytes at the start of a decrypted subroutine.
-
-	* src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
-	if lenIV >= 0.
-
-	* src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
-	if lenIV >= 0.
-
-2001-03-11  Werner Lemberg  <[email protected]>
-
-	* TODO: Updated.
-
-	* src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
-	avoid compiler warnings.
-
-2001-03-10  Tom Kacvinsky  <[email protected]>
-
-	* TODO: New file.
-
-	* include/freetype/freetype.h: Added prototypes and notes for
-	three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
-	* src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
-	implementation code.
-
-	* src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
-	and if that is not available, default to 1000 units per EM.  Changed
-	assignment code for ascender and descender values.
-	* src/cid/cidload.c (parse_font_matrix): Added units_per_EM
-	processing.
-	(parse_font_bbox): Changed to use FT_Fixed number handling.
-
-	* src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
-	for ascender, descender, and max_advance_width.
-	* src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
-	number handling.
-
-2001-03-10  Henrik Grubbström  <[email protected]>
-
-	* src/*/*.c: Added many casts to make code more 64bit-safe.
-
-2001-03-07  Werner Lemberg  <[email protected]>
-
-	* INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
-
-2001-03-07  Tom Kacvinsky  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
-	until parse_font_bbox is changed before we use logical shift rights
-	in the assignments of `root->ascender', `root->descender', and
-	`root->max_advance_width'.
-
-	(T1_Done_Face): Free `char_name' table to avoid a memory leak.
-	Submitted by Sander van der Wal <[email protected]>.
-
-2001-03-05  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
-	the Type 2 glyph charstring (used by conversion programs).
-	Submitted by Ha Shao <[email protected]>.
-
-2001-03-04  Antoine Leca  <[email protected]>
-
-	* include/freetype/ttnameid.h: Correct a stupid typo which prevented
-	correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
-
-2001-03-04  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahtypes.h (AH_Hinter): Add elements
-	`disable_horz_edges', `disable_vert_edges'.
-	* src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
-	them (and remove static variables with the same names).
-	* src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
-	* docs/glnames.py: Updated to latest pstables.h changes.
-
-	* builds/unix/detect.mk: Add test for Hurd.
-	* builds/hurd/detect.mk: Removed.
-
-2001-03-04  Sander van der Wal  <[email protected]>
-
-	* src/psnames/pstables.h: Add more `const'.
-	* src/pcf/pcfutil.c: Ditto.
-
-2001-03-04  Werner Lemberg  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
-	(FT_Glyph_Done -> FT_Done_Glyph).
-
-2001-03-01  Antoine Leca  <[email protected]>
-
-	* include/freetype/ttnameid.h: Added some new Microsoft language
-	codes and LCIDs as found in Office Xp.
-
-2001-02-28  David Turner  <[email protected]>
-
-	* builds/hurd/detect.mk: New file.  Added support to detect the GNU
-	Hurd operating system as Unix-like.  Fix submitted by Anthony Fok
-	<[email protected]>.
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
-	the Type 1 glyph charstring (used by conversion programs).
-	Submitted by Ha Shao <[email protected]>.
-
-2001-02-22  David Turner  <[email protected]>
-
-	* src/base/ftgrays.c (grays_sweep): The function didn't exit
-	immediately if `num_cells' was 0 as it should.  Thanks to Boris for
-	finding this out.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
-	bitmap rendering fails (thanks to Graham Asher).
-
-2001-02-13  Werner Lemberg  <[email protected]>
-
-	* docs/docmaker.py (DocSection::add_element): Use
-	`self.print_error()'.
-
-	* builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
-
-2001-02-13  David Turner  <[email protected]>
-
-	* docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
-	script to support chapters and section block ordering.  Updated the
-	public header files accordingly.
-
-	* src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
-	were not correctly copied.
-
-2001-02-08  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_font_matrix): Removed an
-	unnecessary fprintf( stderr, ... ).
-
-2001-02-07  Tom Kacvinsky  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Init_Face): Added code to get the
-	units_per_EM from the value assigned in parse_font_matrix, if
-	available.  Default to 1000 if not available.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
-	the units_per_EM from the FontMatrix.
-
-	(cff_parse_fixed_thousand): New function.  Gets a real number from
-	the CFF font, but multiplies by 1000 (this is to avoid rounding
-	errors when placing this real number into a 16.16 fixed number).
-
-	(cff_parse_real): Added code so that the integer part is moved
-	into the high sixteen bits of the 16.16 fixed number.
-
-	* src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
-	per EM from the CFF dictionary, if available.
-
-	* include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
-	added a units_per_em member to facilitate passing of units_per_em
-	from function cff_parse_font_matrix.
-
-	* src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
-	character.  This is so that font names with `-' are fully parsed,
-	etc...
-
-2001-02-02  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (shift_elements): Remove if clause (which is
-	obsolete now).
-
-	(reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
-	+ MEM_Copy() to avoid a memory bug.
-
-2001-02-01  David Turner  <[email protected]>
-
-	* docs/docmaker.py: Improved the index sorting routine to place
-	capital letters before small ones.  Added the `<order>' marker to
-	section blocks in order to give the order of blocks.
-
-2001-01-30  Antoine Leca  <[email protected]>
-
-	* include/freetype/ttnameid.h: Latest updates to Microsoft language
-	ID codes.
-
-2001-01-24  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/t1load.c (parse_font_matrix): Added heuristic to get
-	units_per_EM from the font matrix.
-
-	(parse_dict): Deleted test to see whether the FontInfo keyword has
-	been seen.  Deletion of this test allows fonts without FontInfo
-	dictionaries to be parsed by the Type 1 driver.
-
-	(T1_Open_Face): Deleted empty subroutines array test to make sure
-	fonts with no subroutines still are parsed.
-
-2001-01-17  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcfread.c (pcf_get_properties, pcf_get_metrics,
-	pcf_get_bitmaps): Fix compiler errors.
-
-2001-01-11  David Turner  <[email protected]>
-
-	* src/pcf/pcfread.c: Removed some compilation warnings related
-	to comparison of signed vs. unsigned integers.
-
-	* include/freetype/internal/ftdebug.h: Changed the debug trace
-	constants from trace_t2xxxx to trace_cffxxxx to be able to compile
-	the CFF driver in debug mode.
-
-2001-01-11  Matthew Crosby  <[email protected]>
-
-	* builds/unix/freetype-config.in: Fix problems with separate
-	--prefix and --exec-prefix.
-
-2001-01-11  David Turner  <[email protected]>
-
-	* docs/docmaker.py: Added cross-references generation as well as
-	more robust handling of pathname wildcard matching.
-
-2001-01-10  Werner Lemberg  <[email protected]>
-
-	* docs/docmaker.py: Minor improvements to reduce unwanted spaces
-	and empty lines in output.
-
-2001-01-09  David Turner  <[email protected]>
-
-	* docs/docmaker.py: Improved script to generate table of contents
-	and index pages.  It also supports wildcards on non Unix systems.
-
-	* include/freetype/*.h, include/freetype/cache/*.h: Updated comments
-	to include section definitions/delimitations for the API Reference
-	generator.
-
-	* include/freetype/freetype.h: Moved declaration of
-	`FT_Generic_Finalizer' and the `FT_Generic' structure to...
-	* include/freetype/fttypes.h: here.
-
-2001-01-04  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ttnameid.h: Updated Unicode code range comments.
-
-2001-01-03  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
-
-	* include/freetype/internal/internal.h: Changed to use cfftypes.h
-	(cfferrs.h) instead of t2types.h (t2errors.h, respectively).
-
-	* include/freetype/internal/cfftypes.h: Merged in changes from
-	t2types.h and made this the canonical `types' header for the CFF
-	driver.
-
-	* include/freetype/internal/t2types.h: This file was merged with
-	cfftypes.h and is no longer necessary.
-
-	* include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
-
-	* src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
-	src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
-	src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
-	cffgload.{c,h} instead of t2gload.{c,h}.  All occurrences of t2_
-	(T2_) were replaced with cff_ (CFF_, respectively).
-
-	* src/cff/t2gload.h: Renamed cffgload.h.
-
-	* src/cff/t2gload.c: Renamed cffgload.c
-
-2000-01-02  Jouk Jansen  <[email protected]>
-
-	* builds/vms: Support files for VMS architecture added.
-	* descrip.mms, src/*/descrip.mms: VMS makefiles added.
-	* README.VMS: New file.
-
-2000-01-01  Werner Lemberg  <[email protected]>
-
-	* LICENSE.TXT: Added info about PCF driver license.
-
-2001-01-01  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcf/*: New driver module for PCF font format (used in
-	X Window System).
-	* include/freetype/internal/ftdebug.h (FT_Trace): Added values for
-	PCF driver.
-	* include/freetype/internal/pcftypes.h: New file.
-	* include/freetype/config/ftmodule.h: Added PCF driver module.
-
-2001-01-01  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
-
-2000-12-31  Werner Lemberg  <[email protected]>
-
-	* builds/modules.mk (clean_module_list): Fixed deletion of module
-	file in case `make make_module_list' is called before `make setup'.
-
-2000-12-30  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
-	(CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
-	definition.
-
-2000-12-30  Tom Kacvinsky  <[email protected]>
-
-	* include/freetype/internal/t2types.h,
-	include/freetype/internal/cfftypes.h: Changed the structures for
-	CFF_Charset and CFF_Encoding for the new implementations of the
-	charset and encoding parsers in the CFF driver.
-
-	* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
-	t2_operator_seac): Added these functions for use in implementing the
-	seac emulation provided by the Type 2 endchar operator.
-	(T2_Parse_CharStrings): Added seac emulation for the endchar
-	operator.
-
-	* src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
-	CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
-	charset/encoding tables, and free the memory used by them when the
-	CFF driver is finished with them.  Added tables
-
-	    cff_isoadobe_charset
-	    cff_expert_charset
-	    cff_expertsubset_charset
-	    cff_standard_encoding
-	    cff_expert_encoding
-
-	so that the encoding/charset parser can handle predefined encodings and
-	charsets.
-
-2000-12-24  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
-	transform is applied.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
-	the font matrix numbers are scaled by 1/(matrix->yy).  Also, the
-	offset vector now contains integer values instead of 16.16 fixed
-	numbers.
-
-2000-12-22  Tom Kacvinsky  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph):
-	Removed unnecessary comments and commented-out code.
-
-2000-12-21  David Turner  <[email protected]>
-
-	* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
-	we'll work on supporting CID AFM files later I guess :-)
-
-2000-12-21  Tom Kacvinsky  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
-	Changed so that fonts with a non-standard FontMatrix render
-	correctly.  Previously, the first glyph rendered from such a
-	font did not have the transformation matrix applied.
-
-2000-12-17  Werner Lemberg  <[email protected]>
-
-	* *.mk: Added lots of `.PHONY' targets.
-
-2000-12-17  Karsten Fleischer  <[email protected]>
-
-	* *.mk: Implemented `platform' target to disable auto-detection.
-
-2000-12-14  Werner Lemberg  <[email protected]>
-
-	* docs/design/modules.html: Removed.  Covered by design-*.html.
-
-	* INSTALL: Added info about makepp.
-
-2000-12-14  David Turner  <[email protected]>
-
-	Added support for clipped direct rendering in the smooth renderer.
-	This should not break binary compatibility of existing applications.
-
-	* include/freetype/fttypes.h, include/freetype/ftimage.h: Move
-	definition of the FT_BBox structure from the former to the latter.
-	* include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
-	FT_Raster_Flag enumeration.
-	Add `clip_box' element to FT_Raster_Params structure.
-	* src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
-
-	* INSTALL: Updated installation instructions on Win32, listing the
-	new `make setup list' target used to list supported
-	compilers/targets.
-
-	* src/raster/ftraster.c (ft_black_render): Test for unsupported
-	direct rendering before testing arguments.
-
-2000-12-13  David Turner  <[email protected]>
-
-	* include/freetype/config/ft2build.h,
-	include/freetype/internal/internal.h: Fixed header inclusion macros
-	to use direct definitions.  This is the only way to do these things
-	in a portable way :-(  The rest of the code should follow shortly
-	though everything compiles now.
-
-	* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
-
-	* builds/win32/detect.mk: Added support for the Intel C/C++
-	compiler, as well as _preliminary_ (read: doesn't work!) support for
-	Watcom.  Also added a new setup target.  Type `make setup list' for
-	a list of supported command-line compilers on Win32.
-
-	* src/base/ftdebug.c: Added dummy symbol to avoid empty file if
-	conditionals are off.
-
-2000-12-13  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ftsystem.c: Fixed typos.  Fixed inclusion of wrong
-	ftconfig.h file.
-
-2000-12-12  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
-	Removed.  ANSI C doesn't (explicitly) allow macro expansion in
-	arguments using `##'.
-	(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
-	names directly.  Make them configurable.  Use `##' to strip leading
-	and trailing spaces from arguments.
-
-	* builds/unix/ft2unix.h: Adapted.
-
-	* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
-	ft_close_stream): Use FT_CALLBACK_DEF.
-
-	* builds/unix/ftsystem.c: Use new header scheme.
-	(FT_Done_Memory): Use free() from FT_Memory structure.
-
-	* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
-
-2000-12-11  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
-	FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
-	FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
-
-2000-12-09  Werner Lemberg  <[email protected]>
-
-	* builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
-
-2000-12-08  Werner Lemberg  <[email protected]>
-
-	* */*.h: Changed body inclusion macro names to start and end with
-	`__' (those which haven't converted yet).  Fixed minor conversion
-	issues.
-
-	* src/winfonts/winfnt.c: Updated to new header inclusion scheme.
-
-	* src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
-
-2000-12-07  David Turner  <[email protected]>
-
-	* */*.[ch]: Changed source files to adhere to the new
-	header inclusion scheme.  Not completely tested but works for now
-	here.
-
-	* src/cff/t2driver.c: Renamed and updated to...
-	* src/cff/cffdrivr.c: New file.
-	* src/cff/t2driver.h: Renamed and updated to...
-	* src/cff/cffdrivr.h: New file.
-	* src/cff/t2load.c: Renamed and updated to...
-	* src/cff/cffload.c: New file.
-	* src/cff/t2load.h: Renamed and updated to...
-	* src/cff/cffload.h: New file.
-	* src/cff/t2objs.c: Renamed and updated to...
-	* src/cff/cffobjs.c: New file.
-	* src/cff/t2objs.h: Renamed and updated to...
-	* src/cff/cffobjs.h: New file.
-	* src/cff/t2parse.c: Renamed and updated to...
-	* src/cff/cffparse.c: New file.
-	* src/cff/t2parse.h: Renamed and updated to...
-	* src/cff/cffparse.h: New file.
-	* src/cff/t2tokens.h: Renamed and updated to...
-	* src/cff/cfftoken.h: New file.
-
-	* src/cff/cff.c, src/cff/rules.mk: Updated.
-
-2000-12-06  David Turner  <[email protected]>
-
-	* src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
-
-2000-12-06  Werner Lemberg  <[email protected]>
-
-	* builds/module.mk: Replaced `xxx #' with `xxx$(space).
-	* builds/os2/detect.mk, builds/win32/detect.mk: Moved comment to
-	avoid trailing spaces in variable.
-	* builds/freetype.mk: Use $(D) instead of $D to make statement more
-	readable.
-
-	* docs/docmaker.py: Formatting.
-
-2000-12-05  David Turner  <[email protected]>
-
-	* src/psaux/psauxmod.c: Fixed a broken inclusion of component
-	header files (an FT_FLAT_COMPILE test was missing).
-
-	* src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
-	an occasional crash when the function was called (due to a dangling
-	pointer).
-
-	* src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
-	The ANSI `free()' function was called instead of `memory->free()'.
-
-	* docs/docmaker.py: Added section filtering, multi-page generation
-	(index page generation is still missing though).
-
-2000-12-04  David Turner  <[email protected]>
-
-	* builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
-	is now installed as <ft2build.h> for Unix systems.  Note that we
-	still use the `freetype2/freetype' installation path for now.
-
-	* */*.[ch]: Now using <ft2build.h> as the default build and setup
-	configuration file in all public headers.  Internal source files
-	still need some changes though.
-
-	* builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
-	directory to hold all development options for both the Unix and
-	Win32 developer builds.
-
-	* builds/win32/detect.mk, builds/win32/w32-bccd.mk,
-	builds/win32/w32-dev.mk: Changed the developer build targets to
-	`devel-gcc' and `devel-bcc' in order to be able to develop with the
-	Borland C++ compiler.
-
-2000-12-01  David Turner  <[email protected]>
-
-
-	* Version 2.0.1 released.
-	=========================
-
-
-	* builds/unix/configure.in, builds/unix/configure,
-	builds/cygwin/configure.in, builds/cygwin/configure: Setting
-	`version_info' to 6:1:0 for the 2.0.1 release.
-
-	* CHANGES: Added a summary of changes between 2.0.1 and 2.0.
-
-	* builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
-	to allow compilation under Unix with the Unix-specific config
-	files.
-
-2000-12-01  Werner Lemberg  <[email protected]>
-
-	* INSTALL: Revised.
-	* builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
-	builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
-	builds/win32/w32-bccd.mk: Revised.
-	* include/freetype/config/ftbuild.h,
-	include/freetype/internal/internal.h: Revised.
-	* include/freetype/ftimage.h: Updated to new header inclusion scheme.
-
-2000-11-30  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (.PHONY): Adding `distclean'.
-	* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
-	`setup'.
-
-2000-11-30  David Turner  <[email protected]>
-
-	* INSTALL: Slightly updated the quick starter documentation to
-	include IDE compilation, prevent against BSD Make, and specify `make
-	setup' instead of a single `make' for build configuration.
-
-	* include/config/ftbuild.h, include/internal/internal.h: Added new
-	configuration files used to determine the location of all public,
-	configuration, and internal header files for FreeType 2.  Modified
-	all headers under `include/freetype' to reflect this change.  Note
-	that we still need to change the library source files themselves
-	though.
-
-	* builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
-	builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
-	builds/win32/detect.mk: Added new files to support compilation with
-	the free Borland C++ command-line compiler.  Modified the detection
-	rules to recognize the new `bcc32' target in `make setup bcc32'.
-
-	* src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
-	src/truetype/ttobjs.c, src/truetype/ttgload.c,
-	src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
-	didn't really like.  Basically, this compiler complains when FT_UInt
-	is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
-	in these cases).
-
-2000-11-30  Tom Kacvinsky  <[email protected]>
-
-	* t2objs.c (T2_Init_Face): Added calculation of `face->height' for
-	pure CFF fonts.
-
-	* t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
-
-2000-11-29  David Turner  <[email protected]>
-
-	* src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
-	bug in the formula used to compute the conic Bézier extrema
-	of non-monotonous arcs.
-
-2000-11-29  Werner Lemberg  <[email protected]>
-
-	* src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
-	(FT_Set_Renderer): Use FT_EXPORT_DEF.
-	* src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
-	src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
-	FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
-	FTC_Manager_Register_Cache), src/cache/ftcsbits.c
-	(FTC_SBit_Cache_Lookup): Ditto.
-
-	* src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
-	src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
-
-2000-11-29  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
-	conditionally.
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
-	`size->strike_index' only conditionally.
-
-	* src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
-	conditionally.
-
-	* src/winfonts/winfnt.h: Move all type definitions to...
-	* src/include/freetype/internal/fnttypes.h: New file.
-	* src/winfonts/winfnt.c: Use it.
-
-2000-11-29  ??? ???  <[email protected]>
-
-	* include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
-	with a direct solution (which also satisfies picky compilers).
-
-2000-11-28  YAMANO-UCHI Hidetoshi  <[email protected]>
-
-	* src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
-	disabled interpreter also.
-
-	* src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
-	parentheses.
-
-2000-11-26  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
-	width setting code to take into account even/odd argument counts
-	and glyph width operand before endchar/hmoveto/vmoveto.
-
-2000-11-26  Werner Lemberg  <[email protected]>
-
-	* builds/ansi/ansi.mk: Fix inclusion order of files.
-
-2000-11-26  Keith Packard  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Init_Face): Compute style flags.
-
-2000-11-26  Werner Lemberg  <[email protected]>
-
-	* builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
-	conditional.
-
-2000-11-23  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
-	function from PSAux module.
-
-	* src/type1/t1parse.c (T1_Done_Parse): Renamed to...
-	(T1_Finalize_Parser): New function (to avoid name clash with a
-	function in the PSAux module).
-	(T1_Decrypt): Removed since it is duplicated in the PSAux module.
-	(T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
-	function from PSAux module.
-
-	* src/type1/t1parse.h: Adapted.
-
-2000-11-22  Tom Kacvinsky  <[email protected]>
-
-	* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
-	`root->num_faces' to `cff->num_faces' and set `units_per_EM'
-	to 1000.
-
-	* src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
-	loop.
-
-	* src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
-	sid that was off by one.
-
-2000-11-16  David Turner  <[email protected]>
-
-	* src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
-	auto-hinting of synthetic Type 1 fonts.
-
-	* src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
-	Added auto-hinting support of synthetic Type 1 fonts.
-
-2000-11-12  Tom Kacvinsky  <[email protected]>
-
-	* src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
-	tracing output.
-
-	* src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
-	`has-outline' to true only if the font has a `glyf' or `CFF ' table.
-
-2000-11-11  Werner Lemberg  <[email protected]>
-
-	* builds/win32/visualc/freetype.dsp: Fix raster1->raster and
-	type1z->type1.
-
-2000-11-11  Tom Kacvinsky  <[email protected]>
-
-	* builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
-	Added a --libtool option.  When freetype-config --libtool is
-	invoked, the absolute path to the libtool convenience library
-	is returned.
-
-2000-11-11  Werner Lemberg  <[email protected]>
-
-	* builds/cygwin/cygwin-def.in: Same fix as previous.
-
-2000-11-10  Tom Kacvinsky  <[email protected]>
-
-	* builds/unix/unix-def.in: Add
-
-	    INSTALL_PROGRAM := @INSTALL_PROGRAM@
-	    INSTALL_SCRIPT  := @INSTALL_SCRIPT@
-
-	so that installation of freetype-config does not fail.
-
-2000-11-10  Werner Lemberg  <[email protected]>
-
-	* builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
-	Move test down for empty --exec-prefix.
-	Fix --version.
-
-	* builds/cygwin/install.mk, builds/unix/install.mk: Use
-	$(INSTALL_SCRIPT) for installation of freetype-config.
-
-	* builds/cygwin/install.mk: Fix clean target names.
-
-2000-11-09  David Turner  <[email protected]>
-
-
-	* Version 2.0 released.
-	=======================
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2000-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.21
+++ /dev/null
@@ -1,9438 +1,0 @@
-2005-06-08  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.1.10 released.
-	==========================
-
-
-	* src/pcf/readme: Renamed to...
-	* src/pcf/README: This.
-
-2005-06-07  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/*: Added copyright notes, reworked some comments.
-
-2005-06-05  Werner Lemberg  <[email protected]>
-
-	* Add copyright notices to all files which don't have one.
-
-	* docs/license.txt: Renamed to...
-	* docs/LICENSE.TXT: This.
-	* docs/FTL.txt: Renamed to...
-	* docs/FTL.TXT: This.
-	* docs/GPL.txt: Renamed to...
-	* docs/GPL.TXT: This.
-
-	* docs/PATENTS: Slightly reworded.  Suggested by Sylvain Beucler
-	<[email protected]>.
-
-2005-06-04  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
-	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
-	FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
-	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
-	FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
-	`const' to stay compatible with FreeType 2.1.9.
-
-2005-06-01  Adam D. Moss  <[email protected]>
-
-	* src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
-	2004-07-11; this gives much better results under normal
-	circumstances.
-
-2005-05-30  Chia I Wu  <[email protected]>
-
-	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
-	documentation improvements.
-
-	* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
-	of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
-	If xstr is larger than 8 and bitmap is of pixel_mode
-	FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
-
-2005-05-29  Chia I Wu  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
-	of mode FT_PIXEL_MODE_GRAY.  Also add support for mode
-	FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
-	(ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
-	should have ppb (pixel per byte) 1.
-	Zero the padding when there's no need to allocate memory.
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
-	too.
-	More suited emboldening strength.
-
-2005-05-28  Chia I Wu  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
-	Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
-	Improve speed for FT_PIXEL_MODE_GRAY.
-	(ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
-	FT_PIXEL_MODE_LCD_V.
-
-2005-05-27  Chia I Wu  <[email protected]>
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
-
-	* src/base/ftobjs.c (ft_cmap_done_internal): New function.
-	(FT_CMap_Done): Remove cmap from cmap list.
-	(destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
-	ft_cmap_done_internal.
-
-2005-05-26  Werner Lemberg  <[email protected]>
-
-	* docs/GPL.txt: Update postal address of FSF.
-
-2005-05-26  Chia I Wu  <[email protected]>
-
-	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
-	documentation.
-
-	* src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
-	(FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
-	Always modify the metrics.
-
-2005-05-24  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2005-05-24  Chia I Wu  <[email protected]>
-
-	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
-
-	* include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
-	function.
-	(FT_Bitmap_Embolden): New function.
-
-	* src/base/ftoutln.c (FT_Outline_Embolden): New function.
-
-	* src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
-	FT_TRIGONOMETRY_H but FT_BITMAP_H.
-	(FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
-	FT_Bitmap_Embolden.
-
-2005-05-24  Werner Lemberg  <[email protected]>
-
-	* configure: Always remove config.mk, builds/unix/unix-def.mk, and
-	builds/unix/unix-cc.mk.  This fixes repeated calls of the script.
-	Reported by Nelson Beebe and Behdad Esfahbod.
-
-	* README.CVS: Mention file permissions.
-
-2005-05-23  Werner Lemberg  <[email protected]>
-
-	* builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
-	(CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
-	-fno-strict-aliasing.
-
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
-	it is currently loaded from ttsbit.c.
-
-2005-05-23  Behdad Esfahbod  <[email protected]>
-
-	Say you have `(Foo*)x' and want to assign, pass, or return it as
-	`(Bar*)'.  If you simply say `x' or `(Bar*)x', then the C compiler
-	would warn you that type casting incompatible pointer types breaks
-	strict-aliasing.  The solution is to cast to `(void*)' instead which
-	is the generic pointer type, so the compiler knows that it should
-	make no strict-aliasing assumption on `x'.  But the problem with
-	`(void*)x' is that seems like in C++, unlike C, `void*' is not a
-	generic pointer type and assigning `void*' to `Bar*' without a cast
-	causes an error.  The solution is to cast to `Bar*' too, with
-	`(Bar*)(void*)x' as the result -- this is what the patch does.
-
-	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
-	include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
-	cast on lvalue, use a temporary pointer instead.
-	Cast temporarily to (void*) to not break strict aliasing.
-
-	* include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
-	FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
-	src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
-	to not break strict aliasing.
-
-	* src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
-
-	* builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
-
-2005-05-23  David Turner  <[email protected]>
-
-	Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
-	in low-memory conditions).
-
-	* include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
-	FTC_CACHE_TRYLOOP_END): New macros.
-
-	* src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
-	(ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACHE_TRYLOOP_END.
-
-2005-05-23  Werner Lemberg  <[email protected]>
-
-	* src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
-	(BASE_EXT_SRC): Here.
-
-2005-05-22  Werner Lemberg  <[email protected]>
-
-	* src/base/ftrfork.c (raccess_guess_apple_generic): Mark
-	`version_number' and `entry_length' as unused.
-	(raccess_guess_linux_double_from_file_name): Remove `memory'.
-	(raccess_make_file_name): Mark `error' as unused.
-
-	* src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
-
-	* src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
-	ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
-
-	* src/base/rules.mk (BASE_SRC): Add ftsynth.c.
-
-2005-05-21  David Turner  <[email protected]>
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
-	produced unpleasant artefacts when trying to embolden very sharp
-	corners.
-
-2005-05-20  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2005-05-20  Chia I Wu  <[email protected]>
-
-	* src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
-	but FT_BITMAP_H.
-	(FT_Bitmap_Copy): New function (from ftglyph.c).
-
-	* include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
-	definition.
-
-	* src/base/ftglyph.c: Include FT_BITMAP_H.
-	(ft_bitmap_copy): Move to ftbitmap.c.
-	(ft_bitmap_glyph_init): Remove `memory' variable.
-	Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
-	(ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
-	(ft_bitmap_glyph_done): Use FT_Bitmap_Done.
-	(ft_outline_glyph_init): Use FT_Outline_Copy.
-
-	* src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
-	(FT_Outline_Done_Internal): Check for valid `memory' pointer.
-	(FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
-	FT_Outline_Transform): Check for valid `outline' pointer.
-
-	* src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
-	face->glyph, otherwise a new second glyph slot cannot be created.
-	(FT_Done_GlyphSlot): Fix memory leak.
-	(FT_Open_Face): Updated -- face->glyph is already managed by
-	FT_New_GlyphSlot.
-
-	* src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
-
-2005-05-20  Kirill Smelkov  <[email protected]>
-
-	* include/freetype/ftimage.h (FT_Raster_Params),
-	include/freetype/ftoutln.h (FT_Outline_Translate,
-	FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
-	FT_Outline_Transform): Decorate parameters with `const' where
-	appropriate.
-	Update all callers.
-
-	* src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
-	(gray_raster_reset): Remove `const' from `pool_base' argument.
-
-2005-05-18  Kirill Smelkov  <[email protected]>
-
-	* src/raster/ftmisc.h: New file.  Only needed if ftraster.c is
-	compiled as stand-alone.
-
-	* src/raster/ftraster.c: Add comment how to compile as stand-alone.
-	s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
-	s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
-	[_STANDALONE_]: Include ftimage.h and ftmisc.h.
-	(FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
-	conditionally.
-	(Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
-	Raster_Err_Unsupported).
-	(ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
-	(ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
-	Use `ras', not `raster'.
-	(ft_black_done): Use FT_UNUSED_RASTER.
-	(Horizontal_Sweep_Init, Horizontal_Sweep_Step,
-	Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
-
-2005-05-18  Werner Lemberg  <[email protected]>
-
-	* docs/announce: Start updating.
-
-	* docs/CHANGES: Updated.
-
-2005-05-16  Vitaliy Pasternak  <[email protected]>
-
-	* builds/win32/visualc/freetype.vcproj: Updated.
-	Exclude debug info for `Release' versions to reduce library size.
-
-2005-05-16  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
-	is, ignore `aface' completely if face_index < 0.  Reported by David
-	Osborn <[email protected]>.
-
-2005-05-16  Kirill Smelkov  <[email protected]>
-
-	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
-	FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
-	FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
-	gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
-	gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
-	with `const' where appropriate.
-
-2005-05-11  Kirill Smelkov  <[email protected]>
-
-	* include/freetype/ftimage.h (FT_Raster_RenderFunc),
-	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
-	FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
-	src/base/ftglyph.c (ft_outline_glyph_transform),
-	src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
-	src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
-	src/smooth/ftsmooth.c (ft_smooth_transform,
-	ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
-	ft_smooth_render_lcd_v): Decorate parameters with `const' where
-	appropriate.
-
-	* src/raster/ftraster.c (RASTER_RENDER_POOL): Removed.  Obsolete.
-	(ft_black_render): Decorate parameters with `const' where
-	appropriate.
-
-2005-05-11  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
-	FT_PEEK_USHORT) which caused crashes.  Reported by Ismail Donmez
-	<[email protected]>.
-
-2005-05-08  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
-	[__cplusplus]: Fix typo.
-
-2005-05-07  Werner Lemberg  <[email protected]>
-
-	Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
-	Blaskey <[email protected]>).
-
-	* src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
-	* src/sfnt/ttcmap.c: Use SFNT_Err_Ok where appropriate.
-
-	(tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
-	tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
-	`FT_Error' as return type.
-	(tt_cmap4_validate): Use `FT_Error' as return type.
-	Return error code for unsorted cmap.
-	(tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
-	cmaps.
-	(tt_face_build_cmaps): Set `unsorted' variable in cmap.
-
-2005-05-07  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_get_location): Fix typo.
-
-2005-05-06  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Set ppem value in top
-	dictionary for SFNT-based CFF.
-
-2005-05-05  Werner Lemberg  <[email protected]>
-
-	Handle malformed `loca' table entries.
-
-	* docs/TODO: Add some bugs which should be fixed.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
-	element.
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
-	table.
-	(tt_face_get_location): Fix computation of `asize' for malformed
-	`loca' entries.
-
-2005-05-01  David Turner  <[email protected]>
-
-	* Jamfile: Remove `otvalid' from the list of compiled modules.
-
-	* include/freetype/internal/ftserv.h: Add compiler pragmas to get
-	rid of annoying warnings with Visual C++ compiler in maximum warning
-	mode.
-
-	* src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
-	src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
-	src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
-	src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
-	src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
-
-2005-04-28  Werner Lemberg  <[email protected]>
-
-	* docs/TODO: Updated.
-
-2005-04-24  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/otvcommn.c
-	(otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
-
-2005-04-16  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Set default upem value in top
-	font dict also.
-	Handle font matrix settings in subfonts.
-
-	* src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
-	for CID-keyed fonts with subfonts.
-
-	* docs/formats.txt: Updated.
-
-2005-04-14  Kirill Smelkov  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Vector_Transform),
-	include/freetype/ftimage.h (FT_Raster_Params),
-	include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
-	FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
-	FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
-	src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
-	`const' where appropriate.
-
-2005-04-14  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_charstrings): Catch this non-standard
-	beginning of the /CharStrings dictionary:
-
-	  /CharStrings 118 dict def
-	  Private begin
-	  CharStrings begin
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
-	to call of tt_sbit_decoder_load_bitmap.
-
-2005-04-13  Werner Lemberg  <[email protected]>
-
-	* docs/TODO: Updated.
-
-	* autogen.sh: Use `--force' for all commands.
-
-2005-04-09  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
-	only if `fitted' is not zero.
-
-2005-04-06  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
-	Fix typo which sometimes causes wrong metrics for the last glyph.
-
-2005-04-04  David Turner  <[email protected]>
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
-	release.
-	(*_CHESTER_*): Removed.  No longer used.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment,
-	af_axis_hints_new_edge): Small tweak to use less heap memory.
-
-2005-04-03  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
-	first line in the font.
-
-2005-04-03  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES, include/freetype/freetype.h: Improve documentation
-	of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
-
-2005-03-26  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
-	offsets after a large read.
-
-2005-03-26  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics):
-	s/index/gidx/.
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
-	warnings.
-
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
-
-	* src/sfnt/ttsbit0.h: Dummy file for build with `make'.
-
-2005-03-26  Detlef Würkner  <[email protected]>
-
-	Update of the Amiga port.
-
-	* builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile: Included the base extension files
-	(ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
-
-2005-03-25  Detlef Würkner  <[email protected]>
-
-	Update of the Amiga port.
-
-	* builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
-
-	* builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
-
-	* builds/amiga/README: Updated.
-
-	* builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
-	AmigaOS4.
-
-	* builds/amiga/include/freetype/config/ftmodule.h: Handle new
-	modules.
-
-	* builds/amiga/src/base/ftdebug.c: Updated to current version of
-	default ftdebug.c.
-	Add various include files and macros to have proper support for
-	both AmigaOS4 and older AmigaOS versions.
-	Don't declare KVPrintF explicitly.
-	Replace getenv with GetVar.
-	Actually enable debugging code.
-
-	* builds/amiga/src/base/ftsystem.c: Major rewrite.
-
-2005-03-23  Werner Lemberg  <[email protected]>
-
-	* tests/*: Removed.
-
-2005-03-23  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES, docs/INSTALL.ANY: Updated.
-
-	* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
-	Add `OTvalid'.
-
-	* src/autofit/aferrors.h: New file.
-
-	* src/autofit/afglobal.c, src/autofit/afhints.c,
-	src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
-	Include aferrors.h.
-
-	* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
-
-	* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
-
-2005-03-22  David Turner  <[email protected]>
-
-	* src/autohint/*: Removed.
-	* Jamfile: Updated.
-
-2005-03-15  David Turner  <[email protected]>
-
-	* src/bdf/bdflib.c: Remove compiler warnings.
-	(hash_rehash, hash_init): Don't call FT_MEM_ZERO.
-	(_bdf_list_t): Add `memory' field.
-	(_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
-	(_bdf_shift, _bdf_join): Rename to...
-	(_bdf_list_shift, _bdf_list_join): This.
-	(_bdf_split): Renamed to...
-	(_bdf_list_split): This.  Use new functions.
-	(bdf_internal_readstream): Removed.
-	(NO_SKIP): New macro.
-	(_bdf_readstream): Rewritten.
-	(bdf_create_property, _bdf_add_comment): Improve allocation.
-	(_bdf_set_default_spacing, _bdf_parse_glyphs): Updated.  Improve
-	allocation.
-	(_bdf_parse_properties, _bdf_parse_start): Updated.
-	(bdf_load_font): Updated to use new functions.
-
-	* src/type1/t1parse.c (check_type1_format): New function.
-	(T1_New_Parser): Use it to check font header before allocating
-	anything on the heap.
-
-	* src/type42/t42parse.c (t42_parser_init): Modify functions to check
-	the font header before allocating anything on the heap.
-
-	* include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
-	FT_ARRAY_CHECK): New macros.
-
-	* src/base/ftstream.c (FT_Stream_TryRead): New function.
-	* include/freetype/internal/ftstream.h: Updated.
-
-	* src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
-	(BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
-	simplifications.  Try to protect the PCF driver from doing stupid
-	things with broken fonts.
-
-	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
-	doing anything else.  This avoids unnecessary heap allocations
-	(400KByte of heap memory for the LZW decoder).
-
-	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Ditto for the gzip
-	decoder, although the code savings are smaller.
-
-	* docs/CHANGES: Updated.
-
-2005-03-10  David Turner  <[email protected]>
-
-	* src/tools/glnames.py: Add comment to explain the compression
-	being used for the Adobe Glyph List.
-
-2005-03-10  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
-	Fix serious typo which prevented correct TT rendering.
-
-	* include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
-	To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
-
-2005-03-10  Werner Lemberg  <[email protected]>
-
-	* src/tools/glnames.py: Formatted.
-	Format output to be in sync with other FreeType code.
-	Import `re' and `os.path'.
-	(StringTable) <__init__>: Add parameter to initialize master table
-	name.
-	(StringTable) <dump>: Don't pass master table name.
-	(StringTable) <dump_sublist>: Emit explanatory comment.
-	Simplify and make output more human readable.
-	(t1_bias, glyph_list, adobe_glyph_names): Removed.  Unused.
-	(main): Use `basename' for file name in header.
-
-	* src/psnames/pstables.h: Regenerated.
-
-2005-03-09  David Turner  <[email protected]>
-
-	* src/tools/glnames.py: Rewrite the generator for the `pstables.h'
-	header file which contains various constant tables related to glyph
-	names.  It now uses a different, more compact storage scheme that
-	saves about 20KB.  This also closes Savannah bug #12262.
-
-	* src/psnames/pstables.h: Regenerated.
-
-	* src/psnames/psmodule.c (ps_unicode_value): Use
-	`ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
-	(ps_get_macintosh_name, ps_get_standard_strings): Updated.
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Handle fractional sizes
-	more carefully.  This fixes Savannah bug #12263.
-
-2005-03-06  David Turner  <[email protected]>
-
-	* src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
-	constant.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
-	#12212 (auto-hinter refuses to work if no Unicode charmap in font).
-
-2005-03-05  Werner Lemberg  <[email protected]>
-
-	* autogen.sh: New script for bootstrapping.
-
-	* README.CVS: New file which documents bootstrapping.
-
-	* builds/unix/aclocal.m4, builds/unix/config.guess,
-	builds/unix/config.sub, builds/unix/configure,
-	builds/unix/ltmain.sh: Removed.
-
-2005-03-04  Werner Lemberg  <[email protected]>
-
-	* src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
-
-2005-03-03  Werner Lemberg  <[email protected]>
-
-	Various fixes for C and C++ compiling.
-
-	* src/autofit/*: Add copyright messages.
-
-	* src/autofit/afhints.c (af_glyph_hints_done): Don't use
-	`AF_Dimension' but `int' for loop counter.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
-	`AF_Dimension' but `int' for loop counter.
-	Use proper enumeration value for `render_mode'.
-	(af_latin_metrics_scale_dim): Don't shadow variables.
-	(af_latin_hints_compute_segments): Use proper cast for `major_dir'
-	and `segment_dir'.
-	(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
-	`af_latin_compute_stem_width'.
-	(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
-	counter.
-
-	* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
-	proper cast for memory allocation.
-
-	* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
-	initialization of `sfnt'.
-
-	* src/sfnt/sfdriver.c: Include `ttkern.h'.
-
-	* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
-
-	* src/truetype/ttgload.c: Include `ttpload.h'.
-
-2005-03-03  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
-	FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
-	avoid compiler warnings.
-	(FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
-	FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
-
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
-	FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
-	Provide macro versions which avoid compiler warnings.
-
-	* src/base/ftutil.c (ft_highpow2): New utility function.
-
-	* include/freetype/internal/ftobjs.h: Updated.
-
-	* src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
-	pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
-	(pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
-	is set.
-	(pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
-	FT_OPTIMIZE_MEMORY is set.
-
-	* src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
-	doesn't work with broken fonts.
-	(pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
-
-	* src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
-	(PFR_NEXT_KPAIR): New macro.
-	(PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
-	set.
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
-	temporary variable to avoid gcc warning.
-	(tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
-
-	* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
-	Remove redundant variable.
-
-	* include/freetype/config/ftmodule.h: Moving the order of drivers to
-	speed up font loading.  The PCF and BDF loaders are still slow and
-	consume far too much memory.
-
-2005-03-03  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h: Updated to recent changes.
-
-2005-03-02  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afdummy.c, src/autofit/afdummy.h
-	(af_dummy_script_class): Fix type.
-
-	* src/autofit/aflatin.c, src/autofit/aflatin.h
-	(af_latin_script_class): Fix type.
-
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
-
-2005-03-01  David Turner  <[email protected]>
-
-	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
-	src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
-	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
-	tt_sbit_decoder_load_image), src/sfnt/ttload.c
-	(tt_face_load_metrics): Remove compiler warnings
-	-- redundant variables, missing initializations, etc.
-
-	* src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
-
-	* src/autofit/rules.mk, src/autofit/module.mk,
-	src/autofit/afangles.h: New files.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment,
-	af_axis_hints_new_edge): New functions.
-	(af_glyph_hints_done): Do proper deallocation.
-	(af_glyph_hints_reload): Only reallocate points array.  This
-	drastically reduces heap usage.
-
-	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
-	member types and positions.
-	(AF_AxisHintsRec): Add `max_segments' and `max_edges'.
-	(af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale): Don't call
-	AF_SCALER_EQUAL_SCALES.
-	(af_latin_hints_compute_segments): Change return type to FT_Error.
-	Update all callers.
-	Improve segment allocation.
-	(af_latin_hints_compute_edges): Change return type to FT_Error.
-	Update all callers.
-	Improve edge allocation and link handling.
-	(af_latin_hints_detect_features): Change return type to FT_Error.
-	Update all callers.
-
-	* src/autofit/aflatin.h: Updated.
-
-	* src/autofit/afloader.c (af_loader_load_g)
-	<FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1.  This fixes
-	a bug with certain fonts.
-
-	* include/freetype/config/ftmodule.h: The auto-fitter is now the
-	only supported auto-hinting module.
-
-	* include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
-
-2005-02-28  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
-
-	* src/sfnt/ttkern.c: Include `ttkern.h'.
-	(FT_COMPONENT): Updated.
-
-	* include/freetype/internal/fttrace.h: Add entry for `ttkern'.
-
-	* src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
-	Decorate constants with `U' and `L' where necessary.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
-
-2005-02-28  David Turner  <[email protected]>
-
-	* src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
-	sources according to decreasing maximum cumulative allocations.
-	(ft_mem_source_compare): New auxiliary function.
-
-	* src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
-	embedded bitmap loader.
-
-	* src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
-	FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
-	Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
-	file contents.
-	(tt_face_load_sbit_strikes): Set up root fields to indicate the
-	strikes.  This fixes Savannah bug #12107.
-	Use `static' keyword for `sbit_line_metrics_field',
-	`strike_start_fields', `strike_end_fields'.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Define
-	`sbit_table', `sbit_table_size', `sbit_num_strikes' if
-	FT_OPTIMIZE_MEMORY is set.
-	Don't define `num_sbit_strikes' and `sbit_strikes' if
-	FT_OPTIMIZE_MEMORY is set.
-
-	* src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
-	loading SFNT fonts without a `kern' table.
-	Properly pass root->face_flags.
-	Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
-
-	* src/sfnt/sfdriver.c (sfnt_interface)
-	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
-	and `tt_load_sbit_metrics'.
-
-	* src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
-	(OPT_CMAP4): New macro.
-	(TT_CMap4Rec) [OPT_CMAP4]: New structure.
-	(tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
-	[OPT_CMAP4]: New functions.
-	(tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
-	`tt_cmap4_reset'.
-	(tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
-	`tt_cmap4_init'.
-
-	* src/truetype/ttobjs.c (Reset_SBit_Size): Handle
-	FT_OPTIMIZE_MEMORY.
-
-	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
-	Optimize member types.
-
-	* src/autofit/afloader.c (af_loader_done): Call
-	`af_glyph_hints_done'.
-
-2005-02-27  David Turner  <[email protected]>
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
-	caused invalid (random) return values for the horizontal kerning.
-
-2005-02-25  David Turner  <[email protected]>
-
-	Implement several memory optimizations to drastically reduce the
-	heap usage of FreeType, especially in the case of memory-mapped
-	files.  The idea is to avoid loading and decoding tables in the
-	heap, and instead access the raw data whenever possible (i.e., when
-	it doesn't compromise performance).
-
-	This has several benefits: For example, opening vera.ttf now uses
-	just a small amount of memory (even when the FT_Library footprint is
-	accounted for), until you start loading glyphs.  Even then, you save
-	at least 20KB compared to the non-optimized case.  Performance of
-	various operations, including open and close, has also been
-	dramatically improved.
-
-	More optimizations to come, especially for the auto-hinter.
-
-	* include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
-	function type.
-	(SFNT_Interface): Add it.
-
-	* include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
-	TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
-	(TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
-	`vert_metrics', `vert_metrics_size', `hdmx_table',
-	`hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
-	`hdmx_record_sizes', `kern_table', `kern_table_size,
-	`num_kern_tables', `kern_avail_bits', `kern_order_bits' if
-	FT_OPTIMIZE_MEMORY is set.
-	Don't define `hdmx', `num_kern_pairs', `kern_table_index',
-	`kern_pairs' if FT_OPTIMIZE_MEMORY is set.
-
-	* src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
-	Fix compiler warning.
-
-	* src/cff/cffdrivr.c (Get_Kerning): Renamed to...
-	(cff_get_kerning): This.  Simplify.
-	(cff_driver_class): Updated.
-
-	* src/sfnt/Jamfile (_sources): Add `ttkern'.
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
-
-	* src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
-
-	* src/sfnt/sfnt.c: Include `ttkern.c'.
-
-	* src/sfnt/sfobjs.c: Include `ttkern.h'.
-	(sfnt_load_face): Consider the `kern' and `gasp' table as optional.
-	(sfnt_done_face): Call `tt_face_done_kern'.
-	Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
-
-	* src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files.  Code has been
-	taken from `ttload.c' and `ttload.h'.
-	Provide special versions of `tt_face_load_kern',
-	`tt_face_get_kerning', and `tt_face_done_kern' for
-	FT_OPTIMIZE_MEMORY.
-
-	* src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
-	tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
-	(tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
-	`ttkern.c'.
-
-	* src/sfnt/ttload.h: Updated.
-
-	* src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
-
-	* src/truetype/ttdriver.c (Get_Kerning): Renamed to...
-	(tt_get_kerning): This.  Simplify.
-	(tt_driver_class): Updated.
-
-	* src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
-	(tt_face_get_metrics): This.  Provide version for FT_OPTIMIZE_MEMORY.
-	Update all callers.
-	(Get_Advance_Widths): Replaced with...
-	(Get_Advance_WidthPtr): This.  Provide version for
-	FT_OPTIMIZE_MEMORY.
-	Update all callers.
-
-	* src/truetype/ttgload.h: Updated.
-
-2005-02-22  David Turner  <[email protected]>
-
-	* src/base/ftdbgmem.c: Partly rewritten.  Added the ability to list
-	all allocation sites in the memory debugger.  Also a new function
-	FT_DumpMemory() was added.  It is only available in builds with
-	FT_DEBUG_MEMORY defined, and you must declare it in your own code to
-	use it, i.e., with something like:
-
-	  extern void FT_DumpMemory( FT_Memory );
-
-	  ...
-
-	  FT_DumpMemory( memory );
-
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
-	again.
-	(FT_OPTIMIZE_MEMORY): New configuration macro to control various
-	optimizations for reducing the heap footprint of memory-mapped
-	TrueType files.
-
-	* include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
-	convenience macro.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec)
-	[FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
-	`glyph_locations'.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Call
-	`tt_face_get_location'.
-
-	* src/truetype/ttobjs.c (tt_face_init)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
-	(tt_face_done): Call `tt_face_done_loca'.
-
-	* src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
-	New functions.  If FT_OPTIMIZE_MEMORY is set, the locations table is
-	read directly from memory-mapped streams, instead of being decoded
-	into the heap.
-	(tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
-	(tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
-	bytecode interpreter is compiled in.
-
-	* src/truetype/ttpload.h: Updated.
-
-	* src/autohint/ahglyph.c (ah_outline_load): Improve allocation
-	logic.
-
-2005-02-20  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
-	--copy' from libtool 1.5.14.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.9.4.
-
-	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org.
-
-	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
-	`texinfo' CVS module at subversions.gnu.org.
-
-2005-02-14  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
-	a cmap for a CID-keyed font which doesn't have SIDs.
-
-2005-02-13  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (read_binary_data): Return more meaningful
-	value.
-	(parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
-	parser error value after call to T1_Skip_PS_Token (where necessary).
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
-	value after call to T1_Skip_PS_Token.
-
-	* src/cid/cidparse.c (cid_parser_new): Check parser error value
-	after call to cid_parser_skip_PS_token.
-
-	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
-	t42_parse_charstrings, t42_parse_dict): Check parser error value
-	after call to T1_Skip_PS_Token (where necessary).
-
-	* src/psaux/psobjs.c (skip_string, ps_parser_skip_PS_token,
-	ps_tobytes): Add error messages.
-
-2005-02-12  Werner Lemberg  <[email protected]>
-
-	* configure: Output more variables to the created Makefile so that
-	it can be used for ft2demos also (if the FT2DEMOS variable is
-	defined).
-
-2005-02-10  David Turner  <[email protected]>
-
-	* src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
-	dynamic array when loading a glyph from a PFR font (Savannah bug
-	#11921).
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
-	conversion function (mainly stupid optimization).
-
-	* src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
-
-2005-02-10  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype-config.in: Add new flag `--ftversion' to
-	return the FreeType version.  Suggested by George Williams
-	<[email protected]>.
-
-	* docs/CHANGES: Updated.
-
-2005-02-09  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
-	of error.  Reported by YAMANO-UCHI Hidetoshi <[email protected]>.
-
-2005-02-08  Werner Lemberg  <[email protected]>
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
-	happen in empty glyphs.  Reported by Ian Brown
-	<[email protected]> (Savannah bug #11856).
-
-2005-02-04  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/*: Removed.  Obsolete.
-
-2004-12-28  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
-	--copy' from libtool 1.5.10.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.9.4.
-	* builds/unix/configure: Regenerated with autoconf 2.59b.
-
-	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org.
-
-	* builds/unix/install-sh: Updated from
-	`texinfo' CVS module at subversions.gnu.org.
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
-	ft_alloc.
-	Fix compiler warning.
-
-2004-12-27  Dirck Blaskey  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Improve computation of
-	FT_STYLE_BOLD_FLAG.
-
-2004-12-27  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
-	only a single font.  This is undocumented but has been verified on
-	the opentype list.
-
-2004-12-26  Werner Lemberg  <[email protected]>
-
-	* Jamfile (FT2_COMPONENTS): Add `otvalid'.
-
-2004-12-25  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
-
-2004-12-15  Werner Lemberg  <[email protected]>
-
-	* vms_make.com: Add ftbitmap.obj.
-
-2004-12-14  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
-	handling various bitmap formats.
-
-	* include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
-
-	* src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
-
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
-	but return them as-is.
-
-	* docs/CHANGES: Mention new bitmap API.
-	* include/freetype/ftchapters.h: Updated.
-
-2004-12-11  Robert Clark  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
-	dependent on ppem by scaling down for ppem < 25, then do normal
-	rounding.  This gives slightly better results than rounding towards
-	zero.
-
-2004-12-09  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
-	for FT_KERNING_DEFAULT.  This greatly enhances the kerning for
-	small ppem values.
-
-2004-12-08  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
-	`rsb_delta'.
-
-2004-12-05  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
-
-2004-12-03  Antoine Leca  <[email protected]>
-
-	* include/freetype/ttnameid.h: Updated to latest
-	specifications from Microsoft.
-
-2004-11-26  Jouk Jansen  <[email protected]>
-
-	* vms_make.com: Include ftbbox.c.
-	Fix `ccopt'.
-	Handle `otvalid' module.
-	Update `vmslib.dat' default values.
-	Fixes to `libs.opt'.
-
-2004-11-23  Anders Kaseorg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_OrientationExtremumRec,
-	ft_orientation_extremum_compute): Removed.
-	(FT_Outline_Get_Orientation): Rewritten, simplified.
-
-	* src/autohint/ahglyph.c: Include FT_OUTLINE_H.
-	(ah_test_extremum, ah_get_orientation): Removed.
-	(ah_outline_load): Use FT_Outline_Get_Orientation.
-
-	* src/base/ftsynth.c (ft_test_extrema, ft_get_orientation): Removed.
-	(FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
-
-2004-11-23  Fernando Papa  <[email protected]>
-
-	* src/truetype/ttinterp.h: Fix typo.
-
-2004-11-22  Antoine Leca  <[email protected]>
-
-	* builds/win32/detect.mk: Corrected logic that detects Windows NT to
-	use the previous change even if win32 is forced.  Corrected
-	detection of win32 on Win9X.
-
-	* builds/dos/detect.mk: Added same correction as for win32 about
-	COPY on Windows NT.  Detection of plain DOS 7.x.
-
-2004-11-22  Werner Lemberg  <[email protected]>
-
-	* builds/detect.mk: Undo change from 2004-11-20.
-	* builds/win32/detect.mk: If the `OS' environment variable contains
-	`Windows_NT', use `cmd.exe /c copy' for copying files.
-
-2004-11-20  Werner Lemberg  <[email protected]>
-
-	* builds/detect.mk (dos_setup): Use `cmd.exe' for copying
-	$(CONFIG_MK) to force lowercase file name under Windows.
-
-2004-11-19  Werner Lemberg  <[email protected]>
-
-	Fix a serious bug in the TT hinter.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
-	points vertically before hinting.
-
-	* docs/CHANGES: Updated.
-
-	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
-	FTC_GCache_Lookup): A new try to fix comparison with zero.
-
-2004-11-16  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
-	used.
-	* builds/unix/configure: Regenerated.
-	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org.
-
-2004-11-16  Dr. Martin P.J. Zinser  <[email protected]>
-
-	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
-	FTC_GCache_Lookup): Fix comparison with zero.
-
-	* docs/INSTALL.VMS: Updated.
-
-	* vms_make.com: Updated.  All `descrip.mms' files are now created
-	automatically.
-
-	* src/*/descrip.mms: Removed.
-
-2004-11-16  Owen Taylor  <[email protected]>
-
-	* builds/unix/freetype-config.in: Suppress -L$libdir for
-	/usr/lib64 as well as /usr/lib.  (Reported by Dan Winship -
-	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
-
-2004-11-11  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
-	* src/cid/cidriver.c (cid_service_ps_info): Updated.
-	* src/type42/t42drivr.c (t42_ps_get_font_private): New function.
-	(t42_service_ps_info): Updated.
-
-	* src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
-
-2004-11-11  David Bevan  <[email protected]>
-
-	Add new function FT_Get_PS_Font_Private().
-
-	* include/freetype/internal/services/svpsinfo.h
-	(PS_GetFontPrivateFunc): New service function.
-
-	* include/freetype/t1tables.h, src/base/fttype1.c
-	(FT_Get_PS_Font_Private): New function.
-
-	* src/type1/t1driver.c (t1_ps_get_font_private): New function.
-	(t1_service_ps_info): Updated.
-
-2004-10-13  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftstdlib.h: Include `stddef.h'.
-	(ft_ptrdiff_t): Define.
-
-	* include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
-
-	* src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
-	(parse_dict): Fix compiler warning.
-
-2004-10-11  Joshua Neal  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
-	overflow.
-
-	* src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
-	Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
-	in case of failure.
-
-	* src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
-	(tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
-	frame test.
-
-	* src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
-	`flag'.
-
-2004-10-09  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-10-09  Boris Letocha  <[email protected]>
-
-	Fix handling of NPUSHW if skipped in data stream.
-
-	* src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
-	to -2.
-	(SkipCode, TT_RunIns): Use opcode_length value for computation of
-	bytes to be skipped.
-
-2004-09-10  Jouk Jansen  <[email protected]>
-
-	* vms_make.com: Updated.
-
-2004-09-09  Werner Lemberg  <[email protected]>
-
-	Adding OpenType validation module.  The code is based on the
-	(unfinished) `otlayout' module but has been heavily modified to make
-	it much more compact.
-
-	* src/otvalid/*: New module.
-
-	* include/freetype/ftotval.h, src/base/ftotval.c,
-	include/freetype/internal/services/svotval.h: New files.
-
-	* include/freetype/config/ftmodule.h: Add otv_module_class.
-	* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
-	macro.
-	* include/freetype/internal/ftserv.h
-	(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
-	* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
-	otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
-
-	* include/freetype/ftchapters.h: Updated.
-
-	* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
-	src/base/rules.mk (BASE_EXT_SRC): Updated.
-
-	* docs/CHANGES: Updated.
-
-2004-09-08  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/sources.py (re_source_block_format2) <column>:
-	Use lookahead assertion to not match `*/'.  This removes spurious
-	insertions of `/' in the HTML output.
-
-2004-09-07  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
-	FT_NEW_ARRAY.
-
-2004-09-04  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h: Don't include
-	FT_CONFIG_STANDARD_LIBRARY_H.
-	(FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
-	ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
-	FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
-	FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
-
-	* include/freetype/internal/ftvalid.h: New file.
-	Make FT_INVALID return module-specific error codes.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
-	macro.
-
-	* include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
-	FT_KEEP_ERR_PREFIX isn't defined.
-
-	* src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
-
-	* src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
-	FT_INTERNAL_VALIDATE_H.
-
-	* src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
-	FT_INTERNAL_VALIDATE_H.
-	Include sferrors.h before FT_INTERNAL_VALIDATE_H.
-	s/FT_Err_Ok/SFNT_Err_Ok/.
-
-	* src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
-
-	* src/type1/t1afm.c: Include t1errors.h.
-
-2004-09-03  Werner Lemberg  <[email protected]>
-
-	* src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
-	not 6.
-	* docs/DEBUG: Updated.
-
-2004-08-30  Werner Lemberg  <[email protected]>
-
-	* include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
-	TTAG_JSTF): New tags.
-
-	* include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
-	(FT_Int): Add `signed'.
-
-2004-08-29  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
-	to pass number of lookups.
-	Update all callers.
-	Don't call otl_lookup_list_validate but otl_lookup_validate.
-	(otl_gpos_validate): Call otl_lookup_list_validate instead of
-	otl_gpos_subtable_validate.
-
-	* src/otlayout/otlgpos.h: Updated.
-
-	* src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
-	pass number of lookups.
-	Update all callers.
-
-
-	* src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
-	compiler warning.
-
-
-	* src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
-	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
-	* src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
-	src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
-
-
-	* builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
-	if compiler is g++ (v3.3.3 emits a warning otherwise).
-
-2004-08-28  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
-	not number of 16bit entities.
-	(otl_gpos_lookup2_validate): Check class definition tables for
-	format 2.
-	Fix loop for format 2.
-	(otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
-
-2004-08-27  Werner Lemberg  <[email protected]>
-
-	* src/base/ftmac.c: Don't include truetype/ttobjs.h.
-	Don't include type1/t1objs.h.
-	(FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
-
-2004-08-27  Mathieu Malaterre  <[email protected]>
-
-	* src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
-
-2004-08-27  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlayout.h: Add copyright.
-	(OTL_INVALID_OFFSET): Removed.
-
-	* src/otlayout/otlgdef.h: Include otlayout.h.
-	Comment out inclusion of otltable.h.
-
-	* src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
-	to otl_base_array_validate.
-	(otl_liga_mark2_validate): Fix `for' loop.
-
-	* src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
-	not components array.
-
-	* src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
-	Comment out.
-	(otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
-	(otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
-	s/otl_lookup_get_count/otl_lookup_list_get_count/.
-	(otl_script_list_validate):
-	s/otl_feature_get_count/otl_feature_list_get_count/.
-	(otl_script_validate): Call otl_lang_validate for default language.
-
-	* src/otlayout/otlcommn.h: Updated.
-
-2004-08-16  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
-	otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
-	otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
-	otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
-	otl_gpos_validate): Update
-	function arguments.
-	(otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
-	function arguments.
-	Handle NULL offsets correctly.
-	Check sequence and lookup indices for format 3.
-	(otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
-	to pass lookup count.
-	Check sequence and glyph indices.
-	(otl_gpos_subtable_validate): Update function arguments.
-	Update callers.
-
-	* src/otlayout/otlgpos.h: Updated.
-
-	* src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
-	otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
-	function arguments.
-	Add glyph index checks.
-	(otl_sequence_validate, otl_alternate_set_validate,
-	otl_ligature_validate): Add argument to pass glyph count.
-	Update callers.
-	Add glyph index check.
-	(otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
-	function arguments.
-	(otl_ligature_set_validate): Add argument to pass glyph count.
-	Update caller.
-	(otl_sub_class_rule_validate,
-	otl_sub_class_rule_set_validate): Removed.
-	(otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
-	to pass lookup count.
-	Update callers.
-	Add lookup index check.
-	(otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
-	argument to pass lookup count.
-	Update callers.
-	(otl_gsub_lookup5_validate): Update function arguments.
-	Handle NULL offsets correctly.
-	Don't call otl_sub_class_rule_set_validate but
-	otl_sub_rule_set_validate.
-	Check sequence and lookup indices for format 3.
-	(otl_gsub_lookup6_validate): Update function arguments.
-	Handle NULL offsets correctly.
-	Check sequence and lookup indices for format 3.
-	(otl_gsub_lookup7_validate, otl_gsub_validate): Update function
-	arguments.
-
-	* src/otlayout/otlgsub.h: Updated.
-
-	* src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
-	correctly.
-
-	* src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
-	compiler warning.
-	(otl_coverage_get_first, otl_coverage_get_last): New functions.
-	(otl_lookup_validate): Add arguments to pass lookup and glyph
-	counts.
-	Update callers.
-	(otl_lookup_list_validate): Add argument to pass glyph count.
-	Update callers.
-
-	* src/otlayout/otlcommn.h: Updated.
-
-	* src/otlayout/otljstf.c (otl_jstf_extender_validate,
-	otl_jstf_max_validate, otl_jstf_script_validate,
-	otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
-	to validate glyph indices.
-	Update callers.
-	(otl_jstf_validate): Add parameter which specifies number of glyphs
-	in font.
-
-	* src/otlayout/otljstf.h: Updated.
-
-2004-08-15  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
-	to handle possible NULL values properly.
-	Update all callers.
-
-2004-08-15  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/gpos.c: Rename counting variables to be more
-	meaningful.
-	Add copyright.
-	(otl_liga_attach_validate): Renamed to...
-	(otl_liga_mark2_validate): This.
-	Update all callers.
-	(otl_mark2_array_validate): Removed.
-	(otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
-	otl_mark2_array_validate.
-	(otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
-	(otl_gpos_lookup7_validate): Complete code for format 2.
-	(otl_chain_pos_class_rule_validate,
-	otl_chain_pos_class_set_validate): Removed.
-	(otl_gpos_lookup8_validate): Don't call
-	otl_chain_pos_class_set_validate but
-	otl_chain_pos_rule_set_validate.
-	Simplify some code.
-
-	* src/otlayout/otlgpos.h: Add copyright.
-
-2004-08-14  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
-	(otl_jstf_gpos_mods_validate): Renamed to...
-	(otl_jstf_gsubgpos_mods_validate): This.
-	Test whether lookup_count is zero.
-	(otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
-	(otl_jstf_validate): Initialize gsub_lookup_count and
-	gpos_lookup_count if gsub or gpos is zero.
-
-	* src/otlayout/otlgsub.c: Rename counting variables to be more
-	meaningful.
-	Add copyright.
-	(otl_gsub_lookup1_validate): Simplify code.
-	(otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
-	otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
-	variables.
-	(otl_gsub_lookup5_validate): Remove unused variable.
-	Fix call to otl_sub_rule_set_validate and
-	otl_sub_class_rule_set_validate.
-	(otl_chain_sub_class_rule_validate,
-	otl_chain_sub_class_set_validate): Removed.
-	(otl_gsub_lookup6_validate): Remove unused variable.
-	Fix call to otl_chain_sub_rule_set_validate.
-	(otl_gsub_lookup7_validate): Handle lookup type 8 also.
-	(otl_gsub_lookup8_validate: New function.
-	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
-	otl_gsub_lookup3_apply): Commented out.
-	(otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
-	otl_gsub_lookup8_validate.
-	(otl_gsub_validate): Updated.
-
-	* src/otlayout/otlgsub.h: Add copyright.
-
-	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
-	(otl_coverage_get_index): Comment out.
-
-2004-08-13  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
-	function.
-	* src/otlayout/otlcommn.h: Updated.
-
-	* src/otlayout/otlbase.c: Rename counting variables to be more
-	meaningful.
-	Add copyright message.
-	* src/otlayout/otlbase.h: Add copyright message.
-
-	* src/otlayout/otlgdef.c: Rename counting variables to be more
-	meaningful.
-	Add copyright message.
-	Use OTL_CHECK everywhere.
-	(otl_caret_value_validate): Remove unused variable.
-	(otl_gdef_validate): All tables are optional.
-	* src/otlayout/otlgdef.h: Add copyright message.
-
-	* src/otlayout/otljstf.c: Rename counting variables to be more
-	meaningful.
-	Add copyright message.
-	(otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
-	parameter to pass lookup count.
-	Update all callers.
-	Check lookup array.
-	(otl_jstf_max_validate):
-	s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
-	(otl_jstf_priority_validate, otl_jstf_lang_validate,
-	otl_jstf_script_validate): Add two parameters to pass lookup counts.
-	Update all callers.
-	(otl_jstf_validate): Add two parameters to pass GPOS and GSUB
-	table offsets; use otl_gsubgpos_get_lookup_count to convert extract
-	lookup counts.
-	Fix typo.
-	* src/otlayout/otljstf.h: Updated.
-	Add copyright message.
-
-	* src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
-	(otl_gpos_validate): Use it.
-	* src/otlayout/otlgpos.h: Updated.
-
-2004-08-13  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
-	(otl_coverage_validate): Initialize `p',
-	s/count/num_glyphs/.
-	s/start_cover/start_coverage/.
-	(otl_coverage_get_index): Return OTL_Long, not OTL_Int.
-	Remove unused variables.
-	(otl_class_definition_validate): s/count/num_glyphs/.
-	Remove unused variables.
-	(otl_class_definition_get_value, otl_device_table_get_start,
-	otl_device_table_get_end, otl_device_table_get_delta,
-	otl_lookup_get_table, otl_lookup_list_get_count,
-	otl_lookup_list_get_lookup, otl_lookup_list_get_table,
-	otl_feature_get_lookups, otl_feature_list_get_count,
-	otl_feature_list_get_feature, otl_lang_get_count,
-	otl_lang_get_req_feature, otl_lang_get_features): Commented out
-	temporarily until we really need it.
-	(otl_lookup_validate): Removed.
-	(otl_lookup_table_validate): Renamed to ...
-	(otl_lookup_validate): This.  Update callers.
-	(otl_lookup_list_validate): Remove already commented out definition
-	and move the other definition up.
-	(otl_feature_validate): Add parameter to pass number of lookups.
-	Update callers.
-	Check lookup indices.
-	(otl_feature_list_validate): Add parameter to pass lookup table.
-	Update callers.
-	(otl_lang_validate): Add parameter to pass number of features.
-	Update callers.
-	Handle req_feature and check feature indices.
-	(otl_script_validate): Add parameter to pass number of features.
-	Update callers.
-	(otl_script_list_validate): Add parameter to pass feature table.
-	Update callers.
-
-	* src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
-	Comment out the same functions as in otcommn.c.
-	(otl_script_list_get_script): Removed.
-
-	* src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
-	type OTL_Long.
-	(otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
-	type OTL_Long.
-	Fix test.
-	(otl_gsub_validate): Fix order of validation.
-
-	* src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
-	validation.
-
-2004-08-12  Werner Lemberg  <[email protected]>
-
-	Make otlayout module compile (without actually working).
-
-	* src/otlayout/*: s/OTL_Valid/OTL_Validator/.
-	s/NULL/0/.
-
-	* src/otlayout/otlayout.h: Fix various typos.
-	(OTL_Bool): New typedef.
-	(OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
-	(OTL_Err_InvalidArgument): Removed.
-	(OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
-	(OTL_MAKE_TAG): Add missing parenthesis.
-	(OTL_INVALID_DATA): Use OTL_Err_InvalidData.
-	(OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
-	(OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
-
-	* src/otlayout/otlgpos.c: s/FT_/OTL_/.
-	s/OTL_Short/OTL_Int16/.
-	(otl_gpos_pairset_validate): Add return type.
-	(otl_base_array_validate): Fix call to otl_anchor_validate.
-	(otl_liga_array_validate): Fix call to otl_liga_attach_validate.
-	(otl_gpos_lookup5_validate): Fix typos.
-	(otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
-	(otl_gpos_lookup7_validate): Comment out unfinished code.
-	Fix typos.
-
-	* src/otlayout/otlgsub.c: Add forward declaration for
-	otl_gsub_validate_funcs.
-	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
-	otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
-	s/otl_coverage_lookup/otl_coverage_get_index/.
-	(otl_ligature_validate): Add missing variable declaration.
-	(otl_sub_rule_validate): Fix typo.
-	(otl_sub_class_rule_validate): Add missing variable declaration.
-	Fix typo.
-	(otl_gsub_lookup5_validate): Fix typo.
-	(otl_gsub_lookup6_validate): Fix call to
-	otl_chain_sub_class_set_validate.
-	(otl_gsub_validate_funcs): Don't use `const'.
-
-	* src/otlayout/otlcommn.c (otl_class_definition_get_value,
-	otl_device_table_validate, otl_device_table_get_delta,
-	otl_lookup_validate, otl_script_validate): Add missing
-	variable declarations.
-	(otl_lookup_list_validate): Comment out first definition.
-	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
-	(otl_feature_list_validate):
-	s/otl_feature_table_validate/otl_feature_validate/.
-	(otl_script_list_validate):
-	s/otl_script_table_validate/otl_script_validate/.
-
-	* src/otlayout/otlcommn.h: Comment out first declaration.
-	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
-
-	* src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
-	otl_device_table_validate.
-	(otl_base_script_validate): Add missing variable declarations.
-	(otl_base_script_list_validate): Fix call to
-	otl_base_script_validate.
-	(otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
-	and otl_base_script_list_validate.
-	(otl_base_validate): Fix calls to otl_axis_table_validate.
-
-	* src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
-	otl_attach_point_validate.
-	(otl_caret_value_validate): Add missing variable declaration.
-	Fix call to otl_device_table_validate.
-	(otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
-	(otl_ligature_caret_list_validate): Fix call to
-	otl_ligature_glyph_validate.
-	(otl_gdef_validate): Fix calls to otl_class_definition_validate,
-	otl_attach_list_validate, otl_ligature_caret_list_validate, and
-	otl_class_definition_validate.
-
-	* src/otlayout/otltable.h (otl_table_validate, otl_table_init,
-	otl_table_set_script): Comment out.
-
-	* src/otlayout/otlparse.h (OTL_ParserRec):
-	s/OTL_Alternate/OTL_GSUB_Alternate/.
-	(OTL_ParseError): Add OTL_Err_Parser_Memory and
-	OTL_Err_Parser_Internal.
-	(otl_parser_error): Fix typo.
-	(otl_parser_check_property): Remove third argument.
-
-	* src/otlayout/otlparse.c (otl_string_ensure):
-	s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
-	(OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
-	otl_parser_replace_1, otl_parser_replace_n): Fix typos.
-	(OTL_PARSER_UNCOVERED): Removed.
-	(otl_parser_check_property): Remove third argument.
-
-	* src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
-	variable declaration.
-
-	* src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
-
-2004-08-11  Danny  <[email protected]>
-
-	* src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
-	to NULL.  This allows custom close functions to delete the FT_STREAM
-	object.
-
-2004-08-11  Werner Lemberg  <[email protected]>
-
-	Add API to get information about SFNT tables.
-
-	* include/freetype/internal/services/svsfnt.h
-	(FT_SFNT_Table_Info_Func): New typedef.
-	(SFNT_Table): Add it.
-
-	* src/base/ftobjs (FT_Sfnt_Table_Info): New function.
-
-	* include/freetype/tttables.h: Updated.
-
-	* src/sfnt/sfdriver.c (sfnt_table_info): New function.
-	(sfnt_service_sfnt_table): Add it.
-
-	* docs/CHANGES: Updated.
-
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
-
-	* builds/unix/configure.ac (version_info): Set to 9:8:3.
-	* builds/unix/configure: Updated.
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
-
-	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
-	s/2.1.9/2.1.10/.
-
-	* docs/CHANGES, docs/VERSION.DLL: Updated.
-
-2004-08-11  Detlef Würkner  <[email protected]>
-
-	* src/base/ftrfork.c (FT_Raccess_Guess)
-	[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK]: Remove compiler
-	warnings.
-
-2004-08-06  Adam Piotrowski  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
-	adjustments are unsigned, not signed.
-
-2004-08-05  David Turner  <[email protected]>
-
-	`Activate' gray-scale specifying hinting within the TrueType
-	bytecode interpreter.  This is an experimental feature which
-	should probably be made optional.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Move the code to set the pedantic_hinting flag
-	to...
-	(TT_Load_Glyph): Here.
-	Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Return MS rasterizer
-	version 1.7.
-	Return rotation and stretching info only if glyph is rotated or
-	stretched, respectively.
-	Handle grayscale info.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
-	member.
-
-2004-08-02  George Williams  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
-
-2004-08-01  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-08-01  George Williams  <[email protected]>
-
-	FreeType now can read kerning values from PFM files.
-
-	* src/type1/t1afm.c (T1_Done_AFM): Renamed to...
-	(T1_Done_Metrics): This.
-	Update all callers.
-	(T1_Read_AFM): Make it static.
-	Don't enter and leave a frame.
-	(LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
-	(T1_Read_PFM): New function.
-	(T1_Read_Metrics): New higher-level function to be used instead of
-	T1_Read_AFM.
-	Update all callers.
-
-2004-07-31  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
-	(BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
-	tt_face_vary_cvt): Fix compiler warnings.
-
-2004-07-26  Søren Sandmann  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
-	face->style_name.
-	* src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
-
-2004-07-26  Darren J Longhorn  <[email protected]>
-
-	* include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
-	five-byte `long' (which is avoided then).
-
-2004-07-25  Detlef Würkner  <[email protected]>
-
-	* src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
-	ppem values.
-	(PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
-	code to compare ppem values.
-	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
-	ppem values.
-	(BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
-	code to compare ppem values.
-
-2004-07-25  Kornfeld Eliyahu Peter  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Handle
-	TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
-
-2004-07-24  Derek B. Noonburg  <[email protected]>
-
-	* src/cff/cffload.c (cff_font_load): Always create inverse mapping.
-	Even if the charstring count is the same as the CID count, it is
-	still possible that the font uses a different CID -> GID mapping.
-
-2004-07-23  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
-	found in some Arphic fonts made for Chinese version of Windows 3.1.
-
-2004-07-17  David Turner  <[email protected]>
-
-	Fixed a dangling pointer bug in the cache code that happened in very
-	rare cases, i.e., when a new family object was destroyed by an
-	out-of-memory condition during a glyph node initialization.  The
-	function FTC_Cache_Lookup would flush the cache and restart the
-	lookup with a bad pointer.
-
-	* include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
-	(FTC_GCACHE_LOOKUP_CMP): Use it.
-	Handle reference count in `num_nodes' correctly.
-
-	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
-	FTC_FAMILY_FREE.
-	(FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
-
-	* src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
-	bug.
-
-	* src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
-	long and unnecessary delays while normalizing huge vectors.
-
-2004-07-15  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
-	warning.
-
-2004-07-15  David Turner  <[email protected]>
-
-	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
-	are not stroked, preventing a bug with pala.ttf and other
-	fonts.
-
-	* include/freetype/ftstroke.h: Updating documentation comments.
-
-2004-07-13  Werner Lemberg  <[email protected]>
-
-	* src/base/ftstroke.c (ft_stroke_border_reverse): Removed.  Unused.
-
-2004-07-12  David Turner  <[email protected]>
-
-	* src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
-	to indicate reversion of points.
-	Update all callers.
-	(ft_stroke_border_reverse): Fix initialization of `point1' and
-	`tag1'.
-
-	* src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
-	for transformed glyphs.
-
-2004-07-11  David Turner  <[email protected]>
-
-	Fix bugs that prevented the stroker to correctly generate stroked
-	paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
-
-	The code is still _very_ buggy though; treat with special care.
-
-	* src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
-	(ft_stroke_border_reverse): New function.
-	(ft_stroker_inside): Remove local variable `sigma'; use different
-	threshold.
-	(ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
-	(FT_Stroker_EndSubPath): Call ft_stroker_inside and
-	ft_stroke_border_reverse.
-
-2004-06-26  Peter Kovar  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
-
-2004-06-25  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1afm.c (afm_atoindex): Fix boundary test.  Reported
-	by Dirck Blaskey.
-
-2004-06-24  David Turner  <[email protected]>
-
-
-	* Version 2.1.9 released.
-	=========================
-
-
-	* src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
-	compiler warnings.
-
-2004-06-23  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
-	FT_QAlloc_Debug and FT_QRealloc_Debug.
-
-	* src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
-	(FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
-	Fix error message.
-
-2004-06-23  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h, src/base/ftutil.c
-	(FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
-	FT_QRealloc_Debug): New functions that perform allocation without
-	zero-ing out the corresponding blocks.
-
-	* include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
-	FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
-	FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
-	FT_QRENEW_ARRAY): New macros.
-
-	* src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
-	* src/gzip/ftgzip.c (FT_Stream_OpenGzip):  Use FT_QNEW_ARRAY.
-	* src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
-
-	* src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
-	tt_face_load_gasp): Use FT_QNEW_ARRAY.
-	(tt_face_load_kern): Use FT_QNEW_ARRAY.
-	Small optimization in the kerning table verifier; this speeds up
-	TrueType face opening by about 7%.
-	(tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
-
-	* include/freetype/config/ftmodule.h: Changed the order of modules,
-	putting TrueType and Type 1 first.  This dramatically improves the
-	performance of face open/close operations.  For example, putting the
-	TrueType driver first in the list results in a 5x speedup when
-	opening `Vera.ttf'.
-
-	The very problem is that both the PCF and BDF drivers do a lot more
-	than necessary to detect that they cannot handle a font file.
-
-2004-06-22  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
-	pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
-	debugging messages.
-
-	* src/pcf/pcfdrivr.c (FT_COMPONENT): Move up.
-	(PCF_Face_Init): Simplify code.
-
-	* src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
-
-	* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
-	src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
-	Set `default_glyph'.
-	(BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
-
-	* docs/CHANGES: Updated.
-
-2004-06-21  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-06-21  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Don't access (unrounded)
-	`TT_Size.root.metrics' but (rounded) `TT_Size.metrics'.  This fixes
-	a scaling bug that caused incorrect rendering when the bytecode
-	interpreter was enabled.
-
-2004-06-14  Huw D M Davies  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
-	based on pixel_width and pixel_height.
-	(FNT_Size_Set_Pixels): Updated.
-
-2004-06-14  Werner Lemberg  <[email protected]>
-
-	* src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
-	Reported by Hyvärinen Jyrki Juhani.
-
-2004-06-11  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-06-10  David Turner  <[email protected]>
-
-	* src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
-	src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
-	Obsolete.
-
-	* src/raster/ftraster.c (Alignment, PAlignment): New union to fix
-	problems with 64bit systems.
-	(AlignProfileSize): Use it.
-
-2004-06-08  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Glyph_Metrics): Move `lsb_delta'
-	and `rsb_delta' elements to...
-	(FT_GlyphSlotRec): Here to retain binary compatibility with older
-	FreeType versions.
-	Update all users.
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
-	of slot->metrics.width and slot->metrics.height when loading a
-	Windows FNT glyph.  Thanks to Huw Davies.
-
-	* include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
-	return type to FT_Bool.
-
-	* src/cache/ftcbasic.c (ftc_basic_family_compare): Change return
-	type to FT_Bool.
-
-	* src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
-	the former call the latter, not vice versa.
-	(FTC_Cache_Done, ftc_cache_done): Ditto.
-
-	* src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
-	the former call the latter, not vice versa.
-	(FTC_GCache_Init, ftc_gcache_init): Ditto.
-	(FTC_GCache_Done, ftc_gcache_done): Ditto.
-
-	* src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
-	former call the latter, not vice versa.
-	(FTC_INode_Weight, ftc_inode_weight): Ditto.
-
-	* src/cache/ftcmanag.c (ftc_size_node_compare,
-	ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
-	type to FT_Bool.
-
-	* src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
-	former call the latter, not vice versa.
-	(FTC_SNode_Weight, ftc_snode_weight): Ditto.
-	(FTC_SNode_Compare, ftc_snode_compare): Ditto.
-
-	* src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
-	sub-system.
-
-2004-06-05  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
-	`rsb_delta' in slot->metrics and tune side bearings slightly.
-
-2004-06-04  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-06-04  David Chester  <[email protected]>
-
-	Improve inter-letter spacing for autohinted glyphs.
-
-	* include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
-	`lsb_delta' and `rsb_delta'.
-
-	* src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
-	`rsb_delta' in slot->metrics and tune side bearings slightly.
-
-2004-06-04  David Turner  <[email protected]>
-
-	* src/autofit/*: Important fixes to the auto-fitter.  The output
-	now seems to be 100% equivalent to the auto-hinter, while being
-	about 2% faster (which proves that script-specific algorithm
-	selection isn't a performance problem).
-
-	To test it, change `autohint' to `autofit' in
-	<freetype/config/ftmodule.h> and recompile.
-
-	A few more testing is needed before making this the official
-	auto-hinting module.
-
-2004-06-02  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
-	warnings.
-
-2004-06-01  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
-	name record for the Apple platform is preferred to a non-English
-	entry for the Microsoft platform.  Problem reported by HANDA
-	Ken'ichi.
-
-2004-05-19  George Williams  <[email protected]>
-
-	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
-	auxiliary functions.
-	(T1_Get_MM_Var): Provide axis tags.
-	Use mm_axis_unmap and mm_weights_unmap to provide default values
-	for design and normalized axis coordinates.
-
-	* include/freetype/t1tables.h (PS_DesignMapRec): Change type of
-	`design_points' to FT_Long.
-	Update all users.
-
-2004-05-17  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
-	Reported by Mikey Anbary <[email protected]>.
-
-2004-05-15  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
-
-2004-05-15  George Williams  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_max_profile): Always set
-	face->root.num_glyphs.
-
-2004-05-14  Masatake YAMATO  <[email protected]>
-	    George Williams  <[email protected]>
-
-	* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
-
-2004-05-14  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftcbasic.c (ftc_basic_family_compare,
-	ftc_basic_family_init, ftc_basic_family_get_count,
-	ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
-	ftc_basic_gnode_compare_faceid): Adjust parameters and return types
-	to prototypes given in header files from include/freetype/cache.
-	Use casts to proper types locally.
-	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
-	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
-	casts.
-
-	* src/cache/ftccback.h: Adjust parameters and return types to
-	prototypes given in header files from include/freetype/cache.
-
-	* src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
-	ftc_inode_weight): Adjust parameters and return types to prototypes
-	given in header files from include/freetype/cache.  Use casts to
-	proper types locally.
-
-	* src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
-	ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
-	types to prototypes given in header files from
-	include/freetype/cache.  Use casts to proper types locally.
-
-	* src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
-	ftc_cmap_node_weight, ftc_cmap_node_compare,
-	ftc_cmap_node_remove_faceid): Adjust parameters and return types to
-	prototypes given in header files from include/freetype/cache.  Use
-	casts to proper types locally.
-	(ftc_cmap_cache_class): Remove casts.
-
-	* src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
-	ftc_gcache_done): Adjust parameters and return types to prototypes
-	given in header files from include/freetype/cache.  Use casts to
-	proper types locally.
-
-	* src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
-	ftc_size_node_init, ftc_size_node_reset,
-	ftc_size_node_compare_faceid, ftc_face_node_init,
-	ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
-	return types to prototypes given in header files from
-	include/freetype/cache.  Use casts to proper types locally.
-
-	(ftc_size_list_class, ftc_face_list_class): Remove casts.
-
-2004-05-13  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
-	Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
-	(autohint_module_class): Remove casts.
-
-	* src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
-	ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
-	ft_outline_glyph_done, ft_outline_glyph_copy,
-	ft_outline_glyph_transform, ft_outline_glyph_bbox,
-	ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
-	to FT_XXXGlyph locally.
-	Use FT_CALLBACK_DEF throughout.
-	(ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
-
-	* src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
-	bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
-	and do a cast to BDF_CMap locally.
-	(bdf_cmap_class): Remove casts.
-
-2004-05-12  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.h (CFF_Builder): Remove `error'.
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
-	`Memory_Error' with `Fail' and update all users.
-
-2004-05-11  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (T1_ParseState): New
-	enumeration.
-	(T1_BuilderRec): Replace `path_begun' with `parse_state'.
-	Remove `error'.
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
-	`Memory_Error' with `Fail' and update all users.
-	Don't use `builder->error'.
-	Replace `path_begun' with `parse_state' and check parsing states.
-
-	* src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
-	Replace `path_begun' with `parse_state' and check parsing states.
-
-2004-05-10  George Williams  <[email protected]>
-
-	* src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
-	of error -- `avar' is optional so we can't rely on tt_done_blend
-	being called automatically.
-
-2004-05-09  George Williams  <[email protected]>
-
-	* src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
-	error handling.
-
-2004-05-07  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
-	pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
-	pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
-	typecast to the proper PFR_XXX types within the function.
-	Update code accordingly.
-
-	* src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
-	pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
-	arguments which are typecast to the proper PFR_XXX types within the
-	function.
-	Update code accordingly.
-	Use FT_CALLBACK_DEF throughout.
-	(pfr_metrics_service_rec, pfr_driver_class): Remove casts.
-
-2004-05-06  Masatake YAMATO  <[email protected]>
-
-	* src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
-	(*): Rename local variable OffsetToData to offsetToData.
-
-2004-05-06  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
-	cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
-	root fields directly.
-	* src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
-	frame before calling TT_Vary_Get_Glyph_Deltas.
-
-	* src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
-	consistency.
-	(pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
-	pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
-	are typecast to the proper PCF_XXX types within the function.
-	Update code accordingly.
-	(pcf_cmap_class): Remove casts.
-	(PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
-	PCF_XXX but FT_XXX arguments which are typecast to the proper
-	PCF_XXX types within the function.
-	Update code accordingly.
-	Use FT_CALLBACK_DEF throughout.
-	(PCF_Set_Point_Size): New wrapper function.
-	(PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
-	(pcf_driver_class): Remove casts.
-
-2004-05-04  Steve Hartwell  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_driver_done): Fix typo.
-
-2004-05-04  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
-	BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
-	are typecast to the proper BDF_XXX types within the function.
-	Update code accordingly.
-	Use FT_CALLBACK_DEF throughout.
-	(BDF_Set_Point_Size): New wrapper function.
-	(bdf_driver_class): Remove casts.
-
-	* src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
-	Don't use CFF_XXX but FT_XXX arguments which are typecast to the
-	proper CFF_XXX types within the function.
-	Update code accordingly.
-	Use FT_CALLBACK_DEF throughout.
-	(cff_driver_class): Remove casts.
-
-	* src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
-	cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
-	cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
-	Don't use CFF_XXX but FT_XXX arguments which are typecast to the
-	proper CFF_XXX types within the function.
-	Update code accordingly.
-	(cff_point_size_reset): New wrapper function.
-
-	* src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
-	cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
-	cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
-	Don't use CID_XXX but FT_XXX arguments which are typecast to the
-	proper CID_XXX types within the function.
-	Update code accordingly.
-	(cid_point_size_reset): New wrapper function.
-
-	* src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
-	Don't use CID_XXX but FT_XXX arguments which are typecast to the
-	proper CID_XXX types within the function.
-	Update code accordingly.
-
-	* src/cid/cidriver.c (cid_get_interface):
-	Don't use CID_XXX but FT_XXX arguments which are typecast to the
-	proper CID_XXX types within the function.
-	Update code accordingly.
-	Use FT_CALLBACK_DEF.
-	(t1cid_driver_class): Remove casts.
-
-	* src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
-	* src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
-	variables (this is done later).
-	(ft_var_load_avar): Fix call to FT_FRAME_ENTER.
-	(TT_Get_MM_Var): Fix size for `fvar_fields'.
-	(TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
-	correctly.
-
-	* src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
-	current size is zero.
-
-2004-05-03  Steve Hartwell  <[email protected]>
-
-	* src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
-	tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
-	tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
-	typecast to the proper TT_XXX types within the function.
-	Update code accordingly.
-
-	* src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
-	Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
-	FT_XXX arguments which are typecast to the proper TT_XXX types
-	within the function.
-	Update code accordingly.
-	(tt_driver_class): Remove casts.
-
-2004-05-02  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
-	is not NULL.  Reported by Gordon Childs <[email protected]>.
-
-2004-04-29  Werner Lemberg  <[email protected]>
-
-	* docs/formats.txt: Add more information on PFR format.
-
-2004-04-28  Werner Lemberg  <[email protected]>
-
-	* docs/formats.txt: New file.
-	* docs/CHANGES: Updated.
-
-2004-04-28  Masatake YAMATO  <[email protected]>
-
-	* include/freetype/internal/tttypes.h (GX_BlendRec_)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
-
-	* src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
-
-2004-04-27  Masatake YAMATO  <[email protected]>
-
-	* src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
-	for function declarations.
-
-2004-04-25  George Williams  <[email protected]>
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
-
-2004-04-25  Werner Lemberg  <[email protected]>
-
-	* src/truetype/Jamfile, docs/CHANGES: Updated.
-
-2004-04-24  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
-	* src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
-	* src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
-	Use FT_BEGIN_HEADER and FT_END_HEADER.
-	Use FT_LOCAL.
-
-2004-04-24  George Williams  <[email protected]>
-
-	Add support for Apple's distortable font technology (in GX fonts).
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
-
-	* include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
-	FT_MM_Var): New structures.
-	(FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
-	FT_Set_Var_Blend_Coordinates): New function declarations.
-
-	* include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
-	FT_Set_Var_Design_Func): New typedefs.
-	Update MultiMasters service.
-
-	* include/freetype/internal/tttypes.h
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
-	(GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
-	(TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
-	and `blend'.
-
-	* include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
-	macros.
-
-	* include/freetype/internal/fttrace.h: Add `ttgxvar'.
-
-	* src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
-	FT_Set_Var_Blend_Coordinates): New functions.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
-	flag for GX var fonts.
-
-	* src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
-
-	* src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	ttgxvar.c.
-
-	* src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
-	(tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
-	New service.
-	(tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
-
-	* src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	ttgxvar.h.
-	(TT_Process_Simple_Glyph, load_truetype_glyph)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Support GX var fonts.
-
-	* src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	ttgxvar.h.
-	(tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
-	tt_done_blend.
-
-	* src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	ttgxvar.h.
-	(tt_face_load_cvt)  [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
-	tt_face_vary_cvt.
-
-	* src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
-
-	* src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
-	and T1_Set_Var_Design.
-
-	* src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
-	(T1_Get_MM_Var, T1_Set_Var_Design): New functions.
-
-	* src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
-	function declarations.
-
-2004-04-23  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
-	declaration and move to...
-	* include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
-	(FREETYPE_PATCH): Set to 9.
-
-	* src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
-
-	* builds/unix/configure.ac (version_info): Set to 9:7:3.
-	* builds/unix/configure: Updated.
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj: s/218/219/.
-
-	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
-	s/2.1.8/2.1.9/.
-
-	* docs/CHANGES, docs/VERSION.DLL: Updated.
-
-2004-04-21  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
-	(ps_parser_load_field): Use FT_CHAR_BIT.
-
-2004-04-21  David Turner  <[email protected]>
-
-
-	* Version 2.1.8 released.
-	=========================
-
-
-	* src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
-
-	* src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
-	(af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
-	Remove compiler warnings.
-
-	* src/autofit/aftypes.h: Undefine AF_DEBUG.
-
-	* src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
-	pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
-	(ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
-	t42_service_ps_font_name): Decorate data arrays with `const' to
-	avoid populating the `.data' segment.
-
-	* src/lzw/Jamfile: New file.
-
-2004-04-20  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (T1Radix): Renamed to...
-	(ps_radix): This.
-	Update current cursor position.
-
-	* docs/CHANGES: Updated.
-
-2004-04-18  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
-	src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
-	FT_UInt.  From Lex Warners.
-
-2004-04-17  Chisato Yamauchi  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
-	from 2004-03-19.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
-
-	* src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
-	`static'.
-	Remove unused function `RepadBitmap'.
-	* src/pcf/pcfdrivr.c: Don't include pcfutil.h.
-
-2004-04-16  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype-config.in (usage): Fix and improve usage
-	information.
-
-2004-04-15  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
-	FT_CHAR_BIT.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
-	glyph is vertically distorted or mirrored.
-
-	* src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
-	for embedded bitmaps.
-
-	* docs/CHANGES: Updated.
-
-2004-04-15  bytesoftware  <[email protected]>
-
-	* include/freetype/config/ftconfig.h, src/base/ftstream.c
-	(FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
-
-2004-04-14  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
-
-2004-04-14  Alex Strelnikov  <[email protected]>
-
-	* src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
-	of error.
-
-2004-04-14  Werner Lemberg  <[email protected]>
-
-	* src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
-	* builds/unix/configure.ac: Don't try to remove `-ansi' compilation
-	switch on the Mac.
-
-	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
-	--copy' from libtool 1.5.6.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.8a.
-	* builds/unix/configure: Regenerated with autoconf 2.59a.
-
-2004-04-13  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftconfig.h: Use CHAR_BIT to define
-	size of FT_SIZEOF_xxx.
-
-2004-04-12  Chisato Yamauchi  <[email protected]>
-
-	* include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
-	TT_Load_SBit_Metrics_Func): New typedefs.
-	(SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
-
-	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
-	* src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
-	declarations.
-	* src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
-	(tt_find_sbit_image): This.
-	Updated all callers.
-	(load_sbit_metrics): Renamed to...
-	(tt_load_sbit_metrics): This.
-	Updated all callers.
-
-2004-04-12  Werner Lemberg  <[email protected]>
-
-	* configure: Accept makepp also.
-
-	* builds/unix/detect.mk: Use proper path to unix-def.mk.
-	* builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
-	* builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
-	Use BUILD_DIR.
-
-	* docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
-	documentation on makepp.
-
-2004-04-11  Werner Lemberg  <[email protected]>
-
-	* src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
-
-2004-04-10  Werner Lemberg  <[email protected]>
-
-	* src/lzw/ftlzw.c: Include zopen.h dependent on
-	FT_CONFIG_OPTION_USE_LZW.
-
-	* src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
-
-2004-04-02  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
-	--copy' from libtool 1.5.2.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.8a.
-	* builds/unix/configure: Regenerated with autoconf 2.59a.
-
-2004-04-01  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
-	AC_COMPILE_IFELSE.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.8a.
-	* builds/unix/configure: Regenerated with autoconf 2.59a.
-	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org.
-	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
-	`texinfo' CVS module at subversions.gnu.org.
-	* builds/freetype.mk (refdoc): Updated.
-
-2004-03-31  Werner Lemberg  <[email protected]>
-
-	Handle broken FNT files which don't have a trailing NULL byte
-	in the face name string.
-
-	* src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
-	* src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
-	(FNT_Face_Init): Append a final zero byte to the font face name.
-
-2004-03-30  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
-	2004-03-19.
-
-2004-03-27  Werner Lemberg  <[email protected]>
-
-	* src/base/descrip.mms (OBJS): Add ftbbox.obj.
-
-2004-03-26  George Williams  <[email protected]>
-
-	Add vertical phantom points.
-
-	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
-	`top_bearing', `vadvance', `pp3', and `pp4'.
-
-	* src/autofit/afloader.c (af_loader_load_g): Handle two more points.
-
-	* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
-	* src/truetype/ttgload.c (Get_VMetrics): New function.
-	(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
-	points.
-	(load_truetype_glyph): Use Get_VMetrics.
-	Handle two more points.
-	(compute_glyph_metrics): Thanks to vertical phantom points we now
-	can always compute `advance_height' and `top_bearing'.
-	* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
-	points.
-
-
-	* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
-	`news'.
-
-2004-03-21  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
-
-2004-03-20  Steve Hartwell  <[email protected]>
-
-	* src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
-	value for `selection' as `select all'.
-
-2004-03-19  Steve Hartwell  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
-	values > 0 if loading non-TTC fonts.
-
-	* src/base/ftmac.c (open_face_from_buffer): Set positive face_index
-	to zero before calling FT_Open_Face.
-
-	* docs/CHANGES: Updated.
-
-2004-03-04  Werner Lemberg  <[email protected]>
-
-	* Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
-	Add LZW module.
-
-	* Jamfile.in: Removed.
-
-	* docs/CHANGES: Updated.
-
-	* include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
-	s/ABS/FT_ABS/.  Updated all callers.
-
-	* src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
-	(PCF_Face_Init): Use FT_ERROR_BASE.
-
-2004-03-04  Albert Chin  <[email protected]>
-
-	Add support for PCF fonts compressed with LZW (extension .pcf.Z,
-	created with `compress').
-
-	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(FT_CONFIG_OPTION_USE_LZW): New macro.
-
-	* include/freetype/ftlzw.h: New file.
-	* include/freetype/config/ftheader.h (FT_LZW_H): New macro for
-	ftlzw.h.
-
-	* src/lzw/*: New files.
-
-	* src/pcf/pcfdrivr.c: Include FT_LZW_H.
-	(PCF_Face_Init): Try LZW also.
-
-	* src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
-	Beautify.
-
-2004-03-03  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
-
-2004-03-02  Werner Lemberg  <[email protected]>
-
-	Add embedded bitmap support to CFF driver.
-
-	* src/cff/cffobjs.h (CFF_SizeRec): New structure.
-
-	* src/cff/cffgload.c (cff_builder_init): Updated.
-	(cff_slot_load): Updated.
-	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
-
-	* src/cff/cffobjs.c (sbit_size_reset)
-	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
-	(cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
-	(cff_size_reset): Updated.
-	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
-
-	* src/cff/cffdrivr.c (Load_Glyph): Updated.
-	(cff_driver_class): Use CFF_SizeRec.
-
-	* docs/CHANGES: Updated.
-
-2004-03-01  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
-	FT_RoundFix but FT_PIX_ROUND.
-	(psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
-
-	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
-	(psh_glyph_find_strong_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
-	(psh_glyph_find_blue_points): New function.  Needed for fonts like
-	p052003l.pfb (URW Palladio L Roman) which have flex curves at the
-	base line within blue zones, but the flex curves aren't covered by
-	hints.
-	(ps_hints_apply): Use psh_glyph_find_blue_points.
-
-2004-02-27  Garrick Meeker  <[email protected]>
-
-	* builds/unix/configure.ac: Fix compiler flags for
-	`--with-old-mac-fonts'.
-	* builds/unix/configure: Regenerated.
-
-	* src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
-	(FT_New_Face_From_Resource): New function.
-	(FT_New_Face): Use FT_New_Face_From_Resource.
-	(FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
-	[__MWERKS__]: Don't include FSp_fopen.h.
-
-2004-02-26  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshglob.c (psh_globals_new): Fix value of
-	`dim->stdw.count'.
-	Don't assign default values to blue scale and blue shift.
-
-2004-02-25  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-02-25  Garrick Meeker  <[email protected]>
-	    Steve Hartwell  <[email protected]>
-
-	Improve MacOS fond support.  Provide a new API
-	`FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
-
-	* src/base/ftmac.c [__MWERKS__]: Include FSp_fopen.h.
-	STREAM_FILE [__MWERKS__]: New macro.
-	(ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
-	(file_spec_from_path) [__MWERKS__]: Updated #if statement.
-	(get_file_type, make_lwfn_spec): Use `const' for argument.
-	(is_dfont) [TARGET_API_MAC_CARBON]: Removed.
-	(count_face_sfnt, count_faces): New functions.
-	(parse_fond): Do some range checking.
-	(read_lwfn): Change type of second argument.
-	No longer call FSpOpenResFile.
-	(OpenFileAsResource): New function.
-	(FT_New_Face_From_LWFN): Use `const' for second argument.
-	Use OpenFileAsResource.
-	(FT_New_Face_From_Suitcase): Change type of second argument.
-	No longer call FSpOpenResFile.
-	Loop over all resource indices.
-	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
-	(FT_GetFile_From_Mac_Name): Use `const' for first argument.
-	(ResourceForkSize): Removed.
-	(FT_New_Face): Updated to use new functions.
-	(FT_New_Face_From_FSSpec): New function.
-
-	* include/freetype/ftmac.h: Updated.
-
-2004-02-24  Malcolm Taylor  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
-	Handle case where outline->num_vedges is zero while computing hinted
-	metrics.
-
-2004-02-24  Gordon Childs  <[email protected]>
-
-	* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
-	for `count'.
-
-2004-02-24  Werner Lemberg  <[email protected]>
-
-	* include/freetype/t1tables.h (PS_PrivateRec): Add
-	`expansion_factor'.
-
-	* src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
-	of blues->no_overshoots -- `blues_scale' is stored with a
-	magnification of 1000, and `scale' returns fractional pixels.
-
-	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
-	`blue_fuzz', `expansion_factor', and `blue_scale' according to the
-	Type 1 specification.
-
-	* src/type1/t1tokens.h: Handle `ExpansionFactor'.
-
-	* docs/CHANGES: Updated.
-
-2004-02-24  Masatake YAMATO  <[email protected]>
-
-	Provide generic access to MacOS resource forks.
-
-	* src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
-	files.
-
-	* src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
-	(Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
-	`resource_listoffset' and `resource_data' and adapt code
-	accordingly.  These values are calculated outside of the function
-	now.
-	Add new argument `offsets'.
-	(IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
-	`FT_Raccess_Get_DataOffsets'.
-	(load_face_in_embedded_rfork): New function.
-	(load_mac_face): Use load_face_in_embedded_rfork.
-	(ft_input_stream_new): Renamed to...
-	(FT_Stream_New): This.  Use FT_BASE_DEF.  Updated all callers.
-	(ft_input_stream_free): Renamed to...
-	(FT_Stream_Free): This.  Use FT_BASE_DEF.  Updated all callers.
-
-	* src/base/ftbase.c: Include ftrfork.c.
-
-	* src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
-	New macro.
-
-	* include/freetype/internal/fttrace.h: Added `rfork' as a new
-	trace definition.
-
-	* include/freetype/internal/ftstream.h: Declare FT_Stream_New and
-	FT_Stream_Free.
-
-	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
-
-	* include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
-
-2004-02-23  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-	* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
-
-2004-02-23  Masatake YAMATO  <[email protected]>
-
-	Provide a simple API to control FreeType's tracing levels.
-
-	* include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
-	FT_Trace_Get_Name): New declarations.
-
-	* src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
-	functions.
-
-2004-02-23  David Turner  <[email protected]>
-
-	* src/autofit/afhints.c, src/autofit/afhints.h,
-	src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
-	bugs have been fixed.  The auto-fitter works, doesn't crash, but
-	still produces unexpected results...
-
-2004-02-21  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
-	the accepted shift for strong points in fractional pixels (which
-	is a heuristic value).
-	(psh_glyph_find_strong_points): Compute threshold for
-	psh_hint_table_find_strong_points.
-	(psh_hint_table_find_strong_point): Add parameter to pass threshold.
-
-2004-02-20  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
-	ps_mask_table_alloc but ps_mask_table_last.
-	(ps_hints_t2mask): Use correct position and number for vertical
-	and horizontal hinter mask bits.
-
-	* docs/CHANGES: Updated.
-
-2004-02-19  Werner Lemberg  <[email protected]>
-
-	* src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
-	* src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
-
-2004-02-18  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
-
-	* src/base/ftglyph.c (ft_bitmap_glyph_class,
-	ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render): Handle
-	FT_RENDER_MODE_LIGHT.
-
-2004-02-17  Werner Lemberg  <[email protected]>
-
-	Fix callback functions in cache module.
-
-	* src/cache/ftccback.h: New file for callback declarations.
-
-	* src/cache/ftcbasic.c (ftc_basic_family_compare,
-	ftc_basic_family_init, ftc_basic_family_get_count,
-	ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
-	ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
-	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
-	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
-	Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
-
-	* src/cache/ftccache.c: Include ftccback.h.
-	(ftc_cache_init, ftc_cache_done): New wrapper functions which use
-	FT_LOCAL_DEF.
-
-	* src/cache/ftccmap.c: Include ftccback.h.
-	(ftc_cmap_cache_class): Use local wrapper functions.
-
-	* src/cache/ftcglyph.c: Include ftccback.h.
-	(ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
-	functions which use FT_LOCAL_DEF.
-
-	* src/cache/ftcimage.c: Include ftccback.h.
-	(ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
-	functions which use FT_LOCAL_DEF.
-
-	* src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
-	Use FT_CALLBACK_TABLE_DEF.
-
-	* src/cache;/ftcsbits.c: Include ftccback.h.
-	(ftc_snode_free, ftc_snode_new, ftc_snode_weight,
-	ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
-
-	* src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
-
-2004-02-17  Masatake YAMATO  <[email protected]>
-
-	* include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
-	(FT_EXPORT_DEF -> FT_EXPORT).
-
-	* include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
-
-2004-02-15  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
-
-2004-02-14  Masatake YAMATO  <[email protected]>
-
-	* builds/unix/ftsystem.c: Include errno.h.
-	(ft_close_stream): Renamed to...
-	(ft_close_stream_by_munmap): This.
-	(ft_close_stream_by_free): New function.
-	(FT_Stream_Open): Use fallback method if mmap fails.
-	Use proper function for closing the stream.
-
-2004-02-14  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_dict): Initialize `start_binary'.
-
-2004-02-13  Robert Etheridge  <[email protected]>
-
-	* src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
-	(T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
-	of underline_position and underline_thickness.
-
-2004-02-12  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
-	ppem values don't change.  Suggested by Graham Asher.
-
-2004-02-11  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_face_open): Always allocate
-	face->cid_stream so that we can deallocate it safely.
-
-2004-02-10  Werner Lemberg  <[email protected]>
-
-	Make the PS parser more tolerant w.r.t. non-standard font data.  In
-	general, an error is only reported in case of a syntax error; a
-	wrong type is now simply ignored (if possible).  To be independent
-	of the order of various MM-specific keywords, the parse_shared_dict
-	routine has been removed -- the PS parser is now capable to skip
-	this data.  It no longer fails on parsing e.g.
-
-	  dup /WeightVector exch def
-
-	Since the token following /WeightVector isn't `[' (starting an
-	array) it is simply ignored.
-
-	* include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
-	new internal error value.
-
-	* src/type1/t1load.c (parse_blend_axis_types,
-	parse_blend_design_positions, parse_blend_design_map): Return
-	T1_Err_Ignore if no proper array is following the keyword.
-	(parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
-	structure, if necessary.
-	Return T1_Err_Ignore if no proper array is following the keyword.
-	(parse_shared_dict): Removed.
-	(parse_encoding): Set parser->root.error to return T1_Err_Ignore
-	if no result can be obtained.
-	Check for errors before accessing `elements' array.
-	(t1_keywords): Remove /shareddict.
-	(parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
-	Set keyword_flag only in case of success.
-	Check error code if skipping an unrecognized token.
-	(T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
-	if blend commands haven't set up a proper MM font.
-
-	* src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
-	code for synthetic fonts.
-	Return PSaux_Err_Ignore if no proper value has been found.
-
-2004-02-09  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_endchar>: Preserve glyph width before calling
-	cff_operator_seac.
-
-2004-02-09  Martin Muskens  <[email protected]>
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
-	first argument for `hintmask' and `cntrmask' operators also.
-
-2004-02-08  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.in: Call AC_SUBST for `enable_shared',
-	`hardcode_libdir_flag_spec', and `wl'.
-	* builds/unix/configure: Regenerated.
-
-	* builds/unix/freetype-config.in: Make --prefix and --exec-prefix
-	actually work.
-	Report a proper --rpath (or -R) value for --libs argument if a
-	shared library has been built.
-
-	* docs/CHANGES: Updated.
-
-2004-02-07  Keith Packard  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
-	computation of various vertical and horizontal metric values.
-
-	* src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
-	Ditto.
-
-2004-02-07  Werner Lemberg  <[email protected]>
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
-
-2004-02-07  Vitaliy Pasternak  <[email protected]>
-
-	* builds/win32/visualc/freetype.sln,
-	builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
-
-2004-02-03  Werner Lemberg  <[email protected]>
-
-	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
-	Initialize `node'.
-	* src/type1/t1load.c (parse_dict): Initialize `have_integer'.
-
-2004-02-02  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
-	outside of /Subrs or /CharStrings.  This can happen if there is
-	additional code manipulating those two arrays so that FreeType
-	doesn't recognize them properly.
-	(T1_Open_Face): Improve an error message.
-
-2004-02-01  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_charstrings): Exit immediately if
-	there are no elements in /CharStrings.  This is needed for fonts
-	like Optima-Oblique which not only define /CharStrings but access it
-	also.
-
-2004-02-01  David Turner  <[email protected]>
-
-	* src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
-
-	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
-	<FTC_INLINE>: Provide macro version which doesn't use inline code.
-	* include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
-	<FTC_INLINE>: Ditto.
-	Use FTC_MRULIST_LOOKUP_CMP.
-	* include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
-	macro.
-	(FTC_MRULIST_LOOKUP): Use it.
-
-	* src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
-	* src/cache/ftcbasic.c: Fix compiler warnings.
-	* src/cache/ftcmanag.c (FTC_Manager_LookupSize,
-	FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
-	* src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
-	heavy testing).
-
-	* Jamfile: Updating `refdoc' target, and adding `autohint' to the
-	list of modules to build.  Both the autohinter and autofitter will
-	be built by default.  But which one will be used is determined by
-	the content of `ftmodule.h'.
-
-	* src/autofit/*: Many updates, but the code is still buggy...
-
-2004-01-31  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
-	accent offset.
-	Update code similarly to the seac support for Type 1 fonts.
-	(cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
-	of accent offset.
-	Don't hint glyphs twice if seac is emulated.
-	<cff_op_flex>: Assign correct point tags.
-	* docs/CHANGES: Updated.
-
-2004-01-30  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
-	FT_MEM_COPY, for copying the private dict.
-
-	* src/type1/t1load.c (parse_subrs): Assign number of subrs only
-	in first run.
-	(parse_charstrings): Parse /CharStrings in second run without
-	assigning values.
-	(parse_dict): Skip all /CharStrings arrays but the first.  We need
-	this for non-standard fonts like `Optima' which have different
-	outlines depending on the resolution.  Note that there is no
-	guarantee that we get fitting /Subrs and /CharStrings arrays; this
-	can only be done by a real PS interpreter.
-
-2004-01-29  Antoine Leca  <[email protected]>
-
-	* builds/win32/visualc/index.html: New file, giving detailed
-	explanations about forcing CR+LF line endings for the VC++ project
-	files.
-
-2004-01-22  Garrick Meeker  <[email protected]>
-
-	* src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
-
-2004-01-22  Werner Lemberg  <[email protected]>
-
-	Add support for the hexadecimal representation of binary data
-	started with `StartData' in CID-keyed Type 1 fonts.
-
-	* include/freetype/internal/t1types.h (CID_FaceRec): Add new
-	members `binary_data' and `cid_stream'.
-
-	* src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
-	(cid_hex_to_binary): New auxiliary function.
-	(cid_face_open): Add new argument `face_index' to return quickly
-	if less than zero.  Updated all callers.
-	Call `cid_hex_to_binary', then open and assign memory stream to
-	`face->cid_stream' if `parser->binary_length' is non-zero.
-	* src/cid/cidload.h: Updated.
-
-	* src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
-	`cid_stream'.
-
-	* src/cid/cidparse.c (cid_parser_new): Check arguments to
-	`StartData' and set parser->binary_length accordingly.
-	* src/cid/cidparse.h (CID_Parser): New member `binary_length'.
-
-	* src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
-
-	* docs/CHANGES: Updated.
-
-2004-01-21  Werner Lemberg  <[email protected]>
-
-	include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
-	(ft_atol): This.
-	* src/base/ftdbgmem.c: s/atol/ft_atol/.
-	* src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
-
-2004-01-20  Masatake YAMATO  <[email protected]>
-
-	* include/freetype/ftcache.h: Delete duplicated definition of
-	FTC_FaceID.
-
-	* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
-	Info service function if the cmap comes from sfnt.  Return 0 if the
-	cmap is synthesized in cff module.
-
-2004-01-20  David Turner  <[email protected]>
-
-	* src/cache/ftcmanag.c (ftc_size_node_compare): Call
-	FT_Activate_Size.
-
-2004-01-20  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
-	CR, LF, or CR/LF after `eexec'.
-
-2004-01-18  David Turner  <[email protected]>
-
-	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
-	warning.
-
-	* src/tools/docmaker/*: Updating beautifier tool.
-
-2004-01-15  David Turner  <[email protected]>
-
-	* src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
-	infinite loop bug.
-
-	* include/freetype/ftstroke.h: Include FT_GLYPH_H.
-	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
-	declarations.
-
-	* src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
-	(FT_Outline_GetOutsideBorder): Inverse result.
-	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
-	functions.
-	(FT_Stroker_EndSubPath): Close path if needed.
-	(FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
-
-	* include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
-	FTC_Manager_LookupSize): Moved to...
-	* include/freetype/ftcache.h (FTC_ScalerRec,
-	FTC_Manager_LookupSize): Here.
-
-	* src/tools/docmaker/docbeauty.py: New file to beautify the
-	documentation comments (e.g., to convert them to single block border
-	mode).
-	* src/tools/docmaker/docmaker.py (file_exists, make_file_list):
-	Moved to...
-	* src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
-
-2004-01-14  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
-	FT_ARRAY_MOVE): New macros to make copying arrays easier.
-	Updated all relevant code to use them.
-
-2004-01-14  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
-	Use number of charstrings as argument to CFF_Load_FD_Select (as
-	documented in the CFF specs).
-
-2004-01-13  Graham Asher  <[email protected]>
-
-	* src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
-	`glyph->memory' up to free arrays properly in case of failure.
-
-2004-01-10  Masatake YAMATO  <[email protected]>
-
-	Make `FT_Get_CMap_Language_ID' work with CFF.  Bug reported by
-	Steve Hartwell <[email protected]>.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
-	(cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
-	(cff_get_cmap_info): New function.
-	(cff_service_get_cmap_info) New entry for cff_services.
-
-	* src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
-	Suggested by Steve Hartwell <[email protected]>.
-
-2004-01-03  Masatake YAMATO  <[email protected]>
-
-	* src/base/ftobjs.c (destroy_charmaps): New function.
-	(destroy_face, open_face): Use `destroy_charmaps'.
-
-2004-01-01  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2004-01-01  Michael Jansson  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
-	size->metrics.descender.
-
-2003-12-31  Wolfgang Domröse  <[email protected]>
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	[FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
-	<cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
-	cast for accessing arguments.
-
-2003-12-31  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
-	change.  It's not necessary.
-
-2003-12-29  Smith Charles  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
-	flags set' correctly.
-
-2003-12-29  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
-	`full' and `weight' properly.
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
-	tracing output.
-
-2003-12-26  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
-	Use FT_UInt for ppem values.
-	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
-	ppem values.
-	* src/sfnt/ttsbit.h: Updated.
-
-	* src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
-	larger than -0FFFF.
-
-2003-12-25  Werner Lemberg  <[email protected]>
-
-	* src/base/fttrigon.c, src/base/ftgloadr.c: Include
-	FT_INTERNAL_OBJECTS_H.
-
-	* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
-	FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
-	C++ compilers.
-
-	* src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
-	s/select/selection/ to avoid compiler warning.
-	* src/cff/cffload.h: s/select/ftselect/ to avoid potential
-	compiler warning.
-
-2003-12-24  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftcsbits.c (FTC_SNode_Weight):
-	s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
-
-2003-12-24  David Turner  <[email protected]>
-
-	* Fixed compilation problems in the cache sub-system.
-
-	* Partial updates to src/autofit.
-
-	* Jamfile (FT2_COMPONENTS): Add autofit module.
-
-2003-12-23  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
-	CID-keyed fonts.
-
-2003-12-23  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
-	FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_PIX_CEIL): New macros.
-	They are used to avoid compiler warnings with very pedantic compilers.
-	Note that `(x) & -64' causes a warning if (x) is not signed.  Use
-	`(x) & ~63' instead!
-	Updated all related code.
-
-	Add support for extraction of `inside' and `outside' borders.
-
-	* src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
-	(FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
-	FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
-	(FT_StrokeBorderRec): New boolean member `valid'.
-	(ft_stroke_border_get_counts): Updated.
-	* include/freetype/ftstroke.h: Updated.
-
-2003-12-22  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
-	to describe the `charset' field in FT_WinFNT_HeaderRec.
-	* src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
-	FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
-
-	* include/freetype/freetype.h (FT_Encoding): Improve comment,
-	based on work by Detlef Würkner <[email protected]>.
-
-	* docs/CHANGES: Updated.
-
-2003-12-22  David Turner  <[email protected]>
-
-	* include/freetype/ftcache.h,
-	include/freetype/cache/ftcmanag.h,
-	include/freetype/cache/ftccache.h,
-	include/freetype/cache/ftcmanag.h,
-	include/freetype/cache/ftcmru.h (added),
-	include/freetype/cache/ftlru.h (removed),
-	include/freetype/cache/ftcsbits.h,
-	include/freetype/cache/ftcimage.h,
-	include/freetype/cache/ftcglyph.h,
-	src/cache/ftcmru.c,
-	src/cache/ftcmanag.c,
-	src/cache/ftccache.c,
-	src/cache/ftcglyph.c,
-	src/cache/ftcimage.c,
-	src/cache/ftcsbits.c,
-	src/cache/ftccmap.c,
-	src/cache/ftcbasic.c (added),
-	src/cache/ftlru.c (removed):
-
-	  *Complete* rewrite of the cache sub-system to `solve' the
-	  following points:
-
-	    - all public APIs have been moved to FT_CACHE_H, everything
-	      under `include/freetype/cache' is only needed by client
-	      applications that want to implement their own caches
-
-	    - a new function named FTC_Manager_RemoveFaceID to deal
-	      with the uninstallation of FaceIDs
-
-	    - the image and sbit cache are now abstract classes, that
-	      can be extended much more easily by client applications
-
-	    - better performance in certain areas.  Further optimizations
-	      to come shortly anyway...
-
-	    - the FTC_CMapCache_Lookup function has changed its signature,
-	      charmaps can now only be retrieved by index
-
-	    - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
-	      FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
-	      private header for the moment)
-
-2003-12-21  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
-	is encountered.
-
-2003-12-19  Werner Lemberg  <[email protected]>
-
-	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32.  For
-	example, the Japanese Hiragino font already contains 15 subfonts.
-
-	* src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
-	CID-keyed fonts.
-
-	* devel/ftoption.h: Define FT_DEBUG_MEMORY.
-
-2003-12-18  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
-	* src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
-
-2003-12-18  Werner Lemberg  <[email protected]>
-
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
-	`cid_count' to `FT_ULong'.
-
-	* src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
-	array.
-
-	* src/cff/cffload.c (cff_charset_done): Free `cids' array.
-	(cff_font_load): Create cids array only for CID-keyed fonts which
-	are subsetted.
-
-	* src/cff/cffobjs.c (cff_face_init): Check the availability of
-	the PSNames modules for non-pure CFFs also.
-	Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
-	CID-keyed.
-
-	* src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
-
-2003-12-17  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Don't set
-	FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
-	table.
-
-	* docs/CHANGES: Updated.
-
-2003-12-17  Masatake YAMATO  <[email protected]>
-
-	Add new function FT_Get_CMap_Language_ID to extract the language ID
-	for TrueType/sfnt fonts.
-
-	* include/freetype/internal/services/svttcmap.h: New file.
-	* include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
-	svttcmap.h.
-
-	* src/sfnt/sfdriver.c: Include ttcmap0.h.
-	(tt_service_get_cmap_info): New service.
-	(sfnt_services): Updated.
-
-	* src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
-	(tt_cmap*_class_rec): Add tt_cmap*_get_info members.
-	(tt_get_cmap_info): New function.
-	* src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
-	(TT_CMap_ClassRec): New field `get_cmap_info'.
-	(tt_get_cmap_info): New declaration.
-
-	* src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
-	(FT_Get_CMap_Language_ID): New function implementation.
-	* include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
-	function declaration.
-
-2003-12-16  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed.  Obsolete.
-
-	* include/freetype/internal/sfnt.h (SFNT_Interface): Remove
-	obsolete fields `load_charmap' and `free_charmap'.
-	(TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
-	* src/sfnt/sfnt.c: Don't include ttcmap.c.
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
-	* src/sfnt/ttload.c: Don't include ttcmap.h.
-	* src/sfnt/sfdriver.c: Don't include ttcmap.h.
-	(sfnt_interface): Updated.
-
-	* include/freetype/internal/tttypes.h (TT_TableDirRec,
-	TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
-	TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
-	TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
-	TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
-	Obsolete.
-	* src/cff/cffobjs.h (CFF_CharMapRec): Removed.  Obsolete.
-
-2003-12-15  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2003-12-15  Wolfgang Domröse  <[email protected]>
-
-	* builds/atari/*: New directory for building FreeType 2 on Atari
-	with the PureC compiler.
-
-2003-12-12  Wolfgang Domröse  <[email protected]>
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
-	cast.
-	* src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
-	value is either 0 or 1.
-
-2003-12-12  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
-	(cff_get_name_index): Return if no PSNames service is available.
-	(cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
-	* src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
-	CID-keyed fonts.  This is the inverse mapping of `sids'.
-	* src/cff/cffload.c (cff_charset_load): New argument `invert'.
-	Initialize charset->cids if `invert' is set.
-	(cff_font_load): In call to cff_charset_load, set `invert' to true
-	for CID-keyed fonts.
-	* src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
-	and map it to the real glyph index.
-
-	* docs/CHANGES: Updated.
-
-2003-12-11  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Don't set
-	FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
-	Don't construct a cmap for CID-keyed fonts.
-
-2003-12-10  Werner Lemberg  <[email protected]>
-
-	Use implementation specific SID value 0xFFFF to indicate that
-	a dictionary element is missing.
-
-	* src/cff/cffload.c (cff_subfont_load): Initialize all fields
-	which hold SIDs to 0xFFFF.
-	(cff_index_get_sid_string): Handle SID value 0xFFFF.
-	Handle case where `psnames' is zero.
-	(cff_font_load): Updated.
-	Don't load encoding for CID-keyed CFFs.
-
-	* src/cff/cffobjs.c (cff_face_init): Updated.
-	Don't check for PSNames module if font is CID-keyed.
-	Compute style name properly (using the same algorithm as in the
-	CID driver).
-	Fix computation of style flags.
-
-	* src/cff/cfftoken.h: Comment out handling of base_font_name.
-	Rename `postscript' field to `embedded_postscript'
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
-	and `postscript'.
-
-2003-12-10  Detlef Würkner  <[email protected]>
-
-	* src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
-	of the similar BDF function).
-	(pcf_service_bdf): Use it.
-
-2003-12-09  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
-	only if a `post' table is present.
-
-2003-12-09  George Williams  <[email protected]>
-
-	* src/base/ftobjs.c (load_mac_face): Recent versions of Linux
-	support Mac's HFS+ file system, thus enable code to read /rsrc on
-	non-Macintosh platforms also.
-
-2003-12-08  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (PS_TableRec): Change type
-	of `lengths' to FT_PtrDist.
-	(T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
-	* include/freetype/internal/t1types.h (T1_FontRec): Change type
-	of `subrs_len' and `charstrings_len' to FT_PtrDist.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
-	variable with better solution.
-	(IsMacResource): Remove unused variable `map_len'.
-	Replace `junk' variable with better solution.
-	(FT_Open_Face) [!FT_MACINTOSH]: Add conditional
-	FT_CONFIG_OPTION_MAC_FONTS.
-
-2003-12-08  Wolfgang Domröse  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_hint_edges,
-	ah_hinter_align_strong_points): Add some casts.
-
-	* src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
-	of `pos' to FT_Long.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource,
-	Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
-
-	* src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
-
-2003-12-07  Werner Lemberg  <[email protected]>
-
-	* docs/raster.txt: New file, taken from FreeType 1 and completely
-	revised.
-
-2003-12-04  Masatake YAMATO  <[email protected]>
-
-	* src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
-	t1_interface.  t1_interface is used.
-
-2003-11-27  David Turner  <[email protected]>
-
-	* src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
-	2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
-	the scaling values for outline units, not for metric units.
-
-2003-11-25  Werner Lemberg  <[email protected]>
-
-	* src/base/ftcalc.c, include/freetype/internal/ftcalc.h
-	(FT_MulDiv_No_Round): Surround code with `#ifdef
-	TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
-
-2003-11-23  Werner Lemberg  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
-	64 bit version).
-	* include/freetype/internal/ftcalc.h: Updated.
-
-	* src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
-	(TT_INT64): Removed.
-	(DO_DIV): Use TT_MULDIV_NO_ROUND.
-
-	* src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
-	metrics->x_scale and metrics->y_scale.
-
-2003-11-22  Rogier van Dalen  <[email protected]>
-
-	* src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
-	(Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
-	functions.  Similar to Direct_Move, Direct_Move_X, and
-	Direct_Move_Y but without touching.
-	(Compute_Funcs): Use new functions.
-
-	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
-	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
-	Round_Super_45): Fix rounding of value zero.
-
-	(DO_DIV): Don't use TT_MULDIV.
-
-	(Ins_SHC): This instruction actually touches the points.
-	(Ins_MSIRP): Fix undocumented behaviour.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
-
-2003-11-22  Werner Lemberg  <[email protected]>
-
-	* docs/VERSION.DLL, docs/CHANGES: Updated.
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
-	metrics->y_scale really precise.
-
-	(FT_Load_Glyph): Update computation of linearHoriAdvance and
-	linearVertAdvance.
-
-	* src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
-
-2003-11-22  David Turner  <[email protected]>
-
-	* src/autofit/*: More updates.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
-	* builds/unix/configure.ac (version_info): Set to 9:6:3.
-	* README: Updated.
-
-2003-11-13  John A. Boyd Jr.  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
-	(pcf_interpret_style): Replace spaces with dashes in properties
-	SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
-
-2003-11-11  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2003-11-11  John A. Boyd Jr.  <[email protected]>
-
-	Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
-	fonts.
-
-	* src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
-	(BDF_Face_Init): Don't handle style properties but call
-	bdf_interpret_style.
-
-	* src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
-	(pcf_load_font): Don't handle style properties but call
-	pcf_interpret_style.
-
-2003-11-07  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.1.7 released.
-	=========================
-
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
-
-	* builds/unix/ft2unix.h: Fix comments.
-
-	* builds/unix/ftconfig.in: Synchronized with ANSI version.
-	Use `#undef' in templates as recommended in the autoconf
-	documentation.
-	Since real `#undef' lines don't survive during configuration, use
-	`/undef' instead; the postprocessing facility of the
-	AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.
-
-	* builds/unix/install.mk (install): Install Unix version of
-	`ftconfig.h'.
-
-	* builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
-	to include the correct `ftconfig.h' file.
-
-	* builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
-	(FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.
-
-	* builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.
-
-	* builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
-	AC_CONFIG_HEADER to create ftconfig.h, and use second argument
-	to replace `/undef' with `#undef'.
-	Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
-	Use AS_HELP_STRING in AC_ARG_WITH.
-	Update syntax to autoconf 2.59.
-
-	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
-	--copy' from libtool 1.5.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.7.8.
-	* builds/unix/configure: Regenerated with autoconf 2.59.
-	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org
-	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
-	`texinfo' CVS module at subversions.gnu.org.
-
-	* builds/vms/ftconfig.h: Synchronized with ANSI version.
-
-	* docs/CUSTOMIZE: Fix documentation error.
-	* docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.
-
-	* builds/freetype.mk (refdoc): Updated --title.
-
-2003-11-07  David Turner  <[email protected]>
-
-
-	* Version 2.1.6 released.
-	=========================
-
-
-	* install: Removed.  Obsolete.
-
-2003-11-04  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
-	(sfnt_service_sfnt_table): New service.
-	(sfnt_services): Updated.
-
-	* docs/license.txt: Reworded.
-
-2003-11-03  Werner Lemberg  <[email protected]>
-
-	* include/freetype/*: Add a guard to all public header files which
-	load FT_FREETYPE_H to reject freetype.h from FreeType 1.
-
-2003-11-02  Patrick Welche  <[email protected]>
-
-	* builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
-	first argument of AC_DEFUN with brackets to avoid possible
-	expansion.
-
-2003-11-02  Werner Lemberg  <[email protected]>
-
-	* include/freetype/cache/ftcglyph.h: Don't include stddef.h.
-
-	* include/freetype/freetype.h: Fix check for ft2build.h.
-
-2003-11-01  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h: Check that ft2build.h has been
-	loaded first.
-
-	* src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
-	patch.
-
-2003-10-31  Detlef Würkner  <[email protected]>
-
-	* src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
-	Fix parameter order in calls to FT_FACE_FIND_SERVICE.
-
-2003-10-31  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftserv.h
-	(FT_SERVICE_POSTSCRIPT_NAMES_H): Removed.  Unused.
-
-	* src/type42/t42drivr.c (t42_services): Updated.
-
-2003-10-29  David Turner  <[email protected]>
-
-	* include/freetype/internal/bdftypes.h: Removed.  Obsolete.
-	* src/base/ftbdf.c: Updated.
-
-	* include/freetype/internal/cfftypes.h: Moved to...
-	* src/cff/cfftypes.h: This place since no other module needs to
-	know about those types.
-
-	* include/freetype/internal/t42types.h: Moved to...
-	* src/type42/t42types.h: This place since no other module needs to
-	know about those types.
-
-	* include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
-
-	* include/freetype/internal/services/svpsname.h: Renamed to...
-	* include/freetype/internal/services/svpscmap.h: This.
-	Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
-	`POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
-
-	* include/freetype/internal/services/svpsinfo.h: New file, providing
-	PostScript info service.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
-	FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
-	svpsinfo.h.
-	* include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
-	FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
-
-	* src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
-	FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
-	FT_SERVICE_POSTSCRIPT_INFO_H.
-	(FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
-	POSTSCRIPT_INFO service.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
-	(cff_ps_has_glyph_names): New function.
-	(cff_service_ps_info): New service.
-	(cff_services): Updated.
-
-	* src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
-	include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
-
-	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
-	(cid_ps_get_font_info): New function.
-	(cid_service_ps_info): New service.
-	(cid_services): Updated.
-
-	* src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
-	(t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
-	(t1_service_ps_info): New service.
-	(t1_services): Updated.
-
-	* src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
-	(t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
-	(t42_service_ps_info): New service.
-
-	* src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
-	but t42types.h directly.
-
-	* src/psnames/psmodule.c (psnames_interface, psnames_services):
-	Renamed to...
-	(pscmaps_interface, pscmaps_services): This.
-	Updated all users.
-
-
-	* src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
-
-2003-10-22  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
-	is real.
-
-	* src/type42/t42parse.c (t42_parse_encoding): Improve boundary
-	checking while parsing.
-
-	* docs/CHANGES: Updated.
-
-2003-10-21  Josselin Mouette  <[email protected]>
-
-	* include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
-	and `stroke_width' aren't pointers.
-
-	* src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
-	(T1_Face_Done): Don't free `paint_type' and `stroke_width'.
-
-2003-10-20  Graham Asher  <[email protected]>
-
-	* src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
-
-2003-10-19  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
-	2003-08-18 introduced a severe bug (FT_Render_Glyph was called
-	twice under some circumstances, causing strange results).  This
-	is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
-
-	* src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
-	* src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
-	* src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
-
-2003-10-16  Werner Lemberg  <[email protected]>
-
-	Completely revised Type 42 parser.  It now handles both fonts
-	produced with ttftot42 (tested version 0.3.1) and
-	TrueTypeToType42.ps (tested version May 2001; it is necessary to
-	fix the broken header comment to be `%!PS-TrueTypeFont...').
-
-	* src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
-	parameter to `FT_UInt'.
-	* src/type42/t42objs.h: Updated.
-
-	* src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
-	to FT_Bool.
-	(T42_Loader): Change type of `num_chars' and `num_glyphs' to
-	FT_UInt.
-	Add `swap_table' element.
-	* src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
-	T1_ToCoordArray, T1_ToTokenArray): Removed.
-	(T1_ToBytes): New macro.
-	(t42_is_alpha, t42_hexval): Removed.
-	(t42_is_space): Handle `\0'.
-	(t42_parse_encoding): Updated to use new PostScript parser routines
-	from psaux.
-	Handle `/Encoding [ ... ]' also.
-	(T42_Load_Status): New enumeration.
-	(t42_parse_sfnts): Updated to use new PostScript parser routines
-	from psaux.
-	(t42_parse_charstrings): Updated to use new PostScript parser
-	routines from psaux.
-	Handle `/CharStrings << ... >>' also.
-	Don't expect that /.notdef is the first element in dictionary.  Copy
-	code from type1 module to handle this.
-	(t42_parse_dict): Updated to use new PostScript parser routines
-	from psaux.
-	Remove code for synthetic fonts (which can't occur in Type 42
-	fonts).
-	(t42_loader_done): Release `swap_table'.
-
-	* src/psaux/psobjs.c (skip_string): Increase `cur' properly.
-
-	* src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
-	faster.
-
-2003-10-15  Graham Asher  <[email protected]>
-
-	* src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
-	(fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
-	_num_bdf_properties), src/gzip/infutil.c (inflate_mask),
-	src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
-	src/gzip/inftrees.h (inflate_trees_fixed), src/gzip/inftrees.c
-	(inflate_trees_fixed): Decorate with more `const' to avoid
-	writable global variables which are disallowed on ARM.
-
-2003-10-08  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
-	code specially for synthetic fonts; this is handled elsewhere.
-	(parse_encoding): Remove code specially for synthetic fonts; this is
-	handled elsewhere.
-	Improve boundary checking while parsing.
-	(parse_dict): Improve boundary checking while parsing.
-	Use ft_memcmp to simplify code.
-
-2003-10-07  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
-	fonts properly.
-	(parse_charstrings): Copy correct number of characters into
-	`name_table'.
-
-2003-10-06  Werner Lemberg  <[email protected]>
-
-	Heavy modification of the PS parser to handle comments and strings
-	correctly.  This doesn't slow down the loading of PS fonts
-	significantly since charstrings aren't affected.
-
-	* include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
-	(ft_isxdigit): This.  Updated all callers.
-	(ft_isdigit): New alias to `isdigit'.
-
-	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
-	`skip_alpha' to `skip_PS_token'.
-	Add parameter to `to_bytes' and change some argument types.
-
-	* src/psaux/psauxmod.c (ps_parser_funcs): Updated.
-	* src/psaux/psobjs.c (ft_char_table): New array to map character
-	codes (ASCII and EBCDIC) of digits to numbers.
-	(OP): New auxiliary macro holding either `>=' or `<' depending on
-	the character encoding.
-	(skip_comment): New function.
-	(skip_spaces): Use it.
-	(skip_alpha): Removed.
-	(skip_literal_string, skip_string): New functions.
-	(ps_parser_skip_PS_token): New function.  This is a better
-	replacement of...
-	(ps_parser_skip_alpha): Removed.
-	(ps_parser_to_token, ps_parser_to_token_array): Updated.
-	(T1Radix): Rewritten, using `ft_char_table'.
-	(t1_toint): Renamed to...
-	(ps_toint): This.  Update all callers.
-	Use `ft_char_table'.
-	(ps_tobytes): Add parameter to handle delimiters and change some
-	argument types.
-	Use `ft_char_table'.
-	(t1_tofixed): Renamed to...
-	(ps_tofixed): This.  Update all callers.
-	Use `ft_char_table'.
-	(t1_tocoordarray): Renamed and updated to...
-	(ps_tocoordarray): This.  Update all callers.
-	(t1_tofixedarray): Renamed and updated to...
-	(ps_tofixedarray): This.  Update all callers.
-	(t1_tobool): Renamed to...
-	(ps_tobool): This.  Update all callers.
-	(ps_parser_load_field): Updated.
-	(ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
-	everywhere.
-	(ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
-	ps_parser_to_fixed_array): Skip spaces.  Updated.
-	(ps_parser_to_bytes): Add parameter to handle delimiters and change
-	some argument types.  Updated.
-	* src/psaux/psobjs.h: Updated.
-
-	* src/cid/cidload.c (cid_parse_dict): Updated.
-	* src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
-	token was really found.
-	* src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
-	to...
-	(cid_parser_skip_PS_token): This.
-
-	* src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
-	fields.
-	(T1_Skip_Alpha): Replaced with...
-	(T1_Skip_PS_Token): This new macro.
-	* src/type1/t1parse.c (hexa_value): Removed.
-	(T1_Get_Private_Dict): Use `ft_isxdigit' and
-	`psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
-	encoding.
-	After decrypting, replace the four random bytes at the beginning
-	with whitespace.
-	* src/type1/t1load.c (t1_allocate_blend): Use proper error values.
-	(parser_blend_design_positions, parse_blend_design_map,
-	parse_weight_vector): Updated.
-	(is_space): Handle `\f' also.
-	(is_name_char): Removed.
-	(read_binary_data): Updated.
-	(parse_encoding): Use `ft_isdigit'.
-	Updated.
-	(parse_subrs): Updated.
-	(TABLE_EXTEND): New macro.
-	(parse_charstrings): Updated.
-	Provide a workaround for buggy fonts which have more entries in the
-	/CharStrings dictionary then expected; the function now adds some
-	slots and skips entries which still exceed the new limit.
-	(parse_dict): Updated.
-	Terminate on the token `closefile'.
-
-	* src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
-	(T1_Skip_PS_Token): This new macro.  Updated all callers.
-	(t42_parse_encoding): Use `ft_isdigit'.
-
-
-	* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_Ok if
-	success.
-
-2003-10-05  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftmodule.h: Renamed to...
-	* include/freetype/ftmodapi.h: This to avoid duplicate file names.
-	* include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
-
-2003-10-04  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_OrientationExtremumRec,
-	FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
-
-2003-10-02  Markus F.X.J. Oberhumer  <[email protected]>
-
-	* src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
-	has four bytes, not two.
-	Fix all users.
-	(fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
-
-2003-10-01  David Turner  <[email protected]>
-
-	* src/autofit/*: Adding first source files of the new multi-script
-	`auto-fitter'.
-
-	* include/freetype/ftoutln.h (FT_Orientation): New enumeration.
-	(FT_Outline_Get_Orientation): New declaration.
-
-	* src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
-	(ft_orientation_extremum_compute): New auxiliary function.
-	(FT_Outline_Get_Orientation): New function to compute the fill
-	orientation of a given glyph outline.
-
-	* include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
-	trivial bug which could crash the font engine when a cached service
-	pointer was retrieved.
-
-2003-09-30  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
-	found.
-
-	* src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
-	IS_T1_SPACE): Removed.
-	(PFB_Tag): Removed.
-	(read_pfb_tag): Don't use PFB_Tag.
-
-	* src/type42/t42parse.c (t42_is_space): Handle `\f' also.
-	(t42_parse_encoding): Handle synthetic fonts.
-
-2003-09-29  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/t1types.h: Don't include
-	FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
-	* src/truetype/ttobjs.c: Don't include
-	FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-2003-09-29  David Turner  <[email protected]>
-
-	Added new service to handle glyph name dictionaries, replacing the
-	old internal header named `psnames.h' by `services/svpsname.h'.
-	Note that this is different from `services/svpostnm.h' which only
-	handles the retrieval of PostScript font names for a given face.
-	(Should we merge these two services into a single header?)
-
-	* include/freetype/internal/psnames.h: Removed.  Most of its
-	contents is moved to...
-	* include/freetype/internal/services/svpsname.h: New file.
-
-	* include/freetype/internal/services/svpostnm.h
-	(FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
-	(FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
-	(PsName): Service named changed to...
-	(PsFontName): This.
-	Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
-	`POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
-
-	* include/freetype/internal/internal.h
-	(FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
-	* include/freetype/internal/psaux.h: Include
-	FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(T1_DecoderRec): Updated type of `psnames'.
-	* include/freetype/internal/t1types.h: Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	Include FT_INTERNAL_OBJECTS_H.
-	* include/freetype/internal/t42types.h: Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H.
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
-
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
-	order of parameters.  All callers updated.
-	(FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
-	globally, checking all modules.
-	(FT_ServiceCacheRec): Updated.
-	(FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
-	`svpsname.h'.
-
-	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c
-	(ft_module_get_service): New function.
-
-	* src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
-	but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
-	service.
-	* src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
-	* src/cff/cffload.c, src/cff/cffload.h:  Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(cff_index_get_sid_string): Updated.
-	* src/cff/cffobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
-	but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(cff_face_init): Use new POSTSCRIPT_NAMES service.
-	* src/cff/cffobjs.h:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
-	but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-	* src/cid/cidobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
-	but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(cid_face_init): Use new POSTSCRIPT_NAMES service.
-	* src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
-
-	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
-	new POSTSCRIPT_NAMES service.
-	* src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
-	t1_decode_init): Use new POSTSCRIPT_NAMES service.
-	* src/psaux/t1cmap.h, src/psaux/t1decode.h: Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H.
-
-	* src/psnames/psmodule.c:  Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(ps_build_unicode_table): Renamed to...
-	(ps_unicodes_init): This.
-	(ps_lookup_unicode): Renamed to...
-	(ps_unicodes_char_index): This.
-	(ps_next_unicode): Renamed to...
-	(ps_unicodes_char_next): This.
-	(psnames_interface): Updated.
-	(psnames_services): New services list.
-	(psnames_get_service): New function.
-	(psnames_module_class): Updated.
-
-	* src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
-	but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(sfnt_init_face): Use new POSTSCRIPT_NAMES service.
-	* src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
-	but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(tt_face_get_ps_name): Updated.
-
-	* src/truetype/ttobjs.c:  Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-	* src/type1/t1driver.c:  Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	* src/type1/t1objs.c:  Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-	(T1_Face_Init): Use new POSTSCRIPT_NAMES service.
-
-	* src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
-	(t42_get_ps_font_name): This.
-	(t42_service_ps_name): Renamed to...
-	(t42_service_ps_font_name): This.
-	(t42_services): Updated.
-	* src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
-	service.
-	* src/type42/t42objs.h:  Don't include
-	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-
-	* src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
-	testing its validity.  Reported by Henry Maddocks
-	<[email protected]>.
-
-2003-09-21  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
-	Fix compilation warning (s/pptr/Pptr/).
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
-	FT_INTERNAL_FNT_TYPES_H): Removed.
-
-2003-09-21  David Turner  <[email protected]>
-
-	Migrating the PFR and WINFNT drivers to the new service-based
-	internal API.
-
-	* include/freetype/internal/fnttypes.h: Removed.  Most of its data
-	are moved to winfnt.h and...
-	* include/freetype/internal/services/svwinfnt.h: New file.
-
-	* include/freetype/internal/pfr.h: Removed.  Most of its data are
-	moved to...
-	* include/freetype/internal/services/svpfr.h: New file.
-
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
-	FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
-	pointer type argument.
-	Updated all callers.
-	Update macro names of services header files.
-
-	* src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
-
-	* src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
-	FT_INTERNAL_PFR_H.
-	(ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
-	FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
-
-	* src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
-	FT_INTERNAL_FNT_TYPES_H.
-	(FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
-
-	* src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
-	FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
-	(pfr_service_bdf): Updated.
-	(pfr_services): New services list.
-	(pfr_get_service): New function.
-	(pfr_driver_class): Updated.
-
-	* src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
-	FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
-	(winfnt_get_header, winfnt_get_service): New functions.
-	(winfnt_service_rec): New structure providing WINFNT services.
-	(winfnt_services): New services list.
-	(winfnt_driver_class): Updated.
-	* src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
-
-	* src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
-
-	* src/type1/t1driver.c (t1_service_ps_name): Fix typo.
-
-	* src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
-	src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
-	src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
-	warnings.
-
-2003-09-19  David Bevan  <[email protected]>
-
-	* src/type1/t1parse.c (pfb_tag_fields): Removed.
-	(read_pfb_tag): Fix code so that it doesn't fail on end-of-file
-	indicator (0x8003).
-	* docs/CHANGES: Updated.
-
-2003-09-16  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
-	FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
-	Ugly, I know, but this is needed for compilation with C++ --
-	maybe someone knows a better solution?
-	Updated all callers.
-
-	* src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
-	C++ compiler warnings.
-
-	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
-	Fix order of arguments passed to FT_FACE_FIND_SERVICE.
-
-2003-09-15  Werner Lemberg  <[email protected]>
-
-	Avoid header files with identical names.
-
-	* include/freetype/internal/services/bdf.h: Renamed to...
-	* include/freetype/internal/services/svbdf.h: This.
-	Add copyright notice.
-	* include/freetype/internal/services/glyfdict.h: Renamed to...
-	* include/freetype/internal/services/svgldict.h: This.
-	Add copyright notice.
-	* include/freetype/internal/services/multmast.h: Renamed to...
-	* include/freetype/internal/services/svmm.h: This.
-	Add copyright notice.
-	Add FT_BEGIN_HEADER and FT_END_HEADER.
-	* include/freetype/internal/services/sfnt.h: Renamed to...
-	* include/freetype/internal/services/svsfnt.h: This.
-	Add copyright notice.
-	* include/freetype/internal/services/postname.h: Renamed to...
-	* include/freetype/internal/services/svpostnm.h: This.
-	Add copyright notice.
-	* include/freetype/internal/services/xf86name.h: Renamed to...
-	* include/freetype/internal/services/svxf86nm.h: This.
-	Add copyright notice.
-
-	* include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
-	FT_END_HEADER.
-	Add copyright notice.
-	Update macro names of services header files.
-
-	* builds/freetype.mk (SERVICES_DIR): New variable.
-	(BASE_H): Add services header files.
-
-2003-09-11  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
-
-	* src/cff/cffdrivr.c: Don't load headers twice.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
-	* src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
-
-	* src/cff/cffcmap.c: Include `cfferrs.h'.
-	* src/pfr/pfrdrivr.c: Include `pfrerror.h'.
-	* src/sfnt/sfdriver.c: Include `sferrors.h'.
-	* src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
-
-2003-09-11  David Turner  <[email protected]>
-
-	Introducing the concept of `module services'.  This is the first
-	step towards a massive simplification of the engine's internals, in
-	order to get rid of various numbers of hacks.
-
-	Note that these changes will break source & binary compatibility for
-	authors of external font drivers.
-
-	* include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
-	FT_DUMMY_STMNT): New macros.
-
-	* include/freetype/internal/ftserv.h: New file, containing the new
-	structures and macros to provide `services'.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
-	FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
-	Removed, obsolete.
-	(FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
-
-	* include/freetype/internal/services/bdf.h,
-	include/freetype/internal/services/glyfdict.h,
-	include/freetype/internal/services/postname.h,
-	include/freetype/internal/services/xf86name.h: New files.
-
-	* include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
-	FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
-	to...
-	* include/freetype/internal/services/multmast.h: New file.
-
-	* include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
-	is now of type `FT_Module_Requester'.
-	(SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
-	moved (in modified form) to...
-	* include/freetype/internal/services/sfnt.h: New file.
-
-	* include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
-	pointer moved (in modified form) to `services/sfnt.h'.
-
-	* include/freetype/ftmodule.h (FT_Module_Interface): Make it a
-	a typedef to `FT_Pointer'.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
-	`postscript_name'.
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
-	`postscript_name'.
-	Add `services' element.
-	(FT_LibraryRec): Remove `meta_class'.
-
-	* src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
-	(test_font_type): Removed.
-	(FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
-	provided in `FT_SERVICE_ID_BDF'.
-
-	* src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
-	(ft_face_get_mm_service): New auxiliary function to get services
-	from `FT_SERVICE_ID_MULTI_MASTERS'.
-	(FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
-	FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
-
-	* src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
-	FT_SERVICE_GLYPH_DICT_H.
-	(ft_service_list_lookup): New function to get a specific service.
-	(destroy_face): Updated.
-	(Mac_Read_POST_Resource): Simplify some code.
-	(IsMacResource): Fix warnings.
-	(FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
-	`FT_SERVICE_ID_GLYPH_DICT'.
-	(FT_Get_Postscript_Name): Use service provided in
-	`FT_SERVICE_ID_POSTSCRIPT_NAME'.
-	(FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
-	`FT_SERVICE_ID_SFNT_TABLE'.
-
-	* src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
-	(FT_Get_X11_Font_Format): Use service provided in
-	`FT_SERVICE_ID_XF86_NAME'.
-
-	* src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
-	FT_SERVICE_XFREE86_NAME_H.
-	(bdf_get_charset_id): New function.
-	(bdf_service_bdf): New structure providing BDF services.
-	(bdf_services): New services list.
-	(bdf_driver_requester): Use `ft_service_list_lookup'.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
-	FT_SERVICE_GLYPH_DICT_H.
-	(cff_service_glyph_dict): New structure providing CFF services.
-	(cff_services): New services list.
-	(cff_get_interface): Use `ft_service_list_lookup'.
-
-	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
-	FT_SERVICE_XFREE86_NAME_H.
-	(cid_service_ps_name): New structure providing CID services.
-	(cid_services): New services list.
-	(cid_get_interface): Use `ft_service_list_lookup'.
-
-	* src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
-	FT_SERVICE_XFREE86_NAME_H.
-	(pcf_service_bdf): New structure providing PCF services.
-	(pcf_services): New services list.
-	(pcf_driver_requester): Use `ft_service_list_lookup'.
-
-	* src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
-	FT_SERVICE_POSTSCRIPT_NAME_H.
-	(get_sfnt_glyph_name): Renamed to...
-	(sfnt_get_glyph_name): This.
-	(get_sfnt_postscript_name): Renamed to...
-	(sfnt_get_ps_name): This.
-	Updated.
-	(sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
-	providing services.
-	(sfnt_services): New services list.
-	(sfnt_get_interface): Use `ft_service_list_lookup'.
-
-	* src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
-	(tt_services): New services list.
-	(tt_get_interface): Use `ft_service_list_lookup'.
-
-	* src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
-	FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
-	FT_SERVICE_POSTSCRIPT_NAME_H.
-	(t1_service_glyph_dict, t1_service_ps_name,
-	t1_service_multi_masters): New structures providing Type 1 services.
-	(t1_services): New services list.
-	(Get_Interface): Use `ft_service_list_lookup'.
-
-	* src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
-	FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
-	(t42_service_glyph_dict, t42_service_ps_name): New structures
-	providing Type 42 services.
-	(t42_services): New services list.
-	(T42_Get_Interface): Use `ft_service_list_lookup'.
-
-
-	* README, docs/CHANGES: Updating version numbers for 2.1.6, and
-	removing obsolete warnings in the documentation.
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
-	* builds/unix/configure.ac (version_info): Set to 9:5:3.
-	* builds/unix/configure: Regenerated.
-
-	* include/freetype/internal/ftcore.h,
-	include/freetype/internal/ftexcept.h,
-	include/freetype/internal/fthash.h,
-	include/freetype/internal/ftobject.h: Removed.  Obsolete.
-
-2003-09-09  David Turner  <[email protected]>
-
-	Fixing PFR kerning support.  The tables within the font file contain
-	(charcode,charcode) kerning pairs, we need to convert them to
-	(gindex,gindex).
-
-	* src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
-	* src/pfr/pfrload.c: Remove dead code.
-	(pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
-	New functions.
-	(pfr_phy_font_done): Free `kern_pairs'.
-	(pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
-	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
-	* src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
-	(PFR_KernPairRec): Make `kerning' an FT_Int.
-	(PFR_PhyFontRec): New element `kern_pairs'.
-	(PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
-	PFR_KERN_2BYTE_ADJ were erroneously reversed.
-
-	* include/freetype/ftoption.h: Commenting out the macro
-	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
-
-2003-09-02  David Turner  <[email protected]>
-
-
-	* Version 2.1.5 released.
-	=========================
-
-
-2003-08-31  Manish Singh  <[email protected]>
-
-	* src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
-	FT_MEM_MOVE.
-
-2003-08-30  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
-	FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
-	enumerations of FT_Encoding.  The FT_ENCODING_MS_* variants except
-	FT_ENCODING_MS_SYMBOL are now deprecated.
-	Updated all users.
-	* docs/CHANGES: Document it.
-
-2003-08-27  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
-	for spacing.
-
-2003-08-27  Mike FABIAN  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
-	(BDF_Face_Init): Accept lowercase characters for slant and weight.
-
-2003-08-18  David Turner  <[email protected]>
-
-	* include/freetype/config/ftoption.h: Disabling TrueType bytecode
-	interpreter until the UNPATENTED_HINTING works as advertised.
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
-	setting `load_flags'.
-
-	* Jamfile: Adding the `refdoc' target to the Jamfile in order to
-	build the API Reference in `docs/reference' automatically.
-
-	* include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
-	src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
-	`italic_angle', `underline_position', and `underline_thickness' to
-	their previous values (i.e., long, short, and ushort) in order to
-	avoid breaking binary compatibility.
-
-	* include/freetype/ttunpat.h: Fixing documentation comment.
-
-	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING): Replaced with...
-	(TT_CONFIG_OPTION_UNPATENTED_HINTING): This.  Updated all users.
-	(TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
-
-	* include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
-	(FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro.  Use this with
-	`FT_Set_Debug_Hook' to get the same effect as the removed
-	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
-
-	* src/truetype/ttobjs.c (tt_face_init): Use
-	`FT_DEBUG_HOOK_UNPATENTED_HINTING'.
-
-2003-08-06  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
-	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
-	previous change.
-
-2003-08-05  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
-	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
-	font matrix to advance width also.
-	* docs/CHANGES: Updated.
-
-2003-07-26  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.ac (version_info): Set to 9:4:3.
-	* builds/unix/configure: Updated.
-	* docs/CHANGES, docs/VERSION.DLL: Updated.
-
-	* include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
-	also breaks binary compatibility.  Reintroduce an unsigned integer
-	at the old position of `flags' called `reserved'.
-
-2003-07-25  Werner Lemberg  <[email protected]>
-
-	Make API reference valid HTML 4.01 transitional.
-
-	* src/tools/docmaker/tohtml.py (html_header_1): Add doctype
-	and charset.
-	(html_header_2): Fix style elements and add some more.
-	Fix syntax.
-	(block_header, block_footer, description_header, description_footer,
-	marker_header, marker_footer, source_header, source_footer,
-	chapter_header): Don't use <center>...</center> but `align=center'
-	table attribute.
-	(chapter_inter, chapter_footer): Add <li> and use special <ul>
-	class.
-	Use double quotes around table widths given in percent.
-	(keyword_prefix, keyword_suffix): Don't change font color directly
-	but use a new <span> class.
-	(section_synopsis_header, section_synopsis_footer): Don't change
-	color.
-	(code_header, code_footer): Don't change font color directly but
-	use a special <pre> class.
-	(print_html_field): <tr> gets the `valign' attribute, not <table>.
-	(print_html_field_list): Ditto.
-	(index_exit): Don't use <center>...</center> but `align=center'
-	table attribute.
-	(section_enter): Ditto.
-	(toc_exit): Don't emit </table>.
-	(block_enter): Use <h4><a>, not <a><h4>.
-	(__init__): Fix tag order in self.html_footer.
-
-2003-07-25  David Turner  <[email protected]>
-
-	This change reimplements fix from 2003-05-30 without breaking
-	binary compatibility.
-
-	* include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
-	`is_fixed_pitch', `underline_position', `underline_thickness' are
-	reverted to be normal values.
-
-	* include/freetype/internal/psaux.h (T1_FieldType): Remove
-	`T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
-	`T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
-	(T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
-	T1_FIELD_FIXED_1000_P): Removed.
-	(T1_FIELD_TYPE_BOOL): Renamed to...
-	(T1_FIELD_BOOL): New macro.  Updated all callers.
-
-	* src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
-	`underline_position', `underline_thickness', `paint_type',
-	`stroke_width' are reverted to be normal values.
-	(T42_KEYWORD_COUNT): New macro.
-	(t42_parse_dict): New array `keyword_flags' to mark that a value has
-	already been assigned to a dictionary entry.
-	* src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
-
-	* src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
-	`underline_position', `underline_thickness' are reverted to be
-	normal values.
-	* src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
-
-	* src/psaux/psobjs.c (ps_parser_load_field): Updated.
-
-	* src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
-	`underline_position', `underline_thickness', `paint_type',
-	`stroke_width' are reverted to be normal values.
-	* src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
-	* src/type1/t1load.c (T1_FIELD_COUNT): New macro.
-	(parse_dict): Add parameter for keyword flags.
-	Record only first instance of a field.
-	(T1_Open_Face): New array `keyword_flags'.
-
-2003-07-24  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-	* builds/unix/configure.ac (version_info): Set to 10:0:3.
-	* builds/unix/configure: Updated.
-	* builds/freetype.mk (refdoc): Fix --title.
-
-	* docs/CHANGES, docs/VERSION.DLL, README: Updated.
-
-	* src/tools/docmaker/sources.py (re_crossref): Fix regular
-	expression to handle trailing punctuation characters.
-	* src/tools/docmaker/tohtml.py (make_html_word): Updated.
-
-	* docs/release: New file.
-
-2003-07-23  YAMANO-UCHI Hidetoshi  <[email protected]>
-
-	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
-	member function `to_bytes'.
-
-	* src/psaux/psauxmod.c (ps_parser_funcs): New member
-	`ps_parser_to_bytes'.
-	(psaux_module_class): Increase version to 0x20000L.
-
-	* src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
-	(IS_T1_NULLSPACE): New macro.
-	(IS_T1_SPACE): Add it.
-	(skip_spaces, skip_alpha): New functions.
-	(ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
-	(ps_tobytes, ps_parser_to_bytes): New functions.
-
-2003-07-07  Werner Lemberg  <[email protected]>
-
-	* builds/freetype.mk (DOC_DIR): New variable.
-	(refdoc): Use *_DIR variables.
-	(distclean): Remove documentation files.
-
-	* builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
-
-	* configure: Set DOC_DIR variable.
-
-2003-07-07  Patrik Hägglund  <[email protected]>
-
-	* builds/freetype.mk (refdoc): New target to build the
-	documentation.
-	(.PHONY): Updated.
-
-	* include/freetype/freetype.h: Improve documentation of FT_CharMap.
-	* include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
-	* include/freetype/tttables.h: Document FT_Sfnt_Tag.
-
-2003-07-06  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
-	(pcf_load_font): Fix computation of height if PIXEL_SIZE property is
-	missing.
-
-2003-07-01  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
-	there is no error.  Reported by Knut St. Osmundsen
-	<[email protected]>.
-
-2003-06-30  Werner Lemberg  <[email protected]>
-
-	A new try to synchronize bitmap font access.
-
-	* include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
-	defined to return the baseline-to-baseline distance.  This was
-	already the value returned by the BDF and PCF drivers.
-
-	The `width' field now gives the average width.  I wasn't able to
-	find something better.  It should be taken as informative only.
-
-	New fields `size', `x_ppem', and `y_ppem'.
-
-	* src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
-	FT_Bitmap_Size.
-	Do proper rounding and conversion from 72.27 to 72 points.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
-	FT_Bitmap_Size.
-	Do proper rounding and conversion from 72.27 to 72 points.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
-	FT_Bitmap_Size.
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
-	FT_Bitmap_Size.
-
-2003-06-29  Werner Lemberg  <[email protected]>
-
-	Redesigning the FNT driver to return multiple faces, not multiple
-	strikes.  At least one font (app850.fon from WinME) contains
-	different FNT charmaps for its subfonts.  Consequently, the previous
-	design of having multiple bitmap strikes in a single font face fails
-	since we have only one charmap per face.
-
-	* include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
-	(FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
-	`font'.
-
-	* src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
-
-	* src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
-	to pixel_height.
-	(fnt_face_done_fonts): Removed.
-	(fnt_face_get_dll_fonts): Renamed to...
-	(fnt_face_get_dll_font): This.  Add second function argument to
-	select face index.
-	Updated to load just one subfont.
-	(fnt_font_done, FNT_Face_Done): Updated.
-	(FNT_Face_Init): Handle `face_index'.
-	Updated.
-	(FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
-	bitmap width is now ignored.
-	(FNT_Load_Glyph): Updated.
-	Fix glyph index computation.
-	(winfnt_driver_class): Updated.
-
-2003-06-25  Owen Taylor  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
-	num_records until we actually decide to load the table,
-	otherwise, we'll segfault in tt_face_free_hdmx.
-
-2003-06-24  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
-	glyph name pointer.  Reported by Mikey Anbary <[email protected]>.
-
-2003-06-23  Werner Lemberg  <[email protected]>
-
-	* src/tools/glnames.py: Updated to AGL 2.0.
-	* src/psnames/pstables.h: Regenerated.
-
-2003-06-22  Werner Lemberg  <[email protected]>
-
-	* include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
-	src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
-	src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
-	src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
-	Decorate constants with `U' and `L' if appropriate.
-
-	* include/freetype/ftmoderr.h: Updated to include recent module
-	additions.
-
-	* src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
-	`FT_Mod_Err_PShinter'.
-	* src/type42/t42error.h (FT_ERR_BASE): Define as
-	`FT_Mod_Err_Type42'.
-
-	* src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed.  Not used.
-
-	* include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
-	and FT_INT64.
-
-2003-06-21  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
-	computation of glyph_index.
-	(FNT_Size_Set_Pixels): To find a strike, first check pixel_height
-	only, then try to find a better hit by comparing pixel_width also.
-	Without this fix it isn't possible to access all strikes.
-	Also compute metrics.max_advance to be in sync with other bitmap
-	drivers.
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
-	(FT_Set_Pixel_Sizes): Assign value to `metrics' after validation of
-	arguments.
-
-2003-06-20  Werner Lemberg  <[email protected]>
-
-	Synchronize computation of height and width for bitmap strikes.  The
-	`width' field in the FT_Bitmap_Size structure is now only useful to
-	enumerate different strikes.  The `max_advance' field of the
-	FT_Size_Metrics structure should be used to get the (maximum) width
-	of a strike.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
-	computing `available_sizes->width' but make it always equal to
-	`available_sizes->height'.
-
-	* src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
-	computing `available_sizes->width' but make it always equal to
-	`available_sizes->height'.
-
-	* src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
-	argument to function.
-
-	* src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
-	`uniXXXX' and `uXXXX[X[X]]'.
-
-2003-06-19  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
-	* src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
-	s/FT_Err_/FTC_Err_/.
-	* src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
-	* src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
-	* src/psaux/t1cmap.c: Include psauxerr.h.
-	s/FT_Err_/PSaux_Err_/.
-	* src/pshinter/pshnterr.h: New file.
-	* src/pshinter/rules.mk: Updated.
-	* src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
-	s/FT_Err_/PSH_Err_/.
-	* src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
-	s/FT_Err_/PFR_Err_/.
-	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
-	src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
-	* src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
-	* src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
-	FT_ERR_PREFIX and FT_ERR_BASE.
-	s/FT_Err_/Gzip_Err_/.
-
-2003-06-19  Dirck Blaskey  <[email protected]>
-
-	* src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
-	otherwise adding 1 might wrap the result.
-
-2003-06-18  Werner Lemberg  <[email protected]>
-
-	* src/psnames/psmodule.c (ps_unicode_value): Add support to
-	recognize `uXXXX[X[X]]' glyph names.
-	Don't handle glyph names starting with `uni' which have more than
-	four digits.
-
-2003-06-16  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Open_Flags): Replaced with
-	#defines for the constants.
-	(FT_Open_Args): Change type of `flags' to FT_UInt.
-	(FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
-
-	* include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
-	Replaced with #defines for the constants.
-
-	* include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
-	field `flags' (from FT_GlyphSlot).
-	Updated all affected source files.
-	(FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
-
-	* include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
-	to ftobjs.h.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
-	FT_GlyphSlot_Internal object.
-
-2003-06-15  Werner Lemberg  <[email protected]>
-
-	* builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
-	Add -fno-strict-aliasing to get rid of zillion warnings from gcc
-	version 3.3.
-
-2003-06-14  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
-	ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
-	ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
-	FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
-	FT_GLYPH_BBOX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
-	The lowercase variants are now (deprecated aliases) to the uppercase
-	versions.
-	Updated all other files.
-
-	* include/freetype/ftmodule.h (ft_module_font_driver,
-	ft_module_renderer, ft_module_hinter, ft_module_styler,
-	ft_module_driver_scalable, ft_module_driver_no_outlines,
-	ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
-	FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
-	FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
-	FT_MODULE_DRIVER_HAS_HINTER.
-	The lowercase variants are now (deprecated aliases) to the uppercase
-	versions.
-	Updated all other files.
-
-	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
-	as enumeration.
-
-	* src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
-	(winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
-	the FT_MODULE_DRIVER_NO_OUTLINES flag.
-
-2003-06-13  Detlef Würkner  <[email protected]>
-
-	* src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
-
-2003-06-13  Werner Lemberg  <[email protected]>
-
-	* builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
-
-	* builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
-	EMX gcc compiler.
-	* builds/dos/detect.mk: Add target `emx'.
-
-	* builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
-	like a trailing semicolon; add a dummy command.
-
-	* src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
-	with #if 0 ... #endif).
-
-	* src/type1/t1tokens.h: Handle /FontName.
-	* src/type1/t1load.c (parse_font_name): Removed.
-	Remove parse_font_bbox code (already enclosed with #if 0 ...
-	#endif).
-
-	* src/type42/t42parse.c (t42_parse_font_name): Removed.
-	Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
-	#endif).
-	(t42_keywords): Handle /FontName with T1_FIELD_KEY.
-
-2003-06-12  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (T1_FieldType): Add
-	T1_FIELD_TYPE_KEY.
-	(T1_FIELD_KEY): New macro.
-	* src/psaux/psobjs.c (ps_parser_load_field): Handle
-	T1_FIELD_TYPE_KEY.
-
-	* src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
-
-2003-06-11  Alexander Malmberg  <[email protected]>
-
-	* src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
-	number of nodes.
-	(FT_LruList_Lookup): Fix assertion for out-of-memory case.
-
-2003-06-11  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_decrypt): Removed.
-	(cid_read_subrs): Use t1_decrypt from psaux module.
-	* src/cid/cidload.h: Updated.
-	* src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
-	module.
-
-2003-06-10  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidobjs.c: Apply change 2003-05-31 from <[email protected]>.
-	Compute style flags.
-	Fix computation of root->height.
-	* src/cid/cidtoken.h: Handle FontBBox.
-	* src/cid/cidload.c (cid_load_keyword): Handle
-	T1_FIELD_LOCATION_BBOX.
-	(parse_font_bbox): Commented out.
-	(cid_field_records): Comment out element for parsing FontBBox.
-
-	* src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
-	(t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
-	T1_FIELD_CALLBACK.
-	(t42_parse_font_bbox): Commented out.
-	(t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
-	* src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
-	from <[email protected]>.
-
-2003-06-09  George Williams  <[email protected]>
-
-	* src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
-	TrueType specification.
-	(Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
-
-2003-06-09  Detlef Würkner  <[email protected]>
-
-	* src/gzip/ftgzip.c: (inflate_mask): Replaced with...
-	(NO_INFLATE_MASK): This.
-	* src/gzip/infutil.h: Declare `inflate_mask' conditionally by
-	NO_INFLATE_MASK.
-
-2003-06-09  Alexis S. L. Carvalho  <[email protected]>
-
-	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
-	correctly.
-
-2003-06-09  Wolfgang Domröse  <[email protected]>
-
-	* src/pshinter/pshglob.c (psh_globals_new): Change calculation of
-	dim->stdw.count to avoid compiler problem.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
-	variables to the beginning of the function to avoid compiler
-	problems.
-	Add casts necessary for 16bit compilers.
-
-2003-06-09  Werner Lemberg  <[email protected]>
-
-	* src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
-	(PFR_DRV_H): Add pfrtypes.h.
-
-	* include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
-
-2003-06-08  Karl Schultz  <[email protected]>
-
-	* src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
-	argument to FT_Bool.
-	(pfr_lookup_bitmap_data): Change type of third and fourth argument
-	to FT_UInt.  Updated caller.
-	(pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
-
-2003-06-08  Werner Lemberg  <[email protected]>
-
-	Completely revised FreeType's make management.
-
-	. In all makefiles `/' is used as the path separator.  The
-	  conversion to the real path separators is done as late as
-	  possible using $(subst ...).
-
-	. $(HOSTSEP) no longer exists.  Now, $(SEP) gives the path separator
-	  for the operating system, and the new $(COMPILER_SEP) the path
-	  separator for the compiler tools.
-
-	. $(BUILD) has been renamed to $(BUILD_DIR).  In general, all
-	  directory variables end with `_DIR'.  The variants ending in `_'
-	  (like `BASE_' have been removed).
-
-	The following ChangeLog entries only describe changes which are
-	not related to the redesign.
-
-	* builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
-	* builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
-	overlong arguments as suggested by J. Ali Harlow
-	<[email protected]>.
-	* builds/dos/dos-wat.mk: New file.
-	* builds/freetype.mk (FREETYPE_H): Include header files from the
-	`devel' subdirectory.
-
-	* builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
-	builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
-	builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
-
-	* builds/unix/configure.ac, builds/unix/configure: Updated.
-	* builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
-
-2003-06-07  Werner Lemberg  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
-	make it compile.
-
-	* devel/ftoption.h: Updated.
-
-2003-06-07  Detlef Würkner  <[email protected]>
-
-	* include/freetype/internal/psaux.h, src/truetype/ttgload.h:
-	s/index/idx/ to fix compiler warnings.
-
-	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
-	fix compiler warning.
-
-	* src/gzip/ftgzip.c (BUILDFIXED): Removed.
-	* src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
-	FT_UNUSED to remove compiler warning.
-
-2003-06-06  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftstroker.h: Renamed to...
-	* include/freetype/ftstroke.h: This.
-
-	* src/base/ftstroker.c: Renamed to...
-	* src/base/ftstroke.c: This.
-
-	* include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
-
-	* src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
-	Updated.
-
-	* src/pcf/pcfdriver.c: Renamed to...
-	* src/pcf/pcfdrivr.c: This.
-	* src/pcf/pcfdriver.h: Renamed to...
-	* src/pcf/pcfdrivr.h: This.
-
-	* src/pcf/Jamfile, src/pcf/rules.mk: Updated.
-
-2003-06-05  Wenlin Institute (Tom Bishop)  <[email protected]>
-
-	* src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
-	Add `#if !defined(__MWERKS__)'.
-
-2003-06-05  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (T1_FieldType): Add
-	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
-	(T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
-	* src/psaux/psobjs.c (ps_parser_load_field): Handle
-	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
-
-	* src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
-	(CFF_FIELD_FIXED_1000): New macro.
-	(cff_parser_run): Handle cff_kind_fixed_thousand.
-	* src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
-	* src/cff/cffload (cff_subfont_load): Fix default values of
-	expansion_factor and blue_scale.
-
-	* src/cid/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
-	for blue_scale.
-
-	* src/pshinter/pshglob.c (psh_globals_new): Fix default value of
-	blue_scale.
-
-2003-06-04  Wolfgang Domröse  <[email protected]>
-
-	* include/freetype/internal/ftdriver.h,
-	include/freetype/internal/ftobjs.h,
-	include/freetype/internal/psaux.h, src/cid/cidgload.c,
-	src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
-	src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
-	src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
-	src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
-	src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
-	src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
-	src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
-	Many casts and slight argument type changes to make it work with
-	a 16bit compiler.
-
-2003-06-04  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftoption.h: Defining
-	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
-	since some fonts (e.g. Arial) produce worse results than without
-	hinting.  Reverted.
-
-2003-06-04  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
-	FT_GlyphLoader_CheckPoints before adding phantom points.  This fixes
-	a segfault bug with fonts (e.g. htst3.ttf) which have nested
-	subglyphs more than one level deep.  Reported by Anthony Fok.
-
-	* include/freetype/config/ftoption.h: Define
-	TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
-	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
-	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
-	default.
-
-2003-06-03  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_hint_edges): Removed.  Just a
-	wrapper for ah_hint_edges.
-	(ah_hint_edges): Renamed to...
-	(ah_hinter_hint_edges): This.
-
-	* src/base/ftobjs.c (FT_Set_Hint_Flags): Removed.  Unused.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
-	include/freetype/internal/psaux.h (T1_DecoderRec),
-	src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
-	Unused.
-
-	* src/cff/cffgload.c (cff_builder_init): Updated.
-	(cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
-	with decoder->hint_mode instead of builder->hint_flags.
-	* src/psaux/t1decode.c (t1_decoder_init): Updated.
-
-	* src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
-	increased root->height by 15% if the line gap was zero.  There exist
-	fonts (containing e.g. form drawing characters) which intentionally
-	have a zero line gap value.
-
-	* src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
-	Removed.  Unused.
-	Updated all callers.
-
-2003-06-02  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Use symbolic names for
-	Adobe specific encoding IDs (there was a wrong EID value for custom
-	encoding).
-
-	* src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
-	* src/cff/cffcmap.c (cff_cmap_encoding_init,
-	cff_cmap_encoding_done): Updated.
-	(cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
-	256 as limit for character code.
-
-2003-06-01  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
-	2003-03-20.
-
-2003-05-31  Werner Lemberg  <[email protected]>
-
-	* include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
-
-2003-05-31    <[email protected]>
-
-	* src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
-	the font style by ignoring spaces and hyphens.
-
-	* builds/unix/freetype2.in: Fix `Version' field.
-
-2003-05-30  Werner Lemberg  <[email protected]>
-
-	Avoid overwriting of numeric font dictionary entries for synthetic
-	fonts.  Additionally, some entries were handled as `integer' instead
-	of `number'.
-
-	* include/freetype/internal/psaux.h (T1_FieldType): Add
-	T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
-	T1_FIELD_TYPE_FIXED_P.
-	(T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
-	* src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
-
-	* include/freetype/internal/cfftypes.h (CFF_FontRecDict),
-	src/cff/cfftoken.h: Change type of underline_position and
-	underline_thickness to FT_Fixed.
-	* src/cff/cffload.c (cff_subfont_load): Fix default values of
-	underline_position and underline_thickness.
-	* src/cff/cffobjs.c (cff_face_init): Set underline_position
-	and underline_thickness in `root'.
-
-	* include/freetype/internal/t1types.h (T1_Font): Change point_type
-	and stroke_width to pointers.
-	* include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
-	is_fixed_pitch, underline_position, and underline_thickness to
-	pointers.
-	* src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
-	underline_position, and underline_thickness to pointers.  Change
-	the type of the latter two to `fixed'.
-	Change type of stroke_width to `fixed' and make it a pointer.
-	Change paint_type to pointer.
-	* src/type1/t1objs.c (T1_Face_Done): Updated.
-	(T1_Face_Init): Updated.
-	Fix assignment of underline_position and underline_thickness.
-
-	* src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
-	underline_position, and underline_thickness to pointers.  Change
-	the type of the latter two to `fixed'.
-	Change type of stroke_width to `fixed'.
-	* src/cid/cidobjs.c (cid_face_done): Updated.
-	(cid_face_init): Updated.
-	Fix assignment of underline_position and underline_thickness.
-
-	* src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
-	underline_position, and underline_thickness to pointers.  Change the
-	type of the latter two to `fixed'.
-	Change type of stroke_width to `fixed' and make it a pointer.
-	Change paint_type to pointer.
-	* src/type42/t42objs.c (T42_Face_Init): Updated.
-	Fix assignment of underline_position and underline_thickness.
-	(T42_Face_Done): Updated.
-
-	* src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
-	* src/pshinter/pshglob.c, src/pshinter/pshglob.h
-	(psh_globals_set_scale): Make it a local function.
-
-	* test/gview.c: Fix renaming ps3->ps typo.
-	Formatting.
-
-2003-05-29  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
-	* src/pshinter/pshalgo.h: Removed.
-
-	* src/pshinter/pshalgo3.[ch]: Renamed to...
-	* src/pshinter/pshalgo.[ch]: New files.
-	s/PSH3/PSH/.
-	s/psh3/psh/.
-	s/ps3/ps/.
-
-	* src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
-	* src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
-
-	* src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
-	out.
-
-	* tests/gview.c: Remove code for pshalgo1 and pshalgo2.
-	Updated.
-
-2003-05-28  Martin Zinser  <[email protected]>
-
-	* vms_make.com: Reworked support for shareable images on VMS.  The
-	first version was kind of a hack; the current implementation of the
-	procedure to extract the required symbols is much cleaner.
-
-	Reworked creation of MMS files, avoiding a number of temporary files
-	which were created in the previous version.
-
-	Further work on creating descrip.mms files on the fly.
-
-	* builds/vms/descrip.mms, src/autohint/descrip.mms,
-	src/type1/descrip.mms: Removed.
-
-2003-05-28  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
-	contours with only a single point to avoid segfault.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
-	handling `origin'.
-
-2003-05-24  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
-	Removed since unused.
-
-2003-05-21  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
-	for strcat.
-
-	* src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
-	(parse_font): s/memcpy/ft_memcpy/.
-	(is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
-	* src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
-	s/strlen/ft_strlen/.
-	s/strcat/ft_strcat/.
-	s/strcpy/ft_strcpy/.
-	* src/gzip/zutil.h: s/memset/ft_memset/.
-	s/memcmp/ft_memcmp/.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
-	(PCF_Face_Init): Test for charset registry case-insensitively.
-
-	* src/gzip/ftgzip.c (ft_gzip_file_io): Revert change from yesterday;
-	it has already been fixed differently.
-
-	* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
-	if-clause.
-
-2003-05-21  Martin Zinser  <[email protected]>
-
-	* t1load.c (parse_blend_axis_types): Fix compiler warning.
-
-	* descrip.mms: Removed.  Now created by...
-
-	* vms_make.com: New file.
-
-2003-05-21  Weiqi Gao  <[email protected]>
-
-	* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
-	to prevent infinite loop.
-
-2003-05-21  Lars Clausen  <[email protected]>
-
-	* docs/VERSION.DLL: Provide better autoconf snippet to check
-	FreeType version.
-
-2003-05-21  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (open_face): Free `internal' not
-	`face->internal' in case of error to avoid possible segfault.
-
-	* src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
-	actually have an outline.
-
-2003-05-20  David Chester  <[email protected]>
-
-	* src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
-	y_scale so that the top of non-capital letters is aligned on a pixel
-	boundary whenever possible.
-
-	* src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
-	m's maintain their symmetry.
-
-2003-05-20  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph): Oops!  David's
-	patch from yesterday has been resolved already in a different
-	way.  Reverted.
-
-2003-05-19  David Chester  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
-	y_scale locally but face->size->metrics.y_scale.
-
-2003-05-19  David Turner  <[email protected]>
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
-	value for `hi' to avoid infinite loop.
-
-2003-05-18  Yong Sun  <[email protected]>
-
-	* src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
-
-2003-05-18  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
-	New macro.
-	* src/base/ftobjs.c: Use it to control mac font support on non-mac
-	platforms.
-
-2003-05-17  George Williams  <[email protected]>
-
-	Implement partial support of Mac fonts on non-Mac platforms.
-
-	* src/base/ftobjs.c (memory_stream_close, new_memory_stream,
-	open_face_from_buffer, Mac_Read_POST_Resource,
-	Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
-	[!FT_MACINTOSH]: New functions.
-	(FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
-
-2003-05-17  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
-	if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
-	zero since FNT and friends don't define `face->units_per_EM').
-
-2003-05-15  David Turner  <[email protected]>
-
-	* src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
-	for small values.
-
-2003-05-15  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
-	and `out_angle' fields.
-
-2003-05-14  George Williams  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
-
-2003-05-14  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h: Fix typo in comment
-	(FT_HAS_FIXED_SIZES).
-
-2003-05-10  Dan Williams  <[email protected]>
-
-	* builds/unix/aclocal.m4: Comment out definition of
-	`allow_undefined_flag' for Darwin 1.3.
-	* builds/unix/configure.ac: Add option --with-old-mac-fonts.
-	* builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
-	* builds/unix/configure: Regenerated.
-
-	* include/freetype/config/ftconfig.h: Fix conditions for defining
-	`FT_MACINTOSH'.
-	* src/base/ftbase.c: Include `ftmac.c' conditionally.
-	* src/base/ftmac.c: Handle __GNUC__.
-
-2003-05-07  YAMANO-UCHI Hidetoshi  <[email protected]>
-
-	* src/cid/cidload.c (is_alpha): Removed.
-	(cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
-
-2003-05-07  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
-
-2003-05-07  David Turner  <[email protected]>
-
-	* src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
-	`switch' statement to make it run faster.
-	(ah_outline_compute_segments): Reset `segment->score' and
-	`segment->link'.
-	(ah_outline_link_segments): Provide alternative code which does
-	the same but runs much faster.
-	Handle major direction also.
-	(ah_outline_compute_edges): Scale `edge_distance_threshold' down
-	after rounding instead of scaling comparison value in loop.
-
-	* src/autohint/ahhint.c (ah_hinter_align_strong_points): Provide
-	alternative code which runs faster.
-	Handle `before->scale == 0'.
-
-	* src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
-	(AH_EdgeRec): Move some fields in structure.
-	New field `scale'.
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
-
-2003-05-02  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahoptim.c (LOG): Renamed to...
-	(AH_OPTIM_LOG): This.
-	(AH_Dump_Springs): Fix log message format.
-
-	* src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
-	(ah_hint_edges): This.
-
-2002-05-02  Keith Packard  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
-
-2003-05-01  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
-	(ah_test_extremum): This.
-
-2003-04-28  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.ac: Generate `freetype.pc' from
-	`freetype.in'.
-	* builds/unix/configure: Regenerated.
-	* builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
-
-2003-04-28  Gustavo J. A. M. Carneiro  <[email protected]>
-
-	* builds/unix/freetype2.in: New file.  Contains building information
-	for the `pkg-config' package.
-
-2003-04-28  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
-	`glyph_index'.
-
-2003-04-25:  Graham Asher  <[email protected]>
-
-	Added the optional unpatented hinting system for TrueType.  It
-	allows typefaces which need hinting to produce correct glyph forms
-	(e.g., Chinese typefaces from Dynalab) to work acceptably without
-	infringing Apple patents.  This system is compiled only if
-	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
-	ftoption.h.
-
-	* include/freetype/ttunpat.h: New file.  Defines
-	FT_PARAM_TAG_UNPATENTED_HINTING.
-
-	* include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
-	macro to use when including ttunpat.h.
-
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
-	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
-	(not defined, but in comments) for the unpatented hinting system.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec)
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
-	unpatented_hinting'.
-
-	* src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
-	Removed.
-	(GUESS_VECTOR): New macro.
-	(TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
-	Set `both_x_axis'.
-	(tt_default_graphics_state)
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
-	(Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
-	Handle `unpatented_hinting'.
-	(Direct_Move) [NO_APPLE_PATENT]: Removed.
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
-	(Project, FreeProject)
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
-	(Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
-	Implement unpatented hinting.
-	(DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
-	Ins_SDPVTL): Call `GUESS_VECTOR'.
-	(DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
-	Handle `unpatented_hinting'.
-	(Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
-	hinting.
-	(Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
-	hinting.
-	(TT_RunIns): Updated.
-
-	* src/truetype/ttobjs.c
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
-	FT_TRUETYPE_UNPATENTED_H.
-	(tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
-	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
-	FT_PARAM_TAG_UNPATENTED_HINTING.
-
-	* src/truetype/ttobjs.h (TT_GraphicsState)
-	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
-
-2003-04-25  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
-	argument.
-	(bdf_get_font_property): Use `const' for third argument.
-	Updated all callers.
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
-	similar to the PCF driver.
-	* src/bdf/bdf.h (_hashnode): Use `const' for `key'.
-	Updated.
-
-	* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
-	is declared twice.  It is perhaps better to modify the zlib source
-	files directly instead of this hack.
-	(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
-	to make build with g++ successful.
-
-2003-04-24  Manish Singh  <[email protected]>
-
-	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
-	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
-	also for searching the style name.
-
-2003-04-24  David Turner  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
-	face->num_glyphs.  We must increase the value by 1 to respect the
-	convention that glyph index 0 always corresponds to the `missing
-	glyph'.
-
-2003-04-24  Werner Lemberg  <[email protected]>
-
-	* builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
-
-2003-04-24  Dieter Baron  <[email protected]>
-
-	* builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
-	files first.  Otherwise there are conflicts with FreeType 1
-	installed simultaneously.
-
-2003-04-23  Werner Lemberg  <[email protected]>
-
-	Fixing bugs reported by Nelson Beebe.
-
-	* src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
-	variable `in_path'.
-
-	* src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
-	second argument to `FT_Byte*'.
-	* include/freetype/internal/ftobjs.h: Updated.
-
-	* src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
-	(_bdf_parse_glyphs): Remove unused variable `next'.
-	Mark `call_data' as unused.
-
-	* src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
-	`plast'.
-
-	* src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
-	actually use `error'.
-	(pcf_load_font): Remove unused variable `avgw'.
-
-	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
-	to `void'.
-	Mark `error' as unused.
-	* src/pfr/pfrobjs.h: Updated.
-	* src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
-
-	* src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
-	`format_tag'.
-
-	* src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
-	unused variable `start'.
-	(tt_cmap10_char_next): Remove unused variable `result'
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
-
-	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
-	unused.
-
-	* src/type1/t1objs.c (T1_Face_Init): Remove unused variable
-	`pshinter'.
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
-	only for FT_CONFIG_OPTION_INCREMENTAL.
-
-2003-04-23  Akito Hirai  <[email protected]>
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
-	of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
-	Without this change, many CJK fonts from Dynalab are rejected.
-
-2003-04-23  Joe Marcus Clarke  <[email protected]>
-
-	* src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
-	`get_interface'.
-
-2003-04-23  Paul Miller  <[email protected]>
-
-	* src/base/ftmac.c (parse_fond): Fix handling of style names.
-
-2003-04-23  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
-	instead of FT_UInt for `len'.
-
-2003-04-22  Werner Lemberg  <[email protected]>
-
-	* src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
-	Convert K&R format to modern C usage.
-	(FT_Stream_OpenGzip): Use long constant.
-
-2003-04-21  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
-	of `manager'.
-
-2003-04-20  Werner Lemberg  <[email protected]>
-
-	* doc/INSTALL.UNX: Cleaned up.
-
-2003-04-09  Torrey Lyons  <[email protected]>
-
-	* src/base/ftmac.c (open_face_from_buffer): Removed a double-free
-	bug that had nasty consequences when trying to open an `invalid'
-	font on a Mac.
-
-2003-04-09  Mike Fabian  <[email protected]>
-
-	* src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
-	(PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
-	to access more than 32768 glyphs in fonts.
-
-2003-04-08  David Turner  <[email protected]>
-
-
-	* Version 2.1.4 released.
-	=========================
-
-
-2003-04-03  Martin Muskens  <[email protected]>
-
-	* src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
-	handle special cases where a font only contains a `.notdef' glyph
-	(happens in PDF-embedded fonts).  Otherwise, FT_Panic was called.
-
-2003-03-27  David Turner  <[email protected]>
-
-	* README: Updated.
-
-	* README.UNX: Removed (now replaced by docs/INSTALL.UNX).
-
-	* src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
-	will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
-	used.
-	(psh3_dimension_quantize_len): Enabled.
-	(psh3_hint_align): Enable commented code.
-	(psh3_hint_align_light): Commented out.
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
-	computations to include rounding in all cases; this is required to
-	provide accurate kerning data when native TrueType hinting is
-	enabled.
-
-	* src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
-	more general names according to the PostScript specification (the
-	previous one was too restrictive).
-	(parse_font_name, parse_encoding, parse_charstrings, parse_dict):
-	Use `is_name_char'.
-	(parse_subrs): Handle empty arrays.
-
-2003-03-20  David Turner  <[email protected]>
-
-	Serious rewriting of the documentation.
-
-	* docs/BUGS, docs/BUILD: Removed.
-	* docs/DEBUG.TXT: Renamed to...
-	* docs/DEBUG: This.
-	* docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
-	* docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
-	containing platform specific information previously in INSTALL.
-	* docs/readme.vms: Renamed to...
-	* docs/INSTALL.VMS: This.
-
-	* docs/*: Updated.
-
-	Introduced three new functions to deal with glyph bitmaps within
-	FT_GlyphSlot objects:
-
-	  ft_glyphslot_free_bitmap
-	  ft_glyphslot_alloc_bitmap
-	  ft_glyphslot_set_bitmap
-
-	These functions are much more convenient to use than managing the
-	FT_GLYPH_OWN_BITMAP flag manually.
-
-	* include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
-	ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
-	* src/base/ftobjs.c: Implement them.
-	(ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
-
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
-	(PCF_Glyph_Load): Remove unused variable `memory'.
-	Use `ft_glyphslot_*' functions.
-	Don't set `FT_GLYPH_OWN_BITMAP'.
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
-	`ft_glyphslot_alloc_bitmap'.
-
-	* src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
-	`FT_GlyphSlot'.
-	Adding argument `depth' to handle recursive calls.
-	Use `ft_glyphslot_alloc_bitmap'.
-	(tt_face_load_sbit_image): Remove unused variable `memory'.
-	Don't handle `FT_GLYPH_OWN_BITMAP'.
-	Update call to Load_SBit_Image.
-
-	* src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
-	(t42_glyphslot_clear): This.  Updated caller.
-	Call `ft_glyphslot_free_bitmap'.
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use
-	`ft_glyphslot_set_bitmap'.
-	Don't handle `FT_GLYPH_OWN_BITMAP'.
-
-	* src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
-	check.
-
-	* src/autohint/ahglyph.c (ah_outline_load): Add two scaling
-	arguments.
-	* src/autohint/ahglyph.h: Updated.
-	* src/autohint/ahhint.c (ah_hinter_load): Updated.
-	* src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
-
-	* src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
-	crash the cache in rare circumstances (mostly with broken fonts).
-
-2003-03-15  David Turner  <[email protected]>
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
-	bug.  Actually, it seems that previous versions of FreeType didn't
-	perform TrueType rounding exactly as appropriate.
-
-2003-03-14  David Turner  <[email protected]>
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
-	TrueType native rendering glitches; they came from a small rounding
-	error.
-
-2003-03-13  David Turner  <[email protected]>
-
-	Added new environment variables to control memory debugging with
-	FreeType.  See the description of `FT2_DEBUG_MEMORY',
-	`FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
-
-	* src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
-	`bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
-	(ft_mem_debug_alloc): Handle new variables.
-	(ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
-	Handle new environment variables.
-	* docs/DEBUG.TXT: Updated.
-
-	Fixed the cache sub-system to correctly deal with out-of-memory
-	conditions.
-
-	* src/cache/ftccache.c (ftc_node_destroy): Comment out generic
-	check.
-	(ftc_cache_lookup): Implement loop.
-	* src/cache/ftccmap.c: Define FT_COMPONENT.
-	* src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
-	FT_Err_Out_Of_Memory.
-	* src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_LruList_Lookup): Implement loop.
-
-	* src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
-	(pfr_face_init): Fixing compiler warnings.
-
-	* src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
-	leak) that only happened when a try to resize an array would end in
-	an out-of-memory condition.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
-	warnings / volatile bug.
-
-	* src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
-	fault that happened in tight memory environments.
-
-2003-02-28  Pixel  <[email protected]>
-
-	* src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
-	stream was not properly finalized.
-
-2003-02-25  Anthony Fok  <[email protected]>
-
-	* src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
-	(ftc_cmap_family_init): The cmap cache now
-	supports UCS-4 charmaps when available in Asian fonts.
-
-	* src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
-	in comments.
-
-2003-02-25  David Turner  <[email protected]>
-
-	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
-	caused FreeType to loop endlessly when trying to read certain
-	compressed gzip files.  The following test reveals the bug:
-
-	  touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
-
-	Several fixes to the PFR font driver:
-
-	- The list of available embedded bitmaps was not correctly set in
-	  the root FT_FaceRec structure describing the face.
-
-	- The glyph loader always tried to load the outlines when
-	  FT_LOAD_SBITS_ONLY was specified.
-
-	- The table loaded now scans for *undocumented* elements of a
-	  physical font's auxiliary data record.  This is necessary to
-	  retrieve the `real' family and style names.
-
-	NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
-
-	* src/pfr/pfrload.c (pfr_aux_name_load): New function.
-	(pfr_phy_font_done): Free `family_name' and `style_name' also.
-	Remove unused variables.
-	(pfr_phy_font_load): Extract useful information from the auxiliary
-	bytes.
-
-	* src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
-	(pfr_face_init): Provide fallback values for `family_name' and
-	`style_name'.
-	Handle strikes.
-	(pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
-	* src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
-	`descent', `leading', `family_name', and `style_name'.
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
-	when computing the scale factors for a given character size in
-	points with resolution.
-
-	* devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
-	which are special development versions of include/ft2build.h and
-	include/freetype/config/ftoption.h, respectively.
-
-2003-02-18  David Turner  <[email protected]>
-
-	Fixing the slight distortion problem that occurred due to the latest
-	auto-hinter changes.
-
-	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
-	[!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
-	* src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
-	`metrics'.
-	[FT_CONFIG_CHESTER_ASCENDER]: Code removed.
-	(Reset_SBit_Size): Fix initialization of `metrics'.
-
-	* src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
-	`exec->metrics'.
-
-	* src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
-	`correction' which seemed to provide more trouble than benefits.
-
-2003-02-13  Graham Asher  <[email protected]>
-
-	Changed the incremental loading interface in a way that makes it
-	simpler and allows glyph metrics to be changed (e.g., by adding a
-	constant, as required by CFF fonts) rather than just overridden.
-	This was required to make the GhostScript-to-FreeType bridge work.
-
-	* src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
-	Allow metrics to be overridden.
-	* src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
-	Ditto.
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
-	(compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
-	moved down.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-
-	* include/freetype/ftincrem.h: Updated.
-
-2003-01-31  David Turner  <[email protected]>
-
-	* docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
-	for the 2.1.4 release.
-
-	* builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/index.html: Updating the project file for
-	2.1.4.
-
-	* src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
-	src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
-	src/gzip/infutil.c: Removed old-style (K&R)function definitions.
-	This avoids warnings with Visual C++ at its most pedantic mode.
-
-	* src/pfr/pfrsbit.c: Removed compiler warnings.
-
-	* src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
-	into an FT_TRACE1 since it caused `ftview' and others to dump too
-	much junk when trying to display a waterfall with a font without a
-	Unicode charmap (e.g.  SYMBOL.TTF).
-
-	Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
-	patch from David Chester, but with a much simpler (and saner)
-	implementation.
-
-	* src/autohint/ahhint.c (ah_hinter_load_glyph)
-	[FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
-	the top of non-capital letters is aligned on a pixel boundary
-	whenever possible.
-
-	* src/base/ftobjs.c (FT_Set_Char_Size)
-	[FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
-	* src/truetype/ttdriver.c (Set_Char_Sizes)
-	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
-	if this macro is defined.
-
-	* src/truetype/ttobjs.c (Reset_Outline_Size)
-	[FT_CONFIG_CHESTER_ASCENDER]: Round differently.
-
-	* src/pshinter/pshalgo3.c: Improved the Postscript hinter.  Getting
-	rid of stem snapping seems to work well here (though the stems are
-	still slightly moved to increase contrast).
-	(psh3_dimension_quantize_len): Commented out.
-	(psh3_hint_align_light): New function.
-	(psh3_hint_align): Comment out some code.
-
-	THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
-	STILL SUCK.
-
-2003-01-22  David Chester  <[email protected]>
-
-	* src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
-	stem width optimization.
-
-2003-01-22  David Turner  <[email protected]>
-
-	Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
-	properties of a given PCF or BDF font.
-
-	* include/freetype/ftbdf.h (BDF_PropertyType): New enumeration.
-	(BDF_Property, BDF_PropertyRec): New structure.
-	FT_Get_BDF_Property): New function.
-	* include/freetype/internal/bdftypes.h: Include FT_BDF_H.
-	(BDF_GetPropertyFunc): New function pointer.
-
-	* src/base/ftbdf.c (test_font_type): New helper function.
-	(FT_Get_BDF_Charset_ID): Use `test_font_type'.
-	(FT_Get_BDF_Property): New function.
-
-	* src/bdf/bdfdrivr.c: Include FT_BDF_H.
-	(bdf_get_bdf_property, bdf_driver_requester): New functions.
-	(bdf_driver_class): Use `bdf_driver_requester'.
-
-	* src/pcf/pcfdrivr.c: Include FT_BDF_H.
-	(pcf_get_bdf_property, pcf_driver_requester): New functions
-	(pcf_driver_class): Use `pcf_driver_requester'.
-
-	* src/pcf/pcfread.c: Include `pcfread.h'.
-	(pcf_find_property): Decorate it with FT_LOCAL_DEF.
-	* src/pcf/pcfread.h: New file, providing `pcf_find_property'.
-
-	* src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
-	verification to accept a few broken fonts who pad the size
-	incorrectly (the table should be padded, but its `size' field
-	shouldn't according to the specification).
-
-2003-01-18  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
-	--copy' from libtool 1.4.3.
-	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
-	automake 1.7.1.
-	* builds/unix/configure: Regenerated with autoconf 2.54.
-	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org.
-	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
-	`automake' CVS module at subversions.gnu.org.
-
-2003-01-15  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h: Fixed documentation for
-	FT_Size_Metrics.
-
-2003-01-15  James Su  <[email protected]>
-
-	* src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
-	certain gzip-ed font files (typo: `&&' -> `&').
-
-2003-01-15  Huw D M Davies  <[email protected]>
-
-	Added a Windows .FNT specific API (mostly for Wine).  Also fixed a
-	nasty bug in the header loader which would cause invalid memory
-	overwrites.
-
-	* include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
-	for ftwinfnt.h.
-	* include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
-	(FNT_FontRec): Updated.
-	Move Windows FNT definition to...
-	* include/freetype/ftwinfnt.h: This new file.
-	(FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
-	* src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
-	* src/winfonts/winfnt.c (winfnt_header_fields): Updated.
-	Rename `reserved2' to `reserved1'.
-	(fnt_font_load): Updated.
-
-	* src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
-	Updated.
-
-2003-01-14  Graham Asher  <[email protected]>
-
-	* include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
-	the type of the first argument to FT_Matrix_Multiply, which isn't
-	changed -- this adds documentation and convenience.
-
-2003-01-13  Graham Asher  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_metrics)
-	[FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
-	horizontal metrics (without the `hmtx' table) are now tolerated if
-	an incremental interface has been specified that has a
-	get_glyph_metrics function, implying that metrics will be supplied
-	from outside.  This happens for certain Type 42 fonts passed from
-	GhostScript.
-
-2003-01-11  David Chester  <[email protected]>
-
-	Patches to the auto-hinter in order to slightly improve the output.
-	Note that everything is controlled through the new
-	FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'.  There are
-	also individual FT_CONFIG_CHESTER_XXX macros to control individual
-	`features'.
-
-	Note that all improvements are enabled by default, but can be
-	tweaked for optimization and testing purposes.  The configuration
-	macros will most likely disappear in the short future.
-
-	* include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
-	(FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
-	[FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
-	features.
-
-	* src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
-	Add blue zone for `fijkdbh'.
-	* src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
-	[FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
-	* src/autohint/ahglyph.c (ah_outline_compute_edges)
-	[FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
-	(ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
-	Increase threshold for `best_dist'.
-	* src/autohint/ahhint.c (ah_compute_stem_width)
-	[FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
-	handling.
-	(ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
-	version of `ah_compute_stem_width'.
-	(ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
-	alignment when stem widths are less than 1.5 pixels wide centers the
-	stem slightly off-center of the center of a pixel (this increases
-	sharpness and consistency).
-	[FT_CONFIG_CHESTER_SERIF]: Use special version of
-	`ah_compute_stem_width'.
-	* src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
-	`AH_BLUE_SMALL_F_TOP'.
-
-2003-01-11  David Turner  <[email protected]>
-
-	* include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
-	size of `reserved2' to avoid memory overwrites.
-
-2003-01-08  Huw Davies  <[email protected]>
-
-	* src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
-	`reserved2', not `reserved'.
-
-	* src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
-	returned when the font doesn't contain a Unicode charmap.  This
-	allows FT2 to load `symbol.ttf' and a few others correctly since the
-	last release.
-	(open_face): Fix return value.
-
-2003-01-08  Owen Taylor  <[email protected]>
-
-	Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
-	postscript hinters.
-
-	* src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
-	* src/autohint/ahhint.c (ah_compute_stem_width): Handle
-	hinter->do_stem_adjust.
-	(ah_hinter_load_glyph): Set hinter->do_stem_adjust.
-
-	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
-	* src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
-	(ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
-
-	* include/freetype/freetype.h (FT_Render_Mode): Add
-	FT_RENDER_MODE_LIGHT.
-
-	* src/truetype/ttgload.c: Fixing the TrueType loader to handle
-	invalid composites correctly by limiting the recursion depth.
-	(TT_MAX_COMPOSITE_RECURSE): New macro.
-	(load_truetype_glyph): Add argument `recurse_count'.
-	Load a composite only if the numbers of contours is -1, emit error
-	otherwise.
-	(TT_Load_Glyph): Updated.
-
-2003-01-08  David Turner  <[email protected]>
-
-	* Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
-	support the compilation of FreeType 2 as part of larger projects
-	with their own configuration options (only with Jam).
-
-2003-01-07  David Turner  <[email protected]>
-
-	* src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
-	the API is likely to change, however.
-	(ft_stroke_border_close): Don't record empty paths.
-	(ft_stroke_border_get_counts): Increase `num_points' also in for loop.
-	(ft_stroke_border_export): Don't increase `write' twice in for loops.
-	(ft_stroker_outside): Handle `phi' together with `theta'.
-	(FT_Stroker_ParseOutline): New function.
-
-	* src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
-	invalid values for large negative angle differences (resulting in
-	incorrect stroker computations, among other things).
-
-	* src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
-	assertion, and changing code to avoid hash table size contraction.
-
-	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
-	`ftstroker' to default build, as optional component.
-
-2002-12-26  David Turner  <[email protected]>
-
-	* src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
-	src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
-	src/gzip/zutil.h: Updates to allow compilation without compiler
-	warnings with LCC-Win32.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-	* builds/unix/configure.ac (version_info): Increased to 9:3:3.
-	* builds/unix/configure: Regenerated.
-	* docs/VERSION.DLL: Updated.
-
-2002-12-23  Anthony Fok  <[email protected]>
-
-	* builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
-	builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
-	sub-system on Unix to allow other programs to correctly link with
-	zlib when needed.
-
-2002-12-19  David Turner  <[email protected]>
-
-	* include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
-	function pointer.
-
-	* include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
-	* src/base/ftobjs.c: Implement it.
-
-	* src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
-	module request.
-
-2002-12-17  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (find_unicode_charmap): Added some comments to
-	better explain what's happening there.
-	(open_face): Included Graham Asher's fix to prevent faces without
-	Unicode charmaps from loading.
-
-	* src/winfonts/winfnt.c: Included George Williams's fix to support
-	version 2 fonts correctly.
-	(winfnt_header_fields): Updated.
-	(fnt_font_load): Handle version 2 fonts.
-	(FNT_Load_Glyph): Updated.
-
-2002-12-16  David Turner  <[email protected]>
-
-	* docs/VERSION.DLL: Updating document to better explain the
-	differences between the three version numbers being used on Unix, as
-	well as providing an autoconf fragment provided by Lars Clausen.
-
-	* src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
-	prevented Bézier arcs with negative vertical coordinates to be
-	rendered appropriately.
-
-2002-12-02  Antoine Leca  <[email protected]>
-
-	* src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
-	Now it loads UCS-4 charmaps when there is one.
-	(find_unicode_charmap): New function.
-	(open_face): Refer to the above one.
-	(FT_Select_Charmap): Idem.
-
-2002-11-29  Antoine Leca  <[email protected]>
-
-	* include/freetype/ftgzip.h: Correct the name of the controlling
-	macro (was __FTXF86_H__ ...).
-
-2002-11-27  Vincent Caron  <[email protected]>
-
-	* builds/unix/unix-def.in, builds/unix/freetype-config.in,
-	builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
-	[FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
-	installations if available on the target platform (Unix only).
-
-2002-11-23  David Turner  <[email protected]>
-
-	* src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
-	charset loader to accept pre-defined charsets, even when the font
-	contains fewer glyphs.  Also enforced more checks to ensure that we
-	never overflow the character codes array in the encoding.
-
-2002-11-22  Antoine Leca  <[email protected]>
-
-	* include/freetype/ttnameid.h: Updated to latest OpenType
-	specification.
-
-2002-11-18  David Turner  <[email protected]>
-
-
-	* Version 2.1.3 released.
-	=========================
-
-
-2002-11-07  David Turner  <[email protected]>
-
-	* src/cache/ftcsbits.c (ftc_sbit_node_load): Fixed a small bug that
-	caused problems with embedded bitmaps.
-
-	* src/otlayout/otlayout.h, src/otlayout/otlconf.h,
-	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
-	src/otlayout/otlparse.c, src/otlayout/otlparse.h,
-	src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
-	support for the first GSUB lookups.  Nothing that really compiles
-	for now though.
-
-	* src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
-	width quantization.  It produces slightly better shapes though this
-	is not distinguishable with many fonts.
-	Remove other dead code.
-
-	* src/Jamfile, src/*/Jamfile: Simplified.
-	Use $(FT2_SRC_DIR).
-
-2002-11-06  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
-	(FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
-
-2002-11-05  David Turner  <[email protected]>
-
-	* include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
-	support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
-	the use of system-wide zlib.
-
-	Note that this macro, as well as
-	TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
-	This allows the build system to define them depending on the
-	configuration (typically by adding -D flags at compile time).
-
-	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
-	warnings in optimized mode relative to the `volatile' local
-	variables.  This was not a compiler bug after all, but the fact that
-	a pointer to a volatile variable is not the same as a volatile
-	pointer to a variable :-)
-
-	The fix was to change
-	  `volatile FT_Byte* p'
-	into
-	  `FT_Byte* volatile p'.
-
-	* src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
-	(pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
-	optimized modes.
-
-	* src/gzip/*.[hc]: Modified our zlib copy in order to prevent
-	exporting any zlib function names outside of the component.  This
-	prevents linking problems on some platforms, when applications want
-	to link FreeType _and_ zlib together.
-
-2002-11-05  Juliusz  <[email protected]>
-
-	* src/psaux/psobjs.c (ps_table_add): Modified increment loop in
-	order to implement exponential behaviour.
-
-2002-11-01  David Turner  <[email protected]>
-
-	Added PFR-specific public API.  Fixed the kerning retrieval routine
-	(it returned invalid values when the outline and metrics resolution
-	differ).
-
-	* include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
-	files.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
-	macro for pfr.h.
-
-	* src/base/ftpfr.c: New file.
-	* src/base/Jamfile, src/base/descrip.mms: Updated.
-
-	* src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
-	(pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
-	(pfr_service_rec): New format interface.
-	(pfr_driver_class): Use `pfr_service_rec'.
-	Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
-	* src/pfr/pfrobjs.c: Remove dead code.
-
-	* src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
-	better support bitmap-based font formats.
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
-	`scale'.
-	Fix arguments to `FT_Vector_From_Polar'.
-
-2002-10-31  David Turner  <[email protected]>
-
-	Add support for automatic handling of gzip-compressed PCF files.
-
-	* src/gzip/*: New files, taken from the zlib package (except
-	ftgzip.c).
-
-	* include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
-	* include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
-	`ftgzip.h'.
-
-	* src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
-	(PCF_Face_Init): If normal open fails, try to open gzip stream.
-	(PCF_Face_Done): Close gzip stream.
-
-	* include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
-	src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
-
-	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
-	New macro.
-	(T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
-	FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
-	FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
-
-	(FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
-	FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
-	that platform specific configuration file can override.
-
-	* include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
-
-2002-10-30  David Turner  <[email protected]>
-
-	* FreeType 2.1.3rc3 released.
-
-2002-10-25  David Turner  <[email protected]>
-
-	* include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
-	(FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
-
-2002-10-22  Giuseppe Ghibò  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
-
-2002-10-07  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
-	(suggested by Graham).
-	* src/base/ftobjs.c (FT_Open_Face): Updated.
-	(ft_input_stream_new): Ditto.
-
-2002-10-05  David Turner  <[email protected]>
-
-	Adding support for embedded bitmaps to the PFR driver, and rewriting
-	its kerning loader/handler to use all kerning pairs in a physical
-	font (and not just the first item).
-
-	* src/pfr/pfr.c: Include `pfrsbit.c'.
-	* src/pfr/pfrgload.c: Include `pfrsbit.h'.
-	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
-	(pfr_phy_font_done, pfr_phy_font_load): Updated.
-	* src/pfr/pfrobjs.c: Include `pfrsbit.h'.
-	(pfr_face_init): Handle kerning and embedded bitmaps.
-	(pfr_slot_load): Load embedded bitmaps.
-	(PFR_KERN_INDEX): Removed.
-	(pfr_face_get_kerning): Rewritten.
-	* src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
-	* src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
-	(PFR_KERN_INDEX): New macro.
-	(PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
-	* src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
-	FT_LOAD_NO_RECURSE is set.
-	Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
-
-	* src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
-	src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
-	sub-tables is now capable of dealing with invalid `length' fields at
-	the start of the sub-table.  This allows fonts like `mg______.ttf'
-	(i.e.  Marriage) to return accurate charmaps.
-
-	* docs/CHANGES: Updated.
-
-2002-10-05  Werner Lemberg  <[email protected]>
-
-	* src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
-	Update all callers.
-	(TRUNC): Add cast to `TCoord'.
-	Update all callers.
-	(TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
-	last_ey.
-	Update all casts.
-	(gray_render_line): Fix casts for `p' and `first'.
-
-2002-10-02  Detlef Würkner  <[email protected]>
-
-	* src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
-	structure with FT_ALLOC instead of using the stack.
-
-2002-09-27  Werner Lemberg  <[email protected]>
-
-	* src/include/freetype/internal/tttypes.h (num_sbit_strikes,
-	num_sbit_scales): Use `FT_ULong'.
-	* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
-	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
-	(find_sbit_image): Remove cast.
-	* src/raster/ftrend1.c (ft_raster1_render): Fix cast.
-
-2002-09-27  Wolfgang Domröse  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_names): Use cast.
-	* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
-	(code_to_index4): Use cast.
-	(code_to_index8_12): Fix cast.
-	* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
-	tt_cmap12_char_index): Use cast for `result'.
-	(tt_face_build_cmaps): Use cast.
-	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
-	`code'.
-	(sfnt_load_face): Use FT_Int32 for `flags'.
-
-	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
-	gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
-	to `TCoord' and `int'.
-	More 16bit fixes.
-	s/FT_Pos/TPos/.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
-
-2002-09-26  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
-	tt_face_get_ps_name): Replace switch statement with if clauses to
-	make it more portable.
-
-	* src/cff/cffobjs.c (cff_face_init): Ditto.
-
-	* include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
-	`module_size'.
-	* include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
-	`glyph_size'.
-
-	* src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
-	`FT_Render_Mode'.
-	(FT_Render_Glyph_Internal): Change third parameter to
-	`FT_Render_Mode'.
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
-	to `FT_Render_Mode'.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Change third parameter
-	to `FT_Render_Mode'.
-	* src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
-	ft_smooth_render_lcd_v): Ditto.
-	(ft_smooth_render_generic): Change third and fifth parameter to
-	`FT_Render_Mode'.
-
-	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
-	include/freetype/ftglyph.h: Updated.
-
-	* src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
-	(PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
-	src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
-	(T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
-	fourth parameter to `FT_Int32'.
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
-	and declare them as unused.
-
-	* src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
-
-	* src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
-	value to FT_UInt32.
-	* src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
-	Updated accordingly.
-
-2002-09-26  Wolfgang Domröse  <[email protected]>
-
-	* src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
-	(cff_get_glyph_name): Use cast for result of ft_strlen.
-	* src/cff/cffparse.c (cff_parse_real): User cast for assigning
-	`exp'.
-	* src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
-	some local variables.
-	(cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
-	switch statements.
-	(cff_font_load): Use cast in call to CFF_Load_FD_Select.
-	* src/cff/cffobjs.c (cff_size_init): Use more casts.
-	(cff_face_init): Use FT_Int32 for `flags'.
-	* src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
-	`adx' and `ady'.
-	(cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
-	Use more casts.
-	* src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
-
-	* src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
-	* src/cid/cidgload.c (cid_load_glyph): Add missing cast for
-	`cid_get_offset'.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
-	cast for `num_points'.
-	(t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
-
-	* src/base/ftdebug.c (ft_debug_init): Use FT_Int.
-	* include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
-	`FT_Int32' for fourth parameter.
-	* src/base/ftobjs.c (open_face): Use cast for calling
-	clazz->init_face.
-
-	* src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
-	`1L'.
-	(Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
-	* src/raster/ftrend1.c (ft_raster1_render): Ditto.
-
-	* src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
-	constant.
-
-2002-09-26  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/include/freetype/config/ftmodule.h: Updated.
-
-2002-09-25  David Turner  <[email protected]>
-
-	* src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
-	hinting in the auto-hinter.  This produces much better anti-aliased
-	text.
-
-	* docs/CHANGES: Updating the changes documentation.
-
-2002-09-25  Anthony Fok  <[email protected]>
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
-	tt_cmap4_char_next): Added support for opens___.ttf (it contains a
-	charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
-	missing glyph).
-
-2002-09-21  Wolfgang Domröse  <[email protected]>
-
-	* src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
-	FT_Int32.
-	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
-	Ditto.
-
-2002-09-19  Wolfgang Domröse  <[email protected]>
-
-	More 16bit fixes.
-
-	* src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
-	(ah_hinter_compute_widths): Use FT_Pos for `dist'.
-	Use AH_MAX_WIDTHS.
-	* src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
-	for `delta'.
-	(ah_outline_compute_edges): Replace some ints with FT_Int and
-	FT_Pos.
-	(ah_test_extrema): Clean up code.
-	(ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
-	hold indices.
-	* src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
-	to FT_Pos.
-
-2002-09-19  Werner Lemberg  <[email protected]>
-
-	* builds/unix/config.guess, builds/unix/config.sub: Updated to
-	recent versions.
-
-2002-09-18  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Library_Version): Bugfix.
-
-	* FreeType 2.1.3rc2 (release candidate 2) is released!
-
-2002-09-17  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h, include/freetype/ftimage.h,
-	include/freetype/ftstroker.h, include/freetype/ftsysio.h,
-	include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
-	the in-source documentation.
-
-	* src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
-	DocMaker tool.
-
-	* src/tools/docmaker.py: Removed.
-
-2002-09-17  Werner Lemberg  <[email protected]>
-
-	More 16bit fixes.
-
-	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
-	second parameter.
-
-2002-09-16  Werner Lemberg  <[email protected]>
-
-	16bit fixes from Wolfgang Domröse.
-
-	* src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
-	and `private_len' to FT_Long.
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
-	`private_len'.
-	* src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
-	Use FT_PtrDist where appropriate.
-	(parse_encoding): Use FT_Long for `count' and `n'.
-	(read_binary_data): Use FT_Long* for second parameter.
-	* src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
-
-	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
-	* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
-
-2002-09-14  Werner Lemberg  <[email protected]>
-
-	Making ftgrays.c compile stand-alone again.
-
-	* include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
-	isn't defined.
-	* src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
-	FT_BEGIN_HEADER, FT_END_HEADER.
-	(FT_MEM_ZERO): Define.
-	(TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
-	(gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
-	Don't cast with `FT_Byte'.
-	(grays_init_gamma): Don't use `FT_UInt'.
-
-2002-09-14  Werner Lemberg  <[email protected]>
-
-	* src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
-	* src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
-	* include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
-	to 32.
-
-2002-09-10  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.ac (version_info): Set to 9:2:3.
-	* builds/unix/configure: Regenerated.
-	* docs/VERSION.DLL: Updated.
-
-2002-09-09  David Turner  <[email protected]>
-
-	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
-	src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
-	to prevent segfault when hints are provided in an empty glyph.
-
-	* src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
-	Removed conditional code.  This fixes a bug that prevented
-	compilation in debug mode of template instantiation.
-
-	* include/freetype/ftimage.h: Removed incorrect `zft_' definitions
-	and updated constants documentation comments.
-
-	* src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
-	It didn't accept empty arrays, and this prevented the loading of
-	certain fonts.
-
-	* include/freetype/freetype.h (FT_FaceRec): Updating documentation
-	comment.  The `descender' value is always *negative*, not positive.
-
-2002-09-09  Owen Taylor  <[email protected]>
-
-	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
-	of bitmap metrics.
-
-2002-09-08  David Turner  <[email protected]>
-
-	Various updates to correctly support subpixel rendering.
-
-	* include/freetype/config/ftmodule.h: Add two renderers for LCD.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_lcd,
-	ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
-	FT_PIXEL_MODE_LCD_V, respectively.
-
-	* include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
-	structure.
-	Updated all users.
-	(FTC_ImageDesc): Removed.
-	(FTC_ImageCache_Lookup): Second parameter is now of type
-	`FTC_ImageType'.
-	Updated all users.
-	(FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
-	(FTC_IMAGE_TYPE_COMPARE): This.
-	(FTC_IMAGE_DESC_HASH): Updated and renamed to...
-	(FTC_IMAGE_TYPE_HASH): This.
-
-	* include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
-	replaced with `max_grays'.
-	`pitch' is now FT_Short.
-	(FTC_SBitCache_Lookup): Second parameter is now of type
-	`FTC_ImageType'.
-	Updated all users.
-
-	* src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
-	Updated.
-	(ftc_image_node_init): Updated.
-	Moved code to convert type flags to load flags to...
-	(FTC_Image_Cache_Lookup): This function.
-	(ftc_image_family_init): Updated.
-
-	* src/cache/ftcsbits.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
-	Updated.
-	(ftc_sbit_node_load): Updated.
-	Moved code to convert type flags to load flags to...
-	(FTC_SBitCache_Lookup): This function.
-
-	* src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
-	`do_*_snapping'.
-	Update all users (with negation).
-	* src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
-	`dist' for `delta' < 40.
-
-	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
-	`do_*_snapping'.
-	Update all users (with negation).
-	* src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
-	function.
-	(psh3_hint_align): Use it.
-	Improve hinting code.
-	[STRONGER]: Removed.
-	(STRONGER): Removed.
-
-	* include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
-	Removed.
-
-2002-09-05  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidobjs.c (CID_Size_Init): Renamed to...
-	(cid_size_init): This.
-	* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
-	(t1_builder_add_point1): This.
-
-	Updated all affected code.
-
-	* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
-	* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
-
-2002-09-04  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h: Corrected the definition of
-	ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
-	the erroneous FT_ENCODING_SYMBOL).
-
-	* builds/unix/unix-def.in (datadir): Initialize it (thanks to
-	Anthony Fok).
-
-2002-08-29  David Turner  <[email protected]>
-
-	Slight modification to the Postscript hinter to slightly increase
-	the contrast of smooth hinting.  This is very similar to what the
-	auto-hinter does when it comes to stem width computations.  However,
-	it produces better results with well-hinted fonts.
-
-	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
-	mode to `init' member function.
-	(T1_DecoderRec): Add hint mode.
-	* include/freetype/internal/pshints (T1_Hints_ApplyFunc,
-	T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
-	* src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
-	* src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
-	hint flags.
-	* src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
-	* src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
-	(STRONGER): New macro.
-	(psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
-	of `hint_flags'.
-	Implement announced changes.
-	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
-	vertical and horizontal hints and snapping.
-
-	* README, docs/CHANGES: Updating for the 2.1.3 release.
-
-2002-08-27  David Turner  <[email protected]>
-
-	* Massive re-formatting changes to many, many source files.  I don't
-	want to list them all here.  The operations performed were all
-	logical transformations of the sources:
-
-	- trying to convert all enums and constants to CAPITALIZED_STYLE,
-	  #with define definitions like
-
-	    #define my_old_constants   MY_NEW_CONSTANT
-
-	- big, big update of the documentation comments
-
-	* include/freetype/freetype.h, src/base/ftobjs.c,
-	src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
-	for LCD-optimized rendering though the new constants/enums:
-
-	  FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
-	  FT_PIXEL_MODE_LCD,  FT_PIXEL_MODE_LCD_V
-
-	This is still work in progress, don't expect everything to work
-	correctly though most of the features have been implemented.
-
-	* Adding new FT_LOAD_XXX flags, used to specify both hinting and
-	rendering targets:
-
-	  FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
-	  FT_LOAD_TARGET_MONO   :: monochrome bitmaps
-	  FT_LOAD_TARGET_LCD    :: horizontal RGB/BGR decimated
-	                           hinting & rendering
-	  FT_LOAD_TARGET_LCD_V  :: vertical RGB/BGR decimated
-	                           hinting & rendering
-
-	Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
-	behaviour of the font engine is _unchanged_.
-
-	* include/freetype/ftimage.h
-	(FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
-	(FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
-	(FT_Raster_Span_Func): Renamed to ...
-	(FT_SpanFunc): This.
-	(FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
-	(FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
-
-	Updated all affected code.
-
-	* include/freetype/ftrender.h
-	(FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
-	to ...
-	(FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
-	(FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
-	(FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SetModeFunc}):
-	This.
-
-	Updated all affected code.
-
-	* src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
-	AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
-	pointers to the corresponding `*Rec' structures.  All source files
-	have been updated accordingly.
-
-	* src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
-	* src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
-
-	* src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
-	(cid_face_compute_max_advance): This.
-	(CID_Load_Glyph): Renamed to...
-	(cid_slot_load_glyph): This.
-	* src/cid/cidload.c (CID_Open_Face): Renamed to...
-	(cid_face_open): This.
-	* src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
-	(cid_slot_{done,init}): This.
-	(CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
-	(cid_size_{get_globals_funcs,done,reset): This.
-	(CID_Face_{Done,Init}): Renamed to...
-	(cid_face_{done,init}): This.
-	(CID_Driver_{Done,Init}: Renamed to...
-	(cid_driver_{done,init}: This.
-	* src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
-	(cid_parser_{new,done}): This.
-	* src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
-	(cid_parser_skip_{spaces,alpha}): This.
-	(CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
-	to...
-	(cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
-	This.
-	(CID_Load_{Field,Field_Table): Renamed to...
-	(cid_parser_load_{field,field_table}): This.
-	* src/cid/cidriver.c (CID_Get_Interface): Renamed to...
-	(cid_get_interface): This.
-
-	Updated all affected code.
-
-	* src/psaux/psobjs.c (PS_Table_*): Renamed to...
-	(ps_table_*): This.
-	(T1_Builder_*): Renamed to...
-	(t1_builder_*): This.
-	* src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
-	(t1_decoder_*): This.
-
-	* src/psnames/psmodule.c (PS_*): Renamed to...
-	(ps_*): This.
-
-	Updated all affected code.
-
-	* src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
-	(sfnt_get_interface): This.
-	* src/sfnt/sfobjs.c (SFNT_*): Renamed to...
-	(sfnt_*): This.
-	* src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
-	(tt_face_{load,free}_charmap): This.
-	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
-	(tt_face_build_cmaps): This.
-	* src/sfnt/ttload.c (TT_*): Renamed to...
-	(tt_face_*): This.
-	* src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
-	(tt_post_default_names): This.
-	(Load_*): Renamed to...
-	(load_*): This.
-	(TT_*): Renamed to...
-	(tt_face_*): This.
-	* src/sfnt/ttsbit.c (TT_*): Renamed to...
-	(tt_face_*): This.
-	({Find,Load,Crop}_*): Renamed to...
-	({find,load,crop}_*): This.
-
-	Updated all affected code.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
-	(ft_smooth_render_generic): This.
-	Make function more generic by adding vertical and horizontal scaling
-	factors.
-	(ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
-	New functions.
-
-	(ft_smooth_lcd_renderer_class, ft_smooth_lcdv_renderer_class): New
-	classes.
-
-	* src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
-	(tt_glyphzone_{done,new}): This.
-	(TT_{Face,Size,Driver}_*): Renamed to...
-	(tt_{face,size,driver}_*): This.
-	* src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
-	(tt_face_load_loca): This.
-	(TT_Load_Programs): Renamed to...
-	(tt_face_load_fpgm): This.
-	(TT_*): Renamed to...
-	(tt_face_*): This.
-
-2002-08-27  Werner Lemberg  <[email protected]>
-
-	* docs/VERSION.DLL: New file.
-
-2002-08-23  Graham Asher  <[email protected]>
-
-	* src/cff/cffgload.c (cff_operator_seac)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
-	incremental in the case of CFF but just using callbacks to get glyph
-	recipes) pass the character code, not the glyph index, to the
-	get_glyph_data function; they have no valid charset table.
-
-	* src/cff/cffload.c (cff_font_load): Removed special cases for
-	FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
-	fonts provided via the incremental interface now have to conform
-	more closely to the CFF font format.
-
-	* src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
-
-	* src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
-	to conform with new signature.
-
-2002-08-22  David Turner  <[email protected]>
-
-	* src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
-	src/bdf/bdfdrivr.c: Removed compiler warnings.
-
-2002-08-21  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
-	psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
-	compiler warnings and resolve shadowing of local variables.
-
-2002-08-21  David Turner  <[email protected]>
-
-	The automatic and Postscript hinter now automatically detect
-	inflection points in glyph outlines and treats them specially.  This
-	is very useful to prevent nasty effect like the disappearing
-	diagonals of `S' and `s' in many, many fonts.
-
-	* src/autohint/ahtypes.h (ah_flag_inflection): New macro.
-	* src/autohint/ahangles.c (ah_angle_diff): New function.
-	* src/autohint/ahangles.h: Updated.
-	* src/autohint/ahglyph.c (ah_outline_compute_inflections): New
-	function.
-	(ah_outline_detect_features): Use it.
-	* src/autohint/ahhint.c (ah_hinter_align_strong_points)
-	[!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
-
-	* src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
-	src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
-
-	* include/freetype/freetype.h: Changing the type of the `load_flags'
-	parameter from `FT_Int' to `FT_Int32', this in order to support more
-	options.  This should only break binary and/or source compatibility
-	on 16-bit platforms (Atari?).
-	(FT_LOAD_NO_AUTOHINT): New macro.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
-	Handle FT_LOAD_NO_AUTOHINT.
-	(FT_Load_Char): Updated.
-
-	* src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
-	src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
-	and removing compiler warnings.
-
-2002-08-20  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
-
-2002-08-20  David Turner  <[email protected]>
-
-	* src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
-	src/pshinter/pshglob.c, src/pshinter/pshrec.c,
-	src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
-	(only used in development builds anyway).
-
-	Improve support of local extrema and stem edge points.
-
-	* src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
-	for `zones'.
-	(PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
-	(PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
-	(PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
-	macros.
-	(PSH3_POINT_INFLEX): New enum.
-	(psh3_point_{is,set}_{off,inflex}): New macros.
-	(PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
-	enum values.
-	(psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
-	New macros.
-	(PSH3_PointRec): New members `flags2' and `org_v'.
-	(PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
-
-	* src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
-	warnings.
-	(COMPUTE_INFLEXS): New macro.
-	(psh3_hint_align): Simplify some basic arithmetic computations.
-	(psh3_point_is_extremum): Removed.
-	(psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
-	(psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
-	(psh3_glyph_compute_extrema): New function.
-	(PSH3_STRONG_THRESHOLD): Increased to 30.
-	(psh3_hint_table_find_strong_point): Improved.
-	(psh3_glyph_find_strong_points,
-	psh3_glyph_interpolate_strong_points): Updated.
-	(psh3_hints_apply): Use psh3_glyph_compute_extrema.
-
-	* test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
-	functions.
-	Other small updates.
-
-	* Jamfile: Small updates.
-
-2002-08-18  Arkadiusz Miskiewicz  <[email protected]>
-
-	* builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
-	make life easier for package maintainers.
-
-2002-08-18  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
-	horiBearingX.
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix computation of
-	horiBearingY.
-
-2002-08-16  George Williams  <[email protected]>
-
-	Add support for Apple composite glyphs.
-
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
-
-	* src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
-	UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
-	glyph loading flags.
-	(load_truetype_glyph): Implement it.
-
-2002-08-16  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_free_glyph_data),
-	src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
-
-2002-08-15  Werner Lemberg  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
-	* src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
-
-2002-08-15  Graham Asher  <[email protected]>
-
-	Implemented the incremental font loading system for the CFF driver.
-	Tested using the GhostScript-to-FreeType bridge (under development).
-
-	* src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
-	functions.
-	(cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
-	them.
-	* src/cff/cffload.c (cff_font_load): Add `face' parameter.
-	Load charset and encoding only if there are glyphs.
-	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
-	character recipes.
-	* src/cff/cffload.h, src/cff/cffobjs.c: Updated.
-
-	* src/cid/cidgload.c (cid_load_glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
-	loading implementation to use the new system introduced on
-	2002-08-01.
-
-2002-08-06  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffcmap.c: Remove compiler warnings.
-	* src/cache/ftccache.c, src/cache/ftccache.i,
-	src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
-	* src/cff/cffload.c: s/select/fdselect/.
-	* src/raster/ftraster.c: s/wait/waiting/.
-
-2002-08-01  Graham Asher  <[email protected]>
-
-	* src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
-	charstrings if there is an incremental loading interface.  Type 1
-	faces supplied by PostScript interpreters like GhostScript will
-	typically not provide any charstrings at load time, so this is
-	essential if they are to work.
-
-2002-08-01  Graham Asher  <[email protected]>
-
-	Modified incremental loading interface to be closer to David's
-	preferences.  The header freetype.h is not now affected, the
-	interface is specified via an FT_Parameter, the pointer to the
-	interface is hidden in an internal part of the face record, and all
-	the definitions are in ftincrem.h.
-
-	* include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
-	Removed.
-	* include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
-	Include FT_INCREMENTAL_H.
-	(FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
-	`incremental_interface'.
-
-	* src/base/ftobjs.c (open_face, FT_Open_Face)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
-	Updated.
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-	Free loaded glyph data properly.
-	(compute_glyph_metrics, TT_Load_Glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-	* src/truetype/ttobjs.c (TT_Face_Init)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-	(T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-	Free loaded glyph data properly.
-	(T1_Load_Glyph): Updated.
-	[FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
-
-2002-07-30  David Turner  <[email protected]>
-
-	* include/freetype/ftincrem.h: Adding new experimental header file
-	to demonstrate a `cleaner' API to support incremental font loading.
-
-	* include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
-
-	* src/tools/docmaker/*: Adding new (more advanced) version of
-	the DocMaker tool, using Python's sophisticated regexps.
-
-2002-07-28  Werner Lemberg  <[email protected]>
-
-	s/ft_memset/FT_MEM_SET/.
-	s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
-
-2002-07-27  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
-
-2002-07-26  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
-
-	* src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
-	* src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
-	* src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
-	variable.
-	* src/truetype/ttgload.c (load_truetype_glyph): Remove statement
-	without effect.
-	* src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
-
-	* src/pshinter/pshalgo3.c (psh3_hint_table_record,
-	psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
-	message.
-
-2002-07-24  Graham Asher  <[email protected]>
-
-	* src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
-	[[email protected]] on the FreeType development forum: `If
-	FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
-	TrueType loader crashes in line 852 of src/truetype/ttgload.c when
-	it tries to access face->glyph_locations.'
-
-2002-07-18  Graham Asher  <[email protected]>
-
-	Added types and structures to support incremental typeface loading.
-	The FT_Incremental_Interface structure, defined in freetype.h, is
-	designed to be passed to FT_Open_Face to provide callback functions
-	to obtain glyph recipes and metrics, for fonts like those passed
-	from PostScript that do not necessarily provide all, or any, glyph
-	information, when first opened.
-
-	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
-	New configuration macro to enable incremental face loading.  By
-	default it is not defined.
-
-	* include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
-	FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
-	FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
-	[FT_CONFIG_OPTION_INCREMENTAL]: New.
-	(FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
-	`incremental_interface'.
-	(FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
-	`ft_open_incremental'.
-
-	* include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
-	(FT_Data): New structure to represent binary data.
-
-	* src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
-	Add parameter for incremental loading.
-	(FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
-	interface.
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
-	for the TrueType driver.
-	(compute_glyph_metrics): Return FT_Error.
-	[FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
-	(TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
-	the glyph table while handling an incremental font.
-	Get glyph offset.
-
-	* src/truetype/ttobjs.c (TT_Face_Init)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading
-	system for the TrueType driver.
-
-	* src/cid/cidgload.c (cid_load_glyph)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
-	for the CID driver.
-
-	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
-	Changes to support incremental Type 42 fonts: Assume a font has
-	glyphs if it has an incremental interface object.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
-	(T1_Parse_Glyph_And_Get_Char_String): This.
-	[FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
-	loaded Type 1 faces.
-	(T1_Parse_Glyph): New function.
-	(T1_Load_Glyph): Updated.
-
-2002-07-17  David Turner  <[email protected]>
-
-	Cleaning up the cache sub-system code; linear hashing is now the
-	default.
-
-	* include/freetype/cache/ftccache.h, src/cache/ftccache.i,
-	src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
-	(FTC_CACHE_USE_LINEAR_HASHING): Removed also.
-
-	FT_CONFIG_OPTION_USE_CMAPS is now the default.
-
-	* include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
-	`get_char_index' and `get_next_char'.
-
-	* include/freetype/config/ftoption.h,
-	include/freetype/internal/tttypes.h, src/base/ftobjs.c,
-	src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
-	src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
-	src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
-	src/type42/t42objs.c, src/winfonts/winfnt.c
-	[!FT_CONFIG_OPTION_USE_CMAPS]: Removed.  The new cmap code is now
-	the default.
-
-	* src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
-	Removed.
-	* src/type42/t42objs.h: Updated.
-
-	* src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
-	Removed.
-	(t1cid_driver_class): Updated.
-	* src/truetype/ttdriver.c (tt_driver_class): Updated.
-	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
-	(t1_driver_class): Updated.
-	* src/type42/t42drivr.c (t42_driver_class): Updated.
-
-	* src/base/ftobjs.c (open_face): Select Unicode cmap by default.
-
-	* src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
-	prevented OpenType fonts to be recognized by FreeType.
-
-2002-07-11  David Turner  <[email protected]>
-
-	Changing the SFNT loader to check for SFNT-based font files
-	differently.  We now ignore the range `helper' fields and check the
-	`head' table's magic number instead.
-
-	* include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
-	field.
-
-	* src/sfnt/ttload.c (sfnt_dir_check): New function.
-	(TT_Load_SFNT_HeaderRec): Renamed to...
-	(TT_Load_SFNT_Header): This.
-	Implement new functionality.
-	* src/sfnt/ttload.h: Updated.
-	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
-
-	* src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
-	and dynamic hash table implementation (still experimental, don't
-	use).
-	* include/freetype/internal/fthash.h: Updated.
-	* include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
-	`meta_class'.
-
-	Fixing a bug in the Type 1 loader that prevented valid font bounding
-	boxes to be loaded from multiple master fonts.
-
-	* include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
-
-	* include/freetype/internal/psaux.h (T1_FieldType): Add
-	`T1_FIELD_TYPE_BBOX'.
-	(T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
-	(T1_FIELD_BBOX): New macro.
-
-	* src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
-	* src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
-	(T1_Done_Blend): Free blend->bboxes.
-	(t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
-	(parse_font_bbox): Commented out.
-	(t1_keywords): Comment out `parse_font_bbox'.
-	* src/type1/t1tokens.h: Define `FontBBox' field.
-
-2002-07-10  David Turner  <[email protected]>
-
-	* src/cff/cffobjs.c: Small fix to select the Unicode charmap by
-	default when needed.
-	Small fix to allow OpenType fonts to support Adobe charmaps when
-	needed.
-
-	* src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
-	charmaps for CFF fonts.
-
-	* src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
-
-	* include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
-	fixed-length arrays for `sids' and `codes'.  Add `count' member.
-	(CFF_FontRec): Add `psnames' member.
-
-	* src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
-	src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
-	src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
-	support for CFF charmaps, reformatting the sources, and removing
-	some bugs in the Encoding and Charset loaders.
-	Many fonts renamed to use lowercase only:
-
-	  CFF_Builder_Init -> cff_builder_init
-	  CFF_Builder_Done -> cff_builder_done
-	  CFF_Init_Decoder -> cff_decoder_init
-	  CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
-	  CFF_Load_Glyph -> cff_slot_load
-	  CFF_Init_Decoder -> cff_decoder_init
-	  CFF_Prepare_Decoder -> cff_decoder_prepare
-	  CFF_Get_Standard_Encoding -> cff_get_standard_encoding
-	  CFF_Access_Element -> cff_index_access_element
-	  CFF_Forget_Element -> cff_index_forget_element
-	  CFF_Get_Name -> cff_index_get_name
-	  CFF_Get_String -> cff_index_get_sid_string
-	  CFF_Get_FD -> cff_fd_select_get
-	  CFF_Done_Charset -> cff_charset_done
-	  CFF_Load_Charset -> cff_charset_load
-	  CFF_Done_Encoding -> cff_encoding_done
-	  CFF_Load_Encoding -> cff_encoding_load
-	  CFF_Done_SubFont -> cff_subfont_done
-	  CFF_Load_Font -> cff_font_load
-	  CFF_Done_Font -> cff_font_done
-	  CFF_Size_Get_Globals_Funcs -> cff_size_get_globals_funcs
-	  CFF_Size_Done -> cff_size_done
-	  CFF_Size_Init -> cff_size_init
-	  CFF_Size_Reset -> cff_size_reset
-	  CFF_GlyphSlot_Done -> cff_slot_done
-	  CFF_GlyphSlot_Init -> cff_slot_init
-	  CFF_StrCopy -> cff_strcpy
-	  CFF_Face_Init -> cff_face_init
-	  CFF_Face_Done -> cff_face_done
-	  CFF_Driver_Init -> cff_driver_init
-	  CFF_Driver_Done -> cff_driver_done
-	  CFF_Parser_Init -> cff_parser_init
-	  CFF_Parser_Run -> cff_parser_run
-
-	  add_point -> cff_builder_add_point
-	  add_point1 -> cff_builder_add_point1
-	  add_contour -> cff_builder_add_contour
-	  close_contour -> cff_builder_close_contour
-	  cff_explicit_index -> cff_index_get_pointers
-
-2002-07-09  Owen Taylor  <[email protected]>
-
-	* src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
-	prevented the hinter from using correct standard width and height
-	values, resulting in hinting bugs with certain fonts (e.g. Utopia).
-
-2002-07-07  David Turner  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
-	successfully when the function is called with a bitmap glyph (the
-	previous code simply returned with an error).
-
-	* docs/DEBUG.TXT: Adding debugging support documentation.
-
-	* src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
-	(ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
-	the syntax of the FT2_DEBUG environment variable used to control
-	debugging output (i.e. logging and error messages).  It must now
-	look like:
-
-	  any:6 memory:4 io:3   or
-	  any:6,memory:4,io:3   or
-	  any:6;memory:4;io:3
-
-2002-07-07  Owen Taylor  <[email protected]>
-
-	* src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
-	blue fuzz.
-	* src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
-	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
-
-	Adding support for hinter-specific bit flags, and the new
-	FT_Set_Hint_Flags high-level API.
-
-	* include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
-	(FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
-	FT_HINT_NO_VSTEM_ALIGN): New macros.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
-	`hint_flags' member.
-
-	* src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
-
-	* include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
-	member.
-
-	* include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
-	T2_Hints_ApplyFunc): Add parameter to pass hint flags.
-
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
-	T1_Decoder_Init): Use decoder->hint_flags.
-	* src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
-	* src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
-	(CFF_Parse_CharStrings): Updated.
-	* src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
-	hint flags (unused).
-	* src/pshinter/pshalgo1.h: Updated.
-	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
-	hint flags (unused).
-	* src/pshinter/pshalgo2.h: Updated.
-	* src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
-	hint flags.
-	* src/pshinter/pshalgo3.h: Updated.
-
-2002-07-04  David Turner  <[email protected]>
-
-	* src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
-	incorrect advances when the outline resolution was different from
-	the metrics resolution.
-
-	* src/autohint/ahhint.c: Removing compiler warnings.
-
-	* src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
-	(ah_outline_link_segments): Slight improvements to the serif
-	detection code.  More work is needed though.
-
-2002-07-03  David Turner  <[email protected]>
-
-	Small improvements to the automatic hinter.  Uneven stem-widths have
-	now disappeared and everything looks much better, even if there are
-	still issues with serifed fonts.
-
-	* src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
-	* src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
-	(ah_snap_width): Commented out.
-	(ah_align_linked_edge): Renamed to...
-	(ah_compute_stem_width): This.
-	Don't allow uneven stem-widths.
-	(ah_align_linked_edge): New function.
-	(ah_align_serifed_edge): Don't strengthen serifs.
-	(ah_hint_edges_3, ah_hinter_scale_globals): Updated.
-
-2002-07-03  Owen Taylor  <[email protected]>
-
-	Adding new algorithm based on Owen Taylor's recent work.
-
-	* src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
-	* src/pshinter/pshalgo.h: Updated.
-	Use pshalgo3 by default.
-	* src/pshinter/pshinter.c: Include pshalgo3.c.
-
-	* src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
-
-2002-07-01  Owen Taylor  <[email protected]>
-
-	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
-	where, if a glyph has more than hint mask, the second mask gets
-	applied to points that should have been covered by the first mask.
-
-2002-07-01  Keith Packard  <[email protected]>
-
-	* src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
-	Fixing the cmap 8 and 12 parsing routines.
-
-2002-07-01  David Turner  <[email protected]>
-
-	* src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
-	(FT_Outline_Embolden): Renamed to...
-	(FT_GlyphSlot_Embolden): This.
-	Updated to new trigonometric functions.
-	(FT_Outline_Oblique): Renamed to...
-	(FT_GlyphSlot_Oblique): This.
-	(ft_norm): Removed.
-	* include/freetype/ftsynth.h: Updated.
-
-2002-06-26  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftobject.h: Updating the object
-	sub-system definitions (still experimental).
-
-	* src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
-	bug.
-
-	* src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
-	functions.
-	* include/freetype/fttrigon.h: Updated.
-
-
-	Adding path stroker component (work in progress).
-
-	* include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
-	* src/base/Jamfile: Updated.
-
-	* include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
-
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph),
-	src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
-	FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
-
-2002-06-24  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-2002-06-21  David Turner  <[email protected]>
-
-
-	* Version 2.1.2 released.
-	=========================
-
-
-2002-06-21  Roberto Alameda  <[email protected]>.
-
-	* include/freetype/internal/t42types.h (T42_Font): Removed since
-	it is already in t42objs.h.
-	(T42_Face): Use T1_FontRec.
-
-	* src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
-	(FT_Has_PS_Glyph_Names): Check for type42 driver name also.
-	* src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
-	(T42_Face): Removed since it is already in t42types.h.
-
-2002-06-21  Detlef Würkner  <[email protected]>
-
-	* src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
-	glyphs.
-
-2002-06-21  Sven Neumann  <[email protected]>
-
-	* src/pfr/pfrtypes.h (PFR_KernPair): New structure.
-	(PFR_PhyFont): Use it.
-	(PFR_KernFlags): New enumeration.
-	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
-	function.
-	(pfr_phy_font_extra_items): Use it.
-	(pfr_phy_font_done): Updated.
-	* src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
-	(pfr_face_get_kerning): New function.
-	* src/pfr/pfrobjs.h: Updated.
-	* src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
-
-2002-06-21  David Turner  <[email protected]>
-
-	* README, docs/CHANGES: Preparing the 2.1.2 release.
-
-2002-06-19  Detlef Würkner  <[email protected]>
-
-	* src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
-	(t1_face_check_cast): Removed.
-	(FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
-	also.
-
-2002-06-19  Sebastien BARRE  <http://barre.nom.fr/contact.html#email>
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
-
-2002-06-19  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
-	(xy <-> yx).
-	* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
-	`||' to make code easier to read.
-
-2002-06-18  Roberto Alameda  <[email protected]>.
-
-	* src/type42/t42objs.c (t42_check_size_change): Removed.
-	(T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
-	instead.
-	(T42_GlyphSlot_Load): Remove call to t42_check_size_change.
-
-2002-06-18  Detlef Würkner  <[email protected]>
-
-	* src/psaux/t1cmap.c (t1_cmap_custom_char_index,
-	t1_cmap_custom_char_next): Fix index computation -- indices start
-	with 0 and not with cmap->first.
-
-	Provide default charmaps.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
-	(PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
-	src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
-	(FNT_Face_Init): Implement it.
-
-2002-06-17  Sven Neumann  <[email protected]>
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
-
-2002-06-16  Leonard Rosenthol  <[email protected]>
-
-	Updated Win32/VC++ projects to include the new PFR driver.
-
-	* builds/win32/visualc/freetype.dsp: Updated.
-
-2002-06-16  Anthony Fok  <[email protected]>
-
-	Install freetype2.m4.
-
-	* builds/unix/install.mk (install, uninstall): Handle it.
-
-2002-06-16  Detlef Würkner  <[email protected]>
-
-	Same fix for PFR driver.
-
-	* src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
-	Increase return value by 1.
-	* src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
-
-2002-06-15  Detlef Würkner  <[email protected]>
-
-	Fix glyph indices to make index zero always the undefined glyph.
-
-	* src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
-	cmap->num_encodings.
-	(bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
-	Increase result by 1 for normal cases.
-	(BDF_Glyph_Load): Decrease index by 1.
-
-	* src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
-	PCF_Char_Get_Index): Increase result by 1 for normal cases.
-	(PCF_Glyph_Load): Decrease index by 1.
-	* src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
-	allocating `encoding'.
-
-	* src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
-	bounding tests.
-
-2002-06-14  Detlef Würkner  <[email protected]>
-
-	Add new cmap support to BDF driver.
-
-	* src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
-	New structure.
-	(bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
-	bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
-	(BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
-	conditionally.
-	(BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
-	Implement new cmap handling.
-	(bdf_driver_class): Updated.
-
-2002-06-14  Werner Lemberg  <[email protected]>
-
-	* Makefile, configure, */*.mk, builds/unix/unix-def.in,
-	docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
-
-2002-06-12  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
-
-2002-06-11  David Turner  <[email protected]>
-
-	* builds/win32/ftdebug.c: Added a missing #endif.
-
-	* src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
-
-	Removed the bug in Type 42 driver that prevented un-hinted outlines
-	to be loaded.
-
-	* src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
-	(T42_Size_Init): Call FT_Activate_Size.
-	(t42_check_size_change): New function.
-	(T42_Size_SetChars, T42_Size_SetPixels): Use it.
-	(ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
-	(T42_GlyphSlot_Load): Use t42_check_size_change.
-	Initialize more fields of `glyph'.
-
-	* builds/win32/visualc/freetype.dsp: Updated.
-
-2002-06-09  David Turner  <[email protected]>
-
-
-	* Version 2.1.1 released.
-	=========================
-
-
-2002-06-08  Juliusz Chroboczek  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
-	src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
-	use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
-	and `ft_jmp_buf'.
-	Removed direct references to <stdio.h> and <setjmp.h> when
-	appropriate, to eventually replace them with a
-	FT_CONFIG_STANDARD_LIBRARY_H.  Useful for the XFree86 Font Server
-	backend based on FT2.
-
-	* src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
-
-2002-06-08  David Turner  <[email protected]>
-
-	* src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
-	the function to return invalid values.
-
-	* src/cache/ftccache.i: Removing a typo that prevented
-	the source's compilation.
-
-	* src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
-	bug that caused nasty memory overwrites.  The hash table's
-	buckets array wasn't correctly resized when shrunk.
-
-2002-06-08  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/smakefile, builds/amiga/makefile: Updated.
-
-2002-06-08  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
-	[FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
-	Fix debugging messages.
-	* src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
-	`family' and `hash' up to make it compilable with g++.
-
-	* src/type42/t42error.h: New file.
-	* src/type42/t42drivr.c, src/type42/t42objs.c,
-	src/type42/t42parse.c: Use t42 error codes.
-	* src/type42/rules.mk: Updated.
-
-	* src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
-
-2002-06-08  David Turner  <[email protected]>
-
-	* src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
-	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
-	New macros.
-	(ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
-	ftc_cache_lookup.
-	(FTC_CMapCache_Lookup): Updated.
-
-	Adding various experimental optimizations to the cache manager.
-
-	* include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
-	FTC_CACHE_USE_LINEAR_HASHING): New options.
-	(FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
-	`mask', and `slack'.
-
-	* src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
-	FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
-	FTC_HASH_INITIAL_SIZE]: New macros.
-	(ftc_node_mru_link, ftc_node_mru_up): Optimized.
-	(ftc_node_hash_unlink, ftc_node_hash_link)
-	[FTC_CACHE_USE_LINEAR_HASHING]: New variants.
-	(FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
-	FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
-	[!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
-	(ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
-	Updated.
-	(ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
-
-	* src/cache/ftccache.i: New file.
-
-	* src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
-	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
-	New macros.
-	(ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
-	ftc_cache_lookup.
-	(FTC_SBitCache_Lookup): Updated.
-
-	* src/type42/t42parse.c: Removing duplicate function.
-
-2002-06-07  Graham Asher  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
-	from FT_EXPORT_DEF to FT_BASE_DEF.
-
-2002-06-07  David Turner  <[email protected]>
-
-	Fixed the bug that prevented the correct display of fonts with
-	`ftview'.
-
-	* src/type42/t42drivr.c: Split into...
-	* src/type42/t42drivr.h, src/type42/t42parse.c,
-	src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
-	src/type42/type42.c: New files.
-
-	(t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
-	`face->type1'.
-
-	(Get_Interface): Renamed to...
-	(T42_Get_Interface): This.
-	Updated.
-	(T42_Open_Face, T42_Face_Done): Updated.
-	(T42_Face_Init): Add new cmap support.
-	Updated.
-	(T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
-	T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
-	(Get_Char_Index, Get_Next_Char): Renamed to...
-	(T42_CMap_CharIndex, T42_CMap_CharNext): This.
-	Updated.
-	(T42_Char_Size, T42_Pixel_Size): Renamed to...
-	(T42_Size_SetChars, T42_Size_SetPixels): This.
-	(T42_Load_Glyph): Renamed to...
-	(T42_GlyphSlot_Load): This.
-
-	(t42_init_loader, t42_done_loader): Renamed to...
-	(t42_loader_init, t42_loader_done): This.
-	(T42_New_Parser, T42_Finalize_Parser): Renamed to...
-	(t42_parser_init, t42_parser_done): This.
-	(parse_dict): Renamed to...
-	(t42_parse_dict): This.
-	(is_alpha, is_space, hexval): Renamed to...
-	(t42_is_alpha, t42_is_space, t42_hexval): This.
-	(parse_font_name, parse_font_bbox, parse_font_matrix,
-	parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
-	Renamed to...
-	(t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
-	t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
-	t42_parse_dict): This.
-	Updated.
-
-	(t42_keywords): Updated.
-
-	* src/type42/Jamfile, src/type42/descrip.mms: Updated.
-
-2002-06-03  Werner Lemberg  <[email protected]>
-
-	Add 8bpp support to BDF driver.
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
-	* src/bdf/README: Updated.
-
-2002-06-02  Detlef Würkner  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
-
-2002-05-29  Detlef Würkner  <[email protected]>
-
-	* src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
-	(_bdf_parse_glyphs): Use correct size for allocating
-	`font->unencoded'.
-	(bdf_load_font): Free array conditionally.
-	Return proper error code in case of failure.
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
-	unusual fonts.
-
-2002-05-29  Werner Lemberg  <[email protected]>
-
-	* src/bdf/descrip.mms, src/type42/descrip.mms: New files.
-	* descrip.mms (all): Updated.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
-	compilation.
-	* src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
-
-2002-05-28  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/makefile, builds/amiga/smakefile,
-	amiga/include/freetype/config/ftmodule.h: Updated to include
-	support for BDF and Type42 drivers.
-
-	* docs/modules.txt: Updated.
-
-2005-05-28  David Turner  <[email protected]>
-
-	* docs/CHANGES: Updating file for next release (2.1.1).
-
-	* src/bdf/bdflib.c: Removing compiler warnings.
-
-	* include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
-	They provide a new API (FT_Get_X11_Font_Format) to retrieve an
-	X11-compatible string describing the font format of a given face.
-	This was put in a new optional base source file, corresponding to a
-	new public header (named FT_XFREE86_H since this function should
-	only be used within the XFree86 font server IMO).
-
-	* include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
-	documented yet).
-
-	* src/base/fttype1.c: New file, providing two new API functions
-	(FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
-	* include/freetype/t1tables.h: Updated.
-
-	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
-	Updating build control files for the new files `ftxf86.c' and
-	`fttype1.c' in src/base.
-
-	* src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
-	prevented family blue zones substitution from happening correctly.
-
-	* include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
-	documentation comment.
-
-2002-05-28  Werner Lemberg  <[email protected]>
-
-	* src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
-	but FT_STREAM_READ.
-	Declare `stream' variable.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
-	with calls to `FT_MulDiv'.
-
-2002-05-28  David Turner  <[email protected]>
-
-	Fixing the SFNT name table loader to support various buggy fonts.
-	It now ignores empty name entries, entries with invalid pointer
-	Offsets and certain fonts containing tables with broken
-	`storageOffset' fields.
-
-	Name strings are now loaded on demand, which reduces the memory
-	requirements for a given FT_Face tremendously (for example, the name
-	table of Arial.ttf is about 10Kb and contains 70 names).
-
-	This is a temporary fix.  The whole name table loader and interface
-	will be rewritten in a much more cleanly way shortly, once CSEH have
-	been introduced in the sources.
-
-	* include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
-	type of `stringOffset' to FT_ULong.
-	(TT_NameTableRec): Change type of `numNameRecords' and
-	`storageOffset' to FT_UInt.
-	Replace `storage' with `stream'.
-	* src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
-	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
-	Make code more robust.
-	* src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
-	(tt_face_get_name): Use it.
-	Make code more robust.
-	* src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
-	Handle invalid `storageOffset' data better.
-	Set length fields to zero for invalid or ignored data.
-	Remove code within FT_DEBUG_LEVEL_TRACE.
-	(TT_Free_Names): Updated.
-
-2002-05-24  Tim Mooney  <[email protected]>
-
-	* builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
-	FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
-	rebuilt from sources.  Set macro serial to 1, and use third argument
-	to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
-	be rebuilt with autoheader (not recommended now, ftconfig.in is a
-	custom source file)
-
-2002-05-22  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
-	(FT_BDF_H): New macro for accessing `ftbdf.h'.
-
-	* src/type42/t42drivr.c (hexval): Fix typo.
-
-2002-05-21  Martin Muskens  <[email protected]>
-
-	* src/psaux/psobjs.c (T1Radix): New function.
-	(t1_toint): Use it to handle numbers in radix format.
-
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
-	for undocumented, obsolete opcode 15.
-
-2002-05-21  David Turner  <[email protected]>
-
-	* src/bdf/bdflib.c: Removed compiler warning, and changed all tables
-	to the `static const' storage specifier (instead of simply
-	`static').
-
-	* src/type42/t42drivr.c (hexval): Use more efficient code.
-	Removing compiler warnings.
-	* src/bdf/bdfdrivr.c: Removing compiler warnings.
-
-	* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
-	src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
-	(FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
-	from a face.  This is much cleaner than accessing the internal types
-	`BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
-
-2002-05-21  Werner Lemberg  <[email protected]>
-
-	* src/bdf/README: Mention Microsoft's SBIT tool.
-
-	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
-	src/truetype/ttdriver.c, src/type1/t1driver.c,
-	src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
-	[FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed.  It has
-	been never used.
-
-2002-05-21  Roberto Alameda  <[email protected]>.
-
-	* src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
-	(parse_font_matrix): Remove unnecessary code.
-	(parse_sfnts): Initialize some variables.
-	(t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
-	ft_module_driver_has_hinter conditionally.
-	Moved some type 42 specific structure definitions to...
-	* include/freetype/internal/t42types.h: New file.
-	* include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
-	New macro.
-
-2002-05-20  Werner Lemberg  <[email protected]>
-
-	* include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
-	`num_grays' for specifying the number of used gray levels.
-	* src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
-
-2002-05-19  Werner Lemberg  <[email protected]>
-
-	Adding a driver for BDF fonts written by Francesco Zappa Nardelli
-	<[email protected]>.  Heavily modified by me to
-	better adapt it to FreeType, removing unneeded stuff.  Additionally,
-	it now supports Mark Leisher's BDF extension for anti-aliased
-	bitmap glyphs with 2 and 4 bpp.
-
-	* src/bdf/*: New driver.
-	* include/freetype/internal/bdftypes.h: New file.
-	* include/freetype/internal/fttrace.h: Added BDF driver components.
-	* include/freetype/fterrdef.h: Added error codes for BDF driver.
-	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
-	* include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
-	New macro.
-
-	* include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
-	sprintf.
-
-2002-05-18  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/fttrace.h: Added Type 42 driver
-	component.
-	* src/type42/t42drivr.c: Use it.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
-	New macro.
-
-2002-05-17  Werner Lemberg  <[email protected]>
-
-	* src/type42/Jamfile: New file.
-
-2002-05-14  Werner Lemberg  <[email protected]>
-
-	Adding a driver for Type42 fonts written by Roberto Alameda
-	<[email protected]>.
-
-	* src/type42/*: New driver.
-	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
-	* include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
-	ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
-
-2002-05-12  Owen Taylor  <[email protected]>
-
-	* src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
-	with a zero length value.
-
-2002-05-12  Michael Pfeiffer  <[email protected]>
-
-	* builds/beos/beos.mk: Include `link-std.mk'.
-
-2002-05-12  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.h (T1_Loader): Renamed to...
-	(T1_LoaderRec): This.
-	(T1_Loader): Now pointer to T1_LoaderRec.
-	* src/type1/t1load.c: Updated.
-
-	* include/freetype/internal/t1types.h, src/type1/t1load.c,
-	src/type1/t1objs.c:
-	s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
-
-2002-05-06  Werner Lemberg  <[email protected]>
-
-	* README: Add a note regarding libttf vs. libfreetype.
-
-2002-05-05  Werner Lemberg  <[email protected]>
-
-	FreeType 2 can now be built in an external directory with the
-	configure script also.
-
-	* builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
-
-	* builds/unix/detect.mk (have_mk): New variable to test for
-	external build.
-	(unix-def.mk): Defined according to value of `have_mk'.
-	* builds/unix/unix.mk (have_mk): New variable to test for
-	external build.
-	Select include paths for unix-def.mk and unix-cc.mk according
-	to value of `have_mk'.
-	* builds/unix/unix-def.in (OBJ_BUILD): New variable.
-	(DISTCLEAN): Use it.
-	* builds/unix/unix-cc.in (LIBTOOL): Define default value only
-	if not yet defined.
-	* builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
-	freetype-config.
-
-	* configure: Don't depend on bash features.
-	(ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
-	partially taken from Autoconf).
-	Build a dummy Makefile if not building in source tree.
-
-	* docs/INSTALL: Document it.
-
-2002-05-04  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
-	bug that prevented FreeType 2.x and FreeType 1.x to produce
-	bit-by-bit identical monochrome glyph bitmaps with native TrueType
-	hinting.  The culprit was a single-bit flag that wasn't set
-	correctly by the TrueType glyph loader.
-
-	* src/otlayout/otlayout.h, src/otlayout/otlbase.c,
-	src/otlayout/otlbase.h, src/otlayout/otlconf.h,
-	src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
-	src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
-	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
-	src/otlayout/otljstf.c, src/otlayout/otljstf.h,
-	src/otlayout/otltable.c, src/otlayout/otltable.h,
-	src/otlayout/otltags.h: New OpenType Layout source files.  The
-	module is still incomplete.
-
-2002-05-02  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
-	(0xFFFU -> 0xFFFFU).
-
-2002-05-01  Werner Lemberg  <[email protected]>
-
-	* docs/INSTALL: Fix URL of makepp.
-
-2002-05-01  David Turner  <[email protected]>
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
-	FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
-	were opened.
-
-	* src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
-	manage fonts containing a broken name table (e.g. `hya6gb.ttf').
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
-	validation test.  The charmap validator now accepts overlapping
-	ranges in format 4 charmaps.
-
-	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
-	search algorithm.  Certain fonts contain more than 170 distinct
-	segments!
-
-	* include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
-	function.  This will be used in the near future to panic in case of
-	unexpected exception (which shouldn't happen in theory).
-
-	* include/freetype/internal/fthash.h, src/base/fthash.c: New files.
-	This is generic implementation of dynamic hash tables using a linear
-	algorithm (to get rid of `stalls' during resizes).  In the future
-	this will be used in at least three parts of the library: the cache
-	sub-system, the object sub-system, and the memory debugger.
-
-	* src/base/Jamfile: Updated.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
-	FT_INTERNAL_OBJECT_H): New macros.
-
-	* include/freetype/internal/ftcore.h: New file to group all new
-	definitions related to exception handling and memory management.  It
-	is very likely that this file will disappear or be renamed in the
-	future.
-
-	* include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
-	Adding comments to better explain the object sub-system as well as
-	the new memory manager interface.
-
-2002-04-30  Wenlin Institute (Tom Bishop)  <[email protected]>
-
-	* src/base/ftmac.c (p2c_str): Removed.
-	(file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
-	OS X.
-	(is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
-	Handle `nameLen' <= 6 also.
-	(parse_fond): Remove unused variable `name_table'.
-	Use functionality of old p2c_str directly.
-	Add safety checks.
-	(read_lwfn): Initialize `size_p'.
-	Check for size_p == NULL.
-	(new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
-	(FT_New_Face_From_LWFN): Remove unused variable `memory'.
-	Remove some dead code.
-	(FT_New_Face_From_SFNT): Remove unused variable `stream'.
-	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
-	OS X.
-	(FT_New_Face_From_FOND): Remove unused variable `error'.
-	(ResourceForkSize): New function.
-	(FT_New_Face): Use it.
-	Handle empty resource forks.
-	Conditionalize some code for OS X.
-	Add code to call normal loader as a fallback.
-
-2002-04-30  Werner Lemberg  <[email protected]>
-
-	`interface' is reserved on the Mac.
-
-	* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
-	src/base/ftoutln.c: s/interface/func_interface/.
-	* src/base/ftbbox.c (FT_Outline_Get_BBox):
-	s/interface/bbox_interface/.
-	* src/cff/cffdrivr.c: s/interface/module_interface/.
-	* src/cff/cffload.c, src/cff/cffload.h:
-	s/interface/psnames_interface/.
-	* src/cid/cidriver.c: s/interface/cid_interface/.
-	* src/sfnt/sfdriver.c: s/interface/module_interface/.
-	* src/smooth/ftgrays.c: s/interface/func_interface/.
-	* src/truetype/ttdriver.c: s/interface/tt_interface/.
-	* src/type1/t1driver.c: s/interface/t1_interface/.
-
-	Some more variable renames to avoid troubles on the Mac.
-
-	* src/raster/ftraster.c:
-	s/Unknown|Ascending|Descending|Flat/\1_State/.
-	* src/smooth/ftgrays.c: s/TScan/TCoord/.
-
-	Other changes for the Mac.
-
-	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
-	Mac platforms.
-	* src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
-	an even number.
-
-2002-04-29  Jouk Jansen  <[email protected]>
-
-	* descrip.mms (all): Add pfr driver.
-
-2002-04-28  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrerror.h: New file.
-	* include/freetype/ftmoderr.h: Add PFR error codes.
-	* src/pfr/pfrgload.c: Include pfrerror.h.
-	Use PCF error codes.
-	(pfr_extra_item_load_stem_snaps): Fix debug message.
-	* src/pfr/pfrgload.c: Include pfrerror.h.
-	Use PCF error codes.
-	(pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
-	pfr_glyph_load_compound): Fix debug message.
-	* src/pfr/pfrobjs.c: Include pfrerror.h.
-	Use PCF error codes.
-	(pfr_face_init): Return PFR_Err_Unknown_File_Format.
-	* src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
-
-	* src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
-	`root' -> `face->root'.
-	* src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
-	Removed.
-	* src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
-	FT_CONFIG_OPTION_USE_CMAPS.
-
-2002-04-27  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c (ftc_cache_lookup),
-	src/cache/ftccmap.c (ftc_cmap_family_init),
-	src/cache/ftcmanag.c (ftc_family_table_alloc),
-	src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
-	src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
-	(FTC_ImageCache_Lookup): Fix handling of invalid arguments.
-
-2002-04-22  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
-	version 2.0.9 has 9:0:3).
-	* builds/unix/configure: Regenerated (using autoconf 2.53).
-
-2002-04-19  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_extra_items_parse): Fix debug message.
-	(pfr_phy_font_load): s/size/Size/ for local variable to avoid
-	compiler warning.
-	* src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
-	(pfr_slot_load): Remove redundant local variable.
-
-2002-04-19  David Turner  <[email protected]>
-
-	Adding a PFR font driver to the FreeType sources.  Note that it
-	doesn't support embedded bitmaps or kerning tables yet.
-
-	src/pfr/*: New files.
-
-	* include/freetype/config/ftmodule.h,
-	include/freetype/internal/fttrace.h, src/Jamfile: Updated.
-
-	* src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
-	(T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
-	function.
-
-	* include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
-	macros.
-
-	* include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
-	FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
-	24-bit integers.
-
-2002-04-18  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c, builds/win32/ftdebug.c,
-	builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
-	against applications in Win32 and Amiga builds due to changes to
-	`src/base/ftdebug.c' that were not properly propagated to
-	`builds/win32' and `builds/amiga'.  This has been fixed.
-
-	* include/freetype/internal/ftobject.h,
-	include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
-	include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
-	New experimental files.
-
-2002-04-17  David Turner  <[email protected]>
-
-
-	* Version 2.1.0 released.
-	=========================
-
-
-2002-04-17  Michael Jansson  <[email protected]>
-
-	* src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
-	that prevented the function to return the correct value.
-
-2002-04-16  Francesco Zappa Nardelli  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_get_accel): Fix parsing of accelerator
-	tables.
-
-2002-04-15  David Turner  <[email protected]>
-
-	* docs/FTL.txt: Formatting.
-
-	* include/freetype/config/ftoption.h: Reduce the size of the
-	render pool from 32kByte to 16kByte.
-
-	* src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
-	warning.
-
-	* include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
-
-	* docs/CHANGES: Preparing 2.1.0 release.
-
-2002-04-13  Werner LEMBERG  <[email protected]>
-
-	* src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
-	compiler warning.
-
-2002-04-12  David Turner  <[email protected]>
-
-	* README.UNX: Updated the Unix-specific quick-compilation guide to
-	warn about the GNU Make requirement at compile time.
-
-	* include/freetype/config/ftstdlib.h,
-	include/freetype/config/ftconfig.h,
-	include/freetype/config/ftheader.h,
-	include/freetype/internal/ftmemory.h,
-	include/freetype/internal/ftobjs.h,
-
-	src/autohint/ahoptim.c,
-
-	src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
-	src/base/ftobjs.c, src/base/ftsystem.c,
-
-	src/cache/ftcimage.c, src/cache/ftcsbits.c,
-
-	src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c,
-
-	src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
-
-	src/pcf/pcfdriver.c, src/pcf/pcfread.c,
-
-	src/psaux/t1cmap.c, src/psaux/t1decode.c,
-
-	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
-	src/pshinter/pshrec.c,
-
-	src/psnames/psmodule.c,
-
-	src/raster/ftraster.c,
-
-	src/sfnt/sfdriver.c, src/sfnt/ttload.c,
-
-	src/smooth/ftgrays.c,
-
-	src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
-	src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
-
-	builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-
-	builds/amiga/src/base/ftdebug.c:
-
-	Added the new configuration file `ftstdlib.h' used to define
-	aliases for all ISO C library functions used by the engine
-	(e.g. strlen, qsort, setjmp, etc.).
-
-	This eases the porting of FreeType 2 to environments like
-	XFree86 modules/extensions.
-
-	Also removed many #include <string.h>, #include <stdlib.h>, etc.
-	from the engine's sources where they are not needed.
-
-	* src/sfnt/ttpost.c: Use macro name for psnames.h.
-
-2002-04-12  Vincent Caron  <[email protected]>
-
-	* configure, builds/detect.mk: Updated the build system to print
-	a warning message in case GNU Make isn't used to build the library.
-
-2002-04-11  David Turner  <[email protected]>
-
-	* README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
-
-	* docs/FTL.txt: Updated license text to provide a preferred
-	disclaimer and adjust copyright dates/extents.
-
-	* include/freetype/cache/ftcglyph.h: Removing obsolete (and
-	confusing) comment.
-
-	* Jamfile.in: New file.
-
-2002-04-11  Maxim Shemanarev  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_hline): Minor optimization.
-
-2002-04-02  Werner Lemberg  <[email protected]>
-
-	Fixes from the stable branch:
-
-	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
-	Removed.
-	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
-	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
-	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
-
-	* src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
-	output of FreeType 1.
-
-	* src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
-	bug that created un-even stem widths when hinting Postscript fonts.
-
-	* src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
-
-2002-04-01  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c: 16bit fixes.
-	(TT_Load_Simple_Glyph): Improve debug messages.
-	(load_truetype_glyph): Remove dead code.
-	* src/truetype/ttinterp.c: 16bit fixes.
-	* src/truetype/ttobjs.c: Ditto.
-
-	* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
-	src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
-	src/sfnt/ttpost.h: s/index/idx/.
-
-2002-03-31  Yao Zhang  <[email protected]>
-
-	* src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
-
-2002-03-31  Werner Lemberg  <[email protected]>
-
-	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
-	* src/psaux/t1cmap.c: Ditto.
-	* src/sfnt/ttcmap0.c: Ditto.
-
-	* include/freetype/internal/tttypes.h,
-	include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
-	(TT_Loader_GotoTableFunc): This.
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
-	messages.
-	* src/psnames/psmodule.c (psnames_interface)
-	[!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
-	* src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
-	* src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
-	* src/sfnt/ttcmap0.c: 16bit fixes.
-	(TT_Build_CMaps): Simplify debug messages.
-	(tt_cmap12_char_next): Fix offset.
-	* src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
-	messages.
-	(TT_Load_OS2): 16bit fix.
-
-2002-03-30  David Turner  <[email protected]>
-
-	* include/freetype/internal/tttypes.h: Adding comments to some of
-	the TT_FaceRec fields.
-
-	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
-
-	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
-	New functions.
-	(tt_face_get_name): Use them to properly extract an ascii font name.
-
-2002-03-30  Werner Lemberg  <[email protected]>
-
-	* include/freetype/t1tables.h (t1_blend_max): Fix typo.
-	* src/base/ftstream.c: Simplify FT_ERROR calls.
-	* src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
-
-	* src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
-	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
-	* src/cff/sfobjs.c (SFNT_Load_Face)
-	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
-	* src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
-	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
-
-	* src/truetype/ttdriver.c, src/truetype/ttobjs.c,
-	src/truetype/ttobjs.h: Renaming driver functions to the
-	FT_<Subject>_<Action> scheme:
-
-	  TT_Init_Driver => TT_Driver_Init
-	  TT_Done_Driver => TT_Driver_Done
-	  TT_Init_Face   => TT_Face_Init
-	  TT_Done_Face   => TT_Face_Done
-	  TT_Init_Size   => TT_Size_Init
-	  TT_Done_Size   => TT_Size_Done
-	  TT_Reset_Size  => TT_Size_Reset
-
-2002-03-29  Werner Lemberg  <[email protected]>
-
-	* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
-	FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
-	files.
-	* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
-	FT_LOCAL_DEF.
-	* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
-	* builds/unix/configure.ac: Temporarily deactivate creation of
-	../../Jamfile.
-	* builds/unix/configure: Updated.
-
-2002-03-28  KUSANO Takayuki  <[email protected]>
-
-	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
-
-2002-03-28  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
-	compiler warnings.
-	* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
-	some members.
-	* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
-	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
-	cast.
-	(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
-	`FT_CALLBACK_TABLE_DEF'.
-	* src/psaux/t1cmap.h: Updated.
-	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
-	instead of zero.
-	* src/type1/t1objs.c (T1_Face_Init): Use casts.
-
-2002-03-26  David Turner  <[email protected]>
-
-	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
-	Fixed a small bug in the FT_CMaps support code.
-
-2002-03-25  David Turner  <[email protected]>
-
-	* src/truetype/ttinterp.c (Norm): Replaced with...
-	(TT_VecLen): This.
-	(TT_MulFix14, TT_DotFix14): New functions.
-	(Project, Dual_Project, Free_Project, Compute_Point_Displacement,
-	Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
-	[FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
-
-2002-03-22  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
-	Various fixes to make the FT_CMaps support work correctly (more
-	tests are still needed).
-
-	* include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
-	src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
-	src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
-	the SFNT charmap support to use FT_CMaps.
-
-	* include/freetype/fterrdef.h: New file.
-	* include/freetype/fterrors.h: Include it.  It contains all error
-	codes.
-	* include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
-	macro.
-
-	* include/freetype/internal/ftmemory.h, and a lot of other files:
-	Changed the names of memory macros.  Examples:
-
-	  MEM_Set   => FT_MEM_SET
-	  MEM_Copy  => FT_MEM_COPY
-	  MEM_Move  => FT_MEM_MOVE
-
-	  ALLOC     => FT_ALLOC
-	  FREE      => FT_FREE
-	  REALLOC   = >FT_REALLOC
-
-	FT_NEW was introduced to allocate a new object from a _typed_
-	pointer.
-
-	Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
-	FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
-	arguments.
-
-	This results in _lots_ of sources being changed, but makes the code
-	more generic and less error-prone.
-
-	* include/freetype/internal/ftstream.h, src/base/ftstream.c,
-	src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
-	src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
-	src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
-	src/winfonts/winfnt.c: Changed the definitions of stream macros.
-	Examples:
-
-	  NEXT_Byte     => FT_NEXT_BYTE
-	  NEXT_Short    => FT_NEXT_SHORT
-	  NEXT_UShortLE => FT_NEXT_USHORT_LE
-	  READ_Short    => FT_READ_SHORT
-	  GET_Long      => FT_GET_LONG
-	  etc.
-
-	Also introduced the FT_PEEK_XXXX functions.
-
-	* src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
-	out function.
-	(find_encoding): Removed.
-	(CFF_Face_Init): Remove charmap support.
-
-	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
-	TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
-	support of cmaps.
-
-2002-03-21  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
-	to new FT_CMap definitions.
-
-	* src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
-	src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
-	from `src/type1' to `src/psaux' since it is going to be shared by
-	the Type 1 and CID font drivers.
-
-	* src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
-	src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
-	for Type 1 FT_CMaps.
-
-2002-03-20  David Turner  <[email protected]>
-
-	* src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
-	memory allocation bug that was due to un-careful renaming of the
-	FT_SubGlyph type.
-
-	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
-	caused the library to crash with Electric Fence when memory
-	debugging is used.
-
-	* Renaming stream macros.  Examples:
-
-	  FILE_Skip    => FT_STREAM_SKIP
-	  FILE_Read    => FT_STREAM_READ
-	  ACCESS_Frame => FT_FRAME_ENTER
-	  FORGET_Frame => FT_FRAME_EXIT
-	  etc.
-
-	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
-
-	* include/freetype/internal/ftobjs.h: Changing the definition of
-	FT_CMap_CharNextFunc slightly.
-
-	* src/cff/*.c: Updating CFF type definitions.
-
-2002-03-14  David Turner  <[email protected]>
-
-	* include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
-	src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
-	for the auto-hinter module.
-
-	  FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec
-	  FT_AutoHinter_Interface* => FT_AutoHinter_Service
-	  etc.
-
-	  FT_AutoHinter_Get_Global_Func  => FT_AutoHinter_GlobalGetFunc
-	  FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
-	  etc.
-
-	* ahloader.h [_STANDALONE_]: Removed all conditional code.
-
-	* include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
-	type definitions of the CFF font driver.
-
-	  CFF_Font  => CFF_FontRec
-	  CFF_Font* => CFF_Font
-	  etc.
-
-	* include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
-	type definitions of the Windows FNT font driver.
-
-	* include/freetype/internal/ftdriver.h,
-	include/freetype/internal/ftobjs.h, src/base/ftapi.c,
-	src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
-	src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
-	src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
-	src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
-	src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
-	definitions for font drivers.
-
-	  FTDriver_initFace      => FT_Face_InitFunc
-	  FTDriver_initGlyphSlot => FT_Slot_InitFunc
-	  etc.
-
-	* src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
-
-	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
-	few face method definitions:
-
-	  FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
-	  FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
-	  FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
-
-	* src/base/ftapi.c: New file.  It contains backward compatibility
-	functions.
-
-	* include/freetype/internal/psaux.h, src/cid/cidload.c,
-	src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
-	src/psaux/t1decode.c, src/type1/t1load.c, src/type1/t1tokens.h:
-	Updated common PostScript type definitions.
-	Renamed all enumeration values like to uppercase variants:
-
-	  t1_token_any      => T1_TOKEN_TYPE_ANY
-	  t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
-	  etc.
-
-	* include/freetype/internal/psglobal.h: Removed.
-	* include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
-	Updated.
-
-	* include/freetype/internal/tttypes.h,
-	include/freetype/internal/sfnt.h, src/base/ftnames.c,
-	src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
-	SFNT/TrueType type definitions.
-
-	* include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
-	Updating type definitions for the glyph loader.
-
-2002-03-13  Antoine Leca  <[email protected]>
-
-	* include/freetype/config/ftoption.h: Changed the automatic
-	detection of Microsoft C compilers to automatically support 64-bit
-	integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
-
-2002-03-08  Werner Lemberg  <[email protected]>
-
-	* src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
-
-2002-03-07  Werner Lemberg  <[email protected]>
-
-	* src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
-	ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
-	ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
-	FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
-	* src/base/ftcalc.c (FT_MulFix): Ditto.
-	* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
-	* src/cff/cffobjs.c (CFF_Size_Get_Globals_Funcs, CFF_Size_Init,
-	CFF_GlyphSlot_Init): Ditto.
-	* src/cid/cidobjs.c (CID_GlyphSlot_Init,
-	CID_Size_Get_Globals_Funcs): Ditto.
-	* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
-	Ditto.
-	* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
-	* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
-	variables.
-
-	* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
-	to...
-	(T1_Builder_FuncsRec): This.
-	(T1_Builder_Funcs): New typedef.
-	(PSAux_Interface): Remove compiler warnings.
-	* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
-	(t1_builder_funcs): Updated.
-
-	* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
-	(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
-	(PSH_AlignmentRec): Updated.
-
-	* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
-	typo.
-	* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
-	* src/base/ftstream (FT_Get_Char): Rename to...
-	(FT_Stream_Get_Char): This.
-
-	* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
-	a built-in function in gcc, causing warning messages with gcc 3.0.
-	* src/autohint/ahglyph.c (ah_outline_load): Ditto.
-	* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
-	* src/cache/ftcmanag.c (ftc_family_table_alloc,
-	ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
-	Ditto.
-	* src/cff/cffload.c (cff_new_index, cff_done_index,
-	cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
-	CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
-	CFF_Done_Font): Ditto.
-	* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
-	* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
-	ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
-	* src/pshinter/pshalgo1.c (psh1_hint_table_record,
-	psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
-	* src/pshinter/pshalgo2.c (psh2_hint_table_record,
-	psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
-	* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
-	TT_Get_PS_Name): Ditto.
-	* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
-	load_truetype_glyph): Ditto.
-	* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
-	* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
-	* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
-
-2002-03-06  David Turner  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
-	(CID_Face_Init): Fixed another bug related to the
-	ascender/descender/text height of Postscript fonts.
-
-	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
-	(psh2_print_zone): This.
-	* src/pshinter/pshalgo1.c (print_zone): Renamed to ...
-	(psh1_print_zone): This.
-
-	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
-	src/base/ftobjs.c: Adding the new FT_Library_Version API to return
-	the library's current version in dynamic links.
-	* src/base/ftinit.c (FT_Init_FreeType): Updated.
-
-2002-03-06  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
-	* src/pshinter/pshglob.c (psh_global_scale_widths,
-	psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
-	Ditto.
-
-2002-03-05  David Turner  <[email protected]>
-
-	* src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
-	(CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
-	that returned global BBox values in 16.16 fixed format (instead of
-	integer font units).
-
-	* src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
-	caused the CID driver to return Postscript font names with a leading
-	slash (`/') as in `/MOEKai-Regular'.
-
-	* src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
-	src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
-	that it accepts broken fonts like `foxjump.ttf', which made FreeType
-	crash when trying to load them.
-
-	Also improved the name table parser to be able to load
-	Windows-encoded entries before Macintosh or Unicode ones, since it
-	seems some fonts don't have reliable values here anyway.
-
-	* include/freetype/internal/psnames.h: Add typedef for
-	`PSNames_Service'.
-
-2002-03-05  Werner Lemberg  <[email protected]>
-
-	* builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
-	1.4.2.
-	Apply a small patch for AIX to make shared libraries work (this
-	patch is already in the CVS version of libtool).
-
-	* builds/unix/config.sub, builds/unix/config.guess: Updated to
-	recent versions.
-
-	* builds/unix/configure.ac: Fix typo
-	(AC_CONFIG_FILE->AC_CONFIG_FILES).
-
-	* builds/unix/configure: Regenerated.
-
-2002-02-28  David Turner  <[email protected]>
-
-	* include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
-	`FT_LOCAL( xxxx )' everywhere in the source.  The same goes for
-	`FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
-	Changing version to 2.1.0 to indicate an unstable branch.
-	Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
-
-	* src/base/ftobjs.c: Implement FT_Get_First_Char and
-	FT_Get_Next_Char.
-
-	* include/freetype/t1tables.h: Renaming structure types.  This
-
-	  typedef  T1_Struct_
-	  {
-	  } T1_Struct;
-
-	becomes
-
-	  typedef  PS_StructRec_
-	  {
-	  } PS_StructRec, *PS_Struct;
-
-	  typedef PS_StructRec  T1_Struct;  /* backward compatibility */
-
-	Hence, we increase the coherency of the source code by effectively
-	using the `Rec' prefix for structure types.
-
-2002-02-27  David Turner  <[email protected]>
-
-	* src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
-	names table loader.  Invalid individual name entries are now handled
-	correctly.  This allows the loading of very buggy fonts like
-	`foxjump.ttf' without allocating tons of memory and causing crashes.
-
-	* src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
-	experimental) code for OpenType Layout tables validation and
-	parsing.
-
-	* src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
-	experimental) code for Type 1 charmap processing.
-
-	* src/sfnt/ttcmap0.c: New file.  It contains a new, still
-	experimental SFNT charmap processing support.
-
-	* include/freetype/internal/ftobjs.h: Adding validation support as
-	well as internal charmap object definitions (FT_CMap != FT_CharMap).
-
-2002-02-24  David Turner  <[email protected]>
-
-	* Renaming stream functions to the FT_<Subject>_<Action> scheme:
-
-	  FT_Seek_Stream    => FT_Stream_Seek
-	  FT_Skip_Stream    => FT_Stream_Skip
-	  FT_Read_Stream    => FT_Stream_Read
-	  FT_Read_Stream_At => FT_Stream_Read_At
-	  FT_Access_Frame   => FT_Stream_Enter_Frame
-	  FT_Forget_Frame   => FT_Stream_Exit_Frame
-	  FT_Extract_Frame  => FT_Stream_Extract_Frame
-	  FT_Release_Frame  => FT_Stream_Release_Frame
-	  FT_Get_XXXX       => FT_Stream_Get_XXXX
-	  FT_Read_XXXX      => FT_Stream_Read_XXXX
-
-	  FT_New_Stream( filename, stream ) =>
-	    FT_Stream_Open( stream, filename )
-
-	    (The function doesn't create the FT_Stream structure, it simply
-	    initializes it for reading.)
-
-	  FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
-	    FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
-
-	  FT_Done_Stream  => FT_Stream_Close
-	  FT_Stream_IO    => FT_Stream_IOFunc
-	  FT_Stream_Close => FT_Stream_CloseFunc
-
-	  ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
-	  ft_io_stream    => ft_ansi_stream_io    (in base/ftsystem.c only)
-
-	* src/base/ftutil.c: New file.  Contains all memory and list
-	management code (previously in `ftobjs.c' and `ftlist.c',
-	respectively).
-
-	* include/freetype/internal/ftobjs.h: Moving all code related to
-	glyph loaders to ...
-	* include/freetype/internal/ftgloadr.h: This new file.
-	`FT_GlyphLoader' is now a pointer to the structure
-	`FT_GlyphLoaderRec'.
-	(ft_glyph_own_bitmap): Renamed to ...
-	(FT_GLYPH_OWN_BITMAP): This.
-	* src/base/ftobjs.c: Moving all code related to glyph loaders
-	to ...
-	* src/base/ftgloadr.c: This new file.
-
-2002-02-22  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
-	enum to avoid compiler warnings.
-
-2002-02-21  David Turner  <[email protected]>
-
-	Modified the debug sub-system initialization.  Trace levels can now
-	be specified within the `FT2_DEBUG' environment variable.  See the
-	comments within `ftdebug.c' for more details.
-
-	* src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
-	(ft_debug_init): New function.
-	(ft_debug_dummy): Removed.
-	Updated to changes in ftdebug.h
-
-	* include/freetype/internal/ftdebug.h: Always define
-	FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
-	(FT_Assert): Renamed to ...
-	(FT_ASSERT): This.
-	Some stuff from ftdebug.h has been moved to ...
-
-	* include/freetype/internal/fttrace.h: New file, to define the trace
-	levels used for debugging.  It is used both to define enums and
-	toggle names for FT2_DEBUG.
-
-	* include/freetype/internal/internal.h: Updated.
-
-	* src/base/ftobjs.c, src/base/ftstream.c: Updated.
-
-	* include/freetype/internal/ftextend.h, src/base/ftextend.c:
-	Removed.  Both files are now completely obsolete.
-	* src/base/Jamfile, src/base/rules.mk: Updated.
-
-	* include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
-	`#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
-	LCC).
-
-	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
-	(psh2_print_zone): This to avoid errors during compilation of debug
-	library.
-
-	* src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
-	`trace_smooth'.
-
-2002-02-20  David Turner  <[email protected]>
-
-	* README: Adding `[email protected]' address for bug reports.
-
-2002-02-20  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install.mk (check): New dummy target.
-	(.PHONY): Add it.
-
-2002-02-19  Werner Lemberg  <[email protected]>
-
-	* builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
-
-	* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
-	to avoid compiler warning.
-	* src/cff/cffload.c (CFF_Get_String): Ditto.
-	* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
-	* src/psaux/psobjs.c (PS_Table_Done): Ditto.
-	* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
-	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
-	(pcf_get_bitmaps): The same for `sizebitmaps'.
-	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): The same for
-	`orig_y'.
-	(t1operator_seac): Comment out more dead code.
-	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
-	conditional.
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
-	conditional.
-
-2002-02-18  Werner Lemberg  <[email protected]>
-
-	* src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
-	variables.
-	* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
-	of UNUSED.
-	* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
-	* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
-	swapping code.
-	* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
-	* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
-	* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
-	* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
-	* include/freetype/internal/ftobjs.h (UNUSED): Removed.
-
-2002-02-10  Roberto Alameda  <[email protected]>
-
-	Add support for ISOLatin1 PS encoding.
-
-	* include/freetype/freetype.h (ft_encoding_latin_1): New tag
-	(`lat1').
-	* include/freetype/internal/t1types.h (T1_Encoding_Type): Add
-	`t1_encoding_isolatin1'.
-	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
-	ft_encoding_latin_1.
-	* src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
-	* src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2002-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.22
+++ /dev/null
@@ -1,2837 +1,0 @@
-2006-05-12  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.2.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-2-1'.
-
-2006-05-12  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/sources.py (re_source_keywords): Add word
-	boundary markers.
-	* src/tools/docmaker/content.py (re_field): Allow `.' in field names
-	(but not at the beginning or end).
-	* src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
-	(block_footer): Split into...
-	(block_footer_start, block_footer_middle, block_footer_end): This to
-	add navigation buttons.
-	(HtmlFormatter::block_exit): Updated.
-
-	* include/freetype/*: Many minor documentation improvements (adding
-	links, spelling errors, etc.).
-
-2006-05-11  Werner Lemberg  <[email protected]>
-
-	* README: Minor updates.
-
-	* include/freetype/*: s/scale/scaling value/ where appropriate.
-	Many other minor documentation improvements.
-
-	* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
-	trailing punctuation.
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
-	warning message for undefined cross references.
-	Update handling of re_italic and re_bold.
-
-2006-05-11  Masatake YAMATO  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
-	read system call returns -1.
-	Remove a redundant parenthesis.
-
-2006-05-10  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
-	given an empty, un-mmap()able file.  Reported and suggested fix in
-	Savannah bug #16555.
-
-	* builds/freetype.mk (refdoc): Write-protect the `docmaker'
-	directory to suppress generation of .pyc files.  According to the
-	Python docs there isn't a more elegant solution (currently).
-
-	* builds/toplevel.mk (dist): New target which builds .tar.gz,
-	.tar.bz2, and .zip files.  Note that the version number is still
-	hard-coded.
-	(do-dist): Sub-target of `dist'.
-	(CONFIG_GUESS, CONFIG_SUB): New variables.
-	(.PHONY): Updated.
-
-2006-05-09  Rajeev Pahuja  <[email protected]>
-
-	* builds/win32/visualc/freetype.sln,
-	builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
-	VS.NET 2003
-	Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
-
-	* builds/win32/visualc/index.html: Updated.
-
-2006-05-07  Werner Lemberg  <[email protected]>
-
-	Put version information into the configure script.  Reported by Paul
-	Watson <[email protected]>.
-
-	* builds/unix/configure.ac: Renamed to...
-	* builds/unix/configure.raw: This which now serves (with appropriate
-	modifications) as a template for configure.ac.
-
-	* version.sed: New script.
-
-	* autogen.sh: Generate configure.ac from configure.raw, using
-	FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
-
-2006-05-06  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.ac (version_info): Set to 9:10:3.
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
-	Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
-	Minor updates.
-
-	* docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
-	Updated.
-
-	* builds/unix/install-sh: Updated from `texinfo' CVS module at
-	savannah.gnu.org.
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-2006-05-04  Werner Lemberg  <[email protected]>
-
-	* src/lzw/ftlzw2.c: Renamed to...
-	* src/lzw/ftlzw.c: This.
-
-	* src/lzw/Jamfile, src/lzw/rules.mk: Updated.
-
-	* builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt: Updated.
-
-2006-05-03  David Turner  <[email protected]>
-
-	Allow compilation again with C++ compilers.
-
-	* include/freetype/internal/ftmemory.h (FT_ASSIGNP,
-	FT_ASSIGNP_INNER): New macros which do the actual assignment, and
-	which exist in two variants (for C and C++).
-	Update callers accordingly.
-
-2006-05-03  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
-
-2006-05-02  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
-	(FT_ALLOC): Remove redundant redefinition.
-
-	* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
-	`-Wstrict-prototypes'.
-
-	* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
-
-	* include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
-	Remove `extern'.
-
-2006-05-02  David Turner  <[email protected]>
-
-	Update the memory management functions and macros to safely deal
-	with array size buffer overflows.  This corresponds to attempts to
-	allocate arrays that are too large.  For an example, consider the
-	following code:
-
-	  count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
-	  count ); for ( nn = 0; nn < count; nn++ )
-	    array[nn] = read_item_from_file();
-
-	If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
-	multiplication overflows, and the array allocated os smaller than
-	the data read from the file.  In this case, the heap will be
-	trashed, and this can be used as a denial-of-service attack, or make
-	the engine crash later.
-
-	The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
-	count is no larger than `FT_INT_MAX/item_size', otherwise a new
-	error code `FT_Err_Array_Too_Large' will be returned.
-
-	Note that the memory debugger now works again when FT_DEBUG_MEMORY
-	is defined.  FT_STRICT_ALIASING has disappeared; the corresponding
-	code is now the default.
-
-
-	* include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
-	Don't use `extern'.
-
-	* include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
-	code.
-
-	* include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
-	[FT_DEBUG_MEMORY]: New macro.
-	(ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
-	(ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
-	ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
-	(FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
-	FT_MEM_FREE): Redefine.
-	(FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
-	FT_MEM_QRENEW_ARRAY): Redefine.
-	(FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
-	FT_MEM_QREALLOC_MULT): New macros.  Update callers where
-	appropriate.
-	(FT_MEM_SET_ERROR): Slightly redefine.
-
-
-	* src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
-	[FT_DEBUG_MEMORY]: New global variables, replacing...
-	(FT_MemTableRec) [FT_DEBUG_MEMORY]: Remove `filename' and
-	`line_no'.  Update all callers.
-	(ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
-	overflow.
-	(ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
-	ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
-
-	* src/base/ftmac.c (read_lwfn): Catch integer overflow.
-	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
-	* src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
-	(ft_mem_alloc, ft_mem_realloc, ft_mem_qrealloc): Rewrite.
-
-
-	* include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
-	FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
-	place where the frames were entered, extracted, exited or released
-	in the memory debugger.
-
-	* src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
-	Call ft_mem_free.
-	(FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
-	(FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
-
-2006-04-30  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
-	initialization, remove extra cast to copy to pfb_lenpos.  This fixes
-	parsing of PFB fonts with MacOS resource fork (bug introduced
-	2003-09-11).  Patch provided by Huib-Jan Imbens <[email protected]>.
-
-2006-04-29  Werner Lemberg  <[email protected]>
-
-	Further C library abstraction.  Based on a patch from
-	[email protected].
-
-	* include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
-	ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
-	ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
-	C library functions.  Update all users accordingly (and catch some
-	other places where the C library function was used instead of the
-	wrapper functions).
-
-	* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
-	* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
-	include malloc.h.
-
-
-	* builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
-	and forthcoming versions.
-
-2006-04-28  Werner Lemberg  <[email protected]>
-
-	* src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
-	obsolete.
-
-2006-04-27  yi luo  <[email protected]>
-
-	* builds/win32/visualc/freetype.vcproj: Updated.
-
-2006-04-26  David Turner  <[email protected]>
-
-
-	* Version 2.2 released.
-	=======================
-
-
-	Tag sources with `VER-2-2-0'.
-
-2006-04-26  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
-	FT_PtrDist for `delta'.  Reported by Céline PILLET
-	<[email protected]>.
-
-2006-04-21  David Turner  <[email protected]>
-
-	* include/freetype/ftincrem.h: Documentation updates.
-	(FT_Incremental_Interface): New typedef.
-
-	* include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
-	Documentation updates.
-
-	* include/freetype/freetype.h: Documentation update.
-	(FT_HAS_FAST_GLYPHS): Always set to 0.
-
-	* include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
-	Take an FT_Library argument instead of FT_Memory.
-
-	* src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
-
-2006-04-13  David Turner  <[email protected]>
-
-	* src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
-	superfluous code in the auto-fitter's loader.
-
-2006-04-05  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
-
-2006-04-03  luoyi  <[email protected]>
-
-	* builds/compiler/intelc.mk (TE): New variable.
-	(ANSIFLAGS): Updated.
-
-2006-04-03  Werner Lemberg  <[email protected]>
-
-	* builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
-	(CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
-	(.PHONY): Updated.
-
-	* configure.ac: Minor fixes to improve --help output.
-
-
-	* docs/PROBLEMS: New file.
-
-2006-04-01  David Turner  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-	* include/freetype/ftcache.h, include/freetype/config/ftheader.h:
-	Update documentation comments.
-
-2006-04-01  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install.mk (uninstall): Don't handle `cache'
-	directory which no longer exists.
-
-2006-03-29  Detlef Würkner  <[email protected]>
-
-	* src/psaux/psconv.c: Changed some variables which are expected to
-	hold negative values from `char' to `FT_Char' to allow building with
-	a compiler where `char' is unsigned by default.
-
-2006-03-27  David Turner  <[email protected]>
-
-	* src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
-	causes some programs to go into an infinite loop when dealing with
-	fonts that don't have a properly sorted kerning sub-table.
-
-2006-03-26  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (ERRMSG4): New macro.
-	(_bdf_parse_glyphs): Handle invalid BBX values.
-
-	* include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
-	macro.
-
-2006-03-23  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-
-	* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
-	padding between table elements.
-	(html_header_1): The `DOCTYPE' comment must be in uppercase.
-	(make_html_para): Convert `...' quotations into real left and
-	right single quotes.
-	Use `para_header' and `para_footer'.
-
-	* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
-	also.
-
-2006-03-23  David Turner  <[email protected]>
-
-	Add FT_Get_SubGlyph_Info API to retrieve subglyph data.  Note that
-	we do not expose the FT_SubGlyphRec structure.
-
-	* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
-	to...
-	* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
-	(FT_Get_SubGlyph_Info): New declaration.
-
-	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
-
-
-	* src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
-	rsb_delta correctly in edge cases.
-
-2006-03-22  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
-	[!FTC_INLINE]: Compile conditionally.
-	* src/cache/ftccache.h: Updated.
-
-	* src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
-	FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
-	s/FT_EXPORT/FT_LOCAL/.
-	(FTC_GCache_Init, FTC_GCache_Done): Commented out.
-	(FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
-	s/FT_EXPORT/FT_LOCAL/.
-	* src/cache/ftcglyph.h: Updated.
-
-	* src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
-	s/FT_EXPORT/FT_LOCAL/.
-	(FTC_INode_Weight): Commented out.
-	* src/cache/ftcimage.h: Updated.
-
-	* src/cache/ftcmanag.c (FTC_Manager_Compress,
-	FTC_Manager_RegisterCache, FTC_Manager_FlushN):
-	s/FT_EXPORT/FT_LOCAL/.
-	* src/cache/ftcmanag.h: Updated.
-
-	* src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
-	FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
-	(FTC_SNode_Weight): Commented out.
-	* src/cache/ftcsbits.h: Updated.
-
-2006-03-22  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
-	Remove, unused.
-
-	* src/cache/ftccmap.h: Remove, unused.
-
-	* src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
-
-2006-03-21  Zhe Su  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
-	algorithm.
-
-2006-03-21  Werner Lemberg  <[email protected]>
-
-	* src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
-
-	* src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
-
-	* src/cff/cffgload.c (cff_slot_load): Change type of third parameter
-	to `FT_UInt'.
-	Check range of `glyph_index'.
-	* src/cff/cffgload.h: Updated.
-
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
-	correctly.
-
-
-	* builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
-	README: s/2.1.10/2.2/.
-
-2006-03-21  David Turner  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
-	that crashes the auto-hinter (introduced by previous patch).
-
-2006-03-20  Werner Lemberg  <[email protected]>
-
-	* builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
-	(FREETYPE_H): Updated.
-
-	* src/cache/rules.mk (CACHE_H_DIR): Remove.
-	(CACHE_DRV_H): Updated.
-
-2006-03-20  David Turner  <[email protected]>
-
-	* include/freetype/cache/ftccache.h,
-	include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
-	include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
-	include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
-	Move to...
-
-	* src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
-	src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
-	src/cache/ftcmru.h: This new location.
-	Update declarations according to the changes in the corresponding
-	source files.
-
-	Note that these files are not used by FreeType clients; all public
-	APIs of the cache module have been already moved to
-	`include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
-	macros resolve to it.
-
-	Reason for the move is to allow modifications of the internals
-	without interferences with rogue clients.  Note that there are no
-	known clients that access the cache internals at the moment.
-
-	* builds/unix/install.mk (install): Don't install headers from
-	$(CACHE_H).
-	Remove `freetype/cache' from the target directory.
-
-	* include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
-	FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
-	FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
-	FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
-	FT_CACHE_H.
-
-	* src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
-	src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
-	src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
-	src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
-	src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
-	but include the headers directly (which are now in `src/cache').
-
-	* src/cache/ftccache.c:  Don't use the FT_CACHE_INTERNAL_XXX_H
-	macros but include the headers directly.
-	(FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
-	FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
-
-	* src/cache/ftccache.c:  Don't use the FT_CACHE_INTERNAL_XXX_H
-	macros but include the headers directly.
-	(FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
-	FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
-	FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
-	Declare as FT_LOCAL_DEF.
-	(FTC_MruList_Find, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
-	conditionally.
-	Declare as FT_LOCAL_DEF.
-
-
-	* builds/win32/visualc/freetype.dsp: Update project file, add
-	missing base source files (ftstroke.c, ftxf86.c, etc.).
-
-
-	* src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
-	src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
-	src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
-	src/type1/t1objs.c: Remove compiler warnings when building with
-	Visual C++ 6 and /W4.
-
-	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
-	hinting for italic/oblique fonts.
-
-
-
-	* src/truetype/ttpload.c, src/truetype/ttpload.h
-	(tt_face_get_device_metrics): Change second argument to `FT_UInt'.
-
-2006-03-06  David Turner  <[email protected]>
-
-	* src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
-	Mozilla/FireFox print preview in Ubuntu Hoary.
-
-2006-02-28  Chia-I Wu  <[email protected]>
-
-	* src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
-	return error when size == 0.
-
-2006-02-28  Chia-I Wu  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
-	order so that type42 module is removed before truetype module.  This
-	avoids double free in some occasions.
-
-2006-02-28  David Turner  <[email protected]>
-
-	* Release candidate VER-2-2-0-RC4.
-	----------------------------------
-
-	* docs/CHANGES: Documentation updates.
-
-2006-02-28  suzuki toshiya  <[email protected]>
-
-	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
-	build ftvalid in ft2demos.  It works as dummy ABI if gxvalid is not
-	built.
-
-2006-02-27  Werner Lemberg  <[email protected]>
-
-	* include/freetype/cache/ftccache.h
-	[FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
-	ftc_node_done.
-
-	* src/cache/ftccache.c (ftc_node_destroy)
-	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF.  This
-	should now fix all possible compilation options.
-
-2006-02-27  David Turner  <[email protected]>
-
-	* src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
-	ft_mem_qrealloc): Return an error if a negative size is passed in
-	parameters.
-
-	* src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
-	it needs to be exported for rogue clients.
-
-	* src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
-	with malformed fonts which have an odd number of blue values (these
-	are broken according to the specs).
-
-	* src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
-	(T1_Open_Face): Modify the loaders to force even-ness of
-	`num_blue_values'.
-
-	(cff_index_access_element): Ignore invalid entries in index files.
-
-2006-02-27  Chia-I Wu  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
-	or height is 0.
-
-2006-02-27  suzuki toshiya  <[email protected]>
-
-	* builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt: Update to new header
-	inclusion introduced on 2006-02-16.
-
-2006-02-27  Chia-I Wu  <[email protected]>
-
-	* src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
-	(ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
-	Re-enable glyph metrics grid-fitting.  It is now done in the base
-	layer.
-	(FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
-	height are not too small or too large, just like we were doing in
-	2.1.10.
-
-	* src/autofit/afloader.c (af_loader_load_g): The vertical metrics
-	are not scaled.
-
-2006-02-26  Werner Lemberg  <[email protected]>
-
-	* docs/release: Minor additions and clarifications.
-
-	* docs/CHANGES: Updated to reflect many fixes for backward
-	compatibility.  Still incomplete.
-
-2006-02-26  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
-	conservative rounding of metrics to avoid breaking clients like
-	Pango (see https://bugzilla.gnome.org/show_bug.cgi?id=327852).
-
-2006-02-25  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-	* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
-
-2006-02-25  David Turner  <[email protected]>
-
-	Fix compiler warnings as well as C++ compilation problems.
-	Add missing prototypes.
-
-	* src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
-	src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
-	src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
-	src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
-	initialize variables, and decorate functions with FT_CALLBACK_DEF,
-	etc., to fix compiler warnings (and C++ compiling errors).
-
-	* src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
-	gcc.
-
-	* builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
-	FT_INTERNAL_STREAM_H.
-
-	* src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
-
-	* include/freetype/config/ftheader.h (FT_PFR_H): New macro.
-
-	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
-	define for C++.
-
-	* include/freetype/internal/services/svotval.h: Don't include
-	FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
-
-	* include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
-
-	* src/gzip/ftgzip.c: Include FT_GZIP_H.
-
-	* src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
-
-	* src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
-
-2006-02-24  Chia-I Wu  <[email protected]>
-
-	* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
-	ft_contour_enclosed, ft_outline_get_orientation): Commented out.  We
-	have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
-	(FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
-
-2006-02-24  Chia-I Wu  <[email protected]>
-
-	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
-	documentation.
-
-	* include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
-	src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
-	sure a glyph slot owns its bitmap.  It is also marked experimental
-	and due to change.
-	(FT_GlyphSlot_Embolden): Undo the last change.  It turns out that
-	rendering the outline confuses some applications.
-
-2006-02-24  David Turner  <[email protected]>
-
-	* Release candidate VER-2-2-0-RC3.
-	----------------------------------
-
-	* src/cache/ftcbasic.c: Correct compatibility hack bug.
-
-2006-02-24  Chia-I Wu  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Size_RequestRec): Change the type
-	of `width' and `height' to `FT_Long'.
-	(enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
-	New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
-	directly.
-
-2006-02-23  David Turner  <[email protected]>
-
-	Two BDF patches from Debian libfreetype6 for 2.1.10.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
-	glyphs.
-	Fix a problem with large encodings.
-
-
-	Fix binary compatibility issues for gnustep-back (GNUstep backend
-	module) which still crashes under Sarge.
-
-	* src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
-	FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
-	structures and enumerations.
-	(FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
-	compatibility code.
-
-	* src/cache/ftcbasic.c: Fix a silly bug that prevented our `hack' to
-	support rogue clients compiled against 2.1.7 to work correctly.
-	This probably explains the GNUstep crashes with the second release
-	candidate.
-
-2006-02-23  Chia-I Wu  <[email protected]>
-
-	* include/freetype/ftoutln.h (enum FT_Orientation): New value
-	`FT_ORIENTATION_NONE'.
-
-	* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
-	ft_contour_enclosed, ft_outline_get_orientation): Another version of
-	`FT_Outline_Get_Orientation'.  This version differs from the public
-	one in that each part (contour not enclosed in another contour) of the
-	outline is checked for orientation.
-	(FT_Outline_Embolden): Use `ft_outline_get_orientation'.
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
-	use bitmap's embolden routine when the outline one failed.
-
-2006-02-22  Chia-I Wu  <[email protected]>
-
-	* modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
-	compatibility.
-
-	* src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
-	tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
-	loading.  (Only tested with bit aligned sbit with x_pos == 0.)
-
-	* src/truetype/ttpload.c (tt_face_load_hdmx,
-	tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
-	actually used.
-
-2006-02-21  David Turner  <[email protected]>
-
-	Add a new API named FT_Get_TrueType_Engine_Type to determine whether
-	we have a patented, unpatented, or unimplemented TrueType bytecode
-	interpreter.
-
-	The FT_Get_Module_Flags API was removed consequently.
-
-	* include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
-	Replaced with...
-	(FT_Get_TrueType_Engine_Type): This.
-	(FT_TrueTypeEngineType): New enumeration.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
-	New macro.
-
-	* src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
-	(FT_Module_Get_Flags): Removed.  Replaced with...
-	(FT_Get_TrueType_Engine_Type): This.
-
-	* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
-	(tt_service_truetype_engine): New service structure.
-	(tt_services): Register it.
-
-	* include/freetype/internal/services/svtteng.h: New file.
-
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
-	embedded bitmaps from being correctly listed and used.
-
-
-	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
-	if FT_CONFIG_OPTION_OLD_INTERNALS is used.  The is necessary because
-	libXfont is directly accessing the HMTX data, unfortunately.
-	Fix some compiler warnings.
-	(tt_face_get_metrics): Ditto.
-
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
-	character advances.
-
-2006-02-20  David Turner  <[email protected]>
-
-	Support binary compatibility with the X.Org server's Xfont library.
-	Note that this change unfortunately prevents memory optimizations
-	for the embedded bitmap loader.
-
-	* include/freetype/internal/sfnt.h (SFNT_Interface): Move
-	`set_sbit_strike' and `load_sbit_metrics' fields to the location of
-	version 2.1.8.
-
-	* src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
-	FT_Size_Request.
-	(sfnt_interface): Updated.
-
-	* src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
-	ttsbit0.c.
-	(tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
-
-	* src/sfnt/ttsbit.h: Updated.
-
-2006-02-17  David Turner  <[email protected]>
-
-	* builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
-	functions anymore.  This ensures that all FT_BASE internal functions
-	are available for dynamic linking.
-
-	* include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
-	FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
-	FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
-	FTC_OldImageDesc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
-	ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
-	FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
-	[FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
-	cache sub-system.  We try to recognize old legacy signatures with a
-	gross hack (hope it works).
-
-2006-02-17  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-2006-02-16  David Turner  <[email protected]>
-
-	Massive changes to the internals to respect the internal object
-	layouts and exported functions of FreeType 2.1.7.  Note that the
-	cache sub-system cannot be fully retrofitted, unfortunately.
-
-	* include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
-
-	* include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
-	include/freetype/cache/ftccmap.h,
-	include/freetype/internal/ftcalc.h,
-	include/freetype/internal/ftdriver.h,
-	include/freetype/internal/ftmemory.h,
-	include/freetype/internal/ftobjs.h,
-	include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
-	include/freetype/internal/t1types.h,
-	include/freetype/internal/tttypes.h, src/base/ftcalc.c,
-	src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
-	src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
-	src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
-	src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
-	src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
-	src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
-	Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
-	structures.
-
-	Move newly added structure elements to the end of the affected
-	structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
-	defined) to assure binary compatibility with older FreeType
-	versions.
-	Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
-	functions:
-
-	  ft_stub_set_char_sizes
-	  ft_stub_set_pixel_sizes
-
-	Rename the following internal functions to provide the old function
-	names as stubs:
-
-	  FT_Alloc          -> ft_mem_alloc
-	  FT_QAlloc         -> ft_mem_qalloc
-	  FT_Realloc        -> ft_mem_realloc
-	  FT_QRealloc       -> ft_mem_qrealloc
-	  FT_Free           -> ft_mem_free
-	  FT_Alloc_Debug    -> ft_mem_alloc_debug
-	  FT_QAlloc_Debug   -> ft_mem_qalloc_debug
-	  FT_Realloc_Debug  -> ft_mem_realloc_debug
-	  FT_QRealloc_Debug -> ft_mem_qrealloc_debug
-	  FT_Free_Debug     -> ft_mem_free_debug
-
-2006-02-15  Chia-I Wu  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
-	unused `max_points' and `max_contours'.
-
-	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
-	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
-	`max_components'.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
-	`loadSize' and `loadStack'.
-
-	* src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
-	src/sfnt/ttload.c (tt_face_load_maxp): Update.
-
-	* src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
-	(sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
-	compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
-	defined.
-
-	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
-	possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
-	(finally!)
-
-
-	For most OpenType tables, `tt_face_load_xxxx' simply loads the table
-	and `face->root' is set later in `sfnt_load_face'.  Here, we try to
-	make this work for _all_ tables.  Also improve tracing messages.
-
-	* src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
-	src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
-	then exit.  Error handling or setting face->root is done later in
-	`sfnt_load_face'.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
-	Mac bitmap-only fonts are not scalable.
-	Check that `face->header.Units_Per_EM' is not zero.
-	(LOAD_, LOADM_): Emit pretty trace messages.
-
-	* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
-	from `eblc'.
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
-	(load_format_20, load_format_25, tt_face_get_ps_name): Use
-	face->max_profile.numGlyphs, instead of face->root.num_glyphs.
-
-2006-02-14  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
-	documentation that negative strength values are possible.
-	Give an example call.
-
-	* include/freetype/freetype.h (FT_GlyphSlotRec): Improve
-	documentation of `outline' field.
-
-	* src/sfnt/sfobjs.c: Include FT_INTERNAL_DEBUG_H.
-	* src/sfnt/sfdriver.c: Include ttmtx.h.
-
-	* src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
-
-2006-02-14  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
-
-2006-02-14  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
-	return error if table is missing.
-	Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
-	tables.  The last change makes Mac bitmap-only font not load and
-	this fixes it.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
-	error when FT_CONFIG_OPTION_INCREMENTAL is defined.
-
-2006-02-13  Chia-I Wu  <[email protected]>
-
-	Clean up the SFNT_Interface.  In this final pass, `load_hmtx' is
-	split from `load_hhea'.
-
-	* include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
-	src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Update.
-
-2006-02-13  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
-	code...
-
-2006-02-13  Chia-I Wu  <[email protected]>
-
-	Clean up the SFNT_Interface.  In this pass, we want to treat the
-	font directory (offset table and table directory) as a normal table
-	like the others.  This also means that TTCs are no longer recognized
-	there but in `init_face'.
-
-	* include/freetype/internal/sfnt.h (SFNT_Interface),
-	src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
-	combined and renamed to `load_font_dir'.
-
-	* src/sfnt/ttload.h, src/sfnt/ttload.c:
-	s/sfnt_dir_check/check_table_dir/.
-	`sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
-	`tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
-	and renamed to `tt_face_load_font_dir'.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
-
-2006-02-13  Chia-I Wu  <[email protected]>
-
-	Clean up the SFNT_Interface.  Table loading functions are now named
-	after the tables' tags; `hdmx' is TrueType-specific and thus the
-	code is moved to the truetype module; `get_metrics' is moved here
-	from the truetype module so that the code can be shared with the cff
-	module.
-
-	This pass involves no real changes.  That is, the code is moved
-	verbatim mostly.  The only exception is the return value of
-	`tt_face_get_metrics'.
-
-	* include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
-	src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
-	src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
-	src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
-
-	* src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files.  Metrics-related
-	tables' loading and parsing code is moved to here.
-	Move `tt_face_get_metrics' here from the truetype module.  The
-	return value is changed from `void' to `FT_Error'.
-
-	* include/freetype/internal/fttrace.h: New trace: ttmtx.
-
-	* src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
-	parsing code is moved here.
-	New function `tt_face_load_prep' split from `tt_face_load_fpgm'.
-	`tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
-
-	* src/cff/cffgload.c, src/cff/cffobjs.c: Update.
-
-	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
-
-2006-02-11  Chia-I Wu  <[email protected]>
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
-	AF_LatinMetricsRec as the dummy metrics because we cast the metrics
-	to it later in `af_latin_hints_link_segments'.
-
-2006-02-11  Chia-I Wu  <[email protected]>
-
-	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
-	to enable autofit CJK script support.  (#define'd by default.)
-
-	* src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
-	that `edge_distance_threshold' is always set.
-	(af_latin_hints_link_segments): Potential divide-by-zero bug.
-	Use latin constant in the scoring formula.
-
-	* src/autofit/afcjk.c: Minor updates due to the above three changes.
-
-	* docs/TODO, docs/CHANGES: Updated.
-
-2006-02-09  Chia-I Wu  <[email protected]>
-
-	Introduce experimental autofit CJK module based on akito's autohint
-	patch.  You need to #define AF_MOD_CJK in afcjk.c to enable it.
-
-	* src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
-	src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
-	Add CJK module based on akito's autohint patch.
-
-	* src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
-	overlap length of the segments.
-	(AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
-
-	* src/autofit/aflatin.h (af_latin_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
-	`FT_LOCAL'.
-	Use the character given by the caller.
-	(af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
-	the thresholds.
-
-	* src/autofit/afloader.c (af_loader_load_g): Respect
-	AF_SCALER_FLAG_NO_ADVANCE.
-
-2006-02-09  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
-
-2006-02-09  suzuki toshiya  <[email protected]>
-
-	* src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
-	broken CIDFont.  Reported by Taek Kwan(TK) Lee (see ft-devel
-	2005-11-02).
-
-2006-02-08  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
-	option on UNIX platform.  It has been broken since 2006-01-11.
-
-2006-02-01  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
-	* src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
-
-	* builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
-	change from 2006-01-31).
-	(TOP_DIR, OBJ_DIR): Update.
-
-	* builds/unix/install.mk (install): Fix path for ftmodule.h.
-
-	* Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
-	`?=' where appropriate.
-
-	* builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
-	builds/win32/w32-dev.mk (TOP_DIR): Removed.  Defined elsewhere.
-
-2006-01-31  Werner Lemberg  <[email protected]>
-
-	Implement new, simplified module selection.  With GNU make it is now
-	sufficient to modify a single file, `modules.cfg', to control the
-	inclusion of modules and base extension files.
-
-	This change also fixes the creation of ftmodule.h; it now depends on
-	`modules.cfg' and thus is rebuilt only if necessary.
-
-	Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
-	default location.
-
-	* modules.cfg: New file.
-
-	* builds/freetype.mk: Don't include `modules.mk'.
-	Include all `rules.mk' files as specified in `modules.cfg'.
-	(FTOPTION_FLAG, FTOPTION_H): New variables.
-	(FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
-	Add FTOPTION_FLAG.
-	($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
-	(CONFIG_H): Add FTMODULE_H and FTOPTION_H.
-	(INCLUDES): Add DEVEL_DIR.
-	(INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
-	OBJ_M, OBJ_S): Use `:=', not `='.
-	(remove_ftmodule_h): New phony target to delete `ftmodule.h'.
-	(distclean): Add remove_ftmodule_h.
-
-	* builds/modules.mk: (MODULE_LIST): Removed.
-	(make_module_list, clean_module_list): Replace targets
-	with...
-	(FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
-	variables.  Reason for the change is that it is not possible to have
-	a phony prerequisite which is run only if the target file must be
-	rebuilt (phony prerequisites act like subroutines and are *always*
-	executed).  We only want to rebuild `ftmodule.h' if `module.cfg' is
-	changed.
-	Update all callers.
-	($FTMODULE_H)): Rule to create `ftmodule.h', depending on
-	`modules.cfg'.
-
-	* builds/toplevel.mk: Rewrite and simplify module handling.
-	(MODULES_CFG, FTMODULE_H): New variables.
-	Include MODULES_CFG.
-	(MODULES): New variable to include all `module.mk' and `rules.mk'
-	files.  We no longer use make's `wildcard' function for this.
-
-	* Makefile (USE_MODULES): Remove.  Update all users.
-	(OBJ_DIR): Define it here.
-
-	* src/*/module.mk: Change
-
-	    make_module_list: foo
-	    foo: ...
-
-	to
-
-	    FTMODULE_H_COMMANDS += FOO
-	    define FOO
-	    ...
-	    endef
-
-	in all files.  `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
-
-	* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
-
-	* builds/unix/detect.mk (setup): Always execute `configure' script.
-	(have_mk): Rename to...
-	(have_Makefile): This.
-	Don't use `strip' function.
-
-	* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
-	defined.
-	(have_mk): Don't use `strip' function.
-	Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
-	accordingly).
-
-	* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
-
-	* builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
-	builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
-	BUILD_DIR but DEVEL_DIR for development header files.
-
-	* builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
-	builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
-	(TOP_DIR, OBJ_DIR): Removed.  Defined elsewhere.
-
-	* builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
-	builds/win32/win32-def.mk (OBJ_DIR): Removed.  Defined elsewhere.
-
-	* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
-	development header files.
-	Don't define PLATFORM.
-
-	* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
-	Update snippet taken from autoconf's m4sh.m4 to current CVS version.
-	Be more verbose.
-
-	* include/freetype/config/ftmodule.h: Add comments -- this file is
-	no longer used if FreeType is built with GNU make.
-
-	* docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
-	docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
-	Other minor updates.
-
-	* modules.txt: Removed.  Contents included in `modules.cfg'.
-
-
-	* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
-	FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
-
-	* src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
-	FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
-	[FT_STRICT_ALIASING]: Implement.
-
-2006-01-31  Chia-I Wu  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
-	(cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
-	src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
-	units_per_EM, ascender - descender).
-
-2006-01-31  Chia-I Wu  <[email protected]>
-
-	* include/freetype/internal/t1types.h (AFM_FontInfo),
-	src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
-	`Ascender', and `Descender' from an AFM.
-
-	* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
-
-	* include/freetype/freetype.h (FT_FaceRec): Mention that fields may
-	be changed after file attachment.
-
-2006-01-28  Werner Lemberg  <[email protected]>
-
-	* src/*/module.mk (.PHONY): Add.
-
-2006-01-27  Werner Lemberg  <[email protected]>
-
-	* README, docs/FTL.TXT: Fix email address for bug reports.
-	Other minor formatting.
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-	* src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
-	(add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
-	whitespace.
-
-	* src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
-	renderer classes.
-
-2006-01-27  David Turner  <[email protected]>
-
-	* builds/unix/configure.ac: Fix build problem on Cygwin.
-
-	* builds/unix/install.mk (install): Don't install the internal
-	headers, and remove existing ones if found in the target install
-	directory.
-
-	* src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
-	if the warp hinter isn't active (it shouldn't, still experimental).
-
-	* Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
-	and `otvalid' from the list of modules that are linked statically
-	to a given FreeType library.  Functionality has been moved to the
-	`ftvalid' CVS module.
-
-	Note also that current Make-based build system still compiles the
-	modules though.
-
-	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
-	which controls the definitions of the memory management functions to
-	avoid warnings with recent versions of GCC.  This macro is only here
-	to be disabled, in case we detect problems with the new scheme.
-
-	NOTE: Disable macro to use the memory debugger -- this will be fixed
-	      later!
-
-	* include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
-	FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
-	New versions.
-
-
-	* builds/win32/visualc/freetype.dsp: Updating project file to
-	define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
-	compilation.
-
-
-	* builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
-	macro FT2_BUILD_LIBRARY when compiling the library.
-
-	* include/freetype/config/ftheader.h: Remove inclusions of internal
-	headers except if the macro FT2_BUILD_LIBRARY is defined.
-
-
-	* include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
-	AFM_FontInfo): Move structure declarations to...
-	* include/freetype/internal/t1types.h: This file.
-
-
-	* (many files): Fix compiler warnings.
-	Various minor reorganizations.
-
-
-	* src/cff/cffload.c (cff_font_done): Don't free static array
-	`subfonts'.
-
-	* src/otvalid/otvcommn.c (otv_ClassDef_validate),
-	src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
-
-
-	Get rid of writable static variables (i.e., the string table) in
-	afmparse, and fix compilation in FT2_MULTI mode.
-
-	* src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
-	(AFM_MAX_ARGUMENTS): Define...
-	* src/psaux/afmparse.h: Here.
-	* src/psaux/Jamfile (_sources): Add afmparse.
-
-	* src/psaux/psconv.c: Include psconv.h.
-
-	* src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
-	FT_INTERNAL_POSTSCRIPT_AUX_H.
-	* src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
-
-2006-01-23  Chia-I Wu  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Select_Size): Rename the second
-	argument from `idx' to `strike_index'.
-	(FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
-	this enum.
-
-	* include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
-	FT_REQUEST_HEIGHT): New macros to get the width and height of a
-	request, in fractional pixels.
-
-	* include/freetype/internal/ftobjs.h (FT_Select_Metrics,
-	FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
-	FT_Request_Metrics): New base functions to set the font metrics.  They
-	were part of FT_Select_Size/FT_Request_Size and are made independent
-	functions so that metrics are not set again and again.
-
-	* src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
-	only when driver's size_select/size_request is NULL.  That is, drivers
-	should set the metrics themselves.
-	(FT_Match_Size): Round before matching.  This was what we did and it
-	does cause some problems without rounding.
-
-	* src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
-	(tt_size_select): Set the font metrics.
-	s/index/strike_index/.
-	The scaled metrics are always preferred over strikes' metrics, even
-	when some strike is selected.  This is done because the strikes'
-	metrics are not reliable, e.g., the sign of the descender is wrong for
-	some fonts.
-
-	* src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
-	(tt_size_request): Set the font metrics.
-	Call cff_size_select/tt_size_select when some strike is matched.
-
-	* src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
-	src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
-	src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
-	Set the font metrics.
-	s/index/strike_index/.
-
-	* src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
-	files were committed.  Just a catch-up.
-	(PS_Conv_ToFixed): Remove the `goto'.
-	(PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
-	tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
-	(tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
-	advertised metrics in `available_sizes' are different from those
-	actually used.
-
-2006-01-23  Chia-I Wu  <[email protected]>
-
-	* src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
-	AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
-
-2006-01-22  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
-	`texinfo' CVS module at savannah.gnu.org.
-
-2006-01-21  Werner Lemberg  <[email protected]>
-
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
-
-	* src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
-	to avoid compiler warnings.
-
-	* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
-	shadowing variable declarations.
-	Fix warning parameters and replace printf with AF_LOG.
-	(af_warper_compute): Remove unused variable.
-
-2006-01-20  David Turner  <[email protected]>
-
-	Adding experimental implementation of `warp hinting' (new hinting
-	algorithm for gray-level and LCD rendering).  It is disabled by
-	default, you need to #define AF_USE_WARPER in aftypes.h.
-
-	* src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
-	New function.
-	* src/autofit/afhints.h: Updated.
-
-	* src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
-	(af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
-	FT_RENDER_MODE_NORMAL if an LCD mode is selected.
-	(af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
-	appropriately.
-
-	* src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
-	Isolate code for adjusting metrics.
-
-	* src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
-	default).
-
-	* src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
-
-	* src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
-
-	* src/autofit/Jamfile (_sources): Add afwarp.
-
-2006-01-19  David Turner  <[email protected]>
-
-	* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
-	that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
-
-2006-01-19  Brian Weed  <[email protected]>
-
-	* builds/win32/visualc/freetype.dsp: Updated.
-
-2006-01-17  Werner Lemberg  <[email protected]>
-
-	Use pscmap service in CFF module.
-
-	* src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
-	(cff_sid_to_glyph_name): New function.
-	(cff_cmap_unicode_init, cff_cmap_unicode_done,
-	cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
-	service.
-	(cff_cmap_unicode_class_rec): Updated.
-	* src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
-
-
-	* src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
-	return value.
-
-
-	* src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
-	to avoid compiler warnings regarding type-punning.
-
-2006-01-16  Chia-I Wu  <[email protected]>
-
-	* src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
-	implement an AFM parser.
-
-	* src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
-	conversion functions (e.g., PS real number => FT_Fixed) for the
-	PS_Parser and AFM_Parser.  Some of the functions are taken, with
-	some modifications, from the file psobjs.c.
-
-	* src/psaux/psobjs.c: Use functions from psconv.c.
-
-	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
-	`AFM_Parser' to the `psaux' service.
-
-	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
-	those new files.
-
-	* src/tools/test_afm.c: A test program for AFM parser.
-
-	* include/freetype/internal/services/svkern.h: New file providing a
-	`Kerning' service.  It is currently only used to get the track
-	kerning information.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
-	macro.
-
-	* src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
-	src/type1/t1afm.h: Update to use the AFM parser.
-	Provide the `Kerning' service.
-
-	* include/freetype/freetype.h, src/base/ftobjs.c: New API
-	`FT_Get_Track_Kerning'.
-
-2006-01-15  Chia-I Wu  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
-	src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
-	src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
-	s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
-
-	* docs/CHANGES: Mention that vertical metrics are synthesized for
-	fonts not having this info.
-
-2006-01-15  Chia-I Wu  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
-	src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
-	vertical metrics.
-
-	* src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
-	src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
-	which are monotone.
-
-	* src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
-	formattings in vertical metrics faking.  There is still room for
-	improvements (and so does the CFF module).
-
-2006-01-15  Chia-I Wu  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
-	(PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
-	the linear advance fields as they are only used by the outline
-	glyphs.
-
-	* include/freetype/freetype.h: Documentation updates and
-	clarifications.
-	The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
-	change need be made to the code.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
-	decide whether to use the auto-hinter according to documentation.
-	There should to be no real difference.
-	Some checks (e.g., is text height positive?) after the glyph is
-	loaded.
-	(FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
-	Be careful that scales won't be negative.
-
-2006-01-14  Chia-I Wu  <[email protected]>
-
-	* docs/CHANGES: Mention the size selection change.
-
-	* src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
-	src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
-	src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
-	matching for requests of type NOMINAL and REAL_DIM.
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
-	`pixel_height' is used for nominal height.
-
-	* src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
-	face is bitmap only and driver doesn't provide `request_size'.  This
-	is added merely for completion as no driver satisfies the conditions.
-
-2006-01-13  Chia-I Wu  <[email protected]>
-
-	Introduce new size selection interface.
-
-	* include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
-	Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
-	`select_size'.
-
-	* include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
-	FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
-	(FT_Select_Size, FT_Request_Size): API additions to export the new
-	size selection interface.
-
-	* src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
-	`FT_Request_Size'.
-
-	* include/freetype/internal/ftobjs.h (FT_Match_Size),
-	src/base/ftobjs.c (FT_Match_Size): New function to match a size
-	request against `available_sizes'.  Drivers supporting bitmap strikes
-	can use this function to implement `request_size'.
-
-	* src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
-	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
-	src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
-	src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
-	Update to new size selection interface.
-
-	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
-	src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
-	src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
-	selection interface.
-	Make `strike_index' FT_ULong and always defined.
-	Use `load_strike_metrics' provided by SFNT interface.
-
-2006-01-13  Chia-I Wu  <[email protected]>
-
-	* include/freetype/internal/sfnt.h (SFNT_Interface): New method
-	`load_strike_metrics' used to load the strike's metrics.
-
-	* src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
-	src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
-	nominal size unless it is obviously incorrect.
-
-	* include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
-	FNT driver.
-
-2006-01-12  Werner Lemberg  <[email protected]>
-
-	Prepare use of pscmap service within CFF module.
-
-	* include/freetype/internal/services/svpscmap.h: Include
-	FT_INTERNAL_OBJECTS_H.
-	(PS_Unicode_Index_Func): Removed.  Unused.
-	(PS_Macintosh_Name_Func): Renamed to...
-	(PS_Macintosh_NameFunc): This.
-	Update all callers.
-	(PS_Adobe_Std_Strings_Func): Renamed to...
-	(PS_Adobe_Std_StringsFunc): This.
-	Update all callers.
-	(PS_UnicodesRec): This is the former `PS_Unicodes' structure.
-	Add `cmap' member.
-	Update all callers.
-	(PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
-	Update all callers.
-	(PS_Glyph_NameFunc): New typedef.
-	(PS_Unicodes_InitFunc): Change arguments to expect a function
-	and generic data pointer which returns a glyph name from a given
-	index.
-
-	* src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
-	ps_unicodes_char_next, pscmaps_interface): Updated.
-
-	* include/freetype/internal/t1types.h (T1_FaceRec): Updated.
-
-	* src/psaux/t1cmap.h (T1_CMapStdRec): Updated.
-	(T1_CMapUnicode, T1_CMapUnicodeRec): Removed.
-
-	* src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
-	(t1_cmap_unicode_init, t1_cmap_unicode_done,
-	t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
-	t1_cmap_unicode_class_rec): Updated.
-
-	* src/type42/t42types.h (T42_FaceRec): Updated.
-
-2006-01-11  suzuki toshiya  <[email protected]>
-
-	* include/freetype/ftmac.h: Add declaration of new functions
-	FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
-	were introduced by the jumbo patch on  2006-01-11.
-
-2006-01-11  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #15056 and use pscmap service in psaux module.
-
-	* include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
-	FT_UInt32 for `glyph_index'.
-	(PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
-	(PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
-	(PS_Unicodes_CharNextFunc): Make second argument a pointer to
-	FT_UInt32.
-
-	* src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
-	(ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
-	variant glyph (this is, it has non-leading `.' in its name).
-	(compare_uni_maps): Sort base glyphs before variant glyphs.
-	(ps_unicodes_init): Use FT_String for `glyph_names' argument.
-	Reallocate only if number of used entries is much smaller.
-	Updated to handle variant glyphs.
-	(ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
-	over variant glyphs.
-	Simplify code.
-
-	* src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
-	(t1_cmap_unicode_init, t1_cmap_unicode_char_index,
-	t1_cmap_unicode_char_next): Use pscmap service.
-	(t1_cmap_unicode_done): Updated.
-
-	* src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
-	(T1_CMapUnicode): Use PS_Unicodes structure.
-
-2006-01-11  suzuki toshiya  <[email protected]>
-
-	Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
-	Intel, as reported by Sean McBride <[email protected]> on
-	2005-08-24.
-
-	* src/base/ftmac.c: Heavy change to build without deprecated Carbon
-	functions on Tiger.
-
-	* builds/unix/configure.ac: Add options and autochecks for Carbon
-	functions availabilities, for MacOS X.
-
-	* builds/mac/ascii2mpw.py: Add converter for character `\305'.
-	* builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
-	macros to avoid unavailable functions.
-	ftmac.c must be compiled without `-strict ansi', because it disables
-	cpp macro to use ToolBox system call.
-
-	* builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
-	macros to avoid unavailable functions.
-
-	* builds/mac/README: Detailed notes on function availabilities.
-
-	* docs/CHANGES: Notes about (possible) incompatibilities.
-
-2006-01-08  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2006-01-08  Huw D M Davies  <[email protected]>
-
-	* include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
-	declaration.
-
-	* src/base/ftobjs.c (FT_Module_Get_Flags): New function.
-
-2006-01-07  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
-	`bitmaps'.  Reported by Yu Lei <[email protected]>.
-
-	* src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
-	Reported by Niels Boldt <[email protected]>.
-
-2005-12-28  suzuki toshiya  <[email protected]>
-
-	* src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
-	MPW compiler.
-
-2005-12-23  David Turner  <[email protected]>
-
-	* Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
-	refdoc' works correctly to generate the API reference in
-	`docs/reference'.
-
-	* src/tools/docmaker/tohtml.py (print_html_field,
-	print_html_field_list): Update to output nicer fields lists in the
-	API reference.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
-	forces auto-hinting.
-
-	* freetype/freetype.h: Updating the documentation for
-	FT_LOAD_TARGET_XXX and FT_Render_Mode values.
-
-2005-12-23  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
-	in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
-	unsupported formats (fbit, NFNT).  The number of available faces are
-	passed via face->num_faces.  If bitmap faces are embedded in sfnt
-	resource, face->num_fixed_size is correctly set.  In public API,
-	FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
-	FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
-
-	* doc/CHANGES: Mention the changes.
-
-2005-12-17  Chia-I Wu  <[email protected]>
-
-	* src/truetype/ttinterp.c (Update_Max): Set current size of buffer
-	correctly (so that memory debug system won't panic).
-
-2005-12-16  Chia-I Wu  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
-	src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
-
-	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
-
-	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
-	(cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
-	src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
-
-	* doc/CHANGES: Mention the changes.
-
-2005-12-13  David Turner  <[email protected]>
-
-	Change the implementation of the LIGHT hinting mode to completely
-	disable horizontal hinting.  This is an experimental effort to
-	integrate David Chester's latest patch without affecting the other
-	hinting modes as well.
-
-	Note that this doesn't force auto-hinting for all fonts, however.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Don't set
-	scaler_flags here but...
-	(af_glyph_hints_rescale): Here.
-
-	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
-	hinting for `light' hinting mode.
-
-
-	* Jamfile: Small fix to ensure that ftexport.sym is placed into the
-	same location as other generated objects (i.e., within the `objs'
-	directory of the current directory).
-
-
-	Add support for an embedded `BDF ' table within SFNT-based bitmap
-	font files.  This is used to store atoms & properties from the
-	original BDF fonts that were used to generate the font file.
-
-	The feature is controlled by TT_CONFIG_OPTION_BDF within
-	`ftoption.h' and is used to implement FT_Get_BDF_Property for these
-	font files.
-
-	At the moment, this is still experimental, the BDF table format
-	isn't cast into stone yet.
-
-	* include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
-	macro.
-
-	* include/freetype/config/ftstdlib.h (ft_memchr): New macro.
-
-	* include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
-	[TT_CONFIG_OPTION_BDF]: New structure.
-	(TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
-
-	* include/freetype/tttags.h (TTAG_BDF): New macro.
-
-	* src/sfnt/Jamfile (_sources): Add ttbdf.
-
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
-
-	* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
-	FT_SERVICE_BDF_H.
-	(sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
-	(sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
-	(sfnt_services) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
-
-	* src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
-
-	* src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
-	(sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
-	tt_face_free_bdf_props.
-
-	* src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
-
-2005-12-07  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Move tag check to...
-	* src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
-
-2005-12-06  Chia-I Wu  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
-	initialized twice.
-	size->strike_index is not initialized.
-
-2005-12-02  Taek Kwan(TK) Lee  <[email protected]>
-
-	* src/type42/t42objs.c (T42_Face_Init): Replace call to
-	FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
-
-2005-11-30  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Document ftdump's `-v' option.
-	Document latest charmap code changes.
-
-	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
-	s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
-
-2005-11-30  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
-	tt_cmap12_char_map_binary): Fix compiler warnings.
-
-2005-11-29  Chia-I Wu  <[email protected]>
-
-	Major update to distinguish between unsorted and overlapping
-	segments for cmap format 4.  For overlapping but sorted segments,
-	which is previously considered unsorted, we still use binary search.
-
-	* src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
-	(TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
-
-	* src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
-	(TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
-	(tt_cmap4_reset): Removed.
-	(tt_cmap4_init): Updated accordingly.
-	(tt_cmap4_next): Updated accordingly.
-	Take care of overlapping segments.
-	(tt_cmap4_validate): Make sure the subtable is large enough.
-	Do not check glyph_ids because some fonts set the length wrongly.
-	Also, if all segments have offset 0, glyph_ids is always invalid.
-	It does not cause any problem so far only because the check misses
-	equality.
-	Distinguish between unsorted and overlapping segments.
-	(tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
-	to do `charcode => glyph index' by linear/binary search.
-	(tt_cmap4_char_index, tt_cmap4_char_next): Use
-	tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
-	(tt_face_build_cmaps): Treat the return value of validator as flags
-	for cmap.
-
-2005-11-29  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
-	New structures and functions for fast `next char'.
-	(tt_cmap12_char_map_binary): New function to do `charcode => glyph
-	index' by binary search.
-	(tt_cmap12_char_index, tt_cmap12_char_next): Use
-	tt_cmap12_char_map_binary.
-	(tt_face_build_cmaps): Check table and offset correctly (equality is
-	missing).
-
-2005-11-15  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/smakefile: Adjusted the compiler options
-	to the current sources, now really builds the gxvalid, gzip
-	and psnames modules.
-
-	* builds/amiga/src/base/ftsystem.c: The assumed Seek() position
-	in the file cache was off by one byte which could cause false
-	errors in font files.
-
-2005-11-24  suzuki toshiya  <[email protected]>
-
-	* builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt:
-	Updated for MPW to build all available modules.
-
-2005-11-21  Håvard Wall  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
-	memory leak.
-
-2005-11-21  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (sfnt_init): Add tracing message.
-
-2005-11-21  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
-	added twice to image_start if image_format was 2 or 5.
-
-2005-11-21  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
-	before loading the table directory.
-
-	* src/sfnt/ttload.c (tt_face_load_sfnt_header,
-	tt_face_load_directory): Delay sfnt_dir_check from
-	tt_face_load_sfnt_header to tt_face_load_directory.
-
-2005-11-20  Chia-I Wu  <[email protected]>
-
-	* src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
-	error code.
-	(sfnt_init): New function to fill in face->ttc_header.  A non-TTC font
-	is synthesized into a TTC font with one offset table.
-	(tt_face_load_sfnt_header): Use sfnt_init.
-	Fix an invalid access if the font is TTC and face_index is -1.
-
-2005-11-18  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
-	of metrics instead of aborting.  Patch suggested by Derek Noonburg.
-
-	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
-	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
-	the glyph properly if no hinter is available.
-
-	* docs/CHANGES: Mention scaling bug.
-
-2005-11-18  suzuki toshiya  <[email protected]>
-
-	* include/freetype/ftgxval.h, src/base/ftgxval.c
-	(FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
-	buffers allocated by gxvalid module.
-	* include/freetype/ftotval.h, src/base/ftotval.c
-	(FT_OpenType_Free): New function to free buffer allocated by
-	otvalid module.
-
-2005-11-18  Chia-I Wu  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
-	FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
-	FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
-	s/FT_EXPORT/FT_BASE/.
-
-2005-11-17  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
-	FT_Trace_Get_Name, FT_Message, FT_Panic),
-	builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
-	FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
-
-2005-11-17  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile,
-	builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
-	build files (added support for the gxvalid module).
-
-2005-11-17  Werner Lemberg  <[email protected]>
-
-	Add vertical metrics support to OpenType CFF outlines.  Based on a
-	patch from Mike Moening <[email protected]>.
-
-	* src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
-	(cff_slot_load): Use cff_face_get_vertical_metrics.
-
-	* docs/CHANGES: Updated.
-
-2005-11-17  Chia-I Wu  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MulTo64): Commented out.
-
-	* include/freetype/internal/ftcalc.h (FT_SqrtFixed),
-	src/base/ftcalc.c (FT_SqrtFixed),
-	include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
-	FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
-	(FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
-	include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
-	include/freetype/internal/ftstream.h (FT_Stream_Open),
-	src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
-	s/FT_EXPORT/FT_BASE/.
-
-	* builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
-	too.
-
-2005-11-15  David Turner  <[email protected]>
-
-	* src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
-	invalid computations, resulting in very weird bugs in TrueType
-	bytecode hinted fonts.
-
-	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
-	structure copy each time.
-
-2005-11-11  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
-	(FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
-
-	* src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
-	(FT_Div64by32, FT_Sqrt32): Commented out.  Unused.
-
-	* include/freetype/internal/ftcalc.h (SQRT_32): Removed.  Unused.
-	(FT_Sqrt32): Commented out.  Unused.
-
-	* include/freetype/cache/ftccache.h:
-	s/ftc_node_destroy/FTC_Node_Destroy/.
-
-	* src/cache/ftccback.h (ftc_node_destroy): New declaration.
-
-	* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
-	(FTC_Node_Destroy): New exported wrapper function for
-	ftc_node_destroy.
-
-	* src/cache/ftcmanag.c: Include ftccback.c.
-
-2005-11-10  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
-	Comment out.  Unused.
-
-	* builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
-
-2005-11-10  Christian Biesinger  <[email protected]>
-
-	* builds/beos/beos.mk: Call beos-def.mk before anything else to
-	define the separator.
-
-	* builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
-
-2005-11-07  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
-	table available'.  From Sergey Tolstov <[email protected]>.
-
-2005-11-03  Ville Syrjälä  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
-
-2005-11-02  Werner Lemberg  <[email protected]>
-
-	Make compiling instructions in docs/CUSTOMIZE work again.
-
-	* builds/unix/unix-cc.in (CPPFLAGS): New variable.
-	(CFLAGS): Don't include @CPPFLAGS@.
-	* builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
-
-2005-10-28  David Turner  <[email protected]>
-
-	Update build system to support the generation of a list of exported
-	symbols or Windows .DEF files by parsing the public headers with the
-	`apinames' tool located in src/tools/apinames.c.
-
-	Only tested on Unix at the moment.  On Windows, the .DEF file is
-	generated but isn't used yet to generate a DLL.
-
-	* builds/exports.mk: New file.
-
-	* builds/freetype.mk: Include exports.mk.
-	(dll): New target.
-	(clean_project_dos): Fix rule.
-
-	* builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
-	builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
-	variables for controlling executable extensions.
-
-	* builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
-	builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
-	builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
-	builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
-	builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
-	APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
-
-	* Jamfile (GenExportSymbols): Updated.
-
-
-	* src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
-	[!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
-	FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
-
-
-	* src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
-	(FT_MulFix): Performance optimizations.
-
-
-	* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
-	FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
-	checking points and contours.  Update callers to use
-	FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
-	at profile-detected hot-spots.
-
-	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
-	to 0 to not call `AdjustPoints' every time.
-
-
-	* src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
-	FT_Angle_Diff.
-
-	* src/autofit/afhints.c (af_direction_compute): Re-implement.
-	(af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
-	AF_ANGLE_DIFF to speed up the detection of inflexions.
-
-
-	* src/tools/apinames.c: Include <string.h>.
-	(OutputFormat): New enumeration.
-	(names_dump): Add two parameters to control output format and DLL
-	name.
-	(names_dump_windef): Removed.  Code folded into `names_dump'.
-	(read_header_file): Use isalnum, not isalpha.  Otherwise function
-	names with digits aren't read correctly.
-	(usage): Updated.
-	(main): New option `-o' to control output file name.
-	New option `-d' to indicate DLL file name.
-	Extend `-w' flag to handle Borland and Watcom compilers and linkers.
-
-2005-10-28  suzuki toshiya  <[email protected]>
-
-	* builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
-	ftlib.prj is unmaintained and incompatible with current tree.
-	freetype.mak is unrecoverably broken.
-
-	* builds/mac/ftlib.prj.xml: Added.
-	Generated by Metrowerks CodeWarrior 9.0.
-
-	* builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt: Added.
-	Skeleton files of MPW makefiles.
-
-	* builds/mac/ascii2mpw.py: Added.
-	Python script to make MPW makefile from skeleton.
-
-	* builds/mac/README: Updated.
-	Almost rewritten to use new files.
-
-2005-10-28  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Fix invalid casts from NULL to integer typed
-	variables.  Advised by David Turner, Masatake YAMATO, Sean McBride,
-	and George Williams.
-
-2005-10-27  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
-	Obsolete.
-
-2005-10-25  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfdriver.c (sfnt_interface): Move out
-	`tt_face_get_kerning' from a #ifdef clause.  Reported by Tony J.
-	Ibbs <[email protected]>.
-
-2005-10-23  Werner Lemberg  <[email protected]>
-
-	* src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
-	C++.
-
-2005-10-21  David Turner  <[email protected]>
-
-	* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
-	Another realloc memory counting bug fix.
-
-	* src/tools/Jamfile: Add missing file.
-
-	* src/lzw/Jamfile: Fix incorrect source file reference.
-
-2005-10-20  David Turner  <[email protected]>
-
-	* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
-	ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
-	to better account for memory reallocations.
-
-	* src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
-	src/lzw/rules.mk: First version of LZW loader re-implementation.
-	Apparently, this saves about 330 KB of heap memory when loading
-	timR24.pcf.Z.
-
-2005-10-20  Chia-I Wu  <[email protected]>
-
-	* include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
-	src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
-	(FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
-	FT_EXPORT/FT_EXPORT_DEF tagging.
-
-2005-10-19  Chia-I Wu  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
-	be invalid when FT_LOAD_NO_SCALE is set.
-
-2005-10-17  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
-	FT_New_Size if we are opening a face with face_index < 0 (which is
-	only used for testing the format).
-
-	* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
-	Remove compiler warning.
-
-2005-10-16  David Turner  <[email protected]>
-
-	* src/tools/apinames.c: Add new tool to extract public API function
-	names from header files.
-
-2005-10-05  Werner Lemberg  <[email protected]>
-
-	Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
-	a hinting engine of its own.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
-
-	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
-	(cid_face_init), src/truetype/ttobjs.c (tt_face_init)
-	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
-	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
-	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
-
-	* docs/CHANGES: Document it.
-
-2005-09-27  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype2.m4: Add license exception so that the file
-	can be used in any other autoconf script.
-
-2005-09-26  David Turner  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
-	computation of the `vertical' flag, causing ugly things in LCD mode
-	and others.
-
-2005-09-23  David Turner  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
-	prevented internal hint mode bitflags from being computed correctly.
-
-	* src/base/Jamfile: Adding src/base/ftgxval.c.
-
-	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
-	src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
-	src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
-	src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
-	src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
-	src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
-	src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
-	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
-	src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
-	src/truetype/ttgload.c: Remove _many_ compiler warnings when
-	compiling with Visual C++ at maximum level (/W4).
-
-	* src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
-	implementation with one using lookup tables.  This simple thing
-	speeds up glyph loading by 18%, according to ftbench!
-
-	* src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
-	`get_sfnt' and `load_sfnt' module interfaces.
-
-2005-09-22  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Mention SING Glyphlet support.
-
-2005-09-22  David Turner  <[email protected]>
-
-	* src/base/Jamfile: Disable compilation of ftgxval module
-	temporarily.
-
-2005-09-19  David Somers  <[email protected]>
-
-	* src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
-	font to have no `head' table if tables `SING' and `META' are
-	present; this is to support `SING Glyphlet'.
-
-	`SING Glyphlet' is an extension to OpenType developed by Adobe
-	primarily to facilitate adding supplemental glyphs to an OpenType
-	font (with emphasis on, but not necessarily limited to, gaiji to a
-	CJK font).  A SING Glyphlet Font is an OpenType font that contains
-	the outline(s), either in a `glyf' or `CFF' table, for a glyph;
-	`cmap', `BASE', and `GSUB' tables are present with the same format
-	and functionality as a regular OpenType font; there are no `name',
-	`head', `OS/2', and `post' tables; there are two new tables, `SING'
-	which contains details about the glyphlet, and `META' which contains
-	metadata.
-
-	Further information on the SING Glyphlet format can be found at:
-
-	  https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5148.SING_Tutorial.pdf
-
-	* include/freetype/tttags.h (TTAG_SING, TTAG_META): New macros for
-	the OpenType tables `SING' and `META'.  These two tables are used in
-	SING Glyphlet Format fonts.
-
-2005-09-09  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
-	FT_FACE_FLAG_KERNING which has been commented out erroneously.
-
-	* docs/CHANGES: Document it.
-
-2005-09-05  Werner Lemberg  <[email protected]>
-
-	Fixes for `make multi' and using C++ compiler.
-
-	* src/gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
-	gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
-	gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
-	(gxv_compare_ranges): Make it static.
-	(gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
-	gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
-	gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
-	trace messages.
-	(gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
-	(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
-	GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
-	gxvcommn.h.
-
-	* src/gxvalid/gxvcommn.h: Add prototypes for
-	gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
-	gxv_XStateTable_validate, gxv_array_getlimits_byte,
-	gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
-	gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
-	gxv_odtect_validate.
-	(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
-	GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
-	gxvcommn.c.
-
-	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
-	gxv_bsln_parts_fmt1_validate): Improve trace messages.
-
-	* src/gxvalid/gxvfeat.c: Split off predefined registry stuff to...
-	* src/gxvalid/gxvfeat.h: New file.
-
-	* src/gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
-	message.
-
-	* src/gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
-	(gxv_kern_subtable_fmt1_valueTable_load,
-	gxv_kern_subtable_fmt1_subtable_setup,
-	gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
-	(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKNOWN.
-	Improve trace message.
-	(gxv_kern_validate_generic): Fix C++ compiler error.
-	Improve trace message.
-	(gxv_kern_validate_classic): Fix C++ compiler error.
-
-	* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmort1.c
-	(gxv_mort_subtable_type1_substitutionTable_load,
-	gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
-	(gxv_mort_subtable_type1_substTable_validate): Improve trace
-	message.
-	(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
-	gxv_mort_subtable_type2_subtable_setup,
-	gxv_mort_subtable_type2_ligActionOffset_validate,
-	gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
-	errors.
-	(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
-	gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
-	errors.
-	(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmort.c: Include gxvfeat.h.
-	(gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
-	Declare with FT_LOCAL_DEF.
-	(gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
-	messages.
-
-	* src/gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
-
-	* src/gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmorx1.c
-	(gxv_morx_subtable_type1_substitutionTable_load,
-	gxv_morx_subtable_type1_subtable_setup,
-	gxv_morx_subtable_type1_entry_validate,
-	gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
-	compiler errors.
-	(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
-	gxv_morx_subtable_type2_subtable_setup,
-	gxv_morx_subtable_type2_ligActionIndex_validate,
-	gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
-	errors.
-	(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
-	Fix typo.
-
-	* src/gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
-	gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
-	(gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
-
-	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
-	gxv_morx_validate): Improve trace message.
-
-	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
-	warnings.
-	(gxv_opbd_validate): Improve trace message.
-
-	* src/gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
-	appropriate.
-	(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
-	message.
-
-	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
-	parameter.  Update all callers.
-	(gxv_trak_validate): Improve trace message.
-
-	* rules.mk (GXV_DRV_H): Add gxvfeat.h.
-
-2005-09-01  Werner Lemberg  <[email protected]>
-
-	* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
-
-	* src/gxvalid/gxvmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
-	src/gxvalid/gxvmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
-	typo.
-
-	* src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
-	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
-	src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
-	messages.
-	Decorate constants with `U' and `L' where appropriate.
-	Fix compiler warnings.
-
-2005-08-31  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
-
-	* src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
-
-	* src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
-
-	* src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
-	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
-	src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
-	src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
-	src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
-	messages.
-	Decorate constants with `U' and `L' where appropriate.
-	Fix compiler warnings.
-
-2005-08-30  Werner Lemberg  <[email protected]>
-
-	* src/gxvalid/README: Revised.
-	* src/gxvalid/gxvbsln.c: Fix compiler warnings.
-	* src/gxvalid/gxvcommn.c: Fix compiler warnings.
-	(gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
-	parameter.  Update all callers.
-	Improve trace messages.
-	Some formatting.
-
-2005-08-29  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
-	a preliminary section with some explanations about user allocation.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
-	Don't abort if there are no data types, functions, etc., in a
-	section.
-	Print synopsis only if we have a data type, function, etc.
-
-	* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
-	docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
-	docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
-
-2005-08-28  George Williams  <[email protected]>
-
-	* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
-	(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
-
-2005-08-25  J. Ali Harlow  <[email protected]>
-
-	* builds/unix/freetype2.in (CFlags): Add missing directory.
-
-2005-08-24  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Mention gxvalid module.
-
-2005-08-23  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
-	render mode properly.  Reported by [email protected].
-
-2005-08-23  suzuki toshiya  <[email protected]>
-
-	Add gxvalid module to validate TrueType GX/AAT tables.
-
-	Modifications on existing files:
-
-	* Jamfile: Register gxvalid module.
-	* src/base/Jamfile: Register ftgxval.c.
-	* src/base/rule.mk: Register ftgxval.c.
-	* docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
-
-	* include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
-	to include gxvalid header file.
-	* include/freetype/config/ftmodule.h: Register gxv_module_class.
-
-	* include/freetype/ftchapters.h: Add comment about gx_validation.
-	* include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
-	to FT_VALIDATE_OTXXX to co-exist with gxvalid.
-	* include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
-	macro for gxvalid service.
-	* include/freetype/internal/fttrace.h: Add trace facilities for
-	gxvalid.
-
-	New files on existing directories:
-
-	* include/freetype/internal/services/svgxval.h: Registration of
-	validation service for TrueType GX/AAT and classic kern table.
-	* include/freetype/ftgxval.h: Public API definition to use gxvalid.
-	* src/base/ftgxval.c: Public API of gxvalid.
-
-	New files under src/gxvalid/:
-
-	* src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
-	src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
-	src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
-	src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
-	src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
-	src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
-	src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
-	src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
-	src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
-	src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
-	src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
-	src/gxvalid/gxvtrak.c: New files, gxvalid body.
-
-2005-08-21  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
-	to (0,0) if bit 1 of the `head' table isn't set.  This improves
-	rendering of buggy fonts.
-
-2005-08-20  Chia I Wu  <[email protected]>
-
-	* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
-	ttmetrics here.  TrueType fonts with only sbits always have
-	ttmetrics.valid set to false.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
-	valid before loading outline glyph.
-
-	* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
-
-2005-08-20  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
-	`hhea' table for SFNT Mac fonts.  Change based on a patch by
-	[email protected].
-
-2005-08-20  Masatake YAMATO  <[email protected]>
-
-	* src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
-	of ft_setjmp.
-
-2005-08-19  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
-	warnings.
-
-2005-08-16  Chia I Wu  <[email protected]>
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
-	messages.
-
-2005-08-16  Chia I Wu  <[email protected]>
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
-	TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
-	with slight changes.
-	Update all callers.
-	(TT_New_Context): Now takes TT_Driver argument directly.
-	Update all callers.
-
-	* src/truetype/ttobjs.h (tt_slot_init): New function.
-	* src/truetype/ttobjs.c (tt_driver_init): Initialize execution
-	context here.
-	(tt_slot_init): New function to create extra points for the internal
-	glyph loader.  We then use it directly, instead of face's glyph
-	loader, when loading glyph.
-
-	* src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
-	glyph slot initialization.
-	(Load_Glyph): Load flag dependencies are handled here.  Return error
-	if size is NULL.
-
-	* src/truetype/ttgload.c: Heavy cleanup and refactoring.
-	(org_to_cur): Removed.
-	(TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
-	(TT_Hint_Glyph): New function to hint a zone, prepared by caller.
-	(TT_Process_Simple_Glyph): s/load/loader/.
-	Use loader->pp values instead of recalculation.
-	Use TT_Hint_Glyph.
-	No need to save/restore loader->stream before and after
-	TT_Vary_Get_Glyph_Deltas now.
-	(TT_LOADER_SET_PP): New macro to calculate and set the four phantom
-	points.
-	(load_truetype_glyph): Never set exec->glyphSize to 0.  This closes
-	Savannah bug #13107.
-	Forget glyph frame before calling TT_Process_Simple_Glyph.
-	Use TT_LOADER_SET_PP.
-	Scale all four phantom points.
-	Split off some functionality to ...
-	(TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
-	new functions.
-	(TT_Load_Glyph): Set various fields of `glyph' here, not in
-	load_truetype_glyph and compute_glyph_metrics.
-	Split off some functionality to ...
-	(load_sbit_image, tt_loader_init): These new functions.
-	(compute_glyph_metrics): Call FT_Outline_Get_CBox.
-
-2005-08-08  Werner Lemberg  <[email protected]>
-
-	* docs/INSTALL.ANY: Updated.
-
-2005-08-05  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_builder_close_contour),
-	src/psaux/psobjs.c (t1_builder_close_contour): Protect against
-	zero `outline' pointer.
-
-	* src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
-	`loader' address.
-
-2005-08-03  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
-	Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
-	to make X work again.
-
-2005-08-02  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/otvcommn.h: Remove dead code.
-
-2005-07-31  Chia I Wu  <[email protected]>
-
-	* src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
-	functions.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
-	functions.
-	(tt_size_init): Add 4, instead of 2, (phantom) points to twilight
-	zone.
-	Move code that runs fpgm to tt_size_run_fpgm.
-	(Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
-	(tt_glyphzone_new): Allocate right size of arrays.
-	Set max_points and max_contours properly.
-
-2005-07-26  Chia I Wu  <[email protected]>
-
-	* src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
-	computations and clean up.
-
-	* src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
-	internal copy of metrics.
-
-2005-07-12  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
-	Reported by Xerxes.
-
-2005-07-04  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
-	Reported by Brett Hutley.
-
-2005-06-30  David Turner  <[email protected]>
-
-	* src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
-	Removing compiler warnings (Visual C++ /W4).
-
-
-	Implement a work-around for broken C preprocessor in Visual C++ (it
-	has been confirmed by the MS developers that it is indeed a bug
-	which won't be fixed in the very near future).
-
-	* Jamfile (FT2_COMPONENTS): Include otvalid (again).
-
-	* src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
-	(OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
-	avoid argument expansion by argument prescan.
-	Append `Func' to all affected macros and change them to take just a
-	single argument.  Example: `AttachList' is renamed to
-	`AttachListFunc'.
-
-	* src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
-	src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
-	affected by the changes to OTV_NESTx and modify them to take just a
-	single argument.
-
-2005-06-20  Chia I Wu  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
-	ft_glyphslot_grid_fit_metrics.
-
-	* src/truetype/ttgload.c (compute_glyph_metrics): Use
-	ft_glyphslot_grid_fit_metrics.
-
-	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
-	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
-	ft_glyphslot_grid_fit_metrics.
-	FT_Outline_Get_CBox is called twice.
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
-	reasonable values when emboldening outline glyphs.  The theoretic
-	ones are unrealistic.
-
-2005-06-16  Chia I Wu  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
-	halved.
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
-	strength.
-	Don't increase slot->advance.y.
-
-2005-06-16  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.ac (version_info): Set to 9:9:3.
-	Currently, we are still binary compatible.
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
-
-	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
-	s/2.1.9/2.1.10/.
-
-	* docs/CHANGES, docs/VERSION.DLL: Updated.
-
-	* ChangeLog: Split off older entries into...
-	* ChangeLog.20, ChangeLog.21: These new files.
-
-2005-06-15  Kirill Smelkov  <[email protected]>
-
-	The next release will be 2.2.0, so don't worry about source code
-	backward compatibility.
-
-	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
-	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
-	FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
-	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
-	FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
-	parameters with `const' where appropriate.
-
-2005-06-15  Chia I Wu  <[email protected]>
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
-	to make glyphs centered vertically.
-
-	* src/truetype/ttgload.c (compute_glyph_metrics): Compute
-	vertBearingY to make glyphs centered vertically.
-	Fix some bugs in vertical metrics:
-
-	  . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
-	    units.
-	  . As we use the glyph's cbox to calculate the top bearing now
-	    there is no need to adjust `top'.
-
-2005-06-15  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
-	in sync with OTV_OPTIONAL_OFFSET.  Reported by YAMATO Masatake.
-
-2005-06-13  Werner Lemberg  <[email protected]>
-
-	* docs/release: Update.
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2005-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.23
+++ /dev/null
@@ -1,7948 +1,0 @@
-2010-02-13  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.12 released.
-	==========================
-
-
-	Tag sources with `VER-2-3-12'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.3.12.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
-
-	* builds/unix/configure.raw (version_info): Set to 10:0:4.
-
-2010-02-12  suzuki toshiya  <[email protected]>
-
-	Improve autotool version checking to work with beta releases.
-
-	* autogen.sh (check_tool_version): Improve the extraction of version
-	number from "tool --version" output.  Some beta releases of
-	autotools have extra strings before version number.
-
-2010-02-12  suzuki toshiya  <[email protected]>
-
-	Fix overallocating bug in FT_Outline_New_Internal().
-
-	* src/base/ftoutln.c (FT_Outline_New_Internal): The length of
-	FT_Outline->points[] should be numPoints, not 2 * numPoints.
-	Found by Paul Messmer, see
-	https://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
-
-2010-02-10  Ken Sharp  <[email protected]>
-
-	Really fix Savannah bug #28678 (part 2).
-
-	Since we consider `sbw' for the horizontal direction only, we still have
-	to synthesize vertical metrics if the user wants to use the vertical
-	writing direction.
-
-	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
-	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph):
-	Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is
-	set.
-
-2010-02-10  Ken Sharp  <[email protected]>
-
-	Really fix Savannah bug #28678 (part 1).
-
-	After long discussion, we now consider the character width vector
-	(wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
-	direction only.  For example, if you are using the horizontal
-	writing direction, you get the horizontal and vertical components of
-	the advance width for this direction.  Note that OpenType and CFF fonts
-	don't have such a vertical component; instead, the GPOS table can be
-	used to generate two-dimensional advance widths (but this isn't
-	handled by FreeType).
-
-	* include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
-	`advance_v' field to hold the vertical component of the advance
-	value.
-
-	* src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
-	(cff_slot_load), src/type1/t1gload.c
-	(T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
-	(cid_load_glyph): Use it.
-
-2010-02-08  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define.
-
-2010-02-04  suzuki toshiya  <[email protected]>
-
-	Prevent NULL pointer dereference passed to FT_Module_Requester.
-
-	* src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'.
-	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
-
-	* src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'.
-	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
-
-2010-01-29  suzuki toshiya  <[email protected]>
-
-	Fix memory leaks in previous patch.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings
-	allocated for face->root.family_name and style_name.
-
-2010-01-29  suzuki toshiya  <[email protected]>
-
-	New parameters for FT_Open_Face() to ignore preferred family names.
-
-	Preferred family names should be used for legacy systems that
-	can hold only a few faces (<= 4) for a family name. Suggested by
-	Andreas Heinrich.
-	https://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
-
-	* include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
-	FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and
-	ignore preferred family and subfamily names if requested.
-
-2010-01-27  Ken Sharp  <[email protected]>
-
-	Fix Savannah bug #28678.
-
-	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
-	(cid_load_glyph): Handle vertical metrics correctly.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle
-	vertical metrics correctly.
-	(T1_Load_Glyph): Don't synthesize vertical metrics.
-
-2010-01-14  Werner Lemberg  <[email protected]>
-
-	Make FT_Set_Transform work if no renderer is available.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation
-	if no renderer is compiled into the library.
-
-2010-01-14  Werner Lemberg  <[email protected]>
-
-	Fix compilation warning.
-
-	* src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
-	* src/base/ftobjs.c: Include ftbase.h conditionally.
-
-2010-01-11  Kwang Yul Seo  <[email protected]>
-
-	Provide inline assembly code for RVCT compiler.
-	This is Savannah patch #7059.
-
-	* include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER,
-	FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define.
-
-2010-01-08  Ken Sharp  <[email protected]>
-
-	Fix Savannah bug #28521.
-
-	Issue #28226 involved a work-around for a font which used the
-	`setcurrentpoint' operator in an invalid way; this operator is only
-	supposed to be used with the result of OtherSubrs, and the font used
-	it directly.  The supplied patch removed the block of code which
-	checked this usage entirely.
-
-	This turns out to be a Bad Thing.  If `setcurrentpoint' is being
-	used correctly it should reset the flex flag in the decoder.  If we
-	don't do this then the flag never gets reset and we omit any further
-	contours from the glyph (at least until we close the path or
-	similar).
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_setcurrentpoint>: Handle `flex_state' correctly.
-
-2010-01-05  Werner Lemberg  <[email protected]>
-
-	Apply reports from clang static analyzer.
-
-	* src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
-	(FT_Stroker_ParseOutline), src/base/ftsynth.c
-	(FT_GlyphSlot_Embolden): Remove dead code.
-
-	* src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
-	`offset_i' and `length_i'.
-
-2010-01-05  Ralph Giles  <[email protected]>
-
-	Enable the incremental font interface by default.
-
-	Ghostscript requires the incremental font interface for handling
-	some Postscript documents.  It is moving to using FreeType as its
-	primary renderer; supporting this in the default build makes it
-	Ghostscript to be linked against the system FreeType when one is
-	available.
-
-	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
-	Uncomment.
-
-2010-01-05  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #28395.
-
-	* src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
-	(T1_Load_Glyph): Don't check `num_glyphs' if incremental interface
-	is used.
-
-2010-01-05  Ken Sharp  <[email protected]>
-
-	Make Type 1 `seac' operator work with incremental interface.
-	This fixes Savannah bug #28480.
-
-	* src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names'
-	if incremental interface is used.
-
-2010-01-04  Ken Sharp  <[email protected]>
-
-	Make incremental interface work with TrueType fonts.
-	This fixes Savannah bug #28478.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Don't check
-	`glyf_offset' if incremental interface is used.
-
-2009-12-31  Lars Abrahamsson  <[email protected]>
-
-	Make compilation with FT_CONFIG_OPTION_PIC work again.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]:
-	Declare `library' for FT_BITMAP_GLYPH_CLASS_GET.
-
-	* src/base/ftinit.c (ft_destroy_default_module_classes,
-	ft_create_default_module_classes): Use proper casts (needed for C++
-	compilation).
-
-	* src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP.
-
-2009-12-22  Marc Kleine-Budde  <[email protected]>
-
-	Make freetype-config aware of $SYSROOT.
-	This is Savannah patch #7040.
-
-	* builds/unix/freetype-config.in: Decorate with ${SYSROOT} where
-	appropriate.
-
-2009-12-20  Werner Lemberg  <[email protected]>
-
-	Fix compiler warning.
-	Reported by Sean.
-
-	* src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty
-	source files; however, some compilers warn about an unused variable
-	declaration.  This is now replaced with a typedef.
-
-2009-12-18  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #28320.
-
-	There exist corrupt, subsetted fonts (embedded in PDF files) which
-	contain a private dict that ends with an unterminated floating point
-	number (no operator following).  We now ignore this error (as
-	acrobat does).
-
-	* src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
-	unterminated floating point numbers.
-
-2009-12-16  Werner Lemberg  <[email protected]>
-
-	Really fix compiler warnings.
-	Reported by Sean.
-
-	* src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS,
-	GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros.
-
-2009-12-16  suzuki toshiya  <[email protected]>
-
-	Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
-	The linker of Mac OS X 10.6 is sensitive to the architecture.  If
-	the architectures are specified explicitly for the C compiler, the
-	linker requires the architecture specifications too.
-
-	* builds/unix/configure.raw: Replace `-isysroot' option parser by
-	more generic argument parser.
-
-2009-12-15  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-	Reported by Sean.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data
-	type.
-
-2009-12-14  Ken Sharp  <[email protected]>
-
-	Ignore invalid `setcurrentpoint' operations in Type 1 fonts.
-	This fixes Savannah bug #28226.
-
-	At least two wild PostScript files of unknown provenance contain
-	Type 1 fonts, apparently converted from TrueType fonts in earlier
-	PDF versions of the files, which use the `setcurrentpoint' operator
-	inappropriately.
-
-	FreeType currently throws an error in this case, but Ghostscript and
-	Adobe Distiller both accept the fonts and ignore the problem.  This
-	commit #ifdefs out the check so PostScript interpreters using
-	FreeType can render these files.
-
-	The specification says `setcurrentpoint' should only be used to set
-	the point after a `Subr' call, but these fonts use it to set the
-	initial point to (0,0).  Unnecessarily so, as they correctly use an
-	`hsbw' operation which implicitly sets the initial point.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_setcurrentpoint>: Comment out code.
-
-2009-12-14  Bram Tassyns  <[email protected]>
-
-	Fix parsing of /CIDFontVersion.
-	This fixes Savannah bug #28287.
-
-	* src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in
-	t1tables.h) is of type FT_Fixed.
-
-2009-12-14  Werner Lemberg  <[email protected]>
-
-	Trace glyph index in CID module.
-	Suggested in Savannah patch #7023.
-
-	* src/cid/cidgload.c (cid_load_glyph): Add tracing message.
-
-2009-12-03  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-
-	* src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
-	proper preprocessor conditional.
-	* src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
-
-2009-11-25  John Tytgat  <[email protected]>
-
-	Better handling of start of `eexec' section.
-	This fixes Savannah bug #28090.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace
-	characters before start of `eexec' section.
-
-2009-11-20  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #27742.
-
-	* src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by
-	zero, using a threshold for `theta'.
-
-2009-11-20  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #28036.
-
-	* src/type1/t1afm.c (t1_get_index): Fix comparison.
-
-2009-11-16  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-	Reported by Kevin Blenkinsopp <[email protected]>.
-
-	* src/sfnt/ttload.c (check_table_dir): Use proper data type.
-
-2009-11-15  Werner Lemberg  <[email protected]>
-
-	Really fix FreeDesktop bug #21197.
-	This also fixes Savannah bug #28021.
-
-	* src/autofit/aflatin.c (af_latin_metrics_check_digits),
-	src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop.
-
-2009-11-15  Werner Lemberg  <[email protected]>
-
-	Add tracing messages for advance values.
-
-	* src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
-	(TT_Get_HMetrics, TT_Get_VMetrics): Do it.
-
-2009-11-08  Werner Lemberg  <[email protected]>
-
-	Fix compiler warning.
-	Reported by Jeremy Manson <[email protected]>.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
-
-2009-11-04  Werner Lemberg  <[email protected]>
-
-	Remove compiler warning.
-	Reported by Sean McBride <[email protected]>.
-
-	* src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to
-	`int', as specified in the printf(3) man page.
-
-2009-11-04  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #27921.
-
-	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
-	(cid_face_init), src/type1/t1afm.c (T1_Read_Metrics),
-	src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant
-	values for rounding if the argument can be negative.
-
-2009-11-03  Bram Tassyns  <[email protected]>
-
-	Add basic support for Type1 charstrings in CFF.
-	This fixes Savannah bug #27922.
-
-	* src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle
-	`seac', `sbw', and `setcurrentpoint' opcodes.
-	(cff_compute_bias): Add parameter to indicate the charstring type.
-	Update all callers.
-	(cff_operator_seac): Add parameter for side bearing.
-	(cff_decoder_parse_charstrings): Updated for more Type1 support.
-
-2009-11-03  Werner Lemberg  <[email protected]>
-
-	Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
-	Reported by Jeremy Manson <[email protected]>.
-
-	src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
-	quickly load the glyph header only.
-	Update all callers.
-	(tt_loader_init): Add parameter to quickly load the `glyf' table
-	only.
-	Update all callers.
-	(TT_Load_Glyph): Compute linear advance values for embedded bitmap
-	glyphs too.
-
-2009-11-03  Werner Lemberg  <[email protected]>
-
-	Improve code readability.
-
-	* src/ttgload.c (load_truetype_glyph): Move metrics calculation
-	to...
-	(tt_get_metrics): This new function.
-
-2009-10-26  Bram Tassyns  <[email protected]>
-
-	Fix Savannah bug #27811.
-
-	* src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix
-	signed/unsigned mismatch.
-
-2009-10-19  Ning Dong  <[email protected]>
-
-	Fix handling of `get' and `put' CFF instructions.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get,
-	cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of
-	elements for the `get' and `put' operators to 32.
-	* src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define.
-	(CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'.
-
-2009-10-18  Werner Lemberg  <[email protected]>
-
-	Fix handling of `dup' CFF instruction.
-	Problem and solution reported by Ning Dong <[email protected]>.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>:
-	Increase `args' by 2, not 1.
-
-2009-10-10  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.11 released.
-	==========================
-
-
-	Tag sources with `VER-2-3-11'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.3.11.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
-
-	* builds/unix/configure.raw (version_info): Set to 9:22:3.
-
-2009-10-10  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES, docs/release: Updated.
-
-2009-10-10  suzuki toshiya  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
-	truncation.  Reported by Martin von Gagern and Peter Volkov.
-	https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
-
-2009-10-06  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.10 released.
-	==========================
-
-
-	Tag sources with `VER-2-3-10'.
-
-	* builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
-	than a single digit.
-	(dist): We now use git.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.3.10.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
-
-	* builds/unix/configure.raw (version_info): Set to 9:21:3.
-
-2009-10-06  Werner Lemberg  <[email protected]>
-
-	Fix `make multi'.
-
-	* src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
-
-	* src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
-
-2009-09-27  suzuki toshiya  <[email protected]>
-
-	[cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
-	Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed.
-	Now these functions should be called with FTC_Node or FTC_MruNode
-	variable, and the caller should cast them to appropriate pointers to
-	concrete data.  These tricky casts can GCC-4.4 optimizer (-O2)
-	confused and the crashing binaries are generated.
-
-	* src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast.
-	Now the 4th argument `node' of this function should be typed as
-	FTC_MruNode.
-
-	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
-	implementation, new temporal variable FTC_MruNode `_mrunode' to take
-	the pointer from FTC_MRULIST_LOOKUP_CMP().  For non-inline
-	implementation, tricky cast is dropped.
-
-	* src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
-	to FTC_SizeNode.
-	(FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
-	`mrunode', and FTC_SIZE_NODE() is inserted.
-	(FTC_FACE_NODE): New macro casting to FTC_FaceNode.
-	(FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
-	`mrunode', and FTC_FACE_NODE() is inserted.
-
-	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
-	`node' from FTC_INode to FTC_Node.  Extra casting macro FTC_NODE()
-	is dropped.
-	(FTC_ImageCache_LookupScaler): Ditto.
-	(FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
-	FTC_Node.  Extra casting macro FTC_NODE() is dropped.  FTC_SNODE()
-	is inserted.
-	(FTC_SBitCache_LookupScaler): Ditto.
-
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
-	`node' from FTC_CMapNode to FTC_Node.  Extra casting macro
-	FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
-
-2009-09-25  suzuki toshiya  <[email protected]>
-
-	[cache, psaux, type1] Fix for multi build.
-	In multi build, some cpp functions are left as unresolved symbols.
-
-	* src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
-
-	* src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
-	FIXED_TO_INT().
-	* src/type1/t1gload.c: Ditto.
-	* src/type1/t1objs.c: Ditto.
-
-2009-09-25  suzuki toshiya  <[email protected]>
-
-	[autofit] Fix for multi build.
-
-	* src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
-	FT_DECLARE_MODULE() macro in multi build.
-
-	* src/autofit/aflatin.c: Include <ft2build.h> to handle
-	FT_ADVANCES_H correctly in multi build.
-
-2009-09-24  suzuki toshiya  <[email protected]>
-
-	[cache] Check the face filled by FTC_Manager_LookupFace().
-
-	* src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
-	immediately if FTC_Manager_LookupFace() fills face by NULL.  Such
-	case can occur when the code is optimized by GCC-4.2.x.
-
-2009-09-23  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2009-09-12  Werner Lemberg  <[email protected]>
-
-	[raster] Fix 5-levels grayscale output.
-	This was broken since version 2.3.0.
-
-	* src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
-	were then computed dynamically).
-	(Vertical_Gray_Sweep_Step): Updated.
-
-	(ft_black_render): Initialize `worker->gray_lines' (problem found by
-	valgrind).
-
-	(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Don't #undef, just
-	comment out.
-
-2009-09-12  suzuki toshiya  <[email protected]>
-
-	Improve configure.raw for cross build.
-
-	* builds/unix/configure.raw: Remove temporal files created by the
-	suffix checking for CC_BUILD.  Set XX_ANSIFLAGS and XX_CFLAGS when
-	cross compiler is GCC.  AC_PROG_CC checks whether the cross compiler
-	is GCC, its result is stored in GCC.
-
-2009-09-12  suzuki toshiya  <[email protected]>
-
-	[BDF] Modify hash API to take size_t value instead of void *.
-
-	The hash API in BDF driver is designed to be generic, it takes
-	void * typed data.  But BDF driver always gives an unsigned long
-	integer (the index to a property).  To reduce non-essential
-	casts from unsigned long to void* and from void* to unsigned
-	long, the hash API is changed to take size_t integer.
-	The issue of incompatible cast between unsigned long and void*
-	on LLP64 platform is reported by NightStrike from MinGW-Win64
-	project.  See
-	https://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
-
-	* src/bdf/bdf.h: The type of hashnode->data is changed from
-	void* to size_t.
-
-	* src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
-	void* data.
-	(bdf_create_property): Get the name length of new property by
-	size_t variable, with a cut-off at FT_ULONG_MAX.
-	(_bdf_set_default_spacing): Get the name length of the face by
-	size_t variable, with a cut-off at 256.
-	(bdf_get_property): Get the property id by size_t variable to
-	reduce the casts between 32-bit prop ID & hashnode->data during
-	simple copying.
-	(_bdf_add_property): Ditto.
-	(_bdf_parse_start): Calculate the index to the property array
-	by size_t variable.
-	(bdf_get_font_property): Drop a cast to unsigned long.
-
-2009-09-10  suzuki toshiya  <[email protected]>
-
-	[Win64] Improve the computation of random seed from stack address.
-
-	On LLP64 platform, the conversion from pointer to FT_Fixed need
-	to drop higher 32-bit.  Explicit casts are required. Reported by
-	NightStrike from MinGW-w64 project.  See
-	https://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
-
-	* src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
-
-	* src/psaux/t1decode.c: Ditto.
-
-
-2009-09-03  Werner Lemberg  <[email protected]>
-
-	[raster] Improvements for stand-alone mode.
-
-	* src/raster/rules.mk: Don't handle ftmisc.h.  It is needed for
-	stand-alone mode only.
-
-	* src/raster/ftmisc.h (FT_MemoryRec, FT_Alloc_Func, FT_Free_Func,
-	FT_Realloc_Func): Copy declarations from ftsystem.h.
-
-2009-09-02  Bram Tassyns  <[email protected]>
-
-	Improve vertical metrics calculation (Savannah bug #27364).
-
-	The calculation of `vertBearingX' is not defined in the OTF font
-	spec so FreeType does a `best effort' attempt.  However, this value
-	is defined in the PDF and PostScript specs, and that algorithm is
-	better than the one FreeType currently uses:
-
-	  FreeType: Use the middle of the bounding box as the X coordinate
-	            of the vertical origin.
-
-	  Adobe PDF spec: Use the middle of the horizontal advance vector as
-	                  the X coordinate of the vertical origin.
-
-	FreeType's algorithm goes wrong if you have a really small glyph
-	(like the full-width, circle-like dot at the end of the sentence, as
-	used in CJK scripts) with large bearings.  With the FreeType
-	algorithm this dot gets centered on the baseline; with the PDF
-	algorithm it gets the correct location (in the top right).  Note
-	that this is a serious issue, it's like printing the dot at the end
-	of a Roman sentence at the center of the textline instead of on the
-	baseline like it should. So i believe the PDF spec's algorithm
-	should be used in FreeType as well.
-
-	The `vertBearingY' value for such small glyphs is also very strange
-	if no `vmtx' information is present, since the height of the bbox is
-	not representable for the height of the glyph visually (the
-	whitespace up to the baseline is part of the glyph).  The fix also
-	includes some code for a better estimate of `vertBearingY'.
-
-	* src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
-	is now calculated as described by the Adobe PDF Spec.  Estimate for
-	`vertBearingY' now works better for small glyphs completely above or
-	below the baseline into account.
-
-	* src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
-	calculated as described by the Adobe PDF Spec.  Vertical metrics
-	information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
-	was not defined.
-
-	* src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
-	now calculated as described by the Adobe PDF Spec.
-
-2009-09-01  John Tytgat  <[email protected]>
-
-	Fix custom cmap for empty Type 1 font (Savannah bug #27294).
-
-	* include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
-	comment to reflect revised code_last meaning.
-	* src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
-	(T42_Open_Face): Assign max_char as highest character code + 1 and
-	use this for T1_EncodingRecRec_::code_last.
-	* src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
-	T1_EncodingRecRec_::code_last meaning.
-
-2009-08-25  Werner Lemberg  <[email protected]>
-
-	Fix rendering of horizontally compressed CFFs.
-	Bug reported by Ivan Nincic <[email protected]>.
-
-	* src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
-	`font_matrix' also.
-
-	* docs/CHANGES: Updated.
-
-2009-08-03  [email protected]
-
-	Don't call `ft_fseek' every time when executing `ft_fread'.
-
-	* src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
-	(ft_ansi_stream_io): Implement it.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
-
-	* src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
-	tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
-	tt_cmap14_variant_chars): Correct mismatches from
-	FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
-	are replaced by FT_UInt32 arguments.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
-
-	* src/sfnt/ttcmap.c (tt_cmap12_char_next):
-	Insert explicit cast from FT_UFast to FT_UInt32
-	for return value.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	psaux: Fix a few casts to FT_Int32 value.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
-	Fix a few casts setting `value' from FT_Long to FT_Int32,
-	because `value' is typed as FT_Int32 since 2009-06-22.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Fix a data type mismatching with its source.
-
-	* src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
-	type of `gindex' from FT_ULong to FT_UInt because
-	it is set by FT_UInt tt_cmap13_char_map_binary() or
-	TT_CMap13->cur_gindex.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Extend a few local variables to load 32-bit values.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
-	and `kern' to load 32-bit values.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pfr: Extend `num_aux' to take 32-bit value.
-
-	* src/pfr/pfrload.c (pfr_phy_font_load): Extend
-	`num_aux' to load 32-bit value.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
-
-	* src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
-	as FT_ULong value from PCF file, but truncate it as
-	int to fit PCF_Face->nprops.  The number of truncated
-	properties is shown in the trace message.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Extend a few local variables to reduce the casts.
-
-	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
-	Extend `type' and `rest' to take FT_ULong values.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Extend `settingTable' to take 32-bit offset.
-
-	* src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
-	Extend `settingTable' to take 32-bit offset.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
-
-	* src/autofit/afglobal.c (af_face_globals_is_digit,
-	af_face_globals_compute_script_coverage): Cast FT_Long
-	globals->glyph_count to FT_ULong, to compare with FT_UInt
-	gindex.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	smooth: Exclude 16-bit system in invalid pitch/height check.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic):
-	pitch and height are typed as FT_UInt but checked to fit
-	16-bit range, to avoid the overflows.  On 16-bit system,
-	this checking inserts a conditional that never occurs.
-
-2009-07-03  suzuki toshiya  <[email protected]>
-
-	cff: Type large constants > 0x7FFF as long for 16-bit systems.
-
-	* src/cff/cffload.c (cff_charset_load): Type large
-	constants > 0x7FFF as long, because normal constants
-	are typed signed integer that is less than 0x8000 on
-	16-bit systems.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	base: Remove an unused variable.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
-	unused variable `library'.  glyph->library is used.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Check higher bits in flags for non ILP32 systems.
-
-	4 public functions ought to take FT_ULong flags, but take
-	FT_UInt flags. To keep binary compatibility, we drop higher
-	bits on non ILP32 platforms,
-		ILP64 systems: No drop occurs.
-		LP64 systems: Higher bits are not used.
-		16-bit systems: Drop can occur.
-	See
-	https://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
-	These functions will be refined to take FT_ULong flags in
-	next bump with incompatible API change.
-
-	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
-	Check `flags' in `type', the 2nd argument.
-	(FTC_SBitCache_Lookup): Ditto.
-	(FTC_ImageCache_LookupScaler): Check `load_flags',
-	the 3rd argument.
-	(FTC_SBitCache_LookupScaler): Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Ignore invalid GIDs in glyph name lookup.
-
-	* include/freetype/internal/fttrace.h:
-	New trace module for sfdriver.c is added.
-
-	* src/sfnt/sfdriver.c (sfnt_get_name_index):
-	Restrict glyph name lookup to FT_UInt GID.
-	Genuine TrueType can hold 16-bit glyphs.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Fix a comparison between FT_Long and FT_ULong.
-
-	* src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
-	if PCF_Face->nmetrics is negative.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
-
-	* src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
-	Extend the 3rd argument `nFeatureFlags' to FT_ULong.
-	* src/gxvalid/gxvmort.h: Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Insert explicit cast for LP64 system.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Insert
-	cast from unsigned long to FT_UInt32.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Guarantee `just' table size upto 32-bit.
-
-	* src/gxvalid/gxvjust.c (gxv_just_validate):
-	The type of `offset' is changed from FT_UInt to
-	FT_Offset, for 16-bit platforms.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Guarantee `trak' table size upto 32-bit.
-
-	* src/gxvalid/gxvtrak.c (gxv_trak_validate):
-	The type of `offset' is changed from FT_UInt to
-	FT_Offset, for 16-bit platforms.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	type1: Fix a data type mismatching with its source.
-
-	* include/freetype/internal/t1types.h: The type of
-	T1_Face->buildchar is matched with T1_Decoder->top.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pfr: Fix a data type mismatching with its source.
-
-	* src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
-	is extended from FT_UInt32 to FT_Offset, because it is
-	calculated with the pointer difference, in
-	pfr_extra_item_load_kerning_pairs().
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pfr: Fix a data type mismatching with its source.
-
-	* src/pfr/pfrtypes.h: The type of PFR_PhyFont->chars_offset
-	is extended from FT_UInt32 to FT_Offset, because it is
-	calculated with the pointer difference in pfr_phy_font_load().
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pfr: Fix a data type mismatching with its source.
-
-	* src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
-	is extended from FT_UInt32 to FT_Long, because it is
-	loaded by FT_STREAM_POS() in pfr_phy_font_load().
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	smooth: Improve the format in debug message.
-
-	* src/smooth/ftgrays.c (gray_dump_cells): Improve the
-	format specifications to dump variables.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Fix a data type mismatching with its source.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): The type of
-	local `flags' is matched with FT_Face->face_flags.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	psaux: Fix a data type mismatching with its source.
-
-	* include/freetype/internal/psaux.h: The type of
-	T1_DecoderRec.buildchar is matched with
-	T1_DecoderRec.top.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Extend TrueType GX packed deltas to FT_Offset.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
-	The type of 2nd argument `delta_cnt' is changed from
-	FT_Int to FT_Offset, because its source can be cvt
-	table size calculated from stream position.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Extend mmvar_len to hold size_t values.
-
-	* src/truetype/ttgxvar.h: The type of
-	GX_BlendRec.mmvar_len is changed from FT_Int to
-	FT_Offset, because TT_Get_MM_Var() calculates it
-	by sizeof() results.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Check invalid function number in IDEF instruction.
-
-	* src/truetype/ttinterp.c (Ins_IDEF): Check
-	if the operand fits to 8-bit opcode limitation.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Check invalid function number in FDEF instruction.
-
-	* src/truetype/ttinterp.c (Ins_FDEF): Check
-	if the operand fits 16-bit function number.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Truncate the deltas of composite glyph at 16-bit values.
-
-	* src/truetype/ttgload.c (load_truetype_glyph):
-	Insert cast from FT_Long (deltas[i].{x,y}) to
-	FT_Int16 in the summation of deltas[] for composite
-	glyphs.  Because deltas[i] is typed as FT_Pos,
-	its component x, y are typed as FT_Long, but
-	their sources are always FT_Int16 when they are
-	loaded by ft_var_readpackeddeltas().  However,
-	the limitation about the summed deltas is unclear.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Truncate the instructions upto 16-bit per a glyph.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
-	the instructions upto 16-bit length per a glyph.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Cast the numerical operands to 32-bit for LP64 systems.
-
-	* src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
-	Ins_MIRP): Insert cast from long (args[], the
-	operands passed to TrueType operator) to FT_Int32
-	(the argument of TT_MulFix14()).
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Cast the project vector to 32-bit for LP64 system.
-
-	* src/truetype/ttinterp.c (Project, DualProject):
-	Insert casts from FT_Pos (the arguments `dx', `dy')
-	to FT_UInt32 (the argument to TT_DotFix14()).
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Cast the scaling params to 32-bit for LP64 system.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component):
-	Insert casts from long (return value of FT_MulFix()) to
-	FT_Int32 (the argument to FT_SqrtFixed()).
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Cast a character code to FT_UInt32 for LP64 system.
-
-	* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
-	tt_cmap14_variants, tt_cmap14_char_variants,
-	tt_cmap14_def_char_count, tt_cmap14_get_def_chars,
-	tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars)
-	Insert casts when FT_UInt32 variable is loaded by
-	TT_NEXT_{UINT24|ULONG}.  Because most of them are
-	compared with FT_UInt32 values in public API, replacing
-	FT_UFast is not recommended.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Cast a character code to FT_UInt32 for LP64 system.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
-	Insert the casts from unsigned long constant to
-	FT_UInt32.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
-
-	* include/freetype/internal/tttypes.h: The type
-	of TT_BDF->string_size is extended from FT_UInt32
-	to FT_ULong, because BDF specification does not
-	restrict the length of string.
-	* src/sfnt/ttbdf.c: The scratch variable `strings'
-	to load TT_BDF->string_size is matched with
-	TT_BDF->string_size.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	psaux: Handle the string length by FT_Offset variables.
-
-	* src/psaux/afmparse.c (afm_parser_next_key,
-	afm_tokenize, afm_parse_track_kern,
-	afm_parse_kern_pairs, afm_parse_kern_data,
-	afm_parser_skip_section, afm_parser_parse):
-	The length of key is handled by FT_Offset,
-	instead of FT_UInt.  Although the length of
-	PostScript strings or name object is 16-bit,
-	AFM_STREAM_KEY_LEN() calculates the length
-	from the pointer difference.
-
-	* src/psaux/afmparse.h (afm_parser_next_key):
-	Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Fix some data types mismatching with their sources.
-
-	* src/pcf/pcfread.c (pcf_get_bitmaps): The types
-	of `nbitmaps', `i', `sizebitmaps' are matched with
-	the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Handle the string length by size_t variables.
-
-	* src/pcf/pcfread.c (pcf_interpret_style): The types
-	of nn, len, lengths[4] are changed to size_t, because
-	they are loaded by (or compared with) ft_strlen().
-
-	* src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
-	FourByteSwap): The type of the 2nd argument `nbytes'
-	is changed to size_t, for similarity with ANSI C
-	string functions.
-
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
-	`bytes' is changed to FT_Offset, because it is passed
-	to FT_ALLOC(), via ft_glyphslot_alloc_bitmap().  At
-	least, using unsigned type is better.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Fix some data types mismatching with their sources.
-
-	* src/pcf/pcfread.c (pcf_seek_to_table_type,
-	pcf_has_table_type): The type of 3rd argument
-	`ntables' is matched with PCF_Toc->count.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	otvalid: Truncate the glyph index to 16-bit.
-
-	* src/otvalid/otvalid.c (otv_validate): Checks
-	face->num_glyphs does not exceed 16-bit limit,
-	pass FT_UInt num_glyphs to backend functions
-	otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Insert explicit casts for LP64 systems.
-
-	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
-	FTC_SBitCache_Lookup): The type of FTC_ImageType->width
-	is FT_Int, so the cast to unsigned larger type FT_ULong
-	is introduced for the comparisons with 0x10000L for
-	LP64 platform.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Fix some data types mismatching with their sources.
-
-	* src/cache/ftccache.h: The type of return value
-	by FTC_Node_WeightFunc function is changed to
-	FT_Offset.  The type of FTC_CacheClass->cache_size
-	is changed to FT_Offset, too.
-
-	* src/cache/ftccback.h (ft_inode_weight,
-	ftc_snode_weight): Ditto.
-
-	* src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
-
-	* src/cache/ftcimage.c (ftc_inode_weight,
-	FTC_INode_Weight): Ditto.
-
-	* src/cache/ftcsbits.c (ftc_snode_weight,
-	FTC_SNode_Weight): Ditto.
-
-	* src/cache/ftcmru.h: The type of
-	FTC_MruListClass->node_size is changed to FT_Offset,
-	because it is passed to FT_ALLOC() to specify the
-	size of buffer.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	XXX_cmap_encoding_char_next() return FT_UInt32 values.
-
-	* include/freetype/internal/services/svpscmap.h:
-	The size of the charcode value returned by
-	the function typed PS_Unicodes_CharNextFunc is
-	matched with its input charcode value.
-
-	* src/cff/cffmap.c (cff_cmap_encoding_char_next,
-	cff_cmap_unicode_char_next): Ditto.
-
-	* src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
-	Ditto.
-
-	* src/psaux/t1cmap.c (t1_cmap_std_char_next,
-	t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
-	Ditto.
-
-	* src/psnames/psmodule.c (ps_unicodes_char_next):
-	Ditto.
-
-	* src/winfonts/winfnt.c (fnt_cmap_char_next):
-	Ditto.
-
-	* src/sfnt/ttcmap.c (tt_cmap0_char_next,
-	tt_cmap2_char_next, tt_cmap4_char_next,
-	tt_cmap6_char_next, tt_cmap10_char_next,
-	tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
-	(tt_cmap14_char_variants): Handle base unicode
-	codepoint by FT_UInt32 variable to avoid overflow
-	on 16-bit platforms.
-	(tt_cmap14_ensure): The type of `num_results' is
-	extend to FT_UInt32, to cover unsigned 32-bit
-	`numVarSelectorRecords' in cmap14 table header.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	truetype: Extend TT_Face->num_locations for broken TTFs.
-
-	* include/freetype/internal/tttypes.h:
-	TT_Face->num_locations are extended from FT_UInt
-	to FT_ULong, to stand with broken huge loca table.
-	Some people insists there are broken TTF including
-	the glyphs over 16-bit limitation, in PRC market.
-	* src/truetype/ttpload.c (tt_face_load_loca):
-	Remove unrequired 16-bit truncation for FT_UInt
-	TT_Face->num_locations.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	smooth: Fix some data types mismatching with their sources.
-
-	* src/smooth/ftgrays.c: The type of `TCoord' is
-	matched to `TPos', because they are mixed in
-	gray_set_cell().  The type of TCell->x is extended
-	to `TPos', because gray_find_cell() sets it by
-	TWorker.ex.  The type of TCell->cover is extended
-	to `TCoord', because gray_render_scanline() adds
-	TCoord value to it.  The type of TWork.cover is matched
-	with TCell->cover.  The types of
-	TWork.{max_cells,num_cells} are changed to FT_PtrDist,
-	because they are calculated from the memory addresses.
-	The type of TWork.ycount is changed to TPos, because
-	it is calculated from TPos variables.
-	(gray_find_cell): The type of `x' is matched with
-	its initial value ras.ex.
-	(gray_render_scanline): The types of `mod', `lift'
-	and `rem' are changed to TCoord, because their values
-	are set with explicit casts to TCoord.  When ras.area
-	is updated by the differential values including
-	`delta', they are explicitly cast to TArea, because
-	the type of `delta' is not TArea but TCoord.
-	(gray_render_line): The type of `mod' is extended
-	from int to TCoord, because (TCoord)dy is added to mod.
-	(gray_hline): The argument `acount' is extended to
-	TCoord, to match with the parameters in the callers.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cff: Fix some data types mismatching with their sources.
-
-	* src/cff/cffobjs.c (cff_face_init): The type of
-	`scaling' is matched with the scaling parameter
-	in FT_Matrix_Multiply_Scaled() and
-	FT_Vector_Transform_Scaled().
-
-	* src/cff/cffparse.c (cff_parse_real): The type of
-	`power_ten', `scaling', `exponent_add',
-	`integer_length', `fraction_length',
-	`new_fraction_length' and `shift' are matched with
-	the type of `exponent' to avoid unexpected truncation.
-	(cff_parse_fixed_scaled): The type of `scaling' is
-	matched with the `scaling' argument to
-	cff_parse_real().
-	(cff_parse_fixed_dynamic): Ditto.
-	(cff_parse_font_matrix): The type of `scaling' is
-	matched with the `scaling' argument to
-	cff_parse_dynamic().
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	autofit: Fix some data types mismatching with their sources.
-
-	* src/autofit/afglobal.c: Correct the type of
-	AF_FaceGlobalsRec.glyph_count to match with
-	FT_Face->num_glyphs.
-	(af_face_globals_compute_script_coverage):
-	Insert explicit cast to compare
-	FT_Long AF_FaceGlobalsRec.glyph_count versus
-	FT_UInt gindex.  The type of `nn' is changed
-	to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
-	(af_face_globals_get_metrics): The type of `script_max'
-	is changed to cover size_t value.  Insert explicit cast
-	to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
-	FT_UInt gindex.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment):
-	Insert explicit cast to calculate `big_max' from
-	integer and size_t values.
-	(af_axis_hints_new_edge): Ditto.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues):
-	The type of `best_y' is matched to FT_Vector.y.
-	(af_latin_compute_stem_width): The type of `delta' is
-	matched to `dist' and `org_dist'.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	autofit: Count the size of the memory object by ptrdiff_t.
-
-	* src/autofit/afcjk.c (af_cjk_hint_edges): The
-	number of edges `n_edges' should be counted by
-	FT_PtrDist variable instead of FT_Int.
-
-	* src/autofit/aflatin.c (af_latin_hint_edges):
-	Ditto.
-
-	* src/autofit/aftypes.h: In AF_ScriptClassRec,
-	the size of metric `script_metrics_size' should
-	be counted by FT_Offset variable instead of FT_UInt.
-
-	* src/autofit/afhints.c
-	(af_glyph_hints_align_strong_points): The cursors
-	for the edges `min', `max', `mid' in the memory
-	buffer should be typed FT_PtrDist.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	autofit: Fix for unused variable `first'.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Insert
-	FT_UNUSED() to hide the unused variable warning.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	Improve bitmap size or pixel variables for 16-bit systems.
-
-	* include/freetype/config/ftstdlib.h: Introduce
-	FT_INT_MIN, to use in signed integer overflow in
-	16-bit and 64-bit platforms.
-
-	* include/freetype/internal/fttrace.h: Add a tracer
-	to ftsynth.c.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
-	invalid strength causing integer overflow on 16-bit
-	platform.
-
-	* src/base/ftcalc.c (ft_corner_orientation): Change
-	the internal calculation from FT_Int to FT_Long, to
-	avoid an overflow on 16-bit platforms.  The caller of
-	this function should use only the sign of result,
-	so the cast to FT_Int is acceptable.
-
-	* src/base/ftsynth.c: Introduce a tracer for synth module.
-	(FT_GlyphSlot_Embolden): Check invalid strength causing
-	integer overflow on 16-bit platform.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
-	in FT2 API is typed as FT_UInt, although BDF driver
-	can handle unsigned long glyph index internally.  To
-	avoid integer overflow on 16-bit platform, too large
-	glyph index should be excluded.
-	(BDF_Glyph_Load): The glyph pitch in FT2 is typed as
-	FT_UInt, although BDF driver can handle unsigned long
-	glyph pitch internally.  To avoid integer overflow on
-	16-bit platform, too large glyph pitch should not be
-	returned.
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
-	pitch in FT2 is typed as FT_UInt, although PFR font
-	format can include huge bitmap glyph with 24-bit pitch
-	(however, a glyph spends 16.7 pixel, it's not realistic).
-	To avoid integer overflow on 16-bit platform, huge
-	bitmap glyph should be excluded.
-
-	* src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
-	truncated to fit its type (16-bit short), FT_Span.y
-	should be truncated to fit its type (FT_Int).
-
-	* src/cff/cffdrivr.c (cff_get_ros): CFF specification
-	defines the supplement in ROS as a real number.
-	Truncate it to fit public FT2 API.
-
-	* src/cff/cffparse.c (cff_parse_cid_ros): Warn the
-	supplement if it is truncated or rounded in cff_get_ros().
-
-	* src/cff/cfftypes.h: Change the type of internal variable
-	`supplement' from FT_Long to FT_ULong to fit the signedness
-	to the type in public API.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	psaux: Prevent invalid arguments to afm_parser_read_vals().
-
-	* src/psaux/afmparse.c (afm_parser_read_vals): Change
-	the type of `n' to prevent negative number how many
-	arguments should be parsed.
-
-	* src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	base: Prevent some overflows on LP64 systems.
-
-	* src/base/ftadvanc.c (FT_Get_Advances): Cast the
-	unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
-	for LP64 platforms.
-
-	* src/base/ftcalc.c (FT_Sqrt32): All internal variables
-	are changed to FT_UInt32 from FT_ULong.
-	(FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
-	This function is designed for 32-bit integer, although
-	their arguments and return value are FT_Long.
-
-	* src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
-	is within unsigned 32-bit integer for LP64 platforms.
-	(FT_Face_GetCharVariantIndex): Check `charcode' and
-	`variantSelector' are within 32-bit integer for LP64
-	platforms.
-	(FT_Face_GetCharsOfVariant): Check `variantSelector' is
-	within unsigned 32-bit integer for LP64 platforms.
-
-	* src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
-	variable `val' and unsigned long constant FT_TRIG_SCALE
-	are cast to FT_UInt32, when calculates FT_UInt32.
-	(FT_Vector_Rotate): The long constant 1L is cast to
-	FT_Int32 to calculate FT_Int32 `half'.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cff: Cast the long variables to 32-bit for LP64 systems.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Insert
-	explicit cast to modify a 32-bit flag by unsigned
-	long constant.
-
-	* src/cff/cffobjs.c (cff_face_init): Ditto.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings):
-	Replace the casts to FT_Long by the casts to FT_Int32
-	for LP64 platforms.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
-
-	* src/pcf/pcf.h: In PCF_PropertyRec.value, the member
-	`integer' is replaced by `l', `cardinal' is replaced
-	by `ul', to fix the difference between the name and
-	the types on LP64 platforms.
-
-	* src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect
-	PCF_PropertyRec.value change, with appropriate casts
-	to FT_Int32/FT_UInt32.  Their destinations
-	BDF_PropertyRec.{integer|cardinal} are public and
-	explicitly defined as FT_Int32/FT_UInt32.
-
-	* src/pcf/pcfread.c (pcf_get_properties, pcf_load_font):
-	Reflect PCF_PropertyRec.value change.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	pcf: Fix some data types mismatching with their sources.
-
-	* src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
-	`code' is matched to PCF_Encoding->enc.
-	(pcf_cmap_char_next): The type of `charcode' is matched
-	to PCF_Encoding->enc.  When *acharcode is set by charcode,
-	an overflow is checked and cast to unsigned 32-bit
-	integer.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	bdf: Improve bdf_property_t.value names for LP64 platforms.
-
-	* src/bdf/bdf.h: In bdf_property_t.value, the member
-	`int32' is replaced by `l', `card32' is replaced by
-	`ul', to fix the difference between the name and the
-	types on LP64 platforms.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect
-	bdf_property_t.value change.
-	(bdf_get_bdf_property): Reflect bdf_property_t.value
-	change, with appropriate casts to FT_Int32/FT_UInt32.
-	Their destinations BDF_PropertyRec.{integer|cardinal}
-	are public and explicitly defined as FT_Int32/FT_UInt32.
-
-	* src/bdf/bdflib.c (_bdf_add_property): Reflect
-	bdf_property_t.value change.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	bdf: Fix some data types mismatching with their sources.
-
-	* src/bdf/bdfdrivr.c (bdf_cmap_char_index): The type
-	of `code' is matched with BDF_encoding_el->enc.
-	(bdf_cmap_char_next): The type of `charcode' is
-	matched with BDF_encoding_el->enc.  When *acharcode
-	is set by charcode, an overflow is checked and
-	cast to unsigned 32-bit integer.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	autofit: Improve Unicode range definitions.
-
-	* src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro
-	to declare a range by two unsigned 32-bit integer,
-	to avoid 64-bit range definition on LP64 platforms.
-
-	* src/autofit/aflatin.c (af_latin_uniranges): Ditto.
-
-	* src/autofit/aflatin2.c (af_latin2_uniranges): Ditto.
-
-	* src/autofit/afindic.c (af_indic_uniranges): Ditto.
-
-	* src/autofit/afcjk.c (af_cjk_uniranges): Declare
-	the ranges by AF_UNIRANGE_REC.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	smooth: Fix a data type mismatching with its source.
-
-	* src/smooth/ftgrays.c (gray_sweep): The type of
-	`area' is matched with the 3rd argument `area'
-	of gray_hline().
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	smooth: Fix a data type mismatching with its source.
-
-	* src/smooth/ftgrays.c (gray_render_line): The type
-	of `area' is matched with TWorker.area.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Disable the legacy compatibility if 16-bit system.
-
-	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
-	the legacy behaviour from 16-bit platform, because the
-	current hack cannot detect the caller uses this function
-	via legacy convention.
-	(FTC_SBitCache_Lookup): Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Check 32-bit glyph index on 16-bit systems.
-
-	* src/cache/ftcbasic.c (ftc_basic_family_get_count):
-	Check overflow caused by the face including large
-	number of glyphs > 64k.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Fix some data types mismatching with their sources.
-
-	* src/cache/ftccache.c (ftc_cache_resize): The types of
-	`p', `mask', `count' are matched with FTC_Cache->{p,mask}.
-	(FTC_Cache_Clear): The type of `old_index' is matched to
-	FTC_Cache->{p,mask}.
-
-	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type
-	of `_idx' is matched with FTC_Cache->{p,mask}.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Fix some data types mismatching with their sources.
-
-	* src/cache/ftcsbits.c (ftc_snode_load): The types
-	of `xadvance' and `yadvance' are matched with
-	FT_GlyphSlot->advance.{x|y}.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cache: Cast NULL to a required function type explicitly.
-
-	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID):
-	Insert explicit cast from NULL to function type.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	fttypes.h: Cast FT_MAKE_TAG output to FT_Tag explicitly.
-
-	* include/freetype/fttypes.h (FT_MAKE_TAG):
-	Cast the result to FT_Tag.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	psnames: Handle Unicode codepoints by FT_UInt32 variables.
-
-	* src/psnames/psmodule.c (BASE_GLYPH): Cast the result
-	to unsigned 32-bit integer for LP64 platform.
-	(ps_unicode_value): Return the value by unsigned 32-bit
-	integer instead of unsigned long.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	psaux: Use size_t variable to pass the buffer size.
-
-	* src/psaux/psaux.h (to_bytes): The type of `max_bytes'
-	(the argument to pass the buffer size) is changed to
-	size_t, to match with ANSI C string functions.
-
-	* src/psaux/psconv.h (PS_Conv_StringDecode,
-	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
-
-	* src/psaux/psconv.c (PS_Conv_StringDecode,
-	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
-
-	* src/psaux/psobjs.h (ps_parser_to_bytes): Ditto.
-
-	* src/psaux/psobjs.c (ps_parser_to_bytes): Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	type1: Use size_t variable to pass the string length.
-
-	* psaux.h: The type of `len' (the argument to pass
-	the buffer size to the function in AFM_ParserRec)
-	is changed to size_t, to match with ANSI C string
-	functions.
-
-	* t1afm.c (t1_get_index): Ditto.
-
-	* test_afm.c (dummy_get_index): Ditto.
-
-	* afmparse.c (afm_parser_read_vals): To call
-	AFM_ParserRec.get_index, the length of token
-	`len' is cast to size_t.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cid: Fix some data types mismatching with their sources.
-
-	* src/cid/cidparse.c (cid_parser_new): The types of
-	`read_len' and `stream_len' are matched to
-	FT_Stream->size.  Unrequired cast is removed.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cff: Fix for unused variable `rest'.
-
-	* src/cff/cffparse.c (cff_parse_real): Insert
-	FT_UNUSED() to hide the unused variable warning.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	cff: Fix some data types mismatching with their sources.
-
-	* src/cff/cffgload.c (cff_slot_load): The types of
-	`top_upm' and `sub_upm' are matched with
-	CFF_FontRecDict->units_per_em.
-
-	* src/cff/cffobjs.c (cff_size_select): Ditto.
-	(cff_size_request): Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	bdf: Fix some data types mismatching with their sources.
-
-	* bdflib.c (_bdf_list_ensure): The type of `num_items'
-	is matched with _bdf_list_t.used.  Also the types of
-	`oldsize', `newsize', `bigsize' are matched too.
-	(_bdf_readstream): `cursor' is used as an offset to
-	the pointer, it should be typed as FT_Offset.  Also
-	the types of `bytes', `start', `end', `avail' are matched.
-
-	* bdfdrivr.c: The type of BDF_CMap->num_encodings is
-	matched with FT_CMap->clazz->size.
-	(bdf_cmap_char_index): The types of `min', `max', `mid'
-	are matched with BDF_CMap->num_encodings.  The type of
-	`result' is matched with encoding->glyph.
-	(bdf_cmap_char_next): Ditto, the type of `code' is
-	matched with BDF_encoding_el.enc.
-	(bdf_interpret_style): The type of `lengths' is changed
-	to size_t, to take the value by ft_strlen().  Also the
-	types of `len', `nn', `mm' are matched.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	sfnt: Count the size of the memory object by ptrdiff_t.
-
-	* src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
-	`property_len' is changed from FT_UInt to FT_Offset,
-	to match with size_t, which is appropriate type for the
-	object in the memory buffer.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	lzw: Count the size of the memory object by ptrdiff_t.
-
-	* src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total,
-	stack_size} are changed from FT_UInt to FT_Offset, to match
-	with size_t, which is appropriate type for the object in
-	the memory buffer.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of
-	`old_size' and `new_size' are changed from FT_UInt to
-	FT_Offset, to match with size_t, which is appropriate type
-	for the object in the memory buffer.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	otvalid: Count the table size on memory by ptrdiff_t.
-
-	* src/otvalid/otvgpos.c (otv_ValueRecord_validate):
-	Change the type of table size from FT_UInt to
-	FT_PtrDist because it is calculated by the memory
-	addresses.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
-
-	* src/otvalid/otvgpos.c (otv_ExtensionPos_validate):
-	Extend ExtensionOffset from FT_UInt to FT_ULong, to
-	cover 32-bit offset on 16-bit platform.
-
-	* src/otvalid/otvgsub.c (otv_ExtensionSubst_validate):
-	Ditto.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	ftobjs.c: Prevent an overflow in glyph index handling.
-
-	* src/base/ftobjs.c (FT_Face_GetCharsOfVariant):
-	Improve the cast in comparison to avoid the truncation.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	Improve the variable types in raccess_make_file_name().
-
-	* src/base/ftrfork.c (raccess_make_file_name):
-	Change the type of cursor variable `tmp' to const char*,
-	to prevent the unexpected modification of original pathname.
-	(raccess_make_file_name): Change the type of new_length
-	to size_t.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	ftpatent.c: Fix for unused variable `error'.
-
-	* src/base/ftpatent.c (_tt_check_patents_in_range):
-	Fix warning for unused variable `error'.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	type1: Check invalid string longer than PostScript limit.
-
-	* src/type1/t1afm.c (t1_get_index): Check invalid string
-	which exceeds the limit of PostScript string/name objects.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
-
-	* src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
-	zcalloc() & zfree() by zlib in zutil.c, those in
-	ftgzip.c by FT2 are enabled by default.  To use
-	zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
-	See discussion:
-	https://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gzip: Distinguish PureC from TurboC on MSDOS.
-
-	* src/gzip/zutil.c (zcalloc, zcfree): Enable only for
-	MSDOS platform.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Insert PureC pragma to allow unevaluated variables.
-
-	* builds/atari/ATARI.H: Insert PureC pragma not to
-	warn against set-but-unevaluated variable in gxvalid
-	module.
-
-2009-07-31  suzuki toshiya  <[email protected]>
-
-	gxvalid: Pass the union by the pointer instead of the value.
-
-	* src/gxvalid/gxvcommn.h:
-	  - Declare new type `GXV_LookupValueCPtr'.
-	  - Update the type of the 2nd argument to pass GXV_LookupValueDesc
-	    data to the function prototyped as GXV_Lookup_Value_Validate_Func,
-	    from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-	  - Likewise for the function prototyped as
-	    GXV_Lookup_Fmt4_Transit_Func.
-
-	  - Declare new type `GXV_StateTable_GlyphOffsetCPtr'.
-	  - Update the type of the 3rd argument to pass
-	    GXV_StateTable_GlyphOffsetDesc data to the function prototyped
-	    as GXV_StateTable_Entry_Validate_Func, from
-	    GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr.
-
-	  - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'.
-	  - Update the type of the 3rd argument to pass
-	    GXV_XStateTable_GlyphOffsetDesc data to the function prototyped
-	    as GXV_XStateTable_Entry_Validate_Func,
-	    from GXV_XStateTable_GlyphOffsetDesc
-	    to GXV_XStateTable_GlyphOffsetCPtr.
-
-	* src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate,
-	gxv_XClassTable_lookupval_validate,
-	gxv_XClassTable_lookupfmt4_transit):
-	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-
-	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
-	gxv_bsln_LookupFmt4_transit): Ditto.
-
-	* src/gxvalid/gxvjust.c
-	(gxv_just_pcTable_LookupValue_entry_validate,
-	gxv_just_classTable_entry_validate,
-	gxv_just_wdcTable_LookupValue_validate): Ditto.
-
-	* src/gxvalid/gxvkern.c
-	(gxv_kern_subtable_fmt1_entry_validate): Ditto.
-
-	* src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
-	gxv_lcar_LookupFmt4_transit): Ditto.
-
-	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
-	gxv_opbd_LookupFmt4_transit): Ditto.
-
-	* src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
-	gxv_prop_LookupFmt4_transit): Ditto.
-
-	* src/gxvalid/gxvmort4.c
-	(gxv_mort_subtable_type4_lookupval_validate): Ditto.
-
-	* src/gxvalid/gxvmort0.c
-	(gxv_mort_subtable_type0_entry_validate): Update
-	from GXV_StateTable_GlyphOffsetDesc
-	to GXV_StateTable_GlyphOffsetCPtr.
-
-	* src/gxvalid/gxvmort1.c
-	(gxv_mort_subtable_type1_entry_validate): Ditto.
-
-	* src/gxvalid/gxvmort2.c
-	(gxv_mort_subtable_type2_entry_validate): Ditto.
-
-	* src/gxvalid/gxvmort5.c
-	(gxv_mort_subtable_type5_entry_validate): Ditto.
-
-	* src/gxvalid/gxvmorx2.c
-	(gxv_morx_subtable_type2_entry_validate): Ditto.
-
-	* src/gxvalid/gxvmorx5.c
-	(gxv_morx_subtable_type5_entry_validate): Ditto.
-
-	* src/gxvalid/gxvmorx1.c
-	(gxv_morx_subtable_type1_entry_validate): Ditto.
-	(gxv_morx_subtable_type1_LookupValue_validate,
-	gxv_morx_subtable_type1_LookupFmt4_transit):
-	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-
-	* src/gxvalid/gxvmorx0.c
-	(gxv_morx_subtable_type0_entry_validate): Update
-	from GXV_XStateTable_GlyphOffsetDesc
-	to GXV_XStateTable_GlyphOffsetCPtr.
-
-2009-07-29  Fabrice Bellet  <[email protected]>
-
-	Fix Redhat bugzilla #513582 and Savannah bug #26849.
-
-	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix
-	aliasing bug.
-
-2009-07-19  Werner Lemberg  <[email protected]>
-
-	Document recent library changes.
-
-	* docs/CHANGES: Do it.
-
-2009-07-17  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #23786.
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem
-	and y_ppem.  Otherwise the `*_CVT_Stretched' functions in ttinterp.c
-	get never called.
-	An anonymous guy suggested this change on Savannah, and it seems to
-	be the right solution.
-
-2009-07-15  Werner Lemberg  <[email protected]>
-
-	* docs/release: Updated.
-
-2009-07-15  Werner Lemberg  <[email protected]>
-
-	README.CVS -> README.git
-
-	* README.CVS: Renamed to...
-	* README.git: This.
-	Updated.
-
-2009-07-15  suzuki toshiya  <[email protected]>
-
-	Borland C++ compiler patch proposed by Mirco Babin.
-	https://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
-
-	* builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
-	Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
-	specific pathname syntax.
-	* builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS.
-	Define TE = `-e' separately (bcc32 cannot specify the pathname of
-	binary executable by T = `-o').
-	Extend the large page size in linking freetype.lib.
-	Add extra CLEAN target to delete bcc specific temporary files.
-	* builds/compiler/bcc-dev.mk: Ditto.
-
-2009-07-14  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #27026.
-
-	* builds/win32/vc2005/freetype.sln: Use correct version number.
-
-2009-07-12  suzuki toshiya  <[email protected]>
-
-	Add a script to check the undefined and unused trace macros.
-
-	* src/tools/chktrcmp.py: A script to check trace_XXXX macros
-	that are used in C source but undefined in fttrace.h, or
-	defined in fttrace.h but unused in C sources.  See
-	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
-	* docs/DEBUG: Mention on chktrcmp.py.
-	* docs/release: Ditto.
-
-2009-07-09  Werner Lemberg  <[email protected]>
-
-	[ftraster] Make it compile again with -D_STANDALONE_.
-
-	* src/raster/ftraster.c [_STANDALONE_]: Define
-	FT_CONFIG_STANDARD_LIBRARY_H.
-	Include `string.h'.
-	Don't include `rastpic.h'.
-	Define FT_DEFINE_RASTER_FUNCS.
-
-2009-07-09  suzuki toshiya  <[email protected]>
-
-	smooth: Check glyph size by width/height, instead of pitch/height.
-	Suggested by der Mouse <[email protected]>.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve
-	the check for too large glyph.  Replace the pair of `pitch' and
-	`height' by the pair of `width' and `height'.  `pitch' cannot
-	be greater than `height'.  The required is checking the product
-	`pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for
-	the realistic case only.
-
-2009-07-09  suzuki toshiya  <[email protected]>
-
-	Register 2 missing trace components, t1afm and ttbdf.
-
-	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
-	and FT_TRACE_DEF( ttbdf ).  See
-	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
-
-2009-07-09  suzuki toshiya  <[email protected]>
-
-	Register a trace component for ftgloadr.c.
-
-	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ).
-	The macro `trace_gloader' was already used in the initial version
-	on 2002-02-24.
-
-2009-07-08  suzuki toshiya  <[email protected]>
-
-	Prevent the overflows by a glyph with too many points or contours.
-	The bug is reported by Boris Letocha <[email protected]>.  See
-	https://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
-	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html
-
-	* include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
-	FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
-	values of FT_Outline.{n_contours,n_points}.
-	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the
-	total numbers of points and contours cause no overflows in
-	FT_Outline.{n_contours,n_points}.
-
-	* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
-	FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and
-	contours as unsigned long number, instead of signed int, to
-	prevent the overflows on 16-bit systems.
-
-2009-07-05  Bram Tassyns  <[email protected]>
-
-	Improve compatibility to Acroread.
-	This fixes Savannah bug #26944.
-
-	* src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to
-	single CID mappings, make the lowest value win.
-
-2009-06-28  suzuki toshiya  <[email protected]>
-
-	ftpatent: Fix a bug by wrong usage of service->table_info().
-	https://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
-
-	* include/freetype/internal/services/svsfnt.h: Extend
-	FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
-	to the specified table.
-	* src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the
-	table-offset to the caller function.
-	* src/base/ftpatent.c (_tt_check_patents_in_table): Use new
-	service->table_info().
-	* src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new
-	service->table_info().
-
-2009-06-28  Werner Lemberg  <[email protected]>
-
-	[psaux, cff] Protect against nested `seac' calls.
-
-	* include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h
-	(CFF_Decoder): Add `seac' boolean variable.
-
-	* src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c
-	(t1operator_seac): Use it.
-
-2009-06-28  Werner Lemberg  <[email protected]>
-
-	Thinko.
-
-	* src/psaux/t1decode.c (t1operator_seac)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
-	interface.
-
-2009-06-28  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
-
-2009-06-27  suzuki toshiya  <[email protected]>
-
-	Add tools to preprocess the source files for AtariST PureC.
-
-	* builds/atari/deflinejoiner.awk: New file to filter C source files
-	for broken C preprocessor of PureC compiler.
-
-	* builds/atari/gen-purec-patch.sh: New file to generate a patch set
-	for PureC, by using deflinejoiner.awk.
-
-2009-06-27  suzuki toshiya  <[email protected]>
-
-	Keep existing modules.cfg in the building tree.
-
-	* configure: If `configure' is executed outside of the source tree,
-	an existing `modules.cfg' file in the build directory should be
-	kept, not overwritten by the version in the source tree.
-
-2009-06-27  suzuki toshiya  <[email protected]>
-
-	Filter --srcdir= option before invoking builds/unix/configure.
-
-	* configure: If builds/unix/configure is invoked with --srcdir
-	option, the option should take `builds/unix' directory instead of
-	the top source directory.  Thus the configure script in the top
-	directory should modify the --srcdir= option if
-	`builds/unix/configure' is invoked.
-
-2009-06-27  suzuki toshiya  <[email protected]>
-
-	Improve configure.raw for cross-building on exe-suffixed systems.
-
-	* builds/unix/configure.raw: Fix a bug in sed script to extract
-	native suffix for binary executables, patch by Peter Breitenlohner.
-	https://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
-
-2009-06-26  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove TT_SubGlyphRec.
-
-	* src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused.
-
-2009-06-26  Werner Lemberg  <[email protected]>
-
-	* */*: For warning messages, replace FT_ERROR with FT_TRACE0.
-
-	FT_ERROR is now used only if a function produces a non-zero `error'
-	value.
-
-	Formatting, improving and harmonizing debug strings.
-
-2009-06-25  Werner Lemberg  <[email protected]>
-
-	Provide version information better.
-
-	* src/base/ftinit.c (FT_Init_FreeType): Don't set version here
-	but...
-	* src/base/ftobjs.c (FT_New_Library): Here.
-
-2009-06-22  Werner Lemberg  <[email protected]>
-
-	Use 16.16 format while parsing Type 1 charstrings.
-	This fixes Savannah bug #26867.
-
-	Previously, only integers have been used which can lead to serious
-	rounding errors.
-
-	However, fractional values are only used internally; after the
-	charstrings (of either Type 1 or 2) have been processed, the
-	resulting coordinates get rounded to integers currently -- before
-	applying scaling.  This should be fixed; at the same time a new load
-	flag should be introduced, to be used in combination with
-	FT_LOAD_NO_SCALE, which indicates that font units are returned in
-	16.16 format.  Similarly, the incremental interface should be
-	extended to allow fractional values for metrics.
-
-	* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
-	field.
-	* include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
-	T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.
-
-	* src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
-	(t1_build_add_point): Always convert fixed to integer.
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
-	Use 16.16 format everywhere (except for large integers followed by a
-	`div').
-	[CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
-	code unconditionally.
-	Add support for random numbers and update remaining code
-	accordingly; this should work now.
-	(t1operator_seac): Updated.
-	* src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
-	(ps_hints_t1stem3, t1_hints_stem): Updated.
-
-	* src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
-	(cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
-	(cid_face_compute_max_advance, cid_slot_load_glyph): Updated.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
-	[FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
-	Updated.
-	* src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
-	* src/type1/t1objs.c (T1_Face_Init): Updated.
-
-2009-06-21  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshrec.c: Use PSH_Err_Ok.
-
-2009-06-21  Werner Lemberg  <[email protected]>
-
-	Code beautification.
-
-	* src/type1/t1load.c (FT_INT_TO_FIXED): Removed.
-	Replace everywhere with INT_TO_FIXED.
-	(FT_FIXED_TO_INT): Move to ...
-	* include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here.
-	Update all users.
-
-2009-06-20  Werner Lemberg  <[email protected]>
-
-	Remove unused variables.
-
-	* include/freetype/internal/psaux.h (T1_BuilderRec),
-	src/cff/cffgload.h (CFF_Builder): Remove `last'.
-	Update all users.
-
-2009-06-20  Werner Lemberg  <[email protected]>
-
-	[psaux] Check large integers while parsing charstrings.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large
-	integers must be followed by a `div' operator.
-
-2009-06-20  Werner Lemberg  <[email protected]>
-
-	[cff] Revert last change.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it.
-	Next time, don't confuse Type 2 charstring opcodes with TOP DICT
-	values...
-
-2009-06-20  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix
-	compiler warning.
-
-2009-06-20  Werner Lemberg  <[email protected]>
-
-	* builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6.
-
-2009-06-19  Werner Lemberg  <[email protected]>
-
-	[cff] Fix handling of reserved byte 0xFF.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte
-	0xFF is encountered.
-
-2009-06-19  Werner Lemberg  <[email protected]>
-
-	Improve debug messages for Type1 charstrings.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines
-	after instructions.
-	Prettify output.
-
-2009-06-19  Werner Lemberg  <[email protected]>
-
-	More ftgray fixes for FT_STATIC_RASTER.
-	Problems reported by [email protected].
-
-	* src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
-	RAS_VAR.
-
-2009-06-18  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2009-06-18  Werner Lemberg  <[email protected]>
-
-	Fix B/W rasterization of subglyphs with different drop-out modes.
-
-	Normally, the SCANMODE instruction (if present) to set the drop-out
-	mode in a TrueType font is located in the `prep' table only and thus
-	valid for all glyphs.  However, there are fonts like `pala.ttf'
-	which additionally contain this instruction in the hinting code of
-	some glyphs (but not all).  As a result it can happen that a
-	composite glyph needs multiple drop-out modes for its subglyphs
-	since the rendering state gets reset for each subglyph.
-
-	FreeType collects the hinted outlines from all subglyphs, then it
-	sends the data to the rasterizer.  It also sends the drop-out mode
-	-- after hinting has been applied -- and here is the error: It sends
-	the drop-out mode of the last subglyph only; drop-out modes of all
-	other subglyphs are lost.
-
-	This patch fixes the problem; it adds a second, alternative
-	mechanism to pass the drop-out mode: For each contour, the
-	rasterizer now checks the first `tags' array element.  If bit 2 is
-	set, bits 5-7 contain the contour's drop-out mode, overriding the
-	global drop-out mode.
-
-	* include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
-	`tags[0]'.
-
-	* src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
-	Use bits 3-5 instead of 0-2.
-	(New_Profile): Set the drop-out mode in the profile's `flags' field.
-	(Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
-	necessary.
-	(Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
-	Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
-	mode.
-
-2009-06-16  Werner Lemberg  <[email protected]>
-
-	Improve scan conversion rules 4 and 6.
-
-	Two new constraints are introduced to better identify a `stub' -- a
-	concept which is only vaguely described in the OpenType
-	specification.  The old code was too rigorous and suppressed more
-	pixel than it should.
-
-	  . The intersection of the two profiles with the scanline is less
-	    than a half pixel.  Code related to this was already present in
-	    the sources but has been commented out.
-
-	  . The endpoint of the original contour forming a profile has a
-	    distance (`overshoot') less than half a pixel to the scanline.
-
-	Note that the two additional conditions fix almost all differences
-	to the Windows rasterizer, but some problematic cases remain.
-
-	* src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New
-	macros for the `flags' field in the `TProfile' structure.
-	(IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros.
-	(New_Profile, End_Profile): Pass overshoot flag as an argument and
-	set it accordingly.
-	Update callers.
-	(Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new
-	constraints.
-
-2009-06-11  Werner Lemberg  <[email protected]>
-
-	Increase precision for B/W rasterizer.
-
-	* src/raster/ftraster.c (Set_High_Precision): Add two more bits to
-	the precision.  This corrects rendering of some small glyphs, for
-	example, glyph `xi' in verdana.ttf at 13 ppem.  Testing with ftbench
-	on my GNU/Linux box I don't see a performance degradation.
-
-2009-06-08  Michael Zucchi  <[email protected]>
-
-	Handle FT_STROKER_LINECAP_BUTT.
-	This fixes Savannah bug #26757.
-
-	* src/base/ftstroke.c (ft_stroker_cap): Implement it.
-
-2009-06-07  Harald Fernengel  <[email protected]>
-
-	Fix some potential out-of-memory crashes.
-
-	* src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
-	* src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
-	* src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
-	`exec' in case of failure.
-
-2009-06-07  Werner Lemberg  <[email protected]>
-
-	Simplify math.
-	Suggested by Alexei Podtelezhnikov <[email protected]>.
-
-	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
-	Horizontal_Gray_Sweep_Drop): Do it.
-
-2009-06-04  Werner Lemberg  <[email protected]>
-
-	Preparation for fixing scan conversion rules 4 and 6.
-
-	* src/raster/ftraster.c (TFlow): Replace enumeration with...
-	(Flow_Up): This macro.
-	(TProfile): Replace `flow' member with `flags' bit field.
-	Update all affected code.
-
-2009-05-29  James Cloos  <[email protected]>
-
-	Enable autohinting for glyphs rotated by multiples of 90°.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted
-	matrices to allow rotations by multiples of 90°, not only unrotated,
-	possibly slanted matrices.
-
-2009-05-28  Werner Lemberg  <[email protected]>
-
-	Remove compiler warning.
-	Reported by Krzysztof Kowalczyk <[email protected]>.
-
-	* src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of
-	`n_edges' into `#if' block.
-
-2009-05-28  Werner Lemberg  <[email protected]>
-
-	Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined.
-	Reported by Krzysztof Kowalczyk <[email protected]>.
-
-	* src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]:
-	Make it work.
-	Simplify #ifdef logic.
-
-2009-05-22  Werner Lemberg  <[email protected]>
-
-	Improve b/w rasterizer.
-	Problem reported by Krzysztof Kotlenga <[email protected]>.
-
-	* src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
-	Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if
-	intersections are equally distant relative to next pixel center,
-	select the left pixel, not the right one.
-
-2009-05-19  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #26600.
-
-	* src/type42/t42parse.c (t42_load_keyword): Handle
-	T1_FIELD_LOCATION_FONT_EXTRA.
-
-2009-04-30  Werner Lemberg  <[email protected]>
-
-	Document recent changes to ftview.
-
-	* docs/CHANGES: Do it.
-
-2009-04-27  Werner Lemberg  <[email protected]>
-
-	autohinter: Don't change digit widths if all widths are the same.
-	This fixes FreeDesktop bug #21197.
-
-	* src/autofit/afglobal.c (AF_DIGIT): New macro.
-	(af_face_globals_compute_script_coverage): Mark ASCII digits in
-	`glyph_scripts' array.
-	(af_face_globals_get_metrics): Updated.
-	(af_face_globals_is_digit): New function.
-	* src/autofit/afglobal.h: Updated.
-	(AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
-
-	* src/autofit/aflatin.c: Include FT_ADVANCES_H.
-	(af_latin_metrics_check_digits): New function.
-	(af_latin_metrics_init): Use it.
-	* src/autofit/aflatin.h: Updated.
-	* src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
-
-	* src/autofit/aflatin2.c: Similar changes as with aflatin.c.
-
-	* src/autofit/afloader.c (af_loader_load_g): Test digit width.
-
-	* docs/CHANGES: Document it.
-
-2009-04-26  Werner Lemberg  <[email protected]>
-
-	Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
-	Problems reported by [email protected].
-
-	* src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
-	FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
-	[!_STANDALONE_]: Include ftspic.h only here.
-	(ras): Define/declare after definition of `TWorker'.
-	Use `RAS_VAR_' where necessary.
-
-2009-04-21  Karl Berry  <[email protected]>
-
-	Fix AC_CHECK_FT2.
-
-	* builds/unix/freetype2.m4: Only check PATH for freetype-config if
-	we did not already find it from a prefix option.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Add #error to modules and files that do not support PIC yet.
-
-	When FT_CONFIG_OPTION_PIC is defined the following files will
-	create #error:
-	* src/bdf/bdfdrivr.h
-	* src/cache/ftcmanag.c
-	* src/cid/cidriver.h
-	* src/gxvalid/gxvmod.h
-	* src/gzip/ftgzip.c
-	* src/lzw/ftlzw.c
-	* src/otvalid/otvmod.h
-	* src/pcf/pcfdrivr.h
-	* src/pfr/pfrdrivr.h
-	* src/psaux/psauxmod.h
-	* src/type1/t1driver.h
-	* src/type42/t42drivr.h
-	* src/winfonts/winfnt.h
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in autofit module.
-
-	* include/freetype/internal/autohint.h add macros to init
-	instances of FT_AutoHinter_ServiceRec.
-
-	* src/autofit/afmodule.h declare autofit_module_class
-	using macros from ftmodapi.h,
-	when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined
-	af_autofitter_service and autofit_module_class structs
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from afpic.h in order to access them.
-
-	* src/autofit/aftypes.h add macros to init and declare
-	instances of AF_ScriptClassRec.
-
-	* src/autofit/afcjk.h declare af_cjk_script_class
-	using macros from aftypes.h,
-	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
-	* src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined
-	af_cjk_script_class struct will have function to init it instead of
-	being allocated in the global scope.
-
-	* src/autofit/afdummy.h declare af_dummy_script_class
-	using macros from aftypes.h,
-	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
-	* src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined
-	af_dummy_script_class struct will have function to init it instead of
-	being allocated in the global scope.
-
-	* src/autofit/afindic.h declare af_indic_script_class
-	using macros from aftypes.h,
-	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
-	* src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined
-	af_indic_script_class struct will have function to init it instead of
-	being allocated in the global scope.
-
-	* src/autofit/aflatin.h declare af_latin_script_class
-	using macros from aftypes.h,
-	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
-	* src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined
-	af_latin_script_class struct will have function to init it instead of
-	being allocated in the global scope.
-	Change af_latin_blue_chars to be PIC-compatible by being a two
-	dimensional array rather than array of pointers.
-
-
-	* src/autofit/aflatin2.h declare af_latin2_script_class
-	using macros from aftypes.h,
-	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
-	* src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined
-	af_latin2_script_class struct will have function to init it instead of
-	being allocated in the global scope.
-	Change af_latin2_blue_chars to be PIC-compatible by being a two
-	dimensional array rather than array of pointers.
-
-	* src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
-	af_script_classes array initialization was moved to afpic.c and
-	is later referred using macros defined in afpic.h.
-
-	New Files:
-	* src/autofit/afpic.h declare struct to hold PIC globals for autofit
-	module and macros to access them.
-	* src/autofit/afpic.c implement functions to allocate, destroy and
-	initialize PIC globals for autofit module.
-
-	* src/autofit/autofit.c add new file to build: afpic.c.
-	* src/autofit/jamfile add new files to FT2_MULTI build: afpic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in pshinter module.
-
-	* include/freetype/internal/pshints.h add macros to init
-	instances of PSHinter_Interface.
-
-	* src/pshinter/pshmod.h declare pshinter_module_class
-	using macros from ftmodapi.h,
-	when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined
-	pshinter_interface and pshinter_module_class structs
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from pshpic.h in order to access them.
-
-	New Files:
-	* src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter
-	module and macros to access them.
-	* src/pshinter/pshpic.c implement functions to allocate, destroy and
-	initialize PIC globals for pshinter module.
-
-	* src/pshinter/pshinter.c add new file to build: pshpic.c.
-	* src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in psnames module.
-
-	* include/freetype/internal/services/svpscmap.h add macros to init
-	instances of FT_Service_PsCMapsRec.
-
-	* src/psnames/psmodule.h declare psnames_module_class
-	using macros from ftmodapi.h,
-	when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined
-	pscmaps_interface and pscmaps_services structs
-	and psnames_module_class array
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from pspic.h in order to access them.
-
-	New Files:
-	* src/psnames/pspic.h declare struct to hold PIC globals for psnames
-	module and macros to access them.
-	* src/psnames/pspic.c implement functions to allocate, destroy and
-	initialize PIC globals for psnames module.
-
-	* src/psnames/psnames.c add new file to build: pspic.c.
-	* src/psnames/jamfile add new files to FT2_MULTI build: pspic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in raster renderer.
-
-	* src/raster/ftrend1.h declare ft_raster1_renderer_class
-	and ft_raster5_renderer_class
-	using macros from ftrender.h,
-	when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined
-	ft_raster1_renderer_class and ft_raster5_renderer_class structs
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	Macros will be used from rastpic.h in order to access
-	ft_standard_raster from the pic_container (allocated in ftraster.c).
-	In ft_raster1_render when PIC is enabled, the last letter of
-	module_name is used to verify the renderer class rather than the
-	class pointer.
-
-	* src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
-	ft_standard_raster struct will have function to init it
-	instead of being allocated in the global scope.
-
-	New Files:
-	* src/raster/rastpic.h declare struct to hold PIC globals for raster
-	renderer and macros to access them.
-	* src/raster/rastpic.c implement functions to allocate, destroy and
-	initialize PIC globals for raster renderer.
-
-	* src/raster/raster.c add new file to build: rastpic.c.
-	* src/raster/jamfile add new files to FT2_MULTI build: rastpic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in smooth renderer.
-
-	* src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
-	ft_smooth_lcd_renderer_class and ft_smooth_lcdv_renderer_class
-	using macros from ftrender.h,
-	when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
-	the following structs:
-	ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
-	and ft_smooth_lcdv_renderer_class
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from ftspic.h in order to access
-	ft_grays_raster from the pic_container (allocated in ftgrays.c).
-
-	* src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
-	* src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
-	func_interface was moved from gray_convert_glyph_inner function
-	to the global scope.
-	When FT_CONFIG_OPTION_PIC is defined
-	func_interface and ft_grays_raster structs
-	will have functions to init them
-	instead of being allocated in the global scope.
-	And func_interface will be allocated on the stack of
-	gray_convert_glyph_inner.
-
-	New Files:
-	* src/smooth/ftspic.h declare struct to hold PIC globals for smooth
-	renderer and macros to access them.
-	* src/smooth/ftspic.c implement functions to allocate, destroy and
-	initialize PIC globals for smooth renderer.
-
-	* src/smooth/smooth.c add new file to build: ftspic.c.
-	* src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in cff driver.
-
-	* include/freetype/internal/services/svcid.h add macros to init
-	instances of FT_Service_CIDRec.
-	* include/freetype/internal/services/svpsinfo.h add macros to init
-	instances of FT_Service_PsInfoRec.
-
-	* src/cff/cffcmap.h declare cff_cmap_encoding_class_rec
-	and cff_cmap_unicode_class_rec using macros from
-	ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined
-	the following structs:
-	cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-
-	* src/cff/cffdrivr.h declare cff_driver_class using macros from
-	ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined
-	the following structs:
-	cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name
-	cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class,
-	and cff_services array
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from cffpic.h in order to access them
-	from the pic_container.
-	Use macros from cffpic.h in order to access the
-	structs allocated in cffcmap.c
-
-	* src/cff/cffobjs.c Use macros from cffpic.h in order to access the
-	structs allocated in cffcmap.c
-
-	* src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined
-	implement functions to create and destroy cff_field_handlers array
-	instead of being allocated in the global scope.
-	And macros will be used from cffpic.h in order to access it
-	from the pic_container.
-
-	New Files:
-	* src/cff/cffpic.h declare struct to hold PIC globals for cff
-	driver and macros to access them.
-	* src/cff/cffpic.c implement functions to allocate, destroy and
-	initialize PIC globals for cff driver.
-
-	* src/cff/cff.c add new file to build: cffpic.c.
-	* src/cff/jamfile add new files to FT2_MULTI build: cffpic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in sfnt driver.
-
-	* include/freetype/internal/services/svbdf.h add macros to init
-	instances of FT_Service_BDFRec.
-	* include/freetype/internal/services/svgldict.h add macros to init
-	instances of FT_Service_GlyphDictRec.
-	* include/freetype/internal/services/svpostnm.h add macros to init
-	instances of FT_Service_PsFontNameRec.
-	* include/freetype/internal/services/svsfnt.h add macros to init
-	instances of FT_Service_SFNT_TableRec.
-	* include/freetype/internal/services/svttcmap.h add macros to init
-	instances of FT_Service_TTCMapsRec.
-	* include/freetype/internal/sfnt.h add macros to init
-	instances of SFNT_Interface.
-
-	* src/sfnt/sfdriver.h declare sfnt_module_class using macros from
-	ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
-	the following structs:
-	sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
-	tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
-	sfnt_module_class, and sfnt_services array
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from sfntpic.h in order to access them
-	from the pic_container.
-
-	* src/sfnt/ttcmap.h add macros to init
-	instances of TT_CMap_ClassRec.
-	* src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
-	the following structs:
-	tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
-	tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
-	tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from sfntpic.h in order to access them
-	from the pic_container.
-	The content of tt_cmap_classes is now described in the
-	new file 'ttcmapc.h'.
-
-	New Files:
-	* src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
-	driver and macros to access them.
-	* src/sfnt/sfntpic.c implement functions to allocate, destroy and
-	initialize PIC globals for sfnt driver.
-	* src/sfnt/ttcmapc.h describing the content of
-	tt_cmap_classes allocated in ttcmap.c
-
-	* src/sfnt/sfnt.c add new file to build: sfntpic.c.
-	* src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support in truetype driver.
-
-	* include/freetype/internal/services/svmm.h add macros to init
-	instances of FT_Service_MultiMastersRec.
-	* include/freetype/internal/services/svttglyf.h add macros to init
-	instances of FT_Service_TTGlyfRec.
-
-	* src/truetype/ttdriver.h declare tt_driver_class using macros from
-	ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
-	functions will be declared.
-	* src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
-	the following structs:
-	tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
-	and tt_services array,
-	will have functions to init or create and destroy them
-	instead of being allocated in the global scope.
-	And macros will be used from ttpic.h in order to access them
-	from the pic_container.
-	* src/truetype/ttobjs.c change trick_names array to be
-	PIC-compatible by being a two dimensional array rather than array
-	of pointers.
-
-	New Files:
-	* src/truetype/ttpic.h declare struct to hold PIC globals for truetype
-	driver and macros to access them.
-	* src/truetype/ttpic.c implement functions to allocate, destroy and
-	initialize PIC globals for truetype driver.
-
-	* src/truetype/truetype.c add new file to build: ttpic.c.
-	* src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Position Independent Code (PIC) support and infrastructure in base.
-
-	* include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
-	* include/freetype/internal/ftobjs.h Add pic_container member to
-	FT_LibraryRec.
-	Add macros to declare and init instances of FT_CMap_ClassRec.
-	Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
-	Add macros to declare, allocate and initialize modules
-	(FT_Module_Class).
-	Add macros to declare, allocate and initialize renderers
-	(FT_Renderer_Class).
-	Add macro to init instances of FT_Glyph_Class.
-	Add macros to declare, allocate and initialize drivers
-	(FT_Driver_ClassRec).
-	* include/freetype/internal/ftpic.h new file to declare the
-	FT_PIC_Container struct and the functions to allocate and destroy it.
-	* include/freetype/internal/ftserv.h add macros to allocate and
-	destroy arrays of FT_ServiceDescRec.
-	* include/freetype/internal/internal.h define macro to include
-	ftpic.h.
-
-	New Files:
-	* src/base/ftpic.c implement functions to allocate and destroy the
-	global pic_container.
-	* src/base/basepic.h declare struct to hold PIC globals for base and
-	macros to access them.
-	* src/base/basepic.c implement functions to allocate, destroy and
-	initialize PIC globals for base.
-
-	* src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
-	functions that allocate and destroy ft_default_modules according to
-	FT_CONFIG_MODULES_H in the pic_container instead of the global scope
-	and use macro from basepic.h to access it.
-	* src/base/ftobjs.c add calls to the functions that allocate and
-	destroy the global pic_container when the library is created and
-	destroyed.
-
-	* src/base/jamfile add new files to FT2_MULTI build:
-	ftpic.c and basepic.c.
-	* src/base/ftbase.c add new files to build:
-	ftpic.c and basepic.c.
-
-	* src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
-	ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
-	in the pic_container instead of the global scope and use macros from
-	basepic.h to access them.
-	* src/base/ftbbox.c allocate bbox_interface struct on the stack
-	instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
-	* src/base/ftstroke.c access ft_outline_glyph_class allocated in
-	ftglyph.c via macros from basepic.h
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Preparing changes in cff parser later needed for PIC version.
-
-	* src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
-	src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
-	'CFF_ParserRec' set by `cff_parser_init'.
-	Route library pointer from 'cff_face_init' to 'cff_subfont_load'
-	for `cff_parser_init'.
-
-	* src/cff/cffparse.c (CFF_Field_Handler): Move it to...
-	* src/cff/cffparse.h: This file, to be used by other C files.
-
-2009-04-05  Oran Agra  <[email protected]>
-
-	Minor change in ftstroke.c.
-
-	* src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
-	`library' needed for PIC version.
-	Update all callers.
-
-2009-04-04  Werner Lemberg  <[email protected]>
-
-	ftnames.c -> ftsnames.c
-
-	* src/base/ftnames.c: Rename to...
-	* src/base/ftsnames.c: This.
-	* src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
-
-2009-04-04  Werner Lemberg  <[email protected]>
-
-	Add support for cmap type 13.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_CMAP_FORMAT_13): New macro.
-
-	* src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
-	tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
-	tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
-	tt_cmap14_class_rec): New functions and structures for cmap 13
-	support.
-	(tt_cmap_classes): Register tt_cmap13_class_rec.
-
-	* docs/CHANGES: Mention cmap 13 support.
-
-2009-04-01  Werner Lemberg  <[email protected]>
-
-	Ignore empty contours in CFF glyphs.
-
-	Problem reported by Albert Astals Cid <[email protected]>.
-
-	* src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
-	t1_builder_close_contour.
-
-2009-03-21  Werner Lemberg  <[email protected]>
-
-	Another redundant header inclusion.
-
-	* src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
-
-2009-03-21  Werner Lemberg  <[email protected]>
-
-	Remove redundant header inclusions.
-
-	This covers many Ghostscript Coverity issues.
-
-	* src/*: Do it.
-
-2009-03-21  Werner Lemberg  <[email protected]>
-
-	Fix Ghostscript Coverity issue #3904.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
-	invalid values of `runcnt'.
-
-2009-03-20  Werner Lemberg  <[email protected]>
-
-	Fix `make multi' run.
-
-	* src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
-
-2009-03-20  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #25923.
-
-	* src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
-
-2009-03-20  Werner Lemberg  <[email protected]>
-
-	Protect against too large glyphs.
-
-	Problem reported by Tavis Ormandy <[email protected]>.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
-	`pitch' or `height' to be larger than 0xFFFF.
-
-2009-03-20  Werner Lemberg  <[email protected]>
-	    Tavis Ormandy  <[email protected]>
-
-	Fix validation for various cmap table formats.
-
-	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
-	tt_cmap12_validate): Check `length' correctly.
-	(tt_cmap_14_validate): Check `length' and `numMappings' correctly.
-
-2009-03-20  Werner Lemberg  <[email protected]>
-
-	Protect against malformed compressed data.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
-	zero.
-
-2009-03-20  Werner Lemberg  <[email protected]>
-
-	Protect against invalid SID values in CFFs.
-
-	Problem reported by Tavis Ormandy <[email protected]>.
-
-	* src/cff/cffload.c (cff_charset_load): Reject SID values larger
-	than 64999.
-
-2009-03-19  Vincent Richomme  <[email protected]>
-
-	Update WinCE Visual C project files.
-
-	* builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
-	files.
-
-2009-03-19  Werner Lemberg  <[email protected]>
-
-	Remove unused Win32 code.
-
-	* builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
-	Since Win32 is handled separately this is no longer needed.
-
-2009-03-19  Vincent Richomme  <[email protected]>
-
-	Make `gzip' module compile on WinCE.
-
-	* src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
-
-2009-03-19  Werner Lemberg  <[email protected]>
-
-	Remove unused WinCE code.
-
-	* builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
-	Since WinCE is handled separately this is no longer needed.
-
-2009-03-16  Werner Lemberg  <[email protected]>
-
-	docmaker: Don't ignore single-line code blocks.
-
-	* src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
-	2009-01-31.
-
-2009-03-15  Steve Langasek  <[email protected]>
-
-	Use __asm__ for declaring assembly instead of asm.
-
-	* builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
-	asm on arm, fixing a build failure on armel with -pedantic.
-
-2009-03-14  Werner Lemberg  <[email protected]>
-
-	Fix valgrind warning.
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
-	past the end of the frame.
-
-2009-03-12  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.9 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-9'.
-
-2009-03-12  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
-
-2009-03-12  Werner Lemberg  <[email protected]>
-
-	Fix some FreeType Coverity issues as reported for Ghostscript.
-
-	* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
-	`args.stream' (#3874, #3875).
-	(open_face_PS_from_sfnt_stream): Improve error management (#3786).
-	* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
-	(#3870).
-	* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
-	code (#3790).
-	* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
-	value of `FT_Stream_Skip' (#3784).
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
-	it (#3872)
-
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
-	it (#3871).
-	* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
-	`pcf_get_metric' (#3789, #3782).
-	(pcf_get_properties): Use FT_STREAM_SKIP (#3783).
-
-	* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
-	`acache' (#3797)
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
-	(#3796).
-	* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
-	* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
-
-	* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
-	(#3793).
-	(_bdf_parse_start): Add comment (#3792).
-
-	* src/raster/ftraster.c (Finalize_Profile_Table): Check
-	`ras.fProfile' (#3791).
-
-	* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
-
-	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
-	seek error (#3781).
-
-2009-03-11  Michael Toftdal  <[email protected]>
-
-	Extend CID service functions to handle CID-keyed CFFs as CID fonts.
-
-	* include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
-	FT_Get_CID_From_Glyph_Index): New functions.
-
-	* include/freetype/internal/services/svcid.h
-	(FT_CID_GetIsInternallyCIDKeyedFunc,
-	FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
-	(CID Service): Use them.
-
-	* src/base/ftcid.c: Include FT_CID_H.
-	(FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
-	New functions.
-
-	* src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
-	New functions.
-	(cff_service_cid_info): Add them.
-	* src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
-	-- it is needed for access as a CID-keyed font.  It gets deleted
-	later on.
-
-	* src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
-	New functions.
-	(cid_service_cid_info): Add them.
-
-	* docs/CHANGES: Updated.
-
-2009-03-11  Bram Tassyns  <[email protected]>
-
-	Fix Savannah bug #25597.
-
-	* src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
-	to become larger than 9.
-
-2009-03-11  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #25814.
-
-	* builds/unix/freetype2.in: As suggested in the bug report, move
-	@LIBZ@ to `Libs.private'.
-
-2009-03-11  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #25781.
-	We now simply check for a valid `offset', no longer handling `delta
-	= 1' specially.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
-	last segment.
-	(tt_cmap4_set_range, tt_cmap4_char_map_linear,
-	tt_cmap4_char_map_binary): Check offset.
-
-2009-03-11  Werner Lemberg  <[email protected]>
-
-	* src/base/Jamfile: Fix handling of ftadvanc.c.
-	Reported by Oran Agra <[email protected]>.
-
-2009-03-10  Vincent Richomme  <[email protected]>
-
-	Restructure Win32 and Wince compiler support.
-
-	* src/builds/win32: Remove files for WinCE.
-	Move VC 2005 support to a separate directory.
-	Add directory for VC 2008 support.
-
-	* src/builds/wince: New directory hierarchy for WinCE compilers
-	(VC 2005 and VC 2008).
-
-2009-03-09  Werner Lemberg  <[email protected]>
-
-	More preparations for 2.3.9 release.
-
-	* docs/CHANGES: Updated.
-
-	* Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
-
-2009-03-09  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
-
-2009-03-09  Alexey Kryukov  <[email protected]>
-
-	Fix handling of EBDT formats 8 and 9 (part 2).
-
-	This patch fixes the following problems in ttsbit0.c:
-
-	. Bitmaps for compound glyphs were never allocated.
-
-	. `SBitDecoder' refused to load metrics if some other metrics have
-	  already been loaded.  This condition certainly makes no sense for
-	  recursive calls, so I've just disabled it.  Another possibility
-	  would be resetting `decoder->metrics_loaded' to false before
-	  loading each composite component.  However, we must restore the
-	  original metrics after finishing the recursion; otherwise we can
-	  get a misaligned glyph.
-
-	. `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
-	  causing some glyph components to be shifted too far to the right
-	  (especially noticeable for small sizes).
-
-	Note that support for grayscale bitmaps (not necessarily compound) is
-	completely broken in ttsbit0.c.
-
-	* src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
-	(tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
-	of `h == height'.
-	(tt_sbit_decoder_load_compound): Reset metrics after loading
-	components.
-	Allocate bitmap.
-
-2009-03-09  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.raw (version_info): Set to 9:20:3.
-
-2009-03-03  David Turner  <[email protected]>
-
-	Protect SFNT kerning table parser against malformed tables.
-
-	This closes Savannah BUG #25750.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
-	bug where a malformed table would be successfully loaded but later
-	crash the engine during parsing.
-
-2009-03-03  David Turner  <[email protected]>
-
-	Update documentation and bump version number to 2.3.9.
-
-	* include/freetype/freetype.h: Bump patch version to 9.
-	* docs/CHANGES: Document the ABI break in 2.3.8.
-	* docs/VERSION.DLL: Update version numbers table for 2.3.9.
-
-2009-03-03  David Turner  <[email protected]>
-
-	Remove ABI-breaking field in public PS_InfoFontRec definition.
-
-	Instead, we define a new internal PS_FontExtraRec structure to
-	hold the additional field, then place it in various internal
-	positions of the corresponding FT_Face derived objects.
-
-	* include/freetype/t1tables.h (PS_FontInfoRec): Remove the
-	`fs_type' field from the public structure.
-	* include/freetype/internal/psaux.h (T1_FieldLocation): New
-	enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
-	* include/freetype/internal/t1types.h (PS_FontExtraRec): New
-	structure.
-	(T1_FontRec, CID_FaceRec): Add it.
-
-	* src/cid/cidload.c (cid_load_keyword): Handle
-	T1_FIELD_LOCATION_FONT_EXTRA.
-	* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
-	Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
-	* src/type1/t1load.c (t1_load_keyword): Handle
-	T1_FIELD_LOCATION_FONT_EXTRA.
-
-	* include/freetype/internal/services/svpsinfo.h (PsInfo service):
-	Add `PS_GetFontExtraFunc' function typedef.
-
-	* src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
-	FT_SERVICE_POSTSCRIPT_INFO_H.
-	(FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
-
-	* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
-	* src/cid/cidriver.c (cid_ps_get_font_extra): New function.
-	(cid_service_ps_info): Updated.
-	* src/type1/t1driver.c (t1_ps_get_font_extra): New function.
-	(t1_service_ps_info): Updated.
-	* src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
-	(t42_service_ps_info): Updated.
-
-2009-03-02  Alexey Kryukov  <[email protected]>
-
-	Fix handling of EBDT formats 8 and 9.
-
-	The main cycle in `blit_sbit' makes too many iterations: it actually
-	needs the count of lines in the source bitmap rather than in the
-	target image.
-
-	* src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
-	Add parameter `source_height' and use it for main loop.
-	(Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
-
-2009-02-23  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #25669.
-
-	* src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
-
-	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
-	scaling factor for non-scalable fonts.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
-	value to prevent incorrect scaling.
-
-	* docs/CHANGES: Document it.
-
-2009-02-15  Matt Godbolt  <[email protected]>
-
-	Fix Savannah bug #25588.
-
-	* builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
-	`orr' instruction.
-
-2009-02-11  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
-	Reported by David Bevan <[email protected]>.
-
-2009-02-09  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #25495.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
-	setting metrics and bbox values.  This ensures that the check for a
-	font with neither a `glyf' table nor bitmap strikes can be performed
-	early enough to set metrics and bbox values too.
-
-2009-02-04  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #25480.
-
-	* builds/unix/freetype-config.in: For --ftversion, don't use $prefix
-	but $includedir.
-
-2009-01-31  Werner Lemberg  <[email protected]>
-
-	Minor docmaker improvements.
-
-	* src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
-	code blocks.
-
-2009-01-25  Werner Lemberg  <[email protected]>
-
-	Fix SCANCTRL handling in TTFs.
-	Problem reported by Alexey Kryukov <[email protected]>.
-
-	* src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
-
-2009-01-23  Werner Lemberg  <[email protected]>
-
-	Move FT_Get_FSType_Flags to a separate file.
-	Problem reported by Mickey Gabel <[email protected]>.
-
-	* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
-	* src/base/ftfstype.c: This new file.
-
-	* modules.cfg (BASE_EXTENSION): Add ftfstype.c.
-
-	* docs/INSTALL.ANY: Updated.
-
-	* builds/mac/*.txt, builds/amiga/*makefile*,
-	builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
-	Updated.
-
-2009-01-22  suzuki toshiya  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
-	messages ending without "\n".
-
-2009-01-22  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #25347.
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
-	the stream to the original position passed to this function,
-	when ft_lookup_PS_in_sfnt_stream() failed.
-	(Mac_Read_sfnt_Resource): Rewind the stream to the head of
-	sfnt resource body, when open_face_PS_from_sfnt_stream()
-	failed.
-
-2009-01-19  Michael Lotz  <[email protected]>
-
-	Fix Savannah bug #25355.
-
-	* include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
-	assembler code work with gcc 2.95.3 (as used by the Haiku project).
-	Add `cc' register to the clobber list.
-
-2009-01-18  Werner Lemberg  <[email protected]>
-
-	Protect FT_Get_Next_Char.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
-	change from 2008-07-22.
-
-	Patch from Ronen Ghoshal <[email protected]>.
-
-2009-01-18  Werner Lemberg  <[email protected]>
-
-	Implement FT_Get_Name_Index for SFNT driver.
-
-	* src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
-	(sfnt_service_glyph_dict): Use it.
-
-	Problem reported by Truc Truong <[email protected]>.
-
-2009-01-18  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
-	documentation.  Problem reported by Truc Truong <[email protected]>.
-
-	* docs/CHANGES: Updated.
-
-2009-01-14  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.8 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-8'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.3.8.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
-
-	* builds/unix/configure.raw (version_info): Set to 9:19:3.
-
-	* docs/release: Updated.
-
-2009-01-14  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (dist): Compress better.
-
-2009-01-13  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
-	with C++.
-
-2009-01-13  Werner Lemberg  <[email protected]>
-
-	Don't use stdlib.h and friends directly.
-	Reported by Mickey Gabel <[email protected]>.
-
-	* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
-
-	* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
-	s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
-
-	* src/autofit/aftypes.h, src/autofit/afhints.c,
-	src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
-
-	* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
-
-2009-01-12  Werner Lemberg  <[email protected]>
-
-	Avoid compiler warnings.
-
-	* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
-	Reported by Sean McBride <[email protected]>.
-
-2009-01-12  Werner Lemberg  <[email protected]>
-
-	Fix stdlib dependencies.
-
-	Problem reported by Mickey Gabel <[email protected]>.
-
-	* include/freetype/config/ftstdlib.h (ft_exit): Removed.  Unused.
-
-	* src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
-	s/memcpy/ft_memcpy/.
-	* src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
-
-2009-01-11  Werner Lemberg  <[email protected]>
-
-	* docs/formats.txt: Add link to PCF specification.
-
-	* include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
-	documentation.
-
-2009-01-09  suzuki toshiya  <[email protected]>
-
-	* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
-	FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
-	FT_Int32, to match with the flags for FT_Load_Glyph().
-	* src/cff/cffdrivr.c (cff_get_advances): Ditto.
-	* src/truetype/ttdriver.c (tt_get_advances): Ditto.
-	* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
-	Ditto.
-	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
-	Ditto.
-
-2009-01-09  Daniel Zimmermann  <[email protected]>
-
-	* src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
-	length check.  From Savannah patch #6682.
-
-2009-01-09  Werner Lemberg  <[email protected]>
-
-	Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
-
-	* src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
-	`count_offset' if it is zero (i.e., unused).  Otherwise, the first
-	element of the structure which holds the data is erroneously
-	modified.  Problem reported by Chi Nguyen <[email protected]>.
-
-2009-01-09  suzuki toshiya  <[email protected]>
-
-	* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
-	FT_Get_Advances): Extend the type of load_flags from FT_UInt to
-	FT_UInt32, to pass 32-bit flags on 16bit platforms.
-	* src/cff/cffdrivr.c (cff_get_advances): Ditto.
-	* src/truetype/ttdriver.c (tt_get_advances): Ditto.
-	* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
-	Ditto.
-	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
-	Ditto.
-
-2009-01-09  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Done_Library): Issue an error message when
-	FT_Done_Face() cannot free all faces. If the list of the opened
-	faces includes broken face which FT_Done_Face() cannot free,
-	FT_Done_Library() retries FT_Done_Face() and it can fall into
-	an endless loop. See the discussion:
-	https://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
-	https://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
-
-2009-01-07  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Document new key `a' in ftdiff.
-
-2009-01-06  Werner Lemberg  <[email protected]>
-
-	* autogen.sh: Don't use GNUisms while calling sed.  Problem reported
-	by Sean McBride.
-
-2009-01-06  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
-	and FT_PIXEL_MODE_LCD_V.  Problem reported by Chi Nguyen
-	<[email protected]>.
-
-2009-01-06  Diego Pettenò  <[email protected]>
-
-	* builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
-	AC_CANONICAL_TARGET and use $host_os only.  A nice explanation for
-	this change can be found at
-	https://blog.flameeyes.eu/s/canonical-target.
-
-	From Savannah patch #6712.
-
-2009-01-06  Sean McBride  <[email protected]>
-
-	* src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
-
-	* src/base/ftmac.c: Remove some #undefs.
-
-2008-12-26  Werner Lemberg  <[email protected]>
-
-	Set `face_index' field in FT_Face for all font formats.
-
-	* cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
-	sfnt/sfobjs.c (sfnt_init_face): Do it.
-
-	* docs/CHANGES: Document it.
-
-2008-12-22  Steve Grubb
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
-	Patch from Savannah bug #25151.
-
-2008-12-21  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
-	src/smooth/ftgrays.c, src/base/ftobjs.c, src/sfobjs.c:
-	s/_Err_Bad_Argument/_Err_Invalid_Argument/.  The former is for
-	errors in the bytecode interpreter only.
-
-2008-12-21  Werner Lemberg  <[email protected]>
-
-	* src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
-	arguments.
-	Fix return value for non-PFR fonts.  Both problems reported by Chi
-	Nguyen <[email protected]>.
-
-2008-12-21  anonymous
-
-	FT_USE_MODULE declares things as:
-
-	  extern const FT_Module_Class
-
-	(or similar for C++).  However, the actual types of the variables
-	being declared are often different, e.g., FT_Driver_ClassRec or
-	FT_Renderer_Class.  (Some are, indeed, FT_Module_Class.)
-
-	This works with most C compilers (since those structs begin with an
-	FT_Module_Class struct), but technically it's undefined behavior.
-
-	To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
-	paragraph 2:
-
-	  All declarations that refer to the same object or function shall
-	  have compatible type; otherwise, the behavior is undefined.
-
-	(And they are not compatible types.)
-
-	Most C compilers don't reject (or even detect!) code which has this
-	issue, but the GCC LTO development branch compiler does.  (It
-	outputs the types of the objects while generating .o files, along
-	with a bunch of other information, then compares them when doing the
-	final link-time code generation pass.)
-
-	Patch from Savannah bug #25133.
-
-	* src/base/ftinit.c (FT_USE_MODULE): Include variable type.
-
-	* builds/amiga/include/freetype/config/ftmodule.h,
-	include/freetype/config/ftmodule.h, */module.mk: Updated to declare
-	pass correct types to FT_USE_MODULE.
-
-2008-12-21  Hongbo Ni  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_hint_edges),
-	src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
-	(af_cjk_hint_edges): Protect against division by zero.  This fixes
-	Savannah bug #25124.
-
-2008-12-18  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2008-12-18  David Bevan  <[email protected]>
-
-	Provide API for accessing embedding and subsetting restriction
-	information.
-
-	* include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
-	FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
-	FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
-	FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
-	macros.
-	(FT_Get_FSType_Flags): New function declaration.
-
-	* src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
-
-	* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
-	(t42_keywords): Handle `FSType'.
-
-	* include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
-
-2008-12-17  Werner Lemberg  <[email protected]>
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
-	macros so that copying the source code into an application works
-	out of the box.
-
-2008-12-17  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftsynth.h, src/base/ftsynth.c: Move
-	FT_GlyphSlot_Own_Bitmap to...
-	* include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
-
-	* docs/CHANGES: Document it.
-
-2008-12-10  Werner Lemberg  <[email protected]>
-
-	Generalize the concept of `tricky' fonts by introducing
-	FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
-	engine is necessary for correct rendering.
-
-	At the same time, slightly modify the behaviour of tricky fonts:
-	FT_LOAD_NO_HINTING is now ignored.  To really force raw loading
-	of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
-	FT_LOAD_NO_AUTOHINT must be used.
-
-	Finally, tricky TrueType fonts always use the bytecode interpreter
-	even if the patented code is used.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
-	New macros.
-
-	* src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
-	semantics as described above.
-
-	* src/truetype/ttobjs.c (tt_check_trickyness): New function, using
-	code of ...
-	(tt_face_init): This function, now simplified and updated to new
-	semantics.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
-	fonts.
-
-	* docs/CHANGES: Document it.
-
-2008-12-09  Werner Lemberg  <[email protected]>
-
-	Really fix Savannah bug #25010: An SFNT font with neither outlines
-	nor bitmaps can be considered as containing space `glyphs' only.
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
-	a `glyf' table is missing.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
-	`glyf' table but a non-zero `loca' entry.
-	(tt_loader_init): Handle missing `glyf' table.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
-	nor bitmaps is scalable.
-
-2008-12-05  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges.  This
-	fixes Savannah bug #21190 which also provides a basic patch.
-
-2008-12-05  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
-	0x100 instead of 0x10000; the latter value is already occupied by
-	FT_LOAD_TARGET_LIGHT.  Bug reported by James Cloos.
-
-
-	Handle SFNT with neither outlines nor bitmaps.  This fixes Savannah
-	bug #25010.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
-	outlines nor bitmaps.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
-	is no table with glyphs.
-
-
-	* src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
-	message.
-
-2008-12-01  Werner Lemberg  <[email protected]>
-
-	GDEF tables need `glyph_count' too for validation.  Problem reported
-	by Chi Nguyen <[email protected]>.
-
-	* src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
-	(otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
-	`glyph_count'.
-
-2008-11-29  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
-	src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
-	src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
-	src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
-	src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
-	(Atari PureC).
-
-2008-11-29  James Cloos  <[email protected]>
-
-	* src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
-	it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
-	in the /BlendDesignMap space).
-
-2008-11-29  James Cloos  <[email protected]>
-
-	* src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
-	whereas `design_points' is FT_Long*.  Therefore, return blend rather
-	than design points.
-
-2008-11-27  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_real): Handle more than nine
-	significant digits correctly.  This fixes Savannah bug #24953.
-
-2008-11-25  Daniel Zimmermann  <[email protected]>
-
-	* src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
-	before the NULL check.  From Savannah patch #6681.
-
-2008-11-24  Werner Lemberg  <[email protected]>
-
-	Fixes from the gnuwin32 port.
-
-	* src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
-
-	* src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
-
-	* src/psaux/psobjs.c (ps_table_add): Check `length'.
-
-2008-11-15  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (tt_default_graphics_state): The default
-	value for `scan_type' is zero, as confirmed by Greg Hitchcock from
-	Microsoft.  Problem reported by Michal Nowakowski
-	<[email protected]>.
-
-2008-11-12  Tor Andersson  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
-	This fixes Savannah bug #24819.
-
-2008-11-08  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
-	since OpenType version 1.5 has been released.
-
-	* include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
-	TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
-	(TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
-	TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
-	TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
-	TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
-	TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
-	TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
-	TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
-	TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
-	TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
-	TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
-	TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
-	macros for OpenType 1.5.
-
-2008-11-08  Wenlin Institute  <[email protected]>
-
-	* src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
-	slot->internal == NULL.  Reported by Graham Asher.
-
-2008-11-08  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
-	code so that memory allocation problems can be distinguished from
-	missing table entries.  Reported by Graham Asher.
-	(GET_NAME): New macro.
-	(sfnt_load_face): Use it.
-
-2008-11-05  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
-	TT_CONFIG_OPTION_UNPATENTED_HINTING.  This fixes the return value of
-	`FT_Get_TrueType_Engine_Type' (and makes it work as documented).
-	Reported in bug #441638 of bugzilla.novell.com.
-
-	* docs/CHANGES: Document it.
-
-2008-11-03  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs): Use an endless loop.  There are
-	fonts (like HELVI.PFB version 003.001, used on OS/2) which define
-	some `subrs' elements more than once.  Problem reported by Peter
-	Weilbacher <[email protected]>.
-
-2008-10-15  Graham Asher  <[email protected]>
-
-	* src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
-
-2008-10-15  David Turner  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
-	meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
-
-2008-10-14  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
-	Suggested by Bram Tassyns in Savannah patch #6651.
-
-2008-10-12  Graham Asher  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
-	`underline_position'.
-
-2008-10-12  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2008-10-09  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #24468.
-
-	According to include/freetype/internal/ftobjs.h, the appropriate
-	type to interchange single character codepoint is FT_UInt32. It
-	should be distinguished from FT_UInt which can be 16bit integer.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
-	of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
-	(tt_cmap4_char_map_binary): Ditto.
-	(tt_cmap14_get_nondef_chars): Change the type of return value
-	from FT_UInt* to FT_UInt32*.
-
-2008-10-08  John Tytgat  <[email protected]>
-
-	Fix Savannah bug #24485.
-
-	* src/type1/t1load.c (parse_charstrings): Assure that we always have
-	a .notdef glyph.
-
-2008-10-05  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
-	* builds/mac/ftmac.c: Ditto.
-
-2008-10-05  suzuki toshiya  <[email protected]>
-
-	* include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
-	* src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
-
-2008-10-05  suzuki toshiya  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
-	the beginning of sfnt container.
-	* src/sfnt/ttload.c (check_table_dir): Return
-	`SFNT_Err_Table_Missing' when sfnt table directory structure is
-	correct but essential tables for TrueType fonts (`head', `bhed' or
-	`SING') are missing.  Other errors are returned by
-	SFNT_Err_Unknown_File_Format.
-
-	* src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
-	`FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'.  It is
-	enabled only when old mac font support is configured.
-
-2008-10-04  suzuki toshiya  <[email protected]>
-
-	* include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
-	TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
-	the repeated calculations of these values in ftobjs.c and ftmac.c.
-	* src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
-	* src/base/ftmac.c: Ditto.
-	* builds/mac/ftmac.c: Ditto.
-
-2008-10-04  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
-	initialization of *is_sfnt_cid.
-
-2008-10-04  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
-	warnings.
-
-2008-10-04  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
-	(ft_lookup_PS_in_sfnt_stream): This.
-	(open_face_PS_from_sfnt_stream): New function.  It checks whether
-	the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
-	font, then try to open a face for given face_index.
-	(Mac_Read_sfnt_Resource): Replace the combination of
-	`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
-	`open_face_PS_from_sfnt_stream'.
-	* src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
-	* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
-	* src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
-	`open_face_PS_from_sfnt_stream'.
-
-2008-10-03  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
-	FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
-
-2008-10-03  suzuki toshiya  <[email protected]>
-
-	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
-	MrC compiler of MPW is used.  These compilers do not define the
-	macro __APPLE__ by themselves.
-	* builds/unix/ftconfig.in: Ditto.
-	* builds/vms/ftconfig.h: Ditto.
-	* src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
-	include ftmac.c if FreeType 2 is built by MPW.
-	* src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
-	enable shared functions for ftmac.c if FreeType 2 is built by MPW.
-
-	* builds/mac/ftmac.c: Include ftbase.h.
-	(memory_stream_close): Removed.
-	(new_memory_stream): Ditto.
-	(open_face_from_buffer): Removed.  Use the implementation in
-	ftobjs.c.
-	(ft_lookup_PS_in_sfnt): Ditto.
-
-	* builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
-	included part of ftbase.c, to share the functions in ftobjs.c.  The
-	rule compiling ftmac.c separately is removed and the rule copying
-	ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
-	* builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
-	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
-	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
-
-2008-10-02  Bram Tassyns  <[email protected]>
-
-	* src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0.  This
-	fixes Savannah bug #24430.
-
-2008-10-02  Werner Lemberg  <[email protected]>
-
-	* builds/freetype.mk (BASE_H): Rename to...
-	(INTERNAL_H): This.
-	(FREETYPE_H): Updated.
-	* src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
-	* src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
-	* src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
-	* src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
-	* src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
-	* src/type42/rules.mk (T42_DRV_H): Add t42types.h.
-
-2008-10-02  suzuki toshiya  <[email protected]>
-
-	* src/base/ftbase.h: New file to declare the private utility
-	functions shared by the sources of base modules.  Currently,
-	`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
-	share between ftobjs.c and ftmac.c.
-
-	* src/base/rule.mk: Add ftbase.h.
-
-	* src/base/ftobjs.c: Include ftbase.h.
-	(memory_stream_close): Build on any platform when old MacOS font
-	support is enabled.
-	(new_memory_stream): Ditto.
-	(open_face_from_buffer): Build on any platform when old MacOS font
-	support is enabled.  The counting of the face in a font file is
-	slightly different between Carbon-dependent parser and Carbon-free
-	parser.  They are merged with the platform-specific conditional.
-	(ft_lookup_PS_in_sfnt): Ditto.
-
-	* src/base/ftmac.c: Include ftbase.h.
-	(memory_stream_close): Removed.
-	(new_memory_stream): Ditto.
-	(open_face_from_buffer): Removed.  Use the implementation in
-	ftobjs.c.
-	(ft_lookup_PS_in_sfnt): Ditto.
-
-2008-10-02  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
-	if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
-
-2008-10-01  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
-	(cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
-	src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
-	(cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
-	src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
-	Reported by Graham Asher.
-
-2008-09-30  suzuki toshiya  <[email protected]>
-
-	* src/base/rules.mk: Add conditional source to BASE_SRC, for `make
-	multi' on Mac OS X.  If the macro $(ftmac_c) is defined,
-	$(BASE_DIR)/$(ftmac_c) is added to BASE_SRC.  In a normal build, the
-	lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
-	ftmac.c.
-	* builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
-	* builds/unix/configure.raw: Add procedure to set up appropriate
-	value of $(ftmac_c) with the consideration of the availability of
-	Carbon framework.
-
-2008-09-30  suzuki toshiya  <[email protected]>
-
-	* src/base/Jamfile: Add target for multi build by jam on Mac OS X.
-	* src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
-	function for MPW building.  It is synchronized the condition to
-	include ftmac.c source into ftbase.c.
-
-2008-09-22  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
-	cff_decoder_parse_charstrings): Handle (invalid)
-	`callothersubr' and `pop' instructions.
-
-2008-09-22  John Tytgat  <[email protected]>
-
-	Fix Savannah bug #24307.
-
-	* include/freetype/internal/t1types.h (CID_FaceRec),
-	src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
-
-2008-09-21  Werner Lemberg  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_raster_render): Don't dereference
-	`target_map' if FT_RASTER_FLAG_DIRECT is set.  Problem reported by
-	Stephan T. Lavavej <[email protected]>.
-
-2008-09-21  suzuki toshiya  <[email protected]>
-
-	* src/otvalid/Jamfile: Add missing target `otvmath' for multi build
-	by jam.
-	* src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
-	jam.
-
-2008-09-20  Werner Lemberg  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_find_cell): Fix threshold.  The values
-	passed to this function are already `normalized'.  Problem reported
-	by Stephan T. Lavavej <[email protected]>.
-
-	* docs/CHANGES: Document it.
-
-2008-09-20  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_Outline_Decompose): Decorate with tracing messages.
-
-	* src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
-	FT_DEBUG_LEVEL_TRACE.
-	[_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
-	stdarg.h.
-
-	(FT_TRACE) [_STANDALONE_]: Remove.
-	(FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
-	(FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
-	(FT_ERROR) [_STANDALONE_]: Updated.
-
-	(gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
-	Use FT_TRACE7.
-	(gray_dump_cells): Make it `static void'.
-	(gray_convert_glyph): Use FT_TRACE7.
-
-	(FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
-	ftoutln.c.
-
-	* src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
-	FT_ERROR_BASE.
-
-	* docs/formats.txt: Updated.
-
-2008-09-19  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
-	CID-keyed font support.
-	* builds/mac/ftmac.c: Ditto.
-
-2008-09-19  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
-	sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
-	`open_face_from_buffer' frees the passed buffer if it cannot open a
-	face from the buffer, so the caller must not free it.
-
-2008-09-19  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
-	for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
-	(ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
-	table in sfnt table directory.  It is used before loading TrueType
-	font driver.
-
-	* docs/CHANGES: Add note about the current status of sfnt-wrapped
-	Type1 and sfnt-wrapped CID-keyed font support.
-
-2008-09-18  Werner Lemberg  <[email protected]>
-
-	* src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
-	orthogonality (ft_free and ft_sfree could belong to different memory
-	pools).  This fixes Savannah bug #24297.
-
-2008-09-18  suzuki toshiya  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
-	in tttags.h instead of numerical value 0x4F54544FL.
-
-2008-09-16  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.h, src/cff/cffgload.c
-	(cff_decoder_set_width_only): Eliminate function call.
-
-2008-09-15  George Williams  <[email protected]>
-
-	Fix Savannah bug #24179, reported by Bram Tassyns.
-
-	* src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
-	of default values.
-
-2008-09-15  Werner Lemberg  <[email protected]>
-
-	* src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
-	and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
-	prevent unconditional definition.  This fixes Savannah bug #24241.
-
-	* src/psnames/pstables.h: Regenerated.
-
-2008-09-13  Werner Lemberg  <[email protected]>
-
-	* autogen.sh, builds/unix/configure.raw,
-	include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
-	beautifying.
-
-	* include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
-	include/freetype/ftlcdfil.h: Protect against FreeType 1.
-	Some other minor fixes.
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-2008-09-11  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbase.c: Include ftadvanc.c.
-
-2008-09-11  suzuki toshiya  <[email protected]>
-
-	* builds/unix/ftconfig.in: Duplicate the cpp computation of
-	FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
-	(FT_USE_AUTOCONF_SIZEOF_TYPES): New macro.  If defined, the cpp
-	computation is disabled and the statically configured sizes are
-	used.  This fixes Savannah bug #21250.
-
-	* builds/unix/configure.raw: Add the checks to compare the cpp
-	computation results of the bit length of int and long versus the
-	sizes detected by running `configure'.  If the results are
-	different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
-	results.
-	New option --{enable|disable}-biarch-config is added to define or
-	undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
-
-2008-09-05  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
-	ApplicationServices framework is missing.  Although this value is not
-	used in building of FreeType2, it is written in `freetype2.pc' and
-	`freetype-config'.
-
-2008-09-01  David Turner  <[email protected]>
-
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
-	index to mean `use default cached FT_Face's charmap'.  This fixes
-	Savannah bug #22625.
-	* include/freetype/ftcache.h: Document it.
-
-
-	Make FT_MulFix an inlined function.  This is done to speed up
-	FreeType a little (on x86 3% when loading+hinting, 10% when
-	rendering, ARM savings are more important though).  Disable this by
-	undefining FT_CONFIG_OPTION_INLINE_MULFIX.
-
-	Use of assembler code can now be controlled with
-	FT_CONFIG_OPTION_NO_ASSEMBLER.
-
-	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
-	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
-	implementation.
-	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
-	implementation taken from `ftcalc.c'.
-	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
-	which is defined to the platform-specific assembler implementation
-	of FT_MulFix.
-	[FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
-	(FT_MULFIX_INLINED): New macro.
-
-	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
-	FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
-
-	* include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
-
-	* src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
-	FT_MULFIX_INLINED.
-
-
-	Add a new header named FT_ADVANCES_H declaring some new APIs to
-	extract the advances of one or more glyphs without necessarily
-	loading their outlines.  Also provide `fast loaders' for the
-	TrueType, Type1, and CFF font drivers (more to come later).
-
-	* src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
-
-	* include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
-	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
-
-	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
-	`flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
-	respectively.
-
-	* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
-	ftadvanc.c.
-
-	* src/cff/cffdrivr.c (cff_get_advances): New function.
-	(cff_driver_class): Register it.
-
-	* src/cff/cffgload.c (cff_decoder_set_width_only): New function.
-	(cff_decoder_parse_charstrings): Handle `width_only'.
-	(cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
-
-	* src/cff/cffgload.h (cff_decoder): New element `width_only'.
-	(cff_decoder_set_width_only): New declaration.
-
-	* src/truetype/ttdriver.c (tt_get_advances): New function.
-	(tt_driver_class): Register it.
-
-	* src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
-	(TT_Get_HMetrics, TT_Get_VMetrics): This.
-	Update callers.
-	* src/truetype/ttgload.h: Declare them.
-
-	* src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
-	function.
-	* src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
-
-
-	Add checks for minimum version of the `autotools' stuff.
-
-	* autogen.sh: Implement it.
-	(get_major_version, get_minor_version, get_patch_version,
-	compare_to_minimum_version, check_tool_version): New auxiliary
-	functions.
-
-	* README.CVS: Document it.
-
-2008-08-29  suzuki toshiya  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
-	tttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
-
-2008-08-28  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_encoding): Protect against infinite
-	loop.  This fixes Savannah bug #24150 (where a patch has been posted
-	too).
-
-2008-08-23  Werner Lemberg  <[email protected]>
-
-	* src/type/t1afm.c (compare_kern_pairs), src/psaux/afmparse.c
-	(afm_compare_kern_pairs): Fix comparison.  This fixes Savannah bug
-	#24119.
-
-2008-08-19  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
-	even if passed library or arguments are invalid.  This fixes a bug
-	that an uninitialized stream is freed when an invalid library handle
-	is passed.  Originally proposed by Mike Fabian, 2008/08/18 on
-	freetype-devel.
-	(FT_Open_Face): Ditto (stream).
-	(load_face_in_embedded_rfork): Ditto (stream2).
-
-2008-08-18  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Add a fallback to guess the availability of the
-	`ResourceIndex' type.  It is used when built without configure
-	(e.g., a build with Jam).
-	* builds/mac/ftmac.c: Ditto.
-	* builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
-	explicitly, even if `ResourceIndex' is unavailable.
-
-2008-08-18  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: In checking of Mac OS X features,
-	all-in-one header file `Carbon.h' is replaced by the minimum
-	header file `CoreServices.h', similar to current src/base/ftmac.c.
-
-2008-08-18  suzuki toshiya  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
-	sub-header when its code_count is 0.  Many Japanese Dynalab fonts
-	include such an empty sub-header (code_count == 0, first_code == 0
-	delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
-
-2008-08-04  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1tokens.h: Handle `ForceBold' keyword.  This fixes
-	Savannah bug #23995.
-
-	* src/cid/cidload.c (parse_expansion_factor): New callback function.
-	(cid_field_records): Use it for `ExpansionFactor'.
-	* src/cod/cidtoken.h: Handle `ForceBold' keyword.
-	Don't handle `ExpansionFactor'.
-
-2008-08-04  Bram Tassyns  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
-	resulted in incorrect scaling.  This fixes Savannah bug #23973.
-
-2008-08-04  Werner Lemberg  <[email protected]>
-
-	Be more tolerant w.r.t. invalid entries in SFNT table directory.
-
-	* src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
-	adjust table count.
-	Add more trace messages.
-	(tt_face_load_font_dir): Updated.
-
-2008-07-30  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
-	assume that the first argument on the stack is the bottom-most
-	element.  Two reasons:
-
-	  o According to people from Adobe it is missing in the Type 2
-	    specification that pushing of additional, superfluous arguments
-	    on the stack is prohibited.
-
-	  o Acroread in general handles fonts differently, namely by popping
-	    the number of arguments needed for a particular operand (as a PS
-	    interpreter would do).  In case of buggy fonts this causes a
-	    different interpretation which of the elements on the stack are
-	    superfluous and which not.
-
-	Since there are CFF subfonts (embedded in PDFs) which rely on
-	Acroread's behaviour, FreeType now does the same.
-
-2008-07-27  Werner Lemberg  <[email protected]>
-
-	Add extra mappings for `Tcommaaccent' and `tcommaaccent'.  This
-	fixes Savannah bug #23940.
-
-	* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
-	(EXTRA_GLYPH_LIST_SIZE): This.
-	Increase by 2.
-	(ft_wgl_extra_unicodes): Rename to...
-	(ft_extra_glyph_unicodes): This.
-	Add two code values.
-	(ft_wgl_extra_glyph_names): Rename to...
-	(ft_extra_glyph_names): This.
-	Add two glyphs.
-	(ft_wgl_extra_glyph_name_offsets): Rename to...
-	(ft_extra_glyph_name_offsets): This.
-	Add two offsets.
-
-	(ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
-	(ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
-	Updated.
-	(ps_unicodes_init): Updated.
-
-2008-07-26  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_decoder_prepare,
-	cff_decoder_parse_charstrings): Improve debug output.
-
-2008-07-22  Martin McBride  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
-	tt_cmap4_char_map_binary): Handle fonts which treat the last segment
-	specially.  According to the specification, such fonts would be
-	invalid but acroread accepts them.
-
-2008-07-16  Jon Foster  <[email protected]>
-
-	* src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
-
-	* src/base/ftcalc.c (FT_MulFix): Fix portability issue.
-
-	* src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
-	Fix compiler warning.
-
-2008-07-16  Werner Lemberg  <[email protected]>
-
-	Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
-
-	* src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
-	Invert sids table only if `pure_cff' is set.
-	* src/cff/cffload.h: Updated.
-
-	* src/cff/cffobjs.c (cff_face_init): Updated.
-	Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
-
-	* docs/CHANGES: Updated.
-
-2008-07-09  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
-	where num_locations < num_glyphs.  Problem reported by Ding Li.
-
-2008-07-05  Werner Lemberg  <[email protected]>
-
-	Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
-	newer.  This fixes Savannah bug #23648.
-
-	* configure: zsh doesn't like ${1+"$@"}.
-	Update needed GNU make version.
-	* builds/toplevel.mk: Check for `$(eval ...)'.
-	* docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
-	it.
-
-2008-07-04  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
-	pixel, only check for dropouts if neither start nor end point lies
-	on a pixel center.  This fixes Savannah bug #23762.
-
-2008-06-29  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.7 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-7'.
-
-	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
-	version number to 2.3.7.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
-
-	* builds/unix/configure.raw (version_info): Set to 9:18:3.
-
-	* docs/release: Updated.
-
-2008-06-28  Werner Lemberg  <[email protected]>
-
-	* src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
-	* src/ftcalc.c: Here.  This fixes Savannah bug #23729.
-
-2008-06-27  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
-	Horizontal_Gray_Sweep_Drop): Test for intersections which
-	degenerate to a single point can be ignored; this has been confirmed
-	by Greg Hitchcock from Microsoft.  (This was commented out code.)
-
-2008-06-26  Werner Lemberg  <[email protected]>
-
-	Improve navigation in API reference.
-
-	* src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
-	(html_header_6): This.
-	(html_header_3, html_header_3i, html_header_4, html_header_5,
-	html_header_5t): New strings.
-	(toc_footer_start, toc_footer_end): New strings.
-	(HtmlFormatter::html_header): Updated.
-	(HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
-	New strings.
-	(HtmlFormatter::index_enter): Use `html_index_header'.
-	(HtmlFormatter::index_exit): Print `html_footer'.
-	(HtmlFormatter::toc_enter): Use `html_toc_header'.
-	(HtmlFormatter::toc_exit): Print proper footer.
-
-	Convert ~ to non-breakable space.
-
-	* src/tools/docmaker/tohtml.py (make_html_para): Implement it.
-	Update header files accordingly.
-
-2008-06-24  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Check type `ResourceIndex' explicitly
-	and define HAVE_TYPE_RESOURCE_INDEX if it is defined.  Mac OS X 10.5
-	bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
-	ResourceIndex type definition.  The macro does not inform the type
-	availability.
-	* src/base/ftmac.c: More parentheses are inserted to clarify the
-	conditionals to disable legacy APIs in `10.5 and later' cases.  If
-	HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
-
-2008-06-24  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
-	mode.
-
-	* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
-	Draw_Sweep): No-dropout mode is value 2, not value 0.
-	(Draw_Sweep): Really skip dropout handling for no-dropout mode.
-
-2008-06-24  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
-	if it consists of one point only.  Based on a patch from Savannah
-	bug #23683 (from John Tytgat).
-
-2008-06-22  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
-	with IS_HINTED.
-
-	* docs/CHANGES: Updated.
-
-2008-06-22  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
-	but LDFLAGS does not, import it to LDFLAGS.  The option is used to
-	specify non-default SDK on Mac OS X (e.g., universal binary SDK for
-	Mac OS X 10.4 on PowerPC platform).  Although Apple TechNote 2137
-	recommends to add the option only to CFLAGS, LDFLAGS should include
-	it because libfreetype.la is built with -no-undefined.  This fixes a
-	bug reported by Ryan Schmidt in MacPorts,
-	https://trac.macports.org/ticket/15331.
-
-2008-06-21  Werner Lemberg  <[email protected]>
-
-	Enable access to the various dropout rules of the B&W rasterizer.
-	Pass dropout rules from the TT bytecode interpreter to the
-	rasterizer.
-
-	* include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
-	FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline.
-
-	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
-	Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
-	OpenType specification.
-	Fix mode 4 computation.
-	(Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
-	mode to FT_OUTLINE_XXX flags.
-
-	* src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
-
-2008-06-19  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Compute final
-	`dict->units_per_em' value before assigning it to
-	`cffface->units_per_EM'.  Otherwise, CFFs without subfonts are
-	scaled incorrectly if the font matrix is non-standard.  This fixes
-	Savannah bug #23630.
-
-	* docs/CHANGES: Updated.
-
-2008-06-19  Werner Lemberg  <[email protected]>
-
-	* src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
-	from 2008-06-19.
-
-2008-06-18  Werner Lemberg  <[email protected]>
-
-	* src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
-	Reported by Peter Weilbacher <[email protected]>.
-
-	* docs/CHANGES: Updated.
-
-2008-06-15  George Williams  <[email protected]>
-
-	* src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
-	`valid->extra2' to 1.  This is undocumented in the OpenType 1.5
-	specification.
-
-2008-06-15  Werner Lemberg  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
-	from clobbering.  Patch from Savannah bug report #23556.
-
-	* docs/CHANGES: Document it.
-
-2008-06-10  Werner Lemberg  <[email protected]>
-
-	* autogen.sh: Add option `--install' to libtoolize.
-
-2008-06-10  Werner Lemberg  <[email protected]>
-
-	* Version 2.3.6 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-6'.
-
-	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
-	version number to 2.3.6.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
-
-	* builds/unix/configure.raw (version_info): Set to 9:17:3.
-
-
-	* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
-	and `scale_y'.
-	* src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
-
-
-	* src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
-	* src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
-
-2008-06-10  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (open_face): Check `clazz->init_face' and
-	`clazz->done_face'.
-
-2008-06-09  VaDiM  <[email protected]>
-
-	Support debugging on WinCE.  From Savannah patch #6536; this fixes
-	bug #23497.
-
-	* builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
-	as a replacement for OutputDebugStringA (which WinCE doesn't have).
-	Update all callers.
-	(ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
-	environment variables.
-
-2008-06-09  Werner Lemberg  <[email protected]>
-
-	* README.CVS: Updated.
-
-	* builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
-	for newer versions of autoconf and friends.
-
-2008-06-08  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
-	`private_len' unsigned.
-
-	* src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
-	it as such.
-	(T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
-
-
-	* src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
-
-
-	* src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
-	for sane value.
-	Fix typo.
-
-
-	* src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
-
-
-	* src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
-	`last_point'.
-
-
-	* src/sfnt/ttload.c (tt_face_load_max_profile): Limit
-	`maxTwilightPoints'.
-
-2008-06-06  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
-	correctly.  This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
-
-2008-06-03  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftcache.h (FTC_FaceID): Change type back to
-	FT_Pointer.  Reported by Ian Britten <[email protected]>.
-
-2008-06-02  Werner Lemberg  <[email protected]>
-
-	Emit header info for defined FreeType objects in reference.
-
-	* src/tools/docmaker/content.py (re_header_macro): New regexp.
-	(ContentProcessor::__init__): Initialize new dictionary `headers'.
-	(DocBlock::__init__): Collect macro header definitions.
-
-	* src/tools/docmaker/tohtml.py (header_location_header,
-	header_location_footer): New strings.
-	(HtmlFormatter::__init__): Pass `headers' dictionary.
-	(HtmlFormatter::print_html_field): Don't emit paragraph tags.
-	(HtmlFormatter::print_html_field_list): Emit empty paragraph.
-	(HtmlFormatter::block_enter): Emit header info.
-
-2008-06-01  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
-	FT_INCREMENTAL_H): Added.
-
-2008-05-28  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/sources.py (SourceBlock::__init__): While
-	looking for markup tags, return immediately as soon a single one is
-	found.
-
-2008-05-28  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
-	original, unscaled input values.  Confirmed by Greg Hitchcock from
-	Microsoft.
-
-2008-05-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py (block_footer_start,
-	block_footer_middle): Beautify output.
-
-2008-05-25  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (fc_black_render): Return 0 when we are
-	trying to render into a zero-width/height bitmap, not an error code.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Move initialization
-	of the graphics state for subglyphs to...
-	(TT_Hint_Glyph): This function.
-	Hinting instructions for a composite glyph apparently refer to the
-	just hinted subglyphs, not the unhinted, unscaled outline.  This
-	seems to fix Savannah bugs #20973 and (at least partially) #23310.
-
-2008-05-20  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
-	`aface' is returned by FT_New_Face_From_FOND().  The patch was
-	proposed by an anonymous reporter of Savannah bug #23204.
-
-2008-05-18  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
-	correction for pixel boundary.  Without this patch, the effect can
-	be cumulative under certain circumstances, making glyphs taller and
-	taller after each call.  This fixes Savannah bug #19976.
-
-2008-05-18  Werner Lemberg  <[email protected]>
-
-	* src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
-	This fixes Savannah bug #23280.
-
-	* docs/CHANGES: Updated.
-
-2008-05-18  David Turner  <[email protected]>
-
-	* src/psnames/psmodule.c (ft_wgl_extra_unicodes,
-	ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
-	ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
-	declarations non-global.
-
-	* src/type1/t1load.c: Add missing comment.
-
-2008-05-17  Sam Hocevar  <samh>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
-	glyphs correctly.  Patch from Savannah bug #23277.
-
-2008-05-16  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2008-05-16  Sergey Tolstov  <[email protected]>
-
-	Improve support for WGL4 encoded fonts.
-
-	* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
-	(ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
-	ft_wgl_extra_glyph_name_offsets): New arrays.
-	(ps_check_wgl_name, ps_check_wgl_unicode): New functions.
-	(ps_unicodes_init): Use them to add additional Unicode mappings.
-
-2008-05-15  Werner Lemberg  <[email protected]>
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_closepath>: `closepath' without a path is a no-op, not an error
-	(cf. the PS reference manual).
-
-	Reported by Martin McBride.
-
-2008-05-15  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
-
-2008-05-15  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
-	which contains a single but empty entry.  This is technically
-	invalid (since it must end with `return'), but...
-
-	Reported by Martin McBride.
-
-2008-05-14  Werner Lemberg  <[email protected]>
-
-	Finish fix of scaling bug of CID-keyed CFF subfonts.
-
-	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
-	(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
-	functions.
-
-	* src/cff/cffobjs.h (CFF_Internal): New struct.  It is used to
-	provide global hinting data for both the top-font and all subfonts
-	(with proper scaling).
-
-	* src/cff/cffobjs.c (cff_make_private_dict): New function, using
-	code from `cff_size_init'.
-	(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
-	Use CFF_Internal and handle subfonts.
-	(cff_face_init): Handle top-dict and subfont matrices correctly;
-	apply some heuristic in case of unlikely matrix concatenation
-	results.  This has been discussed with people from Adobe (thanks
-	goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
-	and not correct.
-
-	* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
-
-	* src/cff/cffgload.c (cff_builder_init): Updated.
-	(cff_decoder_prepare): Handle hints globals for subfonts.
-	Update all callers.
-	(cff_slot_load): Handling scaling of subfonts properly.
-
-	* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
-	(cff_parse_font_matrix): Use it.
-
-	* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
-	FT_ULong.
-
-	* docs/CHANGES: Document it.
-
-2008-05-13  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
-	Handle case `face_index < 0'.
-	* docs/CHANGES: Document it.
-
-2008-05-04  Werner Lemberg  <[email protected]>
-
-	First steps to fix the scaling bug of CID-keyed CFF subfonts,
-	reported by Ding Li on 2008/03/28 on freetype-devel.
-
-	* src/base/cff/cffparse.c (power_tens): New array.
-	(cff_parse_real): Rewritten to introduce a fourth parameter which
-	returns the `scaling' of the real number so that we have no
-	precision loss.  This is not used yet.
-	Update all callers.
-	(cff_parse_fixed_thousand): Replace with...
-	(cff_parse_fixed_scaled): This function.  Update all callers.
-
-2008-05-03  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
-	transformation since it recursively calls FT_Load_Glyph.  This fixes
-	Savannah bug #23143.
-
-2008-04-26  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
-	and `scale_y' as obsolete since they aren't used.
-	* src/psaux/psobjs.c (t1_builder_init): Updated.
-
-	* src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
-	obsolete since they aren't used.
-	* src/cff/cffgload.c (cff_builder_init): Updated.
-
-2008-04-14  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
-	`FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZW'.  From Savannah
-	bug #22909.
-
-2008-04-13  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
-	integer part is zero.
-
-2008-04-01  Werner Lemberg  <[email protected]>
-
-	Fix compilation with g++ 4.1 (with both `single' and `multi'
-	targets).
-
-	* src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
-	which is crossed by a `goto'.
-
-	* src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
-
-2008-03-31  Werner Lemberg  <[email protected]>
-
-	Fix support for subsetted CID-keyed CFFs.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
-	FT_IS_CID_KEYED): New macros.
-
-	* src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
-	maximum CID value in CID-keyed CFFs.
-	Handle FT_FACE_FLAG_CID_KEYED flag.
-
-	* docs/CHANGES: Document it.
-
-
-	Fix CFF font matrix calculation and improve precision.
-
-	* src/cff/cffparse.c (cff_parse_real): Increase precision if integer
-	part is zero.
-	(cff_parse_font_matrix): Simplify computation of `units_per_em';
-	this prevents overflow also.
-
-
-	Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
-
-	* src/cid/cidriver.c: Include FT_SERVICE_CID_H.
-	(cid_get_ros): New function.
-	(cid_service_cid_info): New service structure.
-	(cid_services): Register it.
-
-2008-03-23  Werner Lemberg  <[email protected]>
-
-	Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
-
-	* builds/compiler/visualc.mk (CFLAGS): Remove /W5.
-	(ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
-
-2008-03-21  Laurence Darby  <ldarby>
-
-	* src/type1/t1objs.c (T1_Face_Init): Use `/Weight'.  Patch from
-	Savannah bug #22675.
-
-2008-03-13  Derek Clegg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
-	Patch from Savannah bug #22541.
-
-2008-03-03  Masatoshi Kimura  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
-	tt_cmap14_find_variant): Return correct value.
-	(tt_cmap14_variant_chars): Fix check for `di'.
-
-2008-02-29  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2008-02-29  Wolf
-
-	Add build support for symbian platform.  From Savannah bug #22440.
-
-	* builds/symbian/*: New files.
-
-2008-02-21  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
-	synthesis.  For any face of a specified FOND, always the name for
-	the first face was used.  Except of a FOND that refers multiple
-	Type1 font files, wrong synthesized font names are not used at all,
-	so this is an invisible bug.  A few limit checks are added too.
-
-	* builds/mac/ftmac.c: Ditto.
-
-2008-02-21  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Split compiler option to link Carbon
-	frameworks to one option for CoreServices framework and another
-	option for ApplicationServices framework.  The split options can be
-	managed by GNU libtool to avoid unrequired duplication when FreeType
-	is linked with other applications.  Suggested by Daniel Macks,
-	Savannah bug #22366.
-
-2008-02-18  Victor Stinner  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_IUP): Check number of points.  Fix
-	from Savannah bug #22356.
-
-2008-02-17  Jonathan Blow  <[email protected]>
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Check for valid callback pointers.
-
-2008-02-15  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
-	handle by its value instead of ResError(), fix provided by Deron
-	Kazmaier.  According to the Resource Manager Reference,
-	GetResource(), Get1Resource(), GetNamedResource(),
-	Get1NamedResource() and RGetResource() set noErr but return NULL
-	handle when they can not find the requested resource.  These
-	functions never return undefined values, so it is sufficient to
-	check if the handle is not NULL.
-
-	* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
-
-2008-02-14  suzuki toshiya  <[email protected]>
-
-	* src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
-	inclusion styles.  Now it always includes src/base/ftmac.c;
-	builds/mac/ftmac.c is never included in any configuration.
-
-	* builds/unix/configure.raw: Print warning if configure is executed
-	with options to specify Carbon functionalities explicitly.
-
-	* docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
-	included automatically and manual replacement is required.
-
-2008-02-11  Werner Lemberg  <[email protected]>
-
-	* builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
-	(dos_setup), builds/freetype.mk (clean_project_dos,
-	distclean_project_dos): Don't use \ but $(SEP).  Reported by Duncan
-	Murdoch.
-
-2008-01-18  Sylvain Pasche  <[email protected]>
-
-	* src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
-	mention intra-pixel algorithm.
-
-	* include/freetype/freetype.h (FT_Render_Mode): Mention that
-	FT_Library_SetLcdFilter can be used to reduce fringes.
-
-2008-01-16  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (ft_black_render): Check `outline' before
-	using it.  Reported by Allan Yang.
-
-2008-01-12  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
-
-2008-01-12  Allan Yang, Jian Hua - SH  <[email protected]>
-
-	* src/raster/ftraster.c (ft_black_init)
-	[FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
-
-2008-01-10  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Handle the case
-	where the number of contours in a simple glyph is zero (and which
-	does contain an entry in the `glyf' table).  This fixes Savannah bug
-	#21990.
-
-2008-01-04  suzuki toshiya  <[email protected]>
-
-	Formatting suggested by Sean McBride.
-
-	* builds/mac/ftmac.c: Formatting (tab expanded).
-	* src/autofit/afindic.c: Ditto.
-	* src/base/ftcid.c: Ditto.
-	* src/base/ftmac.c: Ditto.
-
-2007-12-30  Werner Lemberg  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
-	correctly.
-
-2007-12-21  suzuki toshiya  <[email protected]>
-
-	Improvement of POSIX resource-fork accessor to load unsorted
-	references in a resource.  In HelveLTMM (resource-fork PostScript
-	Type1 font bundled with Mac OS X since 10.3.x), the appearance order
-	of PFB chunks is not sorted; sorting the chunks by reference IDs is
-	required.
-
-	* include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
-	type to store a pair of reference ID and offset to the chunk.
-
-	* src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
-	sort FT_RFork_Ref by their reference IDs.
-
-	(FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
-	sorted by reference ID.
-
-2007-12-14  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
-	division too early; otherwise the most significant digit(s) of the
-	final result are lost as the value is truncated to an integer.  This
-	fixes Savannah bug #21794 (where the patch has been posted too).
-
-2007-12-06  Fix  <[email protected]>
-
-	Pass options from one configure script to another as-is (not
-	expanded).  This is needed for options like
-	--includedir='${prefix}/include'.
-
-	* builds/unix/detect.mk, configure: Prevent argument expansion in
-	call to the (real) `configure' script.
-
-2007-12-06  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
-	TT_USE_BYTECODE_INTERPRETER isn't defined.
-
-2007-12-06  Werner Lemberg  <[email protected]>
-
-	There exist CFFs which contain opcodes for the Type 1 operators
-	`hsbw' and `closepath' which are both invalid in Type 2 charstrings.
-	However, it doesn't harm to support them.
-
-	* src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
-	`cff_op_closepath.'
-	(cff_argument_counts): Ditto.
-
-	(cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
-	and 13 (hsbw) which are invalid in Type 2 charstrings.
-
-2007-12-06  suzuki toshiya  <[email protected]>
-
-	* src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
-	support new pathname syntax `..namedfork/rsrc' to access a resource
-	fork on Mac OS X.  The legacy syntax `/rsrc' does not work on
-	case-sensitive HFS+.
-	(raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
-	buffer size to store a pathname.
-	* include/freetype/internal/ftrfork.h: Increment the number of
-	resource fork guessing rule.
-
-2007-12-06  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Improve the compile tests to search
-	Carbon functions.
-	* builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
-	proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
-
-2007-12-06  suzuki toshiya  <[email protected]>
-
-	The documents and comments for Mac OS X are improved by Sean
-	McBride.
-
-	* src/base/ftmac.c: Fix a comment.
-	* include/freetype/ftmac.h: Ditto.
-	* docs/INSTALL.MAC: Improve English and add comment on lowest
-	system version specified by MACOSX_DEPLOYMENT_TARGET.
-
-2007-12-04  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
-	concatenate error codes.
-	* src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
-
-2007-12-04  Graham Asher  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
-	concatenate error codes.
-
-2007-12-04  Sean McBride  <[email protected]>
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
-	warning.
-
-2007-11-20  suzuki toshiya  <[email protected]>
-
-	Fix MacOS legacy font support by Masatake Yamato on Mac OS X.  It is
-	not working since 2.3.5.  In FT_Open_New(), if FT_New_Stream()
-	cannot mmap() the specified file and cannot seek to head of the
-	specified file, it returns NULL stream and FT_Open_New() returns the
-	error immediately.  On MacOS, most legacy MacOS fonts fall into such
-	a scenario because their data forks are zero-sized and cannot be
-	sought.  To proceed to guessing of resource fork fonts, the
-	functions for legacy MacOS font must properly handle the NULL stream
-	returned by FT_New_Stream().
-
-	* src/base/ftobjs.c (IsMacBinary): Return error
-	FT_Err_Invalid_Stream_Operation immediately when NULL stream is
-	passed.
-	(FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
-	to fallback.  Originally, legacy MacOS font is tested in the cases
-	of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
-	or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
-	.dfont header is combined).  Now the case of
-	FT_Err_Cannot_Open_Stream is included.
-
-	* src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
-	skip FT_Stream_Seek(), which seeks to the head of stream, and
-	proceed to unit testing of raccess_guess_XXX().  FT_Stream_Seek()
-	for a NULL stream causes a Bus error on Mac OS X.
-	(raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
-	immediately if passed stream is NULL.
-	(raccess_guess_apple_single): Ditto.
-
-2007-11-16  suzuki toshiya  <[email protected]>
-
-	Fix for Carbon incompatibilities since Mac OS X 10.5,
-	proposed by Sean McBride.
-
-	* doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
-
-	* include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
-	FT_GetFilePath_From_Mac_ATS_Name.  Since Mac OS X 10.5, calling
-	Carbon functions from a forked process is classified as unsafe
-	by Apple.  All Carbon-dependent functions should be deprecated.
-
-	* src/base/ftmac.c: Use essential header files
-	<CoreServices/CoreServices.h> and
-	<ApplicationServices/ApplicationServices.h> instead of
-	all-in-one header file <Carbon/Carbon.h>.
-
-	Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
-	genuine macro PATH_MAX.
-
-	Add fallback macro for kATSOptionFlagsUnRestrictedScope which
-	is not found in Mac OS X 10.0.
-
-	Multi-character constants ('POST', 'sfnt' etc) are replaced by
-	64bit constants calculated by FT_MAKE_TAG() macro.
-
-	For the index in the segment of resource fork, new portable
-	type ResourceIndex is introduced for better compatibility.
-	This type is since Mac OS X 10.5, so it is defined as short
-	when built on older platforms.
-
-	(FT_ATSFontGetFileReference): If build target is only the systems
-	10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
-
-	(FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
-	and newer or 64bit platform, because legacy type FSSpec type is
-	removed completely.
-
-	(FT_New_Face_From_FSSpec): Ditto.
-
-2007-11-01  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere.  This
-	fixes Savannah bug #21485.
-
-2007-10-29  Daniel Svoboda  <dasvo@planeta@cz>
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
-	can handle the font at all, then check `face_index'.  Otherwise, the
-	driver might return the wrong error code.  This fixes Savannah bug
-	#21468.
-
-2007-10-21  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
-	support for bit 8 of the `fsSelection' field in the `OS/2' table.
-	MS is already using this; hopefully, this becomes part of OpenType
-	1.5.
-	Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
-	(WWS_SUBFAMILY).
-
-2007-10-20  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
-	Add `td.left' element to CSS.
-	(toc_section_enter): Use it.
-
-2007-10-18  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h, src/base/ftobjs.c: Rename API
-	functions related to cmap type 14 support to the
-	`FT_Object_ActionName' scheme:
-
-	  FT_Get_Char_Variant_Index     -> FT_Face_GetCharVariantIndex
-	  FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
-	  FT_Get_Variant_Selectors      -> FT_Face_GetVariantSelectors
-	  FT_Get_Variants_Of_Char       -> FT_Face_GetVariantsOfChar
-	  FT_Get_Chars_Of_Variant       -> FT_Face_GetCharsOfVariant
-
-	Update documentation accordingly.
-
-	* src/sfnt/ttcmap.c: Stronger cmap 14 validation.
-	Make the code a little more consistent with FreeType coding
-	conventions and modify the cmap14 functions that returned a newly
-	allocated array to use a persistent vector from the TT_CMap14 object
-	instead.
-
-	(TT_CMap14Rec): Provide array and auxiliary data for result.
-	(tt_cmap14_done, tt_cmap14_ensure): New functions.
-
-	(tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
-	tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
-	tt_cmap14_char_var_index, tt_cmap14_variants,
-	tt_cmap14_char_variants, tt_cmap14_def_char_count,
-	tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
-	tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
-
-2007-10-15  George Williams  <[email protected]>
-
-	Add support for cmap type 14.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_CMAP_FORMAT_14): New macro.
-
-	* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
-	FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
-	FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
-	support function prototypes.
-	(FT_CMap_ClassRec): Add them.
-	Update all users.
-
-	* include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
-	macro.
-
-	* include/freetype/freetype.h (FT_Get_Char_Variant_Index,
-	FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
-	FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
-	functions.
-
-	* src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
-	function.
-	(FT_Set_Charmap): Disallow cmaps of type 14.
-	(FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
-	FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
-	FT_Get_Chars_Of_Variant): New API functions.
-
-	* src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
-
-	(TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
-	tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
-	tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
-	tt_cmap14_find_variant, tt_cmap14_char_var_index,
-	tt_cmap14_char_var_isdefault, tt_cmap14_variants,
-	tt_cmap14_char_variants, tt_cmap14_def_char_count,
-	tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
-	tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
-	structures for cmap 14 support.
-	(tt_cmap_classes): Register tt_cmap14_class_rec.
-	(tt_face_build_cmaps): One more error message.
-
-	* docs/CHANGES: Mention cmap 14 support.
-
-2007-10-01  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
-	charmap fails, do the loop again while searching a UCS-2 charmap.
-	This favours MS charmaps over Apple ones.
-
-2007-08-29  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Introduction of abstract `short' data types,
-	ResFileRefNum and ResID.  These types were introduced for Copland,
-	then backported to MPW.  The variables exchanged with FileManager
-	QuickDraw frameworks are redefined by these data types.  Patch was
-	proposed by Sean McBride.
-	* builds/mac/ftmac.c: Ditto.
-
-2007-08-18  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/otvcommn.c (otv_x_y_ux_sy): Skip context glyphs.  Found
-	by Imran Yousaf.  Fixes Savannah bug #20773.
-
-	(otv_Lookup_validate): Correct handling of LookupType.  Found by
-	Imran Yousaf.  Fixes Savannah bug #20782.
-
-2007-08-17  George Williams  <[email protected]>
-
-	* src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
-	SingleSubstFormat1.
-
-2007-08-11  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
-	${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
-	Found by Ryan Hill.
-
-2007-08-11  George Williams  <[email protected]>
-
-	* src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
-	(otv_Coverage_validate): Add fourth argument to pass an expected
-	count value.  Update all users.
-	Check glyph IDs.
-	(otv_ClassDef_validate): Check `StartGlyph'.
-
-	* src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
-	checks.
-
-	* src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
-	56 constants.
-	(otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
-	Check glyph IDs.
-
-2007-08-08  Werner Lemberg  <[email protected]>
-
-	* src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
-	src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
-	src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
-	appropriate.  Reported by George.
-
-	* include/freetype/internal/fttrace.h: Define `trace_otvmath'.
-
-	* src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
-
-	* docs/CHANGES: Updated.
-
-2007-08-08  George Williams  <[email protected]>
-
-	Add `MATH' validating support to otvalid module.
-
-	* include/freetype/tttags.h (TTAG_MATH): New macro.
-	* include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
-	(FT_VALIDATE_OT): Updated.
-
-	* src/otvalid/otvmath.c: New file.
-
-	* src/otvalid/otvalid.c: Include otvmath.c.
-	* src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
-
-2007-08-04  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
-	Fixes Savannah bug #20686.
-
-2007-08-03  Werner Lemberg  <[email protected]>
-
-	* src/psnames/psmodule.c: Fix usage of
-	FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro.  Reported by Graham Asher.
-
-2007-07-31  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (open_face_from_buffer): The argument
-	`driver_name' is typed as `const char*' to match with the
-	callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
-	This is same with open_face_from_buffer in src/base/ftobjs.c.
-	Found and fixed by Sean McBride.
-
-2007-07-28  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (count_table): Make it conditional.
-	* src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
-	a preprocessor statement.
-
-2007-07-27  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
-	first usage.  From Savannah patch #6115.
-
-2007-07-16  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2007-07-16  Derek Clegg  <[email protected]>
-
-	Add new service for getting the ROS from a CID font.
-
-	* include/freetype/config/ftheader.h (FT_CID_H): New macro.
-	* include/freetype/ftcid.h: New file.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_CID_H): New macro.
-	* include/freetype/internal/services/svcid.h: New file.
-
-	* src/base/ftcid.c: New file.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
-	(cff_get_ros): New function.
-	(cff_service_cid_info): New service structure.
-	(cff_services): Register it.
-
-	* src/cff/cffload.c (cff_font_done): Free registry and ordering.
-
-	* src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
-
-	* modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
-
-2007-07-11  Derek Clegg  <[email protected]>
-
-	Add support for postscript name service to CFF driver.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
-	(cff_get_ps_name): New function.
-	(cff_service_ps_name): New service structure.
-	(cff_services): Register it.
-
-2007-07-07  Werner Lemberg  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
-	`target'.  Reported by Sean McBride.
-
-2007-07-06  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrcmap.c: Include pfrerror.h.
-
-	* src/autofit/afindic.c: Add some external declarations to pacify
-	`make multi' compilation.
-
-	* src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
-	(cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
-	src/autofit/aflatin.c (af_latin_hints_compute_edges),
-	src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
-	(tt_face_get_metrics), src/base/ftobjs.c (open_face)
-	[FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
-
-	* docs/release: Mention test compilation targets.
-
-2007-07-04  Werner Lemberg  <[email protected]>
-
-	* docs/PROBLEMS: Mention that some PS based fonts can't be
-	handled correctly by FreeType.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Always allow a
-	recursion depth of 1.  This was the maximum value in TrueType 1.0,
-	and some older fonts don't set this field correctly.
-
-	* src/gxvalid/gxvmort1.c
-	(gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
-
-2007-07-03  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
-	`round' to pacify compiler.
-
-2007-07-02  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.3.5 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-5'.
-
-	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
-	version number to 2.3.5.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-
-	* builds/unix/configure.raw (version_info): Set to 9:16:3.
-
-2007-07-01  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h, src/base/ftpatent.c
-	(FT_Face_SetUnpatentedHinting): New function to dynamically change
-	the setting after a face is created.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
-	that created distortions in the bytecode interpreter results.
-
-2007-06-30  David Turner  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_IUP): Add missing variable
-	initialization.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Get rid of an
-	infinite loop in the case of degenerate fonts.
-
-2007-06-26  Rahul Bhalerao  <[email protected]>
-
-	Add autofit module for Indic scripts.  This currently just reuses
-	the CJK-specific functions.
-
-	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
-	macro.
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-	* src/autofit/afindic.c, src/autofit/afindic.h: New files.
-
-	* src/autofit/afglobal.c, src/autofit/aftypes.h,
-	src/autofit/autofit.c: Updated.
-
-	* src/autofit/Jamfile (_sources), * src/autofit/rules.mk
-	(AUTOF_DRV_SRC): Updated.
-
-2007-06-23  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Simple): Fix change from
-	2007-06-16 that prevented the TrueType module from loading most
-	glyphs.
-
-2007-06-20  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
-	change.
-
-2007-06-19  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_encoding): Handle one more error.
-
-2007-06-19  Dmitry Timoshkov  <[email protected]>
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
-	FNT_Err_Invalid_File_Format if file format was recognized but
-	the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
-	Add verbose debug logs to make it easier to debug failing load
-	attempts.
-	(FNT_Face_Init): A single FNT font can't contain more than 1 face,
-	so return an error if requested face index is > 0.
-	Do not do further attempt to load fonts if a previous attempt has
-	failed but returned error FNT_Err_Invalid_File_Format, i.e., the
-	file format has been recognized but no fonts found in the file.
-
-2007-07-19  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Apply patches proposed by Sean McBride.
-	(FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
-	the compiler warnings against unused arguments.
-	(FT_ATSFontGetFileReference): Ditto.
-	(FT_GetFile_From_Mac_ATS_Name): Ditto.
-	(FT_New_Face_From_FSSpec): Ditto.
-	(lookup_lwfn_by_fond): Fix wrong comment.
-	Replace `const StringPtr' by more appropriate type
-	`ConstStr255Param'.
-	FSRefMakePathPath always returns UTF8 POSIX pathname in
-	Mach-O, thus HFS pathname support is dropped.
-	(count_faces): Remove HLock and HUnlock which is not
-	required on Mac OS X anymore.
-	(FT_New_Face_From_SFNT): Ditto.
-	(FT_New_Face_From_FOND): Ditto.
-	* builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
-	except of HFS pathname support and HLock/HUnlock.
-	They are required on classic CFM environment.
-
-2007-06-18  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
-	assertion.
-	(ps_parser_to_bytes): Fix error message.
-
-	* src/type42/t42objs.c (T42_Open_Face): Handle one more error.
-	* src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
-	Don't allow mixed binary and hex strings.
-	Handle string_size == 0 and string_buf == 0.
-	(t42_parse_encoding): Handle one more error.
-
-2007-06-18  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
-	logic.
-	(ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
-	correctly.
-	(ps_parser_load_field_table): Use `fields->array_max' instead of
-	T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
-
-	* src/cff/cffgload.c (cff_decoder_prepare): Fix change from
-	2007-06-06.
-
-2007-06-17  Werner Lemberg  <[email protected]>
-
-	* src/tools/ftrandom.c (font_size): New global variable.
-	(TestFace): Use it.
-	(main): Handle new option `--size' to set `font_size'.
-	(Usage): Updated.
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
-	invalid font.
-	(FNT_Load_Glyph): Protect against invalid bitmap width.
-
-2007-06-16  David Turner  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
-	Prevent integer overflows when rendering very large outlines.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
-	well-formedness of the contours array when loading a glyph.
-
-	* src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
-	and `zp2'.
-	(Ins_IP): Check argument ranges to reject bogus operations properly.
-	(IUP_WorkerRec): Add `max_points' member.
-	(_iup_worker_interpolate): Check argument ranges.
-	(Ins_IUP): Ignore empty outlines.
-
-2007-06-16  Dmitry Timoshkov  <[email protected]>
-
-	* src/winfonts/winfnt.h: Add necessary structures for PE resource
-	parsing.
-	(WinPE32_HeaderRec): New structure.
-	(WinPE32_SectionRec): New structure.
-	(WinPE_RsrcDirRec): New structure.
-	(WinPE_RsrcDirEntryRec): New structure.
-	(WinPE_RsrcDataEntryRec): New structure.
-	(FNT_FontRec): Remove unused `size_shift' field.
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
-	loading bitmap .fon files in PE format.
-
-2007-06-15  Dmitry Timoshkov  <[email protected]>
-
-	* builds/win32/ftdebug.c: Unify debug level handling with other
-	platforms.
-
-2007-06-14  Dmitry Timoshkov  <[email protected]>
-
-	* builds/win32/ftdebug.c (FT_Message): Send debug output to the
-	console as well as to the debugger.
-
-2007-06-14  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
-	cover all ranges which could possibly be handled by the aflatin
-	module (since the default fallback for unknown ranges is now the
-	afcjk module).  It might be necessary to fine-tune this further by
-	splitting off modules for Greek, Cyrillic, or other blocks.
-
-2007-06-11  David Turner  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
-	incorrect segment linking computation.  This was the root cause of
-	Savannah bug #19565.
-
-
-	* src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
-	to improve the Latin auto-hinter.  Note that the new code is
-	disabled by default since it is not stabilized yet.
-
-	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
-	(disabled currently).
-
-	* src/autofit/afhints.c: Remove dead code.
-	(af_axis_hints_new_edge): Add argument to handle segment directions.
-	(af_edge_flags_to_string): New function.
-	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
-	option flags.
-	(af_glyph_hints_reload): Add argument to handle inflections.
-	Simplify.
-	(af_direction_compute): Fine tuning.
-	(af_glyph_hints_align_edge_points): Fix logic.
-	(af_glyph_hints_align_strong_points): Do linear search for small
-	edge counts.
-	(af_glyph_hints_align_weak_points): Skip any touched neighbors.
-	(af_iup_shift): Handle zero `delta'.
-
-	* src/autofit/afhints.h: Updated.
-	(AF_SORT_SEGMENTS): New macro (disabled).
-	(AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Add
-	argument to pass option flags for handling scripts.
-	* src/autofit/afglobal.h: Updated.
-
-	* src/autofit/afcjk.c: Updated.
-	* src/autofit/aflatin.c: Updated.
-	(af_latin_metrics_scale_dim): Don't reduce scale by 2%.
-
-	(af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
-	(af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
-	Don't set `edge->dir'
-	(af_latin_hint_edges): Add more logging.
-
-	* src/autofit/afloader.c: Updated.
-
-2007-06-11  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
-
-2007-06-10  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
-	the TrueType glyph loader.
-
-	* include/freetype/config/ftoption.h: Clarify documentation
-	regarding unpatented hinting.
-
-
-	Add new `FT_Face_CheckTrueTypePatents' API.
-
-	* include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
-	declaration.
-
-	* include/freetype/internal/services/svttglyf.h,
-	src/base/ftpatent.c: New files.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
-	New macro.
-
-	* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
-	`ttpload.h'.
-	(tt_service_truetype_glyf): New service structure.
-	(tt_services): Register it.
-
-	* modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
-	`ftpatent.c'.
-
-2007-06-08  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
-	Fonts without a cmap must be handled correctly by FreeType (anything
-	else would be a bug).
-
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	[FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
-
-2007-06-07  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
-	tt_sbit_decoder_load_image): Protect against integer overflows.
-
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
-	for `x_control' and `y_control'.
-
-2007-06-06  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
-
-
-	* src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
-	FreeType error.
-
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
-	`font_count'.
-
-
-	* src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
-
-
-	* src/cff/cffgload.c (cff_decoder_prepare): Change return type to
-	`FT_Error'.
-	Check `fd_index'.
-	(cff_slot_load): Updated.
-	* src/cff/cffgload.h: Updated.
-
-2007-06-05  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
-	(pfr_glyph_load_simple): Convert assertion into normal FreeType
-	error.
-	Check `idx'.
-	(pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
-	Convert assertion into normal FreeType error.
-
-	* src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
-
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
-
-
-	* src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
-	in case of parsing error.
-	(ps_parser_load_field): Updated.
-
-	* src/type1/t1load.c (parse_font_matrix): Updated.
-
-2007-06-04  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
-
-	* src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
-
-2007-06-03  Werner Lemberg  <[email protected]>
-
-	* src/tools/ftrandom/*: Add the `ftrandom' test program written by
-	George Williams (with some modifications).
-
-2007-06-03  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
-	(T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
-	face == NULL.  Suggested by Graham Asher.
-
-2007-06-03  Ismail Dönmez  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
-
-2007-06-02  Werner Lemberg  <[email protected]>
-
-	* include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
-	FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
-
-	* src/bdf/bdflib.c (bdf_load_font): Use them.
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
-
-2007-06-01  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
-	(FTC_CMapCache_Lookup): Remove unused code.
-
-2007-06-01  Sean McBride  <[email protected]>
-
-	* src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
-	unused.
-
-2007-06-01  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidparse.c (cid_parser_new): Don't continue second search
-	pass for `StartData' if an error has occurred.
-	Exit properly if no `StartData' has been seen at all.
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
-	LONG_MAX to avoid compiler warning.  Suggested by Sean McBride.
-
-2007-05-30  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
-	against too small binary data strings.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
-
-2007-05-28  David Turner  <[email protected]>
-
-	* src/cff/cffgload.c (cff_slot_load): Do not apply the identity
-	transformation.  This significantly reduces the loading time of CFF
-	glyphs.
-
-	* docs/CHANGES: Updated.
-
-	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
-	hinting script to CJK, since it works well with more scripts than
-	latin.  Thanks to Rahul Bhalerao <[email protected]> for pointing
-	this out!
-
-2007-05-25  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2007-05-24  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
-	into TT_USE_BYTECODE_INTERPRETER preprocessor block.
-
-2007-05-24  Graham Asher  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_size_ready_bytecode)
-	[!TT_USE_BYTECODE_INTERPRETER]: Removed.  Unused.
-
-2007-05-22  David Turner  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
-	avoid crashes in case the bytecode interpreter is not used.
-
-
-	Avoid heap blowup with very large .Z font files.  This fixes
-	Savannah bug #19910.
-
-	* src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
-	`in_limit', `pad', `pad_bits', and `in_buff' members.
-	Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
-	`buf_total' members.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten.  It now takes
-	only one argument.
-	(ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
-
-2007-05-20  Ismail Dönmez  <[email protected]>
-
-	* src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
-	(ps_dimension_set_mask_bits): Remove `const'.
-
-2007-05-19  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttmtx.c (tt_face_get_metrics)
-	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
-
-2007-05-19  Derek Clegg  <[email protected]>
-
-	Savannah patch #5929.
-
-	* include/freetype/tttables.h, src/base/ftobjs.c
-	(FT_Get_CMap_Format): New function.
-
-	* include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
-	`format' member.
-	* src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
-	cmap_info->format.
-
-2007-05-19  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
-	before handling subglyphs so that it can be reinitialized each time.
-	This fixes Savannah bug #19859.
-
-2007-05-16  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
-	src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
-	(FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
-	src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
-	tt_face_get_metrics): Fix type-punning issues.
-
-2007-05-15  David Turner  <[email protected]>
-
-	* include/freetype/config/ftstdlib.h,
-	include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
-	ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
-	instead of relying on the locale-dependent functions provided by
-	<ctypes.h>.
-
-2007-05-15  Graham Asher  <[email protected]>
-
-	* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
-	variable.
-	* src/autofit/afloader.c (af_loader_load_g): Ditto.
-
-	* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
-	(open_face_from_buffer): Initialize `stream'.
-	(FT_Request_Metrics): Remove unused variable.
-	Remove redundant `break' statements.
-	(FT_Get_Track_Kerning): Remove unused variable.
-
-	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
-	afm_parse_kern_data): Remove redundant
-	`break' statements.
-	(afm_parser_parse): Ditto.
-	Don't use uninitialized variables.
-
-	* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
-	Use `|' operator instead of `^' to set it.
-	Update all users.
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
-	* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
-	comparison.
-	(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
-	(TT_Load_Glyph): Remove unused variable.
-
-2007-05-13  Derek Clegg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
-	if FT_RENDER_POOL_SIZE is > 0.  From Savannah patch #5928.
-
-2007-05-11  David Turner  <[email protected]>
-
-	* src/cache/ftcbasic.c, include/freetype/ftcache.h
-	(FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
-	functions that allow us to look up glyphs using an FTC_Scaler object
-	to specify the size, making it possible to use fractional pixel
-	sizes.
-
-	* src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
-	`size->cvt_ready'.  Reported by Boris Letocha.
-
-2007-05-09  Graham Asher  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
-	(af_latin_metrics_scale_dim): Fix compiler warnings.
-
-2007-05-06  Werner Lemberg  <[email protected]>
-
-	* builds/win32/visualce/freetype.sln: Removed, as requested by
-	Vincent.
-
-2007-05-04  Vincent RICHOMME  <[email protected]>
-
-	* builds/win32/visualce/*: Add Visual C++ project files for Pocket
-	PC targets.
-
-	* docs/CHANGES: Document them.
-
-2007-05-04  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
-	mmap (which might happen on some RTOS).  From Savannah patch #5909.
-
-2007-05-03  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
-	* include/freetype/freetype.h (FT_Set_Char_Size): Update
-	documentation.
-
-2007-04-28  Victor Stinner  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
-	`cmap'.
-
-2007-04-27  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
-	number of points in contours.  Problem reported by Victor Stinner
-	<[email protected]>.
-	(TT_Process_Simple_Glyph): Synchronize variable types.
-
-2007-04-26  Werner Lemberg  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
-	zero in case of error.  This fixes Savannah bug #19689.
-
-2007-04-25  Boris Letocha  <[email protected]>
-
-	* src/truetype/ttobjs.c: Fix a typo that created a speed regression
-	in the TrueType bytecode loader.
-
-2007-04-10  Martin Horak  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
-	Ignore `hhea' table.  This fixes Savannah bug #19261.
-
-2007-04-09  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.3.4 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-4'.
-
-	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
-	version number to 2.3.4.
-
-	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-
-	* builds/unix/configure.raw (version_info): Set to 9:15:3.
-
-2007-04-09  Martin Horak  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Save and restore
-	memory stream to avoid a crash with the incremental memory
-	interface (Savannah bug #19260).
-
-2007-04-06  David Turner  <[email protected]>
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite
-	bug (Savannah bug #19536).
-
-2007-04-04  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.3.3 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-3'.
-
-	* docs/CHANGES: Mention CVE-2007-1351.
-
-2007-04-03  David Turner  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
-	if one of the resolution values is 0, treat it as if it were the
-	same as the other value.
-
-2007-04-02  David Turner  <[email protected]>
-
-	Add special code to detect `extra-light' fonts and do not snap their
-	stem widths too much to avoid bizarre hinting effects.
-
-	* src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
-	`extra_light' members.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
-	them.
-	(af_latin_metrics_scale_dim): Set `extra_light'.
-	(af_latin_compute_stem_width): Use `extra_light'.
-
-2007-03-28  David Turner  <[email protected]>
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
-	padding.
-
-2007-03-28  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
-	gracefully.
-	(_bdf_set_default_spacing): Increase `name' buffer size to 256 and
-	issue an error for longer names.  This fixes CVE-2007-1351.
-	(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
-	number of code points in Unicode.
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
-	s/232/233/.
-
-	* docs/CHANGES: Mention ftdiff.
-
-2007-03-26  David Turner  <[email protected]>
-
-	* src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
-	corresponding code.
-	(Ins_MD): Last regression fix.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
-	computations in order to ignore single-point contours.  These are
-	never rasterized and correspond in certain fonts to mark-attach
-	points that are very far from the glyph's real outline, ruining the
-	computation.
-
-	* src/autofit/afloader.c (af_loader_load_g): In the case of
-	monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
-	Otherwise code that uses them will most certainly ruin the fixed
-	advance property.
-
-	* docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
-	documentation and bump version number to 2.3.3.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-	* builds/unix/configure.raw (version_info): Set to 9:14:3.
-
-2007-03-26  suzuki toshiya  <[email protected]>
-
-	* builds/unix/ftconfig.in: Disable Carbon framework dependency on
-	64bit ABI on Mac OS X 10.4.x (ppc & i386).  Found by Sean McBride.
-	* builds/vms/ftconfig.h: Ditto.
-	* include/freetype/config/ftconfig.h: Ditto.
-
-2007-03-22  suzuki toshiya  <[email protected]>
-
-	* builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
-	32bit unsigned long overflow by 64bit filesize on LP64 platform, as
-	proposed by Sean McBride:
-	https://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
-
-2007-03-22  suzuki toshiya  <[email protected]>
-
-	* builds/unix/ftconfig.in: Suppress SGI compiler's warning against
-	setjmp, proposed by Sean McBride:
-	https://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
-
-2007-03-19  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
-	conftest.c, to avoid unexpected shell evaluation.  Possibly it is a
-	bug or undocumented behaviour of autoconf.
-
-2007-03-18  David Turner  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
-	fix; testing still needed.
-
-	* src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
-
-2007-03-17  David Turner  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
-	(undocumented) twilight zone special case.
-
-2007-03-09  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.3.2 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-2'.
-
-	* builds/win32/visualc/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
-	s/231/232/.
-
-2007-03-08  David Turner  <[email protected]>
-
-	* docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
-
-	* builds/unix/configure.raw (version_info): Set to 9:13:3.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
-	* README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
-
-	* src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
-	function to work properly, over-writing user-provided buffers in
-	some cases.  Reported by James Cloos <[email protected]>.
-
-
-2007-03-05  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
-	macro for `strstr'.
-
-	* src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
-	`trick_names', as suggested by Ivan Nincic.
-
-2007-03-05  David Turner  <[email protected]>
-
-	* src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
-	case FT_Init_FreeType fails for some reason.  Problem reported by
-	Maximilian Schwerin <[email protected]>.
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Clear the `x_ppem'
-	and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
-	`TT_Size.root.metrics'.  Problem reported by Daniel Glöckner
-	<[email protected]>.
-
-	* src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
-	signed values, not unsigned ones.  Problem reported by Johannes
-	Walther <[email protected]>.
-
-2007-02-21  David Turner  <[email protected]>
-
-	* src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
-	of small and ghost stems in the Postscript interpreter.
-
-2007-02-20  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
-	leak, patch by "Jjgod Jiang" <[email protected]>.
-	* builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
-
-2007-02-16  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
-	* src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
-
-2007-02-14  David Turner  <[email protected]>
-
-	It seems that the following changes fix most of the known
-	interpreter problems with my fonts, but more testing is needed,
-	though.
-
-	* src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
-	(TT_MulFix14): Rewrite.
-	(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
-	(Ins_MIRP): Ditto.
-
-2007-02-12  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
-	warnings.
-
-	* src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
-	(bdf_interpret_style): Ditto.
-
-2007-02-12  David Turner  <[email protected]>
-
-	Simplify projection and dual-projection code interface.
-
-	* src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
-	FT_Vector' as argument type.
-	* src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
-	Updated.
-	(CUR_fast_project, CUR_fast_dualproj): New macros.
-	(Project, Dual_Project, Project_x, Project_y): Updated.
-	(Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
-	macros.
-
-
-	* src/autofit/afloader.c (af_loader_load_g): Improve spacing
-	adjustments for the non-light auto-hinted modes.  Gets rid of
-	`inter-letter spacing is too wide' problems.
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments,
-	af_latin_hints_compute_edges): Slight optimization of the segment
-	linker and better handling of serif segments to get rid of broken
-	`9' in Arial at 9pt (96dpi).
-
-
-	Introduce new string functions and the corresponding macros to get
-	rid of various uses of strcpy and other `evil' functions, as well as
-	to simplify a few things.
-
-	* include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
-	ft_mem_strcpyn): New declarations.
-	(FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
-	macros.
-	* src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
-	functions.
-
-	* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Init),
-	src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
-	(pcf_get_properties, pcf_interpret_style, pcf_load_font),
-	src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
-	(cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
-	src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
-	(t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
-	t42_get_name_index): Use new functions and simplify code.
-
-	* builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
-
-2007-02-11  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afloader.c (af_loader_load_g): Don't change width for
-	non-spacing glyphs.
-
-2007-02-07  Tom Parker  <[email protected]>
-
-	* src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
-	pointer.
-
-2007-02-05  suzuki toshiya  <[email protected]>
-
-	* include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
-	Introduce __attribute((deprecated))__ to warn functions
-	which use non-ANSI data types in its interfaces.
-	(FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
-	(FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
-	(FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
-	(FT_New_Face_From_FSRef): Deprecated, using FSRef.
-
-	* src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
-	to avoid warning in building FreeType.
-	* builds/mac/ftmac.c: Ditto.
-
-2007-02-05  suzuki toshiya  <[email protected]>
-
-	* src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
-	`--with-fsspec' etc.  Replace #include "ftmac.c" with
-	#include <ftmac.c>.
-
-2007-02-05  suzuki toshiya  <[email protected]>
-
-	* include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
-	Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
-	* src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
-	(FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
-	FT_GetFilePath_From_Mac_ATS_Name.
-	* builds/mac/ftmac.c: Ditto.
-
-2007-02-05  suzuki toshiya  <[email protected]>
-
-	* include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
-	FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
-	for passing to FT_New_Face_From_FSSpec.
-
-2007-02-05  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Check whether Mac OS X system headers
-	can be built under ANSI C mode.
-
-	* src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
-	compatible to ANSI C in case system headers are ANSI C incompatible.
-	* builds/mac/ftmac.c (OS_INLINE): Ditto.
-
-2007-02-01  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
-	Explain why applications shouldn't use it.  Found by Alexei.
-
-2007-02-01  Alexei Podtelezhnikov  <[email protected]>
-
-	* builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
-	message.
-
-	* src/gxvalid/gxvmort1.c
-	(gxv_mort_subtable_type1_substTable_validate): Fix debugging
-	message.
-
-2007-01-31  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.3.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-1-FINAL'.
-
-	* builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj: s/230/231/.
-	* builds/win32/visualc/index.html: s/221/231/.
-
-	* vms_make.com: Add `ftgasp'.
-
-2007-01-30  David Turner  <[email protected]>
-
-	Tag sources with VER-2-3-1 to prepare release.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
-	s/2.3.0/2.3.1/.
-
-	* builds/unix/configure.raw (version_info): Set to 9:12:3.
-
-
-	* src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
-	(af_loader_load_g): Disable the warper (i.e., the light hinting
-	improvements) to make a 2.3.1 bugfix release before introducing a
-	new feature.  This should give us more time to tune and improve the
-	warper for the next release.
-
-	* docs/CHANGES: Update accordingly.
-
-2007-01-25  David Turner  <[email protected]>
-
-	For light auto-hinting, improve glyph advance widths and resurrect
-	normal/full hinting to its normal quality.
-
-	* src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
-	and `xmax_delta'.
-	* src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
-	and `xmax_delta'.
-
-	* src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
-	preprocessor conditional with if-clause, handling both light and
-	normal mode.
-
-	* src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
-	(af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
-
-2007-01-25  Werner Lemberg  <[email protected]>
-
-	* docs/release: Updated -- Savannah uses a new uploading scheme.
-
-2007-01-25  David Turner  <[email protected]>
-
-	* src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
-	functions.
-
-	* docs/CHANGES: Document light auto-hinting improvement.
-
-2007-01-25  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_index_get_pointers): Handle last entry
-	correctly in a sanity check.  Since this function is only used to
-	load local and global functions, any charstring that called the last
-	local/global function would fail otherwise.  This fixes Savannah bug
-	#18867.
-
-	* docs/CHANGES: Document it.
-
-2007-01-23  David Turner  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
-	prevented compilation when disabling both the unpatented and the
-	bytecode interpreter in the TrueType font driver.
-
-
-	Fix and enable the warper to improve `light' hinting mode.  This is
-	not necessarily a final version, but it seems to work well.
-
-	* src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
-	Disable code.
-	(af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
-	* src/autofit/aftypes.h: Activate AF_USE_WARPER.
-
-	* src/autofit/afwarp.c (AF_WarpScore): Tune table.
-	(af_warper_compute_line_best): Fix array size of `scores'.
-	(af_warper_compute): Better handling of border cases.
-	* src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
-	and `X2'.
-
-2007-01-21  Werner Lemberg  <[email protected]>
-
-	* ChangeLog: Split off older entries into...
-	* ChangeLog.22: This new file.
-
-2007-01-21  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Document SHZ fix.
-
-2007-01-21  George Williams  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
-	points.
-
-2007-01-21  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttmtx.c (tt_face_get_metrics)
-	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
-
-2007-01-17  Werner Lemberg  <[email protected]>
-
-
-	* Version 2.3.0 released.
-	=========================
-
-
-	Tag sources with `VER-2-3-0-FINAL'.
-
-2007-01-17  Werner Lemberg  <[email protected]>
-
-	* docs/release: Updated.
-
-2007-01-16  David Turner  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
-	src/cff/cffdrivr.c (cff_ps_get_font_info), src/truetype/ttobjs.c
-	(tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
-	warnings.
-
-2007-01-15  Detlef Würkner  <[email protected]>
-
-	* builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
-
-	* builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
-
-2007-01-14  Detlef Würkner  <[email protected]>
-
-	Fix various compiler warnings.
-
-	* src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
-	src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
-	s/index/strike_index/.
-	* src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
-
-	* src/gxvalid/gxvmorx5.c
-	(gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
-
-	* src/truetype/ttinterp.c (Compute_Point_Displacement),
-	src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
-	uninitialized variables.
-
-2007-01-13  suzuki toshiya  <[email protected]>
-
-	* docs/CHANGES, docs/INSTALL.MAC: Improvements.
-
-2007-01-13  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
-	versions up to 0x3FF without complaining.
-
-2007-01-13  Derek Clegg  <[email protected]>
-
-	Add FT_Get_PS_Font_Info interface to CFF driver.
-
-	* src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
-	(CFF_FontRec): Add `font_info' field.
-
-	* src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
-	(cff_font_done): Free font->font_info if necessary.
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_info): New function.
-	(cff_service_ps_info): Register cff_ps_get_font_info.
-
-2007-01-13  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
-	with C++ compiler.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edges): Ditto.
-
-	* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
-	`modules.cfg').
-
-	* src/sfnt/ttsbit0.h: Remove.
-
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
-
-2007-01-12  David Turner  <[email protected]>
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
-	bug in the bitmap emboldener if the pitch of the source bitmap is
-	much larger than its width.
-
-	* src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
-	compilation warning.
-
-2007-01-12  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
-	`automake' CVS module from sources.redhat.com.
-
-2007-01-11  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (is_space): Removed.
-	(parse_encoding, parse_charstrings): Use IS_PS_DELIM.
-	(parse_charstrings): Use IS_PS_TOKEN.
-
-
-	* autogen.sh: Avoid bash specific syntax.
-
-2007-01-11  David Turner  <[email protected]>
-
-	* docs/CHANGES: Small update.
-
-	* builds/unix/configure.raw (version_info): Set to 9:11:3.
-
-	* src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
-	crash with some Mac OS X .dfont files.  Submitted by Masatake
-	Yamato.
-
-	* autogen.sh: Small fix to get it working on Mac OS X properly:
-	The issue is that GNU libtool is called `glibtool' on this platform,
-	and we must call `glibtoolize', since `libtoolize' doesn't exist.
-
-2007-01-10  David Turner  <[email protected]>
-
-	* all-sources: Tag all sources with VER-2-3-0-RC1 and
-	VER-2-3-0.
-
-	* Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
-	version number to 2.3.0.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
-	(FREETYPE_PATCH): Set to 0.
-
-	* include/freetype/ftchapters.h, include/freetype/ftgasp.h,
-	include/freetype/ftlcdfil.h: Update reference documentation with
-	GASP support and LCD filtering sections.
-
-	* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
-	which created an endless loop with some malformed font files.
-
-2007-01-10  Derek Clegg  <[email protected]>
-
-	* src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point
-	values.
-
-2007-01-08  David Turner  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-	* include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
-	a new API `FT_Get_Gasp' to return entries of the `gasp' table
-	corresponding to a given character pixel size.
-
-	* src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
-	`gasp' table, in order to avoid potential problems with later
-	versions.
-
-	* include/freetype/config/ftheader.h (FT_GASP_H): New macro for
-	<freetype/ftgasp.h>.
-
-	* src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
-	modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
-	default build.
-
-2007-01-07  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidparse.c (cid_parser_new): Improve error message for
-	Type 11 fonts.
-	Scan for `/sfnts' token.
-
-2007-01-07  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
-
-2007-01-06  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_index_init): Remove unused variable.
-	(cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
-
-2007-01-04  David Turner  <[email protected]>
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
-	correctly.  This fixes Savannah bug #17876.
-
-
-	Do not allocate interpreter-specific tables in memory if we are not
-	going to load glyphs with the bytecode interpreter anyway.
-
-	* src/truetype/ttgload.c (tt_loader_init): Load execution context
-	only if glyph is hinted.
-	Updated.
-	* src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
-	and `cvs_ready'.
-	Add `tt_size_ready_bytecode' declaration.
-	* src/truetype/ttobjs.c (tt_size_done_bytecode,
-	tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
-	(tt_size_init): Move most code into `tt_size_init_bytecode'.
-	(tt_size_done): Move most code into `tt_size_done_bytecode'.
-	(tt_size_reset): Move some code to `tt_size_ready_bytecode'.
-
-
-	Don't extract the metrics table from the SFNT font file.  Instead,
-	reparse it on each glyph load.  The runtime difference is not
-	noticeable, and it can save a lot of heap memory when memory-mapped
-	files are not used.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add members
-	`horz_metrics_offset' and `vert_metrics_offset'.
-	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
-	Updated.
-
-
-	* src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
-
-
-	Do not load the CFF index offsets into memory, since this wastes a
-	*lot* of heap memory with large Asian CFF fonts.  There is no
-	significant performance loss.
-
-	* src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
-	* src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
-	`data_size'.
-	(CFF_CharsetRec): Add field `num_glyphs'.
-
-	* src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
-	cff_charset_cid_to_gindex): New functions.
-	(cff_new_index): Renamed to...
-	(cff_index_init): This.  Update all callers.
-	Updated -- some code has been moved to `cff_index_load_offsets'.
-	(cff_done_index): Renamed to...
-	(cff_index_done): This.  Update all callers.
-	(cff_index_get_pointers, cff_index_access_element): Updated to use
-	stream offsets.
-	(cff_charset_compute_cids): Set `num_glyphs' field.
-	(cff_encoding_load): Updated.
-
-	* src/cff/cffgload.c (cff_slot_load): Updated.
-
-2007-01-04  David Turner  <[email protected]>
-
-	* docs/INSTALL.UNIX: Simplify some parts, add reference to
-	autogen.sh and pointer to README.CVS.
-
-	* README.CVS: Add common problem description and solution
-	when running autogen.sh.
-
-	* docs/INSTALL: Add reference to MacOS X.
-
-	* docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
-
-	* docs/TODO: Remove obsolete items.
-
-	* src/raster/ftraster.c: (TRaster_Instance): Replace it with...
-	(TWorker): This.
-	Remove `count_table' and `memory'.
-	Make `grays' a pointer.
-	(TRaster): New structure.
-	(count_table): New static array.
-	(RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
-	Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
-	ft_black_set_mode, ft_black_render): Updated.
-	(ft_black_init): Don't initialize `count_table'.
-	(ft_black_reset): Use the render pool.  This saves about 6KB of
-	heap space for each FT_Library instance.
-
-	* src/smooth/ftgrays.c (TRaster): Replaced with...
-	(TWorker): This.
-	Remove `memory'.
-	(TRaster): New structure.
-
-	(RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
-	gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
-	gray_render_span, gray_raster_render): Updated.
-	(gray_raster_reset): Use the render pool.  This saves about 6KB of
-	heap space for each FT_Library instance.
-
-	* src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
-	src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
-	src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
-	FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
-	the optimization is no longer experimental.
-
-	* src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
-	Remove a typo that results in no hinting and a memory leak with some
-	large Asian CFF fonts.
-
-	* src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
-	which happens when FT_Done_Library is called with still opened
-	CFF_Faces in it.  We need to close all faces before destroying the
-	modules, or else some bad things (memory leaks) may happen.
-
-2007-01-02  Werner Lemberg  <[email protected]>
-
-	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
-	Remove compiler warning.
-
-2007-01-02  David Turner  <[email protected]>
-
-	* src/sfnt/sfobjs.c: Add documentation comment.
-
-2006-12-31  Masatake YAMATO  <[email protected]>
-
-	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
-	function.
-	Check uniqueness of the gid pairs.
-	(gxv_kern_subtable_fmt0_validate): Move some code to
-	`gxv_kern_subtable_fmt0_pairs_validate'.
-
-2006-12-22  David Turner  <[email protected]>
-
-	* src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
-	warnings.
-
-	* builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
-	to avoid deprecation warnings with Visual C++ 8.
-
-2006-12-16  Anders Kaseorg  <[email protected]>
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
-	[FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
-
-2006-12-15  suzuki toshiya  <[email protected]>
-
-	* include/freetype/internal/services/svotval.h: Add `volatile' to
-	sync with the modification by Jens Claudius on 2006-08-22; cf.
-	  https://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
-
-2006-12-15  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c: Specialized for Mac OS X only.
-	* builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
-	* builds/unix/configure.raw: Ditto.  When explicit switches for
-	FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
-	builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
-
-2006-12-15  suzuki toshiya  <[email protected]>
-
-	* builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
-	* builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
-	instead of src/base/ftmac.c
-	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
-	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
-	* builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
-	that cannot be built at present.
-
-2006-12-15  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c: Improvement of resource fork handler for
-	POSIX, cf.
-	  https://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
-	(Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
-	format or .dfont, to simulate the face index number counted by ftmac.c.
-	(IsMacResource): Return the number of scalable faces correctly.
-
-2006-12-10  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (version): Protect against `distclean' target.
-
-2006-12-09  Werner Lemberg  <[email protected]>
-
-	* builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
-	or `type'.
-
-	* builds/freetype.mk (version): Extracted from freetype.h, using
-	GNU make's built-in string functions.
-	(refdoc): Use $(version) instead of static version number.
-
-2006-12-08  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (dist): Extract version number from freetype.h.
-
-2006-12-08  Vladimir Volovich  <[email protected]>
-
-	* src/tools/apinames.c (State): Remove final comma in structure --
-	xlc v5 under AIX 4.3 doesn't like this.
-
-2006-12-07  David Turner  <[email protected]>
-
-	* src/autofit/afloader.c (af_loader_load_g): Small adjustment
-	to the spacing of auto-fitted glyphs.  This only impacts rare
-	cases (e.g., Arial Bold at rather small character sizes).
-
-2006-12-03  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
-
-2006-12-01  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
-	encoded in UTF-16BE.  Patch from Rajeev Pahuja <[email protected]>.
-	(tt_name_entry_ascii_from_ucs4): Removed.
-
-
-	* include/freetype/ftxf86.h: Fix and extend comment so that it
-	appears in the documentation.
-
-	* include/freetype/ftchapters.h: Add `font_format' section.
-
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
-	to TOC in index page.
-
-2006-11-28  David Turner  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
-	trying to render into a zero-width/height bitmap, not an error code.
-
-	* src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
-
-	* src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
-	ones instead.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
-	variable.
-
-2006-11-26  Pierre Hanser  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
-
-2006-11-25  David Turner  <[email protected]>
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points,
-	af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
-	Add stubs to link the `ftgrid' test program when debugging is
-	disabled in the auto-hinter.
-
-2006-11-23  David Turner  <[email protected]>
-
-	* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
-	src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
-	Emit more sensible information.
-
-	* src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
-	rounding of blue values.
-	(af_latin_hints_compute_segments): Hint segment heights.
-	(af_latin_hints_link_segments): Reduce `len_score' value.
-	(af_latin_hints_compute_edges): Increase `segment_length_threshold'
-	value and use `height' member for comparisons.
-	(af_latin_hint_edges): Extend logging message.
-	Improve handling of remaining edges.
-
-2006-11-22  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #15553.
-
-	* src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
-	program after a change from mono to grayscaling (and vice versa).
-	Use correct constant for comparison to get `exec->grayscale'.
-
-2006-11-18  Werner Lemberg  <[email protected]>
-
-	Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
-	test for a valid glyph index must be deferred to the font drivers.
-	This patch fixes Savannah bug #18301.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
-	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
-	src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
-	(pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
-	src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
-	(FNT_Load_Glyph): Check validity of `glyph_index'.
-
-2006-11-13  David Turner  <[email protected]>
-
-	* src/truetype/ttinterp.c (FIX_BYTECODE): Undefine.  The interpreter
-	`enhancements' are still too buggy for general use.
-
-	* src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
-	FT_FORCE_LEGACY_LCD_FILTER at compile time.  Define these macros
-	when building the library to change the default LCD filter to be
-	used.  This is only useful for experimentation.
-
-	* include/freetype/ftlcdfil.h: Update documentation.
-
-2006-11-10  David Turner  <[email protected]>
-
-	* src/smooth/ftsmooth.c: API change for the LCD
-	filter.  The FT_LcdFilter value is an enumeration describing which
-	filter to apply, with new values FT_LCD_FILTER_LIGHT and
-	FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
-	algorithm which produces strong color fringes for everything
-	except very-well hinted text).
-
-	* include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
-	second parameter to an enum type.
-
-	* src/base/ftlcdfil.c (USE_LEGACY): Define.
-	(_ft_lcd_filter): Rename to...
-	(_ft_lcd_filter_fir): This.
-	Update parameters.
-	(_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
-	(FT_Library_SetLcdFilter): Update parameters.
-	Handle new filter modes.
-
-	* include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
-	(FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
-	(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
-	callback and update other fields.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
-	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
-	Other minor improvements.
-
-	* src/autofit/aflatin.c: Various tiny improvements that drastically
-	improve the handling of serif fonts and of LCD/LCD_V hinting modes.
-	(af_latin_hints_compute_edges): Fix typo.
-	(af_latin_compute_stem_width): Take better care of diagonal stems.
-
-2006-11-09  David Turner  <[email protected]>
-
-	* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
-	typo which created a variable-used-before-initialized bug.
-
-2006-11-07  Zhe Su  <[email protected]>
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
-	also.
-
-2006-11-03  Werner Lemberg  <[email protected]>
-
-	* src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
-
-2006-11-02  David Turner  <[email protected]>
-
-	Add a few tweaks to better handle serif fonts.
-	Add more debugging messages.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
-	segments that are less than 1.5 pixels high.  This gets rid of
-	*many* corner cases with serifs.
-	(af_latin_align_linked_edge): Add logging message.
-	(af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
-	Add logging messages.
-	Handle AF_EDGE_FLAG flag specially.
-
-	* src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
-	_af_debug_disable_blue_hints, and _af_debug_hints variables.
-
-	* src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
-	Update external declarations.
-	(af_corner_orientation, af_corner_is_flat): Replaced by...
-
-	* include/freetype/internal/ftcalc.h (ft_corner_orientation,
-	ft_corner_is_flat): These declarations.
-
-	* src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
-	Comment out.  Replaced by...
-
-	* src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
-	These functions.  Update all callers.
-	(FT_Add64) [!FT_LONG64]: Simplify.
-
-	* src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
-	(af_direction_compute): Add a missing FT_ABS call.  This bug caused
-	production of garbage by missing lots of segments.
-
-	* src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
-
-	* src/autofit/afloader.c (af_loader_init, af_loader_done)
-	[AF_DEBUG]: Set _af_debug_hints.
-
-
-	* src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
-	(psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
-	and ft_corner_orientation.
-
-
-	* src/gzip/inftrees.c (huft_build): Remove compiler warning.
-
-2006-10-24  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_encoding_load): Remove unused variable.
-
-	* src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
-	as argument.
-
-2006-10-23  Zhe Su  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
-	better deal with broken Asian fonts with strange glyphs, having
-	self-intersections and other peculiarities.  The used algorithm is
-	based on the nonzero winding rule.
-
-2006-10-23  David Turner  <[email protected]>
-
-	Speed up the CFF font loader.  With some large CFF fonts,
-	FT_Open_Face is now more than three times faster.
-
-	* src/cff/cffload.c (cff_get_offset): Removed.
-	(cff_new_index): Inline functionality of `cff_get_offset'.
-	(cff_charset_compute_cids, cff_charset_free_cids): New functions.
-	(cff_charset_done): Call `cff_charset_free_cids'.
-	(cff_charset_load): Call `cff_charset_compute_cids'.
-	(cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
-
-	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
-	with FT_NEXT_XXX.
-
-
-	Speed up the Postscript hinter, with more than 100% speed increase
-	on my machine.
-
-	* src/pshinter/pshalgo.c (psh_corner_is_flat,
-	psh_corner_orientation): New functions.
-	(psh_glyph_compute_inflections): Merge loops for efficiency.
-	Use `psh_corner_orientation'.
-	(psh_glyph_init): Use `psh_corner_is_flat'.
-	(psh_hint_table_find_strong_point): Renamed to...
-	(psh_hint_table_find_strong_points): This.
-	Rewrite, adding argument to handle all points at once.
-	Update all callers.
-	(PSH_MAX_STRONG_INTERNAL): New macro.
-	(psh_glyph_interpolate_normal_points): Rewrite for efficiency.
-
-2006-10-15  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
-	`error' with FT_Err_Ok.
-
-2006-10-14  suzuki toshiya  <[email protected]>
-
-	* docs/INSTALL.CROSS: New document file for cross-building.
-
-	* builds/unix/configure.raw: Preliminary cross-building support.
-	Find native C compiler and pass it by CC_BUILD, and
-	find suffix for native executable and pass it by EXEEXT_BUILD.
-	Also suffix for target executable is passed by EXEEXT.
-
-	* builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
-	build `apinames' which runs on building system.  They are set by
-	CC_BUILD and EXEEXT_BUILD.
-
-	* builds/exports.mk (APINAMES_EXE): Change the extension for
-	apinames from the suffix for target (E) to that for building host
-	(E_BUILD).
-
-2006-10-12  Werner Lemberg  <[email protected]>
-
-	* docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
-	* docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This.  Update all documents
-	which reference those files.
-
-2006-10-12  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable.  It is
-	embedded in freetype2.pc and freetype-config.  Use it to record
-	Carbon dependency of MacOSX.
-
-	* builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
-
-	* builds/unix/freetype-config.in: Ditto.
-
-2006-10-11  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
-	development.
-
-2006-10-03  Jens Claudius  <[email protected]>
-
-	* include/freetype/config/ftstdlib.h: Cast away volatileness from
-	argument to ft_setjmp.
-
-	* include/freetype/internal/ftvalid.h: Add comment that
-	ft_validator_run must not be used.
-
-2006-10-01  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbase.c: Undo change from 2006-09-30.
-
-	* src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
-
-2006-09-30  David Turner  <[email protected]>
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
-	s/unpatented_hinting/ignore_unpatented_hinter/.
-	Update all callers.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
-	auto-hinting shall be used or not.
-
-	* src/truetype/ttobjs.c (tt_face_init): Ditto.
-
-2006-09-30  Werner Lemberg  <[email protected]>
-
-	* src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
-	in use).
-
-	* src/base/ftbase.c: Include `ftlcdfil.c'.
-
-2006-09-29  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
-	overlapping segments.  Bug reported by Stefan Koch.
-
-2006-09-28  David Turner  <[email protected]>
-
-	Fix a bug in the automatic unpatented hinting support which prevents
-	normal bytecode hinting to work properly.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
-	s/force_autohint/unpatented_hinting/.  Update all callers.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Updated code.
-
-	* src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
-
-2006-09-27  David Turner  <[email protected]>
-
-	* include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
-
-
-	Add a new API to support color filtering of subpixel glyph bitmaps.
-	In a default build, the function `FT_Library_SetLcdFilter' returns
-	`FT_Err_Unimplemented_Feature'; you need to #define
-	FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
-	real implementation.
-
-	* include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
-
-	* include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
-	typedef.
-	(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
-	`lcd_filter_weights' and `lcd_filter'.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
-	`hmul' and `vmul'.
-
-	Handle subpixel rendering.
-	Simplify function.
-	(ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
-	(ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
-
-	* include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
-	pointing to <freetype/ftlcdfil.h>.
-
-	* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
-	vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
-
-	* modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
-
-2006-09-26  David Bustin
-
-	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
-	correctly.  Reported as Savannah bug #17843.
-
-2006-09-26  David Turner  <[email protected]>
-
-	* src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
-	AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
-	horizontal and vertical hinting for the purpose of debugging the
-	auto-fitter.
-
-	* src/autofit/afmodule.c (_af_debug_disable_horz_hints,
-	_af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
-
-	* src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
-
-	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
-	we want to compile LCD-optimized rendering code (à la ClearType) or
-	not.  The macro *must* be disabled in default builds of the library
-	for patent reasons.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
-	LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-	isn't defined at compile time.  This only changes the content of the
-	rendered glyph to match the one of normal gray-level rendering,
-	hence clients should not need to be modified.
-
-	* docs/CHANGES: Updated.
-
-2006-09-18  Garrick Meeker  <[email protected]>
-
-	* src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
-	LWFN fails and both are available.
-
-2006-09-11  David Turner  <[email protected]>
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
-	report their English names through an Apple Roman
-	(platform,encoding) pair, with language_id != English.
-
-	If the font uses another name entry with language_id == English, it
-	will be selected correctly, though.
-
-	* src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
-	selection for `mingli.ttf'.
-
-2006-09-05  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
-	values which have the upper two bytes set to 0xFF instead of 0x00
-	(as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
-	`HAN NOM B.ttf').
-
-	* src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
-
-2006-09-05  David Turner  <[email protected]>
-
-	Minor source cleanups and optimizations.
-
-	* src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
-	(TRaster): Remove `count_ex' and `count_ey'.
-	(gray_find_cell): Remove 2nd and 3rd argument.
-	(gray_alloc_cell): Merged with `gray_find_cell'.
-	(gray_record_cell): Simplify.
-	(gray_set_cell): Rewrite.
-	(gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
-	(gray_render_span): Don't use FT_MEM_SET for small values.
-	(gray_dump_cells) [DEBUG_GRAYS]: New function.
-	(gray_sweep): Avoid buffer overwrites when to drawing the end of a
-	bitmap scanline.
-	(gray_convert_glyph): Fix speed-up.
-
-2006-09-04  David Turner  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
-	64bit processors.
-
-2006-09-03  Werner Lemberg  <[email protected]>
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-	* src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
-	variable declaration.
-	(gray_convert_glyph): Fix compiler warnings.
-
-2006-09-01  David Turner  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
-	to recognize a few fonts that require the automatic unpatented
-	loader.
-
-	* src/smooth/ftgrays.c: Optimize the performance of the anti-aliased
-	rasterizer.  The speed improvement is between 15% and 25%, depending
-	on the font data.
-
-	(GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
-	(TCell): Redefine.
-	(TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
-	(gray_init_cells): Updated.
-	(gray_find_cell, gray_alloc_cell): New functions.
-	(gray_record_cell): Rewritten to use `gray_find_cell' and
-	`gray_alloc_cell'.
-	(PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
-	QSORT_THRESHOLD):
-	Removed.
-	(gray_shell_sort, gray_quick_sort, gray_check_sort,
-	gray_dump_cells): Removed.
-	(gray_sweep): Rewritten.
-	(gray_convert_glyph): Rewrite code which used one of the sorting
-	functions.
-	(gray_raster_render): Updated.
-
-2006-08-29  Dr. Werner Fink  <[email protected]>
-
-	* configure: Make it possible to handle configure options which
-	have strings containing spaces.
-
-2006-08-27  David Turner  <[email protected]>
-
-	* include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
-	New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
-	or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
-
-	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
-	src/truetype/truetype.c, src/truetype/ttdriver.c,
-	src/truetype/ttgload.c, src/truetype/ttgload.h,
-	src/truetype/ttinterp.c, src/truetype/ttobjs.c,
-	src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
-	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
-	member `force_autohint'.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
-
-	* src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
-	against a list of font names which need the bytecode interpreter.
-
-2006-08-27  Jens Claudius  <[email protected]>
-
-	Fix miscellaneous compiler warnings.
-
-	* include/freetype/internal/ftobjs.h: Close comment with `*/' to
-	avoid `/* in comment' compiler warning.
-
-	* src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
-	`(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
-	64-bit platforms void* is larger than FT_UInt32.
-
-	* src/base/ftobjs.c (t_validator_error): Cast away
-	volatileness of argument to ft_longjmp.  Spotted by Werner
-	`Putzfrau' Lemberg.
-
-	* src/bdf/bdflib.c (bdf_load_font): Initialize local
-	variable `lineno'.
-
-	* src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
-	`error' as volatile.
-
-2006-08-27  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
-	Reported by Jens.
-
-2006-08-22  Jens Claudius  <[email protected]>
-
-	Fix for previous commit, which caused many compiler warnings/errors
-	about addresses of volatile objects passed as function arguments as
-	non-volatile pointers.
-
-	* include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
-	pointer to a volatile object.
-
-	* src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
-	`table' a pointer to a volatile object.
-
-	* src/otvalid/otvmod.c (otv_load_table): Make function argument
-	`table' a pointer to a volatile object.
-
-2006-08-18  Jens Claudius  <[email protected]>
-
-	* src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
-	as volatile since it must keep its value across a call to ft_setjmp.
-	(gxv_validate): Same for local variables `memory' and `valid'.
-	(classic_kern_validate): Same for local variables `memory',
-	`ckern', and `valid'.
-
-	* src/otvalid/otvmod.c (otv_validate): Same for function parameter
-	`face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
-	and 'valid'.
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
-	`cmap'.
-
-2006-08-16  David Turner  <[email protected]>
-
-	* src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
-	warnings.
-
-	* src/base/ftobjs.c (ft_validator_run): Disable function; it is
-	buggy by design.  Always return -1.
-
-
-	Improvements to native TrueType hinting.  This is a first try,
-	controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
-
-	* include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
-	`extra_points2'.
-
-	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
-	`orus'.
-
-	* src/base/ftgloadr.c (FT_GlyphLoader_Reset,
-	FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
-	FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
-	handle `extra_points2'.
-
-	* src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
-	Remove compiler warning.
-	(cur_to_arg): Remove macro.
-	(TT_Hint_Glyph): Updated.
-	(TT_Process_Simple_Glyph): Handle `orus'.
-
-	* src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
-	(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
-	(LOC_Ins_IUP): Renamed to...
-	(IUP_WorkerRec): This.
-	Add `orus' member.
-	(Shift): Renamed to...
-	(_iup_worker_shift): This.
-	Updated.
-	(Interp): Renamed to...
-	(_iup_worker_interpolate): This.
-	Updated to handle `orus'.
-	(Ins_IUP): Updated.
-
-	* src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
-	Handle `orus'.
-
-2006-08-15  suzuki toshiya  <[email protected]>
-
-	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
-	build ftvalid in ft2demos.  This has been inadvertently changed
-	2006-08-13.
-
-2006-08-15  suzuki toshiya  <[email protected]>
-
-	`ft_validator_run' wrapping `setjmp' can cause a crash, as found by
-	Jens:
-	https://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
-
-	* src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
-	It reverts the change introduced on 2005-08-20.
-
-	* src/gxvalid/gxvmod.c: Ditto.
-
-2006-08-13  Jens Claudius  <[email protected]>
-
-	* finclude/freetype/internal/psaux.h: (T1_TokenType): Add
-	T1_TOKEN_TYPE_KEY.
-	(T1_FieldRec): Add `dict'.
-	(T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
-	(T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
-	keyword is expected as an additional argument.
-
-	* src/cid/cidload.c: (cid_field_records): Adjust invocations of
-	T1_FIELD_XXX.
-
-	* src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
-
-	* src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
-	(ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
-	not T1_TOKEN_TYPE_ANY.
-	(ps_parser_load_field): Make sure a token that should be a string or
-	name is really a string or name.
-	Avoid memory leak if a keyword has been already encountered and its
-	value is overwritten.
-	* src/type1/t1load.c: (t1_keywords): Adjust invocations of
-	T1_FIELD_XXX.
-	(parse_dict): Ignore keywords that occur in the wrong dictionary
-	(e.g., in `Private' instead of `FontDict').
-
-	* src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
-
-	* src/type42/t42parse.c: (t42_keywords): Adjust invocations of
-	T1_FIELD_XXX.
-
-2006-07-18  Jens Claudius  <[email protected]>
-
-	Move creation of field `buildchar' of T1_DecoderRec out of
-	`t1_decoder_init' and let the caller of `t1_decoder_init' take care
-	of it.
-
-	Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
-	and `T1_Compute_Max_Advance'.
-
-	* include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
-	`face', add `len_buildchar'.
-
-	* include/freetype/internal/t1types.h (T1_FaceRec): Add field
-	`buildchar'.
-
-	* src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
-	for T1_Decoder.
-	(cid_slot_load_glyph): Do not ignore failure when initializing the
-	T1_Decoder.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
-	(t1_decoder_init): Remove initialization of fields `buildchar' and
-	`len_buildchar'.
-	(t1_decoder_done): Remove deallocation of field `buildchar'.
-
-	* freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
-	T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
-	T1_Decoder.
-	(T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
-	`len_buildchar'; make sure to call finisher for T1_Decoder even in
-	case of error.
-
-	* src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
-	of T1_FaceRec.
-
-	* src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
-	T1_FaceRec.
-
-2006-07-14  Jens Claudius  <[email protected]>
-
-	* include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
-	IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
-	and IS_PS_BASE85 (from src/psaux/psconv.h).
-	(T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
-	T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
-	(T1_DecoderRec): New fields `buildchar' and `face'.
-	(IS_PS_TOKEN): New macro.
-
-	* include/freetype/internal/t1types.h (T1_FaceRec): New fields
-	`ndv_idx', `cdv_idx', and `len_buildchar'.
-
-	* include/freetype/t1tables.h (PS_BlendRec): New fields
-	`default_design_vector' and `num_default_design_vector'.
-
-	* src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
-	IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
-	IS_PS_BASE85 to include/freetype/internal/psaux.h.
-
-	* src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
-	argument to be NULL if we want only to count the number of tokens.
-	(ps_tocoordarray): Allow `coords' argument to be NULL if we just
-	want to skip the array.
-	(ps_tofixedarray): Allow `values' argument to be NULL if we just
-	want to skip the array.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
-	for (partially commented out) othersubrs 19-25, 27, and 28.
-	(t1_decoder_init): Initialize new fields `face' and `buildchar'.
-	(t1_decoder_done): Release new field `buildchar'.
-
-	* src/type1/t1load.c (parse_buildchar, parse_private): New
-	functions.
-	(t1_keywords): Register them.
-	(t1_allocate_blend): Updated.
-	(t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
-	T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
-	(parse_dict): Remove `keyword_flags' argument.
-	Use new macro IS_PS_TOKEN.
-	Changed function so that later PostScript definitions override
-	earlier ones.
-	(t1_init_loader): Initialize new field `keywords_encountered'.
-	(T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
-	`len_buildchar'.
-	Remove `keywords_flags'.
-
-	* src/type1/t1load.h (T1_LoaderRec): New field
-	`keywords_encountered'.
-	(T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
-
-	* src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
-	entries for parsing /NDV, /CDV, and /DesignVector.
-
-2006-07-07  Werner Lemberg  <[email protected]>
-
-	Add many checks to protect against malformed PCF files.
-
-	* src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
-	(PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
-	data and check that tables don't overlap (using a simple
-	bubblesort).
-	(PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
-	New macros which give the size of data structures in the data
-	stream.
-	(pcf_get_properties): Use rough estimates to get array size limits.
-	Assign `face->nprops' and `face->properties' earlier so that a call
-	to PCF_Face_Done can do the clean-up in case of error.
-	Protect against invalid string offsets.
-	(pcf_get_metrics): Clean up code.
-	Adjust tracing message levels.
-	Use rough estimate to get array size limit.
-	(pcf_get_bitmaps): Clean up code.
-	Adjust tracing message levels.
-	Use rough estimates to get offset limits.
-	(pcf_get_encodings): Adjust tracing message level.
-	(pcf_get_accel): Clean up code.
-
-2006-06-26  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
-	don't have a POINT_SIZE property.  This fixes Savannah bug #16914.
-
-2006-06-26  Jens Claudius  <[email protected]>
-
-	* src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
-	(t1_decoder_parse_charstrings): Operator with
-	opcode 15 pops its two arguments.
-	Handle the case where the pops of an othersubr may be part of a
-	subroutine.
-	Handle unknown othersubrs gracefully: count their operands and let
-	the following pop operators push the operands as the results onto
-	the Type1 stack.
-	Improve handling of setcurrentpoint opcode.
-
-2006-06-25  Jens Claudius  <[email protected]>
-
-	The Type 1 parser now skips over top-level procedures as required
-	for a `Simplified Parser'.  This makes the parser more robust as it
-	doesn't poke around in PostScript code.  Additionally, it makes the
-	FontDirectory hackery in src/type1/t1load.c unnecessary.
-
-	* src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
-	(skip_literal_string): Add FT_Error as return value.
-	Handle escapes better.
-	(skip_string): Add FT_Error as return value.
-	Don't set `parser->error' but return error code directly.
-	(skip_procedure): New function.
-	(ps_parser_skip_PS_token): Handle procedures.
-	Update code.
-	(ps_parser_to_token): Update code.
-	(ps_parser_load_field_table): Handle bbox entries also.
-
-	* src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
-	Add commented-out code for synthetic fonts.
-
-2006-06-24  Eugeniy Meshcheryakov  <[email protected]>
-
-	Fix two hinting bugs as reported in
-	https://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
-
-	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
-	`first_point' member.
-
-	* src/truetype/ttgload.c (tt_prepare_zone): Initialize
-	`first_point'.
-	(TT_Process_Composite_Glyph): Always untouch points.
-
-	* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
-	`first_point' and `last_point' in case of composite glyphs.
-	(Ins_IUP): Fix computation of `end_point'.
-
-2006-06-22  suzuki toshiya  <[email protected]>
-
-	Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
-	Mac.  The original patch was written by David Sachitano and Lawrence
-	Coopet, and modified by Sean McBride for MPW compatibility.  Only
-	required data are converted; unused data are left in big endian.
-
-	* src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
-	Mac OS X platforms.
-	(OS_INLINE): Undefine before definition.
-	(count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
-	FontAssociation table in FOND resource.
-	(count_faces_scalable): Insert EndianS16_BtoN to parse the header
-	and fontSize at each entry of FontAssociation table in FOND
-	resource.
-	(parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
-	ffStylOff of FamilyRecord header of FOND resource, the header,
-	fontSize, fontID at each entry of FontAssociation table, and
-	StyleMapping table.
-	(count_faces): Call `HUnlock' after all FOND utilization.
-
-2006-06-08  suzuki toshiya  <[email protected]>
-
-	Public API of TrueTypeGX, OpenType, and classic kern table validator
-	should return `FT_Err_Unimplemented_Feature' if validation service
-	is unavailable (disabled in `modules.cfg').  It is originally
-	suggested by David Turner, cf.
-	https://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
-
-	* src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
-	FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
-	unavailable.
-	(FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
-	classic kern table validation service is unavailable.
-
-	* src/base/ftotval.c (FT_OpenType_Validate): Return
-	FT_Err_Unimplemented_Feature if OpenType validation service is
-	unavailable.
-
-2006-06-08  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
-	errors.
-
-2006-06-07  David Turner  <[email protected]>
-
-	* src/type1/t1afm.c (KERN_INDEX): Make it more robust.
-	(T1_Read_Metrics): Fix memory leak which happened when the metrics
-	file doesn't have kerning pairs.  This fixes Savannah bug #16768.
-
-2006-06-06  David Turner  <[email protected]>
-
-	Fix memory leak described in Savannah bug #16759.
-
-	We change `ps_unicodes_init' so that it also takes a
-	`free_glyph_name' callback to release the glyph names returned by
-	`get_glyph_name'
-
-	* include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
-	Renamed to ...
-	(PS_GetGlyphNameFunc): This.
-	(PS_FreeGlyphNameFunc): New typedef.
-	(PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
-
-	* src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
-	argument.
-	(cff_sid_free_glyph_name): New function.
-	(cff_cmap_unicode_init): Updated.
-
-	* src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
-
-	* src/psnames/psmodule.c (ps_unicodes_init): Add variable for
-	PS_FreeGlyphNameFunc and use it.
-
-
-2006-06-04  David Turner  <[email protected]>
-
-	* src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
-	`item_size == 0' as well -- though this sounds weird, it can
-	theoretically happen.  This fixes Savannah bug #16669.
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
-	of `face->num_glyphs' which missed the last glyph, due to
-	the offset-by-1 computation, since the PFR format doesn't
-	guarantee that glyph index 0 corresponds to the `missing
-	glyph.  This fixes Savannah bug #16668.
-
-2006-05-25  Werner Lemberg  <[email protected]>
-
-	* builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
-	`-no-undefined'.  Reported by Christian Biesinger.
-
-2006-05-19  Brian Weed  <[email protected]>
-
-	* builds/win32/visualc/freetype.dsp: Release libraries no longer
-	have debug information, and debug libraries use `C7 compatible'
-	debug info.
-
-2006-05-19  suzuki toshiya  <[email protected]>
-
-	Apply patch by Derek Clegg to fix two memory leaks in the MacOS
-	resource fork handler.  This fixes Savannah bug #16631.
-
-	* src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
-	`FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
-
-	* src/base/ftrfork.c (raccess_guess_linux_double_from_file_name):
-	Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
-
-2006-05-19  suzuki toshiya  <[email protected]>
-
-	* build/unix/configure.raw: Add a fallback to disable Carbon
-	dependency, if configured with no options on Mac OS X.
-
-2006-05-19  suzuki toshiya  <[email protected]>
-
-	* src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
-	its content cannot be parsed as supported font.  This fixes
-	the second part of Savannah bug #16590.
-
-2006-05-18  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
-	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
-
-2006-05-17  David Turner  <[email protected]>
-
-	This is a major patch used to drastically improve the performance of
-	loading glyphs.  This both speeds up loading the glyph vectors
-	themselves and the auto-fitter module.
-
-	We now use inline assembler code with GCC to implement `FT_MulFix',
-	which is probably the most important function related to the
-	engine's performance.
-
-	The resulting speed-up is about 25%.
-
-
-	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
-	`cursor' and `limit'.
-
-	* src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
-	New functions.
-	(AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
-	[TEST]: Remove.
-
-	* src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
-	code.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
-	`FT_ZERO'
-	(af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
-	(af_glyph_hints_reload: Rewrite recognition of weak points.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
-	constant values out of the loops.
-
-	* src/autofit/aftypes.h: Updated.
-
-	* src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
-	product to get orientation.
-
-	* src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
-	(FT_Stream_OpenGzip): Use it to handle small files directly in
-	memory.
-
-	* src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode):
-	Improve performance.
-
-	* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
-	`limit'.
-
-	(TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
-	TT_Load_Composite_Glyph): Updated.  Add threshold to protect against
-	exceedingly large values of number of contours.  Speed up by
-	reducing the number of loops.
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
-
-
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
-	used to detect rogue clients from 4 to 16.  This is to prevent some
-	segmentation faults with fonts like `KozMinProVI-Regular.otf' which
-	comes from the Japanese Adobe Reader Asian Font pack.
-
-2007-05-17  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_font_done): Deallocate subfont array.  This
-	fixes the first part of Savannah bug #16590.
-
-2006-05-16  Werner Lemberg  <[email protected]>
-
-	* docs/PROBLEMS: Updated icl issues.
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2006-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.24
+++ /dev/null
@@ -1,6360 +1,0 @@
-2013-05-08  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.12 released.
-	==========================
-
-
-	Tag sources with `VER-2-4-12'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.12.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.11/2.4.12/, s/2411/2412/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
-
-	* builds/unix/configure.raw (version_info): Set to 16:1:10.
-
-2013-05-08  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2013-05-08  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Typo.
-
-2013-05-05  Werner Lemberg  <[email protected]>
-
-	Synchronize `ftconfig.h'.
-
-	* builds/unix/ftconfig.in: Updated.
-
-2013-05-05  Werner Lemberg  <[email protected]>
-
-	Fix compilation with C++.
-
-	* src/base/md5.c (body): Use proper cast.
-
-2013-05-05  Werner Lemberg  <[email protected]>
-
-	Fix 64bit compilation issues.
-
-	* include/freetype/config/ftconfig.h [FT_LONG64]: Typedef
-	`FT_Int64' here.
-
-	* src/base/ftcalc.c: Remove typedef of `FT_Int64'.
-	(FT_DivFix): Fix cast.
-	* src/base/fttrigon.c: Remove typedef of `FT_Int64'.
-
-2013-05-05  Werner Lemberg  <[email protected]>
-
-	[raster] Fix clang issues.
-
-	Fix suggested by <[email protected]>.
-
-	* src/raster/ftraster.c (ULong): New typedef.
-	(SCALED): Add proper cast.
-
-2013-05-04  Werner Lemberg  <[email protected]>
-
-	Fix clang fixes.
-
-	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate): Use
-	correct types.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <default>: Force
-	unsigned for computations.
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Ditto.
-	* src/cff/cffparse.c (cff_parse_integer): Ditto.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
-
-2013-05-04  Werner Lemberg  <[email protected]>
-
-	[cff] Make Adobe CFF engine work correctly on 64bit hosts.
-
-	Reported by numerous people on the `freetype-devel' list.  Without
-	this fix, glyphs aren't properly aligned on a common baseline.
-
-	On 64bit systems, `FT_Pos' expands to `long int', having a width of
-	64bit.  `CF2_Fixed' expands to `int' which is normally 32bit wide on
-	64bit hosts also.  Wrong casts filled up the blues arrays with
-	incorrect values.  Note that all blues values are accessed with the
-	`cf2_blueToFixed' macro which handles the 64bit to 32bit conversion.
-
-	* src/cff/cf2ft.h (cf2_getBlueValues, cf2_getOtherBlues,
-	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Use `FT_Pos' for
-	`data', not `CF2_Fixed'.
-	* src/cff/cf2ft.c (cf2_getBlueValues, cf2_getOtherBlues,
-	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Updated.
-	* src/cff/cf2blues.c (cf2_blues_init): Updated.
-
-2013-05-04  Werner Lemberg  <[email protected]>
-
-	More fixes for clang's `sanitize' feature.
-
-	* src/base/ftcalc.c (FT_DivFix): Use unsigned values for
-	computations which use the left shift operator and convert to signed
-	as the last step.
-	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate,
-	FT_Vector_Length, FT_Vector_Polarize): Ditto.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify.
-	* src/cff/cffload.c (cff_subfont_load): Fix constant.
-	* src/cff/cffparse.c (cff_parse_integer, cff_parse_real, do_fixed,
-	cff_parse_fixed_dynamic): Use unsigned values for computations which
-	use the left shift operator and convert to signed as the last step.
-
-	* src/cid/cidload.c (cid_get_offset): Ditto.
-
-	* src/psaux/psconv.c (PS_Conv_ToFixed): Ditto.
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
-
-	* src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto.
-
-2013-05-04  Werner Lemberg  <[email protected]>
-
-	Fix errors reported by clang's `sanitize' feature.
-
-	* include/freetype/internal/ftstream.h: Simplify and fix integer
-	extraction macros.
-	(FT_INT8_, FT_BYTE_I16, FT_BYTE_I32, FT_INT8_I16, FT_INT8_I32,
-	FT_INT8_I32, FT_INT8_U32): Removed.
-	(FT_PEEK_SHORT, FT_PEEK_LONG, FT_PEEK_OFF3, FT_PEEK_SHORT_LE,
-	FT_PEEK_LONG_LE, FT_PEEK_OFF3_LE): Use unsigned values for
-	computations and convert to signed as the last step.
-
-	* src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt,
-	cf2_fracToFixed): Avoid shifts of negative values.
-	(cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed,
-	unused.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdEXTENDEDNMBR,
-	default>: Use unsigned values for computations and convert to signed
-	as the last step.
-	Use proper types in tracing messages.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned
-	values for computation of operands and convert to signed as the last
-	step.
-	Use proper type in tracing message.
-
-2013-05-03  Werner Lemberg  <[email protected]>
-
-	* src/cff/cf2blues.c: Remove dead code.
-
-2013-05-02  Chris Liddell  <[email protected]>
-
-	* src/cff/cffgload.c: Include FT_CFF_DRIVER_H.
-
-2013-04-27  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-	* README: Improved.
-
-2013-04-13  Werner Lemberg  <[email protected]>
-
-	[cff] Add a new Type 2 interpreter and hinter.
-
-	This work, written by Dave Arnold <[email protected]> and fully
-	integrated into FreeType by me, is a donation by Adobe in
-	collaboration with Google.  It is vastly superior to the old CFF
-	engine, and it will replace it soon.  Right now, it is still off by
-	default, and you have to explicitly select it using the new
-	`hinting-engine' property of the cff driver.
-
-	For convenience, (most of) the new files are committed separately.
-
-	* include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro.
-	* include/freetype/ftcffdrv.h: New file to access CFF driver
-	properties.
-	* include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error
-	code.
-	* include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints',
-	and `cf2interp'.
-
-	* src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'.
-	* src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine'
-	and `no_stem_darkening'.
-	* src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'.
-
-	* src/cff/cff.c: Include new files.
-	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
-	`hinting-engine' and `no-stem-darkening' properties (only the Adobe
-	engine listens to them).
-	* src/cff/cffgload.c: Include `cf2ft.h'.
-	(cff_decoder_prepare): Initialize `current_subfont'.
-	(cff_build_add_point): Handle Adobe engine which uses 16.16
-	coordinates.
-	(cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING
-	separately.
-	Choose rendering engine based on `hinting_engine' property.
-	* src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe
-	engine.
-	* src/cff/cffobjs.c: Include FT_CFF_DRIVER_H.
-	(cff_driver_init): Set default property values.
-
-	* src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files.
-
-	* src/cff/cf2*.*: New files, containing the Adobe engine.
-
-2013-04-12  Werner Lemberg  <[email protected]>
-
-	[cff] Minor code administration issues.
-
-	* src/cff/cffgload.c (check_points): Rename to...
-	(cff_check_points): ...this and make it FT_LOCAL.
-	(cff_builder_add_point, cff_builder_add_point1,
-	cff_builder_start_point, cff_builder_close_contour,
-	cff_lookup_glyph_by_stdcharcode, cff_get_glyph_data,
-	cff_free_glyph_data): Make them FT_LOCAL.
-
-	* src/cff/cffgload.h: Updated.
-
-2013-04-12  Werner Lemberg  <[email protected]>
-
-	Add output bitmap checksums.
-
-	Use `FT2_DEBUG=bitmap:3' for tracing.
-
-	* src/base/md5.c, src/base/md5.h: New files, taken from
-
-	  https://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
-
-	* include/freetype/internal/fttrace.h: Add `bitmap'.
-
-	* src/base/ftobjs.c [FT_DEBUG_LEVEL_TRACE]: Include `md5.c'
-
-	(FT_Render_Glyph_Internal) [FT_DEBUG_LEVEL_TRACE]: For tracing,
-	convert resulting bitmap to a uniform format and compute a checksum.
-	Use `bitmap' category for the tracing message.
-
-	* src/base/rules.mk (BASE_H): Updated.
-
-	* docs/LICENSE.TXT: Updated.
-
-2013-04-12  Werner Lemberg  <[email protected]>
-
-	[cff] Add framework for CFF properties.
-
-	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC7):
-	New macro.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H.
-	(cff_property_set, cff_property_get): New functions, still empty.
-	Define `cff_service_properties' service.
-	Update `cff_services'.
-
-	* src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H.
-	(CFF_SERVICE_PROPERTIES_GET): New macro.
-	(CffModulePIC): Add `cff_service_properties'.
-
-2013-04-03  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #38589.
-
-	* src/bdf/bdflib.c (_bdf_readstream): Thinko.
-
-2013-03-31  Werner Lemberg  <[email protected]>
-
-	* configure: Use egrep, not grep.
-
-	Problem reported Mojca Miklavec <[email protected]>.
-
-2013-03-29  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftlcdfil.h: Add description of color filtering.
-
-	Based on a contribution from Antti S. Lankila <[email protected]>
-	(Savannah bug #38607).
-
-2013-03-23  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor.
-
-	* src/autofit/afmodule.c (af_property_set): Typo.
-	(af_autofitter_init, af_autofitter_done): Use cast.
-
-2013-03-21  Werner Lemberg  <[email protected]>
-
-	* configure: Automatically test for `gmake' also.
-
-	Suggested by Mojca Miklavec <[email protected]>.
-
-2013-03-21  Peter Breitenlohner  <[email protected]>
-
-	Respect CONFIG_SHELL from the environment.
-
-	Some large packages using FreeType have to use a broken (deficient)
-	/bin/sh.  The configure scripts (as generated by Autoconf) are
-	clever enough to find a better shell and put that one into the
-	environment variable CONFIG_SHELL.  If that environment variable is
-	already set the script skips the test and assumes to be already
-	running under a good shell.
-
-	* builds/unix/detect.mk: Honour CONFIG_SHELL.
-	* builds/unix/unix-def.in (SHELL): Define.
-
-2013-03-21  Werner Lemberg  <[email protected]>
-
-	Fix Savannah patch #7971.
-
-	* configure: Handle MAKE environment variable also.
-
-2013-03-17  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38538.
-
-	* builds/amiga/src/base/ftdebug.c, builds/win32/ftdebug.c,
-	builds/wince/ftdebug.c (FT_Throw): Add function.
-
-2013-03-17  Werner Lemberg  <[email protected]>
-
-	[raster] Remove dead code.
-
-	* src/raster/rastpic.c (ft_raster1_renderer_class_pic_init)
-	src/smooth/ftspic.c (ft_smooth_renderer_class_pic_init): Do it.
-
-2013-03-17  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshpic.h (GET_PIC): Use correct container.
-
-2013-03-15  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
-
-	The previous version was not backward compatible.  Reported by
-	Behdad.
-
-2013-03-14  Werner Lemberg  <[email protected]>
-
-	*/*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate.
-
-	FT_Err_XXX and friends are no longer directly used in the source
-	code.
-
-2013-03-14  Werner Lemberg  <[email protected]>
-
-	New error management macros.
-
-	* include/freetype/fterrors.h (FT_ERR_XCAT, FT_ERR_CAT): Move to...
-	* include/freetype/fttypes.h: ... this file.
-	(FT_ERR, FT_ERR_EQ, FT_ERR_NEQ, FT_MODERR_EQ, FT_MODERR_NEQ): New
-	macros.
-
-	* include/freetype/freetype.h: Updated.
-
-2013-03-14  Werner Lemberg  <[email protected]>
-
-	*/*: Use FT_Err_Ok only.
-
-	This is a purely mechanical conversion.
-
-2013-03-14  Werner Lemberg  <[email protected]>
-
-	*/*: Use `FT_THROW'.
-
-	This is essentially a mechanical conversion, adding inclusion of
-	`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
-	stand-alone compiling modes of the rasterizer modules.
-
-	To convert the remaining occurrences of FT_Err_XXX and friends it is
-	necessary to rewrite the code.  Note, however, that it doesn't harm
-	if some cases are not handled since FT_THROW is a no-op.
-
-2013-03-13  Werner Lemberg  <[email protected]>
-
-	Introduce `FT_THROW' macro.
-
-	The idea is to replace code like
-
-	  return FT_Err_Foo_Bar;
-
-	or
-
-	  return CFF_Err_Foo_Bar;
-
-	with
-
-	  return FT_THROW( Foo_Bar );
-
-	The FT_THROW macro has two functions:
-
-	  . It hides the module specific prefix.
-
-	  . In debug mode, it calls the empty function `FT_Throw' which can
-	    be thus used to set a breakpoint.
-
-	* include/freetype/internal/ftdebug.h (FT_THROW): New macro.
-	(FT_Throw): New prototype.
-	* src/base/ftdebug.c (FT_Throw): New function.
-
-2013-03-12  Werner Lemberg  <[email protected]>
-
-	Remove `FT_KEEP_ERR_PREFIX'.
-
-	The idea is to always have FT_ERR_PREFIX available internally.
-
-	* include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard
-	undefinition of FT_ERR_PREFIX
-
-	* src/gxvalid/gxverror.h, src/otvalid/otverror.h,
-	src/sfnt/sferrors.h: Updated.
-
-2013-03-11  Werner Lemberg  <[email protected]>
-
-	[gxvalid] Fix module error.
-
-	* src/gxvalid/gxverror.h (FT_ERR_BASE): Define as
-	FT_Mod_Err_GXvalid.
-	* include/freetype/ftmoderr.h: Add module error for `GXvalid'.
-
-2013-03-11  Werner Lemberg  <[email protected]>
-
-	Always use module related error codes.
-
-	* src/cff/cffobjs.c (cff_face_init), src/type1/t1objs.c
-	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Use
-	`FT_ERROR_BASE'.
-
-	* src/type1/t1load.c (parse_encoding): Use
-	T1_Err_Unknown_File_Format.
-
-2013-03-08  Werner Lemberg  <[email protected]>
-
-	[cff] Set `linear{Hori,Vert}Advance' for embedded bitmaps also.
-
-	Problem reported by Khaled Hosny <[email protected]>.
-
-	* src/cff/cffgload.c (cff_slot_load): Implement it.
-
-2013-02-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix commit ab02d9e8.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Change scaling to msb of 22.
-
-2013-02-19  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] New bisecting BBox_Cubic_Check (disabled).
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): New bisecting algorithm
-	for extremum search built around simple condition that defines
-	which half contains the extremum.
-
-2013-02-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[tools] Update BBox testing tool.
-
-	* src/tools/test_bbox.c: Add another cubic outline with exact BBox.
-	(REPEAT): Increase the number of benchmarking cycles.
-	(profile_outline): Tweak output formatting.
-
-2013-02-02  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38235.
-
-	* builds/unix/configure.raw: Don't generate `freetype-config' and
-	`freetype.pc'.
-
-	* builds/unix/unix-def.in (FT2_EXTRA_LIBS, LIBBZ2, LIBZ,
-	build_libtool_libs, ft_version): New variables to be substituted.
-	(freetype-config, freetype.pc): New rules to generate those files.
-
-	* builds/unix/freetype-config.in: Remove code for handling `rpath'.
-	The use of $rpath has been accidentally removed in a patch from
-	2009-12-22, and apparently noone has missed it since.
-	Use `%' instead of `@' as a variable substitution marker.
-	Use quotes.
-
-	* builds/unix/freetype.in: Use `%' instead of `@' as a variable
-	substitution marker.
-	Use quotes.
-
-2013-02-07  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_size_run_prep): Reset more GS variables.
-
-	BTW, Greg agrees that the OpenType specification is missing the list
-	of GS variables which will always be reset to the default values
-	after the `prep' table has been executed.
-
-2013-02-06  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_size_run_prep): Reset reference points.
-
-	Up to now, we simply took a snapshot of the Graphics State after the
-	`prep' table has been executed, and right before a glyph's bytecode
-	was run it got reloaded.  However, as Greg Hitchcock has told us in
-	private communication, reference points get reset to zero in the MS
-	rasterizer and we follow in due course.  While reasonable, this is
-	undocumented behaviour.
-
-	Most notably, this fixes the rendering of Arial's `x' glyph in
-	subpixel hinting mode.
-
-2013-02-05  Werner Lemberg  <[email protected]>
-
-	[truetype] A better fix for Savannah bug #38211.
-
-	* src/truetype/ttinterp.c (Ins_IP): Implement identical behaviour to
-	MS rasterizer if rp1 == rp2 (confirmed by Greg Hitchcock).
-
-2013-02-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[pcf] Streamline parsing of PCF encoding table.
-
-	* src/pcf/pcfread.c (pcf_get_encodings): Use simpler double for-loop.
-	Reallocate array instead of using temporary storage.
-
-2013-02-01  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38227.
-
-	* builds/unix/freetype-config.in: Set LC_ALL.
-
-2013-02-01  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38221.
-
-	This complements commit 83c0ebab.
-
-	* src/base/ftcalc.c (FT_MulDiv_No_Round): Don't enclose with
-	`TT_USE_BYTECODE_INTERPRETER'.
-
-2013-02-01  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #38211.
-
-	* src/truetype/ttinterp.c (Ins_IP): Make FreeType behave identical
-	to other interpreters if rp1 == rp2 (which is invalid).
-
-2013-01-28  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Small optimization of BBox calculation.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Use FT_MSB function in
-	scaling algorithm.
-
-2013-01-26  Infinality  <[email protected]>
-
-	[truetype] Minor formatting fix.
-
-	* src/truetype/ttinterp.c: Updated.
-	(DO_RS): Fix indentation.
-
-2013-01-26  Infinality  <[email protected]>
-
-	[truetype] Fix rasterizer_version logic in sph.
-
-	* src/truetype/ttsubpix.c: Updated.
-	(ALWAYS_SKIP_DELTAP_Rules): Remove rule for Trebuchet MS.
-	(sph_set_tweaks): Fix `rasterizer_version' logic.
-
-2013-01-26  Infinality  <[email protected]>
-
-	[truetype] Align more to ClearType whitepaper for sph.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add flags
-	for detected opcode patterns and compatibility mode.
-
-	* src/truetype/ttgload.c (tt_loader_init): Complete conditional.
-
-	* src/truetype/ttinterp.c: Updated.
-	Remove SPH_DEBUG and replace with FT_TRACE7.
-	(DO_RS): More conditions.
-	(Ins_FDEF): Add more opcode detection patterns.
-	More specific conditions when flagging an fdef.
-	Make compatibility mode only turn on when delta fdefs are found.
-	(Ins_CALL, Ins_LOOPCALL): Set flags for currently executed fdef.
-	(Ins_SHPIX): Remove logic to handle ttfautohinted fonts.
-	Simplify conditionals where possible.
-	Use `&' instead of `%' operator for dumb compilers.
-	(Ins_MIAP): Adjust twilight zone conditional.
-	Ensure `ignore_x_mode' is on when testing sph conditionals.
-	(Ins_MIRP): Ensure `ignore_x_mode' is on when testing sph
-	conditionals.
-	Do cvt cutin always when `ignore_x_mode' is active.
-	Remove test for ttfautohinted fonts.
-	(Ins_DELTAP): Ensure `ignore_x_mode' is on when testing sph
-	conditionals.
-	Do cvt cutin always when `ignore_x_mode' is active.
-	Remove test for ttfautohinted fonts.
-	Use `&' instead of `%' operator for dumb compilers.
-	(Ins_GETINFO): Remove SPH_DEBUG and replace with FT_TRACE7.
-
-	* src/truetype/ttinterp.h: Updated.
-	(TT_ExecContextRec): Remove compatibility_mode variable.
-	Add variable to indicate when executing in special fdefs for sph.
-
-	* src/truetype/ttobjs.h: Updated.
-	(TT_DefRecord): Add flags to identify special fdefs for sph.
-	(TT_SizeRec): Remove unnecessary ttfautohinted variable.
-
-	* src/truetype/ttsubpix.c: Updated.
-	(COMPATIBILITY_MODE_Rules): Remove all.  Auto-detected now.
-	(PIXEL_HINTING_Rules): Remove all.  Unnecessary after fixes.
-	(SKIP_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
-	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Arial Bold `N'.
-	(SKIP_OFFPIXEL_Y_MOVES_Rules): Remove all.  Happens automatically
-	now.
-	(ROUND_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
-	(ROUND_NONPIXEL_Y_MOVES_Rules_Exceptions): Remove all.
-	(NORMAL_ROUND_Rules): Remove Verdana.
-	(NO_DELTAP_AFTER_IUP_Rules): Remove all.
-	(sph_set_tweaks): Performance fix.  Don't run prep always.
-	Adjust conditional for sph_compatibility_mode.
-
-	* src/truetype/ttsubpix.h: Add new fdef flags for sph.
-
-2013-01-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix broken emboldening at small sizes.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to
-	normalize zero-length vectors.
-
-2013-01-25  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38167.
-
-	This fixes commit 83c0ebab from 2012-06-27.
-
-	* src/truetype/ttinterp.h:
-	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
-
-2013-01-25  Xi Wang  <[email protected]>
-
-	[sfnt] Fix broken pointer overflow checks.
-
-	Many compilers such as gcc and clang optimize away pointer overflow
-	checks `p + n < p', because pointer overflow is undefined behavior.
-	Use a safe form `n > p_limit - p' instead.
-
-	Also avoid possible integer overflow issues, for example, using
-	`num_glyphs > ( p_limit - p ) / 2' rather than `num_glyphs * 2'
-	given a large `num_glyphs'.
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Implement it.
-
-2013-01-25  Werner Lemberg  <[email protected]>
-
-	[base] Fix `make multi'.
-
-	* src/base/ftoutln.c, src/base/fttrigon.c: Include
-	FT_INTERNAL_CALC_H.
-
-2013-01-25  David 'Digit' Turner  <[email protected]>
-
-	[truetype] Fix C++ compilation.
-
-	* src/truetype/ttsubpix.h: Updated.
-	(SPH_X_SCALING_RULES_SIZE): Moved and renamed to...
-	* src/truetype/ttsubpix.c (X_SCALING_RULES_SIZE): This.
-	(sph_X_SCALING_Rules): Removed.
-	(scale_test_tweak): Make function static.
-	(sph_test_tweak_x_scaling): New function.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Updated.
-
-2013-01-23  Werner Lemberg  <[email protected]>
-
-	[base] Make `FT_Hypot' really internal.
-
-	* include/freetype/fttrigon.h (FT_Hypot): Move to...
-	* include/freetype/internal/ftcalc.h: This file.
-
-	* src/base/fttrigon.c (FT_Hypot): Move to...
-	* src/base/ftcalc.c: This file.
-	Include FT_TRIGONOMETRY_H.
-
-	* src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H.
-
-2013-01-23  Werner Lemberg  <[email protected]>
-
-	[truetype] Revert change from 2013-01-22.
-
-	FreeType's `height' value is the baseline-to-baseline distance...
-
-	* src/truetype/ttobjs.c (tt_size_reset): Undo.
-
-2013-01-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[base, truetype] New internal `FT_Hypot' function.
-
-	* include/freetype/fttrigon.h (FT_Hypot): Declare it.
-	* src/base/fttrigon.c (FT_Hypot): Define it.
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use it
-	instead of explicit expressions.
-	* src/truetype/ttinterp.c (Current_Ratio, Normalize): Use it instead
-	of TT_VecLen.
-	(TT_VecLen): Removed.
-
-2013-01-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix integer overflow.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and
-	outgoing vectors and use fixed point arithmetic.
-
-2013-01-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix integer overflow.
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Scale the
-	coordinates down to avoid overflow.
-
-2013-01-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Split out MSB function.
-
-	* src/base/fttrigon.c (ft_trig_prenorm): Borrow from here.
-	* include/freetype/internal/ftcalc.h (FT_MSB): Declare here.
-	* src/base/ftcalc.c (FT_MSB): Define here.
-
-2013-01-22  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix font height.
-
-	* src/truetype/ttobjs.c (tt_size_reset): The Windows rendering
-	engine uses rounded values of the ascender and descender to compute
-	the TrueType font height.
-
-2013-01-16  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] Fix optimized sbit loader.
-
-	It was not taking bit_depth into consideration when blitting!
-
-	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned,
-	* tt_sbit_decoder_load_bit_aligned): Handle bit
-	depth.
-
-2013-01-16  David 'Digit' Turner  <[email protected]>
-
-	[truetype] Improve subpixel code.
-
-	This patches fixes many issues with the ttsubpix implementation.
-
-	1. Data tables are defined, instead of declared, in the header, and
-	   thus copied into each source file that includes it.
-
-	2. These tables were defined as global, mutable, visible variables,
-	   and thus costing private RAM to every process that loads the
-	   library (> 50 KB / process, this is huge!).
-
-	   Additionally, this also made the library export the symbols
-	   completely needlessly.
-
-	3. Missing `sph_' and `SPH_' prefixes to some of the definitions.
-
-	Note that this doesn't try to fix the incredibly inefficient storage
-	format for the data tables used by the code.  This one will require
-	another pass in the future.
-
-	* src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS):
-	Renamed to...
-	(SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This.
-	Update all users.
-
-	(SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where
-	appropriate.
-
-	(Font_Class): Rename to...
-	(SPH_Font_Class): This.  Decorate with `const' where appropriate.
-
-	* src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak):
-	Decorate arguments with `const' where appropriate.
-
-	Move font tweaking tables to...
-
-	* src/truetype/ttsubpix.c: This file and decorate them with `static'
-	and `const' where appropriate.
-
-	(X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to...
-	(sph_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
-	Update all users.
-
-2013-01-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Improve accuracy of normalization of short vectors.
-
-	Unit vector components are stored as 2.14 fixed-point numbers. In
-	order to calculate all 14 bits accurately, a short vector to be
-	normalized has to be upscaled to at least 14 bits before its length
-	is calculated. This has been safe since accurate CORDIC algorithms
-	were adopted.
-
-	* src/truetype/ttinterp.c (Normalize): Scale short vectors by 0x4000.
-
-2013-01-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Kill very old vector normalization hacks.
-
-	Back in the days, vector length calculations were not very accurate
-	and the vector normalization function, Normalize, had to meticulously
-	correct the errors for long vectors [commit b7ef2b096867]. It was no
-	longer necessary after accurate CORDIC algorithms were adopted, but
-	the code remained. It is time to kill it.
-
-	* src/truetype/ttinterp.c (Normalize): Remove error compensation.
-	(TT_VecLen): Remove any mention of old less accurate implementation.
-
-2013-01-11  Werner Lemberg  <[email protected]>
-
-	Disable FT_CONFIG_OPTION_OLD_INTERNALS.
-
-	After the next release we are going to remove the code completely.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_OLD_INTERNALS): Comment out.
-	* docs/CHANGES: Document it.
-
-2013-01-10  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Update the overflow protection bit.
-
-	The recent optimizations of CORDIC iterations drastically reduce the
-	expansion factor.  Vector components with MSB of 29 are now safe
-	from overflow.
-
-	* src/base/fttrigon.c (FT_TRIG_SAFE_MSB): New macro.
-	(ft_trig_prenorm): Use it and remove dead code.
-
-2013-01-09  Alexei Podtelezhnikov  <[email protected]>
-
-	[base, pshinter] Use FT_ABS, FT_MIN, and FT_MAX for readability.
-
-	* src/base/ftbbox.c: Updated.
-	* src/base/ftobjs.c: Updated.
-	* src/base/fttrigon.c: Updated.
-	* src/pshinter/pshalgo.c: Updated.
-	* src/pshinter/pshrec.c: Updated.
-
-2013-01-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Clean up trigonometric core.
-
-	* src/base/fttrigon.c: Document the algorithm in a large comment.
-	(FT_TRIG_COSCALE): Remove macro.
-	(FT_Tan: Use `FT_TRIG_SCALE' instead.
-	(FT_Cos, FT_Vector_Unit): Ditto and round the return values.
-
-2013-01-02  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Use rounding in CORDIC iterations.
-
-	* src/base/fttrigon.c (ft_trig_pseudo_rotate,
-	ft_trig_pseudo_polarize): Improve accuracy by rounding.
-
-2013-01-02  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Reduce trigonometric algorithms.
-
-	After we get within 45 degrees by means of true 90-degree rotations,
-	we can remove initial 45-degree CORDIC iteration and start from
-	atan(1/2) pseudorotation, reducing expansion factor thereby.
-
-	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macros.
-	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Update.
-
-	* src/tools/cordic.py: Bring up to date with trigonometric core.
-
-	* docs/CHANGES: Old typo.
-
-2013-01-02  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/pshinter/pshalgo.h: Remove unused code.
-
-2012-12-27  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (tt_loader_init): Add more tracing.
-
-2012-12-23  Werner Lemberg  <[email protected]>
-
-	[type1] Fix handling of /FontBBox in MM fonts.
-	Problem reported by Del Merritt <[email protected]>
-
-	If we have
-
-	  /FontBBox { { 11 12 13 14 15 16 17 18 }
-	              { 21 22 23 24 25 26 27 28 }
-	              { 31 32 33 34 35 36 37 38 }
-	              { 41 42 43 44 45 46 47 48 } }
-
-	in the /Blend dictionary,  then the first BBox is { 11 21 31 41 },
-	the second { 12 22 32 42 }, etc.
-
-	* include/freetype/internal/psaux.h (T1_FieldType): Add
-	`T1_FIELD_TYPE_MM_BBOX' (for temporary use).
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
-	Implement it.
-
-2012-12-21  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/tools/cordic.py: Bring up to date with trigonometric core.
-
-2012-12-21  Werner Lemberg  <[email protected]>
-
-	Check parameters of `FT_Outline_New'.
-	Problem reported by Robin Watts <[email protected]>.
-
-	* src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that
-	`numContours' and `numPoints' fit into FT_Outline's `n_points' and
-	`n_contours', respectively.
-
-2012-12-20  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.11 released.
-	==========================
-
-
-	Tag sources with `VER-2-4-11'.
-
-	* docs/CHANGES, docs/release: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.11.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.10/2.4.11/, s/2410/2411/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
-
-	* builds/unix/configure.raw (version_info): Set to 16:0:10.
-
-	* builds/toplevel.mk (dist): Don't include `.mailmap'.
-
-2012-12-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Improve trigonometric core.
-
-	FreeType used to rely on a 24-step iteration CORDIC algorithm to
-	calculate trigonometric functions and rotate vectors. It turns out
-	that once the vector is in the right half-plane, the initial rotation
-	by 63 degrees is not necessary. The algorithm is perfectly capable
-	to converge to any angle starting from the second 45 degree rotation.
-	This patch removes the first rotation and makes it a 23-step CORDIC
-	algorithm.
-
-	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macro
-	values.
-	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Remove initial
-	rotation.
-
-2012-12-19  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (ft_property_do): Fix compiler warning.
-
-2012-12-19  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftrfork.c (FT_Raccess_Guess): Switch to FT_Int counters.
-
-2012-12-19  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Clean up trigonometric core.
-
-	* src/base/fttrigon.c (ft_trig_pseudo_polarize): Align algorithm
-	with `ft_trig_pseudo_rotate'.
-
-2012-12-18  Infinality  <[email protected]>
-
-	[truetype] Minor performance enhancement.
-
-	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Use FT_MulFix
-	instead of FT_MulDiv.
-
-2012-12-17  Infinality  <[email protected]>
-
-	[truetype] Remove unused code and variables.
-
-	* src/truetype/ttinterp.c: Updated.
-	(Ins_FDEF): Remove opcode patterns that are not being used.
-
-2012-12-16  Werner Lemberg  <[email protected]>
-
-	Various compiler warning fixes.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use
-	`logical not' operator instead of negation.  The idea is that `~'
-	returns exactly the data type enforced by the cast to a pointer (be
-	it 32bit or 64bit or whatever), while a negative integer has not
-	this flexibility.
-	* src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto.
-	* src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto.
-	* src/type/t1load.c (T1_Get_MM_Var): Ditto.
-	(parse_blend_axis_types): Use cast.
-	* src/bdf/bdflib.c (_bdf_readstream): Use cast.
-
-2012-12-16  Infinality  <[email protected]>
-
-	[truetype] Remove unused code and variables.  Add minor fixes.
-
-	* src/truetype/ttsubpix.h: Updated.
-	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Trebuchet MS.
-	(ALLOW_X_DMOVEX_Rules): Remove Arial characters.
-	(ALLOW_X_DMOVE_Rules): Remove Arial characters.
-	(RASTERIZER_35_Rules): Verdana no longer needs to be here.
-	(SKIP_IUP_Rules): Formatting fix.
-	(DELTAP_SKIP_EXAGGERATED_VALUES_Rules): Remove Segoe UI.
-	(COMPATIBLE_WIDTHS_Rules): Add Monaco and Trebuchet MS.
-	(X_SCALING_Rules): Add misc. corrective fixes.
-
-	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Adjust correction
-	factor for emboldening during scaling.
-
-	* src/truetype/ttinterp.h: Updated.
-	(TT_ExecContextRec): Remove unused variables.
-
-	* src/truetype/ttobjs.h: Updated.
-	(TT_SizeRec): Add ttfautohinted variable.
-
-	* src/truetype/ttinterp.c: Updated.
-	(Ins_FDEF): Rework code to fix bugs and add more detection.
-	(Ins_CALL): Remove unused code.
-	(Ins_LOOPCALL): Remove unused code.
-	(TT_RunIns): Remove unused code.
-	(Ins_SHPIX): Add logic to handle ttfautohinted fonts.
-	(Ins_MIRP): Don't round x in cut-in calculation.  Add logic to handle
-	ttfautohinted fonts.
-
-2012-12-16  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #37936.
-
-	* src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak.
-
-2012-12-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix 11-year old bug.
-
-	Since the initial commit (ebe85f59) the value of FT_TRIG_SCALE has
-	always been slightly less than the correct value, which has been
-	given in the comment as a hexadecimal. As a result, vector lengths
-	were underestimated and rotated vectors were shortened.
-
-	* src/base/fttrigon.c (FT_TRIG_SCALE): Fix macro value.
-
-2012-12-15  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #37907.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
-	negative second parameter of `ENCODING' field also.
-
-2012-12-15  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #37906.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Use correct array
-	size for checking `glyph_enc'.
-
-2012-12-15  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #37905.
-
-	* src/bdf/bdflib.c (_bdf_parse_start) <STARTPROPERTIES>: Reset
-	`props_size' to zero in case of allocation error; this value gets
-	used in a loop in `bdf_free_font'.
-
-2012-12-10  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Scale F_dot_P down.
-
-	The dot product between freeVector and projVector or cosine of
-	the angle between these FT_F2Dot14 unit vectors used to be scaled up
-	by 4 and routinely occupied 32 bits in an FT_Long field F_dot_P.
-	This patch scales the value down by 2^14 instead, which simplifies
-	its use throughout the bytecode interpreter.
-
-	This does not lead to the loss of precision because the lower bits
-	are unreliable anyway. Consider two unit vectors (1,0) and (.6,.8)
-	for which the true value of F_dot_P is .6 * 0x40000000 = 0x26666666.
-	These vectors are stored as (0x4000,0) and (0x2666,0x3333) after
-	rounding and F_dot_P is assigned 0x26660000. The lower bits were
-	already lost while rounding the unit vector components.
-
-	Besides code simplification, this change can lead to better
-	performance when FT_MulDiv with the scaled-down F_dot_P is less
-	likely to use the costly 64-bit path. We are not changing the type
-	of F_dot_P to FT_F2Dot14 at this point.
-
-	* src/truetype/ttinterp.c (Compute_Funcs): Scale F_dot_P down by 14
-	bits and modify its use accordingly.
-	(Direct_Move, Direct_Move_Orig, Compute_Point_Displacement): Modify
-	the use of F_dot_P field.
-	* src/truetype/ttobjs.c (tt_size_run_fpgm): Change arbitrary
-	assignment of F_dot_P to its theoretical maximum in case we decide
-	to scale back its type later.
-
-2012-12-09  Johnson Y. Yan  <[email protected]>
-
-	[type1] Another fix for 2012-09-17 commit.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Correctly set
-	`limit' value.
-
-2012-12-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Tweak the previous commit.
-
-	* src/truetype/ttinterp.c (Current_Ratio): Put unit vector
-	components as the second TT_MulFix14 arguments. This is required
-	on 16-bit systems.
-
-2012-12-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Microoptimizations in bytecode interpreter.
-
-	* src/truetype/ttinterp.c (TT_DivFix14): New macro.
-	(Normalize): Use it here.
-	(Current_Ratio): Use TT_MulFix14 instead of FT_MulDiv.
-	(Ins_SHPIX): Cancel out two TT_MulFix14 calls.
-
-2012-12-05  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Cosmetic improvement in bytecode interpreter.
-
-	* src/truetype/ttinterp.c: Use explicit calls to FT_MulDiv,
-	FT_MulFix, and FT_DivFix instead of macros.
-
-2012-12-03  John Tytgat  <[email protected]>
-
-	[pshinter] Clamp BlueScale value.
-
-	This is Savannah bug #37856.
-
-	* src/pshinter/pshglob.c (psh_calc_max_height): New function.
-	(psh_globals_new): Use it to limit BlueScale value to
-	`1 / max_of_blue_zone_heights'.
-
-2012-12-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype, type1] Revise the use of FT_MulDiv.
-
-	* src/truetype/ttgxvar.c: Updated.
-	* src/truetype/ttobjs.c: Updated.
-	* src/type1/t1load.c: Updated.
-
-2012-11-30  Werner Lemberg  <[email protected]>
-
-	[configure] Preserve customized `ftoption.h'.
-
-	Problem reported by Del Merritt <[email protected]>.
-
-	* builds/unix/configure.raw <cpp computation of bit length>: Don't
-	remove existing FreeType configuration files.
-
-2012-11-29  John Tytgat  <[email protected]>
-
-	[type1] Fix Savannah bug #37831.
-
-	The bug report also contains a patch.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Really fix
-	change from 2012-09-17.
-
-2012-11-28  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Fix formatting and typo.
-
-2012-11-27  Alexei Podtelezhnikov  <[email protected]>
-
-	[cid, type1, type42] Clean up units_per_EM calculations.
-
-	* src/cid/cidload.c (cid_parse_font_matrix): Updated.
-	* src/type1/t1load.c (t1_parse_font_matrix): Updated.
-	* src/type42/t42parse.c (t42_parse_font_matrix): Updated.
-
-2012-11-27  Alexei Podtelezhnikov  <[email protected]>
-
-	[ftstroke] Minor improvement.
-
-	* src/base/ftstroke.c: Replace nested FT_DivFix and FT_MulFix with
-	FT_MulDiv.
-
-2012-11-17  Werner Lemberg  <[email protected]>
-
-	* src/base/fttrigon.c (ft_trig_downscale): Make 64bit version work.
-
-2012-11-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix integer overflows in dd5718c7d67a.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
-
-2012-11-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Trace stem widths.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Add some
-	FT_TRACE calls.
-
-2012-11-13  Werner Lemberg  <[email protected]>
-
-	[cff] Add support for OpenType Collections (OTC).
-
-	* src/cff/cffload.c (cff_font_load): Separate subfont and face
-	index handling to load both pure CFFs with multiple subfonts and
-	OTCs (with multiple faces where each face holds exactly one
-	subfont).
-	* src/cff/cffobjs.c (cff_face_init): Updated.
-
-2012-11-12  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor improvement.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Fix
-	loop.
-
-2012-11-10  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing.
-
-	* src/autofit/aflatin.c (af_latin_hint_edges)
-	[FT_DEBUG_LEVEL_TRACE]: Count number of actions and emit something
-	if there weren't any.
-
-2012-11-04  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fortify emboldening code against egregious distortions.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening
-	strength when it leads to segment collapse.
-
-2012-11-03  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Clean up emboldening code and improve comments there.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Replace sequential
-	calls to FT_MulFix and FT_DivFix with FT_MulDiv.
-	Mention that bisectors are used to figure out the shift direction.
-
-2012-10-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Add standard character to `AF_ScriptClassRec' structure.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Add `standard_char'
-	member.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use it.
-	(af_latin_metrics_init, af_latin_script_class): Updated.
-
-	* src/autofit/aflatin.c (af_latin2_metrics_init_widths): Use it.
-	(af_latin2_metrics_init, af_latin2_script_class): Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Use it.
-	(af_cjk_metrics_init, af_cjk_script_class): Updated.
-
-	* src/autofit/afindic.c (af_indic_metrics_init,
-	af_indic_script_class): Updated.
-
-	* src/autofit/afcjk.h, src/autofit/aflatin.h: Updated.
-
-	* src/autofit/afdummy.c: Updated.
-
-2012-10-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Only use Unicode CMap.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init): Implement it, to be
-	in sync with `af_face_globals_compute_script_coverage'.
-
-2012-10-21  Werner Lemberg  <[email protected]>
-
-	[psaux] Improve parsing of invalid numbers.
-
-	* src/psaux/psconv.c (PS_Conv_Strtol): Always parse complete number,
-	even in case of overflow.
-	(PS_Conv_ToInt): Only increase cursor if parsing was successful.
-	(PS_Conv_ToFixed): Ditto.
-	Trace underflow and data error.
-
-2012-10-21  Werner Lemberg  <[email protected]>
-
-	[smooth] Improve tracing.
-
-	* src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of
-	current band also.
-
-2012-10-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Cheaper way to threshold angles between vectors.
-
-	* src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot
-	cheaper than thresholding sine.
-
-2012-10-20  Werner Lemberg  <[email protected]>
-
-	[cff] Improve parsing of invalid real numbers.
-
-	* src/cff/cffparse.c (cff_parse_real): Always parse complete number,
-	even in case of overflow or underflow.
-	Also trace one more underflow.
-
-2012-10-20  Andreas Pehnack  <[email protected]>
-
-	[sfnt] Load pure CFF fonts wrapped in SFNT container.
-
-	Such fonts only have a `cmap' and a `CFF' table.
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Don't call
-	`check_table_dir' if font signature is `OTTO'.
-
-2012-10-20  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix some value overflows and improve tracing.
-
-	* src/psaux/psconv.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_COMPONENT): Define.
-	(PS_Conv_Strtol): Return FT_Long.
-	Handle bad data and overflow.
-	Emit some tracing messages in case of error.
-	(PS_Conv_ToInt): Return FT_Long.
-	(PS_Conv_ToFixed): Updated.
-	* src/psaux/psconv.h: Updated.
-
-	* include/freetype/internal/fttrace.h: Add `psconv'.
-
-2012-10-20  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix `make multi CC=c++'.
-
-	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Include
-	`afglobal.h'.
-	* src/autofit/afloader.c: Fix order of header files.
-	* src/autofit/afmodule.c: Include `afglobal.h' and `aferrors.h'.
-
-2012-10-19  Werner Lemberg  <[email protected]>
-
-	[cff] Fix more value errors and improve tracing.
-
-	* src/cff/cffparse.c (cff_parse_integer): Emit tracing message in
-	case of error.
-	(cff_parse_real): Handle and trace overflow, underflow, and bad data
-	consistently.
-	(do_fixed): New helper function, handling and tracing overflow.
-	(cff_parse_fixed, cff_parse_fixed_scaled): Use `do_fixed'.
-
-2012-10-17  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix some value overflows.
-
-	* src/psaux/psconv.c (PS_Conv_ToFixed): Implement it.
-
-2012-10-17  Bram Tassyns  <[email protected]>
-
-	[cff] Fix value overflow.
-
-	* src/cff/cffparse.c (cff_parse_fixed_scaled): Implement it.
-
-2012-10-17  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #37572.
-
-	* src/truetype/ttinterp.c (Ins_ISECT): Use angle between vectors to
-	avoid grazing intersections.  The previous threshold was too coarse,
-	incorrectly rejecting short but valid vectors.
-
-2012-09-30  Gilles Espinasse  <[email protected]>
-
-	Remove useless `rm' detection.
-
-	`rm -f' is directly used in the `configure' script created by
-	autoconf, thus no availability test is necessary.
-
-	* builds/unix/configure.raw (RMF): Remove test.
-	* builds/unix/unix-def.in (DELETE): Updated.
-
-2012-09-29  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor optimization.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
-	Add loop condition.
-
-2012-09-29  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix thinko.
-
-	* src/autofit/aftypes.h (AF_SCRIPT):
-	s/AF_SCRIPT_NONE/AF_SCRIPT_DUMMY/.  We already use `AF_SCRIPT_NONE'
-	as a bit mask.
-
-	* src/autofit/afdummy.c: Updated.
-
-2012-09-18  Werner Lemberg  <[email protected]>
-
-	[autofit] Implement `increase-x-height' property.
-
-	* include/freetype/ftautoh.h (FT_Prop_IncreaseXHeight): New
-	structure.
-
-	* include/autofit/afmodule.c (af_property_get_face_globals): New
-	function, re-using code from `af_property_get'.
-	(af_property_set, af_property_get): Handle `increase-x-height'.
-	Updated.
-
-2012-09-18  Werner Lemberg  <[email protected]>
-
-	[autofit] Implement Infinality's `increase glyph heights'.
-
-	This is an improved version of a similar fix contained in the
-	so-called `Infinality patch', taken from
-
-	  http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.10-20120616_01-x86_64.tar.bz2
-
-	which addresses various enhancements of the auto-hinter.  Without
-	properties to control a module's metadata it wasn't possible to
-	adapt the patches because everything was originally controlled by
-	environment variables which I consider not suitable in general.
-
-	A patch to control `increase_x_height' follows.
-
-	* src/autofit/afglobal.h (AF_PROP_INCREASE_X_HEIGHT_MIN,
-	AF_PROP_INCREASE_X_HEIGHT_MAX): New macros.
-	(AF_FaceGlobalsRec): Add `increase_x_height' member.
-	* src/autofit/afglobal.c (af_face_globals_new): Initialize it.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim),
-	* src/autofit/aflatin2.c (af_latin2_metrics_scale_dim): Implement
-	handling of `increase_x_height'.
-
-2012-09-18  Werner Lemberg  <[email protected]>
-
-	[autofit] Add hierarchical property access to some structures.
-
-	* src/autofit/afglobal.h: Include `afmodule.h'.
-	(AF_FaceGlobalsRec): Add `module' member.
-	(AF_FaceGlobals): Typedef moved to...
-	* src/autofit/aftypes.h: Here.
-	(AF_ScriptMetricsRec): Add `globals' member.
-
-	* src/autofit/afglobal.c (af_face_globals_new,
-	af_face_globals_compute_script_coverage,
-	af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afloader.c (af_loader_reset), src/autofit/afmodule.c
-	(af_property_get): Updated.
-
-2012-09-17  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #37350.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Check for ASCII
-	storage only if we actually have at least four bytes.
-
-2012-09-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Implement `fallback-script' property.
-
-	* src/autofit/afglobal.c: s/default_script/fallback_script/.
-	* src/autofit/afglobal.h: s/AF_SCRIPT_DEFAULT/AF_SCRIPT_FALLBACK/.
-
-	* src/autofit/afmodule.c: s/default_script/fallback_script/.
-	(af_property_set, af_property_get): Implement `fallback-script'.
-	* src/autofit/afmodule.h: s/default_script/fallback_script/.
-
-	* include/freetype/ftautoh.h: Document it.
-
-2012-09-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Correct previous Unicode 6.1.0 change.
-
-	The auto-hinter's latin module only handles latin ligatures in the
-	`Alphabetical Presentation Forms' block.
-
-	* src/autofit/aflatin.c (af_latin_uniranges): Fix it.
-
-2012-09-15  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afmodule.c: s/FT_Err_/AF_Err_/.
-
-2012-09-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Make default script a global property.
-
-	* src/autofit/afmodule.h (AF_ModuleRec): Add `default_script' field.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage,
-	af_face_globals_new), src/autofit/afloader.c (af_loader_reset),
-	src/autofit/afmodule.c (af_property_get) <glyph-to-script-map>,
-	af_autofitter_init:
-	Handle default script.
-
-	* src/autofit/afglobal.h: Updated.
-
-2012-09-15  Werner Lemberg  <[email protected]>
-
-	Use `FT_Module' instead of `FT_Library' argument in property funcs.
-
-	This internal change simplifies access to global module data.
-
-	* include/freetype/internal/services/svprop.h
-	(FT_Properties_SetFunc, FT_Properties_GetFunc): Change accordingly.
-
-	* src/base/ftobjs.c (ft_property_do), src/autofit/afmodule.c
-	(af_property_set, af_property_get): Updated.
-
-2012-09-14  Werner Lemberg  <[email protected]>
-
-	[autofit] Update to Unicode 6.1.0.
-
-	* src/autofit/afcjk.c (af_cjk_uniranges), src/autofit/aflatin.c
-	(af_latin_uniranges): Add and fix ranges.
-
-2012-09-14  Werner Lemberg  <[email protected]>
-
-	[autofit] Pass `AF_Module' instead of `AF_Loader'.
-
-	We want to access the (not yet existing) module's global data later
-	on.
-
-	* src/autofit/afloader.c: Include `afmodule.h'.
-	(af_loader_init, af_loader_reset, af_loader_done,
-	af_loader_load_glyph): Change accordingly.
-	* src/autofit/afmodule.c (AF_ModuleRec): Move to `afmodule.h'.
-	Updated.
-
-	* src/autofit/afmodule.h: Include `afloader.h'.
-	(AF_ModuleRec): Define here.
-	* src/autofit/afloader.h (AF_Module): Define here.
-	Updated.
-
-2012-09-14  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix `make multi'.
-
-	* include/freetype/internal/fttrace.h: Add `afmodule'.
-	* src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_COMPONENT): Define.
-
-2012-09-14  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afmodule.c: s/FT_Autofitter/AF_Module/.
-
-2012-09-12  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor reorganization.
-
-	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT,
-	AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to...
-	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE,
-	AF_DIGIT): This and update code.
-
-2012-09-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Implement `glyph-to-script-map' property.
-
-	* include/freetype/ftautoh.h: New public header file.
-	* include/freetype/config/ftheader.h (FT_AUTOHINTER_H): New macro.
-
-	* src/autofit/afglobal.c (AF_FaceGlobalsRec): Move structure to...
-	* src/autofit/afglobal.h: This header file.
-	* src/autofit/afmodule.c: Include FT_AUTOHINTER_H.
-	(af_property_get): Handle `glyph-to-script-map'.
-
-2012-08-31  Werner Lemberg  <[email protected]>
-
-	[autofit] Implement properties service framework.
-
-	No properties are added yet.
-
-	* src/autofit/afmodule.c: Include FT_SERVICE_PROPERTIES_H.
-	(af_property_set, af_property_get): New dummy functions.
-	(af_service_properties, af_services, af_get_interface): Provide
-	service setup.
-	(autofit_moduleclass): Add service interface.
-
-	* src/autofit/afpic.c: Add necessary forward declarations.
-	(autofit_module_class_pic_init): Add code for service addition.
-	(autofit_module_pic_free): Add code for service removal.
-	* src/autofit/afpic.h (AF_SERVICES_GET, AF_SERVICE_PROPERTIES_GET):
-	New macros which provide necessary syntactical sugar for PIC
-	support.
-
-2012-08-30  Werner Lemberg  <[email protected]>
-
-	Implement properties to control FreeType modules.
-
-	* include/freetype/fterrdef.h (FT_Err_Missing_Property): New error
-	code.
-	* include/freetype/ftmodapi.h (FT_Property_Set, FT_Property_Get):
-	New API.
-
-	* include/freetype/internal/services/svprop.h: New file.
-	* include/freetype/internal/ftserv.h (FT_SERVICE_PROPERTIES_H): New
-	macro.
-
-	* src/base/ftobjs.c: Include FT_SERVICE_PROPERTIES_H.
-	(ft_property_do, FT_Property_Set, FT_Property_Get): New functions.
-
-2012-08-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Allow `-' in tags and identifiers.
-
-	* src/tools/docmaker/content.py (re_identifier),
-	src/tools/docmaker/sources.py (re_markup_tag1, re_markup_tag2,
-	re_crossref): Add `-' in patterns.
-
-2012-08-27  Werner Lemberg  <[email protected]>
-
-	[FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings.
-
-	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER),
-	include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
-	FT_DEFINE_MODULE), include/freetype/internal/ftserv.h
-	(FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2,
-	FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4,
-	FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6),
-	src/autofit/afpic.c (autofit_module_class_pic_init),
-	src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c
-	(ft_create_default_module_classes), src/cff/cffparse.c
-	(FT_Create_Class_cff_field_handlers), src/cff/cffpic.c
-	(cff_driver_class_pic_init), src/pshinter/pshpic.c
-	(pshinter_module_class_pic_init), src/psnames/pspic.c
-	(psnames_module_class_pic_init), src/raster/rastpic.c
-	(ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c
-	(sfnt_module_class_pic_init), src/sfnt/ttcmap.c
-	(FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c
-	(ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c
-	(tt_driver_class_pic_init): Initialize allocation variable.
-
-2012-08-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix compilation warning.
-
-	* src/truetype/ttgload.c (IS_HINTED): Move macro to...
-	* src/truetype/ttobjs.h: This header file.
-
-2012-08-27  Werner Lemberg  <[email protected]>
-
-	[autofit, cff, pshinter, psnames] More renamings for orthogonality.
-
-	* src/autofit/afmodule.c, src/autofit/afpic.h:
-	s/AF_AUTOFITTER_/AF_/.
-
-	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffparse.c,
-	src/cff/cffpic.h: s/FT_CFF_/CFF_/.
-
-	* src/pshinter/pshmod.c, src/pshinter/pshpic.h:
-	s/FT_PSHINTER_/PSHINTER_/.
-
-	* src/psnames/psmodule.c, src/psnames/pspic.h:
-	s/FT_PSCMAPS/PSCMAPS_/.
-
-2012-08-27  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] More renamings for orthogonality.
-
-	* src/sfnt/sfdriver.c, src/sfnt/sfntpic.h, src/sfnt/ttcmap.c,
-	src/truetype/ttdriver.c, src/truetype/ttpic.h: s/FT_SFNT_/SFNT_/,
-	s/FT_TT_/TT_/, s/GET_CMAP_INFO_GET/CMAP_INFO_GET/.
-
-2012-08-27  Werner Lemberg  <[email protected]>
-
-	[autofit] Some macro and variable renamings for orthogonality.
-
-	* include/freetype/internal/autohint.h, src/base/ftobjs.c,
-	src/autofit/afmodule.c, src/autofit/afpic.c, src/autofit/afpic.h:
-	s/SERVICE/INTERFACE/, s/service/interface/, s/Service/Interface/.
-
-2012-08-26  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #37178.
-
-	* src/base/ftobjs.c (FT_Open_Face): Initialize `error' with
-	`FT_Err_Missing_Module' before loop to indicate `no valid drivers'.
-
-2012-08-17  Werner Lemberg  <[email protected]>
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Oblique): Fix shear angle.
-
-	The old value was far too large (more than 20°).  The new one
-	corresponds to 12°, quite common in typography.
-
-2012-08-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Fix Savannah bug #37017.
-
-	* src/smooth/ftgrays.c (gray_render_cubic): Use a different set of
-	checks when detecting super curvy splines to be split.
-
-2012-08-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve recognition of flat segments.
-
-	Problem reported by Brad Dunzer <[email protected]>.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): We have
-	a flat segment if the horizontal distance of best on-points is
-	larger than a given threshold.
-
-2012-08-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Variable renamings.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Replace
-	`glyph' with `outline'.
-	s/best_first/best_contour_first/.
-	s/best_last/best_contour_last/.
-
-2012-07-31  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #37000.
-
-	* src/type1/t1load.c (parse_encoding): Fix order of checks.
-
-2012-07-17  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix Savannah bug #36833.
-
-	* src/psaux/t1decode.c (t1operator_seac): `seac' is not a valid
-	operator if we want metrics only.
-
-2012-07-16  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #36832.
-
-	* src/type1/t1load.c (parse_charstrings): Reject negative number of
-	glyphs.
-
-2012-07-13  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #36829.
-
-	* src/type1/t1load.c (parse_encoding): Check cursor position after
-	call to T1_Skip_PS_Token.
-
-2012-07-12  Alexei Podtelezhnikov  <[email protected]>
-
-	Revert the last commit 45337b07.
-
-	* src/base/ftstroke.c (FT_Stroker_New): Revert the previous change.
-
-2012-07-11  Alexei Podtelezhnikov  <[email protected]>
-
-	[ftstroke] Fix uninitialized return value.
-
-	* src/base/ftstroke.c (FT_Stroker_New): Return FT_Err_Ok instead.
-
-2012-07-11  Werner Lemberg  <[email protected]>
-
-	[smooth] Avoid memory leak in case of failure.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use flags to
-	indicate what to clean up after finishing the function, with and
-	without errors.
-
-2012-07-09  Werner Lemberg  <[email protected]>
-
-	Fix compilation with MSVC 5.0.
-
-	Problem reported by Peter Breitenlohner and Akira Kakuto.
-
-	* include/freetype/config/ftstdlib.h (ft_setjmp): Updated.
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast.
-
-2012-07-09  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve debugging messages; do some code cleanup.
-
-	* src/autofit/aflatin.c (af_latin_align_linked_edge,
-	af_latin_hint_edges): Synchronize with formatting used in the
-	ttfautohint project.
-
-2012-07-07  Gilles Espinasse  <[email protected]>
-
-	Fix strict-aliasing warning.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Avoid double cast.
-
-2012-07-07  Dave Thomas  <[email protected]>
-
-	[ARM] Fix FT_MulFix_arm.
-
-	* include/freetype/config/ftconfig.h (FT_MulFix_arm) [__arm__]:
-	Avoid ADDS instruction to clobber condition codes.
-
-2012-07-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Do some code cleanup.
-
-	* src/autofit/afglobal.c (af_face_globals_new): Simplify.
-
-	* src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf'
-	everywhere.
-	(FT_COMPONENT): New macro.
-	(af_glyph_hints_done): Simplify.
-
-	* include/freetype/internal/fttrace.h: Updated.
-
-2012-07-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve output of debugging information.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Print more
-	data; report no data.
-	(af_glyph_hints_dump_edges): Report no data.
-
-2012-07-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix Savannah bug #36091.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
-	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Change the
-	constraint for testing round vs. flat segment: Accept either a
-	small distance or a small angle.
-
-2012-07-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Beautify blue zone tracing.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
-	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Implement it.
-
-2012-07-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Quantize stem widths.
-
-	* src/autofit/afangles.c (af_sort_widths): Rename to...
-	(af_sort_and_quantize_widths): This.
-	Add code to avoid stem widths which are almost identical.
-	* src/autofit/aftypes.h, src/autofit/aflatin.c, src/autofit/afcjk.c:
-	Updated.
-
-2012-07-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor speed-up.
-
-	* src/autofit/afangles (af_sort_pos, af_sort_widths): Don't swap
-	elements if they are equal.
-
-2012-06-30  Gilles Espinasse  <[email protected]>
-
-	Fix `checking if gcc static flag -static works' test.
-
-	On my linux build tree, I receive yes answer in every package I
-	build except FreeType for this test checking if gcc static flag
-	`-static' works
-
-	In FreeType, no is received, unless bzip2 and zlib are disabled using
-
-	  ./configure --without-bzip2 --without-zlib
-
-	The reason is that bzip2 and zlib tests add `-lz' and `-lbz2' to
-	LDFLAGS and this broke static flag test.
-
-	* builds/unix/configure.raw: Update CFLAGS and LDFLAGS only after
-	LT_INIT has run.
-
-2012-06-28  Infinality  <[email protected]>
-
-	[truetype] Fix various artifacts.
-
-	Verdana was broken in the original Infinality commit.  Also
-	includes other minor fixes.
-
-	* src/truetype/ttsubpix.h: Updated.  Removed unused macros.
-	(RASTERIZER_35_Rules): Add Verdana.
-	(SKIP_NONPIXEL_Y_MOVES_Rules): Add Tahoma `s'.
-	(MIRP_CVT_ZERO_Rules): Remove Verdana.
-	(ALWAYS_SKIP_DELTAP_Rules): Add Russian char 0x438.
-	(COMPATIBLE_WIDTHS_Rules): Rearrange some rules.
-	(X_SCALING_Rules): Adjust Verdana `a' at 12 and 13 ppem.
-
-	* src/truetype/ttsubpix.c: Updated.
-	(sph_set_tweaks): Re-execute fpgm always.
-
-2012-06-28  Gilles Espinasse  <[email protected]>
-
-	Fix CFLAGS and LDFLAGS share configure test.
-
-	* builds/unix/configure.raw: Fix typo.
-
-2012-06-28  Werner Lemberg  <[email protected]>
-
-	[truetype] Set the `subpixel_positioned' flag unconditionally.
-
-	This is how the code currently behaves.
-
-	* src/truetype/ttgload.c (tt_loader_init): Do it.
-
-2012-06-27  Werner Lemberg  <[email protected]>
-
-	Fix conditional compilation.
-
-	* src/base/basepic.c: Use FT_CONFIG_OPTION_MAC_FONTS.
-
-2012-06-27  Werner Lemberg  <[email protected]>
-
-	Fix conditional compilation.
-
-	* include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Don't
-	enclose with `TT_USE_BYTECODE_INTERPRETER'; we now need the function
-	elsewhere also.
-
-	* src/autofit/afcjk.h: Use AF_CONFIG_OPTION_CJK.
-
-	* src/truetype/ttgload.c (tt_loader_init): Fix compiler warning.
-
-	* src/truetype/ttinterp.c (Ins_MSIRP): Fix compiler warning.
-
-	* src/truetype/ttinterp.h: Use
-	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
-
-2012-06-26  Infinality  <[email protected]>
-
-	[truetype] Remove unused rounding functionality.
-
-	The subpixel hinting patch contained the concept of an adjustable
-	number of gridlines per pixel.  This is no longer used due to x
-	being completely ignored instead.  This will return some of the
-	code to its existing state prior to the original Infinality
-	commit.
-
-	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
-	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): Removed.
-
-	* src/truetype/ttinterp.c: Updated.
-	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
-	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
-	SetSuperRound): Remove parameter to handle the number of grid lines per
-	pixel.
-	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
-	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
-	(DO_ROUND, DO_NROUND): Updated.
-	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
-	Ins_MDRP, Ins_MIRP): Perform Round_None instead of calling a modified
-	rounding function.  Remove gridlines_per_pixel.  Create a local
-	variable to store control value cutin. Simplify the conditional for
-	ignore_x_mode.  Adjust rounding calls to pass only two values.
-
-2012-06-25  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #36705.
-
-	Handle numbers like 2.001 correctly.
-
-	* src/cff/cffparse.c (cff_parse_real): Avoid negative values for
-	`shift'.
-
-2012-06-18  Infinality  <[email protected]>
-
-	[truetype] Support subpixel hinting.
-
-	This is the large, famous `Infinality' patch to support ClearType
-	bytecode which has been available from
-	http://www.infinality.net/blog/ for some time, and which has been
-	refined over the last years.  While still experimental, it is now
-	mature enough to be included directly into FreeType.
-
-	Most of the code is based on the ClearType whitepaper written by
-	Greg Hitchcock
-
-	  https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
-
-	which gives a detailed overview of the necessary changes to the
-	Microsoft rasterizer so that older fonts are supported.  However, a
-	lot of details are still missing, and this patches provides a
-	framework to easily handle rendering issues down to the glyph level
-	of certain fonts.
-
-	Note that ClearType support is not completely implemented!  In
-	particular, full support for the options `compatible_widths',
-	`symmetrical_smoothing, and `bgr' (via the GETINFO bytecode
-	instruction) is missing.
-
-	* src/truetype/ttsubpix.c: New file, providing code to handle
-	`tweaks', this is, rules for certain glyphs in certain fonts
-	(including wildcards) which need a special treatment.
-
-	* src/truetype/ttsubpix.h: New file, holding the tweaking rules.
-
-	* include/freetype/config/ftoption.h, src/devel/ftoption.h
-	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): New macro.
-
-	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
-	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): New macros.
-
-	* src/truetype/truetype.c [TT_USE_BYTECODE_INTERPRETER]: Include
-	`ttsubpix.c'.
-
-	* src/truetype/ttgload.c: Include `ttsubpix.h'.
-	[All changes below are guarded by TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
-
-	(tt_get_metrics): Set tweak flags.
-	(TT_Hint_Glyph): Call `FT_Outline_EmboldenXY' if necessary.
-	(TT_Process_Simple_Glyph): Compensate emboldening if necessary.
-	(compute_glyph_metrics): Handle `compatible widths' option.
-	(tt_loader_init): Handle ClearType GETINFO information bits.
-
-	* src/truetype/rules.mk (TT_DRV_SRC): Updated.
-
-	* src/truetype/ttinterp.c: Include `ttsubpix.h'.
-	[Where necessary, changes below are guarded by
-	TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
-
-	(Direct_Move, Direct_Move_X): Extended.
-	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
-	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
-	SetSuperRound): Add parameter to handle the number of grid lines per
-	pixel.
-	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
-	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
-	(DO_ROUND, DO_NROUND): Updated.
-	(DO_RS): Take care of `Typeman' bytecode patterns.
-	(Ins_FDEF): Add some debugging code.  Commented out.
-	(Ins_ENDF): Restore state.
-	(Ins_CALL, Ins_LOOPCALL): Handle inline delta functions.
-	(Ins_MD): Handle `Vacuform' rounds.
-	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
-	Ins_MDRP, Ins_MIRP): Handle tweaks.
-	(Ins_ALIGNRP): Add tweak guard.
-	(Ins_IUP, Ins_DELTAP): Handle tweaks.
-	(Ins_GETINFO): Handle new ClearType bits.
-	(TT_RunIns): Handle tweaks.
-
-	* src/truetype/ttinterp.h: Updated.
-	(SPH_TweakRule, SPH_ScaleRule): New structures for tweaks.
-	(TT_ExecContextRec): Add members for subpixel hinting support.
-
-	* src/truetype/ttobjs.h (TT_DefRecord): Add `inline_delta' member.
-
-2012-06-15  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.10 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-10'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.10.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.9/2.4.10/, s/249/2410/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
-
-	* builds/unix/configure.raw (version_info): Set to 15:0:9.
-
-2012-06-15  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Improve spacing.
-
-	* docs/CHANGES: Updated.
-
-2012-06-14  suzuki toshiya  <[email protected]>
-
-	* builds/exports.mk: Add CCexe_CFLAGS and CCexe_LDFLAGS.
-
-	to pass special compiler/linker flags under cross development.
-	Suggested by Savannah bug #36367.
-
-	ChangeLog on 2010-07-15 saying as they were removed was wrong
-	for the official trunk of FreeType2.  This commit is the first
-	introduction of them.
-
-2012-06-14  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2012-06-14  suzuki toshiya  <[email protected]>
-
-	[truetype] Add new versions of NEC FA family to tricky font list.
-
-	NEC FA family dated in 1996 have different checksum.
-	Reported by Johnson Y. Yan <[email protected]>; see
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2012-06/msg00023.html
-
-	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): 4 sets
-	of fpgm & prep table checksums for FA-Gothic, FA-Minchou,
-	FA-RoundedGothicM, FA-RoundedGothicB are added.  The family
-	names in sample PDF are truncated, thus the list of the
-	family names in tt_check_trickyness_family() is not updated yet.
-
-2012-06-06  Werner Lemberg  <[email protected]>
-
-	[ftraster] Fix rounding issue causing visual artifacts.
-
-	Problem reported by jola <[email protected]>; see
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2012-05/msg00036.html
-
-	* src/raster/ftraster.c (SMulDiv_No_Round): New macro.
-	(Line_Up): Use it.
-	* src/raster/ftmisc.h (FT_MulDiv_No_Round): Copied from `ftcalc.c'.
-
-2012-05-28  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Simplify.
-
-	We now use the cross product of the direction vectors to compute the
-	outline's orientation.
-
-2012-05-28  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2012-05-28  Alexei Podtelezhnikov  <[email protected]>
-
-	New function FT_Outline_EmboldenXY.
-
-	* include/freetype/ftoutln.h (FT_Outline_EmboldenXY): Define it.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Implement it, using a
-	simplified emboldening algorithm.
-	(FT_Outline_Embolden): Make it a special case of
-	`FT_Outline_EmboldenXY'
-
-2012-05-07  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #36386.
-
-	* src/type1/t1load.c (t1_load_keyword): Ignore keyword if context is
-	not valid.
-
-2012-04-07  Werner Lemberg  <[email protected]>
-
-	Remove compiler warning.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph)
-	[!TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Access `glyph->face' directly.
-
-2012-03-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Properly copy scaler flags to script metrics object.
-
-	Without this patch, only the dummy and cjk autohinter modules get
-	them (since they copy the whole scaler object).
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale),
-	src/autofit/aflatin2.c (af_latin2_metrics_scale): Implement it.
-
-2012-03-22  Alexei Podtelezhnikov  <[email protected]>
-
-	[bdflib] Remove redundant macro.
-
-	* src/bdf/bdflib.c (isdigok): Remove and replace with sbitset, which
-	is exactly the same.
-
-2012-03-20  suzuki toshiya  <[email protected]>
-
-	[configure] Fix Savannah bug #35644.
-
-	* builds/unix/configure.raw: Check `-ansi' flag works even if gcc
-	is used.  Bionic libc headers for Android lose the consistency
-	when they are parsed with __STDC_VERSION__ older than 199901L or
-	__STRICT_ANSI__.
-
-2012-03-20  Werner Lemberg  <[email protected]>
-
-	[bdf] Improvement to Savannah bug #35656.
-
-	* src/bdf/bdflib.c (isdigok): Add cast, as suggested in report.
-
-2012-03-17  Chris Liddell  <[email protected]>
-
-	[type1] Fix Savannah bug #35847.
-
-	* src/type1/t1load.c (parse_subrs): Fix the loop exit condition;
-	we want to exit when we have run out of data.
-
-2012-03-16  Werner Lemberg  <[email protected]>
-
-	[bdf] Really fix Savannah bug #35658.
-
-	* src/bdf/bdflib.c (_bdf_list_split): Add one more `field' initializer.
-
-2012-03-14  Yann Droneaud  <[email protected]>
-
-	[sfnt] Make arrays static like all others.
-
-	* src/sfnt/ttload.c (tt_face_load_maxp, tt_face_load_os2),
-	src/sfnt/ttmtx.c (tt_face_load_hhea): Add `static' keyword to frame
-	fields.
-
-2012-03-14  Huw Davies  <[email protected]>
-
-	[sfnt] A refinement of the previous commit.
-
-	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
-	tt_name_entry_ascii_from_other): Stop at null byte.
-
-2012-03-14  Huw Davies  <[email protected]>
-
-	[sfnt] Add `name' table compatibility to MS Windows.
-
-	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
-	tt_name_entry_ascii_from_other): Don't replace `\0' with question
-	marks when converting strings.
-
-2012-03-14  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #35833.
-
-	Based on the patch given in the bug report.
-
-	* src/type1/t1load.c (IS_INCREMENTAL): New macro.
-	(read_binary_data): Add parameter `incremental'.
-	Update all callers using `IS_INCREMENTAL'.
-
-2012-03-11  Werner Lemberg  <[email protected]>
-
-	[autofit] Return correct linear advance width values.
-
-	This was quite a subtle bug which accidentally showed up with glyph
-	`afii10023' of arial.ttf (version 2.76).  This glyph is a composite;
-	the first component, `E', has an advance width of 1366 font units,
-	while the advance width of the composite itself (which looks like
-	uppercase `E' with dieresis) is 1367 font units.  I think this is
-	actually a bug in the font itself, because there is no reason that
-	this glyph has not the same width as uppercase `E' without the
-	dieresis.  Anyway, it helped identify this problem.
-
-	Using the TrueType hinter, the correct value (1367) of `afii10023'
-	was returned, but the autohinter mysteriously returned 1366.
-
-	Digging in the code showed that the autohinter recursively calls
-	FT_Load_Glyph to load the glyph, adding the FT_LOAD_NO_SCALE load
-	flag.  However, the `linearHoriAdvance' field is still returned as a
-	scaled value.  To avoid scaling twice, the old code in autofit reset
-	`linearHoriAdvance', using the `horiAdvance' field.  This seemed to
-	work since FT_LOAD_NO_SCALE was in use, but it failed actually,
-	because `horiAdvance' is defined as the distance of the first
-	subglyph's phantom points, which in turn are initialized using the
-	advance width of the first subglyph.  And as the given example
-	shows, these widths can differ.
-
-	* src/autofit/afloader.c (af_loader_load_g): Temporarily set
-	FT_LOAD_LINEAR_DESIGN while calling FT_Load_Glyph to get unscaled
-	values for the linear advance widths.
-
-2012-03-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix SSW instruction.
-
-	* src/truetype/ttinterp.c (DO_SSW): SSW *does* use font units.  For
-	verification, it took some time to find a font which actually uses
-	this instruction.
-
-2012-03-09  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation.
-
-	* include/freetype/freetype.h: Swap order of preprocessor blocks.
-
-2012-03-08  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.9 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-9'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.9.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
-
-	* builds/unix/configure.raw (version_info): Set to 14:1:8.
-
-2012-03-08  Werner Lemberg  <[email protected]>
-
-	[bdf] Add missing overflow check.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
-	`glyph->bpr'.
-
-2012-03-07  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation.
-
-	* src/autofit/aferrors.h, src/bdf/bdferror.h, src/bzip2/ftbzip2.c,
-	src/cache/ftcerror.h, src/cff/cfferrs.h, src/cid/ciderrs.h,
-	src/gxvalid/gxverror.h, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
-	src/otvalid/otverror.h, src/pcf/pcferror.h, src/pfr/pfrerror.h,
-	src/psaux/psauxerr.h, src/pshinter/pshnterr.h,
-	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
-	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
-	src/type1/t1errors.h, src/type42/t42error.h, src/winfonts/fnterrs.h:
-	Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
-
-2012-03-03  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #35660.
-
-	For some divisions, we use casts to 32bit entities.  Always guard
-	against division by zero with these casts also.
-
-	* src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
-	(FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
-	(FT_DivFix): Add 32bit cast (this omission triggered the bug).
-
-2012-03-03  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix handling of track kerning.
-
-	* src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
-	for `min_kern'.  It is indeed quite common that track kerning
-	*increases* spacing for very small sizes.
-
-2012-03-02  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #35689.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
-	point.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #35656.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
-	of nibble characters instead of accessing `a2i' array.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[winfonts] Fix Savannah bug #35659.
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #35658.
-
-	* src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
-	properly.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix Savannah bug #35657.
-
-	If in function `skip_spaces' the routine `skip_comment' comes to the
-	end of buffer, `cur' is still increased by one, so we need to check
-	for `p >= limit' and not `p == limit'.
-
-	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
-	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #35646.
-
-	* src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages.  The
-	code is now in sync with the other operators (e.g. MSIRP) which
-	modify twilight points.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #35643.
-
-	* src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
-	comment before `_bdf_list_split', this is, really allocate at least
-	five `field' elements.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #35641.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
-	_BDF_ENCODING isn't set.  We need this because access to the `glyph'
-	variable might be undefined otherwise.
-
-2012-03-01  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #35640.
-
-	* src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
-	for NPUSHB and NPUSHW instructions.
-
-2012-02-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #35601.
-
-	* src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
-	last point for loop.
-	Also remove redundant boundary check.
-
-2012-02-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove redundant check.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
-	second check for ordered contour start points.
-
-2012-02-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Make SHC instruction behave similar to MS rasterizer.
-
-	* src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
-	twilight zone.
-
-2012-02-29  Alexei Podtelezhnikov  <[email protected]>
-
-	Avoid modulo operators against a power-of-two denominator.
-
-	* src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
-	(ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
-	src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
-	src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
-	`&' operator.
-
-2012-02-29  Werner Lemberg  <[email protected]>
-
-	[autofit] Don't synchronize digit widths for light rendering mode.
-
-	We don't hint horizontally in this mode.
-
-	* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
-	Implement it.
-
-2012-02-26  Alexei Podtelezhnikov  <[email protected]>
-
-	[type42] Minor code optimization (again).
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
-
-2012-02-26  Mateusz Jurczyk  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[smooth] Fix Savannah bug #35604.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
-	instead of `FT_UInt' for some variables and update comparisons
-	accordingly.  A detailed analysis can be found in the bug report.
-
-2012-02-26  Alexei Podtelezhnikov  <[email protected]>
-
-	[type42] Minor code optimization.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
-	modulo operator.
-
-2012-02-26  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2012-02-26  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #35608.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
-	dictionaries.
-
-2012-02-26  Werner Lemberg  <[email protected]>
-
-	[bdf] Support `ENCODING -1 <n>' format.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
-
-2012-02-26  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #35607.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
-	negative encoding values.
-
-2012-02-26  Werner Lemberg  <[email protected]>
-
-	[type1] Fix Savannah bug #35606.
-
-	* src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
-
-	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
-	only if cur < limit.
-
-2012-02-25  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix Savannah bug #35603.
-
-	* src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
-	`strings' array.
-
-2012-02-25  Werner Lemberg  <[email protected]>
-
-	[type42] Fix Savannah bug #35602.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
-	thoroughly.
-
-2012-02-25  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bugs #35599 and #35600.
-
-	* src/bdf/bdflib.c (ACMSG16): New warning message.
-	(_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
-
-2012-02-24  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bugs #35597 and #35598.
-
-	* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
-
-2012-02-24  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation (6/6).
-
-	* src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
-
-	* src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
-	s/t1_init_loader/cid_init_loader/.
-	s/t1_done_loader/cid_done_loader/.
-
-	* src/psaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
-
-	* src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
-
-	* src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
-
-2012-02-24  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation (5/6).
-
-	* include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
-	using it.
-
-2012-02-22  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation (4/6).
-
-	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
-	RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
-
-	* src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
-	s/PRaster/black_PRaster/.
-	* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
-	s/PRaster/gray_PRaster/.
-
-2012-02-20  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation (3/6).
-
-	* src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
-	s/PWorker/black_PWorker/.
-	* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
-	s/PWorker/gray_PWorker/.
-
-2012-02-20  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation (2/6).
-
-	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
-	CEILING, TRUNC, and SCALED before defining it.
-
-2012-02-20  Vinnie Falco  <[email protected]>
-
-	Prepare source code for amalgamation (1/6).
-
-	See discussion starting at
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
-
-	* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
-	* src/raster/ftraster.c: s/TBand/black_TBand/.
-
-2012-02-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[autofit] Fix outline flags.
-
-	* src/autofit/afloader.c (af_loader_load_g): Don't reassign
-	`outline.flags' so that this information is preserved.  See
-	discussion starting at
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
-
-2012-02-11  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #35466.
-
-	Jump instructions are now bound to the current function.  The MS
-	Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
-
-	* src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
-	* src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
-
-	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
-	bound of jump address.
-	(Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
-
-2012-02-11  Werner Lemberg  <[email protected]>
-
-	We don't use `extensions'.
-
-	* include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
-	`extensions' field.
-
-2012-02-11  Werner Lemberg  <[email protected]>
-
-	Clean up `generic' fields.
-
-	* include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
-	Remove `generic' field since users can't access it.
-
-	* src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
-	advertised in the documentation of FT_Generic.
-	(Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
-
-2012-02-07  Werner Lemberg  <[email protected]>
-
-	[autofit] Harmonize function arguments.
-
-	* src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
-	`load_flags'.
-
-2012-02-07  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
-
-2012-01-17  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix Savannah bug #35286.
-
-	Patch submitted by anonymous reporter.
-
-	* src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
-	gxv_set_length_by_ulong_offset() must be called with 3, not 4,
-	the number of the subtables in the state tables; classTable,
-	stateArray, entryTable.
-
-2012-01-17  suzuki toshiya  <[email protected]>
-
-	[raccess] Modify for PIC build.
-
-	Based on the patch provided by Erik Dahlstrom <[email protected]>,
-	https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
-
-	Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
-	are renamed with `ft_' suffixes.
-
-	* src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
-	to `ft_raccess_rule_by_darwin_vfs()'.
-	* src/base/ftobjs.c: Ditto.
-
-	* src/base/ftrfork.c: Declarations of FT_RFork_Rule,
-	raccess_guess_rec, are moved to...
-	* include/freetype/internal/ftrfork.h: Here.
-
-	* include/freetype/internal/ftrfork.h:
-	FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
-	to replace raccess_guess_table[] in both of PIC and non-PIC
-	modes.
-	* src/base/ftrfork.c: raccess_guess_table[] array is rewritten
-	by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
-
-	* src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
-	storage.  (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
-	the function pointer from `ft_raccess_guess_table' storage in
-	`BasePIC' structure.
-	* src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
-	FT_RACCESS_GUESS_TABLE_GET.
-	(raccess_get_rule_type_from_rule_index): Add `library' as the
-	first argument to the function, to retrieve the storage of
-	`ft_raccess_guess_table' from it.  Also `raccess_guess_table'
-	is replaced by FT_RACCESS_GUESS_TABLE_GET.
-	(ft_raccess_rule_by_darwin_vfs): Ditto.
-
-2012-01-16  suzuki toshiya  <[email protected]>
-
-	Remove trailing spaces.
-
-2012-01-16  suzuki toshiya  <[email protected]>
-
-	Formatting PIC related sources.
-
-	* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
-	* src/base/basepic.c: Ditto.
-	* src/base/ftpic.c: Ditto.
-	* src/cff/cffpic.c: Ditto.
-	* src/pshinter/pshpic.c: Ditto.
-	* src/psnames/pspic.c: Ditto.
-	* src/raster/rastpic.c: Ditto.
-	* src/sfnt/sfntpic.c: Ditto.
-	* src/smooth/ftspic.c: Ditto.
-	* src/truetype/ttpic.c: Ditto.
-
-2012-01-16  suzuki toshiya  <[email protected]>
-
-	[autofit] Fix the inclusion of `aflatin2.h' in PIC file.
-
-	* src/autofit/afpic.c: Include `aflatin2.h' when
-	FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
-	Unconditionally inclusion causes declared but unimplemented
-	warning by GCC 4.6.
-
-2012-01-16  suzuki toshiya  <[email protected]>
-
-	[cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
-
-	* src/cff/cffpic.c: The declarations of
-	FT_Init_Class_cff_cmap_encoding_class_rec() and
-	FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
-	They can be obtained by the inclusion of cffcmap.h.
-	cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
-	FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
-
-2012-01-15  suzuki toshiya  <[email protected]>
-
-	Fix redundant declaration warning in PIC mode.
-
-	Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
-	designed to declare xxx_pic_{free,init} by themselves.
-	Because these macros are used at the end of the module
-	interface (e.g. ttdriver.c) and the wrapper source to build
-	a module as a single object (e.g. truetype.c) includes
-	the PIC file (e.g. ttpic.c) before the module interface,
-	these macros are expanded AFTER xxx_pic_{free,init} body
-	when the modules are built as single object.
-	The declaration after the implementation causes the redundant
-	declaration warnings, so the declarations are moved to module
-	PIC headers (e.g. ttpic.h).  Separating to other header files
-	are needed for multi build.
-
-	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
-	Remove class_##_pic_free and class_##_pic_init declarations.
-	* include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
-	FT_DEFINE_MODULE): Ditto.
-
-	* src/base/basepic.h: Insert a comment and fix coding style.
-	* src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
-	init}.
-	* src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
-	* src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
-	init}.
-	* src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
-	init}.
-	* src/raster/rastpic.h: Declare
-	ft_raster{1,5}_renderer_class_pic_{free,init}
-	* src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
-	* src/smooth/ftspic.h: Declare
-	ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
-	* src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
-
-2012-01-15  suzuki toshiya  <[email protected]>
-
-	Make pspic.c to include module error header to fix multi build.
-
-	* src/psnames/pspic.c: Include `psnamerr.h'.
-
-2012-01-14  suzuki toshiya  <[email protected]>
-
-	[base] Fix a dereference of uninitialized variable in PIC mode.
-
-	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
-	set before dereferring to obtain `library'.  The initialization
-	of `clazz', `glyph', `library' and NULL pointer check are
-	reordered to minimize PIC conditionals.
-
-2012-01-14  suzuki toshiya  <[email protected]>
-
-	[base] Insert explicit cast for GCC 4.6 in PIC mode.
-
-	* src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
-	configuration, FT_DEFAULT_MODULES_GET returns
-	FT_Module_Class** pointer, GCC 4.6 warns that
-	const FT_Module_Class* const* variable is warned as
-	inappropriate to store it.  To calm it, explicit cast is
-	inserted.  Also `library' is checked to prevent the NULL
-	pointer dereference in FT_DEFAULT_MODULES_GET.
-
-2012-01-13  suzuki toshiya  <[email protected]>
-
-	Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
-
-	Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
-	take no arguments but derefer the variable named `library'
-	internally.
-
-	* src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
-	set it if non-NULL driver is passed.
-	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
-
-	* src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
-	under PIC configuration, and set it if non-NULL module is given.
-	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
-
-2012-01-13  suzuki toshiya  <[email protected]>
-
-	Make PIC files include module error headers, to use the error codes
-	with per-module prefix.
-
-	* src/autofit/afpic.c: Include `aferrors.h'.
-	* src/cff/cffpic.c: Include `cfferrs.h'.
-	* src/pshinter/pshpic.c: Include `pshnterr.h'.
-	* src/raster/rastpic.c: Include `rasterrs.h'.
-	* src/sfnt/sfntpic.c: Include `sferrors.h'.
-	* src/smooth/ftspic.c: Include `ftsmerrs.h'.
-	* src/truetype/ttpic.c: Include `tterrors.h'.
-
-2012-01-04  Tobias Ringström  <[email protected]>
-
-	[truetype] Fix IP instruction if x_ppem != y_ppem.
-
-	* src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
-	properly.
-
-2012-01-02  Werner Lemberg  <[email protected]>
-
-	Fix tracing message for `loca' table.
-
-	* src/truetype/ttpload.c (tt_face_get_location): Don't emit a
-	warning message if the last `loca' entry references an empty glyph.
-
-2011-12-10  Werner Lemberg  <[email protected]>
-
-	Add some variable initializations.
-	Reported by Richard COOK <[email protected]>.
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
-	* src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
-	earlier.
-
-2011-12-08  Werner Lemberg  <[email protected]>
-
-	Fix serious scaling bug in `FT_Get_Advances'.
-
-	* src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
-	`FT_Load_Glyph' must be simply multiplied by 1024.
-
-2011-12-08  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
-
-2011-12-02  suzuki toshiya  <[email protected]>
-
-	[mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
-
-	Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
-	was a configurable macro to disable Carbon-dependent code.  Because
-	now configure script sets DARWIN_NO_CARBON by default and disables
-	Darwin & Carbon-dependent codes, these macros can be unified.
-	FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
-	(defined by default) is removed, because DARWIN_NO_CARBON violates
-	FT_XXX naming convention of public macros, and a macro configured by
-	default is not portable for the building without configure (e.g.
-	make devel).
-
-	* builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
-	old Mac font support is requested and Carbon is available.
-	* builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
-	for Mac OS X without Carbon (e.g.  Mac OS X 10.4 for ppc64) is
-	requested.
-	* include/freetype/config/ftconfig.in: Ditto.
-	* builds/vms/ftconfig.h: Ditto.
-
-	* src/base/ftbase.h: Remove DARWIN_NO_CARBON.
-	* src/base/ftbase.c: Ditto.
-	* src/base/ftobjs.c: Ditto.
-	* src/base/ftrfork.c: Ditto.
-
-	* src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
-	(same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
-	* builds/mac/ftmac.c: Ditto.
-
-	* builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
-	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
-	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
-	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
-
-2011-11-30  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #34728 (`make devel' on Mac OS X).
-
-	* builds/toplevel.mk: Check `/dev/null' to identify the Unix-
-	like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
-	* builds/unix/detect.mk: Ditto.
-
-2011-11-30  suzuki toshiya  <[email protected]>
-
-	[apinames] Fix the overflow of signed integer hash.
-
-	* src/tools/apinames.c (names_add): Change the type of `h' from
-	int to unsigned int, to prevent undefined behaviour in the
-	overflow of signed integers (overflow of unsigned int is defined
-	to be wrap around).  Found by clang test suggested by Sean
-	McBride.
-
-2011-11-30  Werner Lemberg  <[email protected]>
-
-	[winfonts] Remove casts.
-
-	* src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
-	update affected functions.
-	(FNT_Size_Select): Fix number of arguments.
-
-2011-11-30  Werner Lemberg  <[email protected]>
-
-	[type42] Remove casts.
-
-	* src/type42/t42drivr.c (t42_driver_class): Remove all casts and
-	update affected functions.
-
-	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42 driver
-	changes.
-
-2011-11-30  Werner Lemberg  <[email protected]>
-
-	[type1] Remove casts.
-
-	* src/type1/t1driver.c (t1_driver_class): Remove all casts and
-	update affected functions.
-
-	* src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
-	Updated for t1driver changes.
-	src/type1/t1objs.h (T1_Driver): Remove unused typedef.
-	Updated for t1driver changes.
-
-2011-11-27  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #34896.
-
-	ENCODING now covers the whole Unicode range.
-
-	Note, however, that this change is quite expensive since it
-	increases the size of three arrays by almost 400kByte in total.  The
-	right fix is to replace the logic with something smarter.
-	Additionally, there exist very old BDFs for three-byte CCCII
-	encoding which exceeds the range of Unicode (another reason to have
-	a smarter logic).
-
-	* src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
-	arrays.
-	* src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
-
-2011-11-27  Werner Lemberg  <[email protected]>
-
-	[bdf] Improve tracing.
-
-	* src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
-	(_bdf_parse_glyphs): Use them.
-
-2011-11-26  Werner Lemberg  <[email protected]>
-
-	Improve tracing.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
-	(PCF_Face_Done): Remove tracing message.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
-	(cff_face_init), src/cid/cidobjs.c (cid_face_init),
-	src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
-	(sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
-	src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
-	(T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
-	`greeting' message.
-
-	* src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
-	(T42_Open_Face): Improve tracing.
-
-2011-11-26  Werner Lemberg  <[email protected]>
-
-	[cid] Fix error code.
-
-	* src/cid/cidparse.c (cid_parser_new): Do it.
-
-2011-11-26  Werner Lemberg  <[email protected]>
-
-	[cff] Fix error code.
-
-	* src/cff/cffload.c (cff_font_load): Do it.
-
-2011-11-26  Werner Lemberg  <[email protected]>
-
-	Add new error code FT_Err_Missing_Module.
-
-	Previously, FreeType misleadingly returned
-	FT_Err_Unknown_File_Format if a module was missing (or a test was
-	missing completely).
-
-	* include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
-
-	* src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
-	(cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
-	src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
-	(tt_face_init), src/type1/t1objs.c (T1_Face_Init),
-	src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
-
-	* src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
-	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
-	redundant test for `psaux'.
-
-2011-11-25  Werner Lemberg  <[email protected]>
-
-	[bdf] Add more error messages.
-
-	* src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
-	Add line number argument.
-	Update all callers.
-	(ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
-	(_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
-	_bdf_parse_glyphs, _bdf_parse_start): Add error messages.
-
-2011-11-24  Werner Lemberg  <[email protected]>
-
-	* include/freetype/fterrors.h: Remove dead code.
-
-2011-11-15  Werner Lemberg  <[email protected]>
-
-	* docs/releases: Updated.
-
-2011-11-15  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.8 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-8'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.8.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
-
-	* builds/unix/configure.raw (version_info): Set to 14:0:8.
-
-2011-11-13  Chris Liddell  <[email protected]>
-
-	Add FT_Get_PS_Font_Value() API.
-
-	This allows a Type 1 font face to be interrogated to retrieve most
-	of the dictionary keys (keys not relevant to FreeType's Type 1
-	interpreter are not available).
-
-	* include/freetype/internal/services/svpsinfo.h
-	(PS_GetFontValueFunc): New typedef.
-	(PSInfo): Add `ps_get_font_value'.
-	(FT_DEFINE_SERVICE_PSINFOREC): Updated.
-
-	* include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
-	* include/freetype/t1tables.h: Here.
-	(PS_Dict_Keys): New enumeration.
-	(FT_Get_PS_Font_Value): New declaration.
-
-	* src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): This new function
-	does the real job.
-	(t1_service_ps_info): Add it.
-
-	* src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
-	(cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
-	Updated.
-
-2011-11-08  Braden Thomas  <[email protected]>
-
-	[cid] Various loading fixes.
-
-	* src/cid/cidload.c (cid_load_keyword) <default>,
-	(parse_font_matrix, parse_expansion_factor): Correctly check number
-	of dictionaries.
-	(cid_read_subrs): Protect against invalid values of `num_subrs'.
-	Assure that the elements of the `offsets' array are ascending.
-
-2011-11-05  Werner Lemberg  <[email protected]>
-
-	* README: We use copyright ranges also.
-
-	According to
-
-	  https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
-
-	this should be mentioned explicitly.
-
-2011-10-30  suzuki toshiya  <[email protected]>
-
-	[raccess] Supplement for previous fix.
-
-	* src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
-	it on native Mac OS X.
-	* src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
-	Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
-	too.
-
-2011-10-30  suzuki toshiya  <[email protected]>
-
-	[raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
-
-	* src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
-	compile on native Mac OS X because it is not used.
-
-2011-10-25  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix MD instruction for twilight zone.
-
-	* src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
-	instruction applied to original coordinates of twilight points
-	always returns zero.
-
-2011-10-18  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.7 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-7'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.7.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
-
-	* builds/unix/configure.raw (version_info): Set to 13:2:7.
-
-2011-10-15  Kal Conley  <[email protected]>
-
-	Fix handling of transformations if no renderer is present.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Thinko.
-
-2011-10-15  Kal Conley  <[email protected]>
-
-	Fix conditions for autohinting.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Handle
-	FT_LOAD_IGNORE_TRANSFORM.
-
-2011-10-07  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix a bug to detect too large offset in morx table.
-
-	* src/gxvalid/gxvmorx2.c
-	(gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
-	that too large positive offset cannot be detected.
-
-2011-10-01  Braden Thomas  <[email protected]>
-
-	Handle some border cases.
-
-	* include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
-	value of `target->rows'.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
-	flex start.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Check `width' and
-	`height'.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
-	invalid values in `localpoints' array.
-
-2011-10-01  Werner Lemberg  <[email protected]>
-
-	[psnames] Handle zapfdingbats.
-	Problem reported by Nicolas Rougier <[email protected]>.
-
-	* src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
-	`zapfdingbats.txt' file.
-
-	* src/psnames/pstables.h: Regenerated.
-
-2011-09-27  Simon Bünzli  <[email protected]>
-
-	[type1] Fix Savannah bug #34189.
-
-	* src/type1/t1load.c (T1_Open_Face): Initialize
-	`face->len_buildchar'.
-
-2011-09-26  Werner Lemberg  <[email protected]>
-
-	[cff] Dump SIDs while tracing.
-
-	* src/cff/cffobjs.c (cff_face_init): Do it.
-
-	* src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
-	<cff_kind_string>: Identify as SID.
-
-2011-09-17  Werner Lemberg  <[email protected]>
-
-	Remove unused FT_ALIGNMENT macro.
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h: Do it.
-
-2011-09-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Slightly optimize conic and cubic flatteners.
-
-	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
-	out some code from the main loop to speed it up.
-
-2011-09-11  Tomas Hoger  <[email protected]>
-
-	Slightly improve LZW_CLEAR handling.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
-	Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
-	handled as clear codes.  This also re-sets old_code and old_char to
-	predictable values, which is a little better than using `random'
-	ones if the code following LZW_CLEAR is invalid.
-
-2011-09-11  Tomas Hoger  <[email protected]>
-
-	Add explicit LZW decompression stack size limit.
-
-	Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
-	constructed correctly.  It's even less than that, see e.g.
-	libarchive code comment for a better size upper bound:
-
-	  http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
-
-	This patch adds explicit stack size limit, enforced when stack is
-	realloced.
-
-	An alternative is to ensure that code < state->prefix[code - 256]
-	when traversing prefix table.  Such check is less efficient and
-	should not be required if prefix table is constructed correctly in
-	the first place.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
-
-2011-09-11  Tomas Hoger  <[email protected]>
-
-	Protect against loops in the prefix table.
-
-	LZW decompressor did not sufficiently check codes read from the
-	input LZW stream.  A specially-crafted or corrupted input could
-	create a loop in the prefix table, which leads to memory usage
-	spikes, as there's no decompression stack size limit.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
-	code in valid LZW stream must be 0..255.
-	<FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
-	code > free_ent is invalid.
-
-2011-09-09  Werner Lemberg  <[email protected]>
-
-	Better tracing of metrics.
-
-	* src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
-	FT_TRACE.
-
-2011-09-07  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #33816.
-
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): New member
-	`has_font_matrix'.
-	* src/cff/cffparse.c (cff_parse_font_matrix): Set it.
-	Update tracing output.
-	* src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
-	can be removed.
-
-2011-08-30  Werner Lemberg  <[email protected]>
-
-	Better tracing of metrics.
-
-	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
-	Decorate with FT_TRACE.
-
-2011-08-25  Werner Lemberg  <[email protected]>
-
-	[cff] Better tracing of the parsing process.
-
-	* src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
-	FT_TRACE.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
-	cff_parse_private_dict, cff_parse_cid_ros): Updated.
-	(CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
-	CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
-	CFF_FIELD_DELTA): Add argument for ID.
-	(cff_parser_run): Decorate with FT_TRACE.
-
-	* src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
-	`id' member.
-
-	* src/cff/cfftoken.h: Add IDs to all fields.
-
-2011-08-16  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #34022.
-
-	* README, docs/INSTALL: Remove references to UPGRADE.UNIX.
-
-2011-08-15  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #34018.
-
-	* docs/UPGRADE.UNIX: Removed.  Obsolete.
-
-2011-08-15  David Bevan  <[email protected]>
-
-	Fix Savannah bug #33992.
-
-	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
-
-2011-08-12  Werner Lemberg  <[email protected]
-
-	[truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
-
-	* src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
-	(Ins_SDPVTL): Handle v1 == v2 specially.
-
-2011-08-09  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #33975.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
-
-2011-07-29  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.6 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-6'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.6.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
-
-	* builds/unix/configure.raw (version_info): Set to 13:1:7.
-
-2011-07-29  Werner Lemberg  <[email protected]>
-
-	[cff] Add some more tracing infos.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
-	cff_parse_cid_ros): Add tracing.
-
-2011-07-22  Dirk Müller  <[email protected]>
-
-	[psaux, type1] Fix null pointer dereferences.
-
-	Found with font fuzzying.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
-	`decoder->buildchar'.
-
-	* src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
-
-2011-07-20  Chris Morgan  <[email protected]>
-
-	Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
-
-	Useful for embedded systems which don't need file stream support.
-
-	* src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
-	it.
-
-2011-07-20  Elton Chung  <[email protected]>
-
-	* src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
-
-2011-07-16  Steven Chu  <[email protected]>
-
-	[truetype] Fix metrics on size request for scalable fonts.
-
-	* src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
-	from TT_Size to FT_Size if scalable font.
-
-	See
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
-
-	for some comparison images.
-
-2011-07-14  Matthias Drochner  <[email protected]>.
-
-	[psaux] Fix potential sign extension problems.
-
-	When shifting right a signed value, it is not defined by the
-	C standard whether one gets a sign extension or not.  Use a macro to
-	do an explicit cast from a signed short (assuming that this is
-	16bit) to an int.
-
-	* src/psaux/t1decode.c (Fix2Int): New macro.
-	Use it where appropriate.
-
-2011-07-14  Werner Lemberg  <[email protected]>
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_callothersubr>: Better handling of subroutine index 0.
-	From Matthias Drochner <[email protected]>.
-
-2011-07-10  Алексей Подтележников  <[email protected]>
-
-	[psaux] Optimize previous commit.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_callothersubr>: Move error check down to avoid testing twice for
-	good cases.
-
-2011-07-08  Werner Lemberg  <[email protected]>
-
-	[psaux] Add better argument check for `callothersubr'.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_callothersubr>: Reject negative arguments.
-
-2011-07-07  Werner Lemberg  <[email protected]>
-
-	[sfnt] Try harder to find non-zero values for ascender and descender.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
-	the `hhea' table's values are zero.
-
-2011-07-03  Werner Lemberg  <[email protected]>
-
-	Fix previous commit.
-
-	We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
-	strikes in the font.
-
-	* src/truetype/ttobjs.c (tt_face_init): Implement it.
-
-	* docs/CHANGES: Updated.
-
-2011-07-02  Just Fill Bugs  <[email protected]>
-
-	[truetype] Fix Savannah bug #33246.
-
-	* src/truetype/ttobjs.c (tt_check_single_notdef): New function.
-	(tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
-
-2011-07-02  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2011-07-02  David Bevan  <[email protected]>
-
-	[ftstroke] Major revision.
-
-	The main problems
-	-----------------
-
-	  o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
-	    joins (not bevel joins) were generated.  Indeed, the meanings of
-	    `miter' and `bevel' were incorrectly reversed (consistently) in
-	    both the code and comments.
-
-	  o The way bevel joins were constructed (whether specified
-	    explicitly, or created as a result of exceeding the miter limit)
-	    did not match what is required for stroked text in PostScript or
-	    PDF.
-
-	The main fixes
-	--------------
-
-	  o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
-
-	  o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
-	    introduced to support PostScript and PDF miter joins.
-
-	  o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
-	    alias for FT_STROKER_LINEJOIN_MITER.
-
-	Additionally, a variety of stroking errors have been fixed.  These
-	would cause various artifacts (including points `at infinity'),
-	especially when stroking poor quality fonts.
-
-	See
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
-
-	for example documents.  The FreeType stroker now produces results
-	very similar to that produced by GhostScript and Distiller for these
-	fonts.
-
-	Other problems
-	--------------
-
-	The following problems have been resolved:
-
-	  o Inside corners could be generated incorrectly.  Intersecting the
-	    inside corner could cause a missing triangular area and other
-	    effects.
-
-	    The intersection point can only be used if the join is between
-	    two lines and both lines are long enough.  The `optimization'
-	    condition in `ft_stroker_inside' has been corrected; this
-	    requires the line length to be passed into various functions and
-	    stored in `FT_StrokerRec'.
-
-	  o Incorrect cubic curves could be generated.  The angle
-	    calculations in `FT_Stroker_CubicTo' have been corrected to
-	    handle the case of the curve crossing the +/-PI direction.
-
-	  o If the border radius was greater than the radius of curvature of
-	    a curve, then the negative sector would end up outside (not
-	    inside) the border.  This situation is now recognized and the
-	    negative sector is circumnavigated in the opposite direction.
-	    (If round line joins are being used, this code is disabled
-	    because the line join will always cover the negative sector.)
-
-	  o When a curve is split, the arcs may not join smoothly (especially
-	    if the curve turns sharply back on itself).  Changes in
-	    direction between adjacent arcs were not handled.  A round
-	    corner is now added if the deviation from one arc to the next is
-	    greater than a suitable threshold.
-
-	  o The current direction wasn't retained if a the outline contained
-	    a zero length lineto or a curve that was determined to be
-	    `basically a point'.  This could cause a spurious join to be
-	    added.
-
-	  o Cubics with close control points could be mishandled.  All eight
-	    cases are now distinguished correctly.
-
-	Other improvements
-	------------------
-
-	o Borders for cubic curves could be too `flat'.
-	  FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
-	  this.
-
-	o The handling and use of movable points has been simplified a
-	  little.
-
-	o Various values are now computed only if the results are actually
-	  needed.
-
-	o The directions of the outer and inner borders have been swapped,
-	  as recommended by Graham Asher.
-
-	* src/base/ftstroke.c: Revised.
-	* include/freetype/ftstroke.h: Updated.
-
-2011-06-30  İsmail Dönmez  <[email protected]>
-
-	* builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
-
-2011-06-29  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #33663.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
-	ENCODING correctly.
-
-	* docs/CHANGES: Document it.
-
-2011-06-24  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.5 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-5'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.5
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-
-	* builds/unix/configure.raw (version_info): Set to 13:0:7.
-
-2011-06-20  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
-	from 2011-05-04.
-
-2011-06-19  suzuki toshiya  <[email protected]>
-
-	[gxvalid] make the `prop' validation tracing verbose.
-
-	* src/gxvalid/gxvprop.c: Add tracing messages for errors.
-
-2011-06-19  suzuki toshiya  <[email protected]>
-
-	[autogen.sh] Reflect environment variable LIBTOOLIZE.
-
-2011-06-18  Werner Lemberg  <[email protected]>
-
-	Update license documentation.
-
-	* docs/GPL.TXT: Renamed to...
-	* docs/GPLv2.TXT: This.
-
-	* docs/LICENSE.TXT: Updated.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	Fix g++4.6 compiler warnings in module drivers.
-
-	The background is same with previous commit.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
-	Init `points'.  (TT_Vary_Get_Glyph_Deltas): Init
-	`delta_xy'.  (TT_Get_MM_Var): Init `mmvar'.
-	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
-	* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
-	`font_info'.
-	* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
-	(cff_font_load): Init `sub'.
-	* src/cff/cffobjs.c (cff_size_init): Init `internal'.
-	(cff_face_init): Init `cff'.
-	* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
-	Init `snaps'.
-	* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
-	(pcf_get_bitmaps): Init `offsets'.  (pcf_get_encodings):
-	Init `tmpEncoding'.
-	* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
-	* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
-	* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
-	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
-	`zip_buff'.
-	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
-	* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[base] Fix g++4.6 compiler warnings in src/base/*.c.
-
-	Passing uninitialized pointer to FT_NEW() families is
-	not problematic theoretically (as far as the returned
-	pointer is checked before writing), but g++4.6 dislikes
-	it and warns by -Wuninitialized.  Initialize them by NULL.
-
-	* src/base/ftobjs.c (FT_Stream_New): Init `stream'.
-	(new_memory_stream): Ditto.
-	(FT_New_GlyphSlot): Init `slot'.
-	(FT_CMap_New): Init `cmap'.
-	(open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
-	(Mac_Read_POST_Resource): Init `pfb_data'.
-	(Mac_Read_sfnt_Resource): Init `sfnt_data'.
-	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
-	Init `offsets_internal' and `ref'.
-	(raccess_guess_darwin_hfsplus): Init `newpath'.
-	(raccess_guess_darwin_newvfs): Ditto.
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer):
-	Init `buffer'.
-	* src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Cleanup.
-
-	Some invalid, overrunning, unrecommended non-zero values
-	are cared in paranoid validation mode only.  There are
-	many lines looking like:
-
-	  if ( valid->root->level >= FT_VALIDATE_PARANOID )
-	    FT_INVALID_xxx;
-
-	To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
-	introduced for more paranoid validation in future.
-
-	* src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
-	New macro to assure valid->root->level is more or
-	equal to FT_VALIDATE_PARANOID.  (GXV_SET_ERR_IF_PARANOID):
-	New macro to raise an error if in paranoid validation.
-	* src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
-	* src/gxvalid/gxvfeat.c: Ditto.
-	* src/gxvalid/gxvjust.c: Ditto.
-	* src/gxvalid/gxvkern.c: Ditto.
-	* src/gxvalid/gxvmort.c: Ditto.
-	* src/gxvalid/gxvmort0.c: Ditto.
-	* src/gxvalid/gxvmort1.c: Ditto.
-	* src/gxvalid/gxvmort2.c: Ditto.
-	* src/gxvalid/gxvmorx1.c: Ditto.
-	* src/gxvalid/gxvmorx2.c: Ditto.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
-
-	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
-	Check different entries pointing same tracking value.
-	(gxv_trak_validate): Remove unused variable `table_size'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
-
-	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
-	Conditionalize unvalidated variable `subFeatureFlags'.
-	(gxv_morx_chain_validate): Conditionalize unvalidated
-	variable `defaultFlags'.
-
-	* src/gxvalid/gxvmorx0.c
-	(gxv_morx_subtable_type0_entry_validate):
-	Conditionalize unvalidated variables; `markFirst',
-	`dontAdvance', `markLast', `verb'.
-
-	* src/gxvalid/gxvmorx1.c
-	(gxv_morx_subtable_type1_entry_validate): Conditionalize
-	unvalidated variables; `setMark', `dontAdvance'.
-
-	* src/gxvalid/gxvmorx2.c
-	(gxv_morx_subtable_type2_ligActionOffset_validate):
-	Conditionalize unvalidated variables; `last', `store'.
-	Checking for overrunning offset is added.
-	(gxv_morx_subtable_type2_entry_validate):
-	Conditionalize unvalidated variables; `setComponent',
-	`dontAdvance', `performAction'.
-	(gxv_morx_subtable_type2_ligatureTable_validate):
-	Check if the GID for ligature does not exceed the
-	max GID in `maxp' table.
-
-	* src/gxvalid/gxvmort5.c
-	(gxv_morx_subtable_type5_InsertList_validate):
-	Conditionalize unvalidated loading of `insert_glyphID'
-	array.  (gxv_morx_subtable_type5_entry_validate):
-	Conditionalize unvalidated variables; `setMark',
-	`dontAdvance', `currentIsKashidaLike',
-	`markedIsKashidaLike', `currentInsertBefore',
-	`markedInsertBefore'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
-
-	* src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
-	Conditionalize unvalidated variable `subFeatureFlags'.
-	(gxv_mort_chain_validate): Conditionalize unvalidated
-	variable `defaultFlags'.
-
-	* src/gxvalid/gxvmort0.c
-	(gxv_mort_subtable_type0_entry_validate): Check the
-	conflict of the marks for the glyphs.
-
-	* src/gxvalid/gxvmort1.c
-	(gxv_mort_subtable_type1_offset_to_subst_validate):
-	Local variables `min_gid', `max_gid' are replaced by
-	variables in the validator.
-	(gxv_mort_subtable_type1_entry_validate): Conditionalize
-	unvalidated variables; `setMark', `dontAdvance'.
-	(gxv_mort_subtable_type1_substTable_validate):
-	Validate the GID by the min/max GIDs in the validator.
-
-	* src/gxvalid/gxvmort2.c
-	(gxv_mort_subtable_type2_ligActionOffset_validate):
-	Conditionalize unvalidated variables; `last', `store'.
-	Checking for overrunning offset is added.
-	(gxv_mort_subtable_type2_entry_validate):
-	Conditionalize unvalidated variables; `setComponent',
-	`dontAdvance'.
-	(gxv_mort_subtable_type2_ligatureTable_validate):
-	Check if the GID for ligature does not exceed the
-	max GID in `maxp' table.
-
-	* src/gxvalid/gxvmort5.c
-	(gxv_mort_subtable_type5_InsertList_validate):
-	Conditionalize unvalidated loading of `insert_glyphID'
-	array.  (gxv_mort_subtable_type5_entry_validate):
-	Conditionalize unvalidated variables; `setMark',
-	`dontAdvance', `currentIsKashidaLike',
-	`markedIsKashidaLike', `currentInsertBefore',
-	`markedInsertBefore'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix gcc4.6 compiler warnings in gxvkern.c.
-
-	* src/gxvalid/gxvkern.c
-	(gxv_kern_subtable_fmt0_pairs_validate): Conditionalize
-	unvalidated variable `kernValue'.
-	(gxv_kern_subtable_fmt1_entry_validate): Conditionalize
-	unvalidated variables; `push', `dontAdvance', `kernAction',
-	`kernValue'.
-	(gxv_kern_coverage_new_apple_validate): Conditionalize
-	trace-only variables; `kernVertical', `kernCrossStream',
-	`kernVariation'.
-	(gxv_kern_coverage_classic_apple_validate): Conditionalize
-	trace-only variables; `horizontal', `cross_stream'.
-	(gxv_kern_coverage_classic_microsoft_validate):
-	Conditionalize trace-only variables; `horizontal',
-	`minimum', `cross_stream', `override'.
-	(gxv_kern_subtable_validate): Conditionalize trace-only
-	variables; `version', `tupleIndex'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix gcc4.6 compiler warnings in gxvjust.c.
-
-	* src/gxvalid/gxvjust.c (gxv_just_check_max_gid):
-	New function to unify the checks of too large GID.
-	(gxv_just_wdp_entry_validate): Conditionalize unvalidated
-	variables; `beforeGrowLimit', `beforeShrinkGrowLimit',
-	`afterGrowLimit', `afterShrinkGrowLimit', `growFlags',
-	`shrinkFlags'.  Additional check for non-zero values in
-	unused storage `justClass' is added.
-	(gxv_just_actSubrecord_type0_validate): Conditionalize
-	unvalidated variable `order'.  GID is checked by
-	gxv_just_check_max_gid().  Additional check for upside-down
-	relationship between `lowerLimit' and `upperLimit' is added.
-	(gxv_just_actSubrecord_type1_validate): GID is checked by
-	gxv_just_check_max_gid().
-	(gxv_just_actSubrecord_type2_validate): Conditionalize
-	unvalidated variable `substThreshhold'.  GID is checked by
-	gxv_just_check_max_gid().
-	(gxv_just_actSubrecord_type5_validate): GID is checked by
-	gxv_just_check_max_gid().
-	(gxv_just_classTable_entry_validate): Conditionalize
-	unvalidated variables; `setMark', `dontAdvance',
-	`markClass', `currentClass'.
-
-2011-06-14  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Preparation to fix gcc4.6 compiler warnings.
-
-	* src/gxvalid/gxvcommn.h (GXV_LOAD_TRACE_VARS): New macro to
-	conditionalize the variable which is only used for trace messages.
-	Automatically set by FT_DEBUG_LEVEL_TRACE.
-	(GXV_LOAD_UNUSED_VARS): New macro to conditionalize the loading of
-	unvalidated variables.  Undefined by default to calm gcc4.6 warning.
-	(GXV_ValidatorRec.{min_gid,max_gid}): New variables to hold defined
-	GID ranges, for the comparison of GID ranges in different subtables.
-
-2011-06-08  Werner Lemberg  <[email protected]>
-
-	[autofit] Remove unused structure member.
-
-	* src/autofit/afhints.h (AF_SegmentRec): Remove `contour'.
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
-	src/autofit/aflatin2.c (af_latin2_hints_compute_segments): Updated.
-
-2011-05-30  Werner Lemberg  <[email protected]>
-
-	Fix g++ 4.6 compilation.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edges): Use cast.
-
-2011-05-30  Werner Lemberg  <[email protected]>
-
-	Fix gcc 4.6 compiler warnings.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Use casts and
-	remove unused variables.
-	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Comment out
-	`up_dir'.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `height_org'
-	and `width_org' conditionalized.
-
-2011-05-28  suzuki toshiya  <[email protected]>
-
-	[mac] Conditionalize the inclusion of `AvailabilityMacros.h'.
-
-	The native SDK on earliest Mac OS X (10.0-10.1) did not have
-	`AvailabilityMacros.h'.  To prevent the inclusion of missing
-	header file, ECANCELED (introduced in 10.2) in POSIX header
-	file <errno.h> is checked to detect the system version.
-
-	* include/freetype/config/ftconfig.h: Conditionalize the
-	inclusion of `AvailabilityMacros.h'.
-	* builds/unix/ftconfig.in: Ditto.
-	* builds/vms/ftconfig.h: Ditto.
-
-2011-05-27  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing of hinting process.
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Add tracing message
-	`ADJUST'.
-
-2011-05-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix trace message.
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Show correct value in
-	tracing message.
-
-2011-05-24  Daniel Zimmermann  <[email protected]>
-
-	Reduce warnings for MS Visual Studio 2010.
-
-	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
-	af_glyph_hints_get_segment_offset) [!FT_DEBUG_AUTOFIT]: Provide
-	return value.
-	* src/cff/cffgload.c (cff_slot_load): Add cast.
-	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Use proper
-	loop variable type.
-
-2011-05-16  suzuki toshiya  <[email protected]>
-
-	Automake component `builds/unix/install-sh' is removed.
-
-	* builds/unix/install-sh: Removed.  It is not needed to
-	include repository, because autogen.sh installs it.
-	* builds/unix/.gitignore: Register install-sh.
-
-2011-05-12  suzuki toshiya  <[email protected]>
-
-	[autofit] Make trace message for CJK bluezone more verbose.
-
-2011-05-08  Just Fill Bugs  <[email protected]>
-            suzuki toshiya  <[email protected]>
-
-	[autofit] Add bluezones for CJK Ideographs.
-
-	To remove extrema of vertical strokes of CJK Ideographs at
-	low resolution and make the top and bottom horizontal stems
-	aligned, bluezones for CJK Ideographs are calculated from
-	sample glyphs.  At present, vertical bluezones (bluezones
-	to align vertical stems) are disabled by default.  For detail, see
-	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
-	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
-	https://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
-
-	* include/freetype/internal/fttrace.h: New trace component `afcjk'.
-	* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
-	for AF_Latin{Blue,Axis,Metric}Rec.
-	(af_cjk_metrics_check_digits): Ditto, shared with Indic module.
-	(af_cjk_metrics_init_widths): Ditto.
-	(af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric.
-	(af_cjk_metrics_scale): Ditto (declaration).
-	(af_cjk_hints_init): Ditto (declaration).
-	(af_cjk_hints_apply): Ditto (declaration).
-	* src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body).
-	(af_cjk_hints_init): Ditto (body).
-	(af_cjk_hints_apply): Ditto (body).
-	(af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths.
-	(af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits.
-	(af_cjk_metrics_init): Call CJK bluezone initializer.
-	(af_cjk_metrics_scale_dim): Add code to scale bluezones.
-	(af_cjk_hints_compute_blue_edges): New function, CJK version of
-	af_latin_hints_compute_blue_edges.
-	(af_cjk_metrics_init_blues): New function, CJK version of
-	af_latin_metrics_init_blues.
-	(af_cjk_hint_edges): Add code to align the edge stems to blue zones.
-
-	* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
-	instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
-	However bluezones are not initialized.
-	(af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric.
-	(af_indic_hints_init): Ditto.
-	(af_indic_hints_apply): Ditto.
-
-	* docs/CHANGES: Note about CJK bluezone support.
-
-2011-05-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Remove unused struct member.
-
-	* src/autofit/aflatin.h (AF_LatinAxis): Remove `control_overshoot'.
-
-2011-05-04  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Simplify.
-
-2011-05-01  Just Fill Bugs  <[email protected]>
-            Werner Lemberg  <[email protected]>
-
-	[autofit] Add more debugging functions.
-
-	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
-	af_glyph_hints_get_segment_offset): New functions.
-
-2011-05-01  suzuki toshiya  <[email protected]>
-
-	Add new option `--disable-mmap' to configure script.
-
-	* builds/unix/configure.raw: New option `--disable-mmap'
-	is added.  It is for the developers to simulate the systems
-	without mmap() (like 4.3BSD, minix etc) on POSIX systems.
-
-2011-04-30  suzuki toshiya  <[email protected]>
-
-	[truetype] Always recalculate the sfnt table checksum.
-
-	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Recalculate
-	the sfnt table checksum even if non-zero value is written in
-	the TrueType font header.  Some bad PDF generators write
-	wrong values.  For details see examples and benchmark tests
-	of the latency by recalculation:
-	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
-	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
-
-2011-04-30  suzuki toshiya  <[email protected]>
-
-	[truetype] Register a set of tricky fonts, NEC FA family.
-
-	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids):
-	Add 8 checksum sets for NEC FA family.  For the tricky fonts
-	without some tables (e.g. NEC FA fonts lack cvt table),
-	extra check is added to assure that a zero-length table in the
-	registry is not included in the font.
-
-2011-04-29  suzuki toshiya  <[email protected]>
-
-	[truetype] Fix a bug in the sfnt table checksum getter.
-
-	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Check the
-	return value of face->goto_table() correctly.
-
-2011-04-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing messages.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
-	af_latin_align_linked_edge, af_latin_hint_edges): Do it.
-
-2011-04-25  Kan-Ru Chen  <[email protected]>
-
-	[truetype] Always check the checksum to identify tricky fonts.
-
-	Because some PDF generators mangle the family name badly,
-	the trickyness check by the checksum should be invoked always.
-	For sample PDF, see
-	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
-
-	* src/truetype/ttobjs.c (tt_check_trickyness): Even when
-	tt_check_trickyness_family() finds no trickyness,
-	tt_check_trickyness_sfnt_ids() is invoked.
-
-2011-04-22  suzuki toshiya  <[email protected]>
-
-	[autofit] Add more Indic scripts with hanging baseline.
-
-	* src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu,
-	Sundanese, Meetei Mayek, Syloti Nagri and Sharada scripts are
-	added.
-
-2011-04-21  Behdad Esfahbod  <[email protected]>
-
-	Always ignore global advance.
-
-	This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
-	deprecated, and ignored.  The new behavior is what every major user
-	of FreeType has been requesting.  Global advance is broken in many
-	CJK fonts.  Just ignoring it by default makes most sense.
-
-	* src/truetype/ttdriver.c (tt_get_advances),
-	src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
-	tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
-	src/truetype/ttgload.h: Implement it.
-
-	* docs/CHANGES: Updated.
-
-2011-04-21  rainy6144  <[email protected]>
-
-	[autofit] Blur CJK stems if too many to preserve their gaps.
-
-	When there are too many stems to preserve their gaps in the
-	rasterization of CJK Ideographs at a low resolution, blur the
-	stems instead of showing clumped stems.  See
-	https://lists.gnu.org/archive/html/freetype-devel/2011-02/msg00011.html
-	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00046.html
-	for details.
-
-	* src/autofit/afcjk.c (af_cjk_hint_edges): Store the position of
-	the previous stem by `has_last_stem' and `last_stem_pos', and skip
-	a stem if the current and previous stem are too near to preserve
-	the gap.
-
-2011-04-18  Werner Lemberg  <[email protected]>
-
-	Integrate autofitter debugging stuff.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_DEBUG_AUTOFIT): New macro.
-
-	* include/freetype/internal/fttrace.h: Add trace components for
-	autofitter.
-
-	* src/autofit/aftypes.h (AF_LOG): Removed.
-	(_af_debug): Removed.
-
-	* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
-	s/AF_LOG/FT_TRACE5/.
-	Define FT_COMPONENT where necessary.
-
-2011-04-18  Werner Lemberg  <[email protected]>
-
-	Synchronize config files.
-
-	* builds/unix/ftconfig.in: Copy missing assembler routines from
-	include/freetype/config/ftconfig.h.
-
-2011-04-13  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix Savannah bug #33047.
-
-	Patch submitted by anonymous reporter.
-
-	* src/psaux/psobjs.c (ps_table_add): Use FT_PtrDist for pointer
-	difference.
-
-2011-04-11  Kan-Ru Chen  <[email protected]>
-
-	Fix reading of signed integers from files on 64bit platforms.
-
-	Previously, signed integers were converted to unsigned integers, but
-	this can fail because of sign extension.  For example, 0xa344a1eb
-	becomes 0xffffffffa344a1eb.
-
-	We now do the reverse which is always correct because the integer
-	size is the same during the cast from unsigned to signed.
-
-	* include/freetype/internal/ftstream.h, src/base/ftstream.c
-	(FT_Stream_Get*): Replace with...
-	(FT_Stream_GetU*): Functions which read unsigned integers.
-	Update all macros accordingly.
-
-	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Updated.
-
-2011-04-07  Werner Lemberg  <[email protected]>
-
-	Update Unicode ranges for CJK autofitter; in particular, add Hangul.
-
-	* src/autofit/afcjk.c (af_cjk_uniranges): Update to Unicode 6.0.
-
-2011-04-04  Werner Lemberg  <[email protected]>
-
-	Fix formatting of autofit debug dumps.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points,
-	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust
-	column widths.
-
-2011-03-30  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aftypes.h (AF_OutlineRec): Removed, unused.
-
-2011-03-24  Werner Lemberg  <[email protected]>
-
-	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 256.
-	This limit is given on p. 37 of Adobe Technical Note #5014.
-
-2011-03-23  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Fix mismatch warning.
-
-2011-03-20  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts.
-
-2011-03-19  Werner Lemberg  <[email protected]>
-
-	More C++ compilation fixes.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points,
-	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges)
-	[__cplusplus]: Protect with `extern "C"'.
-
-2011-03-18  Werner Lemberg  <[email protected]>
-
-	C++ compilation fixes.
-
-	* src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/afcjk.c
-	(af_cjk_hints_apply): Use cast for `dim'.
-
-2011-03-17  Alexei Podtelezhnikov  <[email protected]>
-
-	A better fix for Savannah bug #32671.
-
-	* src/smooth/ftgrays.c (gray_render_conic): Clean up code and
-	replace WHILE loop with a more natural DO-WHILE construct.
-
-2011-03-16  Werner Lemberg  <[email protected]>.
-
-	* src/base/ftstroke.c (FT_StrokerRec): Remove unused `valid' field.
-	Suggested by Graham Asher.
-
-2011-03-09  Werner Lemberg  <[email protected]>
-
-	Make FT_Sfnt_Table_Info return the number of SFNT tables.
-
-	* src/sfnt/sfdriver.c (sfnt_table_info): Implement it.
-	* include/freetype/tttables.h: Update documentation.
-	* docs/CHANGES: Updated.
-
-2011-03-07  Bram Tassyns  <[email protected]>
-
-	[cff] Fix Savannah bug #27988.
-
-	* src/cff/cffobjs.c (remove_style): New function.
-	(cff_face_init): Use it to strip off the style part of the family
-	name.
-
-2011-03-07  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2011-03-07  Alexei Podtelezhnikov  <[email protected]>
-
-	Quick fix for Savannah bug #32671.
-
-	This isn't the optimal solution yet, but it restores the previous
-	rendering quality (more or less).
-
-	* src/smooth/ftgrays.c (gray_render_conic): Do more splitting.
-
-2011-03-06  Werner Lemberg  <[email protected]>
-
-	Fix autohinting fallback.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
-	ignoring CFF-based OTFs.
-
-2011-02-27  Werner Lemberg  <[email protected]>
-
-	Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(AF_CONFIG_OPTION_USE_WARPER): New macro.
-	* src/autofit/aftypes.h (AF_USE_WARPER): Remove.
-
-	* src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/.
-
-	* src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy
-	variable assignment with a typedef.
-
-2011-02-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Slight simplifications.
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments): Remove
-	test which always returns false.
-	(af_latin_hints_compute_blue_edges): Remove redundant assignment.
-
-2011-02-24  Werner Lemberg  <[email protected]>
-
-	* docs/PROBLEMS: Mention rendering differences on different
-	platforms.
-	Suggested and worded by Jason Owen <[email protected]>.
-
-2011-02-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Comment out unused code.
-
-	* src/autofit/aflatin.c, src/autofit/aflatin2.c
-	(af_latin_hints_compute_edges): Do it.
-
-2011-02-24  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afhints.h (AF_GlyphHints): Remove unused field.
-
-2011-02-20  suzuki toshiya  <[email protected]>
-
-	[cache] Fix an off-by-one bug in `FTC_Manager_RemoveFaceID'.
-	Found by <[email protected]>, see detail in
-
-	  https://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
-
-	* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node
-	buckets[cache->p + cache->mask] too.
-
-2011-02-19  Kevin Kofler  <[email protected]>
-
-	Fall back to autohinting if a TTF/OTF doesn't contain any bytecode.
-	This is Savannah patch #7471.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Implement it.
-
-2011-02-19  John Tytgat  <[email protected]>
-
-	[cff] Fix subset prefix removal.
-	This is Savannah patch #7465.
-
-	* src/cff/cffobjs.c (remove_subset_prefix): Update length after
-	subset prefix removal.
-
-2011-02-13  Bradley Grainger  <[email protected]>
-
-	Add inline assembly version of FT_MulFix for MSVC.
-
-	* include/freetype/config/ftconfig.h: Ported the FT_MulFix_i386
-	function from GNU inline assembly syntax (see #ifdef __GNUC__ block
-	above) to MASM syntax for Microsoft Visual C++.
-
-2011-02-13  Bradley Grainger  <[email protected]>
-
-	Add project and solution files in Visual Studio 2010 format.
-
-	* builds/win32/.gitignore: Ignore user-specific cache files.
-	* builds/win32/vc2010/: Add VS2010 project & solution files, created
-	by upgrading builds/win32/vc2008/freetype.vcproj.
-	* objs/.gitignore: Ignore Visual Studio output files.
-
-2011-02-01  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afdummy.c: Include `aferrors.h'.
-	Problem reported by Chris Liddell <[email protected]>.
-
-2011-02-01  Werner Lemberg  <[email protected]>
-
-	[cff] Ignore unknown operators in charstrings.
-	Patch suggested by Miles.Lau <[email protected]>.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Emit tracing
-	message for unknown operators and continue instead of exiting with a
-	syntax error.
-
-2011-02-01  Werner Lemberg  <[email protected]>
-
-	[truetype] FT_LOAD_PEDANTIC now affects `prep' and `fpgm' also.
-
-	* src/truetype/ttgload.c (tt_loader_init): Handle
-	`FT_LOAD_PEDANTIC'.
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
-	tt_size_init_bytecode, tt_size_ready_bytecode): New argument to
-	handle pedantic mode.
-	* src/truetype/ttobjs.h: Updated.
-
-2011-01-31  Werner Lemberg  <[email protected]>
-
-	[truetype] Protect jump instructions against endless loops.
-
-	* src/truetype/interp.c (DO_JROT, DO_JMPR, DO_JROF): Exit with error
-	if offset is zero.
-
-2011-01-31  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve handling of invalid references.
-
-	* src/truetype/interp.c: Set even more TT_Err_Invalid_Reference
-	error codes only if pedantic hinting is active.  At the same time,
-	try to provide sane values which hopefully allow useful
-	continuation.  Exception to this is CALL and LOOPCALL – due to
-	possible stack corruption it is necessary to bail out.
-
-2011-01-31  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve handling of stack underflow.
-
-	* src/truetype/ttinterp.c (TT_RunIns, Ins_FLIPPT, Ins_DELTAP,
-	Ins_DELTAC): Exit with error only if `pedantic_hinting' is set.
-	Otherwise, try to do something sane.
-
-2011-01-30  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message.
-
-2011-01-30  LIU Sun-Liang  <[email protected]>
-
-	[truetype]: Fix behaviour of MIAP for invalid arguments.
-
-	* src/truetype/ttinterp.c (Ins_MIAP): Set reference points even in
-	case of error.
-
-2011-01-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix handling of MIRP instruction.
-
-	Thanks to Greg Hitchcock who explained the issue.
-
-	* src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with
-	`>' since the description in the specification is incorrect.
-	This fixes, for example, glyph `two' in font `Helvetica Neue LT Com
-	65 medium' at 15ppem.
-
-2011-01-15  suzuki toshiya  <[email protected]>
-
-	Fix ARM assembly code in include/freetype/config/ftconfig.h.
-
-	* include/freetype/config/ftconfig.h (FT_MulFix_arm):
-	Copy the maintained code from builds/unix/ftconfig.in.
-	Old GNU binutils could not accept the reduced syntax
-	`orr %0, %2, lsl #16'.  Un-omitted syntax like RVCT,
-	`orr %0, %0, %2, lsl #16' is better.  Reported by
-	Johnson Y. Yan.  The bug report by Qt developers is
-	considered too.
-
-	https://bugreports.qt.io/browse/QTBUG-6521
-
-2011-01-15  Werner Lemberg  <[email protected]>
-
-	[raster] Make bbox handling the same as with Microsoft's rasterizer.
-
-	Right before B/W rasterizing, the bbox gets simply rounded to
-	integers.  This fixes, for example, glyph `three' in font `Helvetica
-	Neue LT Com 65 Medium' at 11ppem.
-
-	Thanks to Greg Hitchcock who explained this behaviour.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Implement it.
-
-2011-01-15  suzuki toshiya  <[email protected]>
-
-	Copy -mcpu=* & -march=* options from CFLAGS to LDFLAGS.
-
-	* builds/unix/configure.raw: Consider recent gcc-standard
-	flags to specify architecture in CFLAGS & LDFLAGS
-	harmonization.  Requested by Savannah bug #32114, to
-	support multilib feature of BuildRoot SDK correctly.
-
-2011-01-15  suzuki toshiya  <[email protected]>
-
-	Fix off-by-one bug in CFLAGS & LDFLAGS harmonizer.
-
-	* builds/unix/configure.raw: Some important options that
-	included in CFLAGS but not in LDFLAGS are copied to
-	LDFLAGS, but the last option in CFLAGS was not checked.
-
-2011-01-13  Werner Lemberg  <[email protected]>
-
-	[raster] Add undocumented drop-out rule to the other bbox side also.
-
-	* src/raster/ftraster.c (Vertical_Sweep_Drop,
-	Horizontal_Sweep_Drop): Implement it.
-
-2011-01-13  Werner Lemberg  <[email protected]>
-
-	[raster] Reduce jitter value.
-
-	This catches a rendering problem with glyph `x' from Tahoma at
-	10ppem.  It seems that the increase of the precision in the change
-	from 2009-06-11 makes a larger jitter value unnecessary.
-
-	* src/raster/ftraster.c (Set_High_Precision): Implement it.
-
-2011-01-13  Werner Lemberg  <[email protected]>
-
-	[raster] Handle drop-outs at glyph borders according to Microsoft.
-
-	If a drop-out rule would switch on a pixel outside of the glyph's
-	bounding box, use the right (or top) pixel instead.  This is an
-	undocumented feature, but some fonts like `Helvetica Neue LT Com 65
-	Medium' heavily rely on it.
-
-	Thanks to Greg Hitchcock who explained this behaviour.
-
-	* src/raster/ftraster.c (Vertical_Sweep_Drop,
-	Horizontal_Sweep_Drop): Implement it.
-
-2011-01-09  suzuki toshiya  <[email protected]>
-
-	[cache] Fix Savannah bug #31923, patch drafted by Harsha.
-
-	When a node comparator changes the cached nodes during the
-	search of a node matching with queried properties, the
-	pointers obtained before the function should be updated to
-	prevent the dereference to freed or reallocated nodes.
-	To minimize the rescan of the linked list, the update is
-	executed when the comparator notifies the change of cached
-	nodes. This change depends previous change:
-	38b272ffbbdaae276d636aec4ef84af407d16181
-
-	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Rescan the
-	top node if the cached nodes are changed.
-	* src/cache/ftccache.c (FTC_Cache_Lookup): Ditto.
-
-2011-01-09  suzuki toshiya  <[email protected]>
-
-	[cache] Notice if a cache query induced the node list change.
-
-	Some node comparators (comparing the cache node contents and the
-	properties specified by the query) can flush the cache node to
-	prevent the cache inflation.  The change may invalidate the pointers
-	to the node obtained before the node comparison, so it should be
-	noticed to the caller.  The problem caused by the cache node
-	changing is reported by Harsha, see Savannah bug #31923.
-
-	* src/cache/ftccache.h (FTC_Node_CompareFunc): Add new argument
-	`FT_Bool* list_changed' to indicate the change of the cached nodes
-	to the caller.
-	(FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes by
-	`_list_changed'.
-	(FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed'
-	and update it when `FTC_Manager_FlushN' flushes any nodes.
-
-	* src/cache/ftccback.h (ftc_snode_compare): Updated to fit with new
-	FTC_Node_CompareFunc type.
-	(ftc_gnode_compare): Ditto.
-
-	* src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to use
-	TRUE/FALSE macros.
-	(ftc_basic_gnode_compare_faceid): New argument `FT_Bool*
-	list_changed' to indicate the change of the cache nodes (anyway, it
-	is always FALSE).
-
-	* src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to use
-	TRUE/FALSE macros.
-	(ftc_cmap_node_compare): New argument `FT_Bool* list_changed' to
-	indicate the change of the cache nodes (anyway, it is always FALSE).
-	(ftc_cmap_node_remove_faceid): Ditto.
-
-	* src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL pointer to
-	`FTC_CACHE_TRYLOOP_END', because the result is not needed.
-	(FTC_Cache_Lookup): Watch the change of the cache nodes by
-	`list_changed'.
-	(FTC_Cache_RemoveFaceID): Ditto.
-
-	* src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to use
-	TRUE/FALSE macros.
-	(ftc_gnode_compare): New argument `FT_Bool* list_changed' to
-	indicate the change of the cache nodes (anyway, it is always FALSE).
-	(FTC_GNode_Compare): New argument `FT_Bool* list_changed' to be
-	passed to `ftc_gnode_compare'.
-	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
-
-	* src/cache/ftcsbits.c (ftc_snode_compare): New argument `FT_Bool*
-	list_changed' to indicate the change of the cache nodes, anyway.  It
-	is updated by `FTC_CACHE_TRYLOOP'.
-	(FTC_SNode_Compare): New argument `FT_Bool* list_changed' to be
-	passed to `ftc_snode_compare'.
-	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
-
-2011-01-09  suzuki toshiya  <[email protected]>
-
-	[cache] Fit `FTC_GNode_Compare' to `FTC_Node_CompareFunc'.
-
-	* src/cache/ftcglyph.h (FTC_GNode_Compare): Add the 3rd
-	argument `FTC_Cache  cache' to fit FTC_Node_CompareFunc
-	prototype.
-	* src/cache/ftcglyph.c (FTC_GNode_Compare): Ditto. Anyway,
-	`cache' is not used by its child `ftc_gnode_compare'.
-
-2011-01-09  suzuki toshiya  <[email protected]>
-
-	[cache] Deduplicate the code to get the top node by a hash.
-
-	There are several duplicated code fragments getting the top node
-	from a cache by a given hash, like:
-
-	    idx = hash & cache->mask;
-	    if ( idx < cache->p )
-	      idx = hash & ( cache->mask * 2 + 1 );
-	    pnode = cache->buckets + idx;
-
-	To remove duplication, a cpp-macro to do same work
-	`FTC_NODE__TOP_FOR_HASH' is introduced.  For non-inlined
-	configuration, non-`ftc_get_top_node_for_hash' is also introduced.
-
-	* src/cache/ftccache.h (FTC_NODE__TOP_FOR_HASH): Declare
-	and implement inlined version.
-	(FTC_CACHE_LOOKUP_CMP): Use `FTC_NODE__TOP_FOR_HASH'.
-	* src/cache/ftccache.c (ftc_get_top_node_for_hash): Non-inlined
-	version.
-	(ftc_node_hash_unlink): Use `FTC_NODE__TOP_FOR_HASH'.
-	(ftc_node_hash_link): Ditto.
-	(FTC_Cache_Lookup): Ditto.
-
-2011-01-09  suzuki toshiya  <[email protected]>
-
-	[cache] inline-specific functions are conditionalized.
-
-	* src/cache/ftcglyph.c (FTC_GNode_Compare): Conditionalized for
-	inlined configuration.  This function is a thin wrapper of
-	`ftc_gnode_compare' for inlined `FTC_CACHE_LOOKUP_CMP' (see
-	`nodecmp' argument).  Under non-inlined configuration,
-	`ftc_gnode_compare' is invoked by `FTC_Cache_Lookup', via
-	`FTC_Cache->clazz.node_compare'.
-
-	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
-	* src/cache/ftcsbits.c (FTC_SNode_Compare): Ditto, for
-	`ftc_snode_compare'.
-	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
-
-2011-01-09  suzuki toshiya  <[email protected]>
-
-	[cache] Correct a type mismatch under non-inlined config.
-
-	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): `FTC_GCache_Lookup'
-	takes the node via a pointer `FTC_Node*', differently from cpp-macro
-	`FTC_CACHE_LOOKUP_CMP'.
-
-2011-01-06  suzuki toshiya  <[email protected]>
-
-	Update Jamfile to include Bzip2 support.
-
-	* Jamfile: Include src/bzip2 to project.
-	Comments for lzw, gzip, bzip2 are changed to clarify that
-	they are for compressed PCF fonts, not others.
-	(e.g. compressed BDF fonts are not supported yet)
-
-2011-01-05  suzuki toshiya  <[email protected]>
-
-	Update Symbian project files to include Bzip2 support.
-
-	Currently, it provides `FT_Stream_OpenBzip2' that returns
-	unimplemented error always, to prevent unresolved symbol
-	error for the applications designed for Unix systems.
-
-	* builds/symbian/bld.inf: Include ftbzip2.h.
-	* builds/symbian/freetype.mmp: Include ftbzip2.c.
-
-2011-01-05  suzuki toshiya  <[email protected]>
-
-	Update classic MacOS makefiles to include Bzip2 support.
-
-	Currently, it provides `FT_Stream_OpenBzip2' that returns
-	unimplemented error always, to prevent unresolved symbol
-	error for the applications designed for Unix systems.
-
-	* builds/mac/FreeType.m68k_cfm.make.txt: Include ftbzip2.c.o.
-	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
-	* builds/mac/FreeType.ppc_carbon.make.txt: Include ftbzip2.c.x.
-	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
-
-2011-01-05  suzuki toshiya  <[email protected]>
-
-	Update Amiga makefiles to include Bzip2 support.
-
-	Currently, it provides `FT_Stream_OpenBzip2' that returns
-	unimplemented error always, to prevent unresolved symbol
-	error for the applications designed for Unix systems.
-
-	* builds/amiga/makefile: Include bzip2.ppc.o built from ftbzip2.c.
-	* builds/amiga/makefile.os4: Include bzip2.o built from ftbzip2.c.
-	* builds/amiga/smakefile: Ditto.
-
-2011-01-05  suzuki toshiya  <[email protected]>
-
-	Update pkg-config tools to reflect Bzip2 support.
-
-	* builds/unix/freetype-config.in: Include `-lbz2' to
-	--libs output, if built with Bzip2 support.
-	* builds/unix/freetype2.in: Ditto.
-
-2011-01-05  suzuki toshiya  <[email protected]>
-
-	* builds/unix/configure.raw: Remove `SYSTEM_BZ2LIB' macro.
-
-	SYSTEM_ZLIB is used to switch the builtin zlib source
-	or system zlib source out of FreeType2.  But ftbzip2
-	module has no builtin bzip2 library and always requires
-	system bzip2 library.  Thus SYSTEM_BZ2LIB is always yes,
-	it is not used.
-
-2011-01-03  Werner Lemberg  <[email protected]>
-
-	*/rules.mk: Handle `*pic.c' files.
-
-2010-12-31  Werner Lemberg  <[email protected]>
-
-	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 64.
-	Problem reported by Tom Bishop <[email protected]>.
-
-2010-12-31  Werner Lemberg  <[email protected]>
-
-	Improve bzip2 support.
-
-	* include/freetype/ftmoderr.h: Add bzip2.
-
-	* docs/INSTALL.ANY, docs/CHANGES: Updated.
-
-	* src/pcf/README: Updated.
-	* include/freetype/internal/pcftypes.h: Obsolete, removed.
-
-2010-12-31  Joel Klinghed  <[email protected]>
-
-	Add bzip2 compression support to handle *.pcf.bz2 files.
-
-	* builds/unix/configure.raw: Test for libbz2 library.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_USE_BZIP2): Define.
-	* include/freetype/config/ftheader.h (FT_BZIP2_H): Define.
-
-	* include/freetype/ftbzip2.h: New file.
-
-	* src/bzip2/*: New files.
-
-	* src/pcf/pcf.h: s/gzip_/comp_/.
-	* src/pcf/pcfdrivr.c: Include FT_BZIP2_H.
-	s/gzip_/comp_/.
-	(PCF_Face_Init): Handle bzip2 compressed files.
-
-	* docs/formats.txt, modules.cfg: Updated.
-
-2010-12-25  Harsha  <[email protected]>
-
-	Apply Savannah patch #7422.
-
-	If we encounter a space in a string then the sbit buffer is NULL,
-	height and width are 0s.  So the check in ftc_snode_compare will
-	always pass for spaces (comparison with 255).  Here the comments
-	above the condition are proper but the implementation is not.  When
-	we create an snode I think it is the proper way to initialize the
-	width to 255 and then put a check for being equal to 255 in snode
-	compare function.
-
-	* src/cache/ftcsbits.c (FTC_SNode_New): Initialize sbit widths with
-	value 255.
-	(ftc_snode_compare): Fix condition.
-
-2010-12-13  Werner Lemberg  <[email protected]>
-
-	Fix parameter handling of `FT_Set_Renderer'.
-	Reported by Kirill Tishin <[email protected]>.
-
-	* src/base/ftobjs.c (FT_Set_Renderer): Increment `parameters'.
-
-2010-12-09  Werner Lemberg  <[email protected]>
-
-	[cff] Allow `hlineto' and `vlineto' without arguments.
-
-	We simply ignore such instructions.  This is invalid, but it doesn't
-	harm; and indeed, there exist such subsetted fonts in PDFs.
-
-	Reported by Albert Astals Cid <[email protected]>.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	[cff_op_hlineto]: Ignore instruction if there aren't any arguments
-	on the stack.
-
-2010-11-28  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.4 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-4'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.4
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.3/2.4.4/, s/243/244/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-
-	* builds/unix/configure.raw (version_info): Set to 12:2:6.
-
-2010-11-28  Alexei Podtelezhnikov  <[email protected]>
-
-	[ftsmooth]: Minor code simplification.
-
-	* src/smooth/ftgrays (gray_render_cubic): Do only one comparison
-	instead of two.
-
-2010-11-26  Johnson Y. Yan  <[email protected]>
-
-	[truetype] Better multi-threading support.
-
-	* src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone
-	references.
-
-2010-11-23  John Tytgat  <[email protected]>
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstring): Expand
-	start_point, check_points, add_point, add_point1, close_contour
-	macros.
-	Remove add_contour macro.
-	Return error code from t1_builder_start_point and
-	t1_builder_check_points when there was one (instead of returning 0).
-
-2010-11-22  suzuki toshiya  <[email protected]>
-
-	[truetype] Identify the tricky fonts by cvt/fpgm/prep checksums.
-	Some Latin TrueType fonts are still expected to be unhinted.
-	Fix Savannah bug #31645.
-
-	* src/truetype/ttobjs.c (tt_check_trickyness): Divided to...
-	(tt_check_trickyness_family): this checking family name, and
-	(tt_check_trickyness_sfnt_ids): this checking cvt/fpgm/prep.
-	(tt_get_sfnt_checksum): Function to retrieve the sfnt checksum
-	for specified subtable even if cleared by lazy PDF generators.
-	(tt_synth_sfnt_checksum): Function to calculate the checksum.
-
-2010-11-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix `loca' handling for inconsistent number of glyphs.
-	Reported by Johnson Y. Yan <[email protected]>.
-
-	* src/truetype/ttpload.c (tt_face_load_loca): While sanitizing,
-	handle case where `loca' is the last table in the font.
-
-2010-11-18  Werner Lemberg  <[email protected]>
-
-	[sfnt] Ignore all errors while loading `OS/2' table.
-	Suggested by Johnson Y. Yan <[email protected]>.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Do it.
-
-2010-11-18  Johnson Y. Yan  <[email protected]>
-
-	[type1] Fix matrix normalization.
-
-	* src/type1/t1load.c (parse_font_matrix): Handle sign of scaling
-	factor.
-
-2010-11-18  Werner Lemberg  <[email protected]>
-
-	[type1] Improve guard against malformed data.
-	Based on a patch submitted by Johnson Y. Yan
-	<[email protected]>
-
-	* src/type1/t1load.c (read_binary_data): Check `size'.
-
-2010-11-17  Werner Lemberg  <[email protected]>
-
-	[sfnt] While tracing, output table checksums also.
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Do it.
-
-2010-11-04  suzuki toshiya  <[email protected]>
-
-	[UVS] Fix `find_variant_selector_charmap', Savannah bug #31545.
-
-	Since 2010-07-04, `find_variant_selector_charmap' returns
-	the first cmap subtable always under rogue-compatible
-	configuration, it causes NULL pointer dereference and
-	make UVS-related functions crashed.
-
-	* src/base/ftobjs.c (Fix find_variant_selector_charmap):
-	Returns UVS cmap correctly.
-
-2010-11-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[ftsmooth] Improve rendering.
-
-	* src/smooth/ftsmooth.c (gray_render_conic): Since version 2.4.3,
-	cubic deviations have been estimated _after_ UPSCALE, whereas
-	conic ones have been evaluated _before_ UPSCALE, which produces
-	inferior rendering results.  Fix this.
-	Partially undo change from 2010-10-15 by using ONE_PIXEL/4; this has
-	been tested with demo images sent to the mailing list.  See
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html
-
-	and later mails in this thread.
-
-2010-10-28  Werner Lemberg  <[email protected]>
-
-	[ftraster] Minor fixes.
-
-	Reported by Tom Bishop <[email protected]>.
-
-	* src/raster/ftraster.c (ULong): Remove unused typedef.
-	(TWorker): Remove unused variable `precision_mask'.
-
-2010-10-28  Werner Lemberg  <[email protected]>
-
-	[ftraster] Fix rendering.
-
-	Problem reported by Tom Bishop <[email protected]>; see
-	thread starting with
-
-	  https://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
-
-	* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
-	since the involved multiplication exceeds 32 bits.
-
-2010-10-25  suzuki toshiya  <[email protected]>
-
-	Revert a change of `_idx' type in `FTC_CACHE_LOOKUP_CMP'.
-
-	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Revert
-	the type of `_idx' from FT_PtrDist (by previous change)
-	to original FT_UFast, to match with FT_CacheRec.
-
-2010-10-24  suzuki toshiya  <[email protected]>
-
-	[cache] Change the hash types to FT_PtrDist.
-
-	On LLP64 platforms (e.g. Win64), FT_ULong (32-bit)
-	variables are inappropriate to calculate hash values
-	from the memory address (64-bit).  The hash variables
-	are extended from FT_ULong to FT_PtrDist and new
-	hashing macro functions are introduced.  The hash
-	values on 16-bit memory platforms are changed, but
-	ILP32 and LP64 are not changed.  The hash value in
-	the cache subsystem is not reverted to the memory
-	address, so using signed type FT_PtrDist is safe.
-
-	* src/cache/ftccache.h (_FTC_FACE_ID_HASH): New hash
-	function to replace `FTC_FACE_ID_HASH' for portability.
-	* src/cache/ftcmanag.h (FTC_SCALER_HASH): Replace
-	`FTC_FACE_ID_HASH' by `_FTC_FACE_ID_HASH'.
-	* src/cache/ftccmap.c (FTC_CMAP_HASH): Ditto.
-
-	* src/cache/ftccache.h (FTC_NodeRec): The type of the
-	member `hash' is changed from FT_UInt32 to FT_PtrDist.
-
-	* src/cache/ftccache.h (FTC_Cache_Lookup): The type of the
-	argument `hash' is changed from FT_UInt32 to FT_PtrDist.
-	(FTC_Cache_NewNode): Ditto.
-	* src/cache/ftccache.c (ftc_cache_add): Ditto.
-	(FTC_Cache_Lookup): Ditto.  (FTC_Cache_NewNode): Ditto.
-	* src/cache/ftcglyph.h (FTC_GCache_Lookup): Ditto.
-	* src/cache/ftcglyph.c (FTC_GCache_Lookup): Ditto.
-
-	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): The type
-	of the internal variable `hash' is changed to FT_PtrDist
-	from FT_UInt32.  (FTC_ImageCache_LookupScaler): Ditto.
-	(FTC_SBitCache_Lookup): Ditto.
-	(FTC_SBitCache_LookupScaler): Ditto.
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Ditto.
-	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Ditto.
-	Also the type of the internal variable `_idx' is changed to
-	FT_PtrDist from FT_UFast for better pointer calculation.
-
-2010-10-24  suzuki toshiya  <[email protected]>
-
-	[cache] Hide internal macros incompatible with LLP64.
-
-	`FT_POINTER_TO_ULONG', `FTC_FACE_ID_HASH', and
-	`FTC_IMAGE_TYPE_HASH' are enclosed by
-	FT_CONFIG_OPTION_OLD_INTERNALS and hidden from
-	normal clients.
-
-	For the history of these macros, see the investigation:
-	https://lists.gnu.org/archive/html/freetype/2010-10/msg00022.html
-
-2010-10-24  suzuki toshiya  <[email protected]>
-
-	Change the type of `FT_MEM_VAL' from FT_ULong to FT_PtrDist.
-
-	On LLP64 platforms (e.g. Win64), unsigned long (32-bit)
-	cannot cover the memory address (64-bit).  `FT_MEM_VAL' is
-	used for hashing only and not dereferred, so using signed
-	type FT_PtrDist is safe.
-
-	* src/base/ftdbgmem.c (FT_MEM_VAL): Change the type of the
-	return value from FT_ULong to FT_PtrDist.
-	(ft_mem_table_resize): The type of hash is changed to
-	FT_PtrDist.  (ft_mem_table_get_nodep): Ditto.
-
-2010-10-24  suzuki toshiya  <[email protected]>
-
-	Replace "%lx" for memory address by "%p", LLP64 platforms.
-
-	On LLP64 platforms (e.g. Win64), long (32-bit) cannot cover
-	the memory address (64-bit).  Also the casts from the pointer
-	type to long int should be removed to preserve the address
-	correctly.
-
-	* src/raster/ftraster.c (New_Profile): Replace "%lx" by "%p".
-	(End_Profile) Ditto.
-	* src/truetype/ttinterp.c (Init_Context): Ditto.
-
-2010-10-15  Alexei Podtelezhnikov  <[email protected]>
-
-	Fix thinko in spline flattening.
-
-	FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL.
-
-	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and
-	replace it everywhere with ONE_PIXEL/8.
-
-2010-10-13  suzuki toshiya  <[email protected]>
-
-	[raccess] Skip unrequired resource access rules by Darwin VFS.
-
-	When a resource fork access rule by Darwin VFS could open the
-	resource fork but no font is found in it, the rest of rules
-	by Darwin VFS are skipped.  It reduces the warnings of the
-	deprecated resource fork access method by recent Darwin kernel.
-	Fix MacPorts ticket #18859:
-		https://trac.macports.org/ticket/18859
-
-	* src/base/ftobjs.c (load_face_in_embedded_rfork):
-	When `FT_Stream_New' returns FT_Err_Cannot_Open_Stream, it
-	means that the file is possible to be `fopen'-ed but zero-sized.
-	Also there is a case that the resource fork is not zero-sized,
-	but no supported font exists in it.  If a rule by Darwin VFS
-	falls into such cases, there is no need to try other Darwin VFS
-	rules anymore.  Such cases are marked by vfs_rfork_has_no_font.
-	If it is TRUE, the Darwin VFS rules are skipped.
-
-2010-10-13  suzuki toshiya  <[email protected]>
-
-	[raccess] Grouping resource access rules based on Darwin VFS.
-
-	MacOS X/Darwin kernel supports a few tricky methods to access
-	a resource fork via ANSI C or POSIX interface.  Current resource
-	fork accessor tries all possible methods to support all kernels.
-	But if a method could open a resource fork but no font is found,
-	there is no need to try other methods older than tested method.
-	To determine whether the rule index is for Darwin VFS, a local
-	function `ftrfork.c::raccess_rule_by_darwin_vfs' is introduced.
-	To use this function in ftobjs.c etc but it should be inlined,
-	it is exposed by ftbase.h.
-
-	* src/base/ftrfork.c (FT_RFork_Rule): New enum type to identify
-	the rules to access the resource fork.
-	(raccess_guess_rec): New structure to bind the rule function and
-	rule enum type.
-	(FT_Raccess_Guess): The list of the rule functions is replaced by
-	(raccess_guess_table): This.  This is exposed to be used by other
-	intra module functions.
-	(raccess_rule_by_darwin_vfs): A function to return a boolean
-	if the rule specified by the rule index is based on Darwin VFS.
-
-2010-10-13  suzuki toshiya  <[email protected]>
-
-	Prevent to open a FT_Stream for zero-sized file on non-Unix.
-
-	builds/unix/ftsystem.c prevents to open an useless stream from
-	zero-sized file and returns FT_Err_Cannot_Open_Stream, but the
-	stream drivers for ANSI C, Amiga and VMS return useless streams.
-	For cross-platform consistency, all stream drivers should act
-	same.
-
-	* src/base/ftsystem.c (FT_Stream_Open): If the size of the opened
-	file is zero, FT_Err_Cannot_Open_Stream is returned.
-	* builds/amiga/src/base/ftsystem.c (FT_Stream_Open): Ditto.
-	* src/vms/ftsystem.c (FT_Stream_Open): Ditto.
-
-2010-10-12  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #31310.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
-	invalid `runcnt' values.
-
-2010-10-08  Chris Liddell  <[email protected]>
-
-	[sfnt] Fix Savannah bug #31275.
-
-	* src/sfnt/ttpost.c: Include FT_INTERNAL_DEBUG_H.
-
-2010-10-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve error handling of `SHZ' bytecode instruction.
-	Problem reported by Chris Evans <[email protected]>.
-
-	* src/truetype/ttinterp.c (Ins_SHZ): Check `last_point'.
-
-2010-10-05  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #31253.
-	Patch submitted by an anonymous reporter.
-
-	* configure: Use `awk' instead of `sed' to manipulate output of `ls
-	-id'.
-
-2010-10-03  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.3 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-3'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.3
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.2/2.4.3/, s/242/243/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-	* builds/unix/configure.raw (version_info): Set to 12:1:6.
-
-2010-10-03  Werner Lemberg  <[email protected]>
-
-	Avoid `configure' issues with symbolic links.
-	Based on a patch from Alexander Stohr <[email protected]>.
-
-	* configure: Compare directories using `ls -id'.
-	Check existence of `reference' subdirectory before creating it.
-
-2010-10-02  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #31088 (sort of).
-
-	* src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64
-	function entries.
-
-2010-10-02  Werner Lemberg  <[email protected]>
-
-	[smooth] Fix splitting of cubics for negative values.
-
-	Reported by Róbert Márki <[email protected]>; see
-	https://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.
-
-	* src/smooth/ftgrays.c (gray_render_cubic): Fix thinko.
-
-2010-10-01  suzuki toshiya  <[email protected]>
-
-	[truetype] Fix Savannah bug #31040.
-
-	* src/truetype/ttinterp.c (free_buffer_in_size): Remove.
-	(TT_RunIns): Updated.
-
-2010-09-20  suzuki toshiya  <[email protected]>
-
-	[sfnt] Make error message filling NULL names less verbose.
-
-	* src/sfnt/ttpost.c (load_format_20): Showing 1 summary message
-	when we fill `post' names by NULL, instead of per-entry message.
-
-2010-09-20  Graham Asher  <[email protected]>
-	    David Bevan  <[email protected]>
-
-	[smooth] Fix and improve spline flattening.
-
-	This fixes the flattening of cubic, S-shaped curves and speeds up
-	the handling of both the conic and cubic arcs.
-
-	See the discussions on the freetype-devel mailing list in late
-	August and September 2010 for details.
-
-	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): New macro.
-	(TWorker): Remove `conic_level' and `cubic_level' elements.
-	(gray_render_conic): Simplify algorithm.
-	(gray_render_cubic): New algorithm; details are given in the code
-	comments.
-	(gray_convert_glyph): Remove heuristics.
-
-2010-09-19  Werner Lemberg  <[email protected]>
-
-	Minor fixes.
-
-	* src/cff/cffload.c (cff_charset_compute_cids): `charset->sids[i]'
-	is `FT_UShort'.
-	(cff_index_access_element): Don't use additions in comparison.
-	* src/sfnt/ttpost.c (load_format_20): Make `post_limit' of type
-	`FT_Long'.
-	Don't use additions in comparison.
-	Improve tracing messages.
-	(load_format_25, load_post_names): Make `post_limit' of type
-	`FT_Long'.
-
-2010-09-19  suzuki toshiya  <[email protected]>
-
-	[cff] Truncate the element length at the end of the stream.
-	See Savannah bug #30975.
-
-	* src/cff/cffload.c (cff_index_access_element): `off2', the offset
-	to the next element is truncated at the end of the stream to prevent
-	invalid I/O.  As `off1', the offset to the requested element has
-	been checked by `FT_STREAM_SEEK', `off2' should be checked
-	similarly.
-
-2010-09-19  suzuki toshiya  <[email protected]>
-
-	[cff] Ignore CID > 0xFFFFU.
-	See Savannah bug #30975.
-
-	* src/cff/cffload.c (cff_charset_compute_cids): Ignore CID if
-	greater than 0xFFFFU.  CFF font spec does not mention maximum CID in
-	the font, but PostScript and PDF spec define that maximum CID is
-	0xFFFFU.
-
-2010-09-19  suzuki toshiya  <[email protected]>
-
-	[cff] Make trace message in` cff_charset_load' verbose.
-	See Savannah bug #30975.
-
-	* src/cff/cffload.c (cff_charset_load): Report the original `nleft'
-	and truncated `nleft'.
-
-2010-09-19  suzuki toshiya  <[email protected]>
-
-	[cff] Correct `max_cid' from CID array length to max CID.
-	See Savannah bug #30975.
-
-	* src/cff/cffload.c (cff_charset_compute_cids): Don't increment
-	max_cid after detecting max CID.  The array CFF_Charset->cids is
-	allocated by max_cid + 1.
-	(cff_charset_cid_to_gindex): Permit CID is less than or equal to
-	CFF_Charset->max_cid.
-	* src/cff/cffobjs.c (cff_face_init): FT_Face->num_glyphs is
-	calculated as CFF_Charset->max_cid + 1.
-
-2010-09-19  suzuki toshiya  <[email protected]>
-
-	[truetype] Sanitize the broken offsets in `loca'.
-	See Savannah bug #31040.
-
-	* src/truetype/ttpload.c (tt_face_get_location): If `pos1', the
-	offset to the requested entry in `glyf' exceeds the end of the
-	table, return offset=0, length=0.  If `pos2', the offset to the next
-	entry in `glyf' exceeds the end of the table, truncate the entry
-	length at the end of `glyf' table.
-
-2010-09-19  suzuki toshiya  <[email protected]>
-
-	[sfnt] Prevent overrunning in `post' table parser.
-	See Savannah bug #31040.
-
-	* src/sfnt/ttpost.c (load_post_names): Get the length of `post'
-	table and pass the limit of `post' table to `load_format_20' and
-	`load_format_25'.
-	(load_format_20): Stop the parsing when we reached at the limit of
-	`post' table.  If more glyph names are required, they are filled by
-	NULL names.
-
-2010-09-17  suzuki toshiya  <[email protected]>
-
-	[truetype] Don't duplicate size->twilight structure to be freed.
-	See Savannah bug #31040 for detail.
-
-	* src/truetype/ttinterp.c (free_buffer_in_size): Don't duplicate
-	FT_GlyphZoneRec size->twilight to be freed.  If duplicated,
-	`FT_FREE' erases the duplicated pointers only and leave original
-	pointers.  They can cause the double-free crash when the burst
-	errors occur in TrueType interpreter and `free_buffer_in_size' is
-	invoked repeatedly.
-
-2010-09-15  Werner Lemberg  <[email protected]>
-
-	Make bytecode debugging with FontForge work again.
-
-	* src/truetype/ttinterp.c (TT_RunIns): Don't call
-	`free_buffer_in_size' in case of error if a debugger is active.
-
-2010-09-14  Werner Lemberg  <[email protected]>
-
-	Improve tracing messages.
-
-	* src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing
-	message.
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add
-	tracing message.
-	* src/truetype/ttgload.c (tt_loader_init): Add tracing message.
-	* src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if
-	glyph doesn't fit into a small bitmap container.
-
-2010-09-13  Werner Lemberg  <[email protected]>
-
-	Fix minor issues reported by <[email protected]>.
-
-	* src/autofit/aflatin.c (af_latin_compute_stem_width): Remove
-	redundant conditional check.
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Ditto.
-	* src/cff/cffload.c (cff_encoding_load): Remove conditional check
-	which always evaluates to `true'.
-	* src/pshinter/pshalgo.c (ps_glyph_interpolate_strong_points):
-	Ditto.
-	* src/truetype/ttinterp.c (Ins_IUP): Ditto.
-	* src/cid/cidgload.c (cid_slot_load_glyph): Don't check for NULL if
-	value is already dereferenced.
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix check of `face'.
-
-2010-08-31  suzuki toshiya  <[email protected]>
-
-	Ignore the environmental setting of LIBTOOL.
-	Patch is suggested by Adrian Bunk, to prevent unexpected
-	reflection of environmental LIBTOOL.  See:
-	https://savannah.nongnu.org/patch/?7290
-
-	* builds/unix/unix-cc.in: LIBTOOL is unconditionally set to
-	$(FT_LIBTOOL_DIR)/libtool.  FT_LIBTOOL_DIR is set to $(BUILD_DIR)
-	by default.
-	* configure: When configured for the building out of source tee,
-	FT_LIBTOOL_DIR is set to $(OBJ_DIR).
-
-2010-08-31  suzuki toshiya  <[email protected]>
-
-	[truetype] Decrease the trace level catching the interpreter error.
-
-	* src/truetype/ttinterp.c (TT_RunIns): Decrease the trace level
-	showing the error when the interpreter returns with an error,
-	from` FT_TRACE7' to `FT_TRACE1'.
-
-2010-08-30  suzuki toshiya  <[email protected]>
-
-	[truetype] Prevent bytecode reuse after the interpretation error.
-
-	* src/truetype/ttinterp.c (free_buffer_in_size): New function to
-	free the buffer allocated during the interpretation of this glyph.
-	(TT_RunIns): Unset FT_Face->size->{cvt_ready,bytecode_ready} if
-	an error occurs in the bytecode interpretation.  The interpretation
-	of invalid bytecode may break the function definitions and referring
-	them in later interpretation is danger.  By unsetting these flags,
-	`fpgm' and `prep' tables are executed again in next interpretation.
-
-	This fixes Savannah bug #30798, reported by Robert Święcki.
-
-2010-08-29  Werner Lemberg  <[email protected]>
-
-	[ftraster] Pacify compiler.
-
-	* src/raster/ftraster.c (ft_black_new) [_STANDALONE_]: `memory' is
-	not used.
-
-2010-08-29  Werner Lemberg  <[email protected]>
-
-	[cff] Allow SIDs >= 65000.
-
-	* src/cff/cffload.c (cff_charset_load): Fix change from 2009-03-20:
-	The threshold for SIDs is not applicable here.  I misinterpreted the
-	`SID values 65000 and above are available for implementation use'
-	sentence in the CFF specification.
-
-	Problem reported by Ivan Ninčić <[email protected]>.
-
-2010-08-28  suzuki toshiya  <[email protected]>
-
-	Force hinting when the font lacks its familyname.
-
-	In Type42 or Type11 font embedded in PostScript & PDF, TrueType sfnt
-	stream may lack `name' table because they are not required.  Hinting
-	for nameless fonts is safer for PDFs including embedded Chinese
-	fonts.  Written by David Bevan, see:
-
-	https://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html
-	https://lists.freedesktop.org/archives/poppler/2010-August/006310.html
-
-	* src/truetype/ttobjs.c (tt_check_trickyness): If a NULL pointer by
-	nameless font is given, TRUE is returned to enable hinting.
-
-2010-08-28  suzuki toshiya  <[email protected]>
-
-	Register yet another tricky TrueType font.
-
-	* src/truetype/ttobjs.c (tt_check_trickyness): Add `HuaTianKaiTi?',
-	a Kaishu typeface paired with `HuaTianSongTi?' by Huatian
-	Information Industry.
-
-2010-08-17  Teijo Kinnunen  <[email protected]>
-
-	[cache] Fix Savannah bug #30788.
-
-	* src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for
-	NULL too.
-
-2010-08-10  Werner Lemberg  <[email protected]>
-
-	Try to fix Savannah bug #30717 (and probably #30719 too).
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add another
-	overflow test for `width' and `height'.
-
-2010-08-06  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.2 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-2'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.2
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.1/2.4.2/, s/241/242/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
-	* builds/unix/configure.raw (version_info): Set to 12:0:6.
-
-2010-08-06  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #30648.
-
-	* src/base/ftobjs.c (FT_Done_Library): Specify the order of font
-	drivers during the face closing process.  Type42 faces should be
-	closed before TrueType faces, because a Type42 face refers to
-	another internal TrueType face which is created from sfnt[] array on
-	the memory.
-
-2010-08-06  Yuriy Kaminskiy  <[email protected]>
-
-	[raster] Fix valgrind warning.
-
-	* src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0]
-	only if we don't hit `limit'.
-
-2010-08-06  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #30658.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check that the total
-	length of collected POST segments does not overrun the allocated
-	buffer.
-
-2010-08-06  Yuriy Kaminskiy  <[email protected]>
-
-	Fix conditional usage of FT_MulFix_i386.
-	With -ansi flag, gcc does not define `i386', only `__i386__'.
-
-	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in:
-	s/i386/__i386__/.
-
-2010-08-05  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #30657.
-
-	* src/truetype/ttinterp.c (BOUNDSL): New macro.
-	Change `BOUNDS' to `BOUNDSL' where appropriate.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of
-	`cvtSize'.
-
-2010-08-05  Werner Lemberg  <[email protected]>
-
-	[type42] Fix Savannah bug #30656.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Protect against negative
-	string_size.
-	Fix comparison.
-
-2010-08-05  suzuki toshiya  <[email protected]>
-
-	[cff] Don't use any values in decoder after parsing error.
-
-	* src/cff/cffgload.c (cff_slot_load): Skip the evaluations
-	of the values in decoder, if `cff_decoder_parse_charstrings'
-	returns any error.
-
-2010-08-04  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #30644.
-
-	* src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison.
-
-2010-08-04  Werner Lemberg  <[email protected]>
-
-	`make devel' fails if FT_CONFIG_OPTION_OLD_INTERNALS is set.
-
-	* devel/ftoption.h: Synchronize with
-	include/freetype/config/ftoption.h.
-
-2010-08-04  suzuki toshiya  <[email protected]>
-
-	[cff] Improve stack overflow test.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack
-	after execution of operations too.
-
-2010-07-18  Werner Lemberg  <[email protected]>
-
-	Add reference counters and to FT_Library and FT_Face objects.
-
-	* include/freetype/freetype.h (FT_Reference_Face): New function.
-	* include/freetype/ftmodapi.h (FT_Reference_Library): New function.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec,
-	FT_LibraryRec): New field `refcount'.
-
-	* src/base/ftobjs.c (FT_Open_Face, FT_New_Library): Handle
-	`refcount'.
-	(FT_Reference_Face, FT_Reference_Library): Implement new functions.
-	(FT_Done_Face, FT_Done_Library): Handle `refcount'.
-
-	* docs/CHANGES: Updated.
-
-2010-07-18  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-1'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.1.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.0/2.4.1/, s/240/241/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 11:1:5.
-
-2010-07-17  Werner Lemberg  <[email protected]>
-
-	[cff] Final try to fix `hintmask' and `cntrmask' limit check.
-
-	Problem reported by Tobias Wolf <[email protected]>.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_hintmask>: Sigh.  I'm apparently too silly to fix this
-	correctly in less than three tries.
-
-2010-07-12  Werner Lemberg  <[email protected]>
-
-	* Version 2.4.0 released.
-	=========================
-
-
-	Tag sources with `VER-2-4-0'.
-
-	* docs/CHANGES: Updated.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.4.0.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.3.12/2.4.0/, s/2312/240/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 4.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 11:0:5.
-
-2010-07-12  Werner Lemberg  <[email protected]>
-
-	Remove C++ warnings.
-
-	*/*: Initialize pointers where necessary to make g++ happy.
-
-2010-07-12  malc  <[email protected]>
-	    Richard Henderson  <[email protected]>
-
-	Fix type-punning issues with C++.
-
-	* include/freetype/internal/ftmemory.h (FT_ASSIGNP) [__cplusplus]:
-	Emulate a `typeof' operator with an inline template which uses
-	`static_cast'.
-
-2010-07-11  Werner Lemberg  <[email protected]>
-
-	Fix C++ compilation issue.
-
-	* src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Fix
-	type of `dot' variable.
-
-2010-07-10  suzuki toshiya  <[email protected]>
-
-	Fix another case reported in Savannah bug #30373.
-	Permit a face for Type1, Type42 and CFF without charmap,
-	patch by Tor Andersson.
-
-	* src/type1/t1objs.c (T1_Face_Init): Reset the error if it
-	is FT_Err_No_Unicode_Glyph_Name.
-	* src/type42/t42objs.c (T42_Face_Init): Ditto.
-	* src/cff/cffobjs.c (cff_face_init): Ditto.
-
-2010-07-09  suzuki toshiya  <[email protected]>
-
-	Use defined macros to set {platform,encoding}_id.
-
-	* src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to
-	set charmap.{platform,encoding}_id.
-	* src/pcf/pcfdrivr.c: Ditto.
-	* src/winfonts/winfnt.c: Ditto.
-	* src/type1/t1objs.c: Ditto.
-	* src/type42/t42objs.c: Ditto.
-	* src/cff/cffobjs.c: Ditto.
-	* src/pfr/pfrobjs.c: Ditto.
-
-2010-07-09  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #30373.
-	Too serious check of errors by `FT_CMap_New' since 2010-07-04
-	is fixed. Reported by Tor Andersson.
-
-	* include/freetype/fterrdef.h
-	(PSnames_Err_No_Unicode_Glyph_Name): New error code to
-	indicate the Unicode charmap synthesis failed because
-	no Unicode glyph name is found.
-
-	* src/psnames/psmodule.c (ps_unicodes_init): Return
-	PSnames_Err_No_Unicode_Glyph_Name when no Unicode glyph name
-	is found in the font.
-	* src/cff/cffcmap.c (cff_cmap_unicode_init): Return
-	CFF_Err_No_Unicode_Glyph_Name when no SID is available.
-
-	* src/type1/t1objs.c (T1_Face_Init): Proceed if `FT_CMap_New'
-	is failed by the lack of Unicode glyph name.
-	* src/type42/t42objs.c (T42_Face_Init): Ditto.
-	* src/cff/cffobjs.c (cff_face_init): Ditto.
-
-2010-07-09  Ken Sharp  <[email protected]>
-
-	Make ftraster.c compile in stand-alone mode with MSVC compiler.
-
-	* src/raster/ftmisc.h (FT_Int64) [_WIN32, _WIN64]: Fix typedef
-	since there is no `inttypes.h' for MSVC.
-
-2010-07-08  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #30361.
-
-	* src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
-
-2010-07-06  Werner Lemberg  <[email protected]>
-
-	Pacify compiler.
-
-	* src/cff/cffload.c (cff_index_get_pointers): Initialize
-	`new_bytes'.
-
-2010-07-05  Eugene A. Shatokhin  <[email protected]>
-
-	Fix Savannah bug #27648.
-
-	* src/base/ftobjs.c (ft_remove_renderer, FT_Add_Module): Call
-	`raster_done' only if we have an outline glyph format.
-
-2010-07-05  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #30030.
-
-	* builds/win32/*/freetype.vcproj: Add ftxf86.c.
-
-2010-07-05  Werner Lemberg  <[email protected]>
-
-	[cff] Next try to fix `hintmask' and `cntrmask' limit check.
-
-	Problem reported by malc <[email protected]>.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_hintmask>: It is possible that there is just a single byte
-	after the `hintmask' or `cntrmask', e.g., a `return' instruction.
-
-2010-07-04  suzuki toshiya  <[email protected]>
-
-	Restrict the number of the charmaps in a rogue-compatible mode.
-	Fix for Savannah bug #30059.
-
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the
-	minimum character code passed by a legacy rogue client by...
-	* include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE):
-	This.  It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is
-	undefined (thus the rogue client compatibility is not required).
-
-	* src/cff/cffobjs.c (cff_face_init): Abort the automatic
-	selection or synthesis of Unicode cmap subtable when the charmap
-	index exceeds FT_MAX_CHARMAP_CACHEABLE.
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message
-	when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE.
-
-	* src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap
-	is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search
-	earlier one.
-	(find_variant_selector_charmap): When UVS charmap is found after
-	FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one.
-	(FT_Select_Charmap): When a charmap matching with requested
-	encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
-	earlier one.
-	(FT_Set_Charmap): When a charmap matching with requested
-	charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
-	earlier one.
-	(FT_Get_Charmap_Index): When a requested charmap is found
-	after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap
-	index.
-
-2010-07-04  Werner Lemberg  <[email protected]>
-
-	TrueType hinting is no longer patented.
-
-	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Define.
-	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Undefine.
-
-	* docs/CHANGES, docs/INSTALL, include/freetype/freetype.h: Updated.
-	* docs/TRUETYPE, docs/PATENTS: Removed.
-
-2010-07-04  suzuki toshiya  <[email protected]>
-
-	Check error value by `FT_CMap_New'.
-
-	* src/cff/cffobjs.c (cff_face_init): Check error value by
-	`FT_CMap_New'.
-	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
-	* src/type1/t1objs.c (T1_Face_Init): Ditto.
-	* src/type42/t42objs.c (T42_Face_Init): Ditto.
-
-2010-07-03  Werner Lemberg  <[email protected]>
-
-	Make ftgrays.c compile stand-alone again.
-
-	* src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'.
-	(FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define.
-
-2010-07-02  suzuki toshiya  <[email protected]>
-
-	Additional fix for Savannah bug #30306.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): If the type of the
-	POST fragment is 0, the segment is completely ignored.  The declared
-	length of the segment is not cared at all.  According to Adobe
-	Technical Note 5040, type 0 segment is a comment only and should not
-	be loaded for the interpreter.  Reported by Robert Święcki.
-
-2010-07-01  Werner Lemberg  <[email protected]>
-
-	[truetype] Protect against code range underflow.
-
-	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow
-	negative IP values.
-
-2010-07-01  Werner Lemberg  <[email protected]>
-
-	[truetype] Add rudimentary tracing for bytecode instructions.
-
-	* src/truetype/ttinterp.c (opcode_name) [FT_DEBUG_LEVEL_TRACE]: New
-	array.
-	(TT_RunIns): Trace opcodes.
-
-2010-06-30  Werner Lemberg  <[email protected]>
-
-	[smooth] Fix Savannah bug #30263.
-
-	* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned
-	int' to avoid integer overflow.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller
-	threshold values for `width' and `height'.  This is not directly
-	related to the bug fix but makes sense anyway.
-
-2010-07-01  suzuki toshiya  <[email protected]>
-
-	Initial fix for Savannah bug #30306.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check `rlen', the
-	length of fragment declared in the POST fragment header, and prevent
-	an underflow in length calculation.  Some fonts set the length to
-	zero in spite of the existence of a following 16bit `type'.
-	Reported by Robert Święcki.
-
-2010-07-01  suzuki toshiya  <[email protected]>
-
-	Additional fix for Savannah bug #30248 and #30249.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the buffer size
-	during gathering PFB fragments embedded in LaserWriter PS font for
-	Macintosh.  Reported by Robert Święcki.
-
-2010-06-30  Alexei Podtelezhnikov  <[email protected]>
-
-	Minor optimizations by avoiding divisions.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning):
-	Replace divisions with multiplication in comparisons.
-
-2010-06-29  Werner Lemberg  <[email protected]>
-
-	Fix minor tracing issues.
-
-	* src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels.
-
-2010-06-27  Werner Lemberg  <[email protected]>
-
-	[cff] Really fix `hintmask' and `cntrmask' limit check.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_hintmask>: Fix thinko and handle tracing also.
-
-2010-06-27  Werner Lemberg  <[email protected]>
-
-	Fix valgrind warning.
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize
-	`result' array.
-
-2010-06-27  Werner Lemberg  <[email protected]>
-
-	[cff] Fix memory leak.
-
-	* src/cff/cffgload.c (cff_operator_seac): Free charstrings even in
-	case of errors.
-
-2010-06-27  Werner Lemberg  <[email protected]>
-
-	[cff] Protect against invalid `hintmask' and `cntrmask' operators.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_hintmask>: Ensure that we don't exceed `limit' while parsing
-	the bit masks of the `hintmask' and `cntrmask' operators.
-
-2010-06-26  Werner Lemberg  <[email protected]>
-
-	Fix PFR change 2010-06-24.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Really protect against
-	invalid indices.
-
-2010-06-26  Werner Lemberg  <[email protected]>
-
-	Improve PFR tracing messages.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_rec): Emit tracing messages for
-	simple and compound glyph offsets.
-
-2010-06-26  Werner Lemberg  <[email protected]>
-
-	Fix last PFR change.
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Fix rejection logic.
-
-2010-06-26  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #30262.
-
-	* src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth'
-	arbitrarily to 100 to avoid stack exhaustion.
-
-2010-06-26  Werner Lemberg  <[email protected]>
-
-	Add some memory checks (mainly for debugging).
-
-	* src/base/ftstream.c (FT_Stream_EnterFrame): Exit with error
-	if the frame size is larger than the stream size.
-
-	* src/base/ftsystem.c (ft_ansi_stream_io): Exit with error if
-	seeking a position larger than the stream size.
-
-2010-06-25  Werner Lemberg  <[email protected]>
-
-	[pfr] Fix Savannah bug #30261.
-
-	* src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain
-	neither outline nor bitmap glyphs.
-
-2010-06-25  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #30254.
-
-	* src/cff/cffload.c (cff_index_get_pointers): Do sanity check for
-	first offset also.
-
-2010-06-25  suzuki toshiya  <[email protected]>
-
-	Initial fix for Savannah bug #30248 and #30249.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the error during
-	reading a PFB fragment embedded in LaserWriter PS font for Macintosh.
-	Reported by Robert Święcki.
-
-2010-06-24  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix Savannah bug #30247.
-
-	* src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with
-	zero metrics.
-
-2010-06-24  Graham Asher  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm.
-	The previous version was too aggressive, as demonstrated in
-	https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
-
-2010-06-24  Werner Lemberg  <[email protected]>
-
-	*/*: Use module specific error names where appropriate.
-
-2010-06-24  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #30236.
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer
-	to `cmap_table'.
-
-2010-06-24  Werner Lemberg  <[email protected]>
-
-	[pfr] Fix Savannah bug #30235.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Protect against
-	invalid indices if there aren't any coordinates for indexing.
-
-2010-06-24  Werner Lemberg  <[email protected]>
-
-	[bdf]: Font properties are optional.
-
-	* src/bdf/bdflib.c (_bdf_readstream): Use special error code to
-	indicate a redo operation.
-	(_bdf_parse_start): Handle `CHARS' keyword here too and pass current
-	input line to `_bdf_parse_glyph'.
-
-2010-06-23  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #30220.
-
-	* include/freetype/fterrdef.h
-	(BDF_Err_Missing_Fontboundingbox_Field): New error code.
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Check for missing
-	`FONTBOUNDINGBOX' field.
-	Avoid memory leak if there are multiple `FONT' lines (which is
-	invalid but doesn't hurt).
-
-2010-06-21  Werner Lemberg  <[email protected]>
-
-	[pfr] Fix Savannah bug #30168.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of
-	subglyphs to avoid endless recursion.
-
-2010-06-20  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix Savannah bug #30145.
-
-	* src/psaux/psobjs.c (t1_builder_add_contour): Protect against
-	`outline == NULL' which might happen in invalid fonts.
-
-2010-06-19  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #30135.
-
-	* src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static
-	string `empty'.
-	(_bdf_parse_glyph): Avoid memory leak in case of error.
-
-2010-06-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix Savannah bug #30108.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
-	Properly mask AF_DIGIT bit in comparison.
-
-2010-06-11  Werner Lemberg  <[email protected]>
-
-	[pshinter] Fix Savannah bug #30106.
-
-	Point numbers for FreeType's implementation of hinting masks are
-	collected before the final number of points of a glyph has been
-	determined; in particular, the code for handling the `endchar'
-	opcode can reduce the number of points.
-
-	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Assure that
-	`end_point' is not larger than `glyph->num_points'.
-
-2010-06-11  Werner Lemberg  <[email protected]>
-
-	[cff]: Improve debugging output.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_hintmask>: Implement it.
-
-2010-06-10  Graham Asher  <[email protected]>
-
-	ftgrays: Speed up rendering of small cubic splines.
-
-	* src/smooth/ftgrays.c (gray_render_cubic): Implement new,
-	simplified algorithm to find out whether the spline can be replaced
-	with two straight lines.  See this thread for more:
-
-	  https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
-
-2010-06-09  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #30082.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_callothersubr>: Protect against stack underflow.
-
-2010-06-08  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #30053.
-
-	* src/cff/cffparse.c (cff_parse_real): Handle border case where
-	`fraction_length' has value 10.
-
-2010-06-07  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #30052.
-	This bug has been introduced with commit 2415cbf3.
-
-	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect
-	against endless loop in case of corrupted font header data.
-
-2010-05-26  Werner Lemberg  <[email protected]>
-
-	Remove unused variable.
-	Found by Graham.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Remove unused
-	variable `first' in first block.
-
-2010-05-22  Werner Lemberg  <[email protected]>
-
-	Fix various memory problems found by linuxtesting.org.
-
-	* src/base/ftgxval.c (FT_TrueTypeGX_Free, FT_ClassicKern_Free),
-	src/base/ftotval.c (FT_OpenType_Free), src/base/ftpfr.c
-	(ft_pfr_check): Check `face'.
-
-	* src/base/ftobjs.c (FT_Get_Charmap_Index): Check `charmap' and
-	`charmap->face'.
-	(FT_Render_Glyph): Check `slot->face'.
-	(FT_Get_SubGlyph_Info): Check `glyph->subglyphs'.
-
-2010-05-22  Werner Lemberg  <[email protected]>
-
-	autofit: Remove dead code.
-	Suggested by Graham.
-
-	* src/autofit/afhints.c (af_glyph_hints_compute_inflections):
-	Removed.
-	(af_glyph_hints_reload): Remove third argument.
-	Update all callers.
-
-2010-05-21  Bram Tassyns  <[email protected]>
-
-	[cff] Fix Savannah bug #27987.
-
-	* src/cff/cffobjs.c (remove_subset_prefix): New function.
-	(cff_face_init): Use it to adjust `cffface->family_name'.
-
-2010-05-20  Werner Lemberg  <[email protected]>
-
-	TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'.
-
-	Acroread does the same.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call
-	`Update_Max' to adjust size of instructions array if necessary and
-	add a rough safety check.
-
-	(load_truetype_glyph): Save `loader->byte_len' before recursive
-	call.
-
-	* src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max):
-	Declare it as FT_LOCAL.
-
-2010-05-18  Hongbo Ni  <[email protected]>
-
-	Apply Savannah patch #7196.
-
-	* src/cff/cffgload.c (cff_slot_load): Prevent crash if CFF subfont
-	index is out of range.
-
-2010-05-11  Werner Lemberg  <[email protected]>
-
-	* docs/formats.txt: Give pointer to PCF documentation.
-	Information provided by Alan Coopersmith
-	<[email protected]>.
-
-2010-05-10  Ken Sharp  <[email protected]>
-
-	[psaux] Fix Savannah bug #29846.
-
-	Previously we discovered fonts which used `setcurrentpoint' to set
-	the initial point of a contour to 0,0.  This caused FreeType to
-	raise an error, because the `setcurrentpoint' operator is only
-	supposed to be used with the results from an OtherSubr subroutine.
-
-	This was fixed by simply ignoring the error and carrying on.
-
-	Now we have found a font which uses setcurrentpoint to actually
-	establish a non-zero point for a contour during the course of a
-	glyph program.  FWIW, these files may be produced by an application
-	called `Intaglio' on the Mac, when converting TrueType fonts to
-	Type 1.
-
-	The fix allows the new invalid behaviour, the old invalid behaviour
-	and real proper usage of the operator to work the same way as Adobe
-	interpreters apparently do.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make
-	`setcurrentpoint' use the top two elements of the stack to establish
-	unconditionally the current x and y coordinates.
-
-	Make the `flex' subroutine handling (OtherSubr 0) put the current
-	x,y coordinates onto the stack, instead of two dummy uninitialised
-	values.
-
-2010-04-14  Ken Sharp  <[email protected]>
-
-	[psaux] Fix Savannah bug #29444.
-
-	* src/psaux/psobjs.c (t1_builder_start_point): Accept (invalid)
-	`lineto' immediately after `hsbw', in accordance with Acrobat, GS,
-	and others.
-
-2010-04-14  Michał Cichoń  <[email protected]>
-
-	[psaux] Fix Savannah bug #27999.
-
-	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): Only remove
-	selected entry, not all.
-
-2010-04-06  Jonathan Kew  <[email protected]>
-
-	[truetype] Add overflow check to `fvar' table.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis and instance
-	count.
-
-2010-04-05  Ken Sharp  <[email protected]>
-
-	[raster] Fix Savannah bug #29335.
-
-	* src/raster/ftraster.c (Line_Up): Use slow multiplication to
-	prevent overflow.  This shouldn't have any serious impact on speed,
-	however.
-
-2010-04-05  Werner Lemberg  <[email protected]>
-
-	Add new function `FT_Library_SetLcdFilterWeights'.
-
-	This is based on code written by Lifter
-	<https://unixforum.org/index.php?showuser=11691>.  It fixes
-	FreeDesktop bug #27386.
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): New
-	function.
-
-	* include/freetype/ftlcdfil.h: Updated.
-
-	* docs/CHANGES: Updated.
-
-2010-04-01  John Tytgat  <[email protected]>
-
-	[truetype] Fix Savannah bug #29404.
-
-	* src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1
-	of `head' table of TrueType fonts).
-
-2010-03-14  suzuki toshiya  <[email protected]>
-
-	Fix `multi build' for Tytgat's CFF driver improvement.
-
-	* src/base/cffload.h (cff_index_get_name): Added.
-
-2010-03-12  suzuki toshiya  <[email protected]>
-
-	Remove duplicated inclusion of `FT_OUTLINE_H' in ftobjs.c.
-
-	* src/base/ftobjs.c: Remove 2nd inclusion of `FT_OUTLINE_H'.
-
-2010-03-11  Chris Liddell  <[email protected]>
-
-	[raster] Fix Savannah bug #27442.
-
-	* src/raster/ftraster.c (ft_black_reset): Fix `buffer_size'.
-
-2010-03-09  Werner Lemberg  <[email protected]>
-
-	[cff] Remove unused variable.
-	Reported by Graham.
-
-	* src/cff/cffparse.c (cff_parse_real): Remove `rest'.
-
-2010-03-02  John Tytgat  <[email protected]>
-
-	[cff] Improve CFF string (especially glyphname) lookup performance.
-
-	We do this by avoiding memory allocation and file I/O.  This is
-	Savannah patch #7104.
-
-	* src/cff/cfftypes.h: Include PS cmaps service and
-	FT_INTERNAL_POSTSCRIPT_HINTS_H.
-	(CFF_SubFontRec): Remove `num_local_subrs'.
-	(CFF_FontRec): Add `num_strings', `strings', and `string_pool'
-	fields.
-	Remove `string_index' and `num_global_subrs' fields.
-	Use real types instead of `void' for `pshinter' and `psnames' fields.
-
-	* src/cff/cffload.c: Don't include PS cmaps service.
-	(cff_index_get_pointers): Add `pool' parameter which allows inserting
-	an extra NUL character for each String INDEX entry.
-	(cff_index_get_name): Make it a local function.
-	(cff_index_get_string): New function.
-	(cff_subfont_load): Updated.
-	(cff_font_load): Initialize `num_strings', `strings', and
-	`string_pool' fields in the `CFF_FontRec' structure.
-	(cff_index_get_sid_string): Use `cff_index_get_string' instead of
-	`cff_index_get_name'.
-	(cff_font_done): Updated.
-
-	* src/cff/cffload.h: Don't include PS cmaps service.
-	(cff_index_get_string): Added.
-	(cff_index_get_sid_string): Updated.
-
-	* src/cff/cffobjs.c: Don't include PS cmaps service and
-	FT_INTERNAL_POSTSCRIPT_HINTS_H.
-	(cff_size_get_globals_funcs, cff_slot_init): Updated.
-	(cff_face_init): Follow `cff_index_get_name',
-	`cff_index_get_string', and `cff_index_get_sid_string' changes.
-
-	* src/cff/cffcmap.c (cff_sid_free_glyph_name): Removed.
-	(cff_sid_to_glyph_name): Use `cff_index_get_cid_string'.
-	(cff_cmap_unicode_init): Updated.
-
-	* src/cff/cffdrivr.c: Don't include PS cmap service.
-	(cff_get_glyph_name): Avoid unnecessary lookup for POSTSCRIPT_CMAPS
-	service.
-	(cff_get_glyph_name, cff_ps_get_font_info, cff_get_ros): Follow API
-	`cff_index_get_sid_string' change.
-	(cff_get_name_index): Use `cff_index_get_string' instead of
-	`cff_index_get_name'.
-
-	* src/cff/cffgload.c: Don't include FT_INTERNAL_POSTSCRIPT_HINTS_H.
-	(cff_decoder_init, cff_decoder_prepare): Updated.
-
-2010-02-27  Werner Lemberg  <[email protected]>
-
-	Simplify code.
-	Suggested by Behdad.
-
-	* src/base/ftobjs.c (FT_Get_First_Char): Don't use a loop since we
-	call FT_Get_Next_Char anyway if necessary.
-
-2010-02-26  Behdad Esfahbod  <[email protected]>
-
-	Improve handling of invalid glyph indices in char->index functions.
-
-	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Use a
-	loop.
-
-2010-02-18  Chris Liddell  <[email protected]>
-
-	[truetype] Fix Savannah bug #28905.
-
-	Initialize phantom points before calling the incremental interface
-	to update glyph metrics.
-
-	* src/truetype/ttgload.c (tt_get_metrics_incr_overrides)
-	[FT_CONFIG_OPTION_INCREMENTAL]: New function, split off from...
-	(tt_get_metrics): This.
-	Updated.
-	(load_truetype_glyph): Use tt_get_metrics_incr_overrides.
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2010-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.25
+++ /dev/null
@@ -1,5161 +1,0 @@
-2014-12-30  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.5 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-5'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.5.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.4/2.5.5/, s/254/255/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-
-	* builds/unix/configure.raw (version_info): Set to 17:4:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 5.
-	* docs/CHANGES: Updated.
-
-	* builds/toplevel.mk (dist): Fix typos.
-
-2014-12-24  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Formatting and nanooptimizations.
-
-	* src/base/ftcalc.c,
-	* src/base/fttrigon.c: Revise sign restoration.
-
-2014-12-13  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08.
-
-2014-12-11  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (dist): Use older POSIX standard for `tar'.
-
-	Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
-	(contrary to GNU tar), so force the POSIX-1.1988 format.
-
-	Problem reported by Stephen Fisher <[email protected]>.
-
-2014-12-11  Werner Lemberg  <[email protected]>
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Reject invalid TTF size.
-
-2014-12-11  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix off-by-one check.
-
-	Problem reported by Dennis Felsing <[email protected]>.
-
-2014-12-11  Werner Lemberg  <[email protected]>
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size'.
-
-	Problem reported by Dennis Felsing <[email protected]>.
-
-2014-12-09  suzuki toshiya  <[email protected]>
-
-	[gxvalid] Fix a naming convention conflicting with ftvalid.
-
-	See previous changeset for otvalid.
-
-	* src/gxvalid/{gxvcommn.h, gxvmort.h, gxvmorx.h}: Replace
-	`valid' by `gxvalid'.
-	* src/gxvalid/{gxvbsln.c, gxvcommn.c, gxvfeat.c, gxvjust.c,
-	gxvkern.c, gxvlcar.c, gxvmort.c, gxvmort0.c, gxvmort1.c,
-	gxvmort2.c, gxvmort4.c, gxvmort5.c, gxvmorx.c, gxvmorx0.c,
-	gxvmorx1.c, gxvmorx2.c, gxvmorx4.c, gxvmorx5.c, gxvopbd.c,
-	gxvprop.c, gxvtrak.c}: Replace `valid' by `gxvalid' if
-	it is typed as GXV_Validator.
-
-2014-12-09  suzuki toshiya  <[email protected]>
-
-	[otvalid] Fix a naming convention conflicting with ftvalid.
-
-	Some prototypes in ftvalid.h use `valid' for the variables
-	typed as FT_Validator.  Their implementations in src/base/
-	ftobjs.c and utilizations in src/sfnt/ttcmap.c do similar.
-
-	Some macros in otvcommn.h assume the exist of the variable
-	`valid' typed as OTV_Validator in the caller.
-
-	Mixing these two conventions cause invalid pointer conversion
-	and unexpected SEGV in longjmp.  To prevent it, all variables
-	typed as OTV_Validator are renamed to `otvalid'.
-
-	* src/otvalid/otvcommn.h: Replace `valid' by `otvalid'.
-	* src/otvalid/{otvcommn.c, otvbase.c, otvgdef.c, otvgpos.c,
-	otvgsub.c, otvjstf.c, otvmath.c}: Replace `valid' by `otvalid'
-	if it is typed as OTV_Validator.
-
-2014-12-09  suzuki toshiya  <[email protected]>
-
-	[ftvalid] Introduce FT_THROW() in FT_INVALID_XXX macros.
-
-	Original patch is designed by Werner Lemberg.  Extra part
-	for otvalid and gxvalid are added by suzuki toshiya, see
-	discussion:
-	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00002.html
-	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00007.html
-
-	* include/internal/ftvalid.h: Introduce FT_THROW() in FT_INVALID_().
-	* src/gxvalid/gxvcommn.h: Ditto.
-	* src/otvalid/otvcommn.h: Ditto.
-
-2014-12-08  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix Savannah bug #43774.
-
-	Work around `features' of X11's `pcfWriteFont' and `pcfReadFont'
-	functions.  Since the PCF format doesn't have an official
-	specification, we have to exactly follow these functions' behaviour.
-
-	The problem was unveiled with a patch from 2014-11-06, fixing issue
-	#43547.
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Don't check table size for last
-	element.  Instead, assign real size.
-
-2014-12-07  Werner Lemberg  <[email protected]>
-
-	Work around a bug in Borland's C++ compiler.
-
-	See
-
-	  http://qc.embarcadero.com/wc/qcmain.aspx?d=118998
-
-	for Borland's bug tracker entry.
-
-	Reported by Yuliana Zigangirova <[email protected]>,
-	https://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.
-
-	* include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
-	(gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
-
-2014-12-07  Werner Lemberg  <[email protected]>
-
-	*/*: Decorate hex constants with `U' and `L' where appropriate.
-
-2014-12-07  Werner Lemberg  <[email protected]>
-
-	[truetype] Prevent memory leak for buggy fonts.
-
-	* src/truetype/ttobjs.c (tt_size_done): Unconditionally call
-	`tt_size_done_bytecode'.
-
-2014-12-06  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.4 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-4'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.4.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.3/2.5.4/, s/253/254/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-
-	* builds/unix/configure.raw (version_info): Set to 17:3:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 4.
-	* docs/CHANGES: Updated.
-
-2014-12-04  Werner Lemberg  <[email protected]>
-
-	docs/CHANGES: Updated, formatted.
-
-2014-12-04  Dave Arnold  <[email protected]>
-
-	[cff] Modify an FT_ASSERT.
-
-	* src/cff/cf2hints.c (cf2_hintmap_map): After the fix for Savannah
-	bug #43661, the test font `...aspartam.otf' still triggers an
-	FT_ASSERT.  Since hintmap still works with count==0, ...
-	(cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): ... add that term to
-	suppress the assert.
-
-2014-12-04  Dave Arnold  <[email protected]>
-
-	[cff] Fix Savannah bug #43661.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
-	cf2_cmdVSTEM, cf2_cmdHINTMASK>: Don't append to stem arrays after
-	hintmask is constructed.
-
-	* src/cff/cf2hints.c (cf2_hintmap_build): Add defensive code to
-	avoid reading past end of hintmask.
-
-2014-12-03  Werner Lemberg  <[email protected]>
-
-	docs/CHANGES: Updated.
-
-2014-12-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Better fix for conversion specifiers in debug messages.
-
-	Using `%ld' for pointer differences causes warnings on 32bit
-	platforms.  The correct type would be (the relatively new) `%td',
-	however, this is missing on some important platforms.
-
-	This patch improves the change from 2014-11-28.
-
-	* src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast.  Our
-	pointer differences are always sufficiently small.
-	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'.
-
-2014-12-03  Werner Lemberg  <[email protected]>
-
-	FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality.
-
-	All public FreeType enumeration and flag values are uppercase...
-
-	* include/tttables.h (FT_Sfnt_Tag): Implement it.  For backward
-	compatibility, retain the old values as macros.
-
-	* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c
-	(get_sfnt_table): Updated.
-
-2014-12-02  Werner Lemberg  <[email protected]>
-
-	* include/*: Improve structure of documentation.
-
-	. Add and update many `<Order>' tags.
-	. Apply various documentation fixes.
-	. Remove details to deprecated (or never implemented) data.
-
-2014-12-02  Werner Lemberg  <[email protected]>
-
-	[docmaker] Always handle `<Order>' section elements.
-
-	Previously, those elements were handled only for sections present in
-	a `<Sections>' chapter element.
-
-	* src/tools/docmaker/content.py (ContentProcessor::finish):
-	Implement it.
-
-2014-12-02  Werner Lemberg  <[email protected]>
-
-	[docmaker] Properly handle empty rows in Synopsis.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
-	`&nbsp;' for empty fields.
-
-2014-12-02  Werner Lemberg  <[email protected]>
-
-	[docmaker] Thinko.
-
-	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
-	Emit `/empty/' string for first element also.
-
-2014-12-02  Werner Lemberg  <[email protected]>
-
-	[docmaker] Honour empty lines in `<Order>' section element.
-
-	This greatly improves the readability of the `Synopsis' links.
-
-	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
-	Insert string `/empty/' between items.
-
-	* src/tools/docmaker/formatter.py (Formatter::section_dump): Make it
-	robust against nonexistent keys.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
-	empty <td> elements for `/empty/'.
-
-2014-12-02  Werner Lemberg  <[email protected]>
-
-	[docmaker] Ensure Python 3 compatibility.
-
-	* src/tools/docmaker/content.py (ContentProcessor::set_section,
-	ContentProcessor::finish): Replace `has_key' function with `in'
-	keyword.
-
-	* src/tools/docmaker/formatter.py (Formatter::__init__): Replace
-	sorting function with a key generator.
-	(Formatter::add_identifier): Replace `has_key' function with `in'
-	keyword.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote):
-	Replace `has_key' function with `in' keyword.
-	(HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use
-	integer division.
-	s/<>/>/.
-
-	* src/tools/docmaker/utils.py: Import `itertools'.
-	(index_sort): Replaced by...
-	(index_key): ... this new key generator (doing exactly the same).
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Don't output a block multiple times.
-
-	This bug was hidden by not processing all lines of `<Order>' blocks.
-
-	* src/tools/docmaker/formatter.py (Formatter::section_dump): Filter
-	out field names.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Use field values as HTML link targets where possible.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url):
-	Accept second, optional argument to specify a name.
-	(HtmlFormatter::html_source_quote): Link to field ID if possible.
-	(HtmlFormatter::print_html_field_list): Emit `id' attribute.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Allow empty lines in `<Order>' blocks.
-
-	Before this patch, the suggested order of entries stopped at the
-	first empty line.
-
-	Obviously, nobody noticed that this problem caused a much reduced
-	set of links in the `Synopsis' sections; in particular, the
-	`<Order>' blocks contain a lot of entries that wouldn't be listed
-	otherwise...
-
-	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
-	New function to iterate over all items.
-	(DocSection::process): Use it.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp.
-
-	After the single asterisk there must be no other immediately following
-	asterisk.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Improve HTML code for table of contents.
-
-	* src/tools/docmaker/tohtml.py: Introduce a new table class `toc',
-	together with proper CSS.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Provide higher-level markup and simplify HTML.
-
-	* src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>'
-	elements, use CSS descendants (of class `section') to format the
-	data.
-
-	Also remove redundant <p> and <br> elements, replacing them with
-	proper CSS.
-
-	Globally reduce page width to 75%.
-
-	(block_header): Rename <div> class to `section'.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	[docmaker] Add `top' links after blocks.
-
-	* src/tools/docmaker/tohtml.py (block_footer_middle): Implement it.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Improve CSS for fields.
-
-	Make fields align horizontally relative to full line width.
-
-2014-11-29  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Fix index and TOC templates.
-
-	This thinko was introduced 2014-11-27.
-
-2014-11-28  Werner Lemberg  <[email protected]>
-
-	[docmaker] Format field lists with CSS.
-
-	This also simplifies the inserted HTML code.
-
-	* src/tools/docmaker/tohtml.py
-	(HtmlFormatter::print_html_field_list): Do it.
-
-2014-11-28  suzuki toshiya  <[email protected]>
-
-	Fix compiler warning to the comparison between signed and
-	unsigned variable.
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix the comparison
-	between `ypos + ysize' and FT_INT_{MAX,MIN}.
-
-2014-11-28  Werner Lemberg  <[email protected]>
-
-	[docmaker] Replace empty `<td>' with CSS.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do
-	it.
-
-2014-11-28  Werner Lemberg  <[email protected]>
-
-	[docmaker] Replace some `<table>' tags with `<h4>' and `<div>'.
-
-	* src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'.
-	(source_*): Use `<div>'.
-	(HtmlFormatter::block_enter): s/<h4>/<h3>/.
-
-2014-11-28  suzuki toshiya  <[email protected]>
-
-	Fix compiler warning to conversion specifiers in debug messages.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Add length
-	modifier to dump long integers.
-	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Ditto.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Use more CSS for index.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	[docmaker] Replace `name' attribute of `<a>' with `id'.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Remove remaining `width' attributes.
-
-	For `Index' and `TOC' links, we now simply use the `text-align' CSS
-	property of `<td>' to enforce flush-left and flush-right,
-	eliminating the hack with an empty, full-width `<td>' element
-	inbetween.
-
-	The change also enforces the same (smaller) size for all index and
-	TOC links.
-
-2014-11-27  suzuki toshiya  <[email protected]>
-
-	* src/cff/cf2font.c: Include `ftcalc.h' to use FT_MSB(),
-	cf2font.c could not find it under `make multi' build.
-
-2014-11-27  suzuki toshiya  <[email protected]>
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove
-	unrequired negative value check for `width' and `height'.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: More HTML table refactoring.
-
-	Replace some `<table>' tags with `<div>' to simplify structure.
-
-	Move `bgcolor' attribute to CSS.
-
-	Replace most `width' attributes with CSS.  The remaining instances
-	(providing a similar effect as LaTeX's `\hfill' command) are removed
-	in a later patch.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Replace <font> with CSS.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Center <table> with CSS.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Replace `<center>' with `<div>'.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/tohtml.py: Remove redundant `<center>' tags.
-
-	This starts a series of commits into the direction of generating
-	valid HTML 5 code, especially using much more CSS.
-
-2014-11-27  suzuki toshiya  <[email protected]>
-
-	Prevent too negative values (< FT_INT_MIN) in bitmap metrics,
-	suggested by Alexei.
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Prevent too
-	negative values in `xpos' and `ypos + ysize'.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Prevent
-	too negative values in `x_left' and `y_top'.  Either negative
-	values in `width' and `height' are checked.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	[docmaker] Produce better HTML code.
-
-	* src/tools/docmaker/tohtml.py: Always use double quotes for
-	attribute values.
-	(source_footer): Close `td' and `tr' groups.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	Use better way to disable creation of .pyc files for `make refdoc'.
-
-	Python 2.6 was released in 2008...
-
-	* builds/freetype.mk (refdoc): Use python's `-B' option.
-
-	* builds/detect.mk (std_setup, dos_setup): Mention required python
-	version for `refdoc' target.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/sources.py (re_bold, re_italic): Use
-	non-grouping parentheses.
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word):
-	Updated.
-
-2014-11-27  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning.
-
-	Introduced in previous change.  Reported by Alexei.
-
-2014-11-26  Werner Lemberg  <[email protected]>
-
-	* src/*: Add checks for parameters of API functions where missing.
-
-	`API functions' are functions tagged with `FT_EXPORT_DEF'.
-
-	Besides trivial fixes, the following changes are included, too.
-
-	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
-	error code if no service is available.
-
-	* src/base/ftinit.c (FT_Done_FreeType): Change return value for
-	invalid `library' parameter to `Invalid_Library_Handle'.
-
-	* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
-	`asize' parameter to `Invalid_Argument'.
-
-	* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
-	invalid `source' and `target' parameters to `Invalid_Outline'.
-	(FT_Outline_Done_Internal): Change return value for invalid
-	`outline' parameter to `Invalid_Outline'.
-
-2014-11-26  Werner Lemberg  <[email protected]>
-
-	* src/cache/ftcbasic.c: Use single calls to `FT_TRACE'.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Additional
-	overflow check in the summation of POST fragment lengths,
-	suggested by Mateusz Jurczyk <[email protected]>.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments
-	and fold too long tracing messages.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #43540.
-
-	* src/base/ftmac.c (parse_fond): Prevent a buffer overrun
-	caused by a font including too many (> 63) strings to store
-	names[] table.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long
-	variables to read the lengths in POST fragments.  Suggested by
-	Mateusz Jurczyk <[email protected]>.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #43539.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
-	by a broken POST table in resource-fork.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	Fix Savannah bug #43538.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
-	by a broken POST table in resource-fork.
-
-2014-11-26  suzuki toshiya  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak
-	by a broken POST table in resource-fork.  Return after freeing
-	the buffered POST table when it is found to be broken.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	*/*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	*/*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	*/*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	*/*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	[Savannah bug #43682] Adjust some renderer callbacks.
-
-	* src/raster/ftraster.c (ft_black_set_mode): Change return type to
-	`int' to stay in sync with `FT_Renderer_SetModeFunc' prototype.
-
-	* src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function
-	for orthogonality.
-	(ft_grays_raster): Use it.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	[Savannah bug #43682] Properly handle missing return errors.
-
-	The functions in this patch *do* return non-trivial errors that must
-	be taken care of.
-
-	* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
-	(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
-	src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
-	src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
-	(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
-	(load_truetype_glyph <subglyph loop>, tt_loader_init,
-	TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
-	src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	[Savannah bug #43682] Add/remove `void' casts to some functions.
-
-	We use a cast to indicate that we intentionally ignore a function's
-	return value.  However, this doesn't apply to API functions where
-	errors can only happen for trivially invalid input.
-
-	* src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder),
-	src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c
-	(cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning),
-	src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
-	(t42_parse_encoding): Do it.
-
-2014-11-25  Werner Lemberg  <[email protected]>
-
-	[Savannah bug #43682] Change some signatures to `void' return type.
-
-	* include/internal/pshints.h (PSH_Globals_SetScaleFunc),
-	include/internal/sfnt.h (TT_Get_Metrics_Func),
-	src/pshinter/pshglob.c (psh_globals_set_scale),
-	src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c
-	(tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange,
-	TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context,
-	TT_Save_Context): Do it.
-
-	* src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h,
-	src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c
-	(TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c
-	(tt_size_run_fpgm, tt_size_run_prep): Updated.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	Remove all code related to FT_MAX_CHARMAP_CACHEABLE.
-
-	This is no longer used.
-
-	* src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c,
-	src/sfnt/ttcmap.c: Do it.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43680.
-
-	This adds an additional constraint to make the fix from 2013-01-25
-	really work.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image) <index_format==4>:
-	Check `p' before `num_glyphs'.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix Savannah bug #43679.
-
-	* src/truetype/ttpload.c (tt_face_load_hdmx): Check minimum size of
-	`record_size'.
-
-2014-11-24  Jarkko Pöyry  <[email protected]>
-
-	[cff, pfr, psaux, winfonts] Fix Savannah bug #43676.
-
-	Don't cast cmap init function pointers to an incompatible type.
-
-	Without this patch, the number of parameters between declaration and
-	the real signature differs.  Calling such a function results in
-	undefined behavior.
-
-	  ISO/IEC 9899:TC3 (Committee Draft September 7, 2007)
-	    6.5.2.2 Function calls
-	      9 If the function is defined with a type that is not
-	        compatible with the type (of the expression) pointed to by
-	        the expression that denotes the called function, the
-	        behavior is undefined.
-
-	On certain platforms (c -> js with emscripten) this causes
-	termination of execution or invalid calls because in the emscripten
-	implementation, function pointers of different types are stored in
-	different pointer arrays.  Incorrect pointer type here results in
-	indexing of an incorrect array.
-
-	* src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_unicode_init),
-	src/pfr/pfrcmap.c (pfr_cmap_init), src/psaux/t1cmap.c
-	t1_cmap_standard_init, t1_cmap_expert_init, t1_cmap_custom_init,
-	t1_cmap_unicode_init), src/winfonts/winfnt.c (fnt_cmap_init): Fix
-	signature.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43672.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Use correct value for
-	minimum table length test.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	[type1, type42] Another fix for Savannah bug #43655.
-
-	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
-	(t42_parse_charstrings): Add another boundary testing.
-
-2014-11-24  Werner Lemberg  <[email protected]>
-
-	[docmaker] Formatting, copyright, improved documentation.
-
-	* src/tools/docmaker/*: No code changes besides trivial
-	modifications.
-
-2014-11-22  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #43660.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
-	`_BDF_GLYPH_BITS'.
-
-2014-11-22  Werner Lemberg  <[email protected]>
-
-	[type42] Allow only embedded TrueType fonts.
-
-	This is a follow-up to Savannah bug #43659.
-
-	* src/type42/t42objs.c (T42_Face_Init): Exclusively use the
-	`truetype' font driver for loading the font contained in the `sfnts'
-	array.
-
-2014-11-22  Werner Lemberg  <[email protected]>
-
-	[type42] Fix Savannah bug #43659.
-
-	* src/type42/t42objs.c (T42_Open_Face): Initialize `face->ttf_size'.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Always set
-	`face->ttf_size' directly.  This ensures a correct stream size in
-	the call to `FT_Open_Face', which follows after parsing, even for
-	buggy input data.
-	Fix error messages.
-
-2014-11-22  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #43658.
-
-	* src/cff/cf2ft.c (cf2_builder_lineTo, cf2_builder_cubeTo): Handle
-	return values of point allocation routines.
-
-2014-11-22  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43656.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_validate): Fix order of validity
-	tests.
-
-2014-11-21  Werner Lemberg  <[email protected]>
-
-	[type1, type42] Fix Savannah bug #43655.
-
-	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
-	(t42_parse_charstrings): Fix boundary testing.
-
-2014-11-21  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_get_metrics): Sanitize invalid metrics.
-
-2014-11-21  Werner Lemberg  <[email protected]>
-
-	[ftlcdfil] Obey flow direction.
-
-	* src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy):
-	Handle `up' flow.
-
-2014-11-21  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Improve.
-
-	This commit completes argument checks and adds support for different
-	flow directions.
-
-2014-11-21  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Copy): Improve.
-
-	This commit adds argument checks and support for different flow
-	directions.
-
-2014-11-20  Werner Lemberg  <[email protected]>
-
-	* src/base/ftbitmap.c (FT_Bitmap_New): Check argument.
-
-2014-11-19  Werner Lemberg  <[email protected]>
-
-	Change some fields in `FT_Bitmap' to unsigned type.
-
-	This doesn't break ABI.
-
-	* include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays',
-	`pixel_mode', and `palette_mode' unsigned types.
-
-	* src/base/ftbitmap.c: Updated.
-	(FT_Bitmap_Copy): Fix casts.
-
-	* src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c:
-	Updated.
-
-2014-11-19  Werner Lemberg  <[email protected]>
-
-	Make `FT_Bitmap_Convert' correctly handle negative `pitch' values.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value
-	for the pitch while copying data.
-	Correctly set pitch sign in target bitmap.
-
-2014-11-19  Werner Lemberg  <[email protected]>
-
-	Minor code improvement in `FT_Bitmap_Embolden'.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>:
-	Fix thinko.
-
-2014-11-19  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table.
-
-2014-11-19  Behdad Esfahbod  <[email protected]>
-
-	Avoid compiler warnings on x86-64 for `FT_MulFix'.
-
-	`FT_MulFix' takes `FT_Long' parameters as defined in `freetype.h',
-	but several inline implementations of it in `ftcalc.h' take
-	`FT_Int32' arguments.  This is causing compiler warnings on x86-64:
-	If parameters of type `FT_Fixed' (= `FT_Long') are passed to the
-	inline implementation of this function, integer values are truncated
-	from 64bit to 32bit.
-
-	* include/internal/ftcalc.h (FT_MulFix) [FT_MULFIX_ASSEMBLER]: Add
-	casts.
-
-2014-11-15  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43597.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Protect against too large
-	bitmaps.
-
-2014-11-12  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43591.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Protect against addition
-	and multiplication overflow.
-
-2014-11-12  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43590.
-
-	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir):
-	Protect against addition overflow.
-
-2014-11-12  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43589.
-
-	* src/sfnt/sfobjs.c (woff_open_font): Protect against addition
-	overflow.
-
-2014-11-12  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43588.
-
-	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
-	tt_cmap12_validate, tt_cmap13_validate, tt_cmap14_validate): Protect
-	against overflow in additions and multiplications.
-
-2014-11-10  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] CORDIC improvements.
-
-	The scaling between the hypotenuse and its CORDIC approximation is
-	based on regression analysis. The smaller padding for `theta' is
-	justified by its maximum error of less than 6.
-
-	* src/base/fttrigon.c (ft_trig_downscale): Borrow code from
-	./ftcalc.c (ft_multo64), change linear intercept.
-	(ft_trig_pseudo_polarize): Decrease `theta' padding.
-
-2014-11-09  Werner Lemberg  <[email protected]>
-
-	* src/base/ftstroke.c (ft_stroker_inside): Fix border intersections.
-
-	One more place to check whether `radius' is zero.
-
-	Problem reported by Marco Wertz <[email protected]>.
-
-2014-11-07  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #43535.
-
-	* src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one
-	character more than `strncmp'.
-	s/ft_strncmp/_bdf_strncmp/ everywhere.
-
-2014-11-06  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix Savannah bug #43548.
-
-	* src/pcf/pcfread.c (pcf_get_encodings): Add sanity checks for row
-	and column values.
-
-2014-11-06  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix Savannah bug #43547.
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Check `size' and `offset'
-	values.
-
-2014-11-06  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Avoid memory leak.
-
-2014-11-03  Infinality  <[email protected]>
-
-	* src/truetype/ttsubpix.c (COMPATIBILITY_MODE_Rules): Updated.
-
-	The previous commit deteriorates rendering of DejaVu and similar
-	fonts; this gets compensated with this rule.
-
-2014-11-03  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_DELTAP): Fix subpixel hinting.
-
-	Before this patch, it was impossible to ever call DELTAP[123] in
-	subpixel hinting mode as described in the ClearType whitepaper; it
-	only worked if in `compatibility mode'.  However, compatibility mode
-	essentially disables SHPIX, completely ruining hinting of
-	ttfautohint output, for example.
-
-	We now follow the whitepaper more closely so that DELTAP[123]
-	instructions for touched points in the non-subpixel direction are
-	executed.
-
-2014-10-31  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Improve code readability.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
-
-2014-10-31  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Reduce outline translations during rendering.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Translate origin
-	virtually by modifying cbox, actually translate outline if cumulative
-	shift is not zero.
-
-2014-10-30  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Fix Savannah bug #35604 (cont'd).
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove checks and
-	casts that became unnecessary after the variable type upgrades.
-
-2014-10-29  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Improve code readability.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
-
-2014-10-29  Alexei Podtelezhnikov  <[email protected]>
-
-	Unify hypotenuse approximations.
-
-	* include/internal/ftcalc.h (FT_HYPOT): Move macro from here...
-	* include/internal/ftobjs.h: ... to here, next to required `FT_ABS'.
-	* src/smooth/ftgrays.c (gray_render_cubic): Use it here.
-
-2014-10-25  Werner Lemberg  <[email protected]>
-
-	[cff] Test valid darkening parameter macros in `ftoption.h'.
-
-	We no longer need an otherwise unused typedef that can cause a gcc
-	warning.
-	Problem reported by Alexei.
-
-	* src/cff/cffobjs.c (cff_driver_init): Use
-	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly.
-	(SET_DARKENING_PARAMETERS): Removed.
-	Compile time tests are now ...
-
-	* devel/ftoption.h, include/config/ftoption.h: ... here.
-
-2014-10-25  Alexei Podtelezhnikov  <[email protected]>
-
-	Improve flat corner definition.
-
-	* include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean
-	distance with the alpha max plus beta min algorithm.
-	* src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab
-	metric.
-
-2014-10-23  David Weiß  <[email protected]>
-
-	[build] Improve property file for vc2010.
-
-	User-defined properties should be empty by default to prevent linker
-	failures.
-
-	* builds/windows/vc2010/freetype.user.props,
-	builds/windows/vc2010/freetype.vcxproj:
-	s/OptionsDirectory/UserOptionDirectory/.
-	Comment out all user options.
-
-2014-10-23  Werner Lemberg  <[email protected]>
-
-	[cff] Work around bug in preprocessor of MSVC 2010.
-
-	We have been hit by
-
-	  https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr
-
-	* devel/ftoption.h, include/config/ftoption.h: Replace
-	`CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros
-	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'.
-
-	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed.  We no
-	longer need double expansion.
-	(SET_DARKENING_PARAMETERS_0): Renamed to ...
-	(SET_DARKENING_PARAMETERS): ... this.
-	Update call.
-
-2014-10-20  Werner Lemberg  <[email protected]>
-
-	[sbit] Minor fixes.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
-	Accept overlay format also, but emit warning message in that case.
-	(tt_sbit_decoder_load_metrics): Add missing newline to error
-	message.
-	(tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS
-	7.1) to the list of unsupported formats.
-
-2014-10-19  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Clean up bytecode rounding.
-
-	Zero distance does not have to be treated specially if you follow
-	specifications and check the sign as the very last step of rounding.
-
-	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
-	Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use
-	macros when available, do not check for non-zero distance.
-	(Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase
-	if sign changed.
-
-2014-10-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Unwrap engine compensation settings.
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
-
-2014-10-18  David Weiß  <[email protected]>
-
-	[build] Add property file to vc2010 project.
-
-	This simplifies custom build configurations, especially for
-	automated build environments.
-
-	* builds/windows/vc2010/freetype.user.props: New configuration file.
-
-	* builds/windows/vc2010/freetype.vcxproj: Include
-	`freetype.user.props' and use its data fields.
-
-	* builds/windows/vc2010/index.html: Updated.
-
-2014-10-18  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Telugu.
-
-	This essentially moves the Telugu script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	Note that this is a first shot and quite certainly needs
-	refinements.
-
-	* src/autofit/afblue.dat: Add blue zone data for Telugu.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Telugu standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Telugu data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Telugu data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2014-10-18  David Wimsey  <[email protected]>
-
-	[cmake] Add iOS build support.
-	From Savannah patch #8497.
-
-	* builds/cmake/iOS.cmake: New file.  Universal binaries are built
-	with both 32 and 64 bit arm architectures.
-
-	* CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS
-	toolchain.  Possible values are `OS' to build on iOS, or
-	`SIMULATOR' to build on APPLE.
-
-2014-10-16  Behdad Esfahbod  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro.
-
-	* devel/ftoption.h, include/config/ftoption.h
-	(CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro.
-
-	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS,
-	SET_DARKENING_PARAMETERS_0): New macros.
-	(cff_driver_init): Use new macros.
-
-2014-10-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Limit delta shift range.
-
-	The valid range for delta shift is zero through six.  Negative values
-	are invalid according to
-
-	  https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift
-
-	* src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned.
-	* src/truetype/ttinterp.h (DO_SDS): Throw an error if `delta_shift'
-	is out of range.
-	(Ins_DELTAP, Ins_DELTAC): Optimize for valid `delta_shift'.
-
-2014-10-16  Werner Lemberg  <[email protected]>
-
-	A better fix for Savannah bug #43392.
-	Suggested by Doug Felt <[email protected]>.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set
-	`vertAdvance' to zero...
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default
-	value for `vertAdvance' based on `linearVertAdvance' in case
-	`vertAdvance' is zero.  Note that the previous computed ad-hoc value
-	for `linearVertAdvance' was apparently not tested in a real-life
-	situation.
-
-2014-10-14  David Weiß  <[email protected]>
-
-	[build] Better optimization settings for vc2010 solution file.
-
-	* builds/windows/vc2010/freetype.sln,
-	builds/windows/vc2010/freetype.vcxproj: Updated.
-
-2014-10-14  Werner Lemberg  <[email protected]>
-
-	[autofit] Adjust Devanagari character range.
-
-	* src/autofit/afranges.c (af_deva_uniranges): Omit characters that
-	are common to all other Indic scripts.
-
-2014-10-12  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #43392.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let
-	vertical metrics uninitialized.
-
-2014-10-11  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Small bbox correction.
-
-	* src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox
-	instead of initial point that could be `off' in conic outlines.
-
-2014-10-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix Savannah bug #43356.
-
-	* src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case
-	of implicit `to'.
-	(BBox_Line_To): New emitter that does not update bbox.
-
-2014-10-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Introduce and use new macro `FT_UPDATE_BBOX'
-
-	* src/base/ftbbox.c (FT_UPDATE_BBOX): New macro.
-	(FT_Outline_Get_BBox): Use it here.
-
-2014-10-02  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Significant optimization of `ft_div64by32'
-
-	We shift as many bits as we can into the high register, perform
-	32-bit division with modulo there, then work through the remaining
-	bits with long division. This optimization is especially noticeable
-	for smaller dividends that barely use the high register.
-
-	* src/base/ftcalc.c (ft_div64by32): Updated.
-
-2014-10-02  Dave Arnold  <[email protected]>
-
-	[cff] Fix Savannah bug #43271.
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Change overflow
-	detection to use logarithms and clamp `scaledStem'.
-
-2014-10-01  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c: Remove miscellaneous type casts.
-
-2014-10-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Use more common `FT_MSB' implementation with masks.
-
-	* src/base/ftcalc.c (FT_MSB): Updated.
-
-2014-09-30  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Clean up.
-
-	* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used
-	code.
-
-2014-09-25  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Avoid unnecessary long division.
-
-	This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or
-	lack thereof are predicted accurately.
-
-	* src/base/ftcalc.c (ft_div64by32): Improve readability.
-	(FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division
-	when multiplication stayed within 32 bits.
-
-2014-09-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor clean-ups.
-
-	* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points,
-	af_glyph_hints_align_strong_points): Updated.
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments,
-	af_latin_hints_compute_segments), src/autofit/afcjk.c
-	(af_cjk_hints_link_segments), src/autofit/aflatin2.c
-	(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
-	There are no longer fake segments since more than 10 years...
-
-2014-09-22  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor code streamlining.
-
-	* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
-	initialization.
-
-2014-09-19  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c: Harmonize code.
-
-2014-09-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Tighten the overflow check in `FT_MulDiv'.
-
-	* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
-
-2014-09-08  Alexei Podtelezhnikov  <[email protected]>
-
-	Fix Savannah bug #43153.
-
-	* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
-	overflow in `divider'.
-
-2014-09-03  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Tighten the overflow check in `FT_DivFix'.
-
-	This fixes a 13-year old bug. The original overflow check should have
-	been updated when rounding was introduced into this function
-	(c2cd00443b).
-
-	* src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated.
-	* include/freetype.h (FT_DivFix): Updated documentation.
-
-2014-09-03  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Tighten the overflow check in `FT_MulFix'.
-
-	* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
-
-2014-09-02  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Shortcut ppem calculations for square pixels.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): New field
-	`cur_ppem_func' with a function pointer.
-	* src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func'
-	depending on the pixel geometry to either...
-	(Current_Ppem_Stretched): ... this for stretched pixels.
-	(Current_Ppem): ... or this for square pixels.
-	(DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
-
-2014-08-31  Behdad Esfahbod  <[email protected]>
-
-	Don't use `register' keyword.  Fixes compiler warnings.
-
-	* src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it.
-	* src/gzip/inftrees.c (huft_build): Ditto.
-	* src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
-
-2014-08-24  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Optimize DELTAP and DELTAC.
-
-	* src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem
-	calculations outside of the loop.
-
-2014-08-21  Alexei Podtelezhnikov  <[email protected]>
-
-	Fix Savannah bug #43033.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when
-	64-bit type is `long'.
-
-2014-08-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Small optimization of `FT_MulFix'.
-
-	* src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct
-	32-bit calculations.
-
-2014-08-19  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Use unsigned calculation in `FT_MulDiv'.
-
-	* src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range.
-
-2014-08-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Remove truncation in `FT_DivFix'.
-
-	* src/base/ftcalc.c (FT_DivFix): Updated.
-
-2014-08-14  Alexei Podtelezhnikov  <[email protected]>
-
-	Minor refactoring.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
-
-2014-08-14  Alexei Podtelezhnikov  <[email protected]>
-
-	Turn FT_MSB into a macro when using gcc builtins.
-
-	* src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
-
-2014-08-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Avoid undefined FT_MSB in `BBox_Cubic_Check'.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Update.
-	(update_cubic_max): Replace with...
-	(cubic_peak): ... this, which now handles upscaling.
-
-2014-08-11  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Handle collapsed outlines to avoid undefined FT_MSB.
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
-
-2014-08-11  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Restore FT_MulFix inlining.
-
-	* include/freetype.h (FT_MulFix): Unconditionally defined.
-
-	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here...
-
-	* include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here,
-	which conditionally replaces the function with an inline version
-	through the macro.
-
-2014-08-08  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
-
-2014-07-26  Werner Lemberg  <[email protected]>
-
-	[cff] Fix typo.
-
-	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct
-	offsets in third quadrant.
-
-	Reported by maks <[email protected]>.
-
-2014-07-17  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #42788.
-
-	* src/pfr/pfrobjs.c: Include `ftcalc.h'.
-
-2014-07-16  Alexei Podtelezhnikov  <[email protected]>
-
-	Replace `ft_highpow2' function.
-
-	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of
-	`ft_highpow2'.
-
-	* src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove
-	it.
-
-2014-07-15  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
-
-2014-07-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Move assembler code back in the source file.
-
-	FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here...
-
-	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
-
-2014-07-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Further clean up color bitmap conversion.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop
-	using FT_MulFix and FT_DivFix since all calculations fit into 32 bits.
-
-2014-07-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve handling of buggy `prep' tables.
-
-	In case of an error in the `prep' table, no longer try to execute it
-	again and again.  This makes FreeType handle endless loops in buggy
-	fonts much faster.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready'
-	and `cvt_ready' are now negative if not initialized yet, otherwise
-	they indicate the error code of the last run.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
-	tt_size_done_bytecode, tt_size_init_bytecode,
-	tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset):
-	Updated.
-
-	* src/truetype/ttgload.c (tt_loader_init): Updated.
-	* src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm'
-	and `prep' only if we are in the `glyf' table.
-
-2014-07-12  Werner Lemberg  <[email protected]>
-
-	* builds/vms/ftconfig.h: Synchronize.
-	Problem reported by Alexei.
-
-2014-07-11  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Clean up bitmap conversion.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
-	appropriate FT_DivFix and remove superfluous upscaling.
-
-2014-07-04  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Small optimization of the ancient code.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the
-	condition for direct 32-bit calculations.
-
-2014-06-27  Werner Lemberg  <[email protected]>
-
-	Fix Apple standard glyph names.
-
-	* src/sfnt/ttpost.c (tt_post_default_names): Synchronize with
-	`tools/glnames.py'
-
-	Problem reported by Adam Twardoch <[email protected]>.
-
-2014-06-17  Werner Lemberg  <[email protected]>
-
-	Partially revert commit from 2014-06-13.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Move
-	declaration of `p_first' and `p_last' out of the loop.
-
-2014-06-17  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/.
-
-	This simplifies cross-compiling.
-
-2014-06-13  Werner Lemberg  <[email protected]>
-
-	Fix more compiler warnings.
-	Reported by Wojciech Mamrak <[email protected]>.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Make integer constant unsigned.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	<TT_SBIT_TABLE_TYPE_SBIX>: Fix types.
-	(tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper
-	casts.
-
-2014-06-13  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-	Reported by Wojciech Mamrak <[email protected]>.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage),
-	src/autofit/afmodule.c (af_property_set): Fix `signed' vs.
-	`unsigned' issues.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler
-	happy.
-
-	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements
-	for `fir'.
-	Fix `signed' vs. `unsigned' issues.
-
-	* src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused.
-	(WRITE_USHORT, WRITE_ULONG): Add proper casts.
-
-	* src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts.
-
-	* src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1'
-	and `B2'.
-
-2014-05-16  Alexey Petruchik  <[email protected]>
-
-	[cmake] Add option to build OS X framework.
-
-	* CMakeLists.txt: Update accordingly.
-
-	* builds/mac/freetype-Info.plist: New file.
-
-2014-05-13  Pavel Koshevoy  <[email protected]>
-
-	* CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
-
-2014-05-11  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix variable initializations.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Assign default
-	values to `in_dir' and `out_dir' for all points.
-
-2014-05-11  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix crash with font `CabinSketch-Bold.ttf'.
-
-	Problem reported by Ralf S. Engelschall <[email protected]>.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for
-	finding first non-near point.
-	Properly initialize non-near point deltas.
-
-2014-05-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Devanagari.
-
-	This essentially moves the Devanagari script from the `Indic' hinter
-	to the `Latin' hinter.  Thanks to Girish Dalvi
-	<[email protected]> for guidance with blue zone characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Devanagari.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Devanagari standard characters and
-	move data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Devanagari data out of
-	AF_CONFIG_OPTION_INDIC block.
-	Move U+20B9, (new) Rupee sign, from Latin to Devanagari.
-
-	* src/autofit/afstyles.h: Update Devanagari data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2014-05-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix handling of neutral blue zones in stems.
-
-	* src/autofit/afhints.h (AF_Edge_Flags): New value
-	`AF_EDGE_NEUTRAL'.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace
-	neutral blue zones with AF_EDGE_NEUTRAL.
-	(af_latin_hint_edges): Skip neutral blue zones if necessary.
-
-2014-04-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce neutral blue zones to the latin module.
-
-	Such blue zones match either the top or the bottom of a contour.  We
-	need them for scripts where accent-like elements directly touch the
-	base character (for example, some vowel signs in Devanagari, cf.
-	U+0913 or U+0914).
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New
-	property.
-
-	* src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro.
-	(AF_LATIN_BLUE_NEUTRAL): New enumeration value.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
-	af_latin_hints_compute_blue_edges): Handle neutral blue zones.
-
-2014-04-25  Werner Lemberg  <[email protected]>
-
-	* src/autofit/hbshim.c: Partially revert commit from 2014-04-17.
-
-	Using input glyph coverage data is simply wrong.
-
-	Problem reported by Nikolaus Waxweiler <[email protected]> and
-	Mantas Mikulėnas <[email protected]>.
-
-2014-04-23  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode.
-
-	This spot has been missed while introducing support for various
-	drop-out modes years ago (including no drop-out mode, which this
-	commit fixes).
-
-	Problem reported by Patrick Thomas <[email protected]>.
-
-2014-04-22  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
-
-2014-04-20  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix Savannah bug #42148.
-
-	The adaptation of the cjk auto-hinter module to blue stringsets in
-	2013-08-25 had three severe bugs.  Mea culpa.
-
-	1. Contrary to the latin auto-hinter, characters for reference and
-	   overshoot values of a blue zone are specified separately.  Due to
-	   the screwed-up change it didn't work at all.
-
-	2. A boolean comparison was erroneously replaced with a cast,
-	   causing invalid results with the `^' operator later on.  The
-	   visual artifact caused by this problem is the topic of the bug
-	   report.
-
-	3. Two flag values were inverted, causing incorrect assignment of
-	   reference and overshoot values.
-
-	* src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new
-	syntax to have both reference and overshoot characters in a single
-	string.  This is error #1.
-	Add extensive comments.
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no
-	longer used.
-	(AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values.
-	This is error #3.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1.
-	Use character `|' to separate characters for reference and overshoot
-	values.
-	Improve tracing messages, synchronizing them with the latin
-	auto-hinter.
-	(af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'.
-	This is error #2.
-	(af_cjk_align_linked_edge): Add tracing message.
-
-	* src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer
-	used.
-
-2014-04-17  Werner Lemberg  <[email protected]>
-
-	[autofit] More coverage fixes for complex scripts.
-
-	* src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage
-	of GSUB lookups into output coverage.  Otherwise, ligatures are not
-	handled properly.
-	Don't check blue zone characters for default coverage.
-
-2014-04-17  Werner Lemberg  <[email protected]>
-
-	Make `FT_Get_SubGlyph_Info' actually work.
-
-	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok
-	if there is no error.
-
-2014-04-15  Werner Lemberg  <[email protected]>
-
-	[afblue.pl]: Minor improvements.
-
-	* src/tools/afblue.pl: Allow whitespace before comments.
-	Ignore whitespace in strings.
-
-2014-04-14  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve coverage handling.
-
-	* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
-	appearing in the GPOS table if we are processing the default
-	coverage.
-
-2014-04-13  David Weber  <[email protected]>
-
-	[smooth] Fix stand-alone compilation.
-
-	* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
-
-2014-04-12  Werner Lemberg  <[email protected]>
-
-	[autofit] Redesign the recognition algorithm of strong points.
-
-	In particular, local extrema without horizontal or vertical segments
-	are better recognized:
-
-	  + A                + D
-	   \                /
-	    \              /
-	     \            /
-	      \          /
-	       \        + C
-	        \    /
-	       B +/
-
-	If the distances AB and CD are large, point B wasn't previously
-	detected as an extremum since the `ft_corner_is_flat' function
-	`swallowed' BC regardless of its direction, tagging point B as weak.
-	The next iteration started at B and made `ft_corner_is_flat' swallow
-	point C, tagging it as weak also, et voilà.
-
-	To improve that, another pass gets now performed before calling
-	`ft_corner_is_flat' to improve the `topology' of an outline: A
-	sequence of non-horizontal or non-vertical vectors that point into
-	the same quadrant are handled as a single, large vector.
-
-	Additionally, distances of near points are now accumulated, which
-	makes the auto-hinter handle them as if they were prepended to the
-	next non-near vector.
-
-	This generally improves the auto-hinter's rendering results.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.
-
-	* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
-	`AF_FLAG_NEAR'.
-
-2014-04-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve scoring algorithm for identifying stems.
-
-	Problem reported by Karsten Lücke <[email protected]>.
-
-	The new algorithm takes care of the width of stems: If the distance
-	between two segments is larger than the largest stem width, the
-	demerits quickly increase for larger distances.  This improves
-	hinting of slanted fonts (especially if the inner parts of serifs
-	have non-horizontal `shoulders'), avoiding false stem links.
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments): Use largest
-	stem width (if available) to compute better demerits for distances
-	between stems.
-	(af_latin_hints_detect_features): Pass stem width array and array
-	size.
-	(af_latin_metrics_init_widths): Updated to use original algorithm.
-	(af_latin_hints_apply): Updated to use new algorithm.
-
-	* src/autofit/aflatin.h: Updated.
-	* src/autofit/afcjk.c: Updated.
-
-2014-04-03  Werner Lemberg  <[email protected]>
-
-	Don't require `gzip' module for `sfnt'.
-
-	Reported by Preet <[email protected]>.
-
-	* src/sfnt/sfobjs.c (woff_open_font): Guard use of
-	FT_Gzip_Uncompress with FT_CONFIG_OPTION_USE_ZLIB.
-
-2014-03-27  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38235.
-
-	Work around a bug in pkg-config version 0.28 and earlier: If a
-	variable value gets surrounded by doublequotes (in particular values
-	for the `prefix' variable), the prefix override mechanism fails.
-
-	* builds/unix/freetype2.in: Don't use doublequotes.
-	* builds/unix/unix-def.in (freetype.pc): Escape spaces in directory
-	names with backslashes.
-
-2014-03-24  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41946.
-
-	Based on a patch from Marek Kašík <[email protected]>.
-
-	* builds/unix/configure.raw (LIBS_CONFIG): Remove.
-	* builds/unix/freetype-config.in (libs): Hard-code value.
-	* builds/unix/unix-def.in: Updated.
-
-2014-03-22  Werner Lemberg  <[email protected]>
-
-	Another revert for the change from 2014-03-18.
-
-	Problem reported by Nikolaus Waxweiler <[email protected]>.
-
-	* src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol
-	gets always exported.
-
-2014-03-20  Werner Lemberg  <[email protected]>
-
-	CMakeLists.txt: Another fix for include directories.
-
-	Problem reported by Taylor Holberton <[email protected]>.
-
-2014-03-19  Werner Lemberg  <[email protected]>
-
-	CMakeLists.txt: Fix include directories.
-
-	Problem reported by Taylor Holberton <[email protected]>.
-
-2014-03-19  Werner Lemberg  <[email protected]>
-
-	Partially revert last commit.
-
-	Found by Alexei.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initializing
-	those variables is plain wrong, since we are in a loop.
-
-2014-03-18  Sean McBride  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	Fix clang warnings.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
-	some variables.
-
-	* src/base/ftcalc.c (FT_MulFix): Only use code if
-	`FT_MULFIX_INLINED' is not defined.
-
-	* src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c
-	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
-	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class),
-	src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c
-	(ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c
-	(pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make
-	function static.
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant
-	code.
-
-2014-03-17  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41869.
-
-	This works around a problem with HarfBuzz (<= 0.9.26), which doesn't
-	validate glyph indices returned by
-	`hb_ot_layout_lookup_collect_glyphs'.
-
-	* src/autofit/hbshim.c (af_get_coverage): Guard `idx'.
-
-	* docs/CHANGES: Updated.
-
-2014-03-14  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.raw: Don't show error messages of `which'.
-
-2014-03-09  Alan Coopersmith  <[email protected]>
-
-	Fix cppcheck 1.64 warning.
-
-	* src/autofit/afglobal.c (af_face_globals_new): Catch NULL pointer
-	dereference in case of error.
-
-2014-03-09  Sean McBride  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove clang warning.
-
-2014-03-06  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.3 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-3'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.3.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.2/2.5.3/, s/252/253/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-	* builds/unix/configure.raw (version_info): Set to 17:2:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 3.
-	* docs/CHANGES: Updated.
-
-2014-03-06  Werner Lemberg  <[email protected]>
-
-	Fixes for compilation with C++.
-
-	* src/autofit/hbshim.c (scripts): Change type to `hb_script_t'.
-	(af_get_coverage): Updated.
-	(COVERAGE): Add cast.
-
-2014-03-06  Sean McBride  <[email protected]>
-
-	Remove more clang analyzer warnings.
-
-	* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
-	(TT_Load_Glyph): Remove dead stores.
-
-2014-03-05  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.raw: Simplify.
-
-2014-03-05  suzuki toshiya  <[email protected]>
-
-	Fix a bug in configure in library dependency setting
-	Reported in https://bugs.freedesktop.org/show_bug.cgi?id=75652.
-
-	* builds/unix/configure.raw: Use `x"${xxx}" != xno' style.
-
-2014-03-04  Werner Lemberg  <[email protected]>
-
-	Minor fix for `make devel'.
-
-	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Don't use
-	pkg-config for bzip2 since not all GNU/Linux distributions have
-	`bzip2.pc' (and the header file `bzlib.h' is located in /usr/include
-	normally).
-
-2014-03-04  Sean McBride  <[email protected]>
-
-	Fix several clang static analyzer dead store warnings.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload,
-	af_glyph_hints_align_weak_points): Remove unnecessary assignments.
-
-	* src/bdf/bdflib.c (bdf_font_load): Ditto.
-
-	* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
-	psh_glyph_interpolate_other_points): Ditto.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
-
-2014-03-03  Werner Lemberg  <[email protected]>
-
-	Rewrite library option handling in `configure'.
-
-	o Introduce `auto' value for `--with-XXX' library options; this is
-	  now the default.
-
-	o First use `pkg-config' for library detection, then fall back to
-	  other tests.
-
-	* builds/unix/configure.raw (--with-zlib, --with-bzip2, --with-png,
-	--with-harfbuzz): Rewrite.
-	Use new `xxx_reqpriv', `xxx_libpriv', and `xxx_libstaticconf'
-	variables to collect data for `freetype2.pc' and `freetype-config'.
-	(FT2_EXTRA_LIBS): Renamed to ...
-	(ft2_extra_libs): This since it gets no longer substituted.
-	(REQUIRES_PRIVATE, LIBS_PRIVATE, LIBS_CONFIG, LIBSSTATIC_CONFIG):
-	New output variables, replacing `XXX_PKG' and `LIBXXX'.
-	Add notice at the end of `configure' showing the library
-	configuration.
-
-	* builds/unix/freetype-config.in (--static): New command line
-	option.
-	(libs): Updated.
-	(staticlibs): New variable, to be used if `--static' is given.
-	* docs/freetype-config.1: Document `--static'.
-
-	* builds/unix/freetype2.in, builds/unix/unix-def.in: Updated.
-
-2014-03-01  Werner Lemberg  <[email protected]>
-
-	Avoid `long long' warnings with older gcc compilers.
-	Problem reported by Hin-Tak Leung <[email protected]>.
-
-	* builds/unix/configure.raw: Don't use gcc's `-pedantic' flag for
-	versions < 4.6.  This is especially needed for Max OS X since this
-	OS runs a gcc variant (or emulation) based on version 4.2.1.
-
-2014-03-01  Werner Lemberg  <[email protected]>
-
-	* docs/INSTALL.CROSS: Revised and updated.
-
-2014-03-01  Werner Lemberg  <[email protected]>
-
-	Make `make clean' remove `freetype2.pc'.
-
-	This is a generated file at build time, not configure time.
-
-	* builds/unix/unix-def.in (DISTCLEAN): Move `freetype2.pc' to ...
-	(CLEAN): This variable.
-
-2014-03-01  Werner Lemberg  <[email protected]>
-
-	Use pkg-config for detecting libpng and libbz2 also.
-
-	* builds/unix/configure.raw (HAVE_PKG): New variable.
-	Search for libbz2 using `pkg-config'; s/BZ2/BZIP2/.
-	Search for libpng using `pkg-config'.
-	Fix definition of `LIBHARFBUZZ' variable.
-	* builds/unix/freetype-config.in ($libs): Updated.
-	* builds/unix/freetype2.in: Add `URL' field.
-	Update `Requires.private' and `Libs.private'.
-	* builds/unix/unix-def.in: Updated.
-
-2014-03-01  Werner Lemberg  <[email protected]>
-
-	Add configure support for HarfBuzz.
-
-	* builds/unix/pkg.m4: New file.
-	* builds/unix/configure.raw: Search for libharfbuzz using
-	`pkg-config'.
-	Add `--without-harfbuzz' option.
-	* builds/unix/freetype-config.in, builds/unix/freetype2.in,
-	builds/unix/unix-def.in (freetype-config, freetype2.pc): Handle
-	HarfBuzz.
-
-	* docs/INSTALL.UNIX: Document interdependency of FreeType with
-	HarfBuzz.
-
-2014-02-28  Alexei Podtelezhnikov  <[email protected]>
-
-	[cff] Math simplifications.
-
-	* src/cf2blues.c (cf2_blues_init): Use `FT_MulDiv'.
-	* src/cf2ft.c (cf2_getScaleAndHintFlag): Use simple division.
-
-2014-02-28  Dave Arnold  <[email protected]>
-
-	[cff] Fix Savannah bug #41697, part 2.
-
-	* src/cff/cf2ft.c (cf2_initLocalRegionBuffer,
-	cf2_initGlobalRegionBuffer): It is possible for a charstring to call
-	a subroutine if no subroutines exist.  This is an error but should
-	not trigger an assert.  Split the assert to account for this.
-
-2014-02-28  Dave Arnold  <[email protected]>
-
-	[cff] Fix Savannah bug #41697, part 1.
-
-	* src/cff/cf2hints.c (cf2_hintmap_build): Return when `hintMask' is
-	invalid.  In this case, it is not safe to use the length of
-	`hStemHintArray'; the exception has already been recorded in
-	`hintMask'.
-
-2014-02-26  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #41696.
-
-	* src/sfnt/ttcmap.c (tt_cmap0_validate, tt_cmap2_validate,
-	tt_cmap4_validate, tt_cmap14_validate): Fix limit tests.
-
-2014-02-26  Werner Lemberg  <[email protected]>
-
-	[winfnt] Fix Savannah bug #41694.
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Check glyph offset.
-
-2014-02-26  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #41693.
-
-	* src/cff/cffload.c (CFF_Load_FD_Select): Reject empty array.
-
-2014-02-26  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix Savannah bug #41692.
-
-	bdflib puts data from the input stream into a buffer in chunks of
-	1024 bytes.  The data itself gets then parsed line by line, simply
-	increasing the current pointer into the buffer; if the search for
-	the final newline character exceeds the buffer size, more data gets
-	read.
-
-	However, in case the current line's end is very near to the buffer
-	end, and the keyword to compare with is longer than the current
-	line's length, an out-of-bounds read might happen since `memcmp'
-	doesn't stop properly at the string end.
-
-	* src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
-	stop at string ends.
-
-2014-02-17  suzuki toshiya  <[email protected]>
-
-	[autofit] Fix `make multi' compilation.
-
-	* src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
-
-2014-02-19  Werner Lemberg  <[email protected]>
-	    Simon Bünzli  <[email protected]>
-
-	Fix Savannah bug #32902.
-
-	Patch taken from
-
-	  https://code.google.com/p/sumatrapdf/source/browse/trunk/ext/_patches/freetype2.patch?spec=svn8620&r=8620#87
-
-	with slight modifications.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Add heuristic test to
-	handle fonts that incorrectly use \r at the beginning of an eexec
-	block.
-
-2014-02-19  Simon Bünzli  <[email protected]>
-
-	Fix Savannah bug #41590.
-
-	* src/type1/t1load.c (parse_encoding): Protect against invalid
-	number.
-
-2014-02-12  Dave Arnold  <[email protected]>
-
-	[cff] Optimize by using `FT_MulDiv'.
-	Suggested by Alexei.
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Do it.
-
-2014-02-12  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41465.
-
-	* builds/unix/unix-def.in (CLEAN): Add `freetype-config'.
-	(DISTCLEAN): Remove `freetype-config'.
-
-2014-02-08  Sean McBride  <[email protected]>
-
-	Fix clang static analyzer and compiler warnings.
-
-	* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
-	src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
-	src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
-	(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
-	src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
-	(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
-	src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
-	(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
-	tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
-	code.
-
-	* src/autofit/afmodule.c (af_property_get_face_globals,
-	af_property_set, af_property_get), src/base/ftbitmap.c
-	(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
-
-	* src/base/ftobjs.c (ft_remove_renderer): Protect against
-	library == NULL.
-	(ft_property_do): Make function static.
-
-	* src/base/ftrfork.c: Include `ftbase.h'.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
-	[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
-	(T1_Compute_Max_Advance): Avoid compiler warning.
-
-	* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
-	variable.
-
-2014-02-08  Werner Lemberg  <[email protected]>
-
-	Fix Windows build directories.
-
-	The build target is now `windows' instead of `win32'.
-
-	Problem reported by Nickolas George <[email protected]>.
-
-	* builds/modules.mk: Don't use `win32' and `win16' (!) but
-	`windows'.
-
-	* builds/windows/detect.mk, builds/windows/win32-def.mk:
-	s/win32/windows/.
-
-2014-02-08  Eugen Sawin  <[email protected]>
-
-	Fix Savannah bug #41507.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap)
-	[!FT_CONFIG_OPTION_USE_PNG] <17, 17, 19>: Fix error handling.
-
-2014-02-08  Dave Arnold  <[email protected]>
-
-	[cff] Fix minor performance bug.
-
-	* src/cff/cf2font.c (cf2_font_setup): Darkening amount and blue zone
-	calculations are now cached and not recomputed on each glyph.
-
-2014-02-05  Werner Lemberg  <[email protected]>
-
-	Fix problems with perl 5.8.8 as distributed with current MinGW.
-
-	* src/tools/afblue.pl: Work-around for Perl bug #63402.
-	(string_re): Avoid `possessive quantifiers', which have been
-	introduced in Perl version 5.10.
-
-2014-02-04  Werner Lemberg  <[email protected]>
-
-	Fix compilation with MinGW.
-
-	Right now, compilation out of the box with latest MinGW is broken
-	due to bugs in header files of mingwrt 4.0.3 in strict ANSI mode,
-	cf.
-
-	  https://sourceforge.net/p/mingw/bugs/2024/
-	  https://sourceforge.net/p/mingw/bugs/2046/
-
-	* builds/unix/configure.raw: Don't set `-ansi' flag for MinGW.
-
-2014-02-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor fix.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
-	of alternative standard characters.
-	This also fixes a compilation warning in non-debug mode.
-
-2014-02-03  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #41363.
-
-	* src/cff/cf2ft.c (cf2_checkTransform): Convert assertion into
-	parameter check.
-	(cf2_decoder_parse_charstrings): Call `cf2_checkTransform' only if
-	we are scaling the outline.
-	(cf2_getPpemY): Remove problematic assertion.
-
-2014-01-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce two more slots for standard characters.
-
-	This is useful for OpenType features like `c2sc' (caps to small
-	caps) that don't have lowercase letters by definition, or other
-	features that mainly operate on numerals.
-
-	* src/autofit/afscript.h: Add more standard characters.
-
-	* src/autofit/aftypes.h: Update use of `SCRIPT' macro.
-	(AF_ScriptClassRec): Add members to hold two more standard
-	characters.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/afglobal.c, src/autofit/afglobal.h,
-	* src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/hbshim.c:
-	Update use of `SCRIPT' macro.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Scan two more
-	standard characters.
-
-2014-01-24  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41320.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues)
-	<AF_LATIN_IS_LONG_BLUE>: Avoid negative index of `last'.
-
-2014-01-23  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41310.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap) <glyph_format==5>:
-	Don't check metrics, which this format doesn't have.
-	This is another correction to the commit from 2013-11-21.
-
-2014-01-23  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41309.
-
-	* src/type1/t1load.c (t1_parse_font_matrix): Properly handle result
-	of `T1_ToFixedArray'.
-
-	* src/cid/cidload.c (cid_parse_font_matrix): Synchronize with
-	`t1_parse_font_matrix'.
-
-	* src/type42/t42parse.c (t42_parse_font_matrix): Synchronize with
-	`t1_parse_font_matrix'.
-	(t42_parse_encoding): Synchronize with `t1_parse_encoding'.
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>,
-	<T1_FIELD_TYPE_MMOX>: Properly handle result of `ps_tofixedarray'.
-
-2014-01-22  Werner Lemberg  <[email protected]>
-
-	* src/autofit/hbshim.c (af_get_coverage): Fix memory leaks.
-
-2014-01-16  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing of style coverages.
-
-	* include/internal/fttrace.h: Add `afglobal' for tracing style
-	coverages.
-
-	* src/autofit/afglobal.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_COMPONENT): Define.
-	(af_face_globals_compute_style_coverage): Trace `gstyles' array
-	data.
-
-2014-01-09  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #41158.
-
-	* builds/unix/install.mk (install): Create man page directory.
-
-2014-01-08  Chongyu Zhu  <[email protected]>
-
-	[arm] Fix Savannah bug #41138, part 2.
-
-	* builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h
-	(FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix
-	preprocessor conditionals for `add.w'.
-
-2014-01-08  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix Savannah bug #41138, part 1.
-
-	* src/tools/afblue.pl <Handling #endif>: Produce correct auxiliary
-	enumeration names for generated `#else'.
-
-	* src/autofit/afblue.h: Regenerated.
-
-2014-01-06  Werner Lemberg  <[email protected]>
-
-	Add manual page for `freetype-config'.
-	Contributed by Nis Martensen <[email protected]>.
-
-	* docs/freetype-config.1: New file.
-
-	* builds/unix/unix-def.in (mandir): Define.
-	* builds/unix/install.mk (install, uninstall): Handle manpage.
-
-2014-01-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor fixes for `afblue.pl'.
-
-	* src/tools/afblue.pl (aux_name): Don't use `reverse'.
-	<Handling #endif>: Use proper indentation for generated `#else'.
-
-	* src/autofit/afblue.h: Regenerated.
-
-2014-01-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix Indic scripts.
-
-	Split the single, incorrect Indic entry into separate scripts so
-	that the covered ranges are the same: Bengali, Devanagari, Gujarati,
-	Gurmukhi, Kannada, Limbu, Malayalam, Oriya, Sinhala, Sundanese,
-	Syloti Nagri, Tamil, Telugu, and Tibetan.  At the same time, remove
-	entries for Meetei Mayek and Sharada – the Unicode ranges were
-	incorrect (and nobody has complained about that), fonts are scarce
-	for those scripts, and the Indic auto-hinter support is rudimentary
-	anyways.
-
-	* src/autofit/afscript.h: Updated, using AF_CONFIG_OPTION_INDIC and
-	AF_CONFIG_OPTION_CJK.
-
-	* src/autofit/afstyles.h (STYLE_DEFAULT_INDIC): New auxiliary macro.
-	Use it, together with AF_CONFIG_OPTION_INDIC and
-	AF_CONFIG_OPTION_CJK, to update.
-
-	* src/autofit/afranges.c [AF_CONFIG_OPTION_INDIC]: Updated.
-	[!AF_CONFIG_OPTION_INDIC, !AF_CONFIG_OPTION_CJK]: Removed.
-	Sort entries by tags.
-
-2014-01-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Thinko.
-
-	* src/autofit/hbshim.c (af_get_char_index): Similar to
-	`af_get_coverage', reject glyphs which are not substituted.
-
-2014-01-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix handling of default coverages.
-
-	With this commit, the implementation of coverage handling is
-	completed.
-
-	* src/autofit/hbshim.c (af_get_coverage): Exit early if nothing to
-	do.
-	Reject coverages which don't contain appropriate glyphs for blue
-	zones.
-
-2014-01-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix handling of default coverages.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	First handle non-default coverages, then the default coverage of the
-	default script, and finally the other default coverages.
-
-2014-01-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix scaling of HarfBuzz shaping.
-
-	* src/autofit/hbshim.c (af_get_char_index): Scale to units per EM.
-
-2014-01-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Better ftgrid support.
-
-	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
-	parameters `is_blue' and `blue_offset'.
-
-2014-01-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Remove some styles.
-
-	* src/autofit/afcover.h: Remove coverages for alternative fractions,
-	denominators, numerators, and fractions.
-
-	* src/autofit/afstyles.h (META_STYLE_LATIN): Updated.
-
-2014-01-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Add more styles.
-
-	* src/autofit/afstyles.h (STYLE_LATIN, META_STYLE_LATIN): New
-	auxiliary macros; use them to define styles for Cyrillic, Greek, and
-	Latin.
-
-	* src/autofit/afcover.h: Remove coverage for oldstyle figures.
-	Since those digits are used in combination with ordinary letters, it
-	makes no sense to handle them separately.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Don't limit
-	`options' parameter to 4 bits.
-
-2014-01-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix style assignments to glyphs.
-
-	* src/autofit/hbshim.c (af_get_coverage)
-	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Scan GPOS coverage of features also
-	so that we can skip glyphs that have both GSUB and GPOS data.
-
-2014-01-01  Werner Lemberg  <[email protected]>
-
-	* src/autofit/hbshim.c: s/{lookups,glyphs}/gsub_{lookups,glyphs}/.
-
-2014-01-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Implement and use `af_get_char_index' with HarfBuzz.
-
-	* src/autofit/hbshim.c (COVERAGE) [FT_CONFIG_OPTION_USE_HARFBUZZ]:
-	Redefine to construct HarfBuzz features.
-	(af_get_char_index) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Rewritten.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Use
-	`y_offset' to adjust `best_y'.
-
-2013-12-31  Werner Lemberg  <[email protected]>
-
-	[autofit] s/AF_STYLE_...._DEFAULT/AF_STYLE_...._DFLT/i.
-
-2013-12-31  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix interface of `af_get_char_index'.
-
-	* src/autofit/hbshim.c (af_get_char_index): Return error value.
-	Add argument for y offset (to be used in a yet-to-come patch).
-
-	* src/autofit/hbshim.h, src/autofit/afcjk.c,
-	src/autofit/aflatin.c: Updated.
-
-2013-12-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Don't combine multiple features into one set.
-
-	Combining them, as originally envisioned, would lead to much more
-	complicated code, as investigations have shown meanwhile.  The major
-	drawback is that we run out of available style slots much earlier.
-	However, this is only a theoretical issue since we don't support a
-	large number of scripts currently.
-
-	* src/autofit/afcover.h: Replace `COVERAGE_{1,2,3}' macros with
-	a single-element `COVERAGE' macro, sort the elements by the feature
-	tags, and add entry for `ruby'.
-
-	* src/autofit/aftypes.h: Updated.
-	* src/autofit/hbshim.c: Updated.
-
-2013-12-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Code shuffling to reduce use of cpp macros.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Call `af_get_coverage' unconditionally.
-
-	* src/autofit/autofit.c: Include `hbshim.c' unconditionally.
-
-	* src/autofit/hbshim.c (af_get_coverage)
-	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Provide dummy function.
-
-	* src/autofit/hbshim.h: Provide function declarations
-	unconditionally.
-
-2013-12-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Add wrapper function for `FT_Get_Char_Index'.
-
-	Yet-to-come changes will provide HarfBuzz functionality for the new
-	function.
-
-	* src/autofit/hbshim.c (af_get_char_index): New function.
-	* src/autofit/hbshim.h: Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
-	Updated.
-
-2013-12-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Use `global' HarfBuzz font object.
-
-	We now use `hb_font' instead of `hb_face' since yet-to-come changes
-	need this.
-
-	* src/autofit/afglobal.h: Include `hbshim.h'.
-	(AF_FaceGlobalsRec) [FT_CONFIG_OPTION_USE_HARFBUZZ]: New member
-	`hb_font'.
-
-	* src/autofit/afglobal.c (af_face_globals_new)
-	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Create `hb_font'.
-	(af_face_globals_free) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Destroy
-	`hb_font'.
-
-	* src/autofit/hbshim.h: Include HarfBuzz headers.
-
-	* src/autofit/hbshim.c: Include `hbshim.h' instead of HarfBuzz
-	headers.
-	(af_get_coverage): Updated.
-
-2013-12-27  Werner Lemberg  <[email protected]>
-
-	[autofit] Handle `DFLT' OpenType script for coverages.
-
-	* include/ftautoh.h: Document new `default-script' property.
-
-	* src/autofit/hbshim.c (af_get_coverage): Use `AF_FaceGlobals' for
-	type of first parameter.
-	(script_tags): Add one more element.
-	(af_get_coverage): Adjust `script_tags' to handle `DFLT' script tag.
-
-	* src/autofit/hbshim.h: Updated.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Updated.
-
-	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT): New macro.
-
-	* src/autofit/afmodule.h (AF_ModuleRec): New `default_script'
-	member.
-
-	* src/autofit/afmodule.c (af_property_set, af_property_get): Handle
-	`default-script' property.
-	(af_autofitter_init): Updated.
-
-2013-12-27  suzuki toshiya  <[email protected]>
-
-	[ftrfork] Fix the face order difference between POSIX and Carbon.
-
-	The fragmented resources in Suitcase and .dfont should be reordered
-	when `POST' resource for Type1 is being restored, but reordering of
-	sfnt resources induces the different face order.  Now the ordering
-	is restricted to `POST' resource only, to prevent the different
-	order issue (e.g. the face index in the fontconfig cache generated
-	with Carbon framework is incompatible with that by FreeType 2
-	without Carbon framework.)  Found by Khaled Hosny and Hin-Tak Leung.
-
-	https://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
-	https://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
-
-	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
-	`sort_by_res_id' to control the fragmented resource ordering.
-	* include/internal/ftrfork.h: Declare new switch.
-	* src/base/ftobjs.c (IsMacResource): Enable the sorting for `POST'
-	resource, and disable the sorting for `sfnt' resource.
-
-2013-12-25  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #40997.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Only use OR operator to
-	adjust face flags since FT_FACE_FLAG_EXTERNAL_STREAM might already
-	be set.
-	* src/cff/cffobjs.c (cff_face_init): Ditto.
-	* src/cid/cidobjs.c (cid_face_init): Ditto.
-	* src/pcf/pcfread.c (pcf_load_font): Ditto.
-	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
-	* src/type1/t1objs.c (T1_Face_Init): Ditto.
-	* src/type42/t42objs.c (T42_Face_Init): Ditto.
-	* src/winfonts/winfnt.c (FNT_Face_Init): Ditto.
-
-2013-12-21  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce `coverages'.
-
-	Coverages are the interface to the HarfBuzz library to access
-	OpenType features for handling glyphs not addressable by the cmap.
-
-	Right now, compilation of HarfBuzz is only added to the development
-	build.  A solution for standard build mode will be delayed until
-	HarfBuzz gets split into two libraries to avoid mutual dependencies
-	between FreeType and HarfBuzz.
-
-	Note that this is only a first step in handling coverages, basically
-	providing the framework only.  Code for handling selected OpenType
-	features (this is, actually using the data in `afcover.h') will
-	follow.
-
-	* devel/ftoption.h, include/config/ftoption.h
-	(FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
-
-	* src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
-	New files.
-
-	* src/autofit/afscript.h: Add HarfBuzz script name tags.
-
-	* src/autofit/afstyles.h: Add default coverage enumeration values.
-
-	* src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
-	(AF_Coverage): New enumeration (generated by `afcover.h').
-	(AF_StyleClassRec): New member `coverage'.
-	(AF_DEFINE_STYLE_CLASS): Updated.
-
-	* include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
-	data.
-
-	* src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
-	(AF_SCRIPT_FALLBACK): Renamed to ...
-	(AF_STYLE_FALLBACK): ... this.
-
-	* src/autofit/afglobal.c: Include `hbshim.c'.
-	Update use of `SCRIPT' and `STYLE' macros.
-	(af_face_globals_compute_style_coverage)
-	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
-	Update.
-
-	* src/autofit/afmodule.h (AF_ModuleRec):
-	s/fallback_script/fallback_style/.
-
-	* src/autofit/afmodule.c (af_property_set): Adapt handling of
-	`fallback-script' property to set a fallback style.
-	(af_property_get, af_autofitter_init): Updated.
-
-	* src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
-
-	* src/autofit/afranges.h: Update use of `SCRIPT' macro.
-
-	* src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
-	`hbshim.c'.
-
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
-	(AUTOF_DRV_H): Add `afcover.h'.
-
-	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
-	all libraries needed by FreeType.
-
-2013-12-21  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #40975 (sort of).
-
-	* src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
-	behave the same as the Windows TrueType engine for the invalid case.
-
-2013-12-21  Werner Lemberg  <[email protected]>
-
-	[autofit] Make PIC mode work actually.
-
-	* src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
-	enumeration values automatically generated by including `afscript.h'
-	and friends.
-
-	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
-
-2013-12-21  Werner Lemberg  <[email protected]>
-
-	Fix PIC linking.
-
-	* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
-	generated function name.
-
-	* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
-	to ...
-	(FT_Init_Table_ft_raccess_guess_table): ... this so that the
-	function name correctly corresponds to what the macro framework
-	expects.
-
-	* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
-	that PIC functions are compiled also.
-
-2013-12-21  Werner Lemberg  <[email protected]>
-
-	[base] Add missing dependencies to Makefile.
-
-	* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
-	(BASE_H): Add `basepic.h'.
-
-2013-12-20  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix PIC compilation.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths)
-	[FT_CONFIG_OPTION_PIC]: Declare `globals'.
-
-	* src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
-	AF_DEFINE_STYLE_CLASS.
-
-	* src/autofit/afpic.c: Include `afglobal.h'.
-	(autofit_module_class_pic_init): Typo.
-
-	* src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
-	AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
-	parameter and structure member.
-
-2013-12-20  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce `styles'.
-
-	This is the new top-level structure for handling glyph input data;
-	scripts are now defined separately.
-
-	* src/autofit/aftypes.h (SCRIPT): Updated.
-	(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
-	members to ...
-	(AF_Style_ClassRec): ... this new structure.
-	(AF_Style): New enumeration.
-	(AF_StyleMetricsRec): Replace `script' enumeration with
-	`style_class' pointer.
-	(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
-	(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
-
-	* src/autofit/afstyles.h: New file, using data from `afscript.h'.
-	* src/autofit/afscript.h: Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
-
-	* src/autofit/afglobal.c (SCRIPT): Updated.
-	(STYLE): Redefine macro to load `afstyles.h'.
-	(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
-	(af_style_names): ... this array.
-	(af_face_globals_compute_script_coverage): Renamed to...
-	(af_face_globals_compute_style_coverage): ... this.
-	Updated.
-	(af_face_globals_new, af_face_globals_free,
-	af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afglobal.h (SCRIPT): Updated.
-	(STYLE): Redefine macro to load `afstyles.h'.
-	(AF_SCRIPT_FALLBACK): Update definition.  This will get more
-	refinements with later on.
-	(AF_SCRIPT_UNASSIGNED): Replace with...
-	(AF_STYLE_UNASSIGNED): ... this macro.
-	(AF_FaceGlobalsRec): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
-	af_latin_hint_edges): Updated.
-
-	* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
-	(af_ltn2_uniranges): Removed.
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Updated.
-
-	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
-	* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
-	(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
-	members.
-
-	* src/autofit/afranges.h: Updated.
-
-	* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
-
-2013-12-19  Werner Lemberg  <[email protected]>
-
-	[autofit] Factor scripts and uniranges out of writing system files.
-
-	* src/autofit/afranges.c, src/autofit/afranges.h: New files.
-
-	* src/autofit/afscript.h: Extend `SCRIPT' macro with more
-	parameters, taking data from the writing system files.
-
-	* src/autofit/aftypes.h: Updated.
-
-	* src/autofit/afglobal.c: Include `afranges.h'.
-	Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
-	* src/autofit/afglobal.c: Include `afranges.h'.
-	Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
-
-	* src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
-	* src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
-	* src/autofit/afindic.c, src/autofit/afindic.h: Updated.
-	* src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
-	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: Updated.
-
-	* src/autofit/afpic.c: Updated.
-
-	* src/autofit/autofit.c: Include `afranges.c'.
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
-
-2013-12-18  Werner Lemberg  <[email protected]>
-
-	[autofit] More code orthogonality.
-
-	* src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
-	pointer to an `AF_ScriptClass' structure with `script' index of type
-	`AF_Script'.
-	Move some code around.
-
-	* src/autofit/afcjk.c: Include `afpic.h'.
-	(af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
-	af_cjk_hint_edges): Updated.
-
-	* src/autofit/aflatin.c: Include `afpic.h'.
-	(af_latin_metrics_init_widths, af_latin_metrics_init_blues,
-	af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Updated.
-
-2013-12-18  Werner Lemberg  <[email protected]>
-
-	[autofit] s/ScriptMetrics/StyleMetrics/.
-
-2013-12-18  Werner Lemberg  <[email protected]>
-
-	[autofit] s/script_{metrics,hints}/style_{metrics,hints}/
-
-2013-12-18  Werner Lemberg  <[email protected]>
-
-	[autofit] s/gscripts/gstyles/.
-
-2013-12-18  Werner Lemberg  <[email protected]>
-
-	[autofit] s/glyph_scripts/glyph_styles/.
-
-	This is the first commit of a series to create a new top-level
-	structure (a `style') for handling scripts, writing_systems, and
-	soon-to-be-added coverages.
-
-2013-12-17  Werner Lemberg  <[email protected]>
-
-	[autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
-
-2013-12-11  Infinality  <[email protected]>
-
-	[truetype] Simplify logic of rendering modes.
-
-	This patch unifies the subpixel and non-subpixel cases.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
-	`grayscale_hinting'; all code should refer to `grayscale' instead.
-	Remove unused `native_hinting' member.
-	Rename `subpixel_hinting' member to `subpixel.
-
-	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
-	(tt_loader_init): Updated.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
-	Updated.
-
-2013-12-11  Werner Lemberg  <[email protected]>
-
-	[documentation] Add section how to include FreeType header files.
-	Problem reported by David Kastrup <[email protected]>.
-
-	Surprisingly, a description how to do that was completely missing in
-	the API reference.
-
-	* include/freetype.h, include/ftchapters.h: New documentation
-	section `header_inclusion'.
-
-2013-12-10  Werner Lemberg  <[email protected]>
-
-	[autofit] s/DFLT/NONE/, s/dflt/none/.
-
-2013-12-10  Werner Lemberg  <[email protected]>
-
-	[autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
-
-2013-12-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix scaling of vertical phantom points.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
-	pp4.x also.
-
-2013-12-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix positioning of composite glyphs.
-	Problem reported by Nigel Tao <[email protected]>.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
-	the glyph (component) by a fractional value computed from the LSB
-	phantom point.  This is wrong, since the horizontal phantom points
-	get rounded horizontally later on.
-
-2013-12-08  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.2 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-2'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.2.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.1/2.5.2/, s/251/252/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
-	* builds/unix/configure.raw (version_info): Set to 17:1:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 2.
-	* docs/CHANGES: Updated.
-
-2013-12-07  Werner Lemberg  <[email protected]>
-
-	[truetype] Next round in phantom point handling.
-
-	Greg Hitchcock provided very interesting insights into the
-	complicated history of the horizontal positions of the TSB and BSB
-	phantom points.
-
-	* src/truetype/ttgload.c (TT_LOADER_SET_PP)
-	[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
-	`grayscale_hinting' flags as conditionals for the x position of TSB
-	and BSB.
-
-2013-12-05  Werner Lemberg  <[email protected]>
-
-	* builds/freetype.mk (FT_CC): Removed.  Unused.
-
-2013-12-04  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix handling of embedded bitmap strikes.
-
-	This corrects the commit from 2013-11-21.  Problem reported by
-	Andrey Panov <[email protected]>.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
-	detect excessive bytes for bit-aligned bitmaps.
-
-2013-12-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove dead code.
-
-	Reported by Nigel Tao <[email protected]>.
-
-	* include/internal/tttypes.h (TT_LoaderRec): Remove unused
-	`preserve_pps' field.
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
-
-2013-12-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix phantom point handling.
-
-	This is a further improvement to the changes from 2013-11-06.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
-	are rounded horizontally, vertical ones are rounded vertically.
-	(TT_LOADER_SET_PP): The horizontal position of vertical phantom
-	points in pre-ClearType mode is zero, as shown in the OpenType
-	specification.
-
-2013-12-02  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix change from 2013-11-20.
-
-	Problem reported by Akira Kakuto <[email protected]>.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
-	`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
-	`IS_HINTED' clause.
-	Also remove redundant check using `maxSizeOfInstructions' – in
-	simple glyphs, the bytecode data comes before the outline data, and
-	a validity test for this is already present.
-
-2013-11-27  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix use of dumping functions in `ftgrid' demo program.
-
-	* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
-	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
-	handle output to stdout.
-	Use AF_DUMP.
-	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
-
-2013-11-25  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-1'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.1.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.0/2.5.1/, s/250/251/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 17:0:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-	* docs/CHANGES, docs/release: Updated.
-
-2013-11-23  Werner Lemberg  <[email protected]>
-
-	[truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
-
-	* src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
-	TRICK_NAMES_COUNT): Updated.
-	(trick_names): Add family name for the two fonts.
-
-2013-11-23  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
-
-2013-11-21  Werner Lemberg  <[email protected]>
-
-	[sfnt] Typo.
-
-	Problem reported by Hin-Tak Leung <[email protected]>.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
-	value if the font lacks an `OS/2' table.
-
-2013-11-21  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve handling of buggy embedded bitmap strikes.
-
-	We are now able to successfully load `AppleMyoungJo.ttf'.
-	Problem reported by Hin-Tak Leung <[email protected]>.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
-	format.
-
-2013-11-20  Werner Lemberg  <[email protected]>
-
-	[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
-
-	Problem reported by Hin-Tak Leung <[email protected]>; see
-
-	  https://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
-
-	for details.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
-	tables also for setting `autohint'.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
-	`TT_Process_Composite_Glyph' for handling unreliable values of
-	`maxSizeOfInstructions'.
-
-2013-11-16  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix `OS/2' table version 5 support.
-
-	We now follow the `official' announcement from Microsoft (on the
-	OpenType mailing list, which unfortunately hasn't a public archive).
-
-	* include/freetype/tttables.h (TT_OS2):
-	s/usLowerPointSize/usLowerOpticalPointSize/,
-	s/usUpperPointSize/usUpperOpticalPointSize/.
-
-	* src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
-	default values.
-
-2013-11-13  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ft2unix.h: Remove.  No longer necessary.
-
-	* builds/unix/install.mk (install): Updated.
-
-2013-11-13  Werner Lemberg  <[email protected]>
-
-	Simplify header file hierarchy.
-
-	This large patch changes the header file directory layout from
-	`include/freetype/...' to `include/...', effectively removing one
-	level.  Since the file `ft2build.h' is also located in `include'
-	(and it stays there even after installation), all FreeType header
-	files are now in a single directory.
-
-	Applications that use (a) `freetype-config' or FreeType's
-	`pkg-config' file to get the include directory for the compiler, and
-	(b) the documented way for header inclusion like
-
-	  #include <ft2build.h>
-	  #include FT_FREETYPE_H
-	  ...
-
-	don't need any change to the source code.
-
-	* include/freetype/*: Move up to...
-	* include/*: ... this directory.
-
-	* builds/amiga/include/freetype/*: Move up to...
-	* builds/amiga/include/*: ... this directory.
-
-	*/*: Essentially do `s@/freetype/@/@' where appropriate.
-
-	* CMakeLists.txt: Simplify.
-	* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
-	`--cflags', return a single directory.
-	* builds/unix/install.mk (install): No longer try to remove `cache'
-	and `internal' subdirectories; instead, remove the `freetype'
-	subdirectory.
-
-2013-11-12  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix last `truetype' commit.
-
-	* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
-	Return error value.
-	(load_truetype_glyph): Updated.
-
-2013-11-10  Werner Lemberg  <[email protected]>
-
-	* docs/CMAKE: New dummy file.
-
-2013-11-08  Dave Arnold  <[email protected]>
-
-	[cff] Fix for hints that touch.
-
-	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
-	finding index value of insertion point.
-
-2013-11-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix handling of phantom points in composite glyphs.
-	Problem reported by Nigel Tao <[email protected]>.
-
-	This is a follow-up commit to the previous one.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Call
-	`tt_get_metrics' after loading the glyph header.
-
-2013-11-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve emulation of vertical metrics.
-
-	This commit also improves the start values of vertical phantom
-	points.  Kudos to Greg Hitchcock for help.
-
-	* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
-	`yMax' value.  Replace code with fixed Microsoft definition.
-	(tt_get_metrics): Updated.
-	(TT_LOADER_SET_PP): Add explanation how to initialize phantom
-	points, taken from both the OpenType specification and private
-	communication with Greg (which will eventually be added to the
-	standard).
-	Fix horizontal position of `pp3' and `pp4'.
-
-	* src/truetype/ttgload.h: Updated.
-
-	* src/truetype/ttdriver.c (tt_get_advances): Updated.
-
-	* docs/CHANGES: Updated.
-
-2013-11-05  Werner Lemberg  <[email protected]>
-
-	* builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
-	PlatformToolSet version 110 is for VC2012.
-
-	Problem reported (with solution) by Dave Arnold <[email protected]>.
-
-2013-11-05  Werner Lemberg  <[email protected]>
-
-	[truetype] Correctly reset point tags for glyph components.
-	Problem reported by Nigel Tao <[email protected]>.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
-
-2013-11-02  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
-	get info on subpixel hinting.
-
-	* docs/CHANGES: Updated.
-
-2013-11-02  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #40451.
-
-	Simply apply the patch from the bug report.
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h: The used #pragma directives only
-	work with gcc versions 4.6 and higher.
-
-2013-11-01  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2013-11-01  Werner Lemberg  <[email protected]>
-
-	[truetype] Minor code refactoring.
-
-	Two benefits: The allocated FDEF (and IDEF) array gets slightly
-	smaller, and the `ttdebug' demo program has access to function
-	numbers without additional costs.
-
-	Fortunately, no changes to FontForge are necessary – this is the
-	only external TrueType debugger I know of, but others may exist and
-	should check the code accordingly.
-
-	* src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
-	`Cur_End' with a pointer to the corresponding `TT_DefRecord'
-	structure.
-
-	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
-	Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
-	Updated.
-
-2013-10-27  Werner Lemberg  <[email protected]>
-
-	[sfnt] Implement support for `OS/2' table version 5.
-
-	See
-
-	  http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
-
-	for the announcement.
-
-	* include/freetype/tttables.h (TT_OS2): Add fields
-	`usLowerPointSize' and `usUpperPointSize'.  Since FreeType returns
-	this structure only as a pointer through `FT_Get_Sfnt_Table', there
-	shouldn't be any ABI problems.
-
-	* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
-
-	* docs/CHANGES: Updated.
-
-2013-10-24  Werner Lemberg  <[email protected]>
-
-	* README.git, docs/CHANGES, docs/INSTALL: Updated.
-
-2013-10-24  John Cary  <[email protected]>
-
-	Provide cmake support.
-
-	* CMakeLists.txt: New file.
-
-2013-10-23  Kenneth Miller  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	Provide support for x64 builds in Visual C++ project files.
-
-	* src/builds/win32: Renamed to...
-	* src/builds/windows: This.
-
-	* src/builds/windows/vc2010/*: Updated to handle x64 target.
-
-	* src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
-	appropriate.
-
-2013-10-22  Werner Lemberg  <[email protected]>
-
-	* src/base/md5.c, src/base/md5.h: Updated to recent version.
-
-	* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
-
-	The canonical URL to get updates for this file is
-
-	  https://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
-
-	as the author told me in private communication.
-
-2013-10-19  Werner Lemberg  <[email protected]>
-
-	[autofit] s/SMALL_TOP/X_HEIGHT/.
-
-	* src/autofit/afblue.dat: Updated.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.c, src/autofit/aflatin.h,
-	src/autofit/aflatin2.c: Updated.
-
-2013-10-19  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afblue.dat: s/MINOR/DESCENDER/.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2013-10-16  Werner Lemberg  <[email protected]>
-
-	[autofit] Add description strings to script entries.
-
-	Currently, this is unused.
-
-	* src/autofit/afscript.h: Do it.
-	* src/autofit/afglobal.c, src/autofit/afpic.c,
-	src/autofit/aftypes.h: Updated.
-
-2013-10-16  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing message for extra light flag.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
-
-2013-10-15  Chongyu Zhu  <[email protected]>
-
-	[arm] Fix thumb2 inline assembly under LLVM.
-
-	When using `ADD' with an immediate operand, the instruction is
-	actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
-	immediate operand cannot exceed 4095.  It will fail to compile with
-	LLVM.
-
-	However, in GCC, due to some legacy compatibility considerations,
-	`ADD.W' will be automatically emitted when the immediate operand is
-	larger than 4095.
-
-	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
-	(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
-
-2013-10-12  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing of `latin' hinter.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
-	zone types.
-	(af_latin_metrics_scale_dim): Report scaling changes due to x height
-	alignment.
-	Report scaled stroke width and blue zone values.
-
-2013-10-03  Dave Arnold  <[email protected]>
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
-
-	Note that the old code avoided using a region of the piecewise
-	linear function where the slope was zero.  The recovery was to use a
-	different section of the function, which produced a different,
-	incorrect amount of darkening.
-
-2013-10-02  Darrell Bellert  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
-
-2013-10-02  Dave Arnold  <[email protected]>
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
-
-	This line was lost in commit 89ca1fd6 (from 2013-06-25).  The effect
-	is to use a previous darkening amount when producing an unhinted,
-	unscaled outline.  This can cause autohint samples in ftgrid and
-	ftview to be based on darkened CFF outlines instead of unhinted,
-	undarkened ones.
-
-2013-09-29  Dave Arnold  <[email protected]>
-
-	Fix Savannah bug #39295.
-
-	The bug was caused by switching to the initial hintmap (the one in
-	effect when `moveto' executes) just before drawing the final element
-	in the charstring.  This ensured that the path was closed (in both
-	Character Space and Device Space).  But if the final element was a
-	curve and if the final hintmap was different enough from the initial
-	one, then the curve was visibly distorted.
-
-	The first part of the fix is to draw the final curve using the final
-	hintmap as specified by the charstring.  This corrects the
-	distortion but does not ensure closing in Device Space.  It may
-	require the rasterizer to automatically generate an extra closing
-	line.  Depending on the hintmap differences, this line could be from
-	zero to a couple pixels in length.
-
-	The second part of the fix covers the case where the charstring
-	subpath is closed with an explicit line.  We now modify that line's
-	end point to avoid the distortion.
-
-	Some glyphs in the bug report font (TexGyreHeros-Regular) that show
-	the change are:
-
-	  25ppem    S (98)
-	  24ppem    eight (52)
-	  25.5ppem  p (85)
-
-	Curves at the *end* of a subpath are no longer distorted.  However,
-	some of these glyphs have bad hint substitutions in the middle of a
-	subpath, and these are not affected.
-
-	The patch has been tested with a set of 106 fonts that shipped with
-	Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
-	Google Fonts.  There are 1.5 million glyphs, of which some 20k are
-	changed with the fix.  A sampling of a few hundred of these changes
-	have been examined more closely, and the changes look good (or at
-	least acceptable).
-
-	* src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
-	to indicate that we synthesize a closepath line.
-
-	* src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
-	(cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
-	`lineto' operator) and adjust hint zone.
-	For synthesized closing lines, use end point in first hint zone.
-	(cf2_glyphpath_lineTo): Take care of synthesized closing lines.  In
-	particular, shift the detection of zero-length lines from character
-	space to device space.
-	(cf2_glyphpath_closeOpenPath): Remove assertion.
-	Updated.
-
-2013-09-25  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
-
-2013-09-25  suzuki toshiya  <[email protected]>
-
-	[bdf, pcf] Refuse non-zero face_index.
-
-	Suggested by Akira Tagoh, see
-
-	  https://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Return `Invalid_Argument'
-	error if the font could be opened but non-zero `face_index' is
-	given.
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
-
-	* src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
-	macro for `face_index' because it is validated later.
-
-2013-09-23  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #40090.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
-	306f8c5d (from 2013-08-25) affecting this function.
-
-2013-09-22  Werner Lemberg  <[email protected]>
-
-	[autofit] Disunify Cyrillic and Greek handling from Latin.
-
-	* src/autofit/afscript.h: Add Cyrillic and Greek.
-
-	* src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
-	AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
-	(AF_BLUE_STRINGSET_LATN): Fix typo.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
-	arrays.
-	(af_grek_script_class, af_cyrl_script_class): New scripts.
-	* src/autofit/aflatin.h: Updated.
-
-2013-09-20  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2013-09-20  Behdad Esfahbod  <[email protected]>
-
-	Fix vertical size of emboldened glyphs.
-
-	Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
-	also.
-
-2013-09-11  Alexei Podtelezhnikov  <[email protected]>
-
-	* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
-	algorithm description.
-
-2013-09-11  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve Hebrew rendering.
-
-	This change introduces a new blue zone property
-	`AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
-	top segments.
-
-	* src/autofit/afblue.dat: Fix Hebrew blue strings.
-	Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
-	`AF_LATIN_IS_LONG_BLUE'.
-
-	* src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
-
-2013-08-28  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] Fix frame access while reading WOFF table directory.
-
-	* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
-	while reading the directory entries for the whole loop.
-
-2013-08-29  Werner Lemberg  <[email protected]>
-            Behdad Esfahbod  <[email protected]>
-
-	Implement support for WOFF containers.
-
-	We simply synthesize a SFNT from the WOFF, create a memory stream
-	for the new data, and load the SFNT as usual.
-
-	Does NOT add any API to access WOFF metadata or private blocks.
-
-	* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
-	WOFF_TableRec): New structures.
-
-	* include/freetype/tttags.h (TTAG_wOFF): New macro.
-
-	* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
-	`open_face'.
-
-	* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
-	`FT_GZIP_H'.
-	(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
-	writing to a stream.
-	(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
-	(sfnt_open_font): Handle `TTAG_wOFF'.
-	(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
-
-	* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
-	`sfnt->init_face'.
-
-	* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
-	argument so that a changed stream survives.
-	Update callers.
-
-2013-08-28  Werner Lemberg  <[email protected]>
-
-	[gzip] New function `FT_Gzip_Uncompress'.
-
-	This is modeled after zlib's `uncompress' function.  We need this
-	for WOFF support.
-
-	* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
-	New function.
-
-	* src/gzip/rules.mk: Rewrite to better reflect dependencies.
-
-2013-08-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix `make multi' compilation.
-
-	* src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
-	`afblue.h' but `aftypes.h'.
-	* src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
-
-2013-08-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix C++ compilation.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics),
-	src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
-	(af_deva_script_class): Use proper casts.
-
-2013-08-27  Behdad Esfahbod  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
-
-2013-08-27  Behdad Esfahbod  <[email protected]>
-
-	FT_Open_Face: Improve external stream handling.
-
-	If the font's `clazz->init_face' function wants to swap to new
-	stream, handling of whether original stream was external could
-	result to either memory leak or double free.  Mark externality into
-	face flags before calling `init_face' such that the clazz can handle
-	external streams properly.
-
-	* src/base/ftobjs.c (FT_Open_Face): Move code to set
-	FT_FACE_FLAG_EXTERNAL_STREAM to...
-	(open_face): This function.
-
-2013-08-27  Werner Lemberg  <[email protected]>
-
-	Remove `FT_SqrtFixed' function.
-
-	It's no longer used.
-
-	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
-
-2013-08-27  Werner Lemberg  <[email protected]>
-
-	[autofit] While tracing, report script names instead of ID values.
-
-	* src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
-	New array.
-	* src/autofit/afglobal.h: Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_hint_edges): Use `af_script_names'.
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_hint_edges): Ditto.
-
-2013-08-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Report used script while hinting a glyph.
-
-	* src/autofit/afcjk.c (af_cjk_hint_edges), src/autofit/aflatin.c
-	(af_latin_hint_edges): Implement it.
-
-2013-08-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Hebrew script.
-
-	* src/autofit/afblue.dat: Add blue strings for Hebrew.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.c (af_hebr_uniranges): New array.
-	(af_hebr_script_class): New script.
-	* src/autofit/aflatin.h, src/autofit/afscript.h: Updated.
-
-2013-08-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing messages.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Mention script
-	ID in tracing message.
-	(af_cjk_metrics_init_blues): Initialize `axis' outside of the inner
-	loop.
-	Improve tracing messages.
-	(af_cjk_hint_edges) [FT_DEBUG_LEVEL_TRACE]: New variable
-	`num_actions' to count hinting actions.
-	Improve tracing messages.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Mention
-	script ID in tracing message.
-	(af_latin_metrics_init_blues, af_latin_hint_edges): Improve tracing
-	messages.
-
-2013-08-26  Werner Lemberg  <[email protected]>
-
-	Better tracing of loaded glyphs.
-
-	Previously, the loading of a glyph was traced at level 4, if at all.
-	With this change, all font loading routines emit a tracing message
-	at level 1, making it easier to select tracing output (for example
-	using F2_DEBUG="any:1 afhints:7 aflatin:7").
-
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
-	* src/cff/cffdrivr.c (cff_glyph_load): Ditto.
-	* src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
-	messages.
-	* src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
-	message.
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
-	* src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
-	* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
-	* src/type1/t1gload.c (T1_Load_Glyph): Ditto.
-	* src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
-
-2013-08-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix script selection.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Use
-	`AF_SCRIPT_DFLT', not value 0.
-	Simplify code.
-
-	* src/autofit/afscript.h: Sort by script name.
-
-2013-08-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Make `dummy' hinter work as expected.
-
-	* src/autofit/afdummy.c (af_dummy_hints_init): Properly set scaling
-	information.
-	(af_dummy_hints_apply): Scale the glyphs.
-
-2013-08-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Make `cjk' module use blue stringsets.
-
-	* src/autofit/afcjk.c (AF_CJK_MAX_TEST_CHARACTERS): Removed.
-	(af_cjk_hani_blue_chars): Removed.
-	(AF_CJK_BLUE_TYPE_*): Removed.
-	(af_cjk_metrics_init_blues): Replace AF_CJK_MAX_TEST_CHARACTERS with
-	AF_BLUE_STRING_MAX_LEN.
-	Change loops to use offsets (in file `afblue.h') into the new arrays
-	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
-	Instead of three dimensions (as used in the old blue string array)
-	we now use properties to do the same, saving one loop nesting level.
-
-	* src/autofit/afcjk.h: Remove old enumeration values superseded by
-	the new data in `afblue.h'.
-	(AF_CJK_IS_TOP_BLUE, AF_CJK_IS_HORIZ_BLUE, AF_CJK_IS_FILLED_BLUE,
-	AF_CJK_IS_RIGHT_BLUE): New macros, to be used in
-	`af_cjk_metrics_init_blues'.
-	(AF_CJK_BLUE_IS_RIGHT): Remove this now redundant enum value.
-	(AF_CJK_BLUE_IS_TOP): Renamed to...
-	(AF_CJK_BLUE_TOP): This.
-	(AF_CJK_MAX_BLUES): Remove.
-	(AF_CJKAxisRec): Updated.
-
-2013-08-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Typo.
-
-	* src/autofit/afblue.hin, src/autofit/afblue.c (GET_UTF8_CHAR): Use
-	cast.
-
-2013-08-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Synchronize `cjk' with `latin' module (and vice versa).
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Add tracing
-	messages.
-	(af_cjk_metrics_init_blues): Don't pass blue string array as
-	argument but use the global array directly.
-	Use `outline' directly.
-	Update and add tracing messages.
-	(af_cjk_metrics_init): Simplify code.
-	(af_cjk_metrics_scale_dim): Improve tracing message.
-	(af_cjk_metrics_scale): Synchronize.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues): Improve and add tracing messages.
-
-2013-08-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Make `latin' module use blue stringsets.
-
-	* src/autofit/aflatin.c (AF_LATIN_MAX_TEST_CHARACTERS): Removed.
-	(af_latin_blue_chars): Removed.
-	(af_latin_metrics_init_blues): Replace AF_LATIN_MAX_TEST_CHARACTERS
-	with AF_BLUE_STRING_MAX_LEN.
-	Change loops to use offsets (in file `afblue.h') into the new arrays
-	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
-	Use `AF_LATIN_IS_SMALL_TOP_BLUE' macro.
-
-	* src/autofit/aflatin.h: Remove old enumeration values superseded by
-	the new data in `afblue.h'.
-	(AF_LATIN_IS_TOP_BLUE): Updated definition.
-	(AF_LATIN_IS_SMALL_TOP_BLUE): New macro.
-	(AF_LATIN_MAX_BLUES): Remove.
-	(AF_LatinAxisRec): Updated.
-
-2013-08-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue stringsets.
-
-	* src/autofit/aftypes.h: Include `afblue.h'.
-	(AF_ScriptClassRec): Add `blue_stringset' field.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/autofit.c: Include `afblue.c'.
-
-	* src/autofit/afcjk.c (af_hani_script_class), src/autofit/afdummy.c
-	(af_dflt_script_class), src/autofit/afindic.c
-	(af_deva_script_class), src/autofit/aflatin.c
-	(af_latn_script_class), src/autofit/aflatin2.c
-	(af_ltn2_script_class): Updated.
-
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afblue.c'.
-
-2013-08-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce data file for blue strings.
-
-	The idea is to have a central file which gets processed by a Perl
-	script to create proper `.c' and `.h' files using templates.  There
-	are two other reasons to do that:
-
-	  . The data file should be easily readable.  We use UTF-8 encoding
-	    which then gets converted to single bytes.
-
-	  . Since the number of supported scripts will increase soon, the
-	    current usage of blue string arrays is a waste of space.  Using
-	    the Perl script it is possible to imitate jagged arrays,
-	    defining enumeration constants as offsets into the arrays.
-
-	This commit only adds files without changing any functionality.
-
-	* src/autofit/afblue.dat: New data file.
-	* src/tools/afblue.pl: New Perl script for processing `afblue.dat'.
-
-	* src/autofit/afblue.cin, src/autofit/afblue.hin: New template files
-	for...
-	* src/autofit/afblue.c, src/autofit/afblue.c: New source files.
-	To avoid a dependency on Perl, we add them too.
-
-2013-08-19  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Enable new algorithm for `BBox_Cubic_Check'.
-
-	* src/base/ftbbox.c: Enable new BBox_Cubic_Check algorithm, remove
-	the old one.
-	Improve comments.
-
-2013-08-18  Werner Lemberg  <[email protected]>
-
-	* builds/unix/unix-def.in (freetype2.pc): Don't set executable bit.
-
-2013-08-18  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #39804.
-
-	* builds/unix/configure.raw (LIBPNG): Define and export.
-	* builds/unix/freetype-config.in, builds/unix/freetype2.in: Handle
-	libpng.
-
-2013-08-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Clean up BBox_Conic_Check.
-
-	* src/base/ftbbox.c (BBox_Conic_Check): Remove redundant checks for
-	extremum at the segment ends, which are already within the bbox.
-	Slightly modify calculations.
-
-2013-08-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Finish experimental (disabled) BBox_Cubic_Check implementation.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Scale arguments to improve
-	accuracy and avoid overflows.
-
-2013-08-13  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Refactor experimental (disabled) BBox_Cubic_Check.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Implement the minimum search
-	as the mirror image of the maximum search implemented here...
-	(update_max): New function.
-
-2013-08-06  John Tytgat  <[email protected]>
-
-	Fix Savannah bug #39702.
-
-	* src/cff/cffload.c (cff_index_get_pointers): Check for `cur_offset
-	!= 0'; this stronger test is mandated by the CFF specification.
-	Fix test for INDEX structures which have one or more empty entries
-	at the end.
-
-2013-08-05  Werner Lemberg  <[email protected]>
-
-	Fix gcc pragmas, part 2.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
-	TT_DotFix14_long_long): `#pragma gcc diagnostic {push,pop}' has been
-	introduced with gcc version 4.6.
-
-2013-08-05  Werner Lemberg  <[email protected]>
-
-	Fix gcc pragmas.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
-	TT_DotFix14_long_long): Older gcc versions don't accept diagnostic
-	pragmas within a function body.
-
-2013-08-05  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #39700.
-
-	* builds/unix/ftconfig.h: Synchronize with
-	`include/freetype/config/ftconfig.h'.
-
-	* builds/vms/ftconfig.h: Ditto.
-	Make the differences to the master `ftconfig.h' file as small as
-	possible for easier maintenance.
-
-2013-08-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve handling of `near' points.
-
-	Points which are very near to each other are now marked as such.
-	The `weak' flag is then computed by using the `in' vector of the
-	first and the `out' vector of the last point of a group of near
-	points.
-
-	For example, this fixes the rendering of glyph `Oslash' in
-	`Roboto-Thin.ttf'.
-
-	* src/autofit/afhints.h (AF_Flags): New value `AF_FLAGS_NEAR'.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Introduce
-	the heuristic value `near_limit' to decide whether the current point
-	is near to the previous one, then set `AF_FLAG_NEAR' accordingly.
-	Store good `in' vector (of last non-near point) in
-	`last_good_in_{x,y}' and use it as an argument to
-	`ft_corner_is_flat' if necessary.
-
-2013-08-02  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftcffdrv.h: Improve documentation.
-	This is based on blog entries from David Lemon and Dave Arnold (both
-	from Adobe) with kind permission.  Dave also helped in
-	proof-reading.
-
-2013-08-02  Werner Lemberg  <[email protected]>
-
-	[autofit] Move declaration of scripts into separate file.
-
-	This has the benefit that we don't need to duplicate the data at
-	different places.
-
-	* src/autofit/afscript.h: New file.
-
-	* src/autofit/aftypes.h (AF_Script): Include `afscript.h' to define
-	the enumeration values.
-
-	* src/autofit/afglobal.c: Include `afscript.h' to get the script
-	specific header files.
-	(af_script_classes): Include `afscript.h' to fill this array.
-
-	* src/autofit/afpic.c: Include `afscript.h' to get the script
-	specific header files.
-	(autofit_module_class_pic_init): Include `afscript.h' for
-	initialization.
-	* src/autofit/afpic.h (AF_SCRIPT_CLASSES_COUNT,
-	AF_SCRIPT_CLASSES_REC_COUNT): Removed.  Use `AF_SCRIPT_MAX' instead.
-
-	* src/autofit/rules.mk (AUTOF_DRV_H): Updated.
-
-2013-08-02  Werner Lemberg  <[email protected]>
-
-	[autofit] Move declaration of writing systems into separate file.
-
-	This has the benefit that we don't need to duplicate the data at
-	different places.
-
-	* src/autofit/afwrtsys.h: New file.
-
-	* src/autofit/aftypes.h (AF_WritingSystem): Include `afwrtsys.h' to
-	define the enumeration values.
-
-	* src/autofit/afglobal.c: Include `afwrtsys.h' to get the writing
-	system specific header files.
-	Include `afpic.h'.
-	(af_writing_system_classes): Include `afwrtsys.h' to fill this
-	array.
-
-	* src/autofit/afpic.c: Include `afwrtsys.h' to get the writing
-	system specific header files.
-	(autofit_module_class_pic_init): Include `afwrtsys.h' for
-	initialization.
-	* src/autofit/afpic.h (AF_WRITING_SYSTEM_CLASSES_COUNT,
-	AF_WRITING_SYSTEM_CLASSES_REC_COUNT): Removed.  Use
-	`AF_WRITING_SYSTEM_MAX' instead.
-
-2013-08-02  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix compilation with g++.
-
-	* src/sfnt/pngshim.c (error_callback, read_data_from_FT_stream): Use
-	cast.
-	(Load_SBit_Png): Pacify compiler.
-
-2013-08-02  suzuki toshiya  <[email protected]>
-            Werner Lemberg  <[email protected]>
-
-	[autofit] Fix `make multi'.
-
-	* include/freetype/config/ftconfig.h (FT_LOCAL_ARRAY,
-	FT_LOCAL_ARRAY_DEF): New macros.
-
-	* src/autofit/afglobal.c (af_writing_system_classes,
-	af_script_classes): Use FT_LOCAL_ARRAY_DEF.
-	* src/autofit/afglobal.h: Declare `af_writing_system_classes' and
-	`af_script_classes'.
-	* src/autofit/afloader.c: Include `afpic.h'.
-
-2013-08-01  Werner Lemberg  <[email protected]>
-
-	Another round of cppcheck nitpicks.
-
-	The call was (from the top-level of the FreeType tree):
-
-	  cppcheck --force \
-	           --enable=all \
-	           -I /usr/include \
-	           -I /usr/local/include \
-	           -I /usr/lib/gcc/i586-suse-linux/4.7/include \
-	           -I include \
-	           -I include/freetype \
-	           -I include/freetype/config \
-	           -I include/freetype/internal \
-	           -DFT2_BUILD_LIBRARY \
-	           . &> cppcheck.log
-
-	using cppcheck git commit f7e93f99.
-
-	Note that cppcheck still can't handle `#include FOO' (with `FOO' a
-	macro).
-
-	*/* Improve variable scopes.
-	*/* Remove redundant initializations which get overwritten.
-
-	* src/gxvalid/*: Comment out redundant code or guard it with
-	FT_DEBUG_LEVEL_TRACE.
-
-2013-07-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce `writing systems'.
-
-	This patch adds a new top level to the auto-hinter's script class
-	hierarchy.  It defines `writing systems' which can contain multiple
-	scripts.
-
-	For example, the `latin' writing system (in file `aflatin.c') is
-	able to support scripts like Latin, Cyrillic, Armenian, etc., which
-	can be handled similarly.
-
-	Scripts are now named using four-letter OpenType tags.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Move relevant members
-	to...
-	(AF_WritingSystemClassRec): This new structure.  It holds pointers
-	to functions which can be shared among related scripts.
-	(AF_WritingSystem): New enumeration.
-	(AF_Script): Revised values using four-letter tags.
-	(AF_DEFINE_WRITING_SYSTEM_CLASS): New macro.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/afglobal.c (af_writing_system_classes): New global,
-	constant array.
-	(af_script_classes): Updated.
-	(af_face_globals_free): Updated.
-	Remove assertion.
-	(af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afglobal.h (AF_SCRIPT_FALLBACK)
-	[!AF_CONFIG_OPTION_CJK]: Handle this case.
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Updated.
-
-	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated;
-	initialize structures for both writing systems and scripts.
-	* src/autofit/afpic.h: Updated.
-	(AF_WRITING_SYSTEM_CLASSES_GET): New macro.
-
-	* src/autofit/afcjk.c (af_cjk_writing_system_class): New writing
-	system.
-	(af_cjk_uniranges): Renamed to...
-	(af_hani_uniranges): This.
-	(af_cjk_script_class): Reduced and renamed to...
-	(af_hani_script_class): This.
-	* src/autofit/afcjk.h: Updated.
-
-	* src/autofit/afdummy.c (af_dummy_writing_system_class): New writing
-	system.
-	(af_dummy_script_class): Reduced and renamed to...
-	(af_dflt_script_class): This.
-	* src/autofit/afdummy.h: Updated.
-
-	* src/autofit/afindic.c (af_indic_writing_system_class): New writing
-	system.
-	(af_indic_uniranges): Renamed to...
-	(af_deva_uniranges): This.
-	(af_indic_script_class): Reduced and renamed to...
-	(af_deva_script_class): This.
-	* src/autofit/afcjk.h: Updated.
-
-	* src/autofit/aflatin.c (af_latin_writing_system_class): New writing
-	system.
-	(af_latin_uniranges): Renamed to...
-	(af_latn_uniranges): This.
-	(af_latin_script_class): Reduced and renamed to...
-	(af_latn_script_class): This.
-	* src/autofit/aflatin.h: Updated.
-
-	* src/autofit/aflatin2.c (af_latin2_writing_system_class): New
-	writing system.
-	(af_latin2_uniranges): Renamed to...
-	(af_ltn2_uniranges): This.
-	Synchronize ranges with `latin'.
-	(af_latin2_script_class): Reduced and renamed to...
-	(af_ltn2_script_class): This.
-	* src/autofit/aflatin2.h: Updated.
-
-2013-07-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Variable renaming.
-
-	* src/autofit/aftypes.h (AF_ScriptMetricsRec):
-	s/clazz/script_class/.
-	Update all users.
-
-2013-07-30  suzuki toshiya  <[email protected]>
-
-	Ignore libpng-config under cross-building configuration,
-	because it will return the flags for the hosting environment.
-
-	* builds/unix/configure.raw: Ignore libpng-config when
-	`cross_compiling' == yes.
-
-2013-07-30  Behdad Esfahbod  <[email protected]>
-
-	Prevent division by zero by a transparent color.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra):
-	Return 0 immediately, when alpha channel is zero.
-
-2013-07-25  Behdad Esfahbod  <[email protected]>
-
-	Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR.
-
-	Also disambiguate Google's color bitmap tables.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR):
-	New macros.
-
-	* include/freetype/internal/tttypes.h (TT_SbitTableType): Add
-	TT_SBIT_TABLE_TYPE_CBLC.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit,
-	tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle
-	TT_SBIT_TABLE_TYPE_CBLC.
-
-2013-07-24  suzuki toshiya  <[email protected]>
-
-	[sfnt] Fix for `make multi' target.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Use FT_LOCAL_DEF().
-
-2013-07-20  Werner Lemberg  <[email protected]>
-
-	* docs/INSTALL.GNU: Updated.
-
-2013-07-20  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] Fix `sbix' table version handling.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
-	USHORT version numbers are to be considered as `minor'.
-
-2013-07-19  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix segment classification for blue zones.
-
-	The old code (essentially unchanged since the very beginning)
-	incorrectly handled this configuration
-
-	               x -o- x
-	                /   \
-	               /     \
-	              /       \
-	             o         o
-
-	as flat and this
-
-	                o               o
-	               /               /
-	             x|              x|
-	              |               |
-	              o---------------o
-
-	as round.  (`o' and `x' are on and off points, respectively).
-
-	This is a major change which should improve the rendering results
-	enormously for many TrueType fonts, especially in the range approx.
-	20-40ppem, fixing the appearance of many overshoots.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Look at the
-	first and last points of the segment, not the points right before
-	and after.
-
-2013-07-19  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] `sbix' fix-ups.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps
-	are rendered scaled and then the `glyf' outline rendered on top.  We
-	don't support that yet, so just ignore the `glyf' outline and
-	advertise it as a bitmap-only font.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	[TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units.
-	(tt_face_load_sbix_image): Typo.
-
-2013-07-18  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] Add support for Apple's `sbix' color bitmap table.
-
-	* include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen
-	fields to FT_Short and FT_UShort, respectively.
-	(TT_SbitTableType): New enumeration.
-	(TT_FaceRec): Add `sbit_table_type' field.
-
-	* include/freetype/tttags.h (TTAG_sbix): New macro.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic
-	FT_GlyphSlot argument instead FT_Bitmap.
-	Add flag to control map and metrics handling.
-	Update all users.
-
-	* src/sfnt/ttsbit.c: Include `ttmtx.h'.
-	(tt_face_load_eblc): Renamed to...
-	(tt_face_load_sbit): This.
-	Handle `sbix' bitmaps.
-	(tt_face_free_eblc): Renamed to...
-	(tt_face_load_sbit): This.
-	Updated.
-	(tt_face_load_strike_metrics): Handle `sbix' bitmaps.
-	(tt_face_load_sbix_image): New function.
-	(tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image,
-	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
-	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
-	tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass
-	and handle load flags.
-	(tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better
-	handle formats 17-19.
-	Move color to grayscale conversion to...
-	(tt_face_load_sbit_image): Here.
-	Handle `sbix' bitmaps.
-
-	* src/sfnt/pngshim.h: Updated.
-	* src/sfnt/ttsbit.h: Updated.
-	* src/sfnt/sfdriver.c: Updated.
-
-2013-07-18  Werner Lemberg  <[email protected]>
-
-	[sfnt] Ignore invalid magic number in `head' or `bhed'.
-
-	Other font engines seem to ignore it also.  Problem reported by
-	Hin-Tak Leung <[email protected]>.
-
-	* src/sfnt/ttload.c (check_table_dir): Don't abort but warn only if
-	we have an invalid magic number.
-
-2013-07-16  Werner Lemberg  <[email protected]>
-
-	[smooth] Fix segfault caused by previous commit.
-
-	* src/smooth/ftgrays.c (gray_set_cell): Always compute
-	`ras.invalid'.
-
-2013-07-16  David Turner  <[email protected]>
-
-	[smooth] Improve performance.
-
-	Provide a work-around for an ARM-specific performance bug in GCC.
-	This speeds up the rasterizer by more than 5%.
-
-	Also slightly optimize `set_gray_cell' and `gray_record_cell' (which
-	also improves performance on other platforms by a tiny bit (<1%).
-
-	* src/smooth/ftgrays.c (FT_DIV_MOD): New macro.
-	Use it where appropriate.
-
-	(gray_record_cell, gray_set_cell, gray_move_to,
-	gray_convert_glyph_inner): Streamline condition handling.
-
-2013-07-16  David Turner  <[email protected]>
-
-	[truetype] Add assembler code for TT_MulFix14 and TT_DotFix14.
-
-	This patch provides slightly optimized versions for ARM, x86, and
-	x86_64 CPUs if built with GCC.
-
-	Also remove some dead code.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_arm, TT_MulFix14_long_long,
-	TT_DotFix14_long_long): New functions.
-
-2013-07-16  David Turner  <[email protected]>
-
-	Optimize FT_MulFix for x86_64 GCC builds.
-
-	This patch provides an optimized `FT_MulFix' implementation for
-	x86_64 machines when FreeType is built with GCC, or compatible
-	compilers like Clang.
-
-	Example:
-	  bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
-
-	Before:
-
-	  Load                       4.863 us/op
-	  Load_Advances (Normal)     4.816 us/op
-	  Load_Advances (Fast)       0.028 us/op
-	  Render                     2.753 us/op
-	  Get_Glyph                  0.463 us/op
-	  Get_CBox                   0.077 us/op
-	  Get_Char_Index             0.023 us/op
-	  Iterate CMap              13.898 us/op
-	  New_Face                  12.368 us/op
-	  Embolden                   0.028 us/op
-	  Get_BBox                   0.302 us/op
-
-	After:
-
-	  Load                       4.617 us/op
-	  Load_Advances (Normal)     4.645 us/op
-	  Load_Advances (Fast)       0.027 us/op
-	  Render                     2.789 us/op
-	  Get_Glyph                  0.460 us/op
-	  Get_CBox                   0.077 us/op
-	  Get_Char_Index             0.024 us/op
-	  Iterate CMap              13.403 us/op
-	  New_Face                  12.278 us/op
-	  Embolden                   0.028 us/op
-	  Get_BBox                   0.301 us/op
-
-	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
-	(FT_MulFix_x86_64): New function.
-
-2013-07-16  David Turner  <[email protected]>
-
-	Speed up ARMv7 support.
-
-	When building for ARMv7 with thumb2 instructions, the optimized
-	`FT_MulFix_arm' assembly routine was not being used.
-
-	The reason for this is in the `ftconfig.h' header, namely:
-
-	- The assembly routine uses the `smull' instruction which is not
-	  available when generating Thumb-1 machine code.  It is available
-	  in Thumb-2 mode, though.
-
-	- The header was written a long time ago before Thumb-2 became
-	  widely popular (e.g. with Android).  So it simply doesn't use the
-	  assembly routine if the `__thumb__' built-in macro is defined.
-
-	- When compiling in Thumb-2 mode, the compiler will define both
-	  `__thumb__' and `__thumb2__'.
-
-	By checking for `(__thumb2__ || !__thumb__)', we ensure that the
-	assembly routine is only avoided when generating Thumb-1 code.
-
-	Given that this is performance-sensitive function, this improves
-	`ftbench' as follows on a Galaxy Nexus:
-
-	                           Before (us/op)   After (us/op)
-
-	  - loading Arial.ttf glyphs at 14 ppem [1]
-
-	      Load                   34.285          33.098
-
-	  - same operation with the light auto-hinter [2]
-
-	      Load                   31.317          29.590
-
-	  - same operation without hinting [3]
-
-	      Load                    6.143           5.376
-
-	  - loading Arial.ttf advances at 14 ppem [4]
-
-	      Load_Advances (normal) 34.216          33.016
-	      Load_Advances (fast)    0.176           0.176
-
-	  [1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf
-	  [2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf
-	  [3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf
-	  [4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf
-
-	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
-	(FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
-
-2013-06-28  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2013-06-27  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix bitmap width guard.
-
-2013-06-25  Werner Lemberg  <[email protected]>
-
-	[cff] Add darkening limit to `darkening-parameters'.
-
-	* src/cff/cffdrivr.c (cff_property_set): Add check.
-
-2013-06-25  Werner Lemberg  <[email protected]>
-
-	[cff] Add `darkening-parameters' property.
-
-	* include/freetype/ftcffdrv.h: Document it.
-
-	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
-	`darkening-parameters' property.
-
-	* src/cff/cf2font.h (CF2_FontRec): Add `darkenParams' array.
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Add `darkenParams'
-	argument and use it.
-	Update all callers.
-
-	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Copy
-	`darken_params' values.
-
-	* src/cff/cffobjs.h (CFF_DriverRec): Add `darken_params' array.
-
-	* src/cff/cffobjs.c (cff_driver_init): Set default values for
-	`darken_params'.
-
-2013-06-25  Werner Lemberg  <[email protected]>
-
-	[docmaker] Code shuffling.
-
-	* src/tools/docmaker/tohtml.py (re_url): Move regexp...
-	* src/tools/docmaker/sources.py: ... to this file.
-
-2013-06-25  Werner Lemberg  <[email protected]>
-
-	[docmaker] Remove unused functions.
-
-	* src/tools/docmaker/content.py (DocMarkup.get_start,
-	DocBlock.get_markup_name): Removed.
-	* src/tools/docmaker/tohtml.py (html_quote0, dump_html_code,
-	HtmlFormatter.make_html_words): Removed.
-
-2013-06-25  Werner Lemberg  <[email protected]>
-
-	* builds/freetype.mk (dll): Remove target.
-
-	Problem reported by Jörg Günnewig <[email protected]>.
-
-2013-06-25  Werner Lemberg  <[email protected]>
-
-	[docmaker] Recognise URLs.
-
-	* src/tools/docmaker/tohtml.py (re_url): New regular expression.
-	(make_html_para): Use it.
-
-2013-06-19  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.0.1 released.
-	===========================
-
-
-	Tag sources with `VER-2-5-0-1'.
-
-	* include/freetype/config/ftoption.h: Undefine
-	CFF_CONFIG_OPTION_OLD_ENGINE.
-	* devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE.
-
-2013-06-19  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install.mk (install): Don't create `cache' directory.
-
-	Found by Peter Breitenlohner <[email protected]>.
-
-2013-06-19  Werner Lemberg  <[email protected]>
-
-	* Version 2.5.0 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-0'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.0.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 16:2:10.
-
-	* src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
-	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
-
-2013-06-18  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #39269.
-
-	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in
-	case of reallocation failures.
-
-2013-06-18  Andrew Church  <[email protected]>
-
-	Fix Savannah bug #39266.
-
-	If memory allocations fail at certain points while opening a font,
-	FreeType can either crash due to a NULL dereference or leak memory.
-
-	* include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
-	FT_LibraryRec): Make `refcount' a signed integer.  If, for example,
-	FT_Open_Face() fails in a memory allocation before the face's
-	reference count is set to 1, a subsequent `FT_Done_Library' call
-	would otherwise loop over `FT_Done_Face' 2^32 times before freeing
-	the face.
-
-	* src/base/ftobjs.c (open_face): Initialize `stream' and friends
-	earlier.
-	(FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
-	(FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
-
-2013-06-14  Werner Lemberg  <[email protected]>
-
-	* src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
-
-2013-06-06  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[cff] Add code to Adobe's engine to handle ppem > 2000.
-
-	* src/cff/cffgload.c (cff_slot_load): If we get
-	FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
-
-2013-06-12  Werner Lemberg  <[email protected]>
-
-	Another try on pragmas.
-
-	* include/freetype/internal/ftdebug.h: Move pragmas to...
-	* include/freetype/internal/internal.h: ... this file since it gets
-	included by all source files.
-	* include/freetype/internal/ftserv.h: Remove pragma which has no
-	effect.
-
-2013-06-12  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.
-
-	This partially undoes commit 3f6e0e0c.
-
-2013-06-12  Werner Lemberg  <[email protected]>
-
-	More compiler warning fixes.
-
-	*/*: Use cast to `FT_Bool' (or `Bool') where appropriate.
-
-2013-06-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve handling of broken sbit advance widths.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled)
-	`linearHoriAdvance' if the sbit's `horiAdvance' value is zero.
-
-	Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem.
-
-2013-06-10  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve embedded bitmap tracing.
-
-	* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
-	bitmap strike match to...
-	(FT_Match_Size): This function.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
-	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
-	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
-	tt_sbit_decoder_load_image): Decorate with tracing messages.
-
-2013-06-10  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #39160.
-
-	* src/truetype/ttinterp.c (Ins_SDPVTL): Set projection vector too
-	for the degenerate case.
-
-2013-06-09  David Turner  <[email protected]>
-
-	* src/cache/ftcmanag.c (FTC_Manager_Reset): Add missing cache flush.
-
-	This code, present since eight(!) years in the unused `CACHE'
-	branch, has been forgotten to apply to the master branch.  It's
-	really amazing that noone has ever complained since
-	`FTC_Manager_Reset' is pretty useless without flushing the cache.
-
-2013-06-07  Werner Lemberg  <[email protected]>
-
-	Add and improve pragmas for MSVC compiler.
-
-	* include/freetype/internal/ftdebug.h: Remove pragmas.
-	* include/freetype/internal/ftserv.h: Use push and pop for pragmas.
-	* include/freetype/internal/ftvalid.h: Handle warning C4324.
-	* src/base/ftobjs.c: Use push and pop for pragmas.
-	* src/gzip/ftgzip.c: Handle warning C4244.
-
-2013-06-07  Werner Lemberg  <[email protected]>
-
-	[cff] s/cf2_getGlyphWidth/cf2_getGlyphOutline/.
-
-	* src/cff/cf2font.c, src/cff/cf2font.h, src/cff/cf2ft.c: Do it.
-
-2013-06-06  Dave Arnold  <[email protected]>
-
-	[cff] Add early exit feature for width-only calls.
-
-	This is for `FT_Get_Advance'.
-
-	There are 7 places where the spec says the width can be defined:
-
-	  hstem/hstemhm
-	  vstem/vstemhm
-	  cntrmask/hintmask
-	  hmoveto
-	  vmoveto
-	  rmoveto
-	  endchar
-
-	* src/cff/cf2intrp.c (cf2_doStems): Exit early for width-only calls,
-	if possible.
-
-	(cf2_interpT2CharString) <cf2_cmdHSTEM>, <cf2_cmdVSTEM>,
-	<cf2_cmdVMOVETO>, <cf2_cmdENDCHAR>, <cf2_cmdHINTMASK>,
-	<cf2_cmdRMOVETO>, <cf2_cmdHMOVETO>: Exit early for width-only calls.
-
-2013-06-06  Werner Lemberg  <[email protected]>
-
-	Next round of compiler fixes.
-
-	* builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
-	Add proper cast.
-
-	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
-	cast.
-	* include/freetype/internal/ftstream.h: Decorate stream and frame
-	macros with `FT_Long' and `FT_ULong' as appropriate.
-
-	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
-	raccess_guess_darwin_newvfs): Use cast.
-
-	* src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
-
-	* src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
-	* src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
-
-	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use cast.
-	* src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
-	* src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
-
-	* src/cid/cidparse.c (cid_parser_new): Use cast.
-
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
-
-	* src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
-
-	* src/raster/ftraster.c (ft_black_reset): Use cast.
-
-	* src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
-	(ALL_POINTS): Fix cast.
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
-
-2013-06-05  Dave Arnold  <[email protected]>
-
-	Fix more MSVC Win32 compiler warnings.
-
-	* src/base/ftobjs.c: Fix typo in MS pragma.
-
-	* src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
-	`lineno' is only used in debug mode.
-
-	* src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in
-	debug mode.
-
-2013-06-05  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-
-	* include/freetype/internal/ftmemory.h: Decorate memory allocation
-	macros with `FT_Long' where appropriate.
-	Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
-	cast.
-
-	* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
-	including `md5.c'.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
-	cast.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
-	(tt_sbit_decoder_load_bitmap): Beautification.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
-	variables (earlier).
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
-	where appropriate.
-
-	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
-
-2013-06-04  Werner Lemberg  <[email protected]>
-
-	* src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'.
-
-	Problem reported by Ingmar Sittl <[email protected]>.
-
-2013-06-04  Werner Lemberg  <[email protected]>
-
-	Apply fixes for cppcheck nitpicks.
-
-	  https://cppcheck.sourceforge.net/
-
-	The call was (from the top-level of the FreeType tree):
-
-	  cppcheck --force \
-	           --enable=all \
-	           -I include \
-	           -I include/freetype/ \
-	           -I include/freetype/config/ \
-	           -I include/freetype/internal/ \
-	           . &> cppcheck.log
-
-	Note that the current version heavily chokes on FreeType, delivering
-	many wrong results.  I will report those issues to the cppcheck team
-	so that a newer version gives improved results hopefully.
-
-	*/* Improve variable scopes.
-	*/* Remove redundant initializations which get overwritten.
-
-	* src/base/ftmac.c, builds/mac/ftmac.c (count_faces_scalable):
-	Remove unused variable.
-
-	* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
-
-	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
-	Remove functionless code.
-
-	* src/tools/ftrandom.c (main): Fix memory leak.
-
-2013-06-03  Werner Lemberg  <[email protected]>
-
-	Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option.
-
-	This controls whether the old FreeType CFF engine gets compiled into
-	FreeType.  It is now disabled by default.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(CFF_CONFIG_OPTION_OLD_ENGINE): New macro.
-
-	* src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c
-	(CFF_Operator, cff_argument_counts, cff_builder_add_point,
-	cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load),
-	src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use
-	CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code.
-
-	* docs/CHANGES: Updated.
-
-2013-06-02  Werner Lemberg  <[email protected]>
-
-	Fix PNG library handling.
-
-	* builds/unix/configure.raw: Don't use LIBPNG_LIBS but
-	LIBPNG_LDFLAGS.
-
-2013-05-23  Behdad Esfahbod  <[email protected]>
-
-	Add support for color embedded bitmaps (eg. color emoji).
-
-	A new load flag, FT_LOAD_COLOR, makes FreeType load color
-	embedded-bitmaps, following this draft specification
-
-	  https://color-emoji.googlecode.com/git/specification/v1.html
-
-	which defines two new SFNT tables, `CBDT' and `CBLC' (named and
-	modeled after `EBDT' and `EBLC', respectively).  The color bitmaps
-	are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
-	pre-multiplied sRGB images.  If PNG support is available, PNG color
-	images as defined in the same proposed specification are supported
-	also.
-
-	Note that color bitmaps are converted to grayscale if client didn't
-	ask for color.
-
-	* builds/unix/configure.raw: Search for libpng.
-	Add `--without-png' option.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_USE_PNG): New macro.
-
-	* include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.
-
-	* include/freetype/ftimage.h (FT_Pixel_Mode): Add
-	`FT_PIXEL_MODE_BGRA'.
-
-	* include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
-	(ft_gray_for_premultiplied_srgb_bgra): New function.
-	(FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.
-
-	* src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.
-
-	* src/sfnt/sfnt.c: Include `pngshim.c'.
-
-	* src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
-	(tt_face_load_eblc): Load `CBLC'.
-	(tt_sbit_decoder_init): Load `CBDT'.
-	(tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
-	color and grayscale bitmaps.
-	Set `num_grays'.  This is used by `ftview' to choose the blending
-	algorithm.
-	(tt_sbit_decoder_load_byte_aligned,
-	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
-	tt_sbit_decoder_load_image): Pass load flag.
-	s/write/pwrite/.
-	Don't call `tt_sbit_decoder_alloc_bitmap'.
-	Updated.
-	(tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
-	(tt_sbit_decoder_load_bitmap): Pass load flag.
-	Handle new glyph formats 17, 18, and 19.
-	Call `tt_sbit_decoder_alloc_bitmap'.
-	Flatten color bitmaps if necessary.
-	(tt_face_load_sbit_image): Updated.
-
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.
-
-	* docs/CHANGES: Updated.
-
-2013-05-24  Guenter  <[email protected]>
-
-	Apply Savannah patch #8055.
-
-	Make `apinames' create an import file for NetWare.
-
-	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.2.
-	(OutputFormat): Add `OUTPUT_NETWARE_IMP'.
-	(names_dump): Handle it.
-	(usage): Updated.
-	(main): Handle new command line flag `-wN'.
-
-2013-05-23  Behdad Esfahbod  <[email protected]>
-
-	Compilation fix.
-
-	* src/truetype/ttinterp.c (TT_RunIns)
-	[!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Make it work.
-
-2013-05-22  Infinality  <[email protected]>
-
-	[truetype] Formatting and an additional subpixel tweak.
-
-	* src/truetype/ttinterp.c (Ins_SHPIX): Formatting fix.
-	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules):
-	Revert previous modification for Verdana clones.
-
-2013-05-22  Infinality  <[email protected]>
-
-	[truetype] Adjust subpixel zp2 moves and tweak rules.
-
-	These modifications fix thin diagonal stems in some legacy fonts.
-
-	* src/truetype/ttinterp.c (Direct_Move_X): Remove unused macro.
-	(Move_Zp2_Point): Don't always disable x moves for subpixel rendering.
-	(Ins_SHP): Disable x moves here for subpixel rendering.
-	(Ins_SHPIX): Only disable x moves in compatibility mode.
-	Split out zp2 move reversals and reorder conditional respectively.
-
-	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): Fix oversight.
-	Only adjust Verdana clones for 17 ppem.
-	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Courier New.
-	(ALWAYS_SKIP_DELTAP_Rules): Found additional cases for Arial `s'.
-
-2013-05-20  Infinality  <[email protected]>
-
-	[truetype] Simplify and improve subpixel function detection.
-
-	Some small enhancements have allowed the removal of many macros and
-	the simplification of existing rules in `ttsubpix.c'.
-
-	* src/truetype/ttsubpix.h (SPH_TWEAK_ALLOW_X_DMOVEX,
-	SPH_TWEAK_ALLOW_X_MOVE_ZP2,
-	SPH_TWEAK_DELTAP_SKIP_EXAGGERATED_VALUES,
-	SPH_TWEAK_SKIP_INLINE_DELTAS, SPH_TWEAK_MIRP_CVT_ZERO): Removed.
-	(SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP): New rule macro.
-
-	* src/truetype/ttsubpix.c: Updated affected rules.
-
-	* src/truetype/ttinterp.c (Direct_Move_X): Updated.
-	(INS_FDEF): Add additional function detection.
-	(INS_ENDF): Set runtime flag.
-	(Ins_CALL): Skip the call under certain conditions.
-	Remove bad code.
-	(Ins_LOOPCALL): Skip the call under certain conditions.
-	Remove bad code.
-	(Move_Zp2_Point): Updated.
-	(Ins_SHPIX): Updated.
-	Skip the move under some situations.
-	(Ins_MIAP): Improve conditions.
-	(Ins_MIRP): Updated.
-	(Ins_DELTAP): Skip move under certain conditions.
-	Simplify conditions.
-	(TT_RunIns): Updated.
-	Add code to handle new function detection.
-	Trace messages.
-
-2013-05-17  Werner Lemberg  <[email protected]>
-
-	Update more FT_Err_XXX macros using FT_ERR and FT_THROW;
-
-	* builds/amiga/src/base/ftsystem.c, builds/mac/ftmac.c,
-	builds/unix/ftsystem.c, builds/vms/ftsystem.c: Do it.
-
-2013-05-15  Werner Lemberg  <[email protected]>
-
-	[truetype] Add `interpreter-version' property.
-
-	This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable
-	at runtime.
-
-	* include/freetype/ftttdrv.h: New file.
-
-	* include/freetype/config/ftheader.h (FT_TRUETYPE_DRIVER_H): New
-	macro.
-
-	* src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H.
-	(tt_property_set, tt_property_get): Fill templates.
-
-	* src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version'
-	member.
-	Remove unused `extension_component' member.
-
-	* src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H.
-	(tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph,
-	compute_glyph_metrics, tt_loader_init): Use `interpreter_version'.
-
-	* src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H.
-	(SUBPIXEL_HINTING): New macro to check `interpreter_version' flag.
-	Update all affected functions to use it.
-	Use TT_INTERPRETER_VERSION_XXX where appropriate.
-
-	* src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H.
-	(tt_driver_init): Initialize `interpreter_version'.
-
-	* src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H.
-	Use TT_INTERPRETER_VERSION_XXX where appropriate.
-
-2013-05-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Avoid empty source file.
-
-	* src/truetype/ttsubpix.c [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]:
-	Provide dummy typedef.
-
-2013-05-13  Werner Lemberg  <[email protected]>
-
-	* src/cff/cf2font.c (cf2_getGlyphWidth): Fix uninitialized variable.
-
-	Fix suggested by Vaibhav Nagarnaik <[email protected]>.
-
-2013-05-13  Brian Nixon  <[email protected]>
-
-	Fix Savannah bug #38970.
-
-	* src/base/ftdebug.c, builds/win32/ftdebug.c,
-	builds/wince/ftdebug.c, builds/amiga/src/base/ftdebug.c
-	(ft_debug_init): Don't read past the environment variable FT2_DEBUG.
-
-2013-05-12  Werner Lemberg  <[email protected]>
-
-	[truetype] Add framework for TrueType properties.
-
-	* src/truetype/ttdriver.c: Include FT_SERVICE_PROPERTIES_H.
-	(tt_property_set, tt_property_get): New functions, still empty.
-	Define `tt_service_properties' service.
-	Update `tt_services'.
-
-	* src/truetype/ttpic.h: Include FT_SERVICE_PROPERTIES_H.
-	(TT_SERVICE_PROPERTIES_GET): New macro.
-	(TTModulePIC): Add `tt_service_properties'.
-
-2013-05-12  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38967.
-
-	* src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast.
-
-2013-05-12  Werner Lemberg  <[email protected]>
-
-	Introduce unsigned 64bit type (if available).
-
-	* include/freetype/config/ftconfig.h: Define FT_UINT64 if available.
-	[FT_LONG64]: Provide FT_UInt64.
-
-	* builds/unix/ftconfig.in: Synchronized.
-
-2013-05-12  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #38968.
-
-	* include/freetype/ftmodapi.h: Add `FT_EXPORT' to
-	FT_Property_{Set,Get}.
-	* src/base/ftobjs.c: Add `FT_EXPORT_DEF' to
-	FT_Property_{Set,Get}.
-
-2013-05-10  Werner Lemberg  <[email protected]>
-
-	[sfnt] Clean up bitmap code.
-
-	* src/sfnt/ttsbit.c: Deleted.
-	* src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'.
-	* rules.mk (SFNT_DRV_H): Updated.
-
-2013-05-10  Werner Lemberg  <[email protected]>
-
-	*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2013-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.26
+++ /dev/null
@@ -1,5711 +1,0 @@
-2016-07-12  Werner Lemberg  <[email protected]>
-
-	* Version 2.6.5 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-5'.
-
-	This commit immediately follows `[mac] Fix ftexport.sym target in
-	Jamfile.' on a separate branch, which was then merged with master
-	after the release.
-
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Comment out.
-
-	* docs/VERSION.TXT: Add entry for version 2.6.5.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.6.4/2.6.5/, s/264/265/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-
-	* builds/unix/configure.raw (version_info): Set to 18:5:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 5.
-
-	* docs/CHANGES: Updated.
-
-2016-07-11  Werner Lemberg  <[email protected]>
-
-	Conditionally compile environment support.
-
-	* include/freetype/internal/ftobjs.h, src/autofit/afmodule.c,
-	src/base/ftobjs.c, src/cff/cffdrivr.c, src/truetype/ttdriver.c:
-	Decorate with `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' where
-	necessary.
-
-2016-07-11  Werner Lemberg  <[email protected]>
-
-	Handle properties in `FREETYPE_PROPERTIES' environment variable.
-
-	This commit covers the most important one.
-
-	* src/autofit/afmodule.c (af_property_set): Handle `warping',
-	`darkening-parameters', and `no-stem-darkening'.
-
-	* src/cff/cffdrivr.c (cff_property_set): Handle
-	`darkening-parameters', `hinting-engine', and `no-stem-darkening'.
-
-	* src/truetype/ttdriver.c (tt_property_set): Handle
-	`interpreter-version'.
-
-2016-07-11  Werner Lemberg  <[email protected]>
-
-	Replace calls to `atol' with `strtol'.
-
-	We later on need strtol's `endptr' feature.
-
-	* include/freetype/config/ftstdlib.h (ft_atol): Replace with...
-	(ft_strtol): ... this.
-
-	* src/base/ftdbgmem.c (ft_mem_debug_init): Updated.
-	* src/cid/cidparse.c (cid_parser_new): Ditto.
-	* src/type42/t42drivr.c (t42_get_name_index), src/type42/t42objs.c
-	(T42_GlyphSlot_Load): Ditto.
-
-2016-07-10  Werner Lemberg  <[email protected]>
-
-	Implement handling of `FREETYPE_PROPERTIES' environment variable.
-
-	Recognizing properties follows in another commit.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES): New macro.
-
-	* include/freetype/config/ftstdlib.h (ft_getenv): New macro.
-
-	* src/base/ftinit.c (ft_set_default_properties): New function to
-	parse `FREETYPE_PROPERTIES' and calling `ft_property_string_set'.
-	(FT_Init_FreeType): Updated.
-
-2016-07-09  Werner Lemberg  <[email protected]>
-
-	Add function `ft_property_string_set'.
-
-	This is a preparation for handling an `FREETYPE_PROPERTIES'
-	environment variable to control (some) driver properties.
-
-	No change in functionality.
-
-	* src/base/ftobjs.c (ft_property_do): Add `value_is_string'
-	parameter.
-	(ft_property_string_set): New function.
-	(FT_Property_Set, FT_Property_Get): Updated.
-
-	* include/freetype/internal/ftobjs.h: Updated.
-
-	* include/freetype/internal/services/svprop.h
-	(FT_Properties_SetFunc): Add `value_is_string' parameter.
-
-	* src/autofit/afmodule.c (af_property_set), src/cff/cffdrivr.c
-	(cff_property_set), src/truetype/ttdriver.c (tt_property_set):
-	Updated, emitting an error currently if `value_is_string' is set.
-
-2016-07-09  suzuki toshiya  <[email protected]>
-
-	[mac] Fix ftexport.sym target in Jamfile.
-
-	* Jamfile: Update the directories of the header files scanned for
-	ftexport.sym.  They were incorrect since the migration of the
-	header files, on 2015-06-22.  Either inexisting include/cache
-	(removed on 2006-03-20) is not needed to be listed explicitly.
-	Now ftmac.h is scanned only in the case of Mac OS & Mac OS X.
-
-2016-07-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Sub-banding protocol revision.
-
-	Rasterization sub-banding is utilized at large sizes while using a
-	rather small fixed memory pool.  Indeed it is possible to make an
-	educated guess how much memory is necessary at a given size for a
-	given glyph.  It turns out that, for a large majority of European
-	glyphs, you should store about 8 times more boundary pixels than
-	their height.  Or, vice versa, if your memory pool can hold 800
-	pixels the band height should be 100 and you should sub-band
-	anything larger than that.  Should you still run out of memory,
-	FreeType bisects the band but you have wasted some time.  This is
-	what has been implemented in FreeType since the beginning.
-
-	It was overlooked, however, that the top band could grow to twice
-	the default band size leading to unnecessary memory overflows there.
-	This commit fixes that.  Now the bands are distributed more evenly
-	and cannot exceed the default size.
-
-	Now the magic number 8 is really suitable for rather simple European
-	scripts.  For complex Chinese logograms the magic number should be
-	13 but that is subject for another day.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding
-	protocol.
-
-2016-07-07  suzuki toshiya  <[email protected]>
-
-	[mac] Fix Savannah bug #48417.
-
-	Mac OS X linker throws errors when `-exported_symbol_list' input
-	file includes non-existing symbols.  Reported by Ryan Schmidt.
-
-	* builds/exports.mk: Exclude ftmac.h from the headers for apinames
-	by default.  Include it when ftmac.c would be compiled.
-
-2016-07-06  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (TInstruction_Function): Removed, unused.
-
-2016-07-05  Werner Lemberg  <[email protected]>
-
-	* Version 2.6.4 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-4'.
-
-	* docs/VERSION.TXT: Update documentation and bump version number to
-	2.6.4.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.6.3/2.6.4/, s/263/264/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-
-	* builds/unix/configure.raw (version_info): Set to 18:4:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 4.
-
-	* docs/CHANGES: Updated.
-
-2016-07-05  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Fix compiler warning.
-
-2016-07-04  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Variable type revision (part 2).
-
-	* src/smooth/ftgrays.c (TArea): Restore original definition as `int'.
-	(gray_render_line) [FT_LONG64]: Updated.
-	(gray_convert_glyph): 32-bit band bisection stack should be 32 bands.
-	(gray_convert_glyph_inner): Trace successes and failures.
-
-2016-07-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Handle single-point contours as segments.
-
-	Doing so allows us to link them to edges – some fonts like
-	`NotoSansGurmukhi-Regular' have such isolated points sitting exactly
-	on other outlines.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Don't
-	ignore one-point contours but handle them specially as one-point
-	segments.
-	(af_latin_hints_compute_edges): Append one-point segments to edges
-	if possible.
-
-2016-07-02  Werner Lemberg  <[email protected]>
-
-	[autofit] Remove unused structure members.
-
-	* src/autofit/afhints.h (AF_SegmentRec, AF_EdgeRec): Remove
-	`num_linked'.
-
-	* src/autofit/afcjk.c (af_cjk_hints_link_segments): Updated.
-
-2016-07-02  Werner Lemberg  <[email protected]>
-
-	[autofit] Update to Unicode 9.0.0.
-
-	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
-	af_cyrl_uniranges): Add new data.
-
-2016-07-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Variable type revision (part 1).
-
-	This patch restores original `TCoord' definition as `int' so that the
-	rendering pool is used more efficiently on LP64 platforms (unix).
-
-	* src/smooth/ftgrays.c (gray_TWorker, TCell, gray_TBand): Switch some
-	fields to `TCoord'.
-	(gray_find_cell, gray_render_scanline, gray_render_line, gray_hline,
-	gray_sweep, gray_convert_glyph): Updated.
-
-2016-06-28  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Minor clean-ups.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'.
-	(gray_sweep, gray_convert_glyph, gray_dump_cells): Updated.
-
-2016-06-27  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Minor clean-ups.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile
-	qualifier.
-	(gray_raster_render): Move span initializations from here.
-	(gray_sweep): ... to here and remove unused `target' argument.
-
-2016-06-26  Alexei Podtelezhnikov  <[email protected]>
-
-	[pcf] Fix handling of very large fonts (#47708).
-
-	* src/pcf/pcfread.c (pcf_get_encodings): Make `encodingOffset' an
-	unsigned short.
-	Only reject `0xFFFF' as an invalid encoding offset.
-
-2016-06-25  Werner Lemberg  <[email protected]>
-
-	[truetype] Really fix deallocation in case of error (#47726).
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize
-	`outline.points' also.
-
-2016-06-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Consolidate memory management.
-
-	* src/smooth/ftgrays.c (gray_init_cells): Remove function.
-	(gray_TWorker): Remove fields that become local variables.
-	(gray_raster_render): Move rendering buffer declaration from here.
-	(gray_convert_glyph): ... to here and update accordingly.
-
-2016-06-22  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Consolidate boundary checks.
-
-	Removing the checks from `gray_hline' shaves 1% off rendering speed.
-
-	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'.
-	(gray_TWorker): No need to store `clip_box'.
-	(gray_hline): Remove unnecessary boundary checks.
-	(gray_convert_glyph): Move boundary checks from here.
-	(gray_raster_render): ... to here and consolidate.
-
-2016-06-21  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Use `FT_Outline_Get_CBox'.
-
-	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'.
-	(gray_compute_cbox): Remove this function.
-	(gray_convert_glyph): Update to use `FT_Outline_Get_CBox'.
-
-2016-06-20  Werner Lemberg  <[email protected]>
-
-	[smooth] Remove compiler warnings.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
-
-2016-06-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Sanitize memory management.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
-
-2016-06-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Remove `band_shoot' that never worked.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
-	(gray_convert_glyph): Updated.
-
-2016-06-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[raster, smooth] Handle FT_RENDER_POOL_SIZE better.
-
-	* src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro.
-	(ft_black_render): Updated.
-	* src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro.
-	(gray_raster_render): Updated.
-
-2016-06-16  Werner Lemberg  <[email protected]>
-
-	* src/base/md5.c: Updated to recent version.
-
-2016-06-14  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
-
-2016-06-13  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Cherokee script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Cherokee.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Cherokee standard characters.
-
-	* src/autofit/afranges.c: Add Cherokee data.
-
-	* src/autofit/afstyles.h: Add Cherokee data.
-
-2016-06-09  David Capello  <[email protected]>
-
-	[cmake] Avoid modifying `ftconfig.h' and `ftoption.h' files.
-
-	* CMakeLists.txt: Each time cmake is run those files are
-	modified and the whole FreeType library is recompiled.  With this
-	change we change the files only if there are real modifications, so
-	we can avoid recompilations.
-
-2016-06-09  Werner Lemberg  <[email protected]>
-
-	[bdf] Check number of properties (#48166).
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Implement.
-
-2016-06-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Re-enable new line renderer on 64-bit archs.
-
-	* src/smooth/ftgrays.c (gray_render_line): Conditionally re-enable new
-	implementation, where it is safe from overflows.
-
-2016-06-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Minor clean-ups.
-
-	* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
-	(gray_render_span): Remove spurious casts and streamline.
-
-2016-06-07  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Ethiopic script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Ethiopic.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Ethiopic standard characters.
-
-	* src/autofit/afranges.c: Add Ethiopic data.
-
-	* src/autofit/afstyles.h: Add Ethiopic data.
-
-2016-06-07  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix compilation with VS2016 (#48126).
-
-	This compiler doesn't recognize the end-of-comment sequence `*/' if
-	it immediately follows non-ASCII characters.
-
-	* src/autofit/afscript.h: Ensure whitespace before `*/'.
-
-2016-06-04  Werner Lemberg  <[email protected]>
-
-	Fix a test for named instances (#48122).
-
-	This was missed while giving negative face indices an extended
-	meaning.
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Implement.
-
-2016-05-31  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] Let SHPIX move points in the twilight zone in v40.
-
-	* src/truetype/ttinterp.c (Ins_SHPIX): Allow SHPIX to move points in
-	the twilight zone.  Otherwise, treat SHPIX the same as DELTAP.
-	Unbreaks various fonts such as older versions of Rokkitt and DTL
-	Argo T Light that would glitch severely after calling ALIGNRP after a
-	blocked SHPIX.
-
-2016-05-30  Werner Lemberg  <[email protected]>
-
-	[type42] Support `CharStrings' entry format as created by LilyPond.
-
-	* src/type42/t42parse.c (t42_parse_charstrings): Handle entries
-	having the format
-
-	  (foo) cvn 12345 def
-
-2016-05-28  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afranges.c: Remove `UL' postfix from hex numbers.
-
-	Suggested by Alexei.  `UL' is only needed for 16bit compilers, but
-	it seems noone is using this anymore (and we no longer test whether
-	FreeType compiles in such an environment).  Otherwise, it is easy to
-	add the postfix to the `AF_UNICODE_RANGE' macro.
-
-2016-05-26  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Shrink bisection stack.
-
-	The convergence of Bézier flatteners is fast with the deviation
-	from straight line being asymptotically cut 4-fold on each bisection.
-	This justifies smaller bisection stack size.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'.
-	(gray_render_conic): Create and use conic `bez_stack'. Move back the
-	band analysis from...
-	(gray_conic_to): ... here.
-	(gray_render_cubic): Create and use cubic `bez_stack'. Move back the
-	band analysis from...
-	(gray_cubic_to): ... here.
-	(gray_move_to): Updated.
-
-2016-05-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Fixes for Armenian and Gujarati ranges.
-
-	* src/autofit/afranges.c (af_armn_uniranges): Corrected.
-	(af_guru_nonbase_uniranges): Make U+0A3E a base character.
-
-2016-05-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Armenian script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Armenian.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Armenian standard characters.
-
-	* src/autofit/afranges.c: Add Armenian data.
-
-	* src/autofit/afstyles.h: Add Armenian data.
-
-2016-05-23  Werner Lemberg  <[email protected]>
-
-	* builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'.
-
-	This was commented about 10 years ago – I think the reason then to
-	disable libtool's `-export-symbols' option was to give some badly
-	programmed applications access to internal FreeType functions.
-
-	I believe that we should no longer take care of such programs; the
-	number of symbols exported should be rather restricted as much as
-	possible.
-
-2016-05-22  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Gurmukhi script.
-
-	This essentially moves the Gurmukhi script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Gurmukhi.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Gurmukhi standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Gurmukhi data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Gurmukhi data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-05-21  Werner Lemberg  <[email protected]>
-
-	Minor clang++ fixes.
-
-	* src/base/ftobjs.c (FT_Add_Module), src/psaux/psobjs.c
-	(ps_parser_load_field), src/type1/t1load.c (parse_subrs): Add
-	initializer.
-
-	* src/cache/ftccache.h (FTC_CACHE_TRYLOOP_END): Avoid implicit
-	conversion from NULL to boolean.
-
-2016-05-21  Werner Lemberg  <[email protected]>
-
-	Work around a bug of the C 8.0.0.1 compiler on AIX 5.3 (#47955).
-
-	* include/freetype/internal/ftmemory.h (cplusplus_typeof): Use
-	braces for `extern "C++"'.
-
-2016-05-17  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3].
-
-	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with...
-	(tt_loader_set_pp): ... this new function.
-	Update all callers.
-
-2016-05-17  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] New implementation of v38 bytecode interpreter [2/3].
-
-	This patch actually modifies the bytecode interpreter.
-
-	See added comments in `ttinterp.h' for more information on this and
-	the following commit in the series.
-
-	* src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by...
-	(NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY,
-	SUBPIXEL_HINTING_MINIMAL): ...new macros.
-	(Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backward
-	compatibility.
-	Updated.
-	(Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD):
-	Updated.
-	(Ins_INSTCTRL): Handle native ClearType mode flag.
-	Updated.
-	(Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backward
-	compatibility.
-	(Move_Zp2_Point): Ditto.
-	(Ins_SHP): Updated.
-	(Ins_SHPIX): Handle backward compatibility.
-	Updated.
-	(Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated.
-	(Ins_ALIGNRP): Updated.
-	(Ins_IUP, Ins_DELTAP): Handle backward compatibility.
-	Updated.
-	(Ins_GETINFO): Handle v38 flags.
-	Updated.
-	(TT_RunIns): Handle backward compatibility mode.
-	Updated.
-
-2016-05-17  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] New implementation of v38 bytecode interpreter [1/3].
-
-	This patch prepares data structures and the like.
-
-	See added comments in `ttinterp.h' for more information on this and
-	the following commits in the series.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate
-	between subpixel versions.
-	(TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY,
-	TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros.
-
-	* include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
-	`subpixel_hinting_lean', `vertical_lcd_lean',
-	`backward_compatibility', `iupx_called', iupy_called', and
-	`grayscale_cleartype' for new hinting mode.
-
-	* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
-	interpreters conditionally.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
-	in v38 backward compatibility mode.
-	Updated.
-	(compute_glyph_metrics): Add v38 backward compatibility mode
-	constraint for adjusting advance widths.
-	Updated.
-	(tt_loader_init): Handle new flags `subpixel_hinting_lean',
-	`grayscale_cleartype', and `vertical_lcd_lean'.
-	Updated.
-	(tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP):
-	Updated.
-
-	* src/truetype/ttobjs.c (tt_driver_init): Conditionally set
-	default interpreter version number.
-
-	* src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated.
-
-2016-05-17  Werner Lemberg  <[email protected]>
-
-	[cff] Fix matrix scaling (#47848).
-
-	* include/freetype/config/ftstdlib.h (FT_LONG_MIN): New macro.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix): Use largest scaling
-	value of all matrix coefficients to scale matrix.
-
-	* src/cff/cffobjs.c (cff_face_init): Use `matrix->yx' member for
-	matrix normalization if `matrix->yy' is zero.
-
-2016-05-16  Werner Lemberg  <[email protected]>
-
-	[base] Reject invalid sfnt Mac resource (#47891).
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Check validity
-	of `CID ' and `TYPE1' table offset and length.
-
-2016-05-16  Werner Lemberg  <[email protected]>
-
-	[cid] Fix scanning for `StartData' and `/sfnts' (#47892).
-
-	* src/cid/cidparse.c (STARTDATA, STARTDATA_LEN, SFNTS, SFNTS_LEN):
-	New macros.
-	(cid_parser_new): Fix and document algorithm.
-
-2016-05-16  suzuki toshiya  <[email protected]>
-
-	[truetype] Improve the recursive reference detector.
-
-	The previous fix for #46372 misunderstood a composite glyph referring
-	same component twice as a recursive reference.  See the discussion
-
-	  https://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html
-
-	Thanks to Khaled Hosny for finding this issue.
-
-	* src/truetype/ttgload.c (ft_list_get_node_at): A function to get
-	the i-th node from FT_List.
-	(load_truetype_glyph): In the traversal scan of the reference tree
-	in the composite glyph, we clear the nodes filled by previous
-	sibling chain.
-
-2016-05-07  Werner Lemberg  <[email protected]>
-
-	[cache] Allow value 0 for face ID.
-
-	We never dereference `face_id', and some implementations might use a
-	running number instead of a pointer.  Additionally, disallowing
-	value zero was undocumented.
-
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
-	(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
-	`face_id'.
-
-2016-05-05  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] More efficient accounting of conic splits and draws.
-
-	A single decrement counter of segments to draw, instead of an array,
-	contains all the information necessary to decide when to split and
-	when to draw a conic segment. The number of splits before each draw is
-	equal to the number of trailing zeros in the counter.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'.
-	(gray_render_conic): Updated to use decrement counter of segments.
-
-2016-05-05  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Fix logic for `FT_Property_Set'.
-
-	Otherwise some properties could be set to arbitrary values, which is
-	harmless, but querying could give wrong positive results.
-
-	* src/cff/cffdrivr.c (cff_property_set) [hinting-engine],
-	* src/truetype/ttdriver.c (tt_property_set) [interpreter-version]:
-	Only allow defined values.
-
-2016-04-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Gujarati script.
-
-	This essentially moves the Gujarati script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Gujarati.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Gujarati standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Gujarati data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Gujarati data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-04-24  Werner Lemberg  <[email protected]>
-
-	Minor.
-
-	* include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Protect macro
-	argument with parentheses.
-
-2016-04-24  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix deallocation in case of error (#47726).
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in
-	`outline' that are going to be deallocated in case of error.
-
-2016-04-23  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve Georgian blue zone characters.
-
-	Suggested by Akaki Razmadze <[email protected]>.
-
-	* src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM):
-	Updated.
-
-	* src/autofit/afblue.c: Regenerated.
-
-2016-04-16  David Capello  <[email protected]>
-
-	[cmake] Honor SKIP_INSTALL_* settings (as used in zlib).
-
-	As FreeType depends on zlib, if we don't install zlib (e.g., because
-	we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too
-	(cmake triggers an error saying that FreeType cannot be installed
-	because zlib target isn't in the export set).
-
-	* CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS',
-	`SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
-
-2016-04-16  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Another fix for non-intermediate GX tuples.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Add some missing
-	cases.
-
-2016-04-12  Alexei Podtelezhnikov  <[email protected]>
-
-	Remove forgotten macro.
-
-	* include/freetype/internal/internal.h
-	[FT_INTERNAL_POSTSCRIPT_GLOBALS_H]: Remove.
-
-2016-04-09  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Georgian scripts.
-
-	Georgian is problematic, since `uppercase' forms of Mkhedruli
-	(called Mtavruli) are not yet defined in Unicode, which means that
-	proper blue zones can't be defined.  However, there is already a
-	proposal submitted to Unicode; see
-
-	  https://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf
-
-	Additionally, due to historical reasons, Unicode treats Khutsuri as
-	the same script as Mkhedruli, and so does OpenType.  However, since
-	the two scripts have completely different shapes it can happen that
-	blue zones differ considerably.  The tag `geok' used here (derived
-	from ISO 15924) to differentiate the two scripts is not an OpenType
-	tag in use.  If we now have a font that contains both glyphs for
-	Mkhedruli and Khutsuri, and it uses OpenType features for both also,
-	HarfBuzz unavoidably treats all glyphs as `geor'.  As a consequence,
-	blue zones for `geok' are not used for glyphs involved in the
-	OpenType features.
-
-	An issue not yet resolved is which OpenType feature should be used
-	to access Mtavruli glyph shapes; right now, FreeType doesn't set up
-	support for them, but it is easy to add them later on as soon as
-	more information is available.
-
-	* src/autofit/afblue.dat: Add blue zone data for Georgian.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Georgian standard characters.
-
-	* src/autofit/afranges.c: Add Georgian data.
-
-	* src/autofit/afstyles.h: Add Georgian data.
-
-2016-04-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Provide dummy blue zone for pseudo script `none'.
-
-	Even if the dummy hinter is used as the handler for `none' (which
-	doesn't use blue zones), it is more consistent than the old value
-	(which was 0), pointing to Arabic...
-
-	* src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE.
-
-2016-03-30  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_aux_name_load): Thinko (#47567).
-
-2016-03-30  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_log_font_count): Better font size estimate.
-
-2016-03-30  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567).
-
-2016-03-29  Werner Lemberg  <[email protected]>
-
-	* src/base/ftadvanc.c (FT_Get_Advances): Fix invalid left shift.
-
-2016-03-29  Werner Lemberg  <[email protected]>
-
-	[pfr] Fix binary search (#47514).
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
-	conditions correctly.
-
-2016-03-29  Werner Lemberg  <[email protected]>
-
-	[pfr] Minor.
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left',
-	`right', and `middle' with `min', `max', and `mid' as used in other
-	FreeType binary search code.
-	(pfr_load_bitmap_metrics): Fix invalid left shift.
-
-2016-03-29  Werner Lemberg  <[email protected]>
-
-	* src/pfr/pfrtypes.h: Replace all enums with macros.
-
-	We need `~FOO' to unset bits, and only with unsigned values (which
-	`enum' isn't normally) this works cleanly.
-
-2016-03-26  Werner Lemberg  <[email protected]>
-
-	[pfr] Robustify bitmap strike handling (#47514).
-
-	We did a binary search for a charcode without ensuring that the
-	searched data is ordered.  Validating the order is now done lazily,
-	this is, the first access to a bitmap glyph triggers the order check
-	in the corresponding bitmap strike.
-
-	* src/pfr/pfrtypes.h (PFR_BitmapFlags): New values
-	`PFR_BITMAP_VALID_CHARCODES' and `PFR_BITMAP_CHARCODES_VALIDATED'.
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Make `flags' argument
-	a pointer.  Handle new PFR_BITMAP_XXX flags.
-	(pfr_slot_load_bitmap): Updated.
-
-2016-03-26  Werner Lemberg  <[email protected]>
-
-	[pfr] Fix handling of compound glyphs.
-
-	Extra items are indicated with different bit positions.
-
-	* src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace
-	`PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and
-	`PFR_GLYPH_COMPOUND_EXTRA_ITEMS'.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_simple,
-	pfr_glyph_load_compound): Use them.
-
-2016-03-25  Werner Lemberg  <[email protected]>
-
-	[pfr] Minor.
-
-	* src/pfr/pfrsbit.c, src/pfr/pfrobjs.c: Use flag names instead of
-	bare numbers.
-
-2016-03-25  Werner Lemberg  <[email protected]>
-
-	[pfr] Various clang sanitizer fixes.
-
-	* src/pfr/pfrsbit.c (pfr_load_bitmap_metrics): Correctly handle
-	signed nibbles.
-	(pfr_slot_load_bitmap): Correctly exit frame in case of error.
-	Fix invalid left shifts.
-
-2016-03-23  Werner Lemberg  <[email protected]>
-
-	Rename `VERSION.DLL' (#47472).
-
-	* docs/VERSION.DLL: Renamed to...
-	* docs/VERSIONS.TXT: ...this.
-
-2016-03-23  Werner Lemberg  <[email protected]>
-
-	[raster, smooth] Directly test outline size (#47500).
-
-	This improves stand-alone compilation.
-
-	* src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to...
-
-	* src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c
-	(gray_raster_render): ...these functions.
-
-2016-03-23  Werner Lemberg  <[email protected]>
-
-	[raster, smooth] Fix some clang sanitizer runtime issues.
-
-	* src/raster/ftraster.c (ft_black_reset, ft_black_set_mode,
-	ft_black_render): Harmonize signatures with `ftimage.h'.
-
-	* src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset):
-	Ditto.
-
-2016-03-22  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor.
-
-	This fixes an AddressSanitizer issue:
-
-	  ttgload.c:430:7: runtime error: null pointer passed as argument 1,
-	                   which is declared to never be null
-
-2016-03-21  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Thinko.
-
-	This fixes the previous commit to this file.
-
-2016-03-21  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Partly revert recent changes.
-
-	* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
-	conditions to fix rendering issues.
-
-2016-03-20  Werner Lemberg  <[email protected]>
-
-	[autofit] Show `near' points in tracing.
-
-	* src/autofit/afhints.h (AF_FLAG_NEAR): New macro.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it.
-	(af_glyph_hints_reload): Handle AF_FLAG_NEAR.
-
-2016-03-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Minor refactoring and microoptimizations.
-
-	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
-	band clipping from here.
-	(gray_conic_to, gray_cubic_to): ... to here.
-	(gray_render_line, gray_render_scanline): Initialize variables closer
-	to their use.
-
-2016-03-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Minor refactoring.
-
-	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
-	upscaling from here.
-	(gray_conic_to, gray_cubic_to): ... to here.
-
-2016-03-15  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize.
-
-2016-03-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Temporarily revert 6eb6158dd787 (#47114).
-
-	* src/smooth/ftgrays.c (gray_render_line): Old implementation.
-
-2016-03-12  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Improve coverage of rasterfuzzer.
-
-	* src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use
-	input data for `tags' array also.
-	Trim input data to get more positive hits.
-
-2016-03-11  Pavlo Denysov  <[email protected]>
-
-	Fix CMake issues for iOS (patch #8941).
-
-	* CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory.
-	* builds/cmake/iOS.cmake: No longer enforce gcc.
-
-2016-03-09  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Fix handling of non-intermediate GX tuples.
-
-	We probably did not notice this as all fonts we tested had only
-	tuple_coords[i] be +1 or -1 for non-intermediate tuples.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Implement it.
-
-2016-03-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Refuse to render enormous outlines (#47114).
-
-	The goal is to avoid integer overflows in the rendering algorithms.
-	The limit is chosen arbitrarily at some 2^18 pixels, which should be
-	enough for modern devices including printers.
-
-	* src/base/ftoutln.c (FT_Outline_Render): Check CBox and reject
-	enormous outlines.
-
-2016-03-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Replace left shifts with multiplications (#47114).
-
-	* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
-
-2016-03-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Avoid excessive stem length rounding (#25392).
-
-	* src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument
-	to pass difference between hinted and unhinted position of base
-	point; use this to adjust the stem width depending on the PPEM so
-	that it doesn't become too large under certain circumstances.
-	Update all callers using value 0 for this argument except...
-	(af_latin_align_linked_edge): Pass position delta of base point to
-	`af_latin_compute_stem_width'.
-
-2016-03-05  J Raynor  <[email protected]>
-
-	Make FreeType compile on AIX out of the box.
-
-	* builds/unix/configure.raw (XX_ANSIFLAGS): Don't use `-ansi' on
-	AIX.
-
-2016-03-01  Werner Lemberg  <[email protected]>
-	    Kostya Serebryany  <[email protected]>
-
-	[ftfuzzer] Add unit for testing smooth and black rasterizers.
-
-	* src/tools/ftfuzzer/rasterfuzzer.cc: New file.
-
-2016-03-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix reallocation error introduced in 2016-02-27 (#47310).
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Reassign
-	`prev_segment' after reallocation.
-
-2016-03-01  Werner Lemberg  <[email protected]>
-
-	Fix clang warnings.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Use
-	FT_UShort for `min_flags' and `max_flags'.
-	Initialize `prev_*' variables.
-
-	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix
-	types of local variables.
-
-	* src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]:
-	Update `printf' format string.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast.
-	(LLVMFuzzerTestOneInput): Fix loop type.
-
-2016-02-29  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Sinhala script.
-
-	This essentially moves the Sinhala script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Sinhala.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Sinhala standard character and move data
-	out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Sinhala data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Sinhala data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-02-27  Werner Lemberg  <[email protected]>
-
-	[autofit] Properly handle spikes pointing to the x-axis.
-
-	An example that gets better rendered is glyph `uusignTaml' (glyph
-	index 2286) in font `FreeSerif.ttf' (Version 0412.2263) at 22ppem.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Properly
-	handle segments where the last point of the first segment is
-	identical to the first point in the second one.  This can happen for
-	malformed fonts or spikes.  We either merge the new segment with the
-	previous one (both segments point into the same direction), or we
-	discard the shorter segment if they point into different directions.
-
-2016-02-27  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor code clean-up.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Change
-	some local variable names to better differentiate between values
-	along a segment and values orthogonal to it.
-
-2016-02-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve BOUND action.
-
-	In complex glyph shapes, the original logic was too simple to cater
-	for situations that would actually need something similar to PS Hint
-	masks.  This fix should alleviate the worst cases.
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Don't allow
-	complete disappearance of stems.
-
-2016-02-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Tamil script.
-
-	This essentially moves the Tamil script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Tamil.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Tamil standard character and move data
-	out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Tamil data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Tamil data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-02-18  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Malayalam script.
-
-	This essentially moves the Malayalam script from the `Indic' hinter
-	to the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Malayalam.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Malayalam standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Malayalam data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Malayalam data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-02-16  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Fix integer overflow (#47114).
-
-	* src/smooth/ftgrays.c (TArea): Make it unconditionally `long'.
-
-2016-02-15  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_multiple_master): Improve tracing.
-
-2016-02-15  Werner Lemberg  <[email protected]>
-
-	[cff] Handle T2 operator only with old CFF engine (#47157).
-
-	* src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with
-	#ifdef CFF_CONFIG_OPTION_OLD_ENGINE...#endif.
-
-2016-02-15  Werner Lemberg  <[email protected]>
-
-	[cff] Partially handle `load' and `store' ops in old CFF engine.
-
-	Now all glyphs of MM CFFs like `ITCGaramondMM-It.otf' can be
-	displayed.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_store,
-	cff_op_load>: Partially implement it.
-
-	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass
-	the number of Multiple Master axes.
-	Update all callers.
-	(cff_parse_multiple_master): Get number of axes.
-	(cff_parser_run) <opcode 31>: Updated.
-	* src/cff/cffparse.h: Updated.
-	(CFF_ParserRec): Add `num_axes' field.
-
-	* src/cff/cffload.c: Updated.
-
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_axes' field.
-
-2016-02-15  Werner Lemberg  <[email protected]>
-
-	[cff] Correctly trace SIDs that contain NULL bytes.
-
-	We need this to properly trace Multiple Master CFFs, which contain
-	two SIDs that are charstrings.
-
-	This commit makes FreeType also show the last SID, omitted
-	previously due to a bug.
-
-	* src/cff/cfftypes.h (CFF_FontRec): Add `string_pool_size' field.
-
-	* src/cff/cffload.c (cff_index_get_pointers): Add argument to return
-	the pool size.
-	Update all callers.
-
-	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Directly
-	access `cff->strings' to display the non-default strings.
-
-2016-02-14  Werner Lemberg  <[email protected]>
-
-	* src/base/fthash.c: Include FT_INTERNAL_MEMORY_H.
-
-2016-02-14  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c: Include `cffgload.h'.
-
-	Problem reported by Colin Walters <[email protected]>.
-
-2016-02-14  Werner Lemberg  <[email protected]>
-
-	[cff] Make old CFF engine show MM CFFs (without variations).
-
-	The new code only displays the first master in the font.
-
-	* src/cff/cffgload.c (cff_decode_parse_charstrings): Add new
-	parameter to allow function calls from dictionaries also.
-	<cff_op_blend>: Partially implement it.
-	Update all callers.
-	* src/cff/cffgload.h: Updated.
-
-	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass the
-	number of Multiple Master designs.
-	Update all callers.
-	(cff_parse_multiple_master): New function to rudimentarily parse
-	operator.
-	(cff_parser_run): Handle `T2' operator.
-	* src/cff/cffparse.h: Updated.
-	(CFF_ParserRec): Add `num_designs' field.
-
-	* src/cff/cffload.c: Updated.
-
-	* src/cff/cfftoken.h: Handle `MultipleMaster' operator.
-
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_designs' field.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Don't handle `fvar' table for
-	MM CFFs.
-
-2016-02-09  Werner Lemberg  <[email protected]>
-
-	[docmaker] Don't emit trailing newlines.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_code):
-	Use `rstrip'.
-
-2016-02-07  Werner Lemberg  <[email protected]>
-
-	* Version 2.6.3 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-3'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.3.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.6.2/2.6.3/, s/262/263/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-	* builds/unix/configure.raw (version_info): Set to 18:3:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 3.
-
-	* docs/CHANGES: Updated.
-
-2016-02-07  Werner Lemberg  <[email protected]>
-
-	Fix another runtime error found by clang's sanitizer (#47082).
-
-	* src/base/ftstroke.c (ft_stroke_border_export): Properly handle
-	empty input buffer.
-
-2016-02-07  Werner Lemberg  <[email protected]>
-
-	Fix runtime errors found by clang's sanitizer (#47082).
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
-	(FT_Outline_Copy), src/cache/ftcsbits.c (ftc_sbit_copy_bitmap):
-	Properly handle empty input buffer.
-
-2016-02-07  Werner Lemberg  <[email protected]>
-
-	[cff] Minor.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_sqrt>:
-	Remove dead code.
-
-2016-02-07  Werner Lemberg  <[email protected]>
-
-	[cff] Implement missing operators in new engine (except `random').
-
-	* src/cff/cf2font.h (CF2_STORAGE_SIZE): New macro.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): Implement the
-	following operators: abs, add, and, div, drop, dup, eq, exch, get,
-	ifelse, index, mul, neg, not, or, put, roll, sqrt, sub.
-
-	* src/cff/cf2stack.h, src/cff/cf2stack.c (cf2_stack_roll): New
-	auxiliary function for `roll' operator.
-
-2016-02-06  Werner Lemberg  <[email protected]>
-
-	[cff] Fix some Type 2 operators in old CFF engine.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Fix `eq'
-	operator, add `not' and (unsupported) `blend' operators.
-
-2016-02-05  Sebastian Rasmussen  <[email protected]>
-
-	Make direct call of `make install' work (#47072).
-
-	* builds/unix/unix-def.in (freetype-config): Make sure
-	`freetype-config' is generated for both make targets (`all' and
-	`install').
-
-2016-02-05  Werner Lemberg  <[email protected]>
-
-	[base] Fix advance width loading for MM and GX fonts (#47064).
-
-	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Return false for
-	MM and GX fonts.
-	Update callers.
-
-2016-02-03  Werner Lemberg  <[email protected]>
-
-	[cff] Fix handling of face_index == -1 for pure CFF.
-
-	* src/cff/cffobjs.c (cff_face_init): Return correct number of faces.
-
-2016-01-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor tracing improvement.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline
-	at the start of a new contour.
-
-2016-01-28  Nikolaus Waxweiler  <[email protected]>
-
-	Remove unpatented hinter (3/3).
-
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
-	`ignore_unpatented_hinter' field.
-	Update users.
-	(FT_DEBUG_HOOK_UNPATENTED_HINTING): Remove.
-	Update users.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove
-	`unpatented_hinting' field.
-	Update users.
-
-	* src/base/ftpatent.c (_tt_check_patents_in_range,
-	_tt_check_patents_in_table, _tt_face_check_patents): Remove.
-	(FT_Face_CheckTrueTypePatents, FT_Face_SetUnpatentedHinting):
-	Replace code with dummies.
-
-	* src/truetype/ttobjs.c (tt_face_init): Remove now defunct code.
-	* src/truetype/ttobjs.h (TT_GraphicsState): Remove `both_x_axis'
-	field.
-
-2016-01-28  Nikolaus Waxweiler  <[email protected]>
-
-	Remove unpatented hinter (2/3).
-
-	* devel/ftoption.h (TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
-
-2016-01-28  Nikolaus Waxweiler  <[email protected]>
-
-	Remove unpatented hinter (1/3).
-
-	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_UNPATENTED_HINTING]:
-	Remove all code related to this macro.
-
-2016-01-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Kannada script.
-
-	This essentially moves the Kannada script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Kannada.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Kannada standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Kannada data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Kannada data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-01-22  Alexei Podtelezhnikov  <[email protected]>
-
-	Better access to 64-bit integers for C99 compilers.
-
-	* include/freetype/config/ftconfig.h [FT_LONG64]: Use
-	__STDC_VERSION__ to define 64-bit integers.
-	* builds/unix/ftconfig.in [FT_LONG64]: Ditto.
-	* builds/vms/ftconfig.h [FT_LONG64]: Ditto.
-
-2016-01-21  Werner Lemberg  <[email protected]>
-
-	[gxvalid] Remove commented out code.
-
-	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Do it.
-
-2016-01-20  Werner Lemberg  <[email protected]>
-
-	[autofit] Complete last autofit commit.
-
-	Problem reported by Kostya Serebryany <[email protected]>.
-
-	* src/autofit/afshaper.c (af_shaper_get_coverage)
-	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Update signature.
-
-2016-01-20  Werner Lemberg  <[email protected]>
-
-	Still handle `__FTERRORS_H__'.
-
-	We need this for backward compatibility.
-
-	Problem reported by John Emmas <[email protected]>.
-
-	* include/freetype/fterrors.h: Fix inclusion guard so that
-	undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as
-	expected.
-
-2016-01-19  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix handling of default script.
-
-	Patch taken from ttfautohint, commit
-	071ae2c00e0d67f9d19418f4fade1c23d27dc185.
-
-	There were two bugs.
-
-	  - We now use non-standard script tags like `khms' for special
-	    purposes.  However, HarfBuzz maps such tags to `DFLT', and
-	    without this commit the associated lookups were incorrectly
-	    assigned to the non-standard tags.
-
-	  - Let's assume we have a Bengali font, and the font's `DFLT'
-	    script tag handles the necessary lookups for Bengali, too.
-	    Without this commit, the `DFLT' lookups were assigned to
-	    ttfautohint's default script (usually `latn') before the
-	    standard lookups for Bengali were handled.
-
-	    We now have the following order while searching for covered
-	    glyph indices.
-
-	      special features of scripts (e.g. `sups' for Cyrillic)
-	      Unicode mappings of scripts
-	      remaining features of scripts (especially important for Indic
-	        scripts)
-	      default features of default script
-
-	* src/autofit/afshaper.c, src/autofit/afshaper.h
-	(af_shaper_get_coverage): Add boolean parameter to indicate default
-	script.
-	Update all callers.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Fix search order for coverages.
-
-2016-01-19  Werner Lemberg  <[email protected]>
-
-	Various minor clang fixes.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
-	`ch'.
-
-	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast.
-
-	* src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast.
-
-	* src/base/fthash.c (hash_num_lookup): Add cast.
-
-	* src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast.
-
-	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out
-	redundant code.
-
-	* src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add
-	cast.
-
-	* src/type1/t1load.c (parse_subrs): Fix type of `count'.
-
-2016-01-19  Derek B. Noonburg  <[email protected]>
-
-	[truetype] Add another tricky font.
-
-	* src/truetype/ttobjs.c (TRICK_SFNT_IDS_NUM_FACES): Increase.
-	(sfnt_id): Add variant of `DFKaiShu'.
-
-2016-01-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Empower `FT_Library_SetLcdFilterWeights'.
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): Enable filter
-	in addition to setting weights.
-	(FT_Library_SetLcdFilter): Clean out FT_FORCE_LIGHT_LCD_FILTER and
-	FT_FORCE_LEGACY_LCD_FILTER.
-	* include/freetype/ftlcdfil.h: Documentation update.
-
-2016-01-12  Werner Lemberg  <[email protected]>
-
-	Don't use macro names that start with `_[A-Z]' [3/3].
-
-	Such macro names are reserved for both C and C++.
-
-	* src/cache/ftccache.h: s/_FTC_FACE_ID_HASH/FTC_FACE_ID_HASH/.
-	Update all callers.
-	(FTC_CACHE_LOOKUP_CMP): Replace `_XXX' with `XXX_'.
-	* src/cache/ftcmru.c (FTC_MRULIST_LOOKUP_CMP): Ditto.
-
-2016-01-12  Werner Lemberg  <[email protected]>
-
-	Don't use macro names that start with `_[A-Z]' [2/3].
-
-	Such macro names are reserved for both C and C++.
-
-	* include/freetype/ftimage.h, src/raster/ftraster.c,
-	src/smooth/ftgrays.c, src/smooth/ftgrays.h:
-	s/_STANDALONE_/STANDALONE_/.
-
-2016-01-12  Werner Lemberg  <[email protected]>
-
-	Don't use macro names that start with `_[A-Z]' [1/3].
-
-	Such macro names are reserved for both C and C++.
-
-	* src/bdf/bdflib.c: Replace macros of the form `_BDF_XXX' with
-	`BDF_XXX_'.
-
-2016-01-12  Werner Lemberg  <[email protected]>
-
-	Don't use macro names that contain `__' [2/2].
-
-	Such macro names are reserved for both C and C++.
-
-	* src/cache/*: s/__/_/.
-
-2016-01-12  Werner Lemberg  <[email protected]>
-
-	Don't use macro names that contain `__' [1/2].
-
-	Such macro names are reserved for both C and C++.
-
-	* */*: Replace macros of the form `__XXX_H__' with `XXX_H_'.
-
-2016-01-10  Jered Gray  <[email protected]>
-
-	[cff] Fix usage of `|' operator.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) [cf2_cmdEXTENDEDNMBR,
-	default]: `|' is not guaranteed to be processed from left to right
-	by the compiler.  However, the code repeatedly calls
-	`cf2_buf_readByte' to get the arguments to `|' ...  Fix this.
-
-2015-12-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Make top-to-bottom hinting work in latin auto-hinter.
-
-	This improves rendering of scripts like Bengali or Devanagari.
-
-	* src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to
-	pass top-to-bottom hinting flag.  This makes the function sort edges
-	in descending vertical position.
-
-	* src/autofit/afhints.c: Updated.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_edges,
-	af_latin_hint_edges): Use `top_to_bottom_hinting' flag.
-
-	* src/autofit/afcjk.c (af_cjk_hints_compute_edges),
-	src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated.
-
-2015-12-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Add hinting direction to `AF_ScriptClassRec'.
-
-	Still unused.
-
-	* src/autofit/afglobal.c (SCRIPT): Handle hinting direction.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
-	`top_to_bottom_hinting' field.
-	(AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-2015-12-23  Werner Lemberg  <[email protected]>
-
-	[autofit] Start implementing hinting direction (up/down, down/up).
-
-	Right now, it does nothing.
-
-	* src/autofit/afscript.h: Add another parameter to `SCRIPT',
-	specifying hinting direction.
-
-	* src/autofit/afglobal.c, src/autofit/afglobal.h,
-	src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c,
-	src/autofit/aftypes.h: Extend `SCRIPT' definitions.
-
-2015-12-22  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs): Fix memory leak (#46744).
-
-2015-12-22  Werner Lemberg  <[email protected]>
-
-	[base] Make hash interface symmetric.
-
-	Use `num' and `str' infixes everywhere.
-
-	* src/base/fthash.c (ft_hash_init): Renamed to...
-	(hash_init): ... This.
-	(ft_hash_str_init, ft_hash_num_init): New functions.
-	(ft_hash_free): Renamed to...
-	(ft_hash_str_free): ... This.
-
-	* include/freetype/internal/fthash.h: Updated.
-
-	* src/bdf/bdflib.c, src/type1/t1load.c, src/type1/t1objs.c: Updated.
-
-2015-12-21  Werner Lemberg  <[email protected]>
-
-	[type1] Avoid shift of negative numbers (#46732).
-
-	* src/type1/t1load.c (parse_subrs): Do it.
-
-2015-12-20  Werner Lemberg  <[email protected]>
-
-	[type1, psaux] Handle large values of num_subrs correctly (#46692).
-
-	We now use a hash to map from subr indices to array elements holding
-	the subroutines, if necessary.
-
-	* include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H.
-	(T1_FontRec): Add `subrs_hash' field.
-
-	* include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H.
-	(T1_DecoderRec): Add `subrs_hash' field.
-
-	* src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field.
-
-	* src/type1/t1driver.c: Include FT_INTERNAL_HASH_H.
-	(t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary.
-
-	* src/type1/t1load.c: Include FT_INTERNAL_HASH_H.
-	(parse_subrs): Use hash for subr indices that exceed the allocated
-	number of subr slots.
-	(t1_init_loader): Remove unnecessary code.
-	(t1_done_loader, T1_Open_Face): Updated.
-
-	* src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances,
-	T1_Load_Glyph): Updated.
-
-	* src/type1/t1objs.c (T1_Face_Done): Updated.
-
-	* src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H.
-	(t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if
-	necessary.
-
-	* src/cid/cidgload.c (cid_load_glyph): Updated.
-
-2015-12-20  Werner Lemberg  <[email protected]>
-
-	[base] Thinko: Remove free function pointer.
-
-	We don't copy keys or values while hashing.
-
-	* include/freetype/internal/fthash.h (FT_Hash_FreeFunc): Removed.
-	(FT_HashRec): Remove `free' field.
-
-	* src/base/fthash.c (hash_str_free): Removed.
-	(ft_hash_init, ft_hash_free): Updated.
-
-2015-12-20  Werner Lemberg  <[email protected]>
-
-	[base, bdf] Don't expose `FT_Hashnode' in hash functions.
-
-	* src/base/fthash.c (hash_lookup, ft_hash_str_lookup,
-	ft_hash_num_lookup): Return pointer to `size_t' instead of
-	`FT_Hashnode'.
-
-	* include/freetype/internal/fthash.h: Updated.
-
-	* src/bdf/bdflib.c (bdf_get_property, _bdf_add_property,
-	bdf_get_font_property): Updated.
-
-2015-12-20  Werner Lemberg  <[email protected]>
-
-	[base, bdf] Add number hashing.
-
-	* src/base/fthash.c (hash_num_lookup, hash_num_compare): New
-	functions.
-	(ft_hash_init): Add argument to select between number and string
-	hashing.
-	(ft_hash_num_insert, ft_hash_num_lookup): New functions.
-
-	* include/freetype/internal/fthash.h: Updated.
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Updated.
-
-2015-12-20  Werner Lemberg  <[email protected]>
-
-	[base] Introduce hash lookup, compare, and free function pointers.
-
-	* include/freetype/internal/fthash.c (FT_Hash_LookupFunc,
-	FT_Hash_CompareFunc, FT_Hash_FreeFunc): New typedefs.
-	(FT_HashRec): Add `lookup', `compare', and `free' fields.
-
-	* src/base/fthash.c (hash_str_lookup, hash_str_compare,
-	hash_str_free): New functions.
-	(ft_hash_init): Set function pointers.
-	(hash_bucket, ft_hash_free): Use them.
-
-2015-12-20  Werner Lemberg  <[email protected]>
-
-	[base, bdf] Use a union as a hash key.
-
-	We want to support both an integer and a string key later on.
-
-	* include/freetype/internal/fthash.h (FT_Hashkey): New union.
-	(FT_HashnodeRec): Updated.
-	(ft_hash_insert, ft_hash_lookup): Renamed to ...
-	(ft_hash_str_insert, ft_hash_str_lookup): ... this.
-
-	* src/base/fthash.c (hash_bucket): Updated.
-	(ft_hash_insert, ft_hash_lookup): Renamed to ...
-	(hash_insert, hash_lookup): ... this.
-	(ft_hash_str_insert, ft_hash_str_lookup): New wrapper functions.
-
-	* src/bdf/bdflib.c: Updated.
-
-2015-12-19  Werner Lemberg  <[email protected]>
-
-	[bdf] Use new hash functions.
-
-	* src/bdf/bdf.h: Include FT_INTERNAL_HASH_H.
-	(hashnode, hashtable): Removed.
-	(bdf_font_t): Use `FT_HashRec' type for `proptbl'.
-
-	* src/bdf/bdflib.c: Remove all hash functions.
-	Update code for new hash structure and function names.
-
-2015-12-19  Werner Lemberg  <[email protected]>
-
-	[bdf, base] Lift hash functions from bdf driver to base module.
-
-	* src/base/fthash.c, include/freetype/internal/fthash.h: New files,
-	containing (massaged) code from `bdflib.c' and `bdf.h'.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H): New
-	macro.
-
-	* src/base/ftbase.c: Include `fthash.c'.
-
-	* src/base/Jamfile (_sources): Add `fthash'.
-
-	* src/base/rules.mk (BASE_SRC): Add `fthash.c'.
-
-	* docs/LICENSE.TXT: Updated.
-
-2015-12-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Bengali script.
-
-	This essentially moves the Bengali script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Bengali.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Bengali standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Bengali data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Bengali data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2015-12-14  Ben Wagner  <[email protected]>
-
-	[bdf] Remove dead code (#46625).
-
-	The BDF specification only allows decimal numbers, no octal or
-	hexadecimal decoding is needed.
-
-	* src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous,
-	_bdf_atos): Remove unused code and parameters.
-	Update all callers.
-	(odigits): Remove.
-
-2015-12-14  Werner Lemberg  <[email protected]>
-
-	[base] Fix calls to `FT_Stream_Seek'.
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource, FT_Open_Face): Set
-	`error'.
-
-2015-12-14  Ben Wagner  <[email protected]>
-
-	[base] Check error when seeking to data supplied offset (#46635).
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream):
-	`ft_lookup_PS_in_sfnt_stream' returns offset and length from
-	user supplied data.  Use of this these values must be checked.
-
-2015-12-13  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Myanmar script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Myanmar.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Myanmar standard characters.
-
-	* src/autofit/afranges.c: Add Myanmar data.
-
-	* src/autofit/afstyles.h: Add Myanmar data.
-
-2015-12-12  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Minor.
-
-2015-12-12  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afscript.h: Avoid potential crash.
-
-2015-12-10  Werner Lemberg  <[email protected]>
-
-	[autofit] Restore OpenType feature check.
-
-	This was removed while rewriting the HarfBuzz interface.
-
-	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add `hb_buf' field to
-	hold internal HarfBuzz buffer, needed for feature comparison.
-
-	* src/autofit/afglobal.c (af_face_globals_new,
-	af_face_globals_free): Initialize and destroy `hb_buf'.
-
-	* src/autofit/afshaper.c (af_shaper_get_cluster): Compare character
-	(cluster) with and without applied feature.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix tracing
-	message.
-
-2015-12-10  Werner Lemberg  <[email protected]>
-
-	[autofit] Remove redundant code.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Do it.
-
-2015-12-09  Werner Lemberg  <[email protected]>
-
-	[autofit] Thinko.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Don't count
-	empty blue zones (bug introduced 2015-12-06).
-
-2015-12-09  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce subscript top blue zones.
-
-	This feature is mainly for Khmer: The idea is to avoid a clash
-	between the top of subscript glyphs and the bottom of normal
-	baseline glyphs.
-
-	This only works for character clusters mapped to multiple glyphs.
-
-	* src/autofit/afblue.dat: Add subscript top blue zone for Khmer.
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_SUB_TOP): New
-	macro.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.h (AF_LATIN_IS_SUB_TOP_BLUE,
-	AF_LATIN_BLUE_SUB_TOP): New macros.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle new
-	blue zone property.
-	Update tracing messages.
-	(af_latin_metrics_scale_dim): Handle new blue zone property.
-	(af_latin_hints_compute_blue_edges): Updated.
-
-2015-12-09  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix tracing message.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Display
-	inactive blue zones also.
-
-2015-12-06  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afblue.dat: Add more Khmer clusters.
-
-	Some fonts have incorrect ligatures; we need more samples to get a
-	good mean value.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2015-12-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Typos.
-
-	* src/autofit/afshaper.c (af_shaper_buf_create, af_shaper_get_elem)
-	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Make it compile.
-
-2015-12-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Khmer script.
-
-	We split Khmer into two auto-hinter scripts: `Khmer' (`khmr') and
-	`Khmer symbols' (`khms', U+19E0-U+19FF).
-
-	* src/autofit/afblue.dat: Add blue zone data for Khmer.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Khmer standard characters.
-
-	* src/autofit/afranges.c: Add Khmer data.
-
-	* src/autofit/afstyles.h: Add Khmer data.
-
-2015-12-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Rewrite HarfBuzz interface to support character clusters.
-
-	Scripts like Khmer have blue zones that can't be directly
-	represented by Unicode characters.  Instead, it is necessary to let
-	HarfBuzz convert character clusters into proper glyph representation
-	forms, then deriving the blue zone information from the resulting
-	glyphs.
-
-	* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
-	* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
-	files, providing a new API to access HarfBuzz.
-
-	The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
-	and `af_shaper_buf_destroy'.  The buffer receives a UTF8 encoded
-	string with function `af_shaper_get_cluster', and the resulting
-	glyph data (indices, advance widths, vertical offsets) can be
-	iteratively accessed with function `af_shaper_get_elem'.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
-	Updated.
-
-	* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.
-
-	* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
-	(af_face_globals_compute_style_coverage): Updated.
-
-	* src/autofit/afglobal.h: s/hbshim.h/afshaper.h/.
-
-	* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.
-
-	* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
-	Updated.
-
-2015-12-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Prepare forthcoming changes.
-
-	This makes it easier to control the commits.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Add dummy
-	loop.  No functional change.
-
-2015-12-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Use string of standard characters.
-
-	This is more flexible; additionally, it would allow character
-	clusters.
-
-	* src/autofit/aftypes.h (SCRIPT, AF_DEFINE_SCRIPT_CLASS): Updated.
-	(AF_ScriptClassRec): Replace `standard_char[123]' with
-	`standard_charstring'.
-
-	* src/autofit/afscript.h: Replace last three character arguments
-	of the `SCRIPT' calls with a string parameter, holding the standard
-	characters (in UTF-8 encoding) separated with spaces.
-
-	* src/autofit/afglobal.c, src/autofit/afglobal.h,
-	src/autofit/afpic.c, src/autofit/afranges.c, src/autofit/hbshim.c
-	(SCRIPT): Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Updated.
-
-2015-12-05  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afblue.dat: Separate blue zone characters with spaces.
-
-	Another preparation for character cluster support.
-
-	* src/autofit/afblue.c, src/autofit.afblue.h: Regenerated.
-
-2015-12-05  Werner Lemberg  <[email protected]>
-
-	* src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces.
-
-	Instead, reduce multiple spaces to a single one.  We need this later
-	for supporting character clusters in `afblue.dat'.
-
-2015-12-05  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afblue.hin (GET_UTF8_CHAR): Use `do...while(0)'.
-
-	* src/autofit/afblue.h: Regenerated.
-
-2015-12-05  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afwarp.c: s/INT_MIN/FT_INT_MIN/.
-
-2015-12-03  Werner Lemberg  <[email protected]>
-
-	* builds/unix/install.mk (install): Remove stale `ft2build.h'.
-
-2015-12-01  Werner Lemberg  <[email protected]>
-
-	[type1] Avoid dangling pointer (#46572).
-
-	* src/type1/t1afm.c (T1_Read_Metrics): Properly reset
-	`face->afm_data'.
-
-2015-11-28  Alexei Podtelezhnikov  <[email protected]>
-
-	* include/freetype/ftlcdfil.h: Documentation tweak.
-
-2015-11-28  Werner Lemberg  <[email protected]>
-
-	* Version 2.6.2 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-2'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.2.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.6.1/2.6.2/, s/261/262/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
-	* builds/unix/configure.raw (version_info): Set to 18:2:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 2.
-
-	* docs/CHANGES: Updated.
-
-2015-11-28  Werner Lemberg  <[email protected]>
-
-	Fix C++ compilation.
-
-	* src/autofit/afloader.c: Include FT_INTERNAL_CALC_H.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler.
-
-2015-11-28  Nikolaus Waxweiler  <[email protected]>
-
-	Change default LCD filter to be normalized and color-balanced.
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update
-	`default_filter'.
-
-2015-11-28  Werner Lemberg  <[email protected]>
-
-	[docmaker] Allow references to section names.
-
-	In the reference, we show the section's title enclosed in single
-	quotes.
-
-	* src/tools/docmaker/formatter.py (Formatter::__init__): Collect
-	section names as identifiers.
-
-	* src/tools/docmaker/tohtml.py (section_title_header): Split into...
-	(section_title_header1, section_title_header2): ... these two
-	strings.
-	(HtmlFormatter::make_block_url, make_html_word, html_source_quote):
-	Handle sections.
-	(HtmlFormatter::section_enter): Updated to add `id' HTML attribute.
-
-2015-11-27  Tamas Kenez  <[email protected]>
-
-	[cmake] Add script to test the config module.
-
-	* builds/cmake/testbuild.sh: New file.
-
-2015-11-27  Tamas Kenez  <[email protected]>
-
-	* CMakeLists.txt: Create `freetype-config.cmake' config module.
-
-2015-11-27  Tamas Kenez  <[email protected]>
-
-	* CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'.
-
-2015-11-27  Tamas Kenez  <[email protected]>
-
-	[cmake] Add better control of library dependencies.
-
-	* CMakeLists.txt: Add `WITH_*' variables to force/auto/omit
-	ZLIB/BZip2/PNG/HarfBuzz.
-
-2015-11-27  Tamas Kenez  <[email protected]>
-
-	[cmake] Make `FindHarfBuzz' observe the REQUIRED option.
-
-	* builds/cmake/FindHarfBuzz.cmake: Implement it.
-
-2015-11-27  Werner Lemberg  <[email protected]>
-
-	[cmake] Collect files specific to cmake in `builds/cmake'.
-
-	* builds/FindHarfBuzz.cmake: Move to ...
-	* builds/cmake/FindHarfBuzz.cmake: ... this place.
-
-	* CMakeLists.txt (CMAKE_MODULE_PATH): Updated.
-
-2015-11-27  Alexander Bock  <[email protected]>
-
-	CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'.
-
-2015-11-26  Werner Lemberg  <[email protected]>
-
-	[docmaker] Allow `foo[bar]' as identifier.
-
-	We need this to handle equally named properties in different
-	modules.
-
-	* src/tools/docmaker/content.py (re_identifier),
-	src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word,
-	HtmlFormatter::index_exit, HtmlFormatter::section_enter,
-	HtmlFormatter::block_enter): Handle `foo[bar]'.
-
-2015-11-25  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480).
-
-	(_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its
-	contents.
-
-2015-11-21  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftcalc.h: Don't use `register' keyword.
-
-	This fixes compiler warnings.
-
-	Reported by Behdad.
-
-2015-11-20  Werner Lemberg  <[email protected]>
-
-	Add `FT_LCD_FILTER_LEGACY1' enum value.
-
-	This does the same as `FT_LCD_FILTER_LEGACY'.
-
-	See
-
-	  https://bugs.freedesktop.org/show_bug.cgi?id=92981
-
-	for the reasoning.
-
-	* include/freetype/ftlcdfil.h (FT_LcdFilter): New value
-	`FT_LCD_FILTER_LEGACY1'.
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it.
-
-2015-11-15  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afhints.c (af_get_segment_index): Fix it.
-
-	The old code was too simple, returning invalid values in most cases
-	where a segment crosses the contour start.
-
-2015-11-15  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439).
-
-2015-11-11  Werner Lemberg  <[email protected]>
-
-	[cff, autofit] Switch off stem darkening by default.
-
-	* src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c
-	(cff_driver_init): Do it.
-
-2015-11-10  Jan Alexander Steffens (heftig)  <[email protected]>
-
-	Allow native CFF hinter in FT_RENDER_MODE_LIGHT.
-
-	Both the native CFF hinter and the auto-hinter now have a very
-	similar rendering style.
-
-	* include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no
-	longer implies FT_LOAD_FORCE_AUTOHINT.
-
-	* include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New
-	macro.
-
-	* include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New
-	macro.
-
-	* src/cff/cffdrivr.c (cff_driver_class): Use it.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection
-	logic.
-
-2015-11-09  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408).
-
-2015-11-09  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove integer to pointer conversion compiler warning.
-
-	Problem reported by Alexei.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
-	in the glib library to fix the issue.
-
-2015-11-08  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] Accept version 3 of `EBLC' and `CBLC' tables also.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit): Implement it.
-
-2015-11-08  Philipp Knechtges  <[email protected]>
-
-	[autofit] Don't distort (latin) glyphs too much (#46195).
-
-	* src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and
-	`descender' fields.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect
-	ascender and descender data for blue zones.
-	(af_latin_metrics_scale_dim): Reject vertical scaling values that
-	change the result by more than two pixels.
-
-2015-11-05  Werner Lemberg  <[email protected]>
-
-	[sfnt] Ignore embedded bitmaps with zero size (#46379).
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement
-	it.
-
-2015-11-04  Werner Lemberg  <[email protected]>
-
-	[truetype] Catch infinite recursion in subglyphs (#46372).
-
-	* include/freetype/internal/tttypes.h (TT_LoaderRec): New field
-	`composites'.
-
-	* src/truetype/ttgload.c: Include FT_LIST_H.
-	(load_truetype_glyph): Add composite subglyph index to a list;
-	abort if index is already in list.
-	(tt_loader_init): Updated.
-	(tt_loader_done): New function.
-	(TT_Load_Glyph): Call `tt_loader_done'.
-
-2015-11-04  Werner Lemberg  <[email protected]>
-
-	[truetype] Better tracing of composite glyphs.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
-	load_truetype_glyph): Implement it.
-
-2015-11-03  Werner Lemberg  <[email protected]>
-
-	[sfnt] Protect against zero-size bitmaps (#46345).
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check
-	`glyph_size'.
-
-2015-11-02  Nikolaus Waxweiler  <[email protected]>
-
-	* src/autofit/afloader.c (af_loader_load_g): Implement emboldening.
-
-2015-11-02  Nikolaus Waxweiler  <[email protected]>
-
-	[autofit] Implement darkening computation function.
-
-	This is a crude adaption of the original `cf2_computeDarkening'
-	function.
-
-	* src/autofit/afloader.c (af_intToFixed, af_fixedToInt,
-	af_floatToFixed): New macros, taken from `cf2fixed.h'.
-	(af_loader_compute_darkening): New function.
-	* src/autofit/afloader.h: Updated.
-
-2015-11-02  Nikolaus Waxweiler  <[email protected]>
-
-	[autofit] Add functions to get standard widths for writing systems.
-
-	We need the computed standard horizontal and vertical widths for the
-	emboldening calculation.  This method provides a convenient way to
-	extract it from writing-system-specific metrics structures, which
-	all script definitions must implement.
-
-	* src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New
-	function type.
-	(AF_WritingSystemClassRec): New member `style_metrics_getstdw'.
-	(AF_DEFINE_WRITING_SYSTEM_CLASS): Updated.
-
-	* src/autofit/afcjk.c (af_cjk_get_standard_width): New function.
-	(af_cjk_writing_system_class): Updated.
-	* src/autofit/afdummy.c (af_dummy_writing_system_class): Updated.
-	* src/autofit/afindic.c (af_cjk_get_standard_width): New function.
-	(af_indic_writing_system_class): Updated.
-	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
-	(af_indic_writing_system_class): Updated.
-	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
-	(af_indic_writing_system_class): Updated.
-
-2015-11-02  Nikolaus Waxweiler  <[email protected]>
-
-	[autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data.
-
-	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields.
-
-	* src/autofit/afglobal.c (af_face_globals_new): Initialize new
-	fields.
-	(af_face_globals_free): Reset new fields.
-
-2015-11-02  Nikolaus Waxweiler  <[email protected]>
-
-	[autofit] Add stem-darkening properties.
-
-	Actual code follows in a later commit.
-
-	* include/freetype/ftautoh.h: Document `no-stem-darkening' and
-	`darkening-parameters'.
-
-	* src/autofit/afmodule.h: New fields `no_stem_darkening' and
-	`darken_params'.
-
-	* src/autofit/afmodule.c (af_property_set, af_property_get):
-	Handle them.
-	(af_autofitter_init): Initialize them.
-
-2015-11-02  Ben Wagner  <[email protected]>
-
-	[ftfuzzer] Add support for multiple files (patch #8779).
-
-	Currently, libFuzzer only supports mutation of a single file.  We
-	circumvent this problem by using an uncompressed tar archive as
-	multiple-file input for the fuzzer.
-
-	This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing;
-	a constructed tarball should contain a font file as the first
-	element, and files to be attached as further elements.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers.
-	(archive_read_entry_data, parse_data): New functions.
-	(LLVMFuzzerTestOneInput): Updated.
-
-	* src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom
-	mutator for libFuzzer that can mutate tarballs in a sensible way.
-
-2015-10-31  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix cmap 14 validation (#46346).
-
-	* src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before
-	accessing `numRanges' and `numMappings'.
-	Fix size check for non-default UVS table.
-
-2015-10-31  Werner Lemberg  <[email protected]>
-
-	[sfnt] Handle infinite recursion in bitmap strikes (#46344).
-
-	* src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc,
-	tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned,
-	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add
-	argument for recursion depth.
-	(tt_sbit_decoder_load_compound): Add argument for recursion depth.
-	Increase recursion counter for recursive call.
-	(tt_sbit_decoder_load_image): Add argument for recursion depth.
-	Check recurse depth.
-	(tt_face_load_sbit_image): Updated.
-
-2015-10-29  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor.
-
-2015-10-29  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Remove code to set MSVC's /FD compiler switch.
-
-	Problem reported by David Capello <[email protected]>; see
-
-	  https://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html
-
-	for details.
-
-2015-10-27  Werner Lemberg  <[email protected]>
-
-	[pfr] Add some safety guards (#46302).
-
-	* src/pfr/pfrload.h (PFR_CHECK): Rename to...
-	(PFR_CHECK_SIZE): ... this.
-	(PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE.
-
-	* src/pfr/pfrload.c (pfr_log_font_count): Check `count'.
-	(pfr_extra_item_load_kerning_pairs): Remove tracing message.
-	(pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate.
-	Allocate `chars' after doing a size checks.
-
-	* src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid
-	bitmap format to...
-	(pfr_slot_load_bitmap): ... this function.
-	Check bitmap size.
-
-2015-10-26  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix sanitizing logic for `loca' (#46223).
-
-	* src/truetype/ttpload.c (tt_face_load_loca): A thinko caused an
-	incorrect adjustment of the number of glyphs, most often using far
-	too large values.
-
-2015-10-25  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve tracing.
-
-	* src/autofit/afhints.c (af_print_idx, af_get_segment_index,
-	af_get_edge_index): New functions.
-
-	(af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'.
-	Add segment and edge index for each point.
-	Slightly change printing order of some elements.
-	Don't print `-1' but `--' for missing elements.
-
-	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove
-	unnecessary `|', `[', and `]'.
-	Don't print `-1' but `--' for missing elements.
-
-2015-10-24  Werner Lemberg  <[email protected]>
-
-	[sfnt] Sanitize bitmap strike glyph height.
-
-	Problem reported by Nikolay Sivov <[email protected]>.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Avoid zero value
-	for `metrics->height' by applying some heuristics.
-
-2015-10-22  Werner Lemberg  <[email protected]>
-
-	[sfnt, type42] Fix clang compiler warnings.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Initialize `offset'.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Use proper cast.
-
-2015-10-22  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[cff] Avoid overflow/module arithmetic.
-
-	This modifies the addition of subroutine number to subroutine bias
-	from unsigned to signed, but does not change any results.
-
-	* src/cff/cf2ft.c (cf2_initGlobalRegionBuffer,
-	cf2_initLocalRegionBuffer): Change variable names from (unsigned)
-	`idx' to (signed) `subrNum', since it is not an index until after
-	the bias is added.
-	* src/cff/cf2ft.h: Updated.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
-	Updated similarly.
-
-2015-10-22  Werner Lemberg  <[email protected]>
-
-	[cid] Better check of `SubrCount' dictionary entry (#46272).
-
-	* src/cid/cidload.c (cid_face_open): Add more sanity tests for
-	`fd_bytes', `gd_bytes', `sd_bytes', and `num_subrs'.
-
-2015-10-21  Werner Lemberg  <[email protected]>
-
-	[base] Pacify compiler (#46266).
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Initialize `in' and
-	`anchor'.
-
-2015-10-21  Werner Lemberg  <[email protected]>
-
-	[type42] Fix heap buffer overflow (#46269).
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Fix off-by-one error in
-	bounds checking.
-
-2015-10-21  Dave Arnold  <[email protected]>
-
-	[cff] Fix limit in assert for max hints.
-
-	* src/cff/cf2interp.c (cf2_hintmask_setAll): Allow mask equal to the
-	limit (96 bits).
-
-2015-10-21  Dave Arnold  <[email protected]>
-
-	[cff] Remove an assert (#46107).
-
-	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Ignore paired edges
-	in wrong order.
-
-2015-10-21  Werner Lemberg  <[email protected]>
-
-	[sfnt] Avoid unnecessarily large allocation for WOFFs (#46257).
-
-	* src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize'
-	only after thorough checks.
-	Add tracing messages.
-
-2015-10-21  Werner Lemberg  <[email protected]>
-
-	[type42] Better check invalid `sfnts' array data (#46255).
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Table lengths must be
-	checked individually against available data size.
-
-2015-10-20  Werner Lemberg  <[email protected]>
-
-	[cid] Add a bunch of safety checks.
-
-	* src/cid/cidload.c (parse_fd_array): Check `num_dicts' against
-	stream size.
-	(cid_read_subrs): Check largest offset against stream size.
-	(cid_parse_dict): Move safety check to ...
-	(cid_face_open): ... this function.
-	Also test length of binary data and values of `SDBytes',
-	`SubrMapOffset', `SubrCount', `CIDMapOffset', and `CIDCount'.
-
-2015-10-20  Werner Lemberg  <[email protected]>
-
-	[cid] Avoid segfault with malformed input (#46250).
-
-	* src/cid/cidload.c (cid_read_subrs): Return a proper error code for
-	unsorted offsets.
-
-2015-10-20  StudioEtrange  <[email protected]>
-
-	* CMakeLists.txt: Enable shared library builds on MinGW (#46233).
-
-2015-10-20  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).
-
-2015-10-19  Ben Wagner  <[email protected]>
-
-	[cid] Better handle invalid glyph stream offsets (#46221).
-
-	* src/cid/cidgload.c (cid_load_glyph): Check minimum size of glyph
-	length.
-
-2015-10-18  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix tracing of negative numbers.
-
-	Due to incorrect casting negative numbers were shown as very large
-	(positive) integers on 64bit systems.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_none>:
-	Use division instead of shift.
-
-2015-10-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223).
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h: Surround it
-	with #ifndef ... #endif, as suggested in the tracker issue.
-
-2015-10-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Better protection against malformed `fpgm' (#46223).
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't execute a
-	malformed `fpgm' table more than once.
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidgload.c (cid_load_glyph): Fix memory leak.
-
-	Reported by Kostya Serebryany <[email protected]>.
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	[bdf] Prevent memory leak (#46217).
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <STARTCHAR>: Check
-	_BDF_GLYPH_BITS.
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	[bdf] Use stream size to adjust number of glyphs.
-
-	* src/bdf/bdflib.c (ACMSG17): New message macro.
-	(_bdf_parse_t): Add member `size'.
-	(bdf_load_font): Set `size'.
-	(_bdf_parse_glyphs): Adjust `cnt' if necessary.
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_parse_dict): Check `[FG]DBytes' size.
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidgload.c (cid_glyph_load): Check file offsets (#46222).
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix heap buffer overflow (#46221).
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstring) <operator 12>:
-	Fix limit check.
-
-2015-10-17  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_parse_dict): Handle invalid input (#46220).
-
-2015-10-15  Kostya Serebryany  <[email protected]>
-
-	[ftfuzzer] Add README.
-
-	* src/tools/ftfuzzer/README: New file.
-
-2015-10-15  Ben Wagner  <[email protected]>
-
-	[bdf] Fix memory leak (#46213).
-
-	* src/bdf/bdflib.c (bdf_load_font): Always go to label `Fail' in
-	case of error.
-
-2015-10-15  Werner Lemberg  <[email protected]>
-
-	[truetype] Add TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46208).
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES): New configuration macro.
-
-	* src/truetype/ttinterp.c (MAX_RUNNABLE_OPCODES): Removed.
-	(TT_RunIns): Updated.
-
-2015-10-15  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Fix bytecode stack tracing.
-
-	The used indices were off by 1.
-
-2015-10-15  Ben Wagner  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211).
-
-2015-10-15  Werner Lemberg  <[email protected]>
-
-	[base] Compute MD5 checksums only if explicitly requested.
-
-	This improves profiling accuracy.
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it.
-
-2015-10-14  Werner Lemberg  <[email protected]>
-
-	[base] Use `FT_' namespace for MD5 functions (#42366).
-
-	* src/base/ftobjs.c (MD5_*): Define as `FT_MD5_*'.
-	Undefine HAVE_OPENSSL.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[type1] Correctly handle missing MM axis names (#46202).
-
-	* src/type1/t1load.c (T1_Get_MM_Var): Implement it.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[pcf] Quickly exit if font index < 0.
-
-	Similar to other font formats, this commit makes the parser no
-	longer check the whole PCF file but only the header and the TOC if
-	we just want to get the number of available faces (and a proper
-	recognition of the font format).
-
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
-	Exit quickly if face_index < 0.
-
-	* src/pcfread.c (pcf_load_font): Add `face_index' argument.
-	Exit quickly if face_index < 0.
-
-	* src/pcf/pcf.h: Updated.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Handle TTCs and MM/GX variations.
-
-	This patch also contains various other improvements.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject
-	pre-C++11 compilers.
-	(FT_Global): New class.  Use it to provide a global constructor and
-	destructor for the `FT_Library' object.
-	(setIntermediateAxis): New function to select an (arbitrary)
-	instance.
-	(LLVMFuzzerTestOneInput): Loop over all faces and named instances.
-	Also call `FT_Set_Char_Size'.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Refine some GX sanity tests.
-
-	Use the `gvar' table size instead of the remaining bytes in the
-	stream.
-
-	* src/truetype/ttgxvar.h (GX_BlendRec): New field `gvar_size'.
-
-	* src/truetype/ttgxvar.c (ft_var_load_gvar): Set `gvar_size'.
-	(ft_var_readpackedpoints, ft_var_readpackeddeltas: New argument
-	`size'.
-	(tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Updated.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Another GX sanity test.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Check
-	`tupleCount'.
-	Add tracing message.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix memory leak for broken GX fonts (#46188).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix scope of
-	deallocation.
-
-2015-10-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix commit from 2015-10-10.
-
-	* src/truetype/ttgxvar.c (ft_var_load_gvar): Add missing error
-	handling body to condition.
-
-2015-10-12  Werner Lemberg  <[email protected]>
-
-	[unix] Make MKDIR_P actually work.
-
-	* builds/unix/configure.raw: Fix underquoting of `INSTALL' and
-	`MKDIR_P'.
-
-	Problem reported by Dan Liddell <[email protected]>.
-
-2015-10-11  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve extraction of number of named instances.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check number of instances against
-	`fvar' table size.
-
-2015-10-10  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow
-	(#46149).
-
-2015-10-10  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix infinite loops with broken cmaps (#46167).
-
-	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next): Take care
-	of border conditions (i.e., if the loops exit naturally).
-
-2015-10-10  Werner Lemberg  <[email protected]>
-
-	[truetype] More sanity tests for GX handling.
-
-	These tests should mainly help avoid unnecessarily large memory
-	allocations in case of malformed fonts.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
-	ft_var_readpackeddeltas): Check number of points against stream
-	size.
-	(ft_var_load_avar): Check `pairCount' against table length.
-	(ft_var_load_gvar): Check `globalCoordCount' and `glyphCount'
-	against table length.
-	(tt_face_vary_cvt): Check `tupleCount' and `offsetToData'.
-	Fix trace.
-	(TT_Vary_Apply_Glyph_Deltas): Fix trace.
-	Free `sharedpoints' to avoid memory leak.
-
-2015-10-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Better protection against malformed GX data (#46166).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Correctly
-	handle empty `localpoints' array.
-
-2015-10-10  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Check stream size (#46162).
-
-2015-10-09  Werner Lemberg  <[email protected]>
-
-	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size.
-
-2015-10-08  Werner Lemberg  <[email protected]>
-
-	[pcf] Protect against invalid number of TOC entries (#46159).
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Check number of TOC entries
-	against size of data stream.
-
-2015-10-08  Werner Lemberg  <[email protected]>
-
-	[type42] Protect against invalid number of glyphs (#46159).
-
-	* src/type42/t42parse.c (t42_parse_charstrings): Check number of
-	`CharStrings' dictionary entries against size of data stream.
-
-2015-10-08  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix some signed overflows (#46149).
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	<TT_SBIT_TABLE_TYPE_SBIX>: Use `FT_MulDiv'.
-
-2015-10-08  Werner Lemberg  <[email protected]>
-
-	[type1] Protect against invalid number of subroutines (#46150).
-
-	* src/type1/t1load.c (parse_subrs): Check number of
-	`Subrs' dictionary entries against size of data stream.
-
-2015-10-07  Kostya Serebryany  <[email protected]>
-
-	[ftfuzzer] Add support for LLVM's LibFuzzer.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files.
-
-2015-10-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Faster alternative line renderer.
-
-	This implementation renders the entire line segment at once without
-	subdividing it into scanlines.  The main speed improvement comes from
-	reducing the number of divisions to just two per line segment, which
-	is a bare minimum to calculate cell coverage in a smooth rasterizer.
-	Notably, the progression from cell to cell does not itself require any
-	divisions at all.  The speed improvement is more noticeable at larger
-	sizes.
-
-	* src/smooth/ftgrays.c (gray_render_line): New implementation.
-
-2015-10-06  Werner Lemberg  <[email protected]>
-
-	[cff] Return correct PS names from pure CFF (#46130).
-
-	* src/cff/cffdrivr.c (cff_get_ps_name): Use SFNT service only for
-	SFNT.
-
-2015-10-04  Werner Lemberg  <[email protected]>
-
-	[base] Replace left shifts with multiplication (#46118).
-
-	* src/base/ftglyph.c (ft_bitmap_glyph_bbox, FT_Get_Glyph): Do it.
-
-2015-10-04  Werner Lemberg  <[email protected]>
-
-	* Version 2.6.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-1'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.1.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.6/2.6.1/, s/26/261/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 18:1:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-
-	* src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for
-	dumping functions.
-
-2015-10-04  Werner Lemberg  <[email protected]>
-
-	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c
-	(ft_gzip_file_fill_input): In case of an error, adjust the limit to
-	avoid copying uninitialized memory.
-
-2015-10-03  Werner Lemberg  <[email protected]>
-
-	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c
-	(ft_gzip_file_fill_output): In case of an error, adjust the limit to
-	avoid copying uninitialized memory.
-
-2015-10-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Clean up worker.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
-
-2015-10-01  Werner Lemberg  <[email protected]>
-
-	[sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of
-	border conditions (i.e., if the loop exits naturally).
-
-2015-10-01  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges.
-	They should be a subset of `af_deva_uniranges'.
-
-2015-10-01  Werner Lemberg  <[email protected]>
-
-	[sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
-	reject too large glyph indices.
-
-2015-09-30  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Clean up worker.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
-	(gray_start_cell, gray_render_line): Update.
-
-2015-09-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Replace `no-base' with `non-base'.
-
-	* src/autofit/*: Do it.
-
-2015-09-30  Werner Lemberg  <[email protected]>
-
-	[sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better
-	skip invalid segments.
-	If searching the next character, provide a more efficient logic to
-	speed up the code.
-
-2015-09-30  Werner Lemberg  <[email protected]>
-
-	[truetype] Adjust number of glyphs for malformed `loca' tables.
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Implement it.
-
-2015-09-29  Werner Lemberg  <[email protected]>
-
-	[pshinter] Avoid harmless overflow (#45984).
-
-	* src/pshinter/pshglob.c (psh_blues_set_zones): Fix it.
-
-2015-09-28  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Lao script.
-
-	Thanks to Danh Hong <[email protected]> for guidance with blue zone
-	characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Lao.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Lao standard characters.
-
-	* src/autofit/afranges.c: Add Lao data.
-
-	* src/autofit/afstyles.h: Add Lao data.
-
-2015-09-27  suzuki toshiya  <[email protected]>
-
-	[base] Fix a leak by broken sfnt-PS or resource fork (#46028).
-
-	open_face_from_buffer() frees passed buffer if valid font
-	is not found.  But if copying to the buffer is failed,
-	the allocated buffer should be freed within the caller.
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free
-	the buffer `sfnt_ps' if an error caused before calling
-	open_face_from_buffer().
-	(Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if
-	an error caused before calling open_face_from_buffer();
-
-2015-09-27  suzuki toshiya  <[email protected]>
-
-	[mac] Fix buffer size calculation for LWFN font.
-
-	* src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong
-	to prevent confused copy by too large chunk size.
-
-2015-09-26  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro.
-
-2015-09-26  Werner Lemberg  <[email protected]>
-
-	[autofit] Minor tracing improvement.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit
-	blue zones header line if there are no blue zones.
-
-2015-09-26  Werner Lemberg  <[email protected]>
-
-	[bzip2, gzip, lzw] Harmonize function signatures with prototype.
-
-	Suggested by Hin-Tak Leung.
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c
-	(ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it.
-
-2015-09-26  Hin-Tak Leung  <[email protected]>
-
-	Add new FT_LOAD_COMPUTE_METRICS load flag.
-
-	* include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro.
-	* src/truetype/ttgload.c (compute_glyph_metrics): Usage.
-
-2015-09-26  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast.
-
-2015-09-25  Werner Lemberg  <[email protected]>
-
-	[type1] Protect against invalid number of glyphs (#46029).
-
-	* src/type1/t1load.c (parse_charstrings): Check number of
-	`CharStrings' dictionary entries against size of data stream.
-
-2015-09-23  Werner Lemberg  <[email protected]>
-
-	[sfnt] Better checks for invalid cmaps (2/2) (#46019).
-
-	While the current code in `FT_Get_Next_Char' correctly rejects
-	out-of-bounds glyph indices, it can be extremely slow for malformed
-	cmaps that use 32bit values.  This commit tries to improve that.
-
-	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next,
-	tt_cmap12_char_map_binary, tt_cmap13_next,
-	tt_cmap13_char_map_binary): Reject glyph indices larger than or
-	equal to the number of glyphs.
-
-2015-09-23  Werner Lemberg  <[email protected]>
-
-	[base, sfnt] Better checks for invalid cmaps (1/2).
-
-	* src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds
-	glyph indices.
-	(FT_Get_First_Char): Updated.
-
-	* src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character
-	codes greater than 0xFFFF.
-
-	(tt_cmap8_char_index): Avoid integer overflow in computation of
-	glyph index.
-	(tt_cmap8_char_next): Avoid integer overflows in computation of
-	both next character code and glyph index.
-
-	(tt_cmap10_char_index): Fix unsigned integer logic.
-	(tt_cmap10_char_next): Avoid integer overflow in computation of
-	next character code.
-
-	(tt_cmap12_next): Avoid integer overflows in computation of both
-	next character code and glyph index.
-	(tt_cmap12_char_map_binary): Ditto.
-	(tt_cmap12_char_next): Simplify.
-
-	(tt_cmap13_char_map_binary): Avoid integer overflow in computation
-	of next character code.
-	(tt_cmap13_char_next): Simplify.
-
-2015-09-21  suzuki toshiya  <[email protected]>
-
-	[base] Check too long POST and sfnt resource (#45919).
-
-	* src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the
-	resource fork for Mac OS.  Resource forks larger than 16 MB can be
-	written but can't be handled correctly, at least in Carbon routine.
-	See https://support.microsoft.com/en-us/kb/130437.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x'
-	prefix for `%p' formatter.
-
-	* src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and
-	total size of the concatenated POST resource before buffer
-	allocation.
-	(Mac_Read_sfnt_Resource): Check the declared size of sfnt resource
-	before buffer allocation.
-
-	* src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the
-	total resource size before buffer allocation.
-
-2015-09-19  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve handling of invalid SFNT table entries (#45987).
-
-	This patch fixes weaknesses in function `tt_face_load_font_dir'.
-
-	- It incorrectly assumed that valid tables are always at the
-	  beginning.  As a consequence, some valid tables after invalid
-	  entries (which are ignored) were never seen.
-
-	- Duplicate table entries (this is, having the same tag) were not
-	  rejected.
-
-	- The number of valid tables was sometimes too large, leading to
-	  access of invalid tables.
-
-	* src/sfnt/ttload.c (check_table_dir): Add argument to return number
-	of valid tables.
-	Add another tracing message.
-	(tt_face_load_font_dir): Only allocate table array for valid
-	entries as returned by `check_table_dir'.
-	Reject duplicate tables and adjust number of valid tables
-	accordingly.
-
-2015-09-19  Werner Lemberg  <[email protected]>
-
-	[pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999).
-
-	* src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short,
-	then take the absolute value.
-	Also apply FT_ABS to `height'.
-
-2015-09-17  Werner Lemberg  <[email protected]>
-
-	[type42] Fix memory leak (#45989).
-
-	* src/type42/t42parse.c (t42_parse_charstrings): Allow only a single
-	`CharStrings' array.
-
-2015-09-17  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix memory leak (#45986).
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
-	Free `temp' in case of error.
-
-2015-09-17  Werner Lemberg  <[email protected]>
-
-	[psaux] Improve tracing message.
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
-	Handle plural correctly.
-
-2015-09-17  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix integer overflows (#45985).
-
-	* src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
-
-2015-09-17  Werner Lemberg  <[email protected]>
-
-	[pcf] Use FT_ABS for some property values (#45893).
-
-	* src/pcf/pcfread.c (pcf_load_font): Take absolute values for
-	AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
-	RESOLUTION_Y.  In tracing mode, add warnings.
-
-2015-09-16  Werner Lemberg  <[email protected]>
-
-	Minor fixes for some clang warnings.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing
-	initialization.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Cast.
-
-2015-09-15  Werner Lemberg  <[email protected]>
-
-	[type1, type42] Fix memory leaks (#45966).
-
-	* src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis
-	names.
-	(parse_blend_design_map): Allow only a single design map.
-	(parse_encoding): Handle multiple encoding vectors.
-
-	* src/type42/t42parse.c (t42_parse_encoding): Handle multiple
-	encoding vectors.
-
-2015-09-15  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix integer type (#45965).
-
-	* src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it.
-
-2015-09-15  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964).
-
-2015-09-15  Werner Lemberg  <[email protected]>
-
-	[type1, type42] Check encoding array size (#45961).
-
-	* src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
-	(t42_parse_encoding): Do it.
-
-2015-09-14  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve.
-
-2015-09-14  Werner Lemberg  <[email protected]>
-
-	[type1] Fix another potential buffer overflow (#45955).
-
-	* src/type1/t1parse (T1_Get_Private_Dict): Assure that check for
-	`eexec' doesn't exceed `limit'.
-
-2015-09-13  Werner Lemberg  <[email protected]>
-
-	Replace `mkinstalldirs' with AC_PROG_MKDIR_P.
-
-	* builds/unix/mkinstalldirs: Removed, no longer needed.
-
-	* builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'.
-	Update pwd call for `$INSTALL'.
-
-	* builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'.
-
-	* autogen.sh: Updated.
-
-2015-09-13  Werner Lemberg  <[email protected]>
-
-	[winfonts] Check alignment shift count for resource data (#45938).
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
-
-2015-09-13  Werner Lemberg  <[email protected]>
-
-	[type1] Fix potential buffer overflow (#45923).
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't
-	point to end of file buffer.
-
-2015-09-13  Werner Lemberg  <[email protected]>
-
-	[gzip] Fix access of small compressed files (#45937).
-
-	* src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
-
-	(ft_gzip_get_uncompressed_file): Correct byte order while reading
-	unsigned long value.  Without this change, the whole optimization of
-	accessing small files in `FT_Stream_OpenGzip' is never executed!  As
-	a consequence, access to PCF files in general (which are normally
-	small files) should be much improved now as originally intended.
-
-2015-09-11  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix potential buffer overflow (#45922).
-
-	* src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is
-	enclosed in balanced expressions, ensure that the cursor position
-	doesn't get larger than the current limit.
-
-2015-09-11  Werner Lemberg  <[email protected]>
-
-	[base] Avoid crash while tracing `load_mac_face'.
-
-	Reported in Savannah bug #45919.
-
-	* src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while
-	tracing.
-
-2015-09-11  Werner Lemberg  <[email protected]>
-
-	[type42] Fix endless loop (#45920).
-
-	* src/type42/t42parse.c (t42_parse_encoding): Synchronize with
-	type1's `parse_encoding'.
-
-2015-09-10  Werner Lemberg  <[email protected]>
-
-	[docmaker] Allow `-' in bold and italic markup.
-
-	* src/tools/docmaker/sources.py (re_italic, re_bold): Adjust
-	accordingly.
-
-2015-09-09  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c (FT_RoundFix): Improve.
-
-2015-09-09  Wojciech Mamrak  <[email protected]>
-
-	* src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
-
-	This commit makes the functions behave as expected, this is,
-	rounding towards plus or minus infinity.
-
-2015-09-07  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
-
-2015-09-04  Alexei Podtelezhnikov  <[email protected]>
-
-	[raster,smooth] Microoptimizations.
-
-	* src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
-	Bezier_Up): Use do-while loops.
-
-	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
-	gray_convert_glyph): Ditto.
-
-2015-09-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Redesign code ranges (2/2).
-
-	This commit adds two fallback scripts (`latb', `latp') and
-	implements support for the no-base character ranges introduced in
-	the previous commit.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
-	`script_uni_nobase_ranges' field.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and
-	`latp' fallback scripts.
-
-	* src/autofit/afblue.dat: Add blue zones for Latin subscript and
-	superscript fallback scripts.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base
-	characters.
-	(AF_STYLE_MASK): Updated.
-
-	* src/autofit/afglobal.c (SCRIPT): Updated.
-	(af_face_globals_compute_style_coverage): Handle new style flag.
-
-	* src/autofit/aflatin.c (af_latin_hints_apply): Handle new style
-	flag.
-
-	* src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
-
-2015-09-04  Werner Lemberg  <[email protected]>
-
-	[autofit] Redesign code ranges (1/2).
-
-	This patch introduces auxiliary code ranges that identify no-base
-	characters; they refer to glyphs of a script that should be hinted
-	without alignments to blue zones (mostly diacritics).
-
-	It also splits off ranges for fallback scripts that handle subscript
-	and superscript characters not covered by OpenType features.  For
-	example, this greatly helps improve the hinting of various phonetic
-	alphabets, which contain a large amount characters that look like
-	superscript glyphs.
-
-	Finally, code ranges are updated to Unicode 8.0, and enclosed
-	characters are removed in general since they normally look better if
-	they stay unhinted.
-
-	* src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode
-	8.0.
-	Split off superscript-like and subscript-like glyphs into...
-
-	(af_latb_uniranges, af_latp_uniranges): ... these two new arrays.
-
-	(af_xxxx_nobase_uniranges): New arrays that hold no-base characters
-	of the corresponding character ranges.
-
-2015-09-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Pass glyph index to hinting function.
-
-	No functionality change yet.
-
-	* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass
-	glyph index.
-
-	* src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply),
-	src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c
-	(af_indic_hints_apply), src/autofit/aflatin.c
-	(af_latin_hints_apply), src/autofit/aflatin2.c
-	(af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g):
-	Updated.
-
-2015-08-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Code clean-up.
-
-	* src/autofit/afglobal.h (AF_STYLE_MASK): New macro.
-	(AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Updated.
-
-2015-08-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Make glyph style array use 16bit values.
-
-	* include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use
-	`FT_UShort' for `map' field.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
-	af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h
-	(af_get_coverage): Use FT_UShort for `glyph_styles' array.
-
-	* src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to
-	16 bits.
-	(AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
-
-2015-08-26  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828).
-
-2015-08-25  Werner Lemberg  <[email protected]>
-
-	[base] Improve kerning tracing and documentation.
-
-	* src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if
-	scaled-down kerning values differ.
-
-2015-08-18  Werner Lemberg  <[email protected]>
-
-	[raster] Remove last remnants of `raster5' driver.
-
-	* src/raster/ftrend1.h (ft_raster5_renderer_class): Removed.
-
-	* src/raster/rastpic.c, src/raster/rastpic.h
-	(ft_raster5_renderer_class_pic_init,
-	ft_raster5_renderer_class_pic_free): Removed.
-
-2015-08-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Improve emboldener (#45596).
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement
-	of zero-length segments.
-
-2015-08-16  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Reoptimize arithmetic.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
-	special cases that slow down the general use.
-
-2015-08-15  pazer  <[email protected]>
-
-	Fix C++ compilation (#45762).
-
-	* src/base/ftstroke.c (ft_outline_glyph_class): Use
-	FT_CALLBACK_TABLE.
-
-2015-08-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Clean up.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use
-	`FT_Outline_Transform' and `FT_Outline_Translate'.
-	(translate_array): Dropped.
-
-2015-08-14  Andreas Enge  <[email protected]>
-
-	* builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261).
-
-2015-08-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Introduce named instance access to GX fonts.
-
-	For functions querying a face, bits 16-30 of the face index can hold
-	the named instance index if we have a GX font.  The indices start
-	with value 1; value 0 indicates font access without GX variation
-	data.
-
-	* include/freetype/freetype.h (FT_FaceRec): Update documentation.
-	* include/freetype/internal/sfnt.h: Ditto.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and
-	do argument checks.
-	(sfnt_load_face): Updated.
-
-	* src/truetype/ttobjs.c (tt_face_init)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting
-	the style name.
-
-	* src/base/ftobjs.c (open_face_from_buffer,
-	open_face_PS_from_sfnt_stream): Updated.
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated.
-	* src/cff/cffload.c (cff_font_load): Updated.
-
-	* src/cff/cffobjs.c (cff_face_init): Make function exit early for
-	pure CFF fonts if `font_index < 0'.
-	Updated.
-
-	* src/cid/cidobjs.c (cid_face_init): Updated.
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
-	* src/pfr/pfrobjs.c (pfr_face_init): Updated.
-	* src/type1/t1objs.c (T1_Face_Init): Updated.
-	* src/type42/t42objs.c (T42_Face_Init): Updated.
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
-	Updated.
-
-	* docs/CHANGES: Updated.
-
-2015-08-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[type1,cff,cid] Streamline font matrix application.
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only
-	if font matrix is not trivial.
-	* src/cff/cffgload.c (cff_slot_load): Ditto.
-	* src/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the
-	entire outline.
-
-2015-08-11  Werner Lemberg  <[email protected]>
-
-	[builds/unix] Minor.
-
-	* builds/unix/configure.raw:
-	s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with
-	similarly named uppercase variables.
-
-2015-08-10  Alexei Podtelezhnikov  <[email protected]>
-
-	[type1,cid,type42] Minor improvements.
-
-	* src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only
-	when necessary. Refresh comments.
-	* src/cid/cidload.c (cid_parse_font_matrix): Ditto.
-	* src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments.
-
-2015-08-08  Werner Lemberg  <[email protected]>
-
-	[type42] Fix glyph access.
-
-	This is a severe bug: We've missed one level of indirection, as
-	described in the Type 42 specification.  As a result, ftview
-	sometimes showed incorrect glyphs for given glyph names, and even
-	displayed `error 0x0006' (invalid argument!) in case the number of
-	glyph indices differed between the Type 42 font and the embedded
-	TTF.
-
-	Apparently, noone ever noticed it; this shows how much Type 42 fonts
-	are in use...
-
-	* src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index
-	to embedded TTF's glyph index.
-
-2015-08-08  Werner Lemberg  <[email protected]>
-
-	[type42] Minor clean-up.
-
-	* src/type42/t42parse.c (t42_parse_font_matrix): Remove unused
-	variable.
-
-2015-08-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[type42] Parse FontMatrix according to specifications.
-
-	* src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix
-	does not need scaling by 1000. Units_per_EM are taken from the
-	embedded TrueType.
-
-2015-08-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve Arabic hinting.
-
-	Problem reported by Titus Nemeth <[email protected]> (by using
-	ttfautohint).
-
-	* src/autofit/afblue.dat: Add neutral blue zone for the tatweel
-	character.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2015-08-05  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Clean up types.
-
-	* src/truetype/ttobjs.c (TT_Size): Move declaration from here.
-	* include/freetype/internal/tttypes.h (TT_Size): ... to here.
-	(TT_LoaderRec): Switch to appropriate types for `face' and `size'.
-	* src/truetype/ttgload.c: Remove corresponding type casts.
-	* src/truetype/ttsubpix.c: Ditto.
-
-2015-08-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve recognition of flat vs. rounded segments.
-
-	Lower the flatness threshold from upem/8 to upem/14, making the
-	auto-hinter accept shorter elements.
-
-	Synchronize flat/round stem selection algorithm with blue zone code.
-
-	* src/autofit/aflatin.c (FLAT_THRESHOLD): New macro.
-	(af_latin_metrics_init_blues): Use it.
-	(af_latin_hints_compute_segments): Collect information on maximum
-	and minimum coordinates of `on' points; use this to add a constraint
-	for the flat/round decision similar to
-	`af_latin_metrics_init_blues'.
-
-2015-08-04  Werner Lemberg  <[email protected]>
-
-	Another left-shift bug (#45681).
-
-	* src/base/ftobjs.c (IsMacBinary): Only accept positive values for
-	`dlen'.
-
-2015-08-03  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix `ft_corner_orientation'.
-
-	Remove casting from `FT_Long' to `FT_Int' that might change the sign
-	of the return value and make it faster too.
-
-	* src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
-	with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
-	* src/pshinter/pshalgo.c: Remove old unused code.
-
-2015-08-03  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
-	having a depth greater than 1.
-
-2015-08-03  Werner Lemberg  <[email protected]>
-
-	Fix typo in clang bug from 2015-07-31 (#45678).
-
-	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
-
-2015-08-02  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Improve shared library support.
-
-	Based on a patch from John Cary <[email protected]>.
-
-2015-08-02  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype-config.in (enable_shared): Remove.  Unused.
-
-2015-08-02  Werner Lemberg  <[email protected]>
-
-	Fix more invalid left-shifts.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication,
-	not left-shift.
-
-	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
-	tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication,
-	not left-shift.
-
-2015-07-31  Werner Lemberg  <[email protected]>
-
-	Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
-
-	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
-	positive values from header.
-	Check overflow.
-
-	* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
-	negative values.
-
-	* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
-	_bdf_clear_glyph_modified): Use unsigned long constant.
-
-	* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
-	left-shift values that can be negative.
-
-	* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
-	left-shift values that can be negative.
-
-	* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
-	negative values.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
-	values that can be negative.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
-	compute_glyph_metrics, load_sbit_image): Don't left-shift values
-	that can be negative.
-
-2015-07-31  Werner Lemberg  <[email protected]>
-
-	Define FT_LONG_MAX.
-
-	* include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro.
-	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it.
-
-2015-07-28  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
-
-2015-07-27  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
-
-2015-07-26  Matthias Clasen  <[email protected]>
-
-	[cff] Don't use `hmtx' table for LSB (#45520).
-
-	* src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance
-	width only.  Bug introduced 2015-04-10.
-
-2015-07-09  Werner Lemberg  <[email protected]>
-
-	Better support of user-supplied C++ namespaces.
-
-	See
-
-	  https://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
-
-	for a rationale.
-
-	* src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
-	src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
-	src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
-	(FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
-	header files that contain FT_{BEGIN,END}_HEADER macros by
-	themselves.
-
-	* src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
-	FT_CONFIG_STANDARD_LIBRARY_H earlier.
-
-	* src/truetype/ttpic.h: Include FT_INTERNAL_PIC_H.
-
-2015-07-07  Werner Lemberg  <[email protected]>
-
-	[sfnt] Make `tt_face_get_name' member of the SFNT interface.
-
-	* include/freetype/internal/sfnt.h (TT_Get_Name_Func): New
-	prototype.
-	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'.
-
-	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'.
-	* src/sfnt/sfobjs.h: Add prototype for it.
-
-2015-06-30  Werner Lemberg  <[email protected]>
-
-	Fix some clang compiler warnings.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
-	(cf2_interpT2CharString), src/truetype/ttgload.c
-	(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
-	src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
-
-2015-06-29  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Speed up bytecode interpreter.
-
-	* src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'.
-
-2015-06-29  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Speed up emboldening.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use
-	`FT_Vector_NormLen'.
-
-2015-06-29  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Implement fast vector normalization.
-
-	The function uses Newton's iterations instead of dividing vector
-	components by its length, which needs a square root. This is,
-	literally, a bit less accurate but a lot faster.
-
-	* src/base/ftcalc.c (FT_Vector_NormLen): New function.
-
-2015-06-28  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Always create `ftconfig.h'.
-
-	For non-UNIX builds, the file stays unmodified.  However, it's
-	better to have the main configuration files at the same place
-	regardless of the OS.
-
-2015-06-28  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Improve MSVC support (#43737).
-
-2015-06-28  Werner Lemberg  <[email protected]>
-
-	[cmake] Check for libraries and create `ftoption.h'.
-
-	* builds/FindHarfBuzz.cmake: New file, taken from
-
-	  https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake
-
-	* CMakeLists.Txt: Add path to local cmake modules.
-	Find dependencies for zlib, bzip2, libpng, and harfbuzz.
-	Create `ftoption.h' file.
-	Set up include and linker stuff for libraries.
-
-2015-06-28  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Fix creation of `ftconfig.h'.
-	Check for UNIX header files using `check_include_file'.
-	Set up correct header include directories.
-
-2015-06-28  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Disallow in-source builds.
-
-2015-06-27  Werner Lemberg  <[email protected]>
-
-	* src/tools/docmaker/utils.py (check_output): Add missing `\n'.
-
-2015-06-26  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Select platform-dependent `ftdebug.c'.
-
-2015-06-25  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
-	Additionally, do this for UNIX only.
-
-2015-06-25  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
-
-2015-06-25  Werner Lemberg  <[email protected]>
-
-	Another adjustment to header locations.
-
-	This change is a result of a discussion thread on freetype-devel
-
-	  https://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
-
-	Re-introduce the `freetype2' subdirectory for all FreeType header
-	files after installation, and rename the `freetype2' subdirectory in
-	the git repository to `freetype'.
-
-	* include/freetype2: Renamed to...
-	* include/freetype: This.
-
-	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
-	PRIVATE_HEADERS): Updated.
-	Update creation of `ftconfig.h'.
-	Install generated `ftconfig.h'.
-
-	* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
-
-	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
-	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
-	builds/unix/freetype2.in: Updated.
-
-	* builds/unix/freetype-config.in: Updated.
-	* builds/unix/configure.raw: Don't check for `rmdir'.
-	* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
-	according to the autoconf info manual.
-	* builds/unix/install.mk (install, uninstall,
-	distclean_project_unix): Update and simplify.
-
-	* builds/wince/*, builds/windows/*: Updated.
-
-	* devel/ft2build.h, include/ft2build.h: Updated.
-
-	* include/freetype2/config/ftheader.h,
-	include/freetype2/internal/ftserv.h,
-	include/freetype2/internal/internal.h: Update all header file
-	macros.
-
-	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
-
-	* docs/*: Updated.
-
-2015-06-24  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
-
-2015-06-24  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
-
-2015-06-23  Werner Lemberg  <[email protected]>
-
-	s/TYPEOF/FT_TYPEOF/ (#45376).
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.in,
-	include/freetype2/config/ftconfig.h,
-	include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
-
-2015-06-22  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #45097.
-
-	We no longer `pollute' the namespace of possible header file names;
-	instead we move `ft2build.h' up by one level so that it gets
-	installed in the default include directory (e.g.,
-	/usr/local/include).  After this commit, only `ft2build.h' stays in
-	the compiler's include path.
-
-	No visible changes for the user who follows the standard FreeType
-	header inclusion rules.
-
-	* include/*: Move to ...
-	* include/freetype2/*: This directory, except `ft2build.h'.
-
-	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
-	PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
-
-	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
-	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
-	builds/unix/install.mk (install, uninstall),
-	builds/unix/freetype2.in: Updated.
-
-	* builds/unix/freetype-config.in: Updated.
-	Emit -I directory only if it is not `/usr/include'.
-
-	* builds/wince/*, builds/windows/*: Updated.
-
-	* devel/ft2build.h, include/ft2build.h: Updated.
-
-	* include/freetype2/config/ftheader.h,
-	include/freetype2/internal/ftserv.h,
-	include/freetype2/internal/internal.h: Update all header file
-	macros.
-
-	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
-
-2015-06-21  Werner Lemberg  <[email protected]>
-
-	Make Jam support work again.
-
-	This is just very basic stuff and just a little bit tested on
-	GNU/Linux only.  I won't delve into this since I'm not a Jam user.
-
-	* Jamfile: Call `HDRMACRO' for `ftserv.h' also.
-	(DEFINES): Replace with...
-	(CCFLAGS): ... this.
-
-	* src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
-	already handled in the top-level Jamfile.
-
-	* src/autofit/Jamfile (DEFINES): Replace with...
-	(CCFLAGS): ... this.
-	(_sources): Add missing files.
-
-	* src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
-	longer contains macro header definitions.
-
-	* src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
-	src/truetype/Jamfile (_sources): Add missing files.
-
-2015-06-16  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #45326.
-
-	* src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate
-	definitions.
-
-2015-06-07  Werner Lemberg  <[email protected]>
-
-	* Version 2.6 released.
-	=======================
-
-
-	Tag sources with `VER-2-6'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.5/2.6/, s/255/26/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 6.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 18:0:12.
-	* CMakeLists.txt (VERSION_MINOR): Set to 6.
-	(VERSION_PATCH): Set to 0.
-
-	* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
-	declarations for dumping functions.
-
-	* src/truetype/ttinterp.c (TT_New_Context): Pacify compiler.
-
-	* builds/toplevel.mk: Use `freetype.mk's code to compute the version
-	string.
-	Don't include a zero patch level in version string.
-	* builds/freetype.mk: Remove code for computing the version string.
-
-2015-06-06  Ashish Azad  <[email protected]>
-
-	Fix Savannah bug #45260.
-
-	* src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo.
-
-2015-06-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix memory leak.
-
-	Problem reported by Grissiom <[email protected]>; in
-
-	  https://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html
-
-	there is an example code to trigger the bug.
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size'
-	data before allocating again.  Bug most probably introduced four
-	years ago in version 2.4.3.
-
-2015-06-02  Werner Lemberg  <[email protected]>
-
-	[raster] Add more tracing.
-
-	* src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define.
-	(Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span,
-	Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls.
-
-2015-06-01  Werner Lemberg  <[email protected]>
-
-	[truetype] While tracing opcodes, show code position and stack.
-
-	* src/truetype/ttinterp.c: Change all existing TRACE7 calls to
-	TRACE6.
-	(opcode_name): Add string lengths.
-	(TT_RunIns): Implement display of code position and stack.
-
-2015-05-31  Werner Lemberg  <[email protected]>
-
-	[truetype] In GX, make private point numbers work correctly.
-
-	This is completely missing in Apple's documentation: If a `gvar'
-	tuple uses private point numbers (this is, deltas are specified for
-	some points only), the uncovered points must be interpolated for
-	this tuple similar to the IUP bytecode instruction.  Examples that
-	need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.
-
-	* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
-	tt_handle_deltas): New functions.
-	(TT_Vary_Get_Glyph_Deltas): Renamed to...
-	(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
-	points and does no longer return an array of deltas.
-	Add tracing information.
-	Call `tt_handle_deltas' to interpolate missing deltas.
-	Also fix a minor memory leak in case of error.
-
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Updated.
-
-2015-05-31  Werner Lemberg  <[email protected]>
-
-	[truetype] In GX, make intermediate tuplets work at extrema.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition.
-
-2015-05-31  Werner Lemberg  <[email protected]>
-
-	[truetype] Add tracing information to GX code.
-
-	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
-	ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend,
-	TT_Set_Var_Design, tt_face_vary_cvt): Do it.
-
-2015-05-28  Werner Lemberg  <[email protected]>
-
-	* src/tools/apinames.c (names_dump): Fix invalid reference.
-
-	Problem reported by Guzman Mosqueda, Jose R
-	<[email protected]>.
-
-2015-05-24  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix commit from 2015-05-22.
-
-	* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
-	with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.
-
-	Problem reported by Nikolaus Waxweiler <[email protected]>.
-
-2015-05-23  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix return values of GETINFO bytecode instruction.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
-	`vertical_lcd' and `gray_cleartype'.
-
-	* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
-	Change `symmetrical smoothing' to TRUE, since FreeType produces
-	exactly this.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
-	values for symmetrical smoothing, namely 11/18.
-	Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
-	(12/19).
-
-2015-05-23  Werner Lemberg  <[email protected]>
-
-	[truetype] Minor.
-
-	* src/truetype/ttinterp.h (TT_ExecContext):
-	 s/subpixel/subpixel_hinting.
-
-	* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
-
-2015-05-22  Werner Lemberg  <[email protected]>
-
-	[truetype] Support selector index 3 of the INSTCTRL instruction.
-
-	This flag activates `native ClearType hinting', disabling backward
-	compatibility mode as described in Greg Hitchcocks whitepaper.  In
-	other words, it enables unrestricted functionality of all TrueType
-	instructions in ClearType.
-
-	* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
-	unconditionally.
-	(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
-	`GS.instruct_control' is active.
-
-	* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
-	(Ins_GETINFO): Updated.
-
-	* docs/CHANGES: Document it.
-
-2015-05-20  Werner Lemberg  <[email protected]>
-
-	[truetype] Minor.
-
-	* src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod'
-	argument.
-
-2015-05-17  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix loading of composite glyphs.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
-	ARGS_ARE_XY_VALUES flag is not set, handle argument values as
-	unsigned.  I trust `ttx' (which has exactly such code) that it does
-	the right thing here...
-
-	The reason that noone has ever noticed this bug is probably the fact
-	that point-aligned subglyphs are rare, as are subglyphs with a
-	number of points in the range [128;255], which is quite large (or
-	even in the range [32768;65535], which is extremely unlikely).
-
-2015-05-12  Chris Liddell  <[email protected]>
-
-	[cff] Make the `*curveto' operators more tolerant.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes
-	`vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate,
-	pulling values off the stack until the stack is exhausted.
-	Implicitly the stack must be a multiple (or for subtly different
-	behaviour) a multiple plus a specific number of extra values deep.
-	If that's not the case, enforce it (as the old code did).
-
-2015-05-12  Chris Liddell  <[email protected]>
-
-	[cff] fix incremental interface with new cff code.
-
-	* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
-	interface to retrieve glyph data for a SEAC, it be left to the
-	incremental interface callback to apply the encoding to raw
-	character index (as it was in the previous code).
-
-2015-04-29  Alexei Podtelezhnikov  <[email protected]>
-
-	[autofit] Speed up IUP.
-
-	* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
-	the same position from true interpolation, use `scale' to reduce
-	divisions.
-
-2015-04-28  Werner Lemberg  <[email protected]>
-
-	[cff] Use `name' table for PS name if we have a SFNT-CFF.
-
-	This follows the OpenType 1.7 specification.  See
-
-	  https://tug.org/pipermail/tex-live/2015-April/036634.html
-
-	for a discussion.
-
-	* src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we
-	have an SFNT.
-
-2015-04-27  Alexei Podtelezhnikov  <[email protected]>
-
-	[truetype] Speed up IUP.
-
-	* src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial
-	snapping to the same position from true interpolation.
-
-2015-04-21  Werner Lemberg  <[email protected]>
-
-	[autofit] By default, enable warping code but switch off warping.
-
-	Suggested by Behdad.
-
-	* include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER.
-
-	* src/autofit/afmodule.c (af_autofitter_init): Initialize `warping'
-	with `false'.
-
-2015-04-21  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated.
-
-2015-04-21  Werner Lemberg  <[email protected]>
-
-	[autofit] Introduce `warping' property.
-
-	This code replaces the debugging hook from the previous commit with
-	a better, more generic solution.
-
-	* include/ftautoh.h: Document it.
-
-	* src/autofit/afmodule.h (AF_ModuleRec)
-	[AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field.
-
-	* src/autofit/afmodule.c (_af_debug_disable_warper): Remove.
-	(af_property_set, af_property_get, af_autofitter_init)
-	[AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option.
-
-	* src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no
-	longer existing `_af_debug_disable_warper'.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
-	(af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init)
-	[AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the
-	scaler flags if warping is off.
-
-	* src/autofit/aftypes.h: Updated.
-
-2015-04-16  Werner Lemberg  <[email protected]>
-
-	[autofit] Add debugging hook to disable warper.
-
-	* src/autofit/afmodule.c (_af_debug_disable_warper)
-	[FT_DEBUG_AUTOFIT]: New global variable.
-
-	* src/autofit/aftypes.h: Updated.
-	(AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet).
-
-	* src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro.
-
-	* src/autofit/aflatin.c (af_latin_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use
-	of warper.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
-
-	* src/autofit/aflatin2.c (af_latin2_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
-
-2015-04-10  Werner Lemberg  <[email protected]>
-
-	[cff] Update advance width handling to OpenType 1.7.
-
-	Problem reported by Behdad.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case
-	separately.
-
-	* src/cff/cffgload.c (cff_slot_load): Use advance width and side
-	bearing values from `hmtx' table if present.
-
-2015-04-03  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
-
-2015-04-02  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
-
-2015-04-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[autofit] Finish the thought.
-
-	* src/autofit/afhints.c (af_direction_compute): make sure the long arm
-	is never negative so that its `FT_ABS' is not necessary.
-
-2015-04-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Call dumper functions for tracing.
-
-	* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
-	improvement.
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
-
-2015-04-01  Werner Lemberg  <[email protected]>
-
-	[autofit] Make debugging stuff work again.
-
-	The interface to ftgrid was broken in the series of commits starting
-	with
-
-	  [autofit] Allocate AF_Loader on the stack instead of AF_Module.
-
-	from 2015-01-14.
-
-	* src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]:
-	Use a global AF_GlyphHintsRec object for debugging.
-	(af_autofitter_done, af_autofitter_load_glyph): Updated.
-
-	* src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
-
-2015-04-01  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
-
-2015-03-29  Werner Lemberg  <[email protected]>
-
-	[cff] Fix Savannah bug #44629.
-
-	* src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h
-	(CFF_MAX_SUBRS_CALLS): Set to 16.
-
-2015-03-29  Werner Lemberg  <[email protected]>
-
-	[type1, truetype] Make the MM API more flexible w.r.t. `num_coords'.
-
-	This commit allows `num_coords' to be larger or smaller than the
-	number of available axes while selecting a design instance, either
-	ignoring excess data or using defaults if data is missing.
-
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
-	Implement it.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design,
-	T1_Set_Var_Design): Ditto.
-
-2015-03-29  Werner Lemberg  <[email protected]>
-
-	[type1] Minor.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use
-	FT_THROW.
-	(T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW.
-
-2015-03-27  Werner Lemberg  <[email protected]>
-
-	[cff] Trace charstring nesting levels.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLGSUBR,
-	cf2_cmdCALLSUBR, cf2_cmdRETURN>: Implement it.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_callsubr, cff_op_callgsubr, cff_op_return>: Ditto.
-
-2015-03-21  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Optimize `FT_Angle_Diff'.
-
-	Under normal circumstances we are usually close to the desired range
-	of angle values, so that the remainder is not really necessary.
-
-	* src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder.
-
-	* src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
-
-2015-03-21  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve `gvar' handling.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle
-	single-element runs.  Cf. glyph `Q' in Skia.ttf with weights larger
-	than the default.
-
-2015-03-20  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring.
-
-2015-03-17  Alexei Podtelezhnikov  <[email protected]>
-
-	Fix Savannah bug #44412 (part 2).
-
-	* src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'.
-
-2015-03-11  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Arabic script.
-
-	Thanks to Titus Nemeth <[email protected]> for guidance!
-
-	* src/autofit/afblue.dat: Add blue zone data for Arabic.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Arabic standard characters.
-
-	* src/autofit/afranges.c: Add Arabic data.
-
-	* src/autofit/afstyles.h: Add Arabic data.
-
-	* docs/CHANGES: Document it.
-
-2015-03-11  Werner Lemberg  <[email protected]>
-
-	Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols.
-
-	* include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed
-	to...
-	(FT_SERVICE_FONT_FORMAT_H): This.
-
-	* include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed
-	to ...
-	(FT_FONT_FORMAT_*): This.
-
-	src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
-	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c,
-	src/truetype/ttdriver.c, src/type1/t1driver.c,
-	src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated.
-
-2015-03-11  Werner Lemberg  <[email protected]>
-
-	[base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'.
-
-	* include/config/ftheader.h: Implement it.
-	* src/base/ftfntfmt.c, docs/CHANGES: Updated.
-
-2015-03-11  Werner Lemberg  <[email protected]>
-
-	[base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'.
-
-	* include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it.
-
-	* docs/CHANGES: Updated.
-
-2015-03-11  Werner Lemberg  <[email protected]>
-
-	Fix automatic copyright updating.
-
-	* src/tools/update-copyright: Make scanning of `no-copyright'
-	actually work.
-
-	* src/tools/no-copyright: Don't include README in general.
-
-2015-03-11  Werner Lemberg  <[email protected]>
-
-	Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'.
-
-	CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf,
-	builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/freetype.vcxproj.filters,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY,
-	include/config/ftheader.h, include/ftfntfmt.h, modules.cfg,
-	src/base/ftfntfmt.c, vms_make.com: Updated.
-
-2015-03-10  Alexei Podtelezhnikov  <[email protected]>
-
-	Fix Savannah bug #44412 (part 1).
-
-	* src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns.
-
-2015-03-10  Werner Lemberg  <[email protected]>
-
-	[base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'.
-
-	* include/ftbitmap.h, src/base/ftbitmap.c: Implement it.
-	Update all callers.
-
-	* docs/CHANGES: Updated.
-
-2015-03-06  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
-
-	Found by Alexei.
-
-2015-03-05  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftstroke.c: Simplify.
-
-2015-03-04  Werner Lemberg  <[email protected]>
-
-	[truetype] Some fixes and code refactoring in `ttgxvar.c'.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value
-	of `point_cnt' if two bytes are read.
-	Use a more vertical coding style.
-	(ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter.
-	Use a more vertical coding style.
-
-2015-03-03  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix Savannah bug #44241.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs
-	with less than 3 points.
-
-2015-03-02  Werner Lemberg  <[email protected]>
-
-	Simplify `TYPEOF' macro.
-
-	No need for two arguments.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (TYPEOF): Updated.
-
-	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
-	src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated.
-
-2015-03-01  Werner Lemberg  <[email protected]>
-
-	Various compiler warning fixes for `make multi'.
-
-	* src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges),
-	src/autofit/aflatin.c (af_latin_hint_compute_blue_edges,
-	af_latin_hint_edges), src/autofit/aflatin2.c
-	(af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare
-	as `static'.
-
-	* src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH):
-	Removed.  Unused.
-	* src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H.
-	* src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed.  Unused.
-
-	* src/cff/cf2intrp.c: Include `cf2intrp.h'.
-	* src/cff/cffdrivr.c (PAIR_TAG): Removed.  Unused.
-
-	* src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed.  Unused.
-
-	* src/psaux/afmparse.c (afm_parser_read_int): Declare as `static'.
-
-	* src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX):
-	Removed.  Unused.
-
-	* src/raster/ftraster.c (Render_Glyph): Declare as `static'.
-
-	* src/sfnt/ttpost.c (load_format_20): Fix signedness warning.
-
-	* src/truetype/ttdriver.c (PAIR_TAG): Removed.  Unused.
-	* src/truetype/ttsubpix.c (is_member_of_family_class,
-	is_member_of_style_class): Declare as `static'.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare
-	as `static'.
-	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as
-	`static'.
-	(T1_FIELD_COUNT): Removed.  Unused.
-	* src/type1/t1parse.h (T1_Done_Table): Removed.  Unused.
-
-	* src/type42/t42parse.c (T1_Done_Table): Removed.  Unused.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	[psaux] Signedness fixes.
-
-	* include/internal/psaux.h, src/psaux/afmparse.c,
-	src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c,
-	src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	[otvalid] Signedness fixes.
-
-	* src/otvalid/otvcommn.c, src/otvalid/otvgdef.c,
-	src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c:
-	Apply.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	[lzw] Signedness fixes.
-
-	* src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	[gxvalid] Signedness fixes.
-
-	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
-	src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c,
-	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
-	src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c,
-	src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c,
-	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c,
-	src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	[cache] Signedness fixes.
-
-	* src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c,
-	src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	Change dimension fields in `FTC_ImageTypeRec' to unsigned type.
-
-	This doesn't break ABI.
-
-	* include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for
-	`width' and `height'.
-
-	* docs/CHANGES: Document it.
-
-2015-02-25  Werner Lemberg  <[email protected]>
-
-	[cache] Don't use `labs'.
-
-	This is the only place in FreeType where this function was used.
-
-	* include/config/ftstdlib.h (ft_labs): Remove.
-
-	* src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with
-	`FT_ABS'.
-
-2015-02-23  Werner Lemberg  <[email protected]>
-
-	[cache] Replace `FT_PtrDist' with `FT_Offset'.
-
-	* src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t')
-	is a better choice for `hash' to hold a pointer than `FT_PtrDist'
-	(a.k.a. `ptrdiff_t'), especially since the latter is signed,
-	causing zillions of signedness warnings.  [Note that `hash' was of
-	type `FT_UInt32' before the change to `FT_PtrDist'.]
-	Update all users.
-
-	* src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c,
-	src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated.
-
-2015-02-23  Werner Lemberg  <[email protected]>
-
-	[smooth, raster] Re-enable standalone compilation.
-
-	* src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX)
-	[_STANDALONE_]: Define macros.
-
-	* src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS,
-	FT_HYPOT) [_STANDALONE_]: Define macros.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[smooth] Signedness fixes.
-
-	* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	* src/raster/ftraster.c: Use the file's typedefs everywhere.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttpost.c (load_format_20): Fix error tracing message.
-
-	Bug introduced 6 commits earlier.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[pshinter] Fix thinko.
-
-	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly
-	check `count'.
-	Bug introduced two commits earlier.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[raster] Signedness fixes.
-
-	* src/raster/ftraster.c, src/raster/ftrend1.c: Apply.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[pshinter] Signedness fixes.
-
-	* src/pshinter/pshalgo.c, src/pshinter/pshglob.c,
-	src/pshinter/pshrec.c: Apply.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[pshinter] Use macros for (unsigned) flags, not enumerations.
-
-	* src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros.
-	Updated.
-	* src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	* src/pshinter/pshrec.c: Simplify.
-	(ps_hints_open, ps_hints_stem): Remove switch statement.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[sfnt] Signedness fixes.
-
-	* src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c,
-	src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
-	src/sfnt/ttsbit.c: Apply.
-	* src/sfnt/sfdriver.c: Apply.
-	(sfnt_get_ps_name): Simplify.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[bdf] Signedness fixes.
-
-	* src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h,
-	src/bdf/bdflib.c: Apply.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	* src/bdf/bdflib.c (_bdf_atous): New function.
-	(_bdf_parse_glyphs, _bdf_parse_start): Use it.
-
-2015-02-22  Werner Lemberg  <[email protected]>
-
-	[pcf] Signedness fixes.
-
-	* src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply.
-	* src/pcf/pcfread.c: Apply.
-	(pcf_get_encodings): Ignore invalid negative encoding offsets.
-
-2015-02-21  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c: Signedness fixes.
-
-2015-02-21  Werner Lemberg  <[email protected]>
-
-	[type42] Signedness fixes.
-
-	* src/type42/t42parse.c, src/type42/t42parse.h,
-	src/type42/t42types.h: Apply.
-
-2015-02-21  Werner Lemberg  <[email protected]>
-
-	[pfr] Signedness fixes.
-
-	* src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c,
-	src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c,
-	src/pfr/pfrtypes.h: Apply.
-
-2015-02-21  Werner Lemberg  <[email protected]>
-
-	[cff] Minor signedness fixes related to last commit.
-
-	* src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply.
-
-2015-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Thinkos in bias handling.
-
-	Only the final result is always positive.
-
-	Bug introduced three commits earlier.
-
-	* src/cff/cffgload.c, src/cff/cffgload.h: Apply.
-
-2015-02-20  Werner Lemberg  <[email protected]>
-
-	[cid] Fix signedness issues and emit some better error codes.
-
-	* src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c,
-	src/cid/cidparse.h: Apply.
-	* src/cid/cidload.c: Apply.
-	(parse_fd_array): Reject negative values for number of dictionaries.
-	* src/cid/cidparse.c: Apply.
-	(cid_parser_new): Reject negative values for hex data length.
-
-2015-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Signedness fixes for new engine.
-
-	* src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c,
-	src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply.
-
-2015-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Signedness fixes for basic infrastructure and old engine.
-
-	* include/internal/pshints.h, src/cff/cffdrivr.c,
-	src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c,
-	src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply.
-
-2015-02-19  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'.
-
-	This is hard-coded to value 2 in `fvar' version 1.0 (and no newer
-	version exists), but some fonts set it incorrectly.
-
-	Problem reported by Adam Twardoch <[email protected]>.
-
-2015-02-19  Werner Lemberg  <[email protected]>
-
-	[cff] Emit better error code for invalid private dict size.
-
-	* src/cff/cffparse.c (cff_parse_private_dict): Reject negative
-	values for size and offset.
-
-2015-02-19  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix signedness issues.
-
-	* src/autofit/afangles.c, src/autofit/afcjk.c,
-	src/autofit/afglobal.c, src/autofit/afhints.c,
-	src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c,
-	src/autofit/hbshim.c: Apply.
-
-2015-02-19  Werner Lemberg  <[email protected]>
-
-	[autofit] Use macros for (unsigned) flags, not enumerations.
-
-	This harmonizes with other code in FreeType (and reduces the number
-	of necessary casts to avoid compiler warnings).
-
-	* src/autofit/afblue.hin: Make flag macros unsigned.
-	* src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afcjk.h: Replace flag enumeration with macros.
-	* src/autofit/afcjk.c: Updated.
-
-	* src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with
-	macros.
-	* src/autofit/afhints.c: Updated.
-
-	* src/autofit/aflatin.h: Replace flag enumerations with macros.
-	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated.
-
-	* src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros.
-
-2015-02-18  Werner Lemberg  <[email protected]>
-
-	[type1] Fix signedness issues.
-
-	* include/internal/psaux.h, include/internal/t1types.h,
-	src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
-	src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply.
-
-2015-02-18  Werner Lemberg  <[email protected]>
-
-	[psaux, type1] Fix minor AFM issues.
-
-	* include/internal/t1types.h (AFM_KernPairRec): Make indices
-	unsigned.
-	Update users.
-	(AFM_FontInfoRec): Make element counters unsigned.
-	Update users.
-	* src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned
-	int.
-
-	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs):
-	Reject negative values for number of kerning elements.
-
-	* src/type1/t1afm.c, src/tools/test_afm.c: Updated.
-
-2015-02-18  Werner Lemberg  <[email protected]>
-
-	Don't use `FT_PtrDist' for lengths.
-
-	Use FT_UInt instead.
-
-	* include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec,
-	T1_DecoderRec): Do it.
-
-	* include/internal/t1types.h (T1_FontRec): Ditto.
-
-	* src/cid/cidload.c (cid_parse_dict): Updated.
-	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto.
-	* src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto.
-	* src/type1/t1load.c (parse_blend_axis_types, parse_encoding,
-	parse_charstrings, parse_dict): Ditto.
-	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings,
-	t42_parse_dict): Ditto.
-
-2015-02-18  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): Clean up.
-	This handles negative values better, avoiding many casts.
-
-2015-02-17  Werner Lemberg  <[email protected]>
-
-	[base] Fix Savannah bug #44284.
-
-	* src/base/ftcalc.c (FT_MulFix): Typos.
-
-2015-02-17  Werner Lemberg  <[email protected]>
-
-	[truetype] Finish compiler warning fixes for signedness issues.
-
-	* src/truetype/ttgxvar.c, src/truetype/ttsubpix.c,
-	src/truetype/ttsubpix.h: Apply.
-
-2015-02-17  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttsubpix.c: Adding missing `static' keywords.
-
-2015-02-17  Werner Lemberg  <[email protected]>
-
-	[truetype] More signedness fixes.
-
-	* include/internal/tttypes.h, src/truetype/ttinterp.h,
-	src/truetype/ttobjs.h, src/truetype/ttinterp.c,
-	src/truetype/ttobjs.c: Apply.
-
-2015-02-17  Werner Lemberg  <[email protected]>
-
-	[truetype] Various signedness fixes.
-
-	* include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply.
-
-	* src/truetype/ttgload.c: Apply.
-	(TT_Get_VMetrics): Protect against invalid ascenders and descenders
-	while constructing advance height.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	[base] Finish compiler warning fixes for signedness issues.
-
-	* src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c:
-	Apply.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	* include/tttables.h (TT_OS2): `fsType' must be FT_UShort.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	More minor signedness warning fixes.
-
-	* src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c,
-	src/base/ftutil.c: Apply.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	Next round of minor compiler warning fixes.
-
-	* include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member
-	type to `FT_Long'.
-	(CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword.
-
-	* include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'.
-
-	* src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c:
-	Signedness fixes.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	Various minor signedness fixes.
-
-	* include/ftadvanc.h, include/internal/ftobjs.h,
-	src/base/ftgloadr.c, src/base/ftobjs.c: Apply.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	New `TYPEOF' macro.
-
-	This helps suppress signedness warnings, avoiding issues with
-	implicit conversion changes.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (TYPEOF): Define.
-
-	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
-	src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	* src/base/ftsystem.c: Use casts in standard C function wrappers.
-	(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #44261.
-
-	* builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the
-	environment also while calling the configure script.
-
-2015-02-16  Werner Lemberg  <[email protected]>
-
-	* include/internal/ftmemory.h: Add some `FT_Offset' casts.
-	(FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY,
-	FT_MEM_MOVE): Do it.
-
-2015-02-15  Werner Lemberg  <[email protected]>
-
-	[base] Clean up signedness issues in `ftdbgmem.c'.
-
-	Also fix other minor issues.
-
-	* src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types
-	with FT_Long for consistency.
-	(ft_mem_primes): Change type to `FT_Int'.
-	(ft_mem_closest_prime, ft_mem_table_set): Updated.
-
-	(ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free,
-	ft_mem_debug_realloc): Use `static' keyword and fix signedness
-	warnings where necessary.
-
-	(ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy,
-	ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types
-	and add or remove casts to avoid signedness warnings.
-
-2015-02-15  Werner Lemberg  <[email protected]>
-
-	[base] Clean up signedness in arithmetic functions.
-
-	This makes the code more readable and reduces compiler warnings.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix,
-	FT_DivFix): Convert input parameters to unsigned, do the
-	computation, then convert the result back to signed.
-	(ft_corner_orientation): Fix casts.
-
-2015-02-07  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Savannah bug #44184.
-
-	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No
-	longer reject `htmx' and `vmtx' tables with invalid length but
-	sanitize them.
-
-2015-02-06  Jon Anderson  <[email protected]>
-
-	[truetype] Fix regression in the incremental glyph loader.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): For incremental
-	fonts, the glyph index may be greater than the number of glyphs
-	indicated, so guard the check with a preprocessor conditional.
-
-2015-02-06  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix potential memory leak.
-
-	While this doesn't show up with FreeType, exactly the same code
-	leaks with ttfautohint's modified auto-hinter code (which gets used
-	in a slightly different way).
-
-	It certainly doesn't harm since it is similar to already existing
-	checks in the code for embedded arrays.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours'
-	and `max_points' for all cases.
-
-2015-01-31  Werner Lemberg  <[email protected]>
-
-	[autofit] Add support for Thai script.
-
-	Thanks to Ben Mitchell <[email protected]> for guidance with blue
-	zone characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Thai.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Thai standard characters.
-
-	* src/autofit/afranges.c: Add Thai data.
-
-	* src/autofit/afstyles.h: Add Thai data.
-
-2015-01-23  Behdad Esfahbod  <[email protected]>
-
-	[raster] Handle `FT_RASTER_FLAG_AA' correctly.
-
-	This fixes a breakage caused by the commit `[raster] Remove
-	5-level gray AA mode from monochrome rasterizer.'.
-
-	Problem reported by Markus Trippelsdorf <[email protected]>.
-
-	* src/raster/ftraster.c (ft_black_render): Handle
-	`FT_RASTER_FLAG_AA'.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode
-	remnants.
-
-2015-01-18  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_New_Library): Fix compiler warning.
-
-2015-01-18  Chris Liddell  <[email protected]>
-
-	[raster] Fix Savannah bug #44022.
-
-	Add fallback for glyphs with degenerate bounding boxes.
-
-	If a glyph has only one very narrow feature, the bbox can end up
-	with either the width or height of the bbox being 0, in which case
-	no raster memory is allocated and no attempt is made to render the
-	glyph.  This is less than ideal when the drop-out compensation in
-	the rendering code would actually result in the glyph being
-	rendered.
-
-	This problem can be observed with the `I' glyph (gid 47) in the
-	Autodesk RomanS TrueType font.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either
-	dimension is zero to explicitly round up/down (instead of simply
-	round).
-
-2015-01-17  Werner Lemberg  <[email protected]>
-
-	Add some tools to handle yearly copyright notice updates.
-
-	We are now following the GNU guidelines: A new release automatically
-	means that the copyright year of all affected files gets updated; it
-	is no longer used to track years of modification changes.
-
-	* src/tools/update-copyright-year: New Perl script.
-	* src/tools/update-copyright: New shell script that calls
-	`update-copyright-year' on all files.
-	* src/tools/no-copyright: Exceptions that should not be handled by
-	`update-copyright'
-
-2015-01-14  Werner Lemberg  <[email protected]>
-
-	* docs/CHANGES: Updated, using a description from Behdad.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	* src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[autofit] Add embedded array of segments and edges.
-
-	Avoids multiple mallocs per typical glyphs.
-
-	With this and recent changes to avoid mallocs, the thread-safe
-	stack-based loader is now as fast as the previous model that had one
-	cached singleton.
-
-	* src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED):
-	New macros.
-	(AF_AxisHintsRec): Add two arrays for segments and edges.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate
-	data if number of segments exceeds given threshold value.
-	(af_axis_hints_new_edge):  Only allocate data if number of edges
-	exceeds given threshold value.
-	(af_glyph_hints_done): Updated.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[autofit] Add embedded arrays for points and contours.
-
-	This avoids at least two malloc calls for typical glyphs.
-
-	* src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED):
-	New macros.
-	(AF_GlyphHintsRec): Add two arrays for contours and points.
-
-	* src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done):
-	Updated.
-	(af_glyph_hints_reload): Only allocate data if number of contours or
-	points exceeds given threshold values.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[autofit] Allocate hints object on the stack.
-
-	This avoids one malloc per load.
-
-	* src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to
-	`AF_GlyphHints'.
-	Update prototype.
-
-	* src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints'
-	parameter instead of `FT_Memory'.
-	(af_loader_done): Directly reset `load_hints'.
-	(af_loader_load_g): Updated.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Use local
-	`hints' object.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[autofit] Reuse slot glyph loader.
-
-	No need to create a new glyph loader; we can reuse the one from
-	`slot->internal->loader'.  It's hard to tell why it was written that
-	way originally, but new code looks sound and correct to me, and
-	avoids lots of allocations.
-
-	* src/autofit/afloader.c (af_loader_init): Change return type to
-	`void'.
-	Don't call `FT_GlyphLoader_New'.
-	(af_loader_reset): Don't call `FT_GlyphLoader_Rewind'.
-	(af_loader_load_g): Update code to use `internal->loader', which
-	doesn't need copying of data.
-
-	* src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member.
-	Update prototype.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Updated.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[autofit] Remove (unused) support for composite glyphs.
-
-	We never have to deal with composite glyphs in the autohinter, as
-	those will be loaded into FORMAT_OUTLINE by the recursed
-	`FT_Load_Glyph' function.
-
-	In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply
-	FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies
-	FT_LOAD_NO_HINTING:
-
-	  /* resolve load flags dependencies */
-
-	  if ( load_flags & FT_LOAD_NO_RECURSE )
-	    load_flags |= FT_LOAD_NO_SCALE         |
-	                  FT_LOAD_IGNORE_TRANSFORM;
-
-	  if ( load_flags & FT_LOAD_NO_SCALE )
-	  {
-	    load_flags |= FT_LOAD_NO_HINTING |
-	                  FT_LOAD_NO_BITMAP;
-
-	    load_flags &= ~FT_LOAD_RENDER;
-	  }
-
-	and as such the auto-hinter is never called.  Thus, the recursion in
-	`af_loader_load_g' never actually happens.  So remove the depth
-	counter as well.
-
-	* src/autofit/afloader.c (af_loader_load_g): Remove `depth'
-	parameter.
-	<FT_GLYPH_FORMAT_COMPOSITE>: Remove associated code.
-	(af_loader_load_glyph): Updated.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[raster] Fix uninitialized memory access.
-
-	Apparently `ras.cProfile' might be uninitialized.  This will be the
-	case if `ras.top == ras.cProfile->offset', as can be seen in
-	`End_Profile'.  The overshoot code introduced in a change `Fix B/W
-	rasterization of subglyphs with different drop-out modes.' (from
-	2009-06-18) violated this, accessing `ras.cProfile->flags'
-	unconditionally just before calling `End_Profile' (which then
-	detected that `cProfile' is uninitialized and didn't touch it).
-
-	This was harmless, and was not detected by valgrind before because
-	the objects were allocated on the `raster_pool', which was always
-	initialized.  With recent change to allocate raster buffers on the
-	stack, valgrind now reported this invalid access.
-
-	* src/raster/ftraster.c (Convert_Glyph): Don't access an
-	uninitialized `cProfile'.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[smooth] Fix uninitialized memory access.
-
-	Looks like `ras.span_y' could always be used without initialization.
-	This was never detected by valgrind before because the library-wide
-	`raster_pool' was used for the worker object and `raster_pool' was
-	originally zero'ed.  But subsequent reuses of it were using `span_y'
-	uninitialized.  With the recent change to not use `render_pool' and
-	allocate worker and buffer on the stack, valgrind now detects this
-	uninitialized access.
-
-	* src/smooth/ftgrays.c (gray_raster_render): Initialize
-	`ras.span_y'.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[base] Don't initialize unused `driver->glyph_loader'.
-
-	* src/base/ftobjs.c (Destroy_Driver): Don't call
-	`FT_GlyphLoader_Done'.
-	(FT_Add_Module): Don't call `FT_GlyphLoader_New'.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[base] Don't allocate `library->raster_pool' anymore.
-
-	It's unused after the following commits:
-
-	  [raster] Allocate render pool for mono rasterizer on the stack.
-	  [raster] Remove 5-level gray AA mode from monochrome rasterizer.
-
-	The value of FT_RENDER_POOL_SIZE still serves the purpose it used to
-	serve, which is, to adjust the pool size.  But the pool is now
-	allocated on the stack on demand.
-
-	* src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[base] Do not reorder library->renderers upon use.
-
-	Instead of keeping `library->renderers' in a MRU order, just leave
-	it as-is.  The MRU machinery wasn't thread-safe.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't fail choosing rasterizer
-	(FT_Err_Cannot_Render_Glyph).
-
-	Easiest to see that crash was to add a `printf' (or otherwise let
-	thread yield in FT_Throw with debugging enabled).
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
-	(FT_Outline_Render): Don't call `FT_Set_Renderer'.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[raster] Allocate render pool for mono rasterizer on the stack.
-
-	Instead of using the `render_pool' member of `FT_Library' that is
-	provided down to the rasterizer, completely ignore that and allocate
-	needed objects on the stack instead.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't crash in the monochrome rasterizer.
-
-	* src/raster/ftraster.c (black_TRaster): Remove `buffer',
-	`buffer_size', and `worker' members.
-
-	(ft_black_render): Create `buffer' locally.
-	(ft_black_reset): Updated.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[raster] Remove 5-level gray AA mode from monochrome rasterizer.
-
-	It was off by default and couldn't be turned on at runtime.  And the
-	smooth rasterizer superseded it over ten years ago.  No point in
-	keeping.  Comments suggested that it was there for compatibility
-	with FreeType 1.
-
-	550 lines down.
-
-	* src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING,
-	RASTER_GRAY_LINES): Remove macros and all associated code.
-
-	(black_TWorker): Remove `gray_min_x' and `gray_max_x'.
-	(black_TRaster): Remove `grays' and `gray_width'.
-
-	(Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop,
-	ft_black_render): Updated.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Simplify code.
-	(ft_raster5_renderer_class): Removed.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[smooth] Allocate render pool for smooth rasterizer on the stack.
-
-	Instead of using the `render_pool' member of `FT_Library' that is
-	provided down to the rasterizer, completely ignore that and allocate
-	needed objects on the stack instead.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't crash in the smooth rasterizer.
-
-	Bugs:
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=678397
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1004315
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1165471
-	  https://bugs.freedesktop.org/show_bug.cgi?id=69034
-
-	* src/smooth/ftgrays.c (gray_TRaster): Remove `buffer',
-	`buffer_size', `band_size', and `worker' members.
-
-	(gray_raster_render): Create `buffer', `buffer_size', and
-	`band_size' locally.
-	(gray_raster_reset): Updated.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver.
-
-	Previously the code had stipulation for using a per-TT_Size exec
-	context if `size->debug' was true.  But there was no way that
-	`size->debug' could *ever* be true.  As such, the code was always
-	using the singleton `TT_ExecContext' that was stored in `TT_Driver'.
-	This was, clearly, not threadsafe.
-
-	With this patch, loading glyphs from different faces from different
-	threads doesn't crash in the bytecode loader code.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member.
-	(TT_DriverRec): Remove `context' member.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove
-	`TT_ExecContext' code related to a global `TT_Driver' object.
-
-	(tt_driver_done): Don't remove `TT_ExecContext' object here but ...
-	(tt_size_done_bytecode): ... here.
-
-	(tt_driver_init): Don't create `TT_ExecContext' object here but ...
-	(tt_size_init_bytecode): ... here, only on demand.
-
-	* src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug
-	code.
-	(TT_New_Context): Remove `TT_ExecContext' code related to a global
-	`TT_Driver' object.
-
-	* src/truetype/ttinterp.h: Updated.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	[autofit] Allocate AF_Loader on the stack instead of AF_Module.
-
-	Stop sharing a global `AF_Loader'.  Allocate one on the stack during
-	glyph load.
-
-	Right now this results in about 25% slowdown, to be fixed in a
-	following commit.
-
-	With this patch loading glyphs from different faces from different
-	threads doesn't immediately crash in the autohinting loader code.
-
-	Bugs:
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1164941
-
-	* src/autofit/afloader.c (af_loader_init): Pass
-	`AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments.
-	(af_loader_reset, af_loader_load_glyph): Also pass `loader' as
-	argument.
-	(af_loader_done): Use `AF_Loader' instead of `AF_Module' as
-	argument.
-
-	* src/autofit/afmodule.c (af_autofitter_init): Don't call
-	`af_loader_init'.
-	(af_autofitter_done): Don't call `af_loader_done'.
-	(af_autofitter_load_glyph): Use a local `AF_Loader' object.
-
-	* src/autofit/afloader.h: Include `afmodule.h'.
-	Update prototypes.
-	Move typedef for `AF_Module' to...
-
-	* src/autofit/afmodule.h: ... this place.
-	No longer include `afloader.h'.
-
-2015-01-14  Behdad Esfahbod  <[email protected]>
-
-	* src/type42/t42objs.h (T42_DriverRec): Remove unused member.
-
-2015-01-12  Werner Lemberg  <[email protected]>
-
-	Fix Savannah bug #43976.
-
-	Assure that FreeType's internal include directories are found before
-	`CPPFLAGS' (which might be set by the user in the environment), and
-	`CPPFLAGS' before `CFLAGS'.
-
-	* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
-	(FT_COMPILE): Make this a special variable for compiling only the
-	files handled in `freetype.mk'.
-	(.c.$O): Removed, unused.
-
-	* src/*/rules.mk (*_COMPILE): Fix order of include directories.
-
-2015-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] Prettifying.
-
-	* src/truetype/ttinterp.c (project, dualproj, fast_project,
-	fast_dualproj): Rename to...
-	(PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
-
-2015-01-11  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
-
-	Based on a patch from Behdad.
-
-2015-01-11  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call.
-
-2015-01-11  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Normalize): Remove unused argument.
-
-2015-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by
-	expansion.
-
-2015-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion,
-	adjusting function calls where necessary.
-	(FT_UNUSED_ARG): Removed, no longer needed.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	[truetype] More macro expansions.
-
-	Based on a patch from Behdad.
-
-	* src/truetype/ttinterp.c (DO_*): Expand macros into corresponding
-	`Ins_*' functions.
-	(TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls.
-	(ARRAY_BOUND_ERROR): Remove second definition, which is no longer
-	needed.
-	(Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with...
-	(Ins_SxyTCA): New function.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH.
-
-	Behdad suggested this code simplification, and nobody objected...
-
-	* include/config/ftoption.h, devel/ftoption.h
-	(TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove.
-
-	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]:
-	Remove related code.
-	(ARRAY_BOUND_ERROR): Use do-while loop.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_,
-	EXEC_ARG): Remove by replacing with expansion.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	[truetype] More macro expansions.
-
-	Based on a patch from Behdad.
-
-	* src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize,
-	SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move,
-	CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem,
-	CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt,
-	CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round,
-	COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing
-	with expansion.
-
-	(Cur_Func_project, CUR_Func_dualproj, CUR_fast_project,
-	CUR_fast_dualproj): Replace with macros `project', `dualproj',
-	`fast_project', `fast_dualproj'.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing
-	with expansion.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove code for static TrueType interpreter.
-
-	This is a follow-up patch.
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h
-	[TT_CONFIG_OPTION_STATIC_INTERPRETER,
-	TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code.
-
-2015-01-10  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (CUR): Remove by replacing with expansion.
-
-	This starts a series of patches that simplifies the code of the
-	bytecode interpreter.
-
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2015-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.27
+++ /dev/null
@@ -1,2106 +1,0 @@
-2016-12-30  Werner Lemberg  <[email protected]>
-
-	* Version 2.7.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-7-1'.
-
-	* docs/VERSION.TXT: Add entry for version 2.7.1.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.7/2.7.1/, s/27/271/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 19:0:13.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-
-2016-12-30  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Replace `rand' with an xorshift algorithm.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Don't include `stdlib.h'.
-	(Random): Implement and use a 32bit `xorshift' algorithm.
-
-2016-12-30  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Restrict number of tested bitmap strikes.
-
-	Malformed fonts often have large values for the number of bitmap
-	strikes, and FreeType doesn't check the validity of all bitmap
-	strikes in advance.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=353
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Include `stdlib.h' for `rand'.
-	(Random): Small class to provide n randomly selected numbers
-	(without repetition) out of the value set [1,N].
-	(LLVMFuzzerTestOneInput): Use it to test only up to 10 bitmap
-	strikes.
-
-2016-12-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Variation font API stability issues.
-
-	Make some functions work before a call to `TT_Set_MM_Blend'.
-
-	* src/truetype/ttgxvar.c (tt_hadvance_adjust): Exit immediately if
-	we don't blend.
-	(TT_Get_MM_Blend, TT_Get_Var_Design): Return default values if we
-	don't blend.
-
-2016-12-29  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis data.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=348
-
-2016-12-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Tracing fixes.
-
-	* src/truetype/ttgxvar.c (tt_hadvance_adjust): Emit correct
-	information.
-	(TT_Set_Var_Design): Fix typo.
-	(TT_Get_Var_Design): Fix typos.
-
-2016-12-29  Werner Lemberg  <[email protected]>
-
-	*/*: Use `0.5f' for tracing 16.16 numbers.
-
-2016-12-29  Werner Lemberg  <[email protected]>
-
-	[pcf] Protect against gzip bombs.
-
-	Fix suggested by Kostya; reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=345
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Limit number of TOC entries to
-	1024.
-
-2016-12-28  Werner Lemberg  <[email protected]>
-
-	[psnames] Only declare, not define, data in `pstables.h' (#49949).
-
-	Pdfium includes `pstables.h' a second time; moving the definition
-	from `pstables.h' to `psmodule.c' saves more than 60kByte data
-	segment space for this case.
-
-	* src/tools/glnames.py (StringTable::dump,
-	StringTable::dump_sublist, dump_encoding, dump_array): Emit
-	additional code to only define tables if `DEFINE_PS_TABLES' is set.
-
-	* src/psnames/pstables.h: Regenerated.
-	* src/psnames/psmodule.c (DEFINE_PS_TABLES): Define.
-
-2016-12-28  Werner Lemberg  <[email protected]>
-
-	[cff] Catch `blend' op in non-variant fonts.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=334
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdBLEND>: Don't
-	allow `blend' op for non-variant fonts.
-
-2016-12-28  Werner Lemberg  <[email protected]>
-
-	[cff] Better check of number of blends.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdBLEND>,
-	src/cff/cffparse.c (cff_parse_blend): Compare number of blends with
-	stack size.
-
-2016-12-27  Werner Lemberg  <[email protected]>
-
-	Documentation updates.
-
-	* docs/CHANGES: Add missing information.
-
-	* docs/formats.txt: Rewritten and updated.
-
-2016-12-27  Werner Lemberg  <[email protected]>
-
-	[truetype, type1] Implement `FT_Get_Var_Design_Coordinates'.
-
-	* src/truetype/ttgxvar.c (TT_Get_Var_Design): Implement.
-	(TT_Set_Var_Design): Fix tracing.
-
-	* src/type1/t1load.c (T1_Get_Var_Design): Implement.
-
-2016-12-24  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_hdmx): Ignore `version'.
-
-	Problem reported by 張俊芝 <[email protected]>.
-
-2016-12-24  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit): Allow more version values.
-
-	Some fonts seem to have the `version' field in the wrong byte order.
-
-	Problem reported by 張俊芝 <[email protected]>.
-
-2016-12-24  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Sanitize table length.
-
-	This trivial fix allows us to accept more fonts.
-
-	Problem reported by 張俊芝 <[email protected]>.
-
-2016-12-24  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Fix tracing.
-
-2016-12-22  Werner Lemberg  <[email protected]>
-
-	* CMakeLists.txt: Make it work with cmake 2.8.11.2 (#49909).
-
-2016-12-22  Werner Lemberg  <[email protected]>
-
-	Ensure used preprocessor symbols are defined (#49790).
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h: Check `__GNUC__', `__IBMC__',
-	and `__SUNPRO_C' correctly.
-
-2016-12-22  Werner Lemberg  <[email protected]>
-
-	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Check `count'.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=308
-
-2016-12-22  Werner Lemberg  <[email protected]>
-
-	[cff] Protect against invalid `vsindex' and `blend' values.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=305
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdVSINDEX,
-	cf2_cmdBLEND>: Implement it.
-
-2016-12-22  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Always use Adobe CFF engine.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (FT_Global::FT_Global): Implement
-	it.
-
-2016-12-21  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko.
-
-	I should really stop coding late in the evening...
-
-	Thanks again to Ben for checking.
-
-2016-12-21  Werner Lemberg  <[email protected]>
-
-	[autofit] Support variation fonts.
-
-	(This ChangeLog entry was added later on.)
-
-	* src/autofit/afglobal.c (af_face_globals_free): Remove useless
-	code.
-
-	* src/base/ftmm.c (FT_Set_MM_Design_Coordinates,
-	* FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
-	FT_Set_Var_Blend_Coordinates): Finalize
-	auto-hinter data to enforce recomputation.  Note that this is a
-	brute-force method which should be improved.
-
-2016-12-21  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko.
-
-	Don't apply deltas twice for non-phantom points.
-
-	Spotted by Ben Wagner.
-
-2016-12-21  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Another try for #49829.
-
-	* src/cff/cffdrivr.c: Don't include
-	`FT_SERVICE_METRICS_VARIATIONS_H'.
-	(cff_get_advances): Use `ttface->variation_support'.
-
-	* src/truetype/ttdriver.c (tt_get_advances): Use
-	`ttface->variation_support'.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Use `ttface->variation_support'.
-
-2016-12-21  Werner Lemberg  <[email protected]>
-
-	[truetype, sfnt] Introduce font variation flags to `TT_Face'.
-
-	* include/freetype/internal/tttypes.h (TT_FACE_FLAG_VAR_XXX):
-	New macros describing available functionality of various OpenType
-	tables related to font variation.
-	(TT_Face): New fields `variation_support' and `mvar_support',
-	replacing and extending `use_fvar'.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face, sfnt_load_face): Use
-	`variation_support'.
-
-	* src/truetype/ttgxvar.c (ft_var_load_hvar): Set `variation_support'
-	field.
-	(TT_Vary_Apply_Glyph_Deltas): Updated.
-
-2016-12-21  Werner Lemberg  <[email protected]>
-
-	[base] Improve sanity check for Mac resources (#49888).
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Abort if `rlen' is not
-	positive.
-
-2016-12-20  Werner Lemberg  <[email protected]>
-
-	[base] More sanity checks for Mac resources.
-
-	We use
-
-	  https://github.com/kreativekorp/ksfl/wiki/Macintosh-Resource-File-Format
-
-	and
-
-	  https://developer.apple.com/legacy/library/documentation/mac/pdf/MoreMacintoshToolbox.pdf#page=151
-
-	as references.
-
-	* include/freetype/internal/ftrfork.h (FT_RFork_Ref): Use FT_Short
-	for `res_id'.
-
-	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Extract map length
-	and use it to improve sanity checks.
-	Follow the specification more closely;in particular, all data types
-	are signed, not unsigned.
-	(FT_Raccess_Get_DataOffsets): Follow the specification more closely;
-	in particular, all data types are signed, not unsigned.
-	Add some sanity checks.
-
-2016-12-20  Werner Lemberg  <[email protected]>
-
-	[truetype] Improve logic for getting fast advance widths.
-
-	* src/cff/cffdrivr.c (cff_get_advances), src/truetype/ttdriver.c
-	(tt_get_advances): Use `is_default_instance' for test; this gets
-	recomputed after changing blend coordinates.
-
-2016-12-20  Ben Wagner  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[truetype] Fix linear metrics of GX variation fonts (#49829).
-
-	When asking for an unhinted non-default variations,
-	`linearVertAdvance' is currently the value from the `hmtx' table
-	instead of the actual value after applying the variation.  `HVAR'
-	support fixes this, but fonts will exist without that table and will
-	need sane fallback.
-
-	Problem also reported as
-
-	  https://bugs.chromium.org/p/skia/issues/detail?id=5917
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Implement linear advance adjustments if `HVAR'
-	or `VVAR' tables are missing.
-
-2016-12-20  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Fast advance width retrieval for fonts with HVAR.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Don't handle MM.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
-	(cff_get_advances): Test for HVAR and VVAR.
-
-	* src/truetype/ttdriver.c (tt_get_advances): Test for HVAR and VVAR.
-
-2016-12-18  Werner Lemberg  <[email protected]>
-
-	[base] Fix invalid mac font recursion.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=304
-
-	* src/base/ftobjs.c (FT_Open_Face): Code moved to...
-	(ft_open_face_internal): ... this function.
-	Add a parameter to control whether we try special Mac font handling
-	in case of failure.
-	(FT_Open_Face, FT_New_Face, FT_New_Memory_Face,
-	open_face_from_buffer): Use `ft_open_face_internal'.
-
-2016-12-18  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffobjs.c (cff_face_init): Make named instances work.
-
-2016-12-18  Werner Lemberg  <[email protected]>
-
-	[truetype, cff] Extend `get_var_blend' function of MM service.
-
-	In particular, we need access to named instance data.
-
-	* include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func):
-	Add argument for `FT_MM_Var'.
-
-	* src/cff/cffload.c (cff_get_var_blend): Updated.
-	* src/cff/cffload.h: Updated.
-
-	* src/cff/cf2ft.c (cf2_getNormalizedVector): Updated.
-
-	* src/truetype/ttgxvar.c (tt_get_var_blend): Updated.
-	Accept value `NULL' for arguments.
-	* src/truetype/ttgxvar.h: Updated.
-
-2016-12-18  Werner Lemberg  <[email protected]>
-
-	[sfnt] Handle `fvar' with zero axes as a non-MM font.
-
-	This is better behaviour than exiting with an error.
-
-	* include/freetype/internal/tttypes.h (TT_Face): Add `use_fvar'
-	field.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Compute `use_fvar', also
-	updating the validation code.
-	Use `use_fvar' to compute FT_FACE_FLAG_MULTIPLE_MASTERS.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Remove `fvar' validation
-	code.
-
-2016-12-18  Werner Lemberg  <[email protected]>
-
-	Minor GX code shuffling.
-
-	* include/freetype/internal/tttypes.h (TT_Face): Move
-	`is_default_instance' into TT_CONFIG_OPTION_GX_VAR_SUPPORT
-	block.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Updated.
-	* src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): New macro.
-	(TT_Load_Glyph): Use it.
-
-2016-12-18  Werner Lemberg  <[email protected]>
-
-	[cff] Better handling of non-CFF font formats.
-
-	* src/cff/cffload.c (cff_font_load): Pure CFFs don't have a
-	signature, so return `FT_Err_Unknown_File_Format' more often.
-
-2016-12-17  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_build_blend_vector): Remove redundant code.
-
-2016-12-17  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttobjs.c (tt_face_init): Simplify conditional code.
-
-2016-12-17  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] Various sanitizing fixes.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): If the axis count in `fvar' is
-	zero, set `num_instances' to zero.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Handle `fvar' table with
-	zero axes as invalid.
-
-	* src/truetype/ttobjs.c (tt_face_init): Improve logic of loading
-	`loca', `cvt', `fpgm', and `prep' table.
-
-2016-12-17  Werner Lemberg  <[email protected]>
-
-	Improve tracing of `FT_Open_Face'.
-
-	* src/base/ftobjs.c (FT_Open_Face): Return info on number of
-	available faces and numbered instances, or the indices of the
-	requested face and numbered instance.
-
-	* src/sfnt/sfobjs. (sfnt_open_font): Trace number of subfonts.
-
-2016-12-17  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_load_private_dict): Always init `blend'.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=295
-
-2016-12-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix `cvar' sanity test.
-
-	Reported by Dave Arnold.
-
-	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Use tuple count mask.
-
-2016-12-16  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Remove compiler warnings; fix `make multi'.
-
-	* src/cff/cf2font.h: Include `cffload.h'.
-
-	* src/cff/cffload.c: Include FT_MULTIPLE_MASTERS_H and
-	FT_SERVICE_MULTIPLE_MASTERS_H.
-	(cff_vstore_load): Eliminate `vsSize'.
-	(cff_load_private_dict): Tag as `FT_LOCAL_DEF'.
-
-	* src/cff/cffload.h: Include `cffobjs.h'.
-	Provide declaration for `cff_load_private_dict'.
-
-	* src/truetype/ttgxvar.c (ft_var_load_hvar): Eliminate
-	`minorVersion' and `map_offset'.
-
-2016-12-16  Werner Lemberg  <[email protected]>
-
-	[cff] Fix heap buffer overflow (#49858).
-
-	* src/cff/cffparse.c (cff_parser_run): Add one more stack size
-	check.
-
-2016-12-15  Werner Lemberg  <[email protected]>
-
-	Fix clang warnings.
-
-	* src/cff/cffload.c (cff_blend_doBlend): Add cast.
-	(cff_subfont_load): Set `error' correctly.
-
-	* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
-
-2016-12-15  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[cff] Implement CFF2 support (2/2).
-
-	The font variation code.  All parts dependent on the GX code in the
-	`truetype' module are guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-	In other words, you can still compile the `cff' module without
-	defining TT_CONFIG_OPTION_GX_VAR_SUPPORT (which brings you CFF2
-	support without font variation).
-
-	* src/cff/cf2font.c (cf2_font_setup): Add support for font
-	variation.
-	* src/cff/cf2font.h (CF2_Font): Add fields for variation data.
-
-	* src/cff/cf2ft.c (cf2_free_instance): Free blend data.
-	(cf2_getVStore, cf2_getNormalizedVector): New functions.
-	* src/cff/cf2ft.h: Updated.
-
-	* src/cff/cf2intrp.c: Include `cffload.h'.
-	(cf2_cmdRESERVED_15, cf2_cmdRESERVED_16): Replace with...
-	(cf2_cmdVSINDEX, cf2_cmdBLEND): ... this new enum values.
-	(cf2_doBlend): New function.
-	(cf2_interpT2CharString): Handle `vsindex' and `blend' opcodes.
-
-	* src/cff/cffload.c (FT_fdot14ToFixed): New macro.
-	(cff_vstore_done, cff_vstore_load): New functions.
-	(cff_blend_clear, cff_blend_doBlend, cff_blend_build_vector,
-	cff_blend_check_vector): New functions.
-	(cff_load_private_dict): Add arguments for blend vector.
-	Handle blend data.
-	(cff_subfont_load, cff_subfont_done): Updated.
-	(cff_font_load): Handle CFF2 variation store data.
-	(cff_font_done): Updated.
-	* src/cff/cffload.h: Include `cffparse.h'.
-	Updated.
-
-	* src/cff/cffobjs.c (cff_face_done): Updated.
-
-	* src/cff/cffparse.c: Include `cffload.h'.
-	(cff_parse_num): Handle internal value 255.
-	(cff_parse_vsindex, cff_parse_blend): New functions.
-	(CFF_FIELD_BLEND): New macro.
-	(cff_parser_run): Updated.
-	* src/cff/cffparse.h (cff_kind_blend): New enum value.
-
-	* src/cff/cfftoken.h: Handle `vstore', `vsindex', and `blend'
-	dictionary values.
-
-	* src/cff/cfftypes.h (CFF_VarData, CFF_AxisCoords, CFF_VarRegion,
-	CFF_VStore, CFF_Blend): New structures.
-	(CFF_FontRecDict): Add `vstore_offset' field.
-	(CFF_Private): Add `vsindex' field.
-	(CFF_SubFont): Add fields for blend data.
-	(CFF_Font): Add `vstore' field.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): `CFF2' is equal to `gvar',
-	since glyph variation data is directly embedded.
-	(TT_Set_MM_Blend): Don't load `gvar' table for CFF2 fonts.
-
-2016-12-15  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[cff] Implement CFF2 support (1/2).
-
-	This commit does not contain the blend code for font variation
-	support, which follows in another commit.
-
-	You should ignore whitespace while inspecting this commit.
-
-	* include/freetype/internal/tttypes.h (TT_Face): Add `isCFF2'
-	member.
-
-	* src/cff/cf2font.h (CF2_Font): Add `isCFF2' member.
-
-	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Handle `isCFF2'
-	flag.
-	(cf2_getMaxstack): New function.
-	* src/cff/cf2ft.h: Updated.
-
-	* src/cff/cf2intrp.c (cf2_escRESERVED_38): New enum.
-	(cf2_interpT2CharString): Handle CFF2 differences.
-	Add tracing message for errors.
-
-	* src/cff/cffdrivr.c (cff_get_glyph_name, cff_get_name_index):
-	Update for CFF2.
-
-	* src/cff/cffload.c (FT_FIXED_ONE): New macro.
-	(cff_index_init, cff_index_load_offsets, cff_index_access_element,
-	cff_index_get_name, cff_ft_select_get, cff_load_private_dict,
-	cff_subfont_load, cff_font_load): Handle CFF2.
-	* src/cff/cffload.h: Updated.
-
-	* src/cff/cffobjs.c (cff_face_init): Handle CFF2.
-
-	* src/cff/cffparse.c (cff_parse_maxstack): New function.
-	(CFFCODE_TOPDICT, CFFCODE_PRIVATE): Removed
-	* src/cff/cffparse.h (CFF2_MAX_STACK, CFF2_DEFAULT_STACK): New
-	macros.
-	(CFF2_CODE_TOPDICT, CFF2_CODE_FONTDICT, CFF2_CODE_PRIVATE): New
-	macros.
-
-	* src/cff/cfftoken.h: Add fields for CFF2 dictionaries (but no blend
-	stuff).
-
-	* src/cff/cfftypes.h (CFF_Index): Add `hdr_size' field.
-	(CFF_FontRecDict): Add `maxstack' field.
-	(CFF_Private): Add `subfont' field.
-	(CFF_Font): Add `top_dict_length' and `cff2' fields.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Handle `CFF2' table.
-
-2016-12-15  Werner Lemberg  <[email protected]>
-	    Dave Arnold  <[email protected]>
-
-	[truetype] Provide HVAR advance width variation as a service.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* src/truetype/ttdriver.c (tt_service_metrics_variations): Updated.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Prevent
-	double adjustment of advance width.
-
-	* src/sfnt/ttmtx.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
-	(tt_face_get_metrics): Apply metrics variations.
-
-2016-12-15  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[truetype] Provide function to apply `HVAR' advance width variation.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* src/truetype/ttgxvar.c (tt_hadvance_adjust): New function.
-	* src/truetype/ttgxvar.h: Updated.
-
-2016-12-15  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[truetype] Add `HVAR' table parsing.
-
-	Note that this is not complete yet; it only handles advance width
-	variation.
-
-	Activation of the code follows in another commit.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* include/freetype/ftmm.h (FT_Var_Named_Style): Add `psid' member.
-
-	* src/truetype/ttgxvar.h (GX_HVarData, GX_AxisCoords, GX_HVarRegion,
-	GX_HVStore, GX_WidthMap): New auxiliary structures for...
-	(GX_HVarTable): ... HVAR main structure.
-	(GX_BlendRec): Add data for HVAR loading.
-
-	* src/truetype/ttgxvar.c (FT_FIXED_ONE, FT_fdot14ToFixed,
-	FT_intToFixed, FT_fixedToInt): New macros.
-	(ft_var_load_hvar): New function.
-	(TT_Get_MM_Var): Updated.
-	(tt_done_blend): Deallocate HVAR data.
-
-2016-12-15  Dave Arnold  <[email protected]>
-
-	[cff] Extend number parsing.
-
-	The forthcoming CFF2 support needs a dynamic parsing limit.
-
-	* src/cff/cffparse.c (cff_parse_num, do_fixed, cff_parse_fixed,
-	cff_parse_fixed_scaled, cff_parse_fixed_dynamic): Add argument for
-	parser.
-	(cff_parse_font_matrix, cff_parse_font_bbox, cff_parse_private_dict,
-	cff_parse_multiple_master, cff_parse_cid_ros, cff_parser_run): Updated.
-
-	* src/cff/cffparse.h (cff_parse_num): Export locally.
-
-2016-12-15  Dave Arnold  <[email protected]>
-
-	[cff] Implement dynamic stack size for Adobe engine.
-
-	This also adds `cf2_stack_setReal' and `cf2_stack_pop', needed for
-	the forthcoming CFF2 support.
-
-	* src/cff/cf2stack.c (cf2_stack_init): Add argument for stack size.
-	(cf2_stack_free): Deallocate stack.
-	(cf2_stack_count, cf2_stack_pushInt, cf2_stack_pushFixed,
-	cf2_stack_popInt, cf2_stack_popFixed, cf2_stack_getReal,
-	cf2_stack_clear): Updated.
-	(cf2_stack_setReal, cf2_stack_pop): New functions.
-
-	* src/cff/cf2stack.h (CF2_Stack): Add `stackSize' member.
-	Update function declarations.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): Updated.
-
-	* src/cff/cffparse.c (cff_parser_init): Add parameter for stack
-	size; return error code.
-	(cff_parser_done): New function.
-	(cff_parser_run): Updated.
-
-	* src/cff/cffparse.h (CFF_Parser): Add `stackSize' member and make
-	`stack' a pointer.
-	Update function declarations.
-
-	* src/cff/cffload.c (cff_load_private_dict, cff_subfont_load):
-	Updated.
-
-2016-12-15  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[cff] Code shuffling.
-
-	* src/cff/cfftypes.h (CFF_Font): Add `library' and `base_offset'
-	fields.
-
-	* src/cff/cffload.c (cff_subfont_load): Change last argument to
-	`CFF_Font'
-	Split off parsing of private dictionary into...
-	(cff_load_private_dict): ...this new function.
-	(cff_font_load): Updated.
-
-2016-12-14  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] Add framework for Metrics Variations service.
-
-	No effect yet; service functions will be implemented later on.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* include/freetype/internal/services/svmetric.h: New file.
-
-	* include/freetype/internal/ftserv.h
-	(FT_SERVICE_METRICS_VARIATIONS_H): New macro.
-
-	* include/freetype/internal/tttypes.h (TT_Face): New field `var'.
-
-	* src/sfnt/sfobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
-	(sfnt_init_face): Initialize `face->var'.
-
-	* src/truetype/ttdriver.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
-	(tt_service_metrics_variations): New service.
-	(tt_services): Updated.
-
-	* src/truetype/ttpic.h: Updated.
-
-2016-12-14  Werner Lemberg  <[email protected]>
-
-	[cff] Add Multiple Masters service.
-
-	The code simply uses the MM functions from the `truetype' module.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* include/freetype/internal/tttypes.h (TT_Face): New field `mm'.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
-	(cff_set_mm_blend, cff_get_mm_blend, cff_get_mm_var,
-	cff_set_var_design, cff_get_var_design): New functions.
-	(cff_service_multi_masters): New service.
-	(cff_services): Updated.
-
-	* src/cff/cffload.c (cff_get_var_blend, cff_done_blend): New
-	functions.
-	* src/cff/cffload.h: Updated.
-
-	* src/cff/cffpic.h (CFF_SERVICE_MULTI_MASTERS_GET): New macro.
-
-	* src/sfnt/sfobjs.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
-	(sfnt_init_face): Initialize `face->mm'.
-
-2016-12-14  Werner Lemberg  <[email protected]>
-
-	Extend functionality of `ft_module_get_service'.
-
-	It can now differentiate between local and global searches.
-
-	* src/base/ftobjs.c (ft_module_get_service): Add `global' argument.
-	(FT_Get_TrueType_Engine_Type): Updated.
-
-	* src/cff/cffdrivr.c (cff_get_ps_name, cff_get_cmap_info): Updated.
-
-	* include/freetype/internal/ftobjs.h: Updated.
-	* include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE):
-	Updated.
-
-2016-12-14  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (tt_get_var_blend): Fix compiler warning.
-
-2016-12-14  Dave Arnold  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[sfnt, cff] Minor preparations.
-
-	* include/freetype/tttags.h (TTAG_CFF2, TTAG_HVAR, TTAG_MVAR,
-	TTAG_VVAR): New SFNT table tags.
-
-	* src/cff/cf2fixed.h (CF2_FIXED_ONE, CF2_FIXED_EPSILON): Add cast.
-
-2016-12-10  Werner Lemberg  <[email protected]>
-
-	[truetype, type1] Add `get_var_blend' to MM service.
-
-	For internal use; we want to share code between the forthcoming CFF2
-	support and TrueType.
-
-	* include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func):
-	New typedef.
-	(MultiMasters): Add `get_var_blend'.
-	(FT_Service_MultiMasters): Updated.
-
-	* src/truetype/ttgxvar.c (tt_get_var_blend): New function.
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
-	* src/type1/t1driver.c (t1_service_multi_masters): Updated.
-
-2016-12-10  Werner Lemberg  <[email protected]>
-
-	[truetype, type1] Add `done_blend' to MM service.
-
-	For internal use; we want to share code between the forthcoming CFF2
-	support and TrueType.
-
-	* include/freetype/internal/services/svmm.h (FT_Done_Blend_Func):
-	New typedef.
-	(MultiMasters): Add `done_blend'.
-	(FT_Service_MultiMasters): Updated.
-
-	* src/truetype/ttgxvar.c (tt_done_blend): Use `TT_Face' as argument.
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/truetype/ttobjs.c (TT_Face_Done): Updated.
-
-	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
-	* src/type1/t1driver.c (t1_service_multi_masters): Updated.
-
-2016-12-09  Werner Lemberg  <[email protected]>
-
-	[sfnt] Revert change from 2016-12-08.
-
-	I missed the functionality of `ft_module_get_service', which makes
-	the change unnecessary.
-
-2016-12-08  Werner Lemberg  <[email protected]>
-
-	Add framework to support services with 8 functions.
-
-	We will need this for CFF variation font support.
-
-	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC8):
-	New macro.
-
-2016-12-08  Werner Lemberg  <[email protected]>
-
-	[sfnt] Add `get_glyph_name' and `get_name_index' to SFNT interface.
-
-	CFF2 fonts will need access to those two functions.
-
-	* include/freetype/internal/sfnt.h: Include FT_SERVICE_GLYPH_DICT_H.
-	(SFNT_Interface): Add `get_glyph_name' and `get_name_index' members.
-	(FT_DEFINE_SFNT_INTERFACE): Updated.
-
-	* src/sfnt/sfdriver.c (sfnt_get_glyph_name, sfnt_get_name_index):
-	Fix signatures to exactly correspond to the glyph dict service
-	function typedefs.
-	(sfnt_interface): Updated.
-
-2016-12-06  Dave Arnold  <[email protected]>
-
-	Add `FT_Get_Var_Design_Coordinates' function.
-
-	Note that the low-level functions aren't implemented yet.
-
-	* include/freetype/ftmm.h: Declare.
-
-	* include/freetype/internal/services/svmm.h
-	(FT_Get_Var_Design_Func): New typedef.
-	(MultiMasters): New MM service function `get_var_design'.
-	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
-	Update all callers.
-
-	* src/base/ftmm.c (FT_Get_Var_Design_Coordinates): Implement.
-
-	* src/truetype/ttdriver.c: Updated.
-
-	* src/truetype/ttgxvar.c (TT_Get_Var_Design): New dummy function to
-	handle `get_var_design' service.
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/type1/t1driver.c: Updated.
-
-	* src/type1/t1load.c (T1_Get_Var_Design): New dump function to
-	handle `get_var_design' service.
-	* src/type1/t1load.h: Updated.
-
-2016-12-06  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs): Fix memory leak.
-
-	The `subrs' keyword might erroneously occur multiple times.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=231
-
-2016-12-01  Werner Lemberg  <[email protected]>
-
-	[gzip] Improve building with external zlib (#49673).
-
-	Building FreeType with external zlib 1.2.8 makes msvc 14 stop with
-	the following error.
-
-	  ftgzip.c
-	  zlib-1.2.8\zlib.h(86): error C2061:
-	                         syntax error: identifier 'z_const'
-	  zlib-1.2.8\zlib.h(94): error C2054:
-	                         expected '(' to follow 'z_const'
-	  zlib-1.2.8\zlib.h(94): error C2085:
-	                         'msg': not in formal parameter list
-	  ...
-	  zlib-1.2.8\zlib.h(877): fatal error C1003:
-	                          error count exceeds 100; stopping compilation
-
-	The error happens because FreeType keeps an own copy of zlib-1.1.4
-	under `src/gzip'.  When building `src/gzip/ftgzip.c' with
-	FT_CONFIG_OPTION_SYSTEM_ZLIB defined, it uses
-
-	  #include <zlib.h>
-
-	which correctly finds an external `zlib.h', but `zlib.h' itself has
-	a line
-
-	  #include "zconf.h"
-
-	which makes Visual Studio 2015 find `src/gzip/zconf.h' while
-	compiling the files in `src/gzip'.
-
-	* src/gzip/zconf.h: Rename to...
-	* src/gzip/ftzconf.h: ... this.
-	* src/gzip/zlib.h, src/gzip/rules.mk (GZIP_DRV_SRCS): Updated.
-
-2016-12-01  Oleksandr Chekhovskyi  <[email protected]>
-
-	[autofit] Fix Emscripten crash (patch #9180).
-
-	Function calls through pointers must use a matching signature to
-	work on Emscripten, since such calls are dispatched through lookup
-	tables grouped by signature.
-
-	* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Fix
-	typedef.
-
-2016-11-29  Werner Lemberg  <[email protected]>
-
-	[smooth] Revert previous commit.  Already fixed with 6ca54c64.
-
-2016-11-29  Werner Lemberg  <[email protected]>
-
-	[smooth] Avoid conditional jump on uninitialized value (#49711).
-
-	* src/smooth/ftgrays.c (gray_raster_render): Initialize `worker'.
-
-2016-11-27  Nikolaus Waxweiler  <[email protected]>
-
-	[autofit] Code shuffling.
-
-	Also improve some comments and remove unused code.
-
-	No functional change.
-
-	* src/autofit/afloader.c (af_loader_load_g): Merged with...
-	(af_loader_load_glyph): ...this function.
-	Split off emboldening code into...
-	(af_loader_embolden_glyph_in_slot): ... this function.
-
-2016-11-17  Werner Lemberg  <[email protected]>
-
-	Better support of LLP64 systems with gcc (and clang).
-
-	* builds/unix/configure.raw: Call `AC_TYPE_LONG_LONG_INT'.
-
-	* builds/unix/ftconfig.in (FT_LONG64): Enable for LLP64 systems (and
-	suppress warnings) even without `FT_CONFIG_OPTION_FORCE_INT64'.
-
-2016-11-10  Werner Lemberg  <[email protected]>
-
-	Fix `lcd_weights' array size.
-
-	* include/freetype/internal/ftobjs.h (FT_LibraryRec): Do it.
-
-	Reported by Nikolaus.
-
-2016-11-06  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Fix tracing.
-
-2016-11-06  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve FT_LOAD_BITMAP_METRICS_ONLY for `sbix' format.
-
-	It's unavoidable to call the PNG engine, but to get the metrics it
-	is sufficient to read the PNG image's header only.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Add argument to control the
-	allocation of the glyph slot.
-	* src/sfnt/pngshim.h: Updated.
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_png,
-	tt_face_load_sbix_image, tt_face_load_sbit_image): Updated.
-
-2016-11-06  Werner Lemberg  <[email protected]>
-
-	[sfnt] Speed up `sbix' lookup.
-
-	This also fixes a bug introduced in 2016-10-01 which prevents
-	display of embedded bitmap fonts that use the `sbix' format.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit): Store `sbix' size and
-	offset also in `ebdt_size' and `ebdt_start', respectively.  This
-	makes the test for an embedded bitmap data table succeed for this
-	format.
-
-	(tt_face_load_strike_metrics) <TT_SBIT_TABLE_TYPE_SBIX>: Use
-	`ebdt_size' and `ebdt_start'
-	(tt_face_load_sbix_image): Ditto.
-
-2016-11-06  Seigo Nonaka  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	Introduce a way of quickly retrieving (embedded) bitmap metrics.
-
-	`FT_Load_Glyph' doesn't generate a bitmap for a non-bitmap glyph
-	until the user calls `FT_Render_Glyph'.  However, it always
-	allocates memory for bitmaps and copies or decodes the contents of a
-	bitmap glyph, which can be quite slow for PNG data.
-
-	* include/freetype/freetype.h (FT_LOAD_BITMAP_METRICS_ONLY): New
-	macro.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Unset FT_LOAD_RENDER if
-	FT_LOAD_BITMAP_METRICS_ONLY is used.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_alloc_bitmap,
-	tt_sbit_decoder_load_bitmap): Add argument to control allocation of
-	the glyph slot.
-	(tt_sbit_decoder_load_image, tt_sbit_decoder_load_compound,
-	tt_face_load_sbit_image): Updated.
-
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Quickly exit if
-	`FT_LOAD_BITMAP_METRICS_ONLY' is set.
-
-	* src/pfr/pfrsbit.c, src/pfr/pfrsbit.h (pfr_slot_load_bitmap): Add
-	argument to control allocation of the glyph slot.
-	* src/pfr/pfrobjs (pfr_slot_load): Updated.
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
-
-	* docs/CHANGES: Updated.
-
-2016-11-06  Werner Lemberg  <[email protected]>
-
-	Synchronize with gnulib (#49448).
-
-	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (FT_TYPEOF): Update code to use definition in
-	current version of `intprops.h'.
-	Other minor synchronization to reduce code differences between the
-	three files.
-
-2016-11-03  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Clamp variation requests to valid range.
-
-	This is required by OpenType 1.8; it also avoids rounding surprises.
-
-	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Clamp design coordinates
-	outside of the allowed range to always stay within the range instead
-	of producing an error.
-
-2016-10-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Remove clang warnings.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Using `FT_ULong' for
-	loop counter handling.
-
-	* src/truetype/ttinterp.c: Updated.
-	(Ins_SCANTYPE): Use signed constant.
-	(TT_RunIns): Ensure `num_twilight_points' is 16bit.
-
-2016-10-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix commit from 2014-11-24.
-
-	Problem reported by Hin-Tak Leung  <[email protected]>.
-
-	* src/truetype/ttpload.c (tt_face_load_hdmx): Fix file checking
-	logic.
-
-2016-10-26  Werner Lemberg  <[email protected]>
-
-	Add `FT_Get_{MM,Var}_Blend_Coordinates' functions.
-
-	* include/freetype/ftmm.h: Declare.
-
-	* include/freetype/internal/services/svmm.h (FT_Get_MM_Blend_Func):
-	New typedef.
-	(MultiMasters): New MM service function `get_mm_blend'.
-	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
-	Update all callers.
-
-	* src/base/ftmm.c (FT_Get_MM_Blend_Coordinates,
-	FT_Get_Var_Blend_Coordinates): Implement.
-
-	* src/truetype/ttdriver.c: Updated.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Blend): New function to handle
-	`get_mm_blend' service.
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/type1/t1driver.c: Updated.
-
-	* src/type1/t1load.c (T1_Get_MM_Blend): New function to handle
-	`get_mm_blend' service.
-	* src/type1/t1load.h: Updated.
-
-	* docs/CHANGES: Document.
-
-2016-10-26  Werner Lemberg  <[email protected]>
-
-	* src/type1/t1load.c (parse_subrs): Fix limit check.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=81
-
-2016-10-25  Alexei Podtelezhnikov  <[email protected]>
-
-	[cff] Correct cmap format reporting (#24819).
-
-	* src/cff/cffdrivr.c (cff_get_cmap_info): Throw an error on synthetic
-	charmap instead of guessing its format and language.
-
-2016-10-22  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix SCANTYPE instruction (#49394).
-
-	* src/truetype/ttinterp.c (Ins_SCANTYPE): Only use lower 16bits.
-
-2016-10-22  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve handling of invalid post 2.5 tables [#49393].
-
-	* src/sfnt/ttpost.c (load_format_25): We need at least a single
-	table entry.
-
-2016-10-14  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix handling of `cvar' table data.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53
-
-	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Ignore invalid CVT
-	indices.
-
-2016-10-11  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix handling of invalid flex subrs.
-
-	Problem reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<op_callothersubr>: Set `flex_state' after error checking.
-
-2016-10-11  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (tt_done_blend): Fix deallocation.
-
-2016-10-08  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_face_open): Properly propagate `error'.
-
-2016-10-08  Werner Lemberg  <[email protected]>
-
-	[cid] Fix parsing of subr offsets.
-
-	Bug introduced 2016-05-16.
-
-	* src/cid/cidparse.c (cid_parser_new): Fix off-by-one error.
-
-2016-10-01  Werner Lemberg  <[email protected]>
-
-	[sfnt] Disable bitmap strikes if we don't have a bitmap data table.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit): Check whether we have
-	a bitmap data table.
-
-2016-10-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Remove impossibility.
-
-	* src/smooth/ftgrays.c (TWorker): Rearrange fields.
-	(gray_convert_glyph): Remove impossible condition and clean up.
-
-2016-09-29  Werner Lemberg  <[email protected]>
-
-	[pcf] Enrich family name with foundry name and glyph width info.
-
-	This is a very old patch from openSuSE (from 2006, submitted to
-	FreeType in 2011) that I forgot to apply.
-
-	  https://build.opensuse.org/package/view_file/openSUSE:Factory/freetype2/freetype2-bitmap-foundry.patch
-
-	Prepend the foundry name plus a space to the family name.  There are
-	many fonts just called `Fixed' which look completely different, and
-	which have nothing to do with each other.  When selecting `Fixed' in
-	KDE or Gnome one gets results that appear rather random, the style
-	changes often if one changes the size and one cannot select some
-	fonts at all.
-
-	We also check whether we have `wide' characters; all put together,
-	we get family names like `Sony Fixed' or `Misc Fixed Wide'.
-
-	* src/pcf/pcfread.c (pcf_load_font): Implement it.
-
-	* docs/CHANGES: Document it.
-
-2016-09-29  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Speed up.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Don't
-	check for embedded bitmaps if we have a non-default instance.
-
-2016-09-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Disallow bitmap strikes for non-default instances.
-
-	Also speed up access of default instances if GX variations are
-	active.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
-	`is_default_instance' member.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Initialize
-	`is_default_instance'.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Add test for default instance.
-	(TT_Load_Glyph): Load embedded bitmaps for default instance only.
-
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Compute
-	`is_default_instance'.
-
-2016-09-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Clean up `TT_Face' structure.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
-	fields `horz_metrics' and `vert_metrics'.
-	Update documentation.
-
-	* src/sfnt/sfobjs.c (sfnt_done_face): Updated.
-
-2016-09-28  Werner Lemberg  <[email protected]>
-
-	More FT_ZERO usage.
-
-	* src/gxvalid/gxvcommn.c (gxv_ClassTable_validate):
-	s/ft_memset/FT_MEM_ZERO/.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
-	s/ft_memset/FT_ARRAY_ZERO/.
-
-	* src/raster/ftraster.c (FT_ZERO): Define.
-	(ft_black_new): Use it.
-	* src/raster/ftrend1.c (ft_raster1_get_cbox):
-	s/FT_MEM_ZERO/FT_ZERO/.
-
-	* src/smooth/ftgrays.c (FT_ZERO): Define.
-	(gray_raster_new): Use it.
-	* src/smooth/ftsmooth.c (ft_smooth_get_cbox):
-	s/FT_MEM_ZERO/FT_ZERO/.
-
-2016-09-28  Werner Lemberg  <[email protected]>
-
-	*/*: s/FT_MEM_ZERO/FT_ZERO/ where appropriate.
-
-2016-09-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Trace number of executed opcodes.
-
-	* src/truetype/ttinterp.c (TT_RunIns): Implement it.
-
-2016-09-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Speed up `TT_Load_Glyph'.
-
-	This avoids additional calls to `tt_face_lookup_table' for the
-	`glyf' table, which can be expensive.
-
-	* include/freetype/internal/tttypes.h (TT_LoaderRec): Move
-	`glyf_offset' field to ...
-	(TT_FaceRec): ... this structure.
-	* src/truetype/ttgload.c (load_truetype_glyph): Updated.
-	(tt_loader_init): Move initialization of `glyf_offset' to ...
-	* src/truetype/ttpload.c (tt_face_load_loca): ... this function.
-
-2016-09-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Introduce dynamic limits for some bytecode opcodes.
-
-	This speeds up FreeType's handling of malformed fonts.
-
-	* src/truetype/ttinterp.c (TT_RunIns): Set up limits for the number
-	of twilight points, the total number of negative jumps, and the
-	total number of loops in LOOPCALL opcodes.  The values are based on
-	the number of points and entries in the CVT table.
-	(Ins_JMPR): Test negative jump counter.
-	(Ins_LOOPCALL): Test loopcall counter.
-
-	* src/truetype/ttinterp.h (TT_ExecContext): Updated.
-
-	* docs/CHANGES: Updated.
-
-2016-09-25  Werner Lemberg  <[email protected]>
-
-	[truetype] Sanitize only last entry of `loca' table.
-
-	Without this patch, a loca sequence like `0 100000 0 100000 ...',
-	where value 100000 is larger than the `glyf' table size, makes
-	FreeType handle the whole `glyf' table as a single glyph again and
-	again, which is certainly invalid (and can be very slow, too).
-
-	* src/truetype/ttpload.c (tt_face_get_location): Implement.
-	Improve tracing messages.
-
-2016-09-25  Werner Lemberg  <[email protected]>
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Fix typo.
-
-2016-09-24  Werner Lemberg  <[email protected]>
-
-	[autofit] Tracing fixes.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Call dumping
-	functions only if we actually do tracing.
-
-2016-09-22  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Reduce divisions in the line renderer.
-
-	We don't need some divisions if a line segments stays within a single
-	row or a single column of pixels.
-
-	* src/smooth/ftgrays.c (gray_render_line) [FT_LONG64]: Make divisions
-	conditional.
-
-2016-09-15  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_sweep): Remove check for empty table.
-
-2016-09-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Another tiny speed-up.
-
-	* src/smooth/ftgrays.c (gray_find_cell): Merge into...
-	(gray_record_cell): ... this function.
-
-2016-09-11  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_{find,set}_cell): Remove dubious code.
-
-2016-09-11  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Fix valgrind warning and reoptimize.
-
-	The algorithm calls `gray_set_cell' at the start of each new contour
-	or when the contours cross the cell boundaries. Double-checking for
-	that is wasteful.
-
-	* src/smooth/ftgrays.c (gray_set_cell): Remove check for a new cell.
-	(gray_convert_glyph): Remove initialization introduced by 44b172e88.
-
-2016-09-10  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix previous commit.
-
-	Problems reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40
-
-	We now map the strike index right before accessing the physical
-	data, not earlier.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Set `face->sbit_strike_map'
-	after creating the map so that...
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): ... this function
-	can be used before and after setting up `sbit_strike_map'.
-	(tt_face_set_sbit_strike): Revert change.
-	(tt_sbit_decoder_init, tt_face_load_sbix_image): Map strike index.
-
-	* src/truetype/ttdriver.c (tt_size_select): Revert change.
-
-2016-09-09  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Minor improvements.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Ignore
-	invalid strikes.
-	Use better values for call to `FT_Set_Char_Size'.
-
-2016-09-09  Werner Lemberg  <[email protected]>
-
-	[sfnt] Don't provide (completely) broken strike data.
-
-	FreeType tries to sanitize strike header data; we now reject
-	completely broken ones.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): New
-	`sbit_strike_map' array pointer.
-
-	* src/base/ftobjs.c (FT_Match_Size): Reject matches where either
-	width or height would be zero.
-	Add tracing message in case of error.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Populate `sbit_strike_map',
-	only using (more or less) valid strike header data for
-	FT_Face's `available_sizes' array.
-	(sfnt_done_face): Updated.
-
-	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use
-	`sbit_strike_map'.
-	(tt_face_load_strike_metrics): Improve tracing.
-
-	* src/truetype/ttdriver.c (tt_size_select): Use `sbit_strike_map'.
-
-2016-09-08  Werner Lemberg  <[email protected]>
-
-	* Version 2.7 released.
-	=======================
-
-
-	Tag sources with `VER-2-7'.
-
-	* docs/VERSION.TXT: Add entry for version 2.7.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.6.5/2.7/, s/265/27/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 7.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 18:6:12.
-	* CMakeLists.txt (VERSION_MINOR): Set to 7.
-	(VERSION_PATCH): Set to 0.
-
-	* docs/CHANGES: Updated.
-
-2016-09-08  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c: Include `ttgxvar.h'.
-
-	This fixes the `multi' build.
-
-2016-09-08  Werner Lemberg  <[email protected]>
-
-	[autofit] Another improvement to Armenian support.
-
-	Suggested by Hrant H Papazian <[email protected]>.
-
-	* src/autofit/afscript.h: Use better suited characters to derive
-	default stem widths.
-
-2016-09-07  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_hline): Micro-optimize.
-
-2016-09-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Operate in absolute bitmap coordinates.
-
-	Simpler bitmap addressing improves performance by 1.5%.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove count fields.
-	(gray_dump_cells, gray_find_cell, gray_set_cell, gray_hline,
-	gray_sweep, gray_convert_glyph, gray_raster_render): Updated.
-
-2016-09-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Improve contour start (take 2).
-
-	* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
-	instead of...
-	(gray_start_cell): ... this function, which is removed.
-	(gray_convert_glyph): Make initial y-coordinate invalid.
-
-2016-09-06  Werner Lemberg  <[email protected]>
-
-	[type1] MM fonts support exactly zero named instances (#48748).
-
-	* src/type1/t1load.c (T1_Get_MM_Var): Set `num_namedstyles' to zero.
-
-2016-09-06  Jonathan Kew  <[email protected]>
-
-	[cff] Fix uninitialized memory.
-
-	Problem reported as
-
-	  https://bugzilla.mozilla.org/show_bug.cgi?id=1270288
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): Initialize `storage'
-	array to handle a `get' opcode without a previous `put'.
-
-2016-09-05  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert.
-
-2016-09-05  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Improve contour start.
-
-	* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
-	instead of...
-	(gray_start_cell): ... this function, which is removed.
-
-2016-09-05  Werner Lemberg  <[email protected]>
-
-	[cff] Fix memory initialization.
-
-	* src/cff/cf2stack.c (cf2_stack_init): Use `FT_NEW'.  The `Q'
-	variants of FreeType's memory allocation macros don't do zeroing.
-
-2016-09-05  Werner Lemberg  <[email protected]>
-
-	[ftrandom] Minor improvements.
-
-	* src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): New macro, set to
-	500.
-
-	* src/tools/ftrandom/Makefile (CFLAGS): Split off include
-	directories to ...
-	(INCLUDES): ... this new variable.
-	(LDFLAGS): New variable.
-	(ftrandom.o, ftrandom): Updated.
-
-2016-09-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve Armenian support.
-
-	Thanks to Hrant H Papazian <[email protected]> for help.
-
-	* src/autofit/afblue.dat (AF_BLUE_STRING_ARMENIAN_*): Improve
-	selection of characters.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2016-09-04  Werner Lemberg  <[email protected]>
-
-	[ftrandom] Improve Makefile.
-
-	It now supports both a normal build (`./configure && make') and a
-	development build (`make devel').
-
-	* src/tools/ftrandom/Makefile (VPATH): Set it so that
-	`libfreetype.a' gets searched in both `objs' (for the development
-	build) and `objs/.libs' (for a normal build which uses libtool).
-	(LIBS): Add missing libraries.
-	(ftrandom.o): New rule.
-	(ftrandom): Use automatic variables.
-
-2016-09-03  Werner Lemberg  <[email protected]>
-
-	[truetype] More fixes for handling of GX deltas.
-
-	Problems reported by Bob Taylor <[email protected]>.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix rough
-	sanity test for glyph variation array header size.
-	Always set stream position before reading packed x and y deltas.
-	Fix thinko w.r.t. `localpoints' array.
-
-2016-09-03  Werner Lemberg  <[email protected]>
-
-	[ftrandom] Various fixes.
-
-	* src/tools/ftrandom/ftrandom.c (GOOD_FONTS_DIR): Provide better
-	default.
-	(error_fraction): Make it of type `double' to work as advertized –
-	this was completely broken.
-	Update all related code.
-	(error_count, fcnt): Make it unsigned to fix compiler warnings.
-	Update all related code.
-	(fontlist): Change `len' member to `long' to fix compiler warnings.
-	(FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, abort_test): Tag
-	unused variables.
-	(TestFace, FindFonts, copyfont, do_test): Fix compiler warnings.
-	(ExecuteTest): Ditto.
-	Call `FT_Done_FreeType'.
-	(getErrorCnt): Replace `ceil' with an ordinary cast to `unsigned
-	int'.
-	(usage): Improve output.
-	(main): Fix compiler warnings.
-
-	* src/tools/ftrandom/README: Updated.
-
-2016-09-03  Werner Lemberg  <[email protected]>
-
-	[base] Avoid negative bitmap strike dimensions (#48985).
-
-	* src/base/ftobjs.c (FT_Open_Face): Check whether negation was
-	actually successful.  For example, this can fail for value
-	-32768 if the type is `signed short'.  If there are problems,
-	disable the strike.
-
-2016-09-03  Werner Lemberg  <[email protected]>
-
-	[cff] Avoid null pointer passed to FT_MEM_COPY (#48984).
-
-	* src/cff/cffload.c (cff_index_get_name): Check `byte_len'.
-
-2016-09-02  Werner Lemberg  <[email protected]>
-
-	[unix] Enable 64bit support in file system access (#48962).
-
-	* builds/unix/configure.raw: Call `AC_SYS_LARGEFILE'.
-
-2016-09-02  Werner Lemberg  <[email protected]>
-
-	[sfnt] Avoid left shift of negative value (#48980).
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned
-	constant.
-
-2016-09-02  Werner Lemberg  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings.
-
-2016-09-02  Werner Lemberg  <[email protected]>
-
-	Some preparations for the next release.
-
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Enable.
-
-	* docs/CHANGES: Updated.
-
-2016-09-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Simplify span rendering more.
-
-	It turns out that there is significant cost associated with `FT_Span'
-	creation and calls to `gray_render_span' because it happens so
-	frequently. This removes these steps from our internal use but leaves
-	it alone for `FT_RASTER_FLAG_DIRECT" to preserve API. The speed gain
-	is about 5%.
-
-	* src/smooth/ftgrays.c (gray_render_span): Removed. The code is
-	migrated to...
-	(gray_hline): ... here.
-
-2016-08-30  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Streamline pixmap drawing a bit more.
-
-	Zero coverage is unlikely (1 out of 256) to warrant checking. This
-	gives 0.5% speed improvement in rendering simple glyphs.
-
-	* src/smooth/ftgrays.c (gray_hline, gray_render_span): Remove checks.
-
-2016-08-29  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Streamline pixmap drawing.
-
-	This gives 2% speed improvement in rendering simple glyphs.
-
-	* src/smooth/ftgrays.c (TPixmap): Reduced pixmap descriptor with a
-	pointer to its bottom-left and pitch to be used in...
-	(gray_TWorker): ... here.
-	(gray_render_span): Move pixmap flow check from here...
-	(gray_raster_render): .. to here.
-
-2016-08-27  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Reduce stack of band boundaries.
-
-	* src/smooth/ftgrays.c (gray_TBand): Removed.
-	(gray_convert_glyph): Updated to stack band boundaries concisely.
-
-2016-08-26  Werner Lemberg  <[email protected]>
-
-	* src/cid/cidload.c (cid_face_open): Improve handling of `SDBytes'.
-
-2016-08-26  Werner Lemberg  <[email protected]>
-
-	[cid] Fix commit from 2016-05-16.
-
-	* src/cid/cidparse.c (cid_parser_new): Fix off-by-one errors.
-
-2016-08-26  Werner Lemberg  <[email protected]>
-
-	[sfnt] Cache offset and size to bitmap data table.
-
-	This commit avoids `EBDT' and friends being looked up again and
-	again while loading a single embedded bitmap.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec)
-	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New fields `ebdt_start' and
-	`ebdt_size'.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Move table lookup to ...
-	(tt_face_load_sbit): ... this function; also store the table size
-	and offset.
-
-2016-08-26  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_raster_render): Minor tweaks.
-
-2016-08-26  Werner Lemberg  <[email protected]>
-
-	[type1] Fix heap buffer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36
-
-	* src/type1/t1load.c (parse_charstrings): Reject fonts that don't
-	contain glyph names.
-
-2016-08-25  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix previous commit (#48901).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Thinkos.
-
-2016-08-25  Werner Lemberg  <[email protected]>
-
-	[sfnt] Speed up handling of invalid format 4 cmaps.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_next, tt_cmap4_char_map_binary): Add
-	tests for `num_glyph' from `tt_cmap4_char_map_linear'.
-
-2016-08-25  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftdriver.h: Remove unused typedefs.
-
-2016-08-22  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Simplify span rendering.
-
-	This removes unnecessary complexity of span merging and buffering.
-	Instead, the spans are rendered as they come, speeding up the
-	rendering by about 5% as a result.
-
-	* src/smooth/ftgrays.c [FT_MAX_GRAY_SPANS]: Macro removed.
-	(gray_TWorker): Remove span buffer and related fields.
-	(gray_sweep, gray_hline): Updated.
-
-	* include/freetype/ftimage.h: Remove documentation note about
-	`FT_MAX_GRAY_SPANS', which was never in `ftoption.h' and is now gone.
-
-2016-08-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix `MPS' instruction.
-
-	According to Greg Hitchcock, MPS in DWrite really returns the point
-	size.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): Add `point_size' member.
-
-	* src/truetype/ttdriver.c (tt_size_request): Set `point_size'.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `pointSize'
-	member.
-
-	* src/truetype/ttinterp.c (TT_Load_Context): Updated.
-	(Ins_MPS): Fix instruction.
-
-2016-08-16  Werner Lemberg  <[email protected]>
-
-	[lzw] Optimize last commit.
-
-	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into
-	conditional clause.
-
-2016-08-16  Werner Lemberg  <[email protected]>
-
-	[lzw] Avoid invalid left shift.
-
-	Reported as
-
-	  https://bugzilla.mozilla.org/show_bug.cgi?id=1295366
-
-	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'.
-
-2016-08-16  Werner Lemberg  <[email protected]>
-
-	[lzw] Avoid buffer overrun.
-
-	Reported as
-
-	  https://bugzilla.mozilla.org/show_bug.cgi?id=1273283
-
-	* src/lzw/ftzopen.c (ft_lzwstate_refill): Ensure `buf_size' doesn't
-	underflow.
-
-2016-08-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix compiler warning.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Add cast.
-
-2016-08-13  Werner Lemberg  <[email protected]>
-
-	[winfonts] Avoid zero bitmap width and height.
-
-	Reported as
-
-	  https://bugzilla.mozilla.org/show_bug.cgi?id=1272173
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Check zero pixel height.
-	(FNT_Load_Glyph): Check for zero pitch.
-
-2016-08-11  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/truetype/ttinterp.c (Pop_Push_Count): Revert changes.
-
-2016-08-11  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Minor and formatting.
-
-2016-08-11  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/truetype/ttinterp.c (Pop_Push_Count): Fix some entries.
-
-2016-08-10  Peter Klotz  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_hline): Fix uninitialized access.
-
-2016-08-10  Werner Lemberg  <[email protected]>
-
-	[sfnt] Use correct type for `italicAngle' field (#48732).
-
-	* src/sfnt/ttload.c (tt_face_load_post): Fix types.
-
-2016-08-06  Jon Spencer  <[email protected]>
-
-	[sfnt] Fix `FT_Get_Advance' for bitmap strikes.
-
-	`FT_Get_Advance' returns 0 for bitmap fonts.  It first gets the
-	advance value from the font table and then scales it by the
-	`font->size->metrics->x_scale' field.  But `FT_Select_Size' doesn't
-	set that value for bitmap fonts and the advance gets scaled to zero.
-
-	Taken from
-
-	  https://github.com/behdad/harfbuzz/issues/252
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	<TT_SBIT_TABLE_TYPE_EBLC>: Set scale values.
-
-2016-08-06  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Fix GX variation handling of composites.
-
-	* src/truetype/ttgload.c (load_truetype_glyph)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check `ARGS_ARE_XY_VALUES' flag.
-
-2016-08-05  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Minor refactoring.
-
-	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line):
-	Updated.
-
-2016-07-29  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] Don't abort on invalid `maxComponentDepth'.
-
-	Since 2016-05-16 we detect infinite recursion directly.
-
-	* src/sfnt/ttload.c (tt_face_load_maxp): Don't adjust
-	`maxComponentDepth'.
-	* src/truetype/ttgload.c (load_truetype_glyph): Don't abort if
-	`maxComponentDepth' is not valid.  Instead, simply adjust its value
-	and emit a tracing message.
-
-2016-07-26  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Minor.
-
-	No functional change.
-
-2016-07-22  Hin-Tak Leung  <[email protected]>
-
-	[truetype] Record the end of IDEFs.
-
-	To match the logic in FDEF.  The value of the end is only used for
-	bound-checking in `Ins_JMPR', so it may not have been obvious that
-	it was not recorded.  Tested (as part of Font Validator 2.0) all the
-	fonts on Fedora and did not see any change.
-
-	* src/truetype/ttinterp.c (Ins_IDEF): Updated.
-
-2016-07-19  Werner Lemberg  <[email protected]>
-
-	[truetype] Sanitizer fix, second try.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary
-	tests and use only one slot more.
-
-2016-07-19  Werner Lemberg  <[email protected]>
-
-	[truetype] Sanitizer fix.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
-	to fix nested loops.
-
-2016-07-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Make GETDATA work only for GX fonts.
-
-	* src/truetype/ttinterp.c (opcode_name): Updated.
-	(Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'.
-	(TT_RunIns): Updated.
-
-2016-07-17  Werner Lemberg  <[email protected]>
-
-	[truetype] Add support for Apple's
-
-	  GETDATA[], opcode 0x92
-
-	bytecode instruction.  It always returns 17, and we have absolutely
-	no idea what it is good for...
-
-	* src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated.
-	(Ins_GETDATA): New function.
-	(TT_RunIns): Add it.
-
-2016-07-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Add bytecode support for GX variation fonts.
-
-	This commit implements undocumented (but confirmed) stuff from
-	Apple's old bytecode engine.
-
-	  GETVARIATION[], opcode 0x91
-	    This opcode pushes normalized variation coordinates for all axes
-	    onto the stack (in 2.14 format).  Coordinate of first axis gets
-	    pushed first.
-
-	  GETINFO[], selector bit 3
-	    If GX variation support is enabled, bit 10 of the result is set
-	    to 1.
-
-	* src/truetype/ttinterp.c: Include FT_MULTIPLE_MASTERS_H.
-	(opcode_name) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
-	(Ins_GETINFO) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle selector
-	bit 3, checking support for variation glyph hinting.
-	(Ins_GETVARIATION) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New function
-	to implement opcode 0x91.
-	(TT_RunIns) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle opcode 0x91.
-
-2016-07-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix GETINFO bytecode instruction.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Fix return value for
-	stretching information.
-
-2016-07-16  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Make all glyphs in `Zycon' GX font work.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary
-	tests.
-
-2016-07-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix GX delta tracing.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Trace
-	relative point movements.
-
-2016-07-16  Behdad Esfahbod  <[email protected]>
-
-	[truetype] More fixes for GX.
-
-	This finally fixes the rendering of the cyclist and the lizard in
-	the `Zycon' font.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): `first' point
-	index is always cumulative.
-
-	(tt_handle_deltas): Rename to...
-	(tt_interpolate_deltas): ... This.
-	Add new parameter for output point array.
-	Update caller.
-
-	(TT_Vary_Apply_Glyph_Deltas): Add `points_out' array; it now holds
-	the intermediate results of `tt_interpolate_deltas' that are to be
-	added to `outline->points'.
-
-2016-07-15  Werner Lemberg  <[email protected]>
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Thinko.
-
-	`max_pos' is always larger than `min_pos' so `FT_ABS' is not needed.
-
-	Reported by Alexei.
-
-2016-07-16  Nikolaus Waxweiler  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_MIRP): Fix copy-and-paste error.
-
-	Problem reported by Hin-Tak Leung.
-
-2016-07-15  Werner Lemberg  <[email protected]>
-
-	[autofit] Update and improve segment and edge tracing.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Trace
-	`delta' also.
-	Don't show first point of segment as a replacement for `pos'; this
-	is (a) misleading, since the difference to `pos' can be almost
-	arbitrarily large in corner cases, and (b) it is better to have all
-	segment data in font units instead of a single value given in output
-	space coordinates.
-	Improve layout.
-	(af_glyph_hints_dump_edges): Show px->units and units->px conversion
-	values for convenience.
-	Improve layout.
-
-2016-07-15  Werner Lemberg  <[email protected]>
-
-	[autofit] For edges, reject segments wider than 1px (#41334).
-
-	* src/autofit/afhints.h (AF_SegmentRec): New member `delta'.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Compute
-	`delta'.
-	(af_latin_hints_compute_edges): Reject segments with a delta larger
-	than 0.5px.
-
-2016-07-14  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_IS_NAMED_INSTANCE): New macro.
-
-2016-07-14  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix `face_index' value in `FT_Face' for named instances.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Don't strip off higher 16bits.
-
-2016-07-14  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix tracing.
-
-2016-07-14  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Fix gxvar delta interpolation.
-
-	The coordinates of the base font should be used for interpolation
-	purposes, NOT the current points (i.e., the result of accumulation
-	of previous deltas).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize
-	`points_org' before looping over all tuples.
-
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2016-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.28
+++ /dev/null
@@ -1,3136 +1,0 @@
-2017-09-16  Werner Lemberg  <[email protected]>
-
-	* Version 2.8.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-8-1'.
-
-	* docs/VERSION.TXT: Add entry for version 2.8.1.
-	* docs/CHANGES: Updated.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.8/2.8.1/, s/28/281/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 21:0:15.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-
-2017-09-13  suzuki toshiya  <[email protected]>
-
-	[sfnt] lowest gcc for vectors (e1d0249e) is changed to 4.7.
-
-	__builtin_shuffle() was introduced in gcc-4.7.  The lowest
-	gcc to enable vector operation is delayed from 4.6 to 4.7.
-
-	* src/sfnt/pngshim.c (premultiply_data): Fix cpp-macro to
-	enable the vector operation, to change the lowest gcc version
-	from 4.6 to 4.7.
-
-2017-09-13  suzuki toshiya  <[email protected]>
-
-	[cache] Fix a possible overflow by signed integer comparison.
-
-	Improve the code by 5d3ff05615dda6d1325ed612381a17a0df04c975 ,
-	issues are found by Behdad Esfahbod and Werner Lemberg.
-
-	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Replace
-	a subtraction to check higher bit by a bit operation,
-	and cpp-conditionalize for appropriate systems.  Add better
-	documentation to the comment.
-	(FTC_ImageCache_LookupScaler): Ditto.
-	(FTC_SBitCache_Lookup): Ditto.
-	(FTC_SBitCache_LookupScaler): Ditto.
-
-2017-09-13  Werner Lemberg  <[email protected]>
-
-	[autofit] Really fix #41334 (#52000).
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Set
-	`segment->delta' everywhere.
-
-2017-09-12  suzuki toshiya  <[email protected]>
-
-	[autofit, sfnt] Fix for `make multi'.
-
-	* src/autofit/afshaper.c: Include FT_ADVANCE_H, to use
-	FT_Get_Advance() in it.
-	* src/sfnt/ttcmap.c: Include FT_SERVICE_POSTSCRIPT_CMAPS_H
-	to use PS_Unicodes in it, also include `ttpost.h' to use
-	tt_face_get_ps_name() in it.
-
-2017-09-11  Azzuro  <[email protected]>
-
-	[build] Improve builds with different MS Visual Studio versions.
-
-	* builds/windows/vc2010/freetype.vcxproj: Switch platform toolset
-	according to the Visual Studio version.
-
-2017-09-11  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Reject format 2 tables.
-
-	Reported by Behdad.
-
-2017-09-09  Werner Lemberg  <[email protected]>
-
-	[autofit] Improve communication with ftgrid.
-
-	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset):
-	Provide values in font units.
-
-2017-09-08  suzuki toshiya  <[email protected]>
-
-	[base] Remove a check for resource ID in the resource fork driver.
-
-	LastResort.dfont has a marginal resource ID 0xFFFF for sfnt
-	resource.  Inside Macintosh: More Macintosh Toolbox, `Resource IDs'
-	(1-46), tells that some IDs are reserved and should not be used.
-	FreeType2 just uses resource ID to sort the fragmented resource.
-	To accept the marginal fonts, the checking is removed.
-
-	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Remove res_id
-	validity check, fix a trace message format.
-
-2017-09-08  suzuki toshiya  <[email protected]>
-
-	[sfnt, truetype] Register the tags for marginal fonts.
-
-	The first 32bit of standard TrueType variants is 0x00010000,
-	`OTTO', `ttcf', `true' or `typ1'.  2 marginal dfonts on legacy Mac
-	OS X, Keyboard.dfont and LastResort.dfont, have the sfnt resources
-	starting 0xA5 followed by `kbd' or `lst'.  Considering the following
-	data could be parsed as conventional TrueType fonts, the header
-	checking is updated to allow these tags.  It seems that recent Mac
-	OS X has already switched to normal TTF for these fonts.
-
-	See the discussion at
-	http://u88.n24.queensu.ca/exiftool/forum/index.php?topic=3931.0
-
-	* include/freetype/tttags.h (TTAG_0xA5kbd, TTAG_0xA5lst): New header
-	tags for Keyboard.dfont and LastResort.dfont.
-	* src/sfnt/sfobjs.c (sfnt_open_font): Accept the sfnt resource
-	starts with TTAG_0xA5kbd or TTAG_0xA5lst.
-	* src/truetype/ttobjs.c (tt_face_init): Accept the face with the
-	format tag is TTAG_0xA5kbd or TTAG_0xA5lst.
-
-2017-09-05  Werner Lemberg  <[email protected]>
-
-	Fix multiple calls of `FT_Bitmap_Convert'.
-
-	The documentation of `FT_Bitmap_Convert' says that multiple calls do
-	proper reallocation of the target FT_Bitmap object.  However, this
-	failed for the sequence
-
-	  non-empty bitmap
-	  empty bitmap
-	  non-empty bitmap
-
-	Reason was that `FT_Bitmap_Convert' only reallocated the bitmap
-	buffer if it became too small; it didn't make the buffer smaller.
-	For an empty bitmap following a non-empty one, only the buffer
-	dimension got set to zero, without deallocation.  If the next call
-	was a non-empty buffer again, an assertion in `ft_mem_qrealloc' was
-	triggered.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always reallocate target
-	buffer to the correct size.
-
-	* docs/CHANGES: Document it.
-
-2017-09-05  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix size and resolution handling.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use `SIZE' values if
-	`POINT_SIZE', `RESOLUTION_X', or `RESOLUTION_Y' properties are
-	missing.
-
-	* docs/CHANGES: Document it.
-
-2017-08-25  Alexei Podtelezhnikov  <[email protected]>
-
-	Swap `ALLOC_MULT' arguments (#51833).
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Updated.
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Updated.
-	* src/raster/ftrend1.c (ft_raster1_render): Updated.
-
-2017-08-23  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix clang compilation (#51788).
-
-	* src/sfnt/pngshim.c (premultiply_data): Use vectors instead of
-	scalars.
-	(vector_shuffle): New macro to take care of a different built-in
-	function name on clang.
-
-2017-08-22  Werner Lemberg  <[email protected]>
-
-	[base] Don't zero out allocated memory twice (#51816).
-
-	Patch applied from bug report.
-
-	* src/base/ftutil.c (ft_mem_qrealloc): Use low-level allocation to
-	avoid unnecessary overhead.
-
-2017-08-22  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow.
-
-	Changes triggered by
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3107
-
-	* src/truetype/ttinterp.c (Ins_MDRP, Ins_MIRP, Ins_ALIGNPTS): Use
-	NEG_LONG.
-
-2017-08-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[sfnt] Avoid synthetic unicode for symbol fonts with PUA.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=754574
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Check for FT_ENCODING_MS_SYMBOL.
-
-2017-08-16  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/pngshim.c (premultiply_data): Fix compiler warnings.
-
-2017-08-15  Behdad Esfahbod  <[email protected]>
-
-	[sfnt] Speed up PNG image loading.
-
-	This reduces the overhead of `premultiply_data' by 60%.
-
-	* src/sfnt/pngshim.c (premultiply_data): Provide code which uses
-	gcc's (and clang's) `vector_byte' attribute to process 4 pixels at a
-	time.
-
-2017-08-11  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] Improve handling of missing sbits.
-
-	Requested by Behdad.
-
-	Modern bitmap-only SFNTs like `NotoColorEmoji.ttf' don't contain
-	entries in the bitmap strike(s) for empty glyphs.  Instead, they
-	rely that a space glyph gets created from the font's metrics data.
-	This commit makes FreeType behave accordingly.
-
-	* include/freetype/fterrdef.h (FT_Err_Missing_Bitmap): New error
-	code.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image): Change error codes
-	to make a distinction between a missing bitmap in a composite and a
-	simple missing bitmap.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): For a missing bitmap (in a
-	bitmap-only font), synthesize an empty bitmap glyph if metrics are
-	available.
-
-2017-08-10  Werner Lemberg  <[email protected]>
-
-	[base] Minor API improvement for default variation axis setting.
-
-	* src/base/ftmm.c (FT_Set_MM_Design_Coordinates,
-	FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
-	FT_Set_Var_Blend_Coordinates): Allow coords==NULL if num_coords==0.
-
-	* docs/CHANGES: Updated.
-
-2017-08-08  Werner Lemberg  <[email protected]>
-
-	[psnames] Really fix issue #49949.
-
-	We now use a separate preprocessor macro to handle both definition
-	and declaration of the glyph name arrays.
-
-	* src/psnames/psmodule.c (DEFINE_PS_TABLE_DATA): New macro.
-
-	* src/tools/glnames.py (StringTable::dump,
-	StringTable::dump_sublist): Use `DEFINE_PS_TABLE_DATA'.
-	(dump_encoding): Ditto.
-	(main): Use `wb' mode for writing the output file, which works on
-	Windows also.
-
-	* src/psnames/pstables.h: Regenerated.
-
-2017-08-08  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Harmony LCD rendering.
-
-	This is a new technology for LCD-optimized rendering. It capitalizes
-	on the fact that each color channel grid is shifted by a third of a
-	pixel.  Therefore it is logical to render 3 separate monochrome
-	bitmaps shifting the outline by 1/3 pixel, and then combine them.
-	Importantly, the resulting output does not require additional LCD
-	filtering.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
-	[!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Implement new LCD-optimized
-	rendering.
-
-	* include/freetype/ftlcdfil.h, include/freetype/freetype.h,
-	include/freetype/config/ftoption.h, devel/ftoption.h: Updated
-	documentation.
-
-2017-08-08  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Clean up.
-
-2017-08-08  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/sfnt/ttpost.c (format): Use otspec-compliant versions.
-
-2017-08-05  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2868
-
-	* src/truetype/ttinterp.c (Ins_ALIGNRP): Use NEG_LONG.
-
-2017-08-05  Werner Lemberg  <[email protected]>
-
-	[base, truetype] New function `FT_Get_Var_Axis_Flags'.
-
-	The reserved `flags' field got a value in OpenType version 1.8.2;
-	unfortunately, the public `FT_Var_Axis' structure misses the
-	corresponding element.  Since we can't add a new field, we add an
-	access function.
-
-	* src/base/ftmm.c (FT_Get_Var_Axis_Flags): New function.
-
-	* include/freetype/ftmm.h (FT_VAR_AXIS_FLAG_HIDDEN): New macro.
-	Updated.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Increase allocated memory
-	of `mmvar' to hold axis flags.
-	Fill the axis flags array.
-
-	* docs/CHANGES: Updated.
-
-2017-08-03  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] Fix metrics of B/W hinting in v40 mode.
-
-	Phantom points are now saved outside v40 backwards compatibility
-	mode.  This fixes the jumping glyphs when switching between v35 and
-	v40 monochrome mode.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Fix inversed bool logic.
-
-2017-08-03  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] Do not set any ClearType flags in v40 monochrome mode.
-
-	This fixes weird behavior of instructions that resulted in rendering
-	differences between v35 and v40 in monochrome mode, e.g., in
-	`timesbi.ttf'.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO)
-	[TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Check
-	`subpixel_hinting_lean'.
-
-2017-08-01  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix thinko.
-
-2017-08-01  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Fix loading of named instances.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Preserve file position
-	while loading the `avar' table.
-
-2017-08-01  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] Minor adjustments for OpenType 1.8.2.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): The units per EM value has now
-	(tighter) limits.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): The new OpenType
-	version explicitly allows all negative values for the number of
-	contours if we have a composite glyph (this is for better backwards
-	compatibility I guess), but it still recommends value -1.
-
-2017-07-26  Werner Lemberg  <[email protected]>
-
-	[cff] Integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2738
-
-	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset,
-	cf2_glyphpath_curveTo): Use ADD_INT32.
-
-2017-07-13  Werner Lemberg  <[email protected]>
-
-	[base] Fix memory leak.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=738362
-
-	* src/base/ftglyph.c (FT_Get_Glyph): Do proper deallocation in case
-	of error.
-
-2017-07-12  Werner Lemberg  <[email protected]>
-
-	[base] Integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2573
-
-	* src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Use
-	FT_PIX_CEIL_LONG and FT_PIX_ROUND_LONG.
-
-2017-07-12  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttpload.c (tt_face_get_location): Off-by-one typo.
-
-	Also improve tracing message.
-
-	Problem reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=738919
-
-2017-07-07  Werner Lemberg  <[email protected]>
-
-	[cff] Integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2517
-
-	* src/cff/cf2blues.c (cf2_blues_capture): Use SUB_INT32.
-
-2017-07-05  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap_unicode_class_rec): Fix warning.
-
-2017-07-05  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (FT_Stream_SeekSet): Fix warning (#51395).
-
-2017-07-04  Werner Lemberg  <[email protected]>
-
-	[truetype] Prevent address overflow (#51365).
-
-	* src/truetype/ttgxvar.c (FT_Stream_SeekSet): Add guard.
-
-2017-07-03  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftlcdfil.c (ft_lcd_filter_fir): Improve code.
-
-2017-07-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2455
-
-	* src/truetype/ttinterp.c (Ins_SCFS): Use SUB_LONG.
-
-2017-07-01  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Ignore No_Unicode_Glyph_Name.
-
-2017-06-28  Ben Wagner  <[email protected]>
-
-	Avoid Microsoft compiler warnings (#51331).
-
-	While clang's sanitizer recommends a cast to unsigned for safe
-	negation (to handle -INT_MIN), both MSVC and Visualc emit warning
-	C4146 if an unsigned value gets negated.
-
-	* include/freetype/internal/ftcalc.h (NEG_LONG, NEG_INT32),
-	src/base/ftcalc.c (FT_MOVE_SIGN): Replace negation with a
-	subtraction.
-
-2017-06-27  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c (do_fixed): Fix typo.
-
-	Spotted by chris <[email protected]>.
-
-2017-06-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2384
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2391
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix): Use
-	NEG_LONG.
-
-	* src/truetype/ttinterp.c (Ins_SxVTL): Use NEG_LONG.
-
-2017-06-24  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2364
-
-	* src/truetype/ttinterp.c (Ins_ISECT): Use NEG_LONG.
-
-2017-06-22  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2323
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2328
-
-	* src/cff/cf2blues.c (cf2_blues_capture): Use ADD_INT32 and
-	SUB_INT32.
-
-	* src/truetype/ttinterp.c (Ins_SDPVTL): Use SUB_LONG and NEG_LONG.
-
-2017-06-21  Alexei Podtelezhnikov  <[email protected]>
-
-	[sfnt] Synthesize a Unicode charmap if one is missing.
-
-	* src/sfnt/ttcmap.h (tt_cmap_unicode_class_rec): Declare it.
-	* src/sfnt/ttcmap.c (tt_get_glyph_name, tt_cmap_unicode_init,
-	tt_cmap_unicode_done, tt_cmap_unicode_char_index,
-	tt_cmap_unicode_char_next, tt_cmap_unicode_class_rec): Implement
-	synthetic Unicode charmap class.
-	(tt_get_cmap_info): Make sure the callback is available.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face)
-	[FT_CONFIG_OPTION_POSTSCRIPT_NAMES]: If Unicode charmap is missing,
-	synthesize one.
-
-	* include/freetype/config/ftoption.h: Document it.
-	* devel/ftoption.h: Ditto.
-
-2017-06-20  Tony Theodore  <[email protected]>
-
-	Fix pkg-config in freetype-config for cross-compiling (#51274).
-
-	* builds/unix/unix-def.in (PKG_CONFIG): New variable.
-	(freetype-config): Use it in sed expression.
-
-	* builds/unix/freetype-config.in: s/pkg-config/%PKG_CONFIG%/.
-
-2017-06-20  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2300
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2313
-
-	* src/cff/cf2hints.c (cf2_hintmap_adjustHints): Use ADD_INT32.
-
-	* src/truetype/ttinterp.c (Ins_ABS): Avoid FT_ABS.
-
-2017-06-17  Alexei Podtelezhnikov  <[email protected]>
-
-	[base, smooth] LCD filtering cleanups.
-
-	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
-	Clean up, start filtering from the bottom-left origin.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Updated.
-
-2017-06-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2270
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2276
-
-	* src/truetype/ttinterp.c (Ins_MDRP, _iup_worker_interpolate): Use
-	ADD_LONG and SUB_LONG.
-
-2017-06-15  Werner Lemberg  <[email protected]>
-
-	[bdf, cff] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2244
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2261
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Replace calls to FT_ABS with
-	direct code to avoid value negation.
-
-	* src/cff/cf2blues.c (cf2_blues_capture): Use SUB_INT32 and
-	ADD_INT32.
-
-2017-06-13  Werner Lemberg  <[email protected]>
-
-	* src/winfonts/winfnt.c (FNT_Face_Init): Don't set active encoding.
-
-	FreeType only sets a default active encoding for Unicode.
-
-2017-06-13  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2216
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2218
-
-	* src/cff/cf2fixed.h (cf2_fixedAbs): Use NEG_INT32.
-
-	* src/truetype/ttinterp.c (Ins_IP): Use SUB_LONG.
-
-2017-06-11  Werner Lemberg  <[email protected]>
-
-	[cff] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2200
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2210
-
-	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Use SUB_INT32 and
-	ADD_INT32.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO>: Use
-	ADD_INT32.
-
-2017-06-10  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix TT_Set_Var_Design.
-
-	Reported by Nikolaus Waxweiler <[email protected]>.
-
-	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Correctly handle the
-	case where we have less input coordinates than axes.
-
-2017-06-10  Werner Lemberg  <[email protected]>
-
-	* src/base/ftcalc.c (FT_DivFix): Fix embarrassing typo.
-
-	Bug introduced 2017-05-28.
-
-2017-06-09  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2144
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2151
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2153
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2173
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2186
-
-	* src/cff/cf2blues.c (cf2_blues_init): Use SUB_INT32.
-
-	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
-	Round_To_Half_Grid, Round_Down_To_Grid, Round_Up_To_Grid,
-	Round_To_Double_Grid, Round_Super, Round_Super_45): Use ADD_LONG,
-	SUB_LONG, NEG_LONG, FT_PIX_ROUND_LONG, FT_PIX_CEIL_LONG,
-	FT_PAD_ROUND_LONG
-	(Ins_SxVTL, Ins_MIRP): Use SUB_LONG.
-	(_iup_worker_shift): Use SUB_LONG and ADD_LONG.
-
-2017-06-09  Werner Lemberg  <[email protected]>
-
-	Provide more macros for flooring, ceiling, and rounding.
-
-	These versions don't produce run-time errors due to integer
-	overflow.
-
-	* include/freetype/internal/ftobjs.h: Include FT_INTERNAL_CALC_H.
-	(FT_PAD_ROUND_LONG, FT_PAD_CEIL_LONG, FT_PIX_ROUND_LONG,
-	FT_PIX_CEIL_LONG): New macros.
-	(FT_PAD_ROUND_INT32, FT_PAD_CEIL_INT32, FT_PIX_ROUND_INT32,
-	FT_PIX_CEIL_INT32): New macros.
-
-2017-06-09  Werner Lemberg  <[email protected]>
-
-	Remove unused macros.
-
-	* include/freetype/internal/ftcalc.h (ADD_INT, SUB_INT, MUL_INT,
-	NEG_INT): Deleted.
-
-2017-06-09  Werner Lemberg  <[email protected]>
-
-	*/*: Remove `OVERFLOW_' prefix.
-
-	This increases readability.
-
-2017-06-07  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2133
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2137
-
-	* src/cff/cf2hints.c (cf2_hint_init): Use OVERFLOW_SUB_INT32.
-
-	* src/truetype/ttinterp.c (PROJECT, DUALPROJ): Use
-	OVERFLOW_SUB_LONG.
-
-2017-06-06  Werner Lemberg  <[email protected]>
-
-	[cff] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2109
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2110
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2122
-
-	* src/cff/cf2blues.c (cf2_blues_init): Use OVERFLOW_SUB_INT32.
-
-	* src/cff/cf2hints.c (cf2_hintmap_map): Synchronize if-else
-	branches.
-
-2017-06-05  Werner Lemberg  <[email protected]>
-
-	[cff] Integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2089
-
-	* src/cff/cffload.c (cff_blend_doBlend): User OVERFLOW_ADD_INT32.
-
-2017-06-04  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2075
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2088
-
-	* src/cff/cf2font.c (cf2_font_setup): Use OVERFLOW_MUL_INT32.
-
-	* src/truetype/ttinterp.c (Ins_ISECT): Use OVERFLOW_MUL_LONG,
-	OVERFLOW_ADD_LONG, and OVERFLOW_SUB_LONG.
-
-2017-06-03  Werner Lemberg  <[email protected]>
-
-	[base, cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2060
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2062
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2063
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2068
-
-	* src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Use
-	OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG.
-
-	* src/cff/cf2blues.c (cf2_blues_capture), src/cff/cf2hints.c
-	(cf2_hintmap_adjustHints): Use OVERFLOW_SUB_INT32.
-
-	* src/truetype/ttgload.c (compute_glyph_metrics): User
-	OVERFLOW_SUB_LONG.
-
-	* src/truetype/ttinterp.c (Direct_Move, Direct_Move_Orig,
-	Direct_Move_X, Direct_Move_Y, Direct_Move_Orig_X,
-	Direct_Move_Orig_Y, Move_Zp2_Point, Ins_MSIRP): Use
-	OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG.
-
-2017-06-03  Werner Lemberg  <[email protected]>
-
-	* builds/unix/freetype-config.in: Fix pkg-config test (#51162).
-
-	Patch directly taken from bug report.
-
-2017-06-03  Werner Lemberg  <[email protected]>
-
-	[bdf] Synchronize sanity checks with pcf driver.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2054
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2058
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Check font ascent and descent.
-	Check AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
-	RESOLUTION_Y properties.
-
-2017-06-03  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2047
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2057
-
-	* src/cff/cf2hints.c (cf2_hintmap_map): Use OVERFLOW_SUB_INT32.
-
-	* src/truetype/ttinterp.c (Ins_ADD): Use OVERFLOW_ADD_LONG.
-	(Ins_SUB): Use OVERFLOW_SUB_LONG.
-	(Ins_NEG): Use NEG_LONG.
-
-2017-06-03  Werner Lemberg  <[email protected]>
-
-	ftcalc.h: Avoid left-shift of negative numbers.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2055
-
-	* include/freetype/internal/ftcalc.h (INT_TO_F26DOT6,
-	INT_TO_F2DOT14, INT_TO_FIXED, F2DOT14_TO_FIXED): Use multiplication.
-
-2017-06-02  Werner Lemberg  <[email protected]>
-
-	[cff] Even more integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2046
-
-	* src/cff/cf2intrp.c (cf2_doStems, cf2_interpT2CharString): Use
-	OVERFLOW_ADD_INT32.
-
-2017-06-02  Werner Lemberg  <[email protected]>
-
-	[cff] More integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2032
-
-	* src/cff/cf2blues.c (cf2_blues_init): Use OVERFLOW_SUB_INT32.
-
-2017-06-02  Werner Lemberg  <[email protected]>
-
-	[bdf] Don't left-shift negative numbers.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2031
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use multiplication.
-
-2017-06-02  Werner Lemberg  <[email protected]>
-
-	[bdf] Fix integer scanning routines.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2029
-
-	* src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous, _bdf_atos):
-	Stop scanning if result would overflow.
-
-2017-06-02  Werner Lemberg  <[email protected]>
-
-	[cff] Fix integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2027
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2028
-
-	* src/cff/cf2hints.c (cf2_hintmap_insertHint), src/cff/cf2intrp.c
-	(cf2_doFlex): Use OVERFLOW_ADD_INT32 and OVERFLOW_SUB_INT32.
-
-2017-06-01  Werner Lemberg  <[email protected]>
-
-	[smooth] Some 32bit integer overflow run-time errors.
-
-	* src/smooth/ftgrays.c [STANDALONE] (OVERFLOW_ADD_LONG,
-	OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG, NEG_LONG): New macros.
-	[!STANDALONE]: Include FT_INTERNAL_CALC_H.
-	(gray_render_cubic): Use those macros where appropriate.
-
-2017-06-01  Werner Lemberg  <[email protected]>
-
-	* src/base/ftglyph.c (FT_Get_Glyph): Check `slot->advance'.
-
-2017-06-01  Werner Lemberg  <[email protected]>
-
-	[psaux] 32bit integer overflow tun-time errors (#46149).
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Use
-	OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG where appropriate.
-
-2017-06-01  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter again.
-
-	Problem reported by Marek Kašík <[email protected]>.
-
-	The problematic font that exceeds the old limit is Padauk-Bold,
-	version 3.002, containing bytecode generated by a buggy version of
-	ttfautohint.
-
-2017-05-31  Werner Lemberg  <[email protected]>
-
-	[cff] 32bit integer overflow run-time errors 2/2 (#46149).
-
-	This commit handles the new engine.
-
-	* include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT32,
-	OVERFLOW_SUB_INT32, OVERFLOW_MUL_INT32, NEG_INT, NEG_LONG,
-	NEG_INT32): New macros.
-
-	* src/cff/cf2ft.c (cf2_getScaleAndHintFlag): Use OVERFLOW_ADD_INT32.
-
-	* src/cff/cf2hints.c (cf2_getWindingMomentum, cf2_hint_init,
-	cf2_hintmap_map, cf2_glyphpath_hintPoint,
-	cf2_glyphpath_computeIntersection, cf2_glyphpath_computeOffset,
-	cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): Use
-	OVERFLOW_ADD_INT32, OVERFLOW_SUB_INT32, OVERFLOW_MUL_INT32, and
-	NEG_INT32 where appropriate.
-
-	* src/cff/cf2intrp.c (cf2_doFlex, cf2_doBlend,
-	cf2_interpT2CharString): Ditto.
-	Also add some other code where needed to avoid overflow.
-
-2017-05-30  Werner Lemberg  <[email protected]>
-
-	[cff] 32bit integer overflow run-time errors 1/2 (#46149).
-
-	This commit handles the old engine.
-
-	* src/cff/cffgload.c: Include FT_INTERNAL_CALC_H.
-	(cff_decoder_parse_charstrings): Use OVERFLOW_ADD_LONG and
-	OVERFLOW_SUB_LONG where needed.
-
-	* src/cff/cffparse.c: Include FT_INTERNAL_CALC_H.
-	(power_ten_limits): New static array.
-	(do_fixed): Use it to prevent multiplication overflow.
-	(cff_parser_run): Use OVERFLOW_ADD_LONG.
-
-2017-05-30  Werner Lemberg  <[email protected]>
-
-	[psaux] Correctly handle sequences of multiple number signs.
-
-	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed): Return zero
-	if we encounter more than a single sign.
-
-2017-05-29  Werner Lemberg  <[email protected]>
-
-	[pcf] 32bit integer overflow run-time errors (#46149).
-
-	* src/pcf/pcfread.c (pcf_get_accel): Add sanity checks for
-	`fontAscent' and `fontDescent'.
-	(pcf_load_font): Add sanity checks for global height.
-	Add sanity checks for AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE,
-	RESOLUTION_X, and RESOLUTION_Y properties.
-
-2017-05-29  Werner Lemberg  <[email protected]>
-
-	Handle some integer overflow run-time errors (#46149, #48979).
-
-	This commit (mainly for 32bit CPUs) is the first of a series of
-	similar commits to handle known integer overflows.  Basically, all
-	of them are harmless, since they affect rendering of glyphs only,
-	not posing security threats.  It is expected that fuzzying will show
-	up more overflows, to be fixed in due course.
-
-	The idea is to mark places where overflows can occur, using macros
-	that simply cast to unsigned integers, because overflow arithmetic
-	is well defined in this case.  Doing so suppresses run-time errors
-	of sanitizers without adding computational overhead.
-
-	* include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT,
-	OVERFLOW_SUB_INT, OVERFLOW_MUL_INT, OVERFLOW_ADD_LONG,
-	OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG): New macros.
-
-	* src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_Matrix_Multiply,
-	FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled,
-	ft_corner_orientation): Use new macros.
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use new macros.
-
-2017-05-28  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/ftcalc.h (FLOAT_TO_FIXED): Remove.
-
-	This macro is not used.
-
-2017-05-28  Werner Lemberg  <[email protected]>
-
-	[cff] s/cf2_floatToFixed/cf2_doubleToFixed/.
-
-	The new name better describes what the macro actually does;
-	additionally, we don't need a trailing `f' for literals (there was
-	only a single such instance in the code, but this caused a clang
-	warning because the macro itself uses `double' literals).
-
-	* src/cff/cf2blues.c, src/cff/cf2blues.h, src/cff/cf2fixed.h,
-	src/cff/cf2font.c, src/cff/cf2hints.c: Updated.
-
-2017-05-28  Werner Lemberg  <[email protected]>
-
-	Fix negation of INT_MIN and LONG_MIN (#46149).
-
-	* src/base/ftcalc.c (FT_MOVE_SIGN): Add argument to pass unsigned
-	value, to be used as the result.
-	(FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix, FT_MulFix,
-	FT_Vector_NormLen): Updated.
-
-2017-05-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix handling of design coordinates (#51127).
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend): Compute all design
-	coordinates if we have to create the `blends->coord' array.
-	(TT_Get_MM_Blend, TT_Get_Var_Design): Select default instance
-	coordinates if no instance is selected yet.
-
-2017-05-24  Werner Lemberg  <[email protected]>
-
-	[bdf, pcf] Support ISO646.1991-IRV character encoding (aka ASCII).
-
-	Problem reported by Marek Kašík <[email protected]>, cf.
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1451795
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdrivr.c
-	(PCF_Face_Init): Implement it.
-
-2017-05-20  Nikolaus Waxweiler  <[email protected]>
-
-	[truetype] Always use interpreter v35 for B/W rendering (#51051).
-
-	* src/truetype/ttgload.c (tt_loader_init)
-	[TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Adjust
-	`subpixel_hinting_lean', `grayscale_cleartype', and
-	`vertical_lcd_lean' accordingly.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Updated.
-	(TT_RunIns): Update `backward_compatibility' flag.
-
-2017-05-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Implement minimal dynamic padding for LCD filtering.
-
-	Extra bitmap padding for LCD filtering depends on the filter.  The
-	default 5-tap filter needs 2 extra subpixels.  The light 3-tap filter
-	needs only 1 extra subpixel.  This space could be already available
-	due to rounding.  In order to optimize the padding, we now expand
-	CBox for the given filter weights before rounding.
-
-	This change breaks current Skia (and Firefox).
-
-	* include/freetype/internal/ftobjs.h (FT_LibraryRec)
-	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Remove `lcd_extra' field.
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights,
-	FT_Library_SetLcdFilter): Remove `lcd_extra' initializations.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Implement dymanic
-	LCD padding.
-
-2017-05-15  Werner Lemberg  <[email protected]>
-
-	[sfnt] Return proper scaling values for SBIX bitmaps.
-
-	Problem reported by Hin-Tak Leung <[email protected]>.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
-
-2017-05-15  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix error handling for embedded bitmaps.
-
-	Problem reported by Hin-Tak Leung <[email protected]>.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph)
-	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Handle error if font is not
-	scalable.
-
-2017-05-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[autofit] Make autohint warping NORMAL option.
-
-	This moves warping option from LIGHT to NORMAL mode.  This makes LIGHT
-	truly void of hinting in x-direction, with left side bearing never
-	changed and right side bearing only altered by advance rounding.
-	Therefore, LIGHT is now ready to return fractional advance.  As a
-	NORMAL option, warping substitutes normal hinting.
-
-	* src/autofit/afcjk.c (af_cjk_hints_apply): Updated.
-	* src/autofit/aflatin.c (af_latin_hints_apply): Updated.
-	* src/autofit/aflatin2.c (af_latin2_hints_apply): Updated.
-
-	* src/autofit/afloader.c (af_loader_load_glyph): Handle warping
-	phantom points as normal.
-
-2017-05-14  Werner Lemberg  <[email protected]>
-
-	Remove remnants of raster pool.
-
-	* include/freetype/internal/ftobjs.h (FT_LibraryRec): Remove
-	`raster_pool' and `raster_pool_size' fields.
-
-	* src/base/ftobjs.c (FT_New_Library), src/raster/ftrend1.c
-	(ft_raster1_init), src/smooth/ftsmooth.c (ft_smooth_init): Updated.
-
-2017-05-13  Werner Lemberg  <[email protected]>
-
-	* Version 2.8 released.
-	=======================
-
-
-	Tag sources with `VER-2-8'.
-
-	* docs/VERSION.TXT: Add entry for version 2.8.
-	* docs/CHANGES: Updated.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.7.1/2.8/, s/271/28/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 8.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 20:0:14.
-	* CMakeLists.txt (VERSION_MINOR): Set to 8.
-	(VERSION_PATCH): Set to 0.
-
-2017-05-12  Hin-Tak Leung  <[email protected]>
-
-	Fix `FT_UINT_TO_POINTER' macro for Windows.
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]:
-	Fix definition.
-
-2017-05-11  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Chakma script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Chakma.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Chakma standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Chakma data.
-
-2017-05-10  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Kayah Li script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Kayah Li.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Kayah Li standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Kayah Li data.
-
-2017-05-10  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Bamum script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Bamum.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Bamum standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Bamum data.
-
-2017-05-10  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Saurashtra script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Saurashtra.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Saurashtra standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Saurashtra
-	data.
-
-2017-05-10  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Buhid script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Buhid.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Buhid standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Buhid data.
-
-2017-05-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Shavian script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Shavian.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Shavian standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Shavian data.
-
-2017-05-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Vai script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Vai.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Vai standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Vai data.
-
-2017-05-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Osmanya script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Osmanya.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Osmanya standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Osmanya data.
-
-2017-05-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Coptic script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Coptic.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Coptic standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Coptic data.
-
-2017-05-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Carian script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Carian.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Carian standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Carian data.
-
-2017-05-07  Werner Lemberg  <[email protected]>
-
-	[truetype] Add tricky font `DFGirl-W6-WIN-BF' (from Dynalab).
-
-	Reported by Roy Tam <[email protected]>.
-
-	* src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
-
-2017-05-07  Roy Tam  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[truetype] More tricky fonts (mainly from Dynalab).
-
-	* src/truetype/ttobjs.c (tt_check_trickyness_family,
-	tt_check_trickyness_sfnt_ids): Add them.
-
-2017-05-07  Werner Lemberg  <[email protected]>
-
-	[truetype] Add tricky font `DLCHayMedium' (from Dynalab).
-
-	Reported by Roy Tam <[email protected]>.
-
-	* src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
-
-2017-05-03  Werner Lemberg  <[email protected]>
-
-	*/*: s/backwards compatibility/backward compatibility/.
-
-2017-05-03  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Unified Canadian Syllabics script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Unified Canadian
-	Syllabics.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Unified Canadian Syllabics standard
-	character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Unified
-	Canadian Syllabics data.
-
-2017-05-03  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	[autofit] Add blue-zone support for Sundanese script.
-
-	This essentially moves the Sundanese script from the `Indic' hinter
-	to the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Sundanese.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Sundanese standard character and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Sundanese data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Sundanese data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2017-05-03  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Avestan script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Avestan.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Avestan standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Avestan data.
-
-2017-05-02  Behdad Esfahbod  <[email protected]>
-
-	[truetype] Make `IUP' gvar deltas do the same as Apple (#50832).
-
-	When points are not touched by gvar interpolation deltas, FreeType
-	gave a slightly different result than Apple's CoreText.
-
-	The OpenType working group will update the specification to document
-	the following behaviour: If the two points with deltas to the `left'
-	and `right' of the untouched point have the same coordinate, then
-	the inferred delta for the untouched point should be zero.
-
-	* src/truetype/ttgxvar.c (tt_delta_interpolate): Implement new
-	behaviour.
-
-2017-05-02  Werner Lemberg  <[email protected]>
-
-	[autofit] Remove `slight' auto-hint mode again.
-
-	A poll on freetype-devel favoured changes directly applied to
-	`light'.
-
-	* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT,
-	FT_RENDER_MODE_SLIGHT): Removed.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
-	(af_latin_hints_init), src/autofit/aflatin2.c
-	(af_latin2_hints_init): Revert change from 2017-04-22.
-
-	* src/autofit/afloader.c (af_loader_load_glyph) Remove references to
-	FT_RENDER_MODE_SLIGHT.
-	[AF_CONFIG_OPTION_TT_SIZE_METRICS]: Enable TrueType-like metrics
-	unconditionally.
-
-	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Revert change from
-	2017-04-22.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Revert change from 2017-04-22.
-
-	* src/pshinter/pshalgo.c (ps_hints_apply): Revert change from
-	2017-04-22.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render): Revert change from
-	2017-04-22.
-
-	* docs/CHANGES: Updated.
-
-2017-04-30  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix metrics computation.
-
-	Problem reported by Markus Trippelsdorf <[email protected]> and
-	Nikolaus Waxweiler <[email protected]>.
-
-	* src/base/ftobjs.c (FT_Request_Size): Trigger recomputation of
-	auto-hinter metrics.  Without this change, multiple size changing
-	calls for a single face fail.
-
-2017-04-29  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttdriver.c (tt_size_request): Properly check `error'.
-
-	Reported by Earnestly <[email protected]> in
-
-	  https://lists.nongnu.org/archive/html/freetype/2017-04/msg00031.html
-
-2017-04-27  Werner Lemberg  <[email protected]>
-
-	Introduce AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option.
-
-	* include/freetype/config/ftoption.h
-	(AF_CONFIG_OPTION_TT_SIZE_METRICS): New option, commented out by
-	default.
-
-	* src/autofit/afloader.c (af_loader_load_glyph): Use
-	AF_CONFIG_OPTION_TT_SIZE_METRICS to guard the corresponding code.
-
-2017-04-26  Werner Lemberg  <[email protected]>
-
-	* include/freetype/freetype.h (FT_Render_Mode): Fix order.
-
-	This retains backward compatibility.
-
-	Noted by Alexei.
-
-2017-04-22  Werner Lemberg  <[email protected]>
-
-	[truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470).
-
-	* src/truetype/ttobjs.h (TT_SizeRec): Add field `hinted_metrics' to
-	hold hinted metrics.
-	Make `metrics' a pointer so that `tt_glyph_load' can easily switch
-	between metrics.
-
-	* src/truetype/ttdriver.c (tt_size_request): Updated.
-	(tt_glyph_load): Use top-level metrics if FT_LOAD_NO_HINTING is
-	used.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph, TT_Process_Simple_Glyph,
-	TT_Process_Composite_Component, load_truetype_glyph,
-	compute_glyph_metrics, TT_Load_Glyph): Updated.
-
-	* src/truetype/ttinterp.c (TT_Load_Context): Updated.
-
-	* src/truetype/ttobjs.c (tt_size_reset): Updated.
-
-	* src/truetype/ttsubpix.c (sph_set_tweaks): Updated.
-
-2017-04-22  Werner Lemberg  <[email protected]>
-
-	Add new `slight' auto-hinting mode.
-
-	This mode uses fractional advance widths and doesn't scale glyphs
-	horizontally, only applying vertical scaling and hinting.
-
-	At the same time, the behaviour of the `light' auto-hinter gets
-	restored for backward compatibility: Both vertical and horizontal
-	scaling is again based on rounded metrics values (this was changed
-	in a commit from 2017-03-30 as a side effect).  To be more precise,
-	the behaviour is restored for TrueType fonts only; for other font
-	formats like Type 1, this is a new feature of the `light' hinting
-	mode.
-
-	* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT): New macro.
-	(FT_RENDER_MODE_SLIGHT): New render mode.
-
-	* include/freetype/internal/ftobjs.h (FT_Size_InternalRec): Add
-	`autohint_mode' and `autohint_metrics' fields.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
-	(af_latin_hints_init), src/autofit/aflatin2 (af_latin2_hints_init):
-	Updated.
-
-	* src/autofit/afloader.c (af_loader_embolden_glyph_in_slot): Use
-	`autohint_metrics'.
-	(af_loader_load_glyph): s/internal/slot_internal/.
-	Initialize `autohint_metrics' and `autohint_mode' depending on
-	current auto-hint mode.
-	Use `autohint_metrics'.
-	Updated.
-
-	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Updated.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
-	(FT_New_Size): Allocate `internal' object.
-
-	* src/pshinter/pshalgo.c (ps_hints_apply): Updated.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render): Updated.
-
-2017-04-22  Werner Lemberg  <[email protected]>
-
-	Introduce `FT_Size_InternalRec' structure.
-
-	We are going to extend this later on.
-
-	* include/freetype/internal/ftobjs.h (FT_Size_InternalRec): New
-	structure with a single field `module_data'.
-
-	* src/base/ftobjs.c (FT_New_Size): Allocate `internal' field of
-	`FT_Size' structure.
-
-	* src/cff/cffgload.c (cff_builder_init, cff_decoder_prepare): Use
-	`size->internal->module_data' instead of `size->internal'.
-
-	* src/cff/cffobjs.c (cff_size_done): Deallocate `module_data'.
-	(cff_size_init, cff_size_select, cff_size_request): Use
-	`size->internal->module_data' instead of `size->internal'.
-
-	* src/cif/cidobjs.c (cid_size_done, cid_size_init,
-	cid_size_request): Use `size->internal->module_data' instead of
-	`size->internal'.
-
-	* src/psaux/psobjs.c (t1_builder_ini): Use
-	`size->internal->module_data' instead of `size->internal'.
-
-	* src/type1/t1objs.c (T1_Size_Done, T1_Size_Init, T1_Size_Request):
-	Use `size->internal->module_data' instead of `size->internal'.
-
-2017-04-21  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftsmooth.h: Remove unused guards and declaration.
-
-2017-04-16  Hin-Tak Leung  <[email protected]>
-
-	Fix tracing messages.
-
-	* src/base/ftobjs.c (FT_Face_GetCharVariantIndex,
-	FT_Face_GetCharVariantIsDefault, FT_Face_GetVariantsOfChar): Print
-	correct function name.
-
-2017-04-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Old Turkic script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Old Turkic.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Old Turkic standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Old Turkic data.
-
-2017-04-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Gothic script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Gothic.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Gothic standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Gothic data.
-
-2017-04-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Cypriot script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Cypriot.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Cypriot standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Cypriot data.
-
-2017-04-08  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Deseret script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Deseret.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Deseret standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Deseret data.
-
-2017-04-07  Werner Lemberg  <[email protected]>
-
-	[autofit] Fix invalid character range description (#50745).
-
-	Also reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1034
-
-	* src/autofit/afranges.c (af_glag_nonbase_uniranges): Fix typo in
-	recent commit.
-
-2017-04-07  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Fix clang warnings.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Add
-	casts.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Lisu script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Lisu.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Lisu standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Lisu data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Osage script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Osage.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Osage standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Osage data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Glagolitic script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Glagolitic.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Glagolitic standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Glagolitic data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Tai Viet script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Tai Viet.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Tai Viet standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Tai Viet data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Tifinagh script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Tifinagh.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Tifinagh standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Tifinagh data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-	    Werner Lemberg  <[email protected]
-
-	[autofit] Add support for N'Ko script.
-
-	* src/autofit/afblue.dat: Add blue zone data for N'Ko.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add N'Ko standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add N'Ko data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-
-	[autofit] Add support for Adlam script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Adlam.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Adlam standard characters.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Adlam data.
-
-2017-04-06  Sascha Brawer  <[email protected]>
-
-	[autofit] Add support for Ol Chiki script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Ol Chiki.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Ol Chiki standard character.
-
-	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data.
-
-2017-04-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Avoid reexecution of `fpgm' and `prep' in case of error.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=981
-
-	* include/freetype/fterrdef.h (FT_Err_DEF_In_Glyf_Bytecode): New
-	error code.
-
-	* src/truetype/ttinterp.c (Ins_FDEF, Ins_IDEF): Prohibit execution
-	of these two opcodes in `glyf' bytecode.
-	(TT_RunIns): Don't enforce reexecution of `fpgm' and `prep' bytecode
-	in case of error since function tables can no longer be modified
-	(due to the changes in `Ins_FDEF' and `Ins_IDEF').  This change can
-	enormously speed up handling of broken fonts.
-
-2017-04-02  Alexei Podtelezhnikov  <[email protected]>
-
-	[autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'.
-
-	* src/autofit/aflatin.c (af_latin_hints_init): Updated.
-	* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
-
-2017-04-01  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgload.c: Include FT_CONFIG_CONFIG_H.
-
-	Otherwise FT_UINT_TO_POINTER might not be defined.
-
-	Problem reported by Alexei.
-
-2017-03-31  Alexei Podtelezhnikov  <[email protected]>
-
-	[autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'.
-
-	* include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it.
-	* src/autofit/afcjk.c (af_cjk_hints_init): Updated.
-	* src/autofit/aflatin.c (af_latin_hints_init): Ditto.
-	* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
-
-2017-03-31  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04.
-
-	Allow CFFs containing a single font to have an empty font name.
-
-	Problem reported by 張俊芝 <[email protected]> in
-
-	  https://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
-
-2017-03-30  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.h (CFF2_DEFAULT_STACK): Set to 513 also.
-
-	Requested by Dave Arnold.
-
-2017-03-30  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix HVAR and VVAR handling (#50678).
-
-	* src/truetype/ttgxvar.c (tt_hvadvance_adjust): Handle
-	glyph indices larger than `mapCount' as described in the
-	specification.
-
-2017-03-30  Werner Lemberg  <[email protected]>
-
-	[truetype] Allow linear scaling for unhinted rendering (#50470).
-
-	* src/truetype/ttdriver.c (tt_size_request): Revert change from
-	2011-07-16; the intended metrics fix seems now to be implemented in
-	a different way, making the patch unnecessary.  Note that this
-	change was usually patched out by all major GNU/Linux distributions
-	due to heavy side effects.
-
-	* src/truetype/ttgload.c (compute_glyph_metrics, TT_Load_Glyph):
-	Refer to the metrics of the `TT_Size' object.
-
-2017-03-29  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix thinko related to PS name of default named instance.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): `strid' and `psid' are
-	name ID values, not indices into the array of name entries.
-
-2017-03-27  Werner Lemberg  <[email protected]>
-
-	[cid, truetype] Don't use `index' as a variable name.
-
-	At least on FreeBSD there is a global declaration of `index' in file
-	`/usr/include/strings.h'.
-
-	* src/cff/cf2intrp.c, src/truetype/ttgload.c: s/index/idx/ where
-	appropriate.
-
-2017-03-27  Wojciech Mamrak  <[email protected]>
-
-	[sfnt] Minor improvement for handling kern tables.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Don't check for
-	cross-stream kerning tables since we reject format 2 tables later
-	on anyways.
-	Modify code for limit test...
-	(tt_face_get_kerning): ... to avoid a limit test here.
-
-2017-03-27  Werner Lemberg  <[email protected]>
-
-	[pcf] Fix compiler warnings.
-
-	Reported by Alexander Hedges <[email protected]>.
-
-	* src/pcf/pcfdrivr.c (pcf_property_set, pcf_property_get): Tag
-	`property_name' with `FT_UNUSED' where necessary.
-
-2017-03-26  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
-
-2017-03-23  Werner Lemberg  <[email protected]>
-
-	[psaux] Better protect `flex' handling.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=935
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
-	<callothersubr>: Since there is not a single flex operator but a
-	series of subroutine calls, malformed fonts can call arbitrary other
-	operators after the start of a flex, possibly adding points.  For
-	this reason we have to check the available number of points before
-	inserting a point.
-
-2017-03-23  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix check for default named instance.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): A `fixed' number needs four
-	bytes, not two...
-
-2017-03-23  Werner Lemberg  <[email protected]>
-
-	Make MM fonts work (again).
-
-	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
-	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Ignore
-	return value of `ft_face_get_mvar_service'; instead, check whether a
-	service is actually returned.
-
-2017-03-20  Werner Lemberg  <[email protected]>
-
-	[truetype] Some variable renamings.
-
-	Too much local variables holding different structures were called
-	`metrics'.
-
-	* src/truetype/ttdriver.c (tt_size_select): s/metrics/size_metrics/.
-
-	* src/truetype/ttgload.c (tt_get_metrics_incr_overrides,
-	compute_glyph_metrics): s/metrics/incr_metrics/.
-	(load_sbit_image): s/metrics/sbit_metrics/.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm): s/metrics/size_metrics/.
-	(tt_size_init_bytecode): s/metrics/tt_metrics/.
-	(tt_size_reset): s/metrics/size_metrics/.
-
-2017-03-20  Werner Lemberg  <[email protected]>
-
-	[sfnt] Don't add instances to non-variation fonts.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Fix it.
-
-2017-03-20  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffgload.c (cff_builder_init): Add safety guard (#50578).
-
-2017-03-18  Werner Lemberg  <[email protected]>
-
-	Introduce FT_UINT_TO_POINTER macro (#50560).
-
-	We have to make a separate case for Windows 64's LLP64 data model.
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER): New macro.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Use it.
-
-2017-03-18  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#50573).
-
-	The problematic font that exceeds the old limit is Lato-Regular,
-	version 2.007, containing bytecode generated by a buggy version of
-	ttfautohint.
-
-2017-03-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Another limitation for bytecode loop count maximum.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=900
-
-	* src/truetype/ttinterp.c (TT_RunIns): Limit `loopcall_counter_max'
-	by number of glyphs also.
-
-2017-03-18  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Minor improvement.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Don't set intermediate axis if
-	bitmap strikes are active.
-
-2017-03-18  Werner Lemberg  <[email protected]>
-
-	Improve `make multi'.
-
-	* src/autofit/aflatin2.c: Guard file with FT_OPTION_AUTOFIT2.
-
-	* src/base/ftmac.c: Guard more parts of the file with FT_MACINTOSH.
-
-	* src/psaux/afmparse.c: Guard file with T1_CONFIG_OPTION_NO_AFM.
-
-	* src/sfnt/pngshim.c: Guard file with
-	TT_CONFIG_OPTION_EMBEDDED_BITMAPS also.
-
-	* src/sfnt/ttbdf.c: Avoid empty source file.
-	* src/sfnt/ttpost.c: Guard file with
-	TT_CONFIG_OPTION_POSTSCRIPT_NAMES.
-	* src/sfnt/ttsbit.c: Guard file with
-	TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
-
-	* src/truetype/ttgxvar.c, src/truetype/ttinterp.c: Avoid empty
-	source file.
-
-	* src/truetype/ttsubpix.c: Guard file with
-	TT_USE_BYTECODE_INTERPRETER also.
-
-	* src/type1/t1afm.c: Guard file with T1_CONFIG_OPTION_NO_AFM.
-
-	* src/autofit/autofit.c, src/base/ftbase.c, src/cache/ftcache.c,
-	src/cff/cff.c, src/cid/type1cid.c, src/gxvalid/gxvalid.c,
-	src/pcf/pcf.c, src/pfr/pfr.c, src/psaux/psaux.c,
-	src/pshinter/pshinter.c, src/psnames/psnames.c, src/raster/raster.c,
-	src/sfnt/sfnt.c, src/smooth/smooth.c, src/truetype/truetype.c,
-	src/type1/type1.c, src/type42/type42.c: Remove conditionals; sort
-	entries.
-
-2017-03-17  Werner Lemberg  <[email protected]>
-
-	Fixes for conditional compilation.
-
-	* src/autofit/afcjk.c, src/autofit/afindic.c: Include `afcjk.h'
-	earlier.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Put `memory' variable into
-	TT_CONFIG_OPTION_GX_VAR_SUPPORT block.
-	(sfnt_done_face): Protect some code with
-	TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbix_image): Remove compiler
-	warning.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Put `tmp' variable
-	into TT_USE_BYTECODE_INTERPRETER block.
-
-	(tt_loader_init): Put `error' variable into
-	TT_USE_BYTECODE_INTERPRETER block.
-
-2017-03-17  Werner Lemberg  <[email protected]>
-
-	Fix preprocessor warning.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h: Test whether
-	TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined before checking its
-	value.
-
-2017-03-17  Werner Lemberg  <[email protected]>
-
-	`make multi' fixes; compiler warnings.
-
-	* src/base/ftsnames.c: Include FT_INTERNAL_DEBUG_H.
-
-	* src/cff/cffobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H.
-
-	* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
-	FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H.
-	(get_win_string, get_apple_string): Initialize `result'.
-
-2017-03-17  Dave Arnold <[email protected]>
-
-	[cff] Fix potential bugs in default NDV for CFF2.
-
-	* src/cff/cffload.c (cff_blend_build_vector): Explicitly build blend
-	vector when `lenNDV' is zero; don't rely on zero-init.
-	Save `lenNDV' as part of cache key even when `lenNDV' is zero.
-
-2017-03-17  Dave Arnold <[email protected]>
-
-	[cff] Fix CFF2 stack allocation.
-
-	* src/cff/cffparse.c (cff_parser_init) add 1 for operator.
-
-2017-03-16  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (tt_done_blend): Free `vvar_table'.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=883
-
-2017-03-15  Werner Lemberg  <[email protected]>
-
-	Remove clang compiler warnings (#50548).
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Make
-	`var_postscript_prefix_len' unsigned.
-
-	* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
-	redundant assignment.
-
-	* src/cff/cffload.c (cff_subfont_load): Add casts.
-
-	* src/cff/cffparse.c (cff_parse_blend): Remove redundant assignment.
-
-	* src/sfnt/sfdriver.c (fmix32, murmur_hash_3_128): Add `static'
-	keyword.
-	Add casts.
-	(fixed2float): Add cast.
-	(sfnt_get_var_ps_name): Make `p' always initialized.
-	Add casts.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add casts.
-
-2017-03-15  Werner Lemberg  <[email protected]>
-
-	[ftfuzzer] Limit number of tested faces and instances.
-
-	This is inspired by the discussion in and analysis of
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=859
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Use only
-	up to 20 face indices.
-	Use only up to 20 instance indices.
-
-2017-03-15  Werner Lemberg  <[email protected]>
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Improve readability; formatting.
-
-2017-03-14  Werner Lemberg  <[email protected]>
-
-	[sfnt] Implement PS names for font instances [3/3].
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): New fields
-	`var_postscript_prefix' and `var_postscript_prefix_len'.
-
-	* src/sfnt/sfdriver.c: Include FT_TRUETYPE_IDS_H.
-	(sfnt_is_alphanumeric): New wrapperfunction for `ft_isalnum'.
-	(get_win_string, get_apple_string): Remove `const' from return
-	value.
-	(MAX_VALUE_DESCRIPTOR_LEN, MAX_PS_NAME_LEN): New macros.
-	(hexdigits): New array.
-	(sfnt_get_var_ps_name): New function, implementing Adobe TechNote
-	5902 to construct a PS name for a variation font instance.
-	(sfnt_get_ps_name): Call `sfnt_get_var_ps_name' for font instances.
-
-	* src/sfnt/sfobjs.c (sfnt_done_face): Updated.
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend): Reset
-	`face->postscript_name' to trigger recalculation for new instance
-	parameters.
-
-2017-03-14  Werner Lemberg  <[email protected]>
-
-	[sfnt] Implement PS names for font instances [2/3].
-
-	* src/sfnt/sfdriver.c (fix2float) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
-	New function to find the shortest representation of a 16.16
-	fractional number.
-
-2017-03-14  Werner Lemberg  <[email protected]>
-
-	[sfnt] Implement PS names for font instances [1/3].
-
-	Add 128bit MurmurHash 3 function.
-
-	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
-
-	* src/sfnt/sfdriver.c (ROTL32): New macro.
-	(fmix32, murmur_hash_3_128): New functions.
-
-2017-03-13  Werner Lemberg  <[email protected]>
-
-	[truetype] Ignore invalid MVAR tags.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=838
-
-	* src/truetype/ttgxvar.c (ft_var_load_mvar): Ignore value and emit
-	warning for invalid tags.
-	(tt_apply_mvar): Ignore invalid tags.
-
-2017-03-12  Werner Lemberg  <[email protected]>
-
-	[truetype] Store and use design coordinates also.
-
-	* include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func):
-	Add `normalizedcoords' argument.
-
-	* src/truetype/ttgxvar.h (GX_BlendRec): Add `coords' field to store
-	the design coordinates of the current instance.
-	Updated.
-
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Move functionality to...
-	(tt_set_mm_blend): ... New function.
-	Convert data in `normalizedcoords' array to `coords' array on
-	demand.
-	(TT_Set_Var_Design): Store argument data in `coords' array.
-	(TT_Get_Var_Design): Get data from `coords' array.
-	(tt_get_var_blend): Updated.
-	(tt_done_blend): Updated.
-
-	* src/cff/cffload.c, src/cff/cffload.h (cff_get_var_blend): Updated.
-
-	* src/cff/cf2ft.c (cf2_getNormalizedVector): Updated.
-
-	* src/cff/cffobjs.c (cff_face_init): Updated.
-
-2017-03-12  Werner Lemberg  <[email protected]>
-
-	src/truetype/ttgxvar.[ch]: s/avar_checked/avar_loaded/.
-
-2017-03-08  Werner Lemberg  <[email protected]>
-
-	[sfnt] Another fix for buggy variation fonts.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=759
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): While setting number of
-	instances to zero for `CFF' fonts table, ensure that there is no
-	`CFF2' present also (which gets priority).
-
-2017-03-07  Werner Lemberg  <[email protected]>
-
-	[sfnt] Improve handling for buggy variation fonts.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=738
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): While setting number of
-	instances to zero for `CFF' fonts table, ensure that there is no
-	`glyf' table present also (which gets priority).
-
-2017-03-06  Werner Lemberg  <[email protected]>
-
-	[sfnt, truetype] Always provide default instance.
-
-	As documented in the OpenType specification, an entry for the
-	default instance may be omitted in the named instance table.  In
-	particular this means that even if there is no named instance table
-	in the font we actually do have a named instance, namely the default
-	instance.
-
-	For consistency, we always want the default instance in our list of
-	named instances.  If it is missing, we try to synthesize it.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Check whether the default
-	instance is in the table of named instances.  Otherwise adjust
-	number of instances.
-
-	* src/truetype/ttgxvar.c: Include FT_TRUETYPE_IDS_H.
-	(TT_Get_MM_Var): Use `face->root.style_flags' as the number of named
-	instances.
-	Sythesize a named instance entry if necessary.
-	(tt_done_blend): Free `normalized_stylecoords'.
-
-2017-03-05  Werner Lemberg  <[email protected]>
-
-	[sfnt] Remove redundant code.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Remove second test for
-	`num_instances', which will always succeed.
-
-2017-03-04  Werner Lemberg  <[email protected]>
-
-	[sfnt] Add `get_name_id' service.
-
-	* include/freetype/internal/sfnt.h (TT_Get_Name_ID_Func): New
-	typedef.
-	(SFNT_Interface): Add `get_name_id' field.
-	(FT_DEFINE_SFNT_INTERFACE): Updated.
-
-	* src/sfnt/sfdriver.c (search_name_id): Rename to...
-	(sfnt_get_name_id): ... this.
-	(sfnt_get_ps_name, sfnt_interface): Updated.
-
-2017-03-04  Werner Lemberg  <[email protected]>
-
-	[truetype] Make `TT_Set_MM_Blend' set named instance index.
-
-	* src/truetype/ttgxvar.h (GX_Blend): New array
-	`normalized_stylecoords'.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Allocate and fill
-	`normalized_stylecoords'.
-	(TT_Set_MM_Blend): Check instance tuple and adjust `face_index'
-	accordingly.
-
-2017-03-02  Werner Lemberg  <[email protected]>
-
-	[truetype] Split off designer/normalized conversion routines.
-
-	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Split off conversion
-	code designer->normalized coordinates to...
-	(ft_var_to_normalized): ... New function.
-	(TT_Get_Var_Design): Split off conversion code normalized->designer
-	coordinates to...
-	(ft_var_to_design): ... New function.
-
-2017-02-28  Werner Lemberg  <[email protected]>
-
-	[sfnt] Further generalize `sfnt_get_ps_name'; report invalid data.
-
-	* src/sfnt/sfdriver.c (sfnt_ps_map): New array.
-	(sfnt_is_postscript): New function.
-	(char_type_func): New typedef.
-	(get_win_string, get_apple_string): Add argument to specify
-	character checking function.
-	Add argument whether argument checking failures should be reported.
-	Update callers.
-	(search_name_id): Fix return value.
-
-2017-02-23  Werner Lemberg  <[email protected]>
-
-	[sfnt] Split off another bit of `sfnt_get_ps_name'.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Split off some
-	functionality into...
-	(search_name_id): ... New function.
-
-2017-02-23  Werner Lemberg  <[email protected]>
-
-	[sfnt] Modularize `sfnt_get_ps_name'.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Split off some
-	functionality into...
-	(IS_WIN, IS_APPLE): ... New macros.
-	(get_win_string, get_apple_string): ... New functions.
-
-2017-02-23  Werner Lemberg  <[email protected]>
-
-	[truetype] Minor improvement.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Remove unnecessary tests.
-
-2017-02-23  Werner Lemberg  <[email protected]>
-
-	* include/freetype/internal/tttypes.h (TT_Face): s/isCFF2/is_cff2/.
-
-	For orthogonality with other structure field names.
-
-	Update all users.
-
-2017-02-22  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_hline): Improve code.
-
-2017-02-20  Dominik Röttsches  <[email protected]>
-
-	Fix some `ttnameid.h' entries (#50313).
-
-	* include/freetype/ttnameid.h:
-	s/TT_MS_LANGID_SPANISH_INTERNATIONAL_SORT/TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT/,
-	s/TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIA/TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN/.
-
-2017-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Finish support for `random' operator.
-
-	* src/cff/cfftypes.h (CFF_SubFontRec): Add `random' field.
-
-	* src/cff/cffobjs.c: Updated.
-	(cff_driver_init): Initialize random seed value.
-
-	* src/cff/cffload.c (cff_random): New function.
-	(cff_subfont_load): Add `face' argument.
-	Update all callers.
-	Initialize random number generator with a proper seed value.
-	(cff_font_load): Add `face' argument.
-	Update all callers.
-
-	* src/cff/cffload.h: Updated.
-
-	* src/cff/cf2intrp.c (CF2_FIXME): Removed.
-	(cf2_interpT2CharString) <cf2_escRANDOM>: Implement opcode.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Don't
-	initialize random seed value.
-	<cff_op_random>: Use new random seed framework.
-
-2017-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Sanitize `initialRandomSeed'.
-
-	* src/cff/cffload.c (cff_load_private_dict): Make
-	`initial_random_seed' value always positive.
-
-2017-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Introduce `random-seed' property (2/2).
-
-	* src/base/ftobjs.c: Include `FT_CFF_DRIVER_H'.
-	(open_face): Initialize `face->internal->random_seed'.
-	(FT_Face_Properties): Handle `FT_PARAM_TAG_RANDOM_SEED'.
-
-	* src/cff/cffdrivr.c (cff_property_set): Handle `random-seed'
-	property.
-
-2017-02-20  Werner Lemberg  <[email protected]>
-
-	[cff] Introduce `random-seed' property (1/2).
-
-	We need this for support of the `random' operator.
-
-	* include/freetype/ftcffdrv.h (FT_PARAM_TAG_RANDOM_SEED): New macro.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
-	field `random_seed'.
-
-	* src/cff/cffobjs.h (CFF_DriverRec): New field `random_seed'.
-
-2017-02-17  Werner Lemberg  <[email protected]>
-
-	Remove clang warnings.
-
-	* src/autofit/aflatin.c (af_latin_sort_blue): Add missing `static'
-	keyword.
-
-	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
-	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates):
-	Initialize some variables.
-
-2017-02-16  Nikolaus Waxweiler  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	Add face property for stem darkening.
-
-	* include/freetype/ftautoh.h (FT_PARAM_TAG_STEM_DARKENING): New
-	macro.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
-	`no_stem_darkening' field.
-
-	* src/autofit/afloader.c (af_loader_load_glyph),
-	src/autofit/afmodule.c (af_property_set): Updated.
-
-	* src/base/ftobjs.c: Include FT_AUTOHINTER_H.
-	(ft_open_face_internal): Updated.
-	(FT_Face_Properties): Handle FT_PARAM_TAG_STEM_DARKENING.
-
-	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Updated.
-
-	* src/cff/cffdrivr.c (cff_property_set): Updated.
-
-2017-02-16  Nikolaus Waxweiler  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	Add face property for LCD filter weights.
-
-	* include/freetype/ftlcdfil.h (FT_PARAM_TAG_LCD_FILTER_WEIGHTS,
-	FT_LCD_FILTER_FIVE_TAPS): New macros.
-	(FT_LcdFiveTapFilter): New typedef.
-
-	* include/freetype/ftobjs.h (FT_Face_InternalRec)
-	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add `lcd_weights' field.
-	(FT_Bitmap_LcdFilterFunc): Change third argument to weights array.
-	(ft_lcd_filter_fir): New prototype.
-	(FT_LibraryRec): Updated.
-
-	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Renamed to...
-	(ft_lcd_filter_fir): ... this base function.
-	Updated.
-	(_ft_lcd_filter_legacy): Updated.
-	(FT_Library_SetLcdFilterWeights, FT_Library_SetLcdFilter): Updated.
-
-	* src/base/ftobjs.c (ft_open_face_internal): Updated.
-	(FT_Face_Properties): Handle FT_PARAM_TAG_LCD_FILTER_WEIGHTS.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
-	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Handle LCD weights from
-	`FT_Face_Internal'.
-
-2017-02-14  Nikolaus Waxweiler  <[email protected]>
-	    Werner Lemberg  <[email protected]>
-
-	Add new function `FT_Face_Properties'.
-
-	This commit provides the framework, to be filled with something
-	useful in the next commits.
-
-	* include/freetype/freetype.h (FT_Face_Properties): Declare.
-
-	* src/base/ftobjs.c (FT_Face_Properties): New function.
-
-2017-02-13  Werner Lemberg  <[email protected]>
-
-	[autofit] Prevent overlapping blue zones.
-
-	Problem reported as
-
-	  https://github.com/google/fonts/issues/632
-
-	The font in question (Nunito) has values 705 and 713 for the
-	reference and overshoot values, respectively, of the first blue
-	zone.  Blue zone 2, however, has value 710 for both the reference
-	and overshoot.  At 12ppem, reference and overshoot of blue zone 0
-	becomes 8px, while blue zone 2 becomes 9px.
-
-	A peculiarity of this font is that the tops of isolated vertical
-	stems like `N' have a slight overshoot also.  The auto-hinter tries
-	to find the nearest blue zone using the *original* coordinates.  For
-	vertical stems, this is value 713.  For normal horizontal tops like
-	in character `E', this is value 710.  Since value 713 is mapped to
-	8px but value 710 to 9px, `N' and similar characters are one pixel
-	higher than `E', which looks very bad.
-
-	This commit sanitizes blue zones to avoid such a behaviour.
-
-	* src/autofit/aflatin.c (af_latin_sort_blue): New function.
-	(af_latin_metrics_init_blues): Sort blue values and remove overlaps.
-
-2017-02-12  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_sweep): Improve code.
-
-2017-02-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Implement `VVAR' table support.
-
-	* src/truetype/ttgxvar.h (GX_HVarTable): Renamed to...
-	(GX_HVVarTable): ...This.
-	(GX_Blend): Add fields for `VVAR' table handling.
-	Other minor updates.
-
-	* src/truetype/ttgxvar.c (ft_var_load_hvar): Renamed to...
-	(ft_var_load_hvvar): ...This.
-	Handle VVAR loading also (controlled by an additional parameter).
-	(tt_hadvance_adjust): Renamed to...
-	(tt_hvadvance_adjust): ...This.
-	Handle application of advance height also (controlled by an
-	additional parameter).
-	(tt_hadvance_adjust, tt_vadvance_adjust): Wrappers for
-	`tt_hvadvance_adjust'.
-
-	* src/truetype/ttdriver.c (tt_service_metrics_variations): Updated.
-
-2017-02-05  Werner Lemberg  <[email protected]>
-
-	[autofit] Use better blue zone characters for lowercase latin.
-
-	The number of lowercase characters for computing the top flat blue
-	zone value was too small (in most cases only `x' and `z').  If one
-	of the two characters has a large serif, say, it can happen that
-	FreeType must select between two different values, having a 50%
-	chance to use the wrong one.  As a result, rendering at larger PPEM
-	values could yield uneven lowercase glyph heights.
-
-	Problem reported by Christoph Koeberlin <[email protected]>.
-
-	* src/autofit/afblue.dat (AF_BLUE_STRING_LATIN_SMALL): Replaced
-	with...
-	(AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_STRING_LATIN_SMALL_BOTTOM):
-	... New, extended sets.
-	(AF_BLUE_STRINGSET_LATN): Updated.
-
-	* src/autofit/afblue.c, scr/autofit/afblue.h: Regenerated.
-
-2017-02-04  Werner Lemberg  <[email protected]>
-
-	Make `freetype-config' a wrapper of `pkg-config' if possible.
-
-	Based on ideas taken from
-
-	  https://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-multilib.patch
-	  https://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-2.5.3-freetype-config-prefix.patch
-
-	* builds/unix/freetype-config.in: Rewritten.  Use `pkg-config' to
-	set output variables if program is available.
-
-	* docs/CHANGES, docs/freetype-config.1: Updated.
-
-2017-02-04  Werner Lemberg  <[email protected]>
-
-	* builds/unix/unix-def.in (freetype-config): Fix permissions.
-
-2017-02-03  Werner Lemberg  <[email protected]>
-
-	* src/autofit/afglobal.c (af_face_globals_free): Erase useless code.
-
-2017-02-03  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ftgasp.h (FT_GASP_SYMMETRIC_GRIDFIT): Fix value.
-
-	Reported by Behdad.
-
-2017-02-02  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix MVAR post-action handling.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=509
-
-	* src/truetype/ttobjs.c (tt_size_reset): Do nothing for CFF2.  This
-	is important to make `tt_size_reset_iterator' (called in
-	`tt_apply_mvar') always work.
-
-2017-02-02  Werner Lemberg  <[email protected]>
-
-	Make compilation with FT_CONFIG_OPTION_PIC work again.
-
-	All code committed here is guarded with `FT_CONFIG_OPTION_PIC'.
-
-	* include/freetype/internal/services/svmetric.h
-	(FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Remove trailing semicolon.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_edges,
-	af_latin_hint_edges): Provide `globals' variable.
-
-	* src/autofit/afloader.c (af_loader_load_glyph): Remove shadowing
-	variable.
-
-	* src/autofit/afmodule.c (AF_SCRIPT_CLASSES_GET,
-	AF_STYLE_CLASSES_GET): Redefine.
-
-	* src/autofit/aftypes.h (AF_DEFINE_WRITING_SYSTEM_CLASS): Fix typo.
-
-	* src/cff/cffparse.c (CFF_FIELD_BLEND): Provide it.
-
-	* src/cff/cffpic.h (CffModulePIC): Fix typo.
-
-2017-01-31  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_render_scanline): Improve code.
-
-2017-01-31  Werner Lemberg  <[email protected]>
-
-	[cff] Provide metrics variation service interface (#50196).
-
-	Only now I've got an OTF with an HVAR table for testing...
-
-	The code in `ftmm.c' uses `FT_FACE_LOOKUP_SERVICE' to get the
-	metrics variations interface.  However, this didn't work with
-	`FT_FACE_FIND_GLOBAL_SERVICE' used in `sfnt_init_face'.
-
-	* src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
-	(cff_hadvance_adjust, cff_metrics_adjust): Wrapper functions for
-	metric service functions from the `truetype' module.
-	(cff_service_metrics_variations): New service.
-	(cff_services): Updated.
-
-	* src/cff/cffpic.h (CFF_SERVICE_METRICS_VAR_GET): New macro.
-	[FT_CONFIG_OPTION_PIC]: Synchronize code.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Replace call to
-	FT_FACE_FIND_GLOBAL_SERVICE with `ft_module_get_service' to always
-	load the service from the `truetype' module.
-
-2017-01-31  Werner Lemberg  <[email protected]>
-
-	Add framework to support services with 9 functions.
-
-	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC9):
-	New macro.
-
-2017-01-31  Werner Lemberg  <[email protected]>
-
-	[base] Fix error handing in MM functions.
-
-	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
-	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates):
-	Implement it.
-
-2017-01-31  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix sanity check for `gvar' table (#50184).
-
-	* src/truetype/ttgxvar.c (ft_var_load_gvar): There might be missing
-	variation data for some glyphs.
-
-2017-01-31  Werner Lemberg  <[email protected]>
-
-	[autofit] Avoid uninitialized jumps (#50191).
-
-	* src/autofit/afcjk.c (af_cjk_metrics_check_digits),
-	src/autofit/aflatin.c (af_latin_metrics_check_digits): Initialize
-	`advance'.
-
-2017-01-27  Werner Lemberg  <[email protected]>
-
-	s/GB2312/PRC/.
-
-	* include/freetype/freetype.h (FT_ENCODING_PRC): New enum value.
-	(FT_ENCODING_GB2312): Deprecated.
-
-	* include/freetype/ttnameid.h (TT_MS_ID_PRC): New macro.
-	(TT_MS_ID_GB2312): Deprecated.
-
-	* src/sfnt/sfobjs.c (sfnt_find_encoding): Updated.
-
-	* docs/CHANGES: Updated.
-
-2017-01-26  Werner Lemberg  <[email protected]>
-
-	[base] Add `FT_Get_Sfnt_LangTag' function.
-
-	* include/freetype/ftsnames.h (FT_SfntLangTag): New structure.
-	(FT_Get_Sfnt_LangTag): New declaration.
-
-	* src/base/ftsnames.c (FT_Get_Sfnt_LangTag): New function.
-
-	* docs/CHANGES: Updated.
-
-2017-01-26  Werner Lemberg  <[email protected]>
-
-	[sfnt] Support `name' table format 1.
-
-	* include/freetype/internal/tttypes.h (TT_LangTagRec): New
-	structure.
-	(TT_NameTableRec): Add fields `numLangTagRecords' and `langTags'.
-
-	* src/sfnt/ttload.c (tt_face_load_name): Add support for language
-	tags.
-	Reduce array size of name strings in case of invalid entries.
-	(tt_face_free_name): Updated.
-
-	* docs/CHANGES: Updated.
-
-2017-01-25  Werner Lemberg  <[email protected]>
-
-	[sfnt] s/TT_NameEntry/TT_Name/.
-
-	* include/freetype/internal/tttypes.h (TT_NameEntryRec): Renamed
-	to...
-	(TT_NameRec): This.
-	(TT_NameTableRec): Updated.
-
-	* src/base/ftsnames.c (FT_Get_Sfnt_Name): Updated.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Updated.
-
-	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
-	tt_name_entry_ascii_from_other): Renamed to...
-	(tt_name_ascii_from_utf16, tt_name_entry_ascii_from_other): This,
-	respectively.
-	(TT_NameEntry_ConvertFunc): Renamed to...
-	(TT_Name_ConvertFunc): This.
-	(tt_face_get_name): Updated.
-
-	* src/sfnt/ttload.c (tt_face_load_name, tt_face_free_name):
-	Updated.
-
-2017-01-24  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix Postscript name service for symbol fonts.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Accept PID/EID=3/0
-	entries also.
-
-2017-01-24  Werner Lemberg  <[email protected]>
-
-	[truetype] For OpenType 1.7: s/preferred/typographic/ (sub)family.
-
-	* include/freetype/ftsnames.h
-	(FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY,
-	FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY): New macros.
-	(FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
-	FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Deprecated.
-
-	* include/freetype/ttnameid.h (TT_NAME_ID_TYPOGRAPHIC_FAMILY,
-	TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY): New macros.
-	(TT_NAME_ID_PREFERRED_FAMILY, TT_NAME_ID_PREFERRED_SUBFAMILY):
-	Deprecated.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Updated.
-
-	* docs/CHANGES: Updated.
-
-2017-01-23  Werner Lemberg  <[email protected]>
-
-	[base] Add `FT_Set_Default_Properties' (#49187).
-
-	* include/freetype/ftmodapi.h: Add declaration.
-
-	* src/base/ftinit.c (ft_set_default_properties): Renamed to...
-	(FT_Set_Default_Properties): ... this.
-	(FT_Init_FreeType): Updated.
-
-	* docs/CHANGES: Updated.
-
-2017-01-23  Werner Lemberg  <[email protected]>
-
-	[truetype] Minor updates for OpenType 1.8.1.
-
-	* src/truetype/ttgxvar.h (GX_MVarTable): `axisCount' has been
-	removed from the specification; it is now reserved.
-
-	* src/truetype/ttgxvar.c (ft_var_load_mvar): Updated.
-	(GX_FVar_Head): Remove `countSizePairs'; the corresponding data
-	field in the `MVAR' table is now reserved.
-	(fvar_fields): Updated.
-
-2017-01-23  Werner Lemberg  <[email protected]>
-
-	[truetype] Avoid segfault for invalid variation data.
-
-	* src/truetype/ttgxvar.c (ft_var_load_item_variation_store): Assure
-	`itemCount' is not zero.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=441
-
-2017-01-20  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Adjust loop detector limits.
-
-2017-01-17  Werner Lemberg  <[email protected]>
-
-	* include/freetype/ttnameid.h: Updated to OpenType 1.8.1.
-
-	(TT_APPLE_ID_FULL_UNICODE): New macro.
-
-	(TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC,
-	TT_MS_LANGID_UPPER_SORBIAN_GERMANY,
-	TT_MS_LANGID_LOWER_SORBIAN_GERMANY, TT_MS_LANGID_IRISH_IRELAND,
-	TT_MS_LANGID_INUKTITUT_CANADA_LATIN, TT_MS_LANGID_BASHKIR_RUSSIA,
-	TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG,
-	TT_MS_LANGID_GREENLANDIC_GREENLAND, TT_MS_LANGID_MAPUDUNGUN_CHILE,
-	TT_MS_LANGID_MOHAWK_MOHAWK, TT_MS_LANGID_BRETON_FRANCE,
-	TT_MS_LANGID_OCCITAN_FRANCE, TT_MS_LANGID_CORSICAN_FRANCE,
-	TT_MS_LANGID_ALSATIAN_FRANCE, TT_MS_LANGID_YAKUT_RUSSIA,
-	TT_MS_LANGID_KICHE_GUATEMALA, TT_MS_LANGID_KINYARWANDA_RWANDA,
-	TT_MS_LANGID_WOLOF_SENEGAL, TT_MS_LANGID_DARI_AFGHANISTAN): New
-	macros.
-
-	(TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC): Fix value.
-
-	(TT_MS_LANGID_GERMAN_LIECHTENSTEIN, TT_MS_LANGID_CATALAN_CATALAN,
-	TT_MS_LANGID_CHINESE_MACAO, TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT,
-	TT_MS_LANGID_KOREAN_KOREA, TT_MS_LANGID_ROMANSH_SWITZERLAND,
-	TT_MS_LANGID_SLOVENIAN_SLOVENIA, TT_MS_LANGID_BASQUE_BASQUE,
-	TT_MS_LANGID_SETSWANA_SOUTH_AFRICA,
-	TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA,
-	TT_MS_LANGID_ISIZULU_SOUTH_AFRICA, TT_MS_LANGID_KAZAKH_KAZAKHSTAN,
-	TT_MS_LANGID_KYRGYZ_KYRGYZSTAN, TT_MS_LANGID_KISWAHILI_KENYA,
-	TT_MS_LANGID_TATAR_RUSSIA, TT_MS_LANGID_ODIA_INDIA,
-	TT_MS_LANGID_MONGOLIAN_PRC, TT_MS_LANGID_TIBETAN_PRC,
-	TT_MS_LANGID_WELSH_UNITED_KINGDOM, TT_MS_LANGID_GALICIAN_GALICIAN,
-	TT_MS_LANGID_SINHALA_SRI_LANKA, TT_MS_LANGID_TAMAZIGHT_ALGERIA,
-	TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA, TT_MS_LANGID_YI_PRC,
-	TT_MS_LANGID_UIGHUR_PRC): New aliases.
-
-	Remove commented out code.
-
-	(TT_NAME_ID_LIGHT_BACKGROUND, TT_NAME_ID_DARK_BACKGROUND,
-	TT_NAME_ID_VARIATIONS_PREFIX): New macros.
-
-	(HAVE_LIMIT_ON_IDENTS): Remove macro (which was useless since many
-	years), use guarded long macros by default and define short versions
-	as aliases for the long ones.
-
-2017-01-15  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (tt_apply_var): Handle underline parameters
-	also.
-
-2017-01-11  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (ft_open_face_internal): Improve tracing.
-
-2017-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] Actually use metrics variation service.
-
-	* src/base/ftmm.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
-	(ft_face_get_mvar_service): New auxiliary function to look up
-	metrics variation service.
-	(FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
-	FT_Set_Var_Blend_Coordinates): Call metrics variation service.
-
-	* src/truetype/ttobjs.c (tt_face_init): Use metrics variations for
-	named instances.
-
-2017-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] Provide metrics variation service.
-
-	* include/freetype/internal/services/svmetric.h
-	(FT_Metrics_Adjust_Func): Reduce number of necessary parameters.
-
-	* src/truetype/ttgxvar.c: Include FT_LIST_H.
-	(tt_size_reset_iterator): New auxiliary function for...
-	(tt_apply_var): New function.
-
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/truetype/ttdriver.c (tt_service_metrics_variations): Add
-	`tt_apply_mvar'.
-
-	* include/freetype/internal/ftserv.h (FT_ServiceCache): Add metrics
-	variation service.
-
-2017-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] Parse `MVAR' table.
-
-	* src/truetype/ttgxvar.h (MVAR_TAG_XXX): New macros for MVAR tags.
-	(GX_Value, GX_MVarTable): New structures.
-	(GX_Blend): Add it.
-
-	* src/truetype/ttgxvar.c (GX_VALUE_SIZE, GX_VALUE_CASE,
-	GX_GASP_CASE): New macros.
-	(ft_var_get_value_pointer): New auxiliary function to get a pointer
-	to a value from various SFNT tables already stored in `TT_Face'.
-	(ft_var_load_mvar): New function.
-	(TT_Get_MM_Var): Call it.
-	(tt_done_blend): Updated.
-
-2017-01-11  Werner Lemberg  <[email protected]>
-
-	[truetype] More preparations for MVAR support.
-
-	* src/truetype/ttobjs.c (tt_size_reset): Add argument to make
-	function only recompute ascender, descender, and height.
-
-	* src/truetype/ttobjs.h: Updated.
-
-	* src/truetype/ttdriver.c (tt_size_select, tt_size_request):
-	Updated.
-
-2017-01-09  Werner Lemberg  <[email protected]>
-
-	[pcf] Disable long family names by default.
-
-	* include/freetype/config/ftoption.h
-	(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): Comment out.
-
-2017-01-09  Werner Lemberg  <[email protected]>
-
-	[pcf] Make long family names configurable.
-
-	The change from 2016-09-29 was too radical (except for people using
-	the openSuSE GNU/Linux distribution).  To ameliorate the situation,
-	PCF_CONFIG_OPTION_LONG_FAMILY_NAMES gets introduced which controls
-	the feature; if set, a new PCF property option
-	`no-long-family-names' can be used to switch this feature off.
-
-	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): New option.
-
-	* include/freetype/ftpcfdrv.h: New header file (only containing
-	comments currently, used for building the documentation).
-
-	* include/freetype/config/ftheader.h (FT_PCF_DRIVER_H): New macro.
-
-	* src/pcf/pcf.h (PCF_Driver): Add `no_long_family_names' field.
-
-	* src/pcf/pcfdrivr.c: Include FT_SERVICE_PROPERTIES_H and
-	FT_PCF_DRIVER_H.
-	(pcf_property_set, pcf_property_get): New functions.
-	(pcf_service_properties): New service.
-	(pcf_services): Updated.
-	(pcf_driver_init) [PCF_CONFIG_OPTION_LONG_FAMILY_NAMES]: Handle
-	`no_long_family_names'.
-
-	* src/pcf/pcfread.c (pcf_load_font): Handle `no_long_family_names'
-	and PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
-
-	* docs/CHANGES: Updated.
-
-2017-01-09  Werner Lemberg  <[email protected]>
-
-	[pcf] Introduce a driver structure.
-
-	To be filled later on with something useful.
-
-	* src/pcf/pcf.h (PCF_Driver): New structure.
-
-	* src/pcf/pcfdrivr.c (pcf_driver_init, pcf_driver_done): New dummy
-	functions.
-	(pcf_driver_class): Updated.
-
-2017-01-08  Werner Lemberg  <[email protected]>
-
-	[truetype] Again some GX code shuffling.
-
-	We need this later on for MVAR also.
-
-	* src/truetype/ttgxvar.c (tt_hadvance_adjust): Split off computing
-	an item store variation delta into...
-	(ft_var_get_item_delta): ...new function.
-
-2017-01-08  Werner Lemberg  <[email protected]>
-
-	[truetype] Adjust font variation flags for MVAR.
-
-	* include/freetype/internal/tttypes.h (TT_FACE_FLAG_VAR_XXX):
-	Remove all flags related to MVAR; replace it with...
-	(TT_FACE_FLAG_VAR_MVAR): ...this new macro.
-	(TT_Face): Remove `mvar_support' field (which was still unused).
-
-2017-01-06  Werner Lemberg  <[email protected]>
-
-	[truetype] More GX code shuffling.
-
-	We need this later on for MVAR also.
-
-	* src/truetype/ttgxvar.c (tt_done_blend): Split off handling of item
-	variation store into...
-	(ft_var_done_item_variation_store): ...new function.
-
-2017-01-06  Werner Lemberg  <[email protected]>
-
-	[truetype] More generalization of GX stuff.
-
-	We need this later on for MVAR also.
-
-	* src/truetype/ttgxvar.c (ft_var_load_delta_set_index_mapping): Add
-	parameters for delta-set index mapping and item variation store.
-	(ft_var_load_item_variation_store): Add parameter for item variation
-	store.
-	s/hvarData/varData/.
-	Move allocation of `hvar_table' to...
-	(ft_var_load_hvar): ...this function.
-	Updated.
-
-2017-01-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Some GX structure renames for generalization.
-
-	We need this later on for MVAR also.
-
-	* src/truetype/ttgxvar.h (GX_HVarData): Renamed to...
-	(GX_ItemVarData): ...this.
-	(GX_HVarRegion): Renamed to...
-	(GX_VarRegion): ...this.
-	(GX_HVStore): Renamed to...
-	(GX_ItemVarStore): ...this.
-	(GX_WidthMap): Renamed to...
-	(GX_DeltaSetIdxMap): ...this.
-
-	(GX_HVarTable): Updated.
-
-	* src/truetype/ttgxvar.c: Updated.
-
-2017-01-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Code shuffling.
-
-	* src/truetype/ttgxvar.c (ft_var_load_hvar): Split off loading of
-	item variation store and delta set index mapping into...
-	(ft_var_load_item_variation_store,
-	ft_var_load_delta_set_index_mapping): ...new functions.
-
-2017-01-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Add HVAR access without advance width map.
-
-	* src/truetype/ttgxvar.c (ft_var_load_hvar): Handle case where
-	`offsetToAdvanceWidthMapping' is zero.
-	(tt_hadvance_adjust): Implement direct deltaSet access by glyph
-	index.
-
-2017-01-06  Werner Lemberg  <[email protected]>
-
-	[pcf] Revise driver.
-
-	This commit improves tracing and handling of malformed fonts.  In
-	particular, the changes to `pcf_get_properties' fix
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=379
-
-	* src/pcf/pcfread.c (tableNames): Use long names for better
-	readability.
-	(pcf_read_TOC): Allow at most 9 tables.
-	(pcf_get_properties): Allow at most 256 properties.
-	Limit strings array length to 256 * (65536 + 1) bytes.
-	Better tracing.
-	(pcf_get_metric): Trace metric data.
-	(pcf_get_metrics): Allow at most 65536 metrics.
-	Fix comparison of `metrics->ascent' and `metrics->descent' to avoid
-	potential overflow.
-	Better tracing.
-	(pcf_get_bitmaps): Allow at most 65536 bitmaps.
-	Better tracing.
-	(pcf_get_encodings, pcf_get_accel): Better tracing.
-
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Don't trace `format' details.
-	These are now shown by `pcf_get_bitmaps'.
-
-2017-01-04  Werner Lemberg  <[email protected]>
-
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Trace compression format.
-
-2017-01-04  Werner Lemberg  <[email protected]>
-
-	[cff] More consistency checks for pure CFFs.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=378
-
-	* src/cff/cffload.c (cff_font_load): Check element number and size
-	of Name and Top DICT indices.
-
-2017-01-04  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Minor tracing improvement.
-
-	* src/cff/cffobjs.c (cff_face_init), src/truetype/ttobjs.c
-	(tt_face_init): Indent first tracing message from SFNT driver.
-
-2017-01-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Various minor fixes.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check instruction
-	size only if we do native hinting.
-	(TT_Load_Glyph): Trace returned error code.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Trace
-	returned error code.
-	(tt_size_ready_bytecode): Don't run `prep' table if `fpgm' table is
-	invalid.
-
-2017-01-03  Werner Lemberg  <[email protected]>
-
-	[sfnt] Don't fail if PCLT, EBLC (and similar tables) are invalid.
-
-	These tables are optional.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Implement it.
-
-2017-01-03  Werner Lemberg  <[email protected]>
-
-	* src/cff/cffparse.c (cff_parse_num): Simplify.
-
-2017-01-03  Werner Lemberg  <[email protected]>
-
-	Various fixes for clang's undefined behaviour sanitizer.
-
-	* src/cff/cffload.c (FT_fdot14ToFixed): Fix casting.
-	(cff_blend_doBlend): Don't left-shift negative numbers.
-	Handle 5-byte numbers byte by byte to avoid alignment issues.
-
-	* src/cff/cffparse.c (cff_parse_num): Handle 5-byte numbers byte by
-	byte to avoid alignment issues.
-
-	* src/cid/cidload (cid_read_subrs): Do nothing if we don't have any
-	subrs.
-
-	* src/psaux/t1decode.c (t1_decode_parse_charstring): Fix tracing.
-
-	* src/tools/glnames.py (main): Put `DEFINE_PSTABLES' guard around
-	definition of `ft_get_adobe_glyph_index'.
-
-	* src/psnames/pstables.h: Regenerated.
-
-	* src/psnames/psmodule.c: Include `pstables.h' twice to get both
-	declaration and definition.
-
-	* src/truetype/ttgxvar.c (FT_fdot14ToFixed, FT_intToFixed): Fix
-	casting.
-
-2017-01-01  Werner Lemberg  <[email protected]>
-
-	[cff] Handle multiple `blend' operators in a row correctly.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=368
-
-	* src/cff/cffload.c (cff_blend_doBlend): Adjust `parser->stack'
-	pointers into `subFont->blend_stack' after reallocation.
-
-2017-01-01  Werner Lemberg  <[email protected]>
-
-	[sfnt] Return correct number of named instances for TTCs.
-
-	Without this patch, requesting information for face index N returned
-	the data for face index N+1 (or index 0).
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Correctly adjust `face_index'
-	for negative `face_instance_index' values.
-
-2016-12-31  Werner Lemberg  <[email protected]>
-
-	*/*: Use hex numbers for errors in tracing messages.
-
-2016-12-31  Werner Lemberg  <[email protected]>
-
-	[truetype] Check axis count in HVAR table.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=362
-
-	* src/truetype/ttgxvar.c (ft_var_load_hvar): Check axis count.
-	(ft_var_load_avar): Fix tracing message.
-
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2016-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- a/ChangeLog.29
+++ /dev/null
@@ -1,2352 +1,0 @@
-2018-05-01  Werner Lemberg  <[email protected]>
-
-	* Version 2.9.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-9-1'.
-
-	* docs/VERSION.TXT: Add entry for version 2.9.1.
-	* docs/CHANGES: Updated.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	src/base/ftver.rc, builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.9/2.9.1/, s/29/291/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 22:1:16.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-
-	* include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
-
-2018-04-26  Werner Lemberg  <[email protected]>
-
-	Another fix for handling invalid format 2 cmaps.
-
-	Sigh.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
-	an endless loop.
-
-2018-04-24  Ben Wagner  <[email protected]>
-
-	[base] Avoid undefined behaviour in lcd filtering code (#53727).
-
-	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
-	Ensure `height > 0'.
-
-2018-04-22  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
-
-2018-04-22  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Fix bitmap emboldening.
-
-	Bug introduced after release 2.8.
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
-	`FT_QALLOC_MULT', which doesn't zero out the buffer.  Adjust the
-	bitmap copying code to take care of this fact.
-
-2018-04-22  Werner Lemberg  <[email protected]>
-
-	Another fix for handling invalid format 2 cmaps.
-
-	The previous commit was incomplete.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
-	an endless loop.
-
-2018-04-19  Werner Lemberg  <[email protected]
-
-	[autofit] Add support for Georgian Mtavruli characters.
-
-	This will be part of the forthcoming Unicode 11.0.
-
-	* src/autofit/afblue.dat: Add blue zone data for Mtavruli.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Mtavruli standard character.
-
-2018-04-18  Werner Lemberg  <[email protected]>
-
-	Fix handling of invalid format 2 cmaps.
-
-	The problem was introduced after the last release.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
-
-2018-04-17  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
-
-	* src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
-
-2018-04-16  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
-
-	* src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
-
-2018-04-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Use `info' function of make 3.81.
-
-	* configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
-	docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
-
-	* builds/detect.mk (std_setup): Replace `echo' with `info'.
-	(dos_setup): Removed.
-	* builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
-	builds/windows/detect.mk, builds/os2/detect.mk: Updated.
-	* builds/newline: No longer needed.
-
-2018-04-15  Werner Lemberg  <[email protected]>
-
-	[truetype]: Limit `SLOOP' bytecode argument to 16 bits.
-
-	This fixes
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
-
-	* src/truetype/ttinterp.c (Ins_SLOOP): Do it.
-
-2018-04-14  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
-
-	* src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
-
-2018-04-14  Werner Lemberg  <[email protected]>
-
-	[autofit] Update to Unicode 11.0.0.
-
-	But no support new scripts (volunteers welcomed).
-
-	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
-	af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
-	af_deva_nonbase_uniranges, af_geor_uniranges,
-	af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
-	af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
-	af_hani_uniranges): Add new data.
-
-2018-04-10  Nikolaus Waxweiler  <[email protected]>
-
-	* CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
-	modernization measures.
-
-	This brings up the minimum required CMake version to 2.8.12.
-
-	The installation paths follow the GNU defaults now, e.g. installing on a
-	64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
-
-	Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
-
-	CMake will no longer look for a C++ compiler.
-
-	Library and .so version now match the Autotools build.
-
-	Comments in the build file and informational messages now use platform
-	agnostic example commands.
-
-	ftoption.h and ftconfig.h are written directly without a redundant `-new'
-	copy.
-
-	External dependencies are expressed as option()s and will turn up as such
-	in cmake-gui.
-
-	Internal: Properties such as dependencies and include directories are now
-	privately set on the freetype library instead of globally.
-
-	The CPack definitions have been cleaned up, the `make dist' has been
-	removed. Source packages generated with CPack don't contain Autotools
-	files and aren't used by the maintainers anyway.
-
-	On Windows, src/base/ftver.rc is compiled to decorate the library with
-	version and copyright information.
-
-	A pkg-config file is now generated and installed.
-
-2018-04-09  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
-
-	* src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
-	ADD_LONG and SUB_LONG.
-
-2018-04-06  Alexei Podtelezhnikov  <[email protected]>
-
-	[windows, wince] Clean up legacy project files.
-
-	* builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
-
-2018-04-04  Werner Lemberg  <[email protected]>
-
-	[cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
-
-	* src/cff/cffload.c (cff_load_private_dict): Sanitize
-	`priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
-	on.
-
-	* src/type1/t1load.c (T1_Open_Face): Ditto.
-
-2018-04-04  Ben Wagner  <[email protected]>
-
-	* src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
-	`DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
-	(tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
-	in above.
-
-2018-04-01  Werner Lemberg  <[email protected]>
-
-	* builds/toplevel.mk (work): Use $(SEP).
-
-	This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
-	platform, and this program only understands backslashes in paths.
-
-	Reported by Nikhil Ramakrishnan <[email protected]>.
-
-2018-03-30  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix memory leak (only if tracing is on).
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
-	it.
-
-2018-03-23  Ben Wagner  <[email protected]>
-
-	[sfnt] Correctly handle missing bitmaps in sbix format (#53404).
-
-	* src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
-
-2018-03-23  Ben Wagner  <[email protected]>
-
-	[truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
-	for empty bitmaps.
-
-2018-03-22  Werner Lemberg  <[email protected]>
-
-	Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
-
-	builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt,
-	builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/freetype.vcxproj.filters,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
-
-2018-03-13  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
-	overflow.
-
-2018-03-13  Werner Lemberg  <[email protected]>
-
-	Fix cmap format 2 handling (#53320).
-
-	The patch introduced for #52646 was not correct.
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
-
-2018-03-10  Nikolaus Waxweiler  <[email protected]>
-
-	* CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
-
-2018-03-09  Chun-wei Fan  <[email protected]>
-
-	* CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
-
-	Do not limit DLL builds to MinGW, since we already have
-	`__declspec(dllexport)' directives in `ftconfig.h'.
-	Also suppress more warnings for POSIX functions.
-
-2018-03-08  Hugh McMaster  <[email protected]>
-
-	Make installation of `freetype-config' optional (#53093).
-
-	* builds/unix/configure.raw: Add option `--enable-freetype-config'
-	and set `INSTALL_FT2_CONFIG'.
-	* builds/unix/unix-def.in (INSTALL_FT2_CONFIG): Define.
-	* builds/unix/install.mk (install): Handle it.
-
-2018-03-05  Werner Lemberg  <[email protected]>
-
-	Make `ftlcdfil.c' part of the `base' module.
-
-	`ftobjs.c' needs `ft_lcd_padding'.
-
-	Problem reported by duhuanpeng <[email protected]>.
-
-	* modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
-
-	* src/base/ftbase.c: Include `ftlcdfil.c'.
-	* src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
-	* src/base/Jamfile (_sources): Adjusted.
-
-	* docs/INSTALL.ANY: Updated.
-
-2018-03-05  Werner Lemberg  <[email protected]>
-
-	Make `ftfntfmt.c' part of the `base' module.
-
-	`ftobjs.c' needs `FT_Get_Font_Format'.
-
-	Problem reported by duhuanpeng <[email protected]>.
-
-	* modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
-
-	* src/base/ftbase.c: Include `ftfntfmt.c'.
-	* src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
-	* src/base/Jamfile (_sources): Adjusted.
-
-	* docs/INSTALL.ANY: Updated.
-
-2018-03-01  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
-
-2018-02-23  Werner Lemberg  <[email protected]>
-
-	* builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
-
-	Problem reported by Alan Coopersmith <[email protected]>.
-
-2018-02-17  Werner Lemberg  <[email protected]>
-
-	[sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
-
-2018-02-06  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
-
-	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
-	SUB_LONG; avoid FT_ABS.
-
-2018-02-04  Alexei Podtelezhnikov  <[email protected]>
-
-	[unix] Use -fvisibility=hidden.
-
-	It is now widely recommended that ELF shared libraries hide symbols
-	except those with explicit __attribute__((visibility("default"))).
-	This is supported by all major compilers and should rather be an
-	option in libtool.
-
-	* builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
-	attribute.
-
-2018-01-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Better protection against invalid VF data.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
-
-	Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
-
-	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
-	`normalizedcoords'.
-
-2018-01-27  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
-
-2018-01-27  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
-
-2018-01-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Better trace VF instances.
-
-	* src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
-	of coordinates.
-	(TT_Get_MM_Var): Trace instance indices names.
-	(TT_Set_Var_Design): Updated.
-
-2018-01-27  Werner Lemberg  <[email protected]>
-
-	[truetype] Beautify tracing of VF axis records.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
-	table-like manner.
-
-2018-01-26  Ben Wagner  <[email protected]>
-
-	[truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
-	`face->blend->num_axis' in case we have to initialize the
-	`face->blend'.
-
-2018-01-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[apinames] Anonymous version map for GNU linker.
-
-	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
-	(OutputFormat): Add `OUTPUT_GNU_VERMAP'.
-	(names_dump): Handle it.
-	(usage): Updated.
-	(main): Handle new command line flag `-wL'.
-
-2018-01-21  Alexei Podtelezhnikov  <[email protected]>
-
-	[unix] Call libtool to clean up.
-
-	* builds/unix/install.mk (clean_project_unix, distclean_project_unix):
-	Use libtool.
-	* builds/freetype.mk: Minor.
-
-2018-01-18  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftver.rc: Fix mingw-w64 compilation.
-
-2018-01-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Enable VERSIONINFO resource for Cygwin/MinGW.
-
-	* builds/unix/configure.raw: Check for resource compiler.
-	* builds/unix/unix-cc.in: Conditionally set up resource compiler.
-	* builds/freetype.mk: Add conditional rule for `ftver.rc'.
-	* src/base/ftver.rc: Copyright notice and year update.
-
-2018-01-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Move VERSIONINFO resource.
-
-	* builds/windows/vc2010/freetype.vcxproj: Updated.
-	* builds/windows/ftver.rc: Move file from here...
-	* src/base/ftver.rc: ... to here.
-
-2018-01-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Expand dllexport/dllimport to Cygwin/MinGW.
-
-	* include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
-	s/_MSC_VER/_WIN32/.
-	* builds/unix/ftconfig.in: Replicate here.
-	* builds/vms/ftconfig.h: Replicate here.
-
-2018-01-12  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Improve and document MSVC build.
-
-	* include/freetype/config/ftconfig.h: Guard dllexport/dllimport
-	attributes with _DLL and FT2_DLLIMPORT.
-	* builds/windows/vc2010/index.html: Update documentation.
-
-2018-01-10  Steve Robinson  <[email protected]>
-
-	* CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
-
-2018-01-10  Ewald Hew  <[email protected]>
-
-	[psaux] Correctly handle Flex features (#52846).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
-	cf2_cmdHMOVETO>: Do not move if doing Flex.
-
-2018-01-09  Alexei Podtelezhnikov  <[email protected]>
-
-	* builds/windows/vc2010/freetype.sln: Synchronize with the project.
-
-2018-01-08  Werner Lemberg  <[email protected]>
-
-	* Version 2.9 released.
-	=======================
-
-
-	Tag sources with `VER-2-9'.
-
-	* docs/VERSION.TXT: Add entry for version 2.9.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/windows/ftver.rc,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.8.1/2.9/, s/281/29/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 22:0:16.
-	* CMakeLists.txt (VERSION_PATCH): Set to 0.
-
-2018-01-07  Werner Lemberg  <[email protected]>
-
-	Add check for librt, needed for `ftbench' (#52824).
-
-	* builds/unix/configure.raw (LIB_CLOCK_GETTIME): Define; this will
-	hold `-lrt' if necessary.
-
-	* builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
-
-2018-01-07  Ewald Hew  <[email protected]>
-
-	[psaux] Fix Type 1 glyphs with too many stem hints.
-
-	According to the CFF specification, charstrings can have up to 96 stem
-	hints. Due to hint replacement routines in Type 1 charstrings, some
-	glyphs are rejected by the Adobe engine, which implements the above
-	limit. This fix turns off hinting for such glyphs.
-
-	* src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
-	`cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
-	hinting.
-
-2018-01-06  Werner Lemberg  <[email protected]>
-
-	Add `FT_Done_MM_Var'.
-
-	This is necessary in case the application's memory routines differ
-	from FreeType.  A typical example is a Python application on Windows
-	that calls FreeType compiled as a DLL via the `ctypes' interface.
-
-	* include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
-	and define.
-
-	* docs/CHANGES: Updated.
-
-2018-01-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Round offsets of glyph components only if hinting is on.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
-	it.
-
-2018-01-03  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
-
-	This is a better fix than the previous commit, which is now
-	reverted.
-
-2018-01-03  Alexei Podtelezhnikov  <[email protected]>
-
-	Move internal LCD-related declarations.
-
-	* include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
-	Move from here...
-	* include/freetype/internal/ftobjs.h: ... to here.
-
-2018-01-03  Alexei Podtelezhnikov  <[email protected]>
-
-	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
-	[_MSC_VER]: Limit Visual C++ attributes.
-
-2018-01-03  Werner Lemberg  <[email protected]>
-
-	[truetype] Make blend/design coordinate round-tripping work.
-
-	Behdad reported that setting blend coordinates, then getting design
-	coordinates did incorrectly return the default instance's
-	coordinates.
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
-
-2017-12-31  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
-
-2017-12-31  Werner Lemberg  <[email protected]>
-
-	Synchronize other Windows project files.
-
-	* builds/windows/*: Add missing files.
-
-2017-12-31  Werner Lemberg  <[email protected]>
-
-	Update Visual C 2010 project files.
-
-	Problem reported by Hin-Tak.
-
-	* builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
-	`ftcid.c'.
-	Sort entries.
-	* builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
-	Fix members of `FT_MODULE' group.
-
-2017-12-30  Werner Lemberg  <[email protected]>
-
-	* builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
-
-2017-12-28  Werner Lemberg  <[email protected]>
-
-	* builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
-
-	Reported by Nikolaus.
-
-2017-12-27  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
-	`new_pitch' unsigned.
-
-	* src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
-
-2017-12-27  Werner Lemberg  <[email protected]>
-
-	Fixes for `make multi'.
-
-	* include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
-	(ps_property_get): Harmonize declaration with corresponding
-	function typedef.
-
-	* include/freety[e/internal/fttrace.h: Add `trace_psprops'.
-
-	* src/base/ftpsprop.c: Include necessary header files.
-	(FT_COMPONENT): Define.
-	(ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
-	(ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
-	Harmonize declaration with corresponding function typedef.
-
-2017-12-27  Werner Lemberg  <[email protected]>
-
-	Provide support for intra-module callback functions.
-
-	This is needed especially for `make multi' with C++.
-
-	* include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
-	FT_BASE_CALLBACK_DEF): New macros.
-
-2017-12-25  Ewald Hew  <[email protected]>
-
-	Move PostScript drivers' property handlers to `base'.
-
-	This reduces the amount of duplicated code across PostScript
-	drivers.
-
-	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
-	({cff,cid,t1}_property_{get,set}): Moved to...
-	* include/freetype/internal/ftpsprop.h: ...this new file.
-	(ps_property_{get,set}): New functions to replace moved ones.
-
-	* src/base/ftpsprop.c: New file that implements above functions.
-
-	* include/freetype/internal/internal.h
-	(FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro.
-
-	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c:
-	Updated.
-
-	* src/base/Jamfile, src/base/rules.mk (BASE_SRC), src/base/ftbase.c:
-	Updated.
-
-2017-12-20  Werner Lemberg  <[email protected]>
-
-	Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
-
-	We exit early if the current design or blend coordinates are
-	identical to the new ones.
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
-	Implement it, returning internal error code -1 if there will be no
-	variation change.
-
-	* src/type1/t1load.c (t1_set_mm_blend): Ditto.
-
-	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
-	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
-
-2017-12-18  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix charmap type 2 iterator (#52646).
-
-	The subsetted demo font of the report that exhibits the bug has a
-	very unusual type 2 cmap for Unicode(!): It contains only two
-	sub-headers, one for one-byte characters (covering the range 0x20 to
-	0xFA), and a second one for higher byte 0x01 (just for character
-	code U+0131).
-
-	Before this commit, the iterator wasn't able to correctly handle a
-	sub-header for higher byte 0x01.
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
-	for outer loop.
-
-2017-12-18  Matthias Clasen  <[email protected]>
-
-	[truetype] Fix clamping, minor tracing code beautification.
-
-	* src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
-	design coordinates.
-	Use clamped value.
-
-2017-12-18  Werner Lemberg  <[email protected]>
-
-	* src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
-
-2017-12-18  Werner Lemberg  <[email protected]>
-
-	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
-
-2017-12-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix previous commit.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
-	unhinted phantom points, which must be properly scaled.
-
-2017-12-18  Werner Lemberg  <[email protected]>
-
-	[truetype] Don't apply HVAR and VVAR deltas twice (#52683).
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
-	`pp1' to `pp4', except if we have an HVAR and/or VVAR table.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
-	alternative code branch identically w.r.t. presence of an HVAR
-	and/or VVAR table.
-
-2017-12-17  Jonathan Kew  <[email protected]>
-
-	[truetype] Correctly handle variation font phantom points (#52683).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
-	point indices.
-
-2017-12-17  Jonathan Kew  <[email protected]>
-
-	Fix incorrect advance width scaling (#52683).
-
-	* src/base/ftadvance.c (FT_Get_Advances): Always respect the
-	FT_LOAD_NO_SCALE flag if present.
-
-2017-12-16  Alexei Podtelezhnikov  <[email protected]>
-
-	* builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
-	* objs/.gitignore: Ignore almost everything.
-
-2017-12-11  Werner Lemberg  <[email protected]>
-
-	Fix compiler warning (#52640).
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
-	variable.
-
-2017-12-08  Azzuro  <[email protected]>
-
-	* builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
-
-	This allows builds with different configurations in parallel.
-
-2017-12-08  Werner Lemberg  <[email protected]>
-
-	Fix `make setup dos', second try (#52622).
-
-	* builds/detect.mk (dos_setup): Don't use literal `>' character at
-	all.  Mixing the different escaping rules from make, dos, and
-	windows is too fragile.
-
-2017-12-08  Werner Lemberg  <[email protected]>
-
-	[docmaker] Fix code section parsing.
-
-	Stuff like
-
-	  {
-	    <bla>
-	  }
-
-	confused the parser, which incorrectly treated `<bla>' as a markup
-	tag.
-
-	* src/tools/docmaker/content.py (ContentProcessor::process_content):
-	Apply `re_markup_tags' only outside of code sections.
-
-2017-12-08  Werner Lemberg  <[email protected]>
-
-	New `ftdriver.h' file, covering all driver modules.
-
-	This reduces redundancy and increases synergy; it also reduces the
-	number of header files.
-
-	* include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
-	(FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
-	FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
-	FT_DRIVER_H.
-
-	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
-	include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
-	include/freetype/ftttdrv.h: Replaced with...
-	* include/freetype/ftdriver.h: ...this new file.
-	(FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
-	(FT_HINTING_ADOBE): ... this new macro.
-	(FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
-	(FT_HINTING_FREETYPE): ... this new macro.
-
-	* src/*/*: Updated accordingly.
-
-2017-12-08  Werner Lemberg  <[email protected]>
-
-	Move `ftdriver.h' to `ftdrv.h'.
-
-	* include/freetype/internal/ftdriver.h: Renamed to...
-	* include/freetype/internal/ftdrv.h: ... this name.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
-	Updated.
-
-2017-12-08  Werner Lemberg  <[email protected]>
-
-	Fix access to uninitalized memory (#52613).
-
-	Also reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=791317
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
-	bitmap size needs a larger bitmap buffer, assure that the new memory
-	areas are initialized also.
-
-2017-12-08  Werner Lemberg  <[email protected]>
-
-	Fix `make setup dos' (#52622).
-
-	* builds/detect.mk (dos_setup): Properly escape literal `>'
-	character.
-
-2017-12-07  Werner Lemberg  <[email protected]>
-
-	Fix C++ compilation.
-
-	* src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
-
-2017-12-07  Werner Lemberg  <[email protected]>
-
-	Fix `make multi'.
-
-	* include/freetype/internal/fttrace.h: Remove unused tracing macros.
-	s/pshalgo2/pshalgo/.
-	Add `trace_cffdecode'.
-	* src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
-
-	* src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-	* src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
-	FT_SERVICE_CFF_TABLE_LOAD_H.
-
-	* src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-
-	* src/psaux/cffdecode.c: Include FT_FREETYPE_H and
-	FT_INTERNAL_DEBUG_H.
-	(FT_COMPONENT): Define.
-	* src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-	* src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-	Declare `cff_builder_funcs' and `ps_builder_funcs'.
-	* src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
-	* src/psaux/psobjs.c : Include `psauxmod.h'.
-
-2017-12-07  Werner Lemberg  <[email protected]>
-
-	* include/freetype/config/ftheader.h: Some clean-up.
-
-	This commit removes documentation of deprecated macros and does some
-	minor streamlining.
-
-2017-12-06  Werner Lemberg  <[email protected]>
-
-	* builds/symbian/bld.inf: Updated.
-
-2017-12-06  Werner Lemberg  <[email protected]>
-
-	New header file `ftparams.h' that collects all parameter tags.
-
-	* include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
-	macro.
-	(FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
-	`ftparams.h'.
-
-	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
-	include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
-	include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
-	FT_PARAMETER_TAGS_H.
-	Move FT_PARAM_TAG_XXX definitions to...
-	* include/freetype/ftparams.h: ...this new file.
-
-	* include/freetype/ttunpat.h: Remove.  No longer needed.
-
-2017-12-05  Werner Lemberg  <[email protected]>
-
-	Improve tracing messages by using singular and plural forms.
-
-	* src/*/*.c: Implement it.
-
-2017-12-04  Werner Lemberg  <[email protected]>
-
-	[truetype] Allow shared points in `cvar' table (#52532).
-
-	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
-	and adjusting the corresponding code from
-	`TT_Vary_Apply_Glyph_Deltas'.
-
-2017-11-28  Werner Lemberg  <[email protected]>
-
-	[truetype] Improving tracing of composite glyphs.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
-	[FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
-
-2017-11-27  Werner Lemberg  <[email protected]>
-
-	[type1] Allow (again) `/Encoding' with >256 elements (#52464).
-
-	In version 2.6.1, this has been disallowed to better reject
-	malformed fonts; however, this restriction was too strong.  This
-	time, we only take the first 256 elements into account, since
-	encoding arrays are always accessed with a 8bit integer, according
-	to the PostScript Language Reference.
-
-	* src/type1/t1load.c (parse_encoding): Implement it.
-
-2017-11-27  Jan Alexander Steffens (heftig)  <[email protected]>
-
-	Fix last commit (#52522).
-
-	* builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
-	properly if we have `ftoption.h' in `BUILD_DIR'.
-
-2017-11-24  Werner Lemberg  <[email protected]>
-
-	[unix] Install a massaged `ftoption.h' file (#51780).
-
-	* builds/unix/configure.raw (ftoption_set, ftoption_unset): New
-	auxiliary functions to construct...
-	(FTOPTION_H_SED): ... this new variable.
-	Apply it as a sed argument while copying `ftoption.h' to the
-	`builds/unix' directory (using `AC_CONFIG_FILES').
-	Simplify code of test that checks cpp's computation of bit length
-	(the test previously created an empty `ftoption.h' file and deleted
-	it immediately afterwards); without this change, it can happen on my
-	GNU/Linux box that `configure's execution of `config.status' doesn't
-	create `ftoption.h' (no idea why this happens).
-
-	* builds/unix/install.mk (install): Install
-	`builds/unix/ftoption.h'.
-
-	* builds/unix/unix-def.in (DISTCLEAN): Updated.
-
-	* builds/unix/.gitignore: Updated.
-
-2017-11-23  Tor Andersson  <[email protected]>
-
-	Silence unused function warnings (#52465).
-
-	Some static function declarations cause unused function warnings if
-	certain config options are turned off via `ftoption.h'.
-
-	* src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
-	src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
-
-2017-11-22  Ewald Hew  <[email protected]>
-
-	* src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
-
-2017-11-22  Ewald Hew  <[email protected]>
-
-	[psaux] Fix CFF advance widths. (#52466)
-
-	Glyph advance widths were being written to the new `PS_Decoder' but not
-	saved to the underlying format specific decoder. This caused pure CFF
-	fonts to have bad advance width.
-
-	* include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
-	field to pointer.
-	Remove unused fields.
-	* src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
-	to reference.
-	Remove unused.
-	* src/psaux/psft.c (cf2_setGlyphWidth): Update code.
-
-2017-11-15  Vlad Tsyrklevich  <[email protected]>
-
-	* include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
-
-2017-11-14  Nikolaus Waxweiler  <[email protected]>
-
-	Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
-
-	Since Ewald Hew factored the Adobe hinting engine out of the CFF
-	driver code, we can now use it on Type 1 (and CID) font formats, as
-	both have the same hinting philosophy.
-
-	This change activates the Adobe hinter when in LIGHT mode, and
-	therefore always unless explicitly asking for the auto-hinter.  This
-	makes LIGHT behavior consistent with CFF fonts.  As of this commit,
-	the hinting engine table looks as follows.
-
-	             LIGHT  NORMAL
-	  -------------------------
-	   TrueType  Auto   v40
-	   CFF       Adobe  Adobe
-	   Type 1    Adobe  Adobe
-
-2017-11-10  Yuri Levchenko  <[email protected]>
-
-	* CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
-
-2017-11-06  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
-
-2017-11-06  Alexei Podtelezhnikov  <[email protected]>
-
-	* src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
-
-2017-11-03  Ewald Hew  <[email protected]>
-
-	[psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251)
-
-	The interpreter in Type 1 mode rewinds the charstring after collecting
-	all hints for building the initial hintmap (commit d52dd7f). However,
-	some charstrings use `endchar' in a final subroutine call, rewinding to
-	the start of that subroutine, and only a small section of the actual
-	glyph is drawn.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>:
-	Ensure we are on the top level charstring before rewinding.
-
-2017-11-03  suzuki toshiya  <[email protected]>
-
-	[truetype] Add more tricky fonts.
-
-	See the report by Yang Yinsen.
-	https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html
-
-	* src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB',
-	`DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'.
-	(tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB,
-	DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7.  Also
-	add checksums for DLCLiShu and DLCHayBold which their family names
-	were already listed but their checksums were previously unknown.
-
-2017-11-01  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Fix complex rendering at high ppem.
-
-	We used to split large glyphs into horizontal bands and continue
-	bisecting them still horizontally if that was not enough.  This is
-	guaranteed to fail when a single scanline cannot fit into the
-	rendering memory pool.  Now we bisect the bands vertically so that
-	the smallest unit is a column of the band height, which is guranteed
-	to fit into memory.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
-
-2017-10-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth] Improve complex rendering at high ppem.
-
-	At large sizes almost but not exactly horizontal segments can quickly
-	drain the rendering pool. This patch at least avoids filling the pool
-	with trivial cells. Beyond this, we can only increase the pool size.
-
-	Reported, analyzed, and tested by Colin Fahey.
-
-	* src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
-
-2017-10-20  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Improve tracing in FT_Load_Glyph, FT_*_Size.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
-	function name, glyph index, and load flags.
-	(FT_Select_Metrics, FT_Request_Metrics): Remove all tracing.
-	(FT_Select_Size, FT_Request_Size): Improve tracing.
-
-2017-10-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Improve tracing in FT_Render_Glyph.
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage
-	calculations and downgrade Netpbm dump to bitmap:7.
-
-2017-10-15  Ewald Hew  <[email protected]>
-
-	[cff] Fix segfault on missing `psaux' (#52218)
-
-	* src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr.
-
-	* modules.cfg: Update dependency list.
-
-2017-10-15  Alexei Podtelezhnikov  <[email protected]>
-
-	[base, cff] Fix MSVC warnings.
-
-	* src/base/ftobjs.c (FT_New_Library): C4702: unreachable code.
-	(ft_glyphslot_preset_bitmap): C4244: possible loss of data.
-	* src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data.
-	Turn `sum' into unsigned.
-
-2017-10-14  Alexei Podtelezhnikov  <[email protected]>
-
-	[base] Netpbm image tracing.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
-	(FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.
-
-	* src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
-
-2017-10-14  Alexei Podtelezhnikov  <[email protected]>
-
-	* builds/windows/ftdebug.c (FT_Message): Print to stderr.
-	* builds/wince/ftdebug.c (FT_Message): Ditto.
-
-2017-10-14  Behdad Esfahbod  <[email protected]>
-
-	[afshaper] Delay creating `hb_set' objects until needed.
-
-	In runs on Noto Naskh Arabic, this results in 89 sets created
-	instead of 340 before.  Makes auto-hinter setup with HarfBuzz
-	enabled 20% to 30% faster.
-
-	* src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
-
-2017-10-12  Ewald Hew  <[email protected]>
-
-	[type1, cid] Add hinting engine switch.
-
-	Implement property service in `type1' and `cid' drivers to allow
-	switching between FreeType or Adobe hinting engine when both are
-	available.
-
-	* src/cid/cidriver.c (cid_property_{set,get}, cid_services),
-	src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add
-	Properties service.
-
-	* src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c
-	(T1_Driver_Init): Add default property values.
-
-2017-10-12  Ewald Hew  <[email protected]>
-
-	Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
-
-	This controls whether the old Type 1 engine gets compiled into FreeType.
-	It is disabled by default.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(T1_CONFIG_OPTION_OLD_ENGINE): New macro.
-
-	* include/freetype/internal/psaux.h (PS_Decoder): Remove unused field.
-	* include/freetype/internal/psaux.h, src/cid/cidgload.c
-	(cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c
-	(ps_builder_add_point), src/psaux/t1decode.c
-	(t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph,
-	t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h,
-	src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround
-	relevant code with macro.
-	Minor code changes.
-
-2017-10-12  Ewald Hew  <[email protected]>
-
-	Extract width parsing from Type 1 parser.
-
-	Duplicate the fast advance width calculations from the old parser.
-	This is to facilitate adding options for compiling out the old parser.
-
-	* src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function.
-	* include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry
-	`parse_metrics'.
-	* src/psaux/psauxmod.c: Set the new entry.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String),
-	src/cid/cidgload.c (cid_load_glyph): Separate
-	conditional for selecting engine.
-
-2017-10-09  Werner Lemberg  <[email protected]>
-
-	* src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=772775
-
-2017-10-08  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	[sfnt] Adjust behaviour of PS font names for variation fonts.
-
-	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
-	PS name only if no variation is applied.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	[cff, truetype] Adjust behaviour of named instances.
-
-	This commit completely separates the interaction between named
-	instances and variation functions.  In particular, resetting the
-	variation returns to the current named instance (if set) and not to
-	the base font.
-
-	As a side effect, variation functions no longer change the named
-	instance index.
-
-	* src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance'
-	function.
-	Also apply `MVAR' table to named instances.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast.
-	(tt_set_mm_blend): No longer check whether requested variation
-	coincides with a named instance.
-	(TT_Set_Var_Design): Use current named instance for default
-	coordinates.
-	* src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	Make `FT_Set_Named_Instance' work.
-
-	* src/cff/cffdrivr.c (cff_set_instance): New function.
-	(cff_service_multi_masters): Register it.
-
-	* src/truetype/ttgxvar.c (TT_Set_Named_Instance): New function.
-	* src/truetype/ttgxvar.h: Updated.
-	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Register
-	it.
-
-	* src/type1/t1load.c (T1_Reset_MM_Blend): New function.
-	* src/type1/t1load.h: Updated.
-	* src/type1/t1driver.c (t1_service_multi_masters): Register it.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	Make `FT_FACE_FLAG_VARIATION' work.
-
-	* include/freetype/internal/tttypes.h (TT_Face): Remove
-	`is_default_instance'; this can be replaced with a combination of
-	`FT_IS_VARIATION' and `FT_IS_INSTANCE'.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Updated.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
-	(sfnt_init_face): Updated.
-
-	* src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
-	(TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
-	src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
-	Handle `FT_FACE_FLAG_VARIATION'.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
-	`FT_FACE_FLAG_VARIATION'.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	New function `FT_Set_Named_Instance'.
-
-	No effect yet.
-
-	* src/base/ftmm.c (FT_Set_Named_Instance): New function.
-
-	* include/freetype/ftmm.h: Updated.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	Add macros for checking whether a font variation is active.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_VARIATION,
-	FT_IS_VARIATION): New macros.
-	No effect yet.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	Add framework for setting named instance in MM service.
-
-	* include/freetype/internal/services/svmm.h (FT_Set_Instance_Func):
-	New function typedef.
-	(MultiMasters): Add `set_instance' member.
-	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
-
-	* src/cff/cffdrivr.c (cff_service_multi_masters),
-	src/truetype/ttdriver (tt_service_gx_multi_masters),
-	src/type1/t1driver.c (t1_service_multi_masters): Updated.
-
-2017-10-07  Werner Lemberg  <[email protected]>
-
-	[type1] Minor code shuffling.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend): Make it a wrapper of...
-	(t1_set_mm_blend): ...this new function.
-	(T1_Set_MM_Design): Use `t1_set_mm_blend'.
-
-2017-10-05  Werner Lemberg  <[email protected]>
-
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer
-	overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3539
-
-2017-10-05  Werner Lemberg  <[email protected]>
-
-	Fix compiler warnings.
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_extra): Avoid code that relies
-	on numeric overflow.
-	Add cast.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix variable
-	types, add cast.
-
-2017-10-04  John Tytgat  <[email protected]>
-
-	[cff] Add support for `FSType'.
-
-	* include/freetype/internal/cfftypes.h (CFF_FontRec): Add
-	`font_extra' entry.
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_extra): New function to
-	retrieve FSType info from the embedded PostScript data.
-	(cff_service_ps_info): Register function.
-
-	* src/cff/cffload.c (cff_font_done): Free `font_extra'.
-
-2017-09-30  Alexei Podtelezhnikov  <[email protected]>
-
-	Signedness fixes in bitmap presetting.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Explicitly signed height.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
-	subtraction.
-
-2017-09-29  Alexei Podtelezhnikov  <[email protected]>
-
-	Bitmap metrics presetting [2/2].
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Preset the bitmap metrics when
-	appropriate but `FT_Render_Glyph' is not called.
-	* include/freetype/freetype.h (FT_GlyphSlotRec): Document the change.
-
-2017-09-28  Alexei Podtelezhnikov  <[email protected]>
-
-	[smooth, raster] Miscellaneous cleanups.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Clean up the exit.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Reduce
-	translations and clean up the exit.
-	(ft_smooth_render_lcd, ft_smooth_render_lcd): Remove unused `error'.
-
-2017-09-28  Ben Wagner  <[email protected]>
-
-	[truetype] Really, really fix #52082.
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
-
-2017-09-28  Werner Lemberg  <[email protected]>
-
-	* src/psaux/psintrp.c (cf2_doStems): Fix integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3510
-
-2017-09-28  Ewald Hew  <[email protected]>
-
-	* src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
-
-2017-09-28  Alexei Podtelezhnikov  <[email protected]>
-
-	Bitmap metrics presetting [1/2].
-
-	This mainly just extracts the code for presetting the bitmap metrics
-	from the monochrome, grayscale, and LCD renderers into a separate
-	function.
-
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): New function that
-	calculates prospective bitmap metrics for the given rendering mode.
-	* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
-	Declare it.
-
-	* src/base/ftlcdfil.c (ft_lcd_padding): New helper function that adds
-	padding to CBox taking into account pecularities of LCD rendering.
-	* include/freetype/ftlcdfil.h (ft_lcd_padding): Declare it.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Reworked to use
-	`ft_glyphslot_preset_bitmap'.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
-	(ft_smooth_render_lcd, ft_smooth_render_lcd): The pixel_mode setting
-	is moved to `ft_glyphslot_preset_bitmap'.
-
-2017-09-28  Ewald Hew  <[email protected]>
-
-	[psaux] Fix compiler warning.
-
-	* src/psaux/pshints.c (cf2_hintmap_dump): Add switch for tracing
-	code.
-
-2017-09-27  Werner Lemberg  <[email protected]>
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
-
-2017-09-25  Werner Lemberg  <[email protected]>
-
-	[psaux] Fix compiler warnings.
-
-	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
-	test.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escCALLOTHERSUBR>: Add casts.
-
-	* src/psaux/psobjs.c (ps_decoder_init): Add cast.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Minor fixes.
-
-	* include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
-	Rearrange `ps_builder_init' arguments to conventional order.
-
-	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
-	notice for `SubFont' in Type 1 mode.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Move `psdecode' into `psobjs'.
-
-	As the former only contains a single procedure, move it into
-	`psobjs' for simplicity.  Also change the parameter order to the
-	conventional one.
-
-	* src/psaux/psdecode.c (ps_decoder_init): Moved to...
-	* src/psaux/psobjs.c: ...Here.
-	* src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
-
-	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
-	`ps_decoder_init' function signature.
-
-	* src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
-	Update calls.
-
-	* src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
-
-	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
-	Update file references.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Fix Type 1 hinting.
-
-	Type 1 hinting breaks sometimes when mid-charstring hints should
-	have been in the initial hintmap.  This fix adds a preprocessing
-	pass that reads all hints and builds the correct initial hintmap
-	first, before proceeding to build the glyph outline.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString): New
-	`initial_map_ready' boolean flag.
-	Ignore outline commands and hint changes on first pass.
-	<cf2_cmdENDCHAR>: Add section to build hintmap and rewind.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Add tracing for hints.
-
-	* src/psaux/pshints.c (cf2_hintmap_dump): New function.
-	(cf2_hintmap_insertHint): Trace incoming and inserted hints.
-	(cf2_hintmap_build): Dump hintmap before and after hint adjustment.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Minor fixes.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString): Fix check for pop
-	results.
-	s/font->decoder/decoder/ where necessary.
-	<cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_escHSTEM3, cf2_escVSTEM3>: Use
-	offset parameter in `cf2_doStems' instead of doing correction for
-	left-sidebearing.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[cid] Use the new engine.
-
-	* src/cid/cidgload.c: Update includes.
-	(cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
-	loading code as with `type1' module.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[cid] Add Adobe engine configuration.
-
-	This is similar to what was done in the `type1' module.
-
-	* src/cid/cidriver.c (t1cid_driver_class): Update declaration.
-	* src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
-	(cid_driver_init): Update code.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Change subfont synthesis for CID fonts.
-
-	Change `t1_make_subfont' to take in the Private dict record as an
-	argument.  This is because Type 1 and CID font records in FreeType
-	have this in different places.
-
-	* src/psaux/psobjs.c (t1_make_subfont): Change `T1_Face' to
-	`FT_Face' so that CID is also accepted.
-	Take `PS_Private' as an argument and let caller figure out where the
-	Private dict actually is.
-	Update references.
-
-	* include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
-	declaration.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
-	call.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[type1] Switch to Adobe engine.
-
-	* src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (seac).
-
-	This concludes the changes needed to add Type 1 support.
-
-	* src/psaux/psintrp.c: Update includes.
-	(cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
-	implied seac for CFF.
-
-	* src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
-	function to look up the glyph index.
-
-	* src/psaux/psft.c (cf2_getT1SeacComponent,
-	cf2_freeT1SeacComponent): New functions to get the charstrings for
-	seac components.
-
-	* src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (flex in callothersubr).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escCALLOTHERSUBR>: Fix Flex feature handling (OtherSubrs 0, 1,
-	2).
-	<cf2_cmdRMOVETO>: Do not actually move the `glyphPath' while doing
-	flex.  This is to avoid closing the current contour.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (callothersubr).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escCALLOTHERSUBR>: Copy code from
-	`t1_decoder_parse_charstrings' (in `t1decode.c').
-	OtherSubr 3 (change hints) should reset the hintmask, so that the
-	new hints are applied.
-	Fix function calls and stack access.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (pop).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString): Change how unhandled
-	OtherSubr results are stored.  Implement the PostScript stack using
-	an array.
-	<cf2_escPOP>: Ensure that the stack is not cleared after getting
-	`OtherSubr' results.
-	Fix stack access.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (callsubr).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
-	Type 1 mode.
-
-	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (div, four-byte numbers).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_escDIV>: Add
-	Type 1 mode.  Type 1 requires large integers to be followed by
-	`div'; cf. `Adobe Type 1 Font Format', section 6.2.
-	<op == 255>: Push Type 1 four-byte numbers as `Int' always.  This is
-	to ensure `div' and `callsubr' get values they can use.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (hints).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
-	cf2_cmdVSTEM>: Add correction for left sidebearing in Type 1 mode.
-	Allow adding hints mid-charstring.
-	<cf2_escVSTEM3, cf2_escHSTEM3>: Translate into equivalent commands
-	for three normal stem hints.  This requires some recalculation of
-	stem positions.
-	Correction for left sidebearing.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (hsbw, sbw).
-
-	* src/psaux/psintrp.c (cf2_doStems): `hsbw' or `sbw' must be the
-	first operation in a Type 1 charstring.
-	(cf2_interpT2CharString): Remove unused variables.
-	<cf2_cmdHMOVETO, cf2_cmdVMOVETO, cf2_cmdRMOVETO>: `hsbw' or `sbw'
-	must be the first operation in a Type 1 charstring.
-	<cf2_cmdHSBW, cf2_escSBW>: Fix data access and add correction for
-	left sidebearing.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (setcurrentpoint).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escSETCURRENTPT>: Fix stack access.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Extend Adobe interpreter (closepath).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
-	Use the right builder function.  We can use the `haveWidth' boolean
-	already present, instead of implementing `parse_state'.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Add Type 1 operations to Adobe CFF interpreter.
-
-	The following Type 1 specific ops have been added (copied from
-	`t1decode'):
-
-	  closepath
-	  vstem3
-	  hstem3
-	  seac
-	  sbw
-	  callothersubr
-	  pop
-	  setcurrentpoint
-	  hsbw
-
-	The following require a Type 1 mode, because of differences in
-	specification:
-
-	  hstem
-	  vstem
-	  vmoveto
-	  callsubr
-	  div
-	  rmoveto
-	  hmoveto
-	  Numbers
-
-	The subsequent commits will implement these changes and adapt
-	accesses of data and objects to the new interpreter.
-
-	NOTE: Will not compile in the meantime!
-
-	* src/psaux/psintrp.c: Add opcodes to enum.
-	(cf2_interpT2CharString): Copy relevant code over from
-	`t1_decoder_parse_charstrings' (in `t1decode.c').
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[type1] Fixes for rendering.
-
-	The Type 1 advance width calculation passes null for glyph slot,
-	etc, which can cause null pointer access in the new interpreter.
-	Fall back to the old one for now.
-
-	Fix the large glyph retry code and ensure hinting and scaling flags
-	are set properly.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add a
-	check for metrics_only.
-	Set the `force_scaling' flag.
-	(T1_Parse_Glyph): Updated.
-	(T1_Load_Glyph): Add `hinting' and `scaled' flags.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Add missing objects (2/2).
-
-	Synthesize a `SubFont' object for Type 1 fonts.  This is used in the
-	interpreter to access Private dict data, which are stored in
-	different places for Type 1 and CFF.  This allows the same data to
-	be used in either mode.
-
-	* src/psaux/psobjs.c (t1_make_subfont): New procedure to copy
-	required values to a dummy `CFF_SubFont' object.  This is similar to
-	`cff_make_private_dict'.
-	* src/psaux/psobjs.h: Add the new declaration.
-
-	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
-	Add this to the PSAux Service for future use with CID fonts.
-
-	* src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
-	(T1_Parse_Glyph_And_Get_Char_String): Add the call.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Add missing objects for Type 1 (1/2).
-
-	Move `CF2_Font' instance to `PS_Decoder'.  This is the context for
-	the interpreter and since it is currently stored in `CFF_Font', is
-	unavailable in Type 1 mode.
-
-	* include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
-	`cf2_instance' field.
-
-	* src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
-	`PS_Decoder'.
-
-	* src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
-
-	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	Allow `type1' module to use the Adobe engine.
-
-	Add the callback and some conditionals to switch between the two
-	engines.
-
-	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
-	function declarations.
-	* src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
-	callbacks.
-
-	* src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
-	number conversion.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
-	to choose which renderer to use.
-
-	* src/cid/cidgload.c (cid_load_glyph): Update call.
-	* src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
-	includes.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[type1] Add Adobe engine configuration.
-
-	Use the previously changed PS_Driver in type1 module to store
-	hinting engine configuration.
-
-	* include/freetype/ftt1drv.h: New file.
-	Duplicate and rename config options from CFF.
-	* include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
-
-	* src/type1/t1driver.c (t1_driver_class): Update declaration.
-	* src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
-	(T1_Driver_Init): Update code.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[cff] Move and rename `CFF_Driver'.
-
-	This is so that we can use the same hinting engine parameters for
-	Type 1.
-
-	* include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
-	move to...
-	* include/freetype/internal/psaux.h (PS_Driver): ...here.
-
-	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffload.c,
-	src/cff/cffobjs.c, src/cff/cffobjs.h, src/psaux/psft.c,
-	src/psaux/psobjs.c: Update references.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux, type1] Reorganize object fields.
-
-	Make some fields more generic, so that we can access them the same
-	way regardless of Type 1 or CFF.
-
-	* include/freetype/internal/psaux.h (PS_Builder): Change `TT_Face'
-	to `FT_Face'.
-	Remove unused fields.
-
-	* src/psaux/psft.c: Update all accesses of `PS_Builder.face'.
-	Add some asserts to guard against casting `T1_Face' as `TT_Face'.
-
-	* src/type1/t1objs.h (T1_GlyphSlot): Reorder fields to follow
-	`CFF_GlyphSlot', so that we can pretend they are the same in the
-	interpreter.
-
-	* src/psaux/psobjs.c (ps_builder_init, ps_builder_add_point):
-	Updated with above changes.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux] Prepare for Type 1 mode.
-
-	Add some checks for Type 1 data passing through.
-
-	* src/psaux/psfont.h (CF2_Font): Add `isT1' flag.
-	* src/psaux/psfont.c (cf2_font_setup): Skip the variations and blend
-	code which is not applicable for Type 1.
-
-	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Avoid accessing
-	`decoder->cff' in Type 1 mode.
-	Copy `is_t1' flag to `CF2_Font'.
-
-2017-09-25  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Use the new objects.
-
-	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Fix
-	switching between new and old engines.
-
-	* src/cff/cffgload.c, src/cff/cffparse.c: Update calls.
-
-	* src/psaux/psblues.c, src/psaux/psfont.c, src/psaux/psfont.h,
-	src/psaux/psft.c, src/psaux/psft.h, src/psaux/psintrp.c: Update all
-	to use new objects.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux] Objects for new interpreter (part 2).
-
-	Make the new objects copy over values.  They are essentially wrapper
-	types for the different decoders/builders.
-
-	* include/freetype/internal/psaux.h: Update declarations.
-	(PS_Builder): Add `is_t1' flag.
-	(PS_Decoder_{Get,Free}_Glyph_Callback): Renamed to...
-	(CFF_Decoder_{Get,Free}_Glyph_Callback: ... this.
-	(PS_Decoder): Updated.
-	Add `t1_parse_callback' member.
-	(PSAux_ServiceRec): Add `ps_decoder_init' member.
-
-	* src/psaux/psdecode.h, src/psaux/psobjs.h: Update declarations.
-
-	* src/psaux/psdecode.c, src/psaux/psobjs.c: Implement copy with two
-	modes.
-
-	* src/psaux/psauxmod.c: Add builder and decoder functions to `PSAux'
-	service.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux] Add objects for new interpreter.
-
-	Introduce `PS_Decoder' and `PS_Builder' which include all fields
-	from either Type 1 or CFF decoders/builders.
-
-	* include/freetype/internal/psaux.h (PS_Builder, PS_Decoder): New
-	structs.
-
-	* src/psaux/psobjs.c, src/psaux/psobjs.h: Add `PS_Builder'
-	functions.
-
-	* src/psaux/psdecode.c, src/psaux/psdecode.h: New files to hold
-	`PS_Decoder' initialization functions.
-
-	* src/psaux/psaux.c, src/psaux/Jamfile (_sources),
-	src/psaux/rules.mk (PSAUX_DRV_SRC): Updated.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux] Rename files.
-
-	Replace the `cf2' file name prefix with `ps' as the Adobe engine
-	will be used for both PostScript Types 1 and 2 (CFF) instead of just
-	CFF.
-
-	s/cf2/ps/ for all following.
-
-	* src/psaux/cf2*: Rename files.
-	* src/psaux/*: Update includes.
-
-	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRC_SRC,
-	PSAUX_DRV_H): Update file references.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux] Minor fix.
-
-	Use `MultiMasters' service in `psaux' instead of a call to `cff'.
-	The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
-
-	* src/psaux/cf2ft.c: Update includes.
-	(cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
-	`cff_get_var_blend'.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Move `cff_random' into `psaux' service.
-
-	NOTE: Does not compile!
-
-	Minor fix to allow both `cff' and `psaux' to use `cff_random'.
-
-	* src/cff/cffload.c (cff_random): Move to...
-	* src/psaux/psobjs.c: Here.
-	* src/cff/cffload.h: Move corresponding declaration to
-	`src/psaux/psobjs.h'.
-
-	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the
-	function here...
-	* src/psaux/psauxmod.c: And here.
-
-	* src/cff/cffload.c, src/psaux/cf2intrp.c: Update code.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[cff] Move struct declarations to `freetype/internal'.
-
-	NOTE: Does not compile!
-
-	This is so that the CFF functions moved to `psaux' can access the
-	same structs that they need.
-
-	* src/cff/cfftypes.h: Moved to...
-	* include/freetype/internal/cfftypes.h: ...Here.
-
-	* src/cff/cffobjs.h: Moved the struct declarations to...
-	* include/freetype/internal/cffotypes.h: ... this new file.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_CFF_TYPES_H,
-	FT_INTERNAL_CFF_OBJECT_TYPES_H): New macros.
-
-	* src/cff/cffcmap.h, src/cff/cffdrivr.c, src/cff/cffgload.c,
-	src/cff/cffgload.h, src/cff/cffload.h, src/cff/cffobjs.c,
-	src/cff/cffobjs.h, src/cff/cffparse.h, src/psaux/psobjs.h,
-	include/freetype/internal/psaux.h,
-	include/freetype/internal/services/svcfftl.h: Update includes.
-
-	* src/cff/rules.mk (CFF_DRV_H): Updated.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Add new service for inter-module calls.
-
-	NOTE: Does not compile!
-
-	This is to allow CFF functions moved to `psaux' to call functions
-	declared in `src/cff/cffload.h'.
-
-	* include/freetype/internal/services/svcfftl.h: New file, setting up
-	a `CFFLoad' service.
-
-	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC10,
-	FT_DEFINE_SERVICEDESCREC): New macros.
-	(FT_SERVICE_CFF_TABLE_LOAD_H): New macro.
-
-	* src/cff/cffdrivr.c, src/cff/cffpic.h: Register the new service.
-
-	* src/cff/cfftypes.h (CFF_FontRec), src/psaux/cf2font.h
-	(CF2_FontRec): Add service interface.
-
-	* src/cff/cffobjs.c, src/psaux/cf2font.c, src/psaux/cf2ft.c,
-	src/psaux/cf2intrp.c, src/psaux/cffdecode.c: Use the new service.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Add callbacks for inter-module calls.
-
-	NOTE: Does not compile!
-
-	* include/freetype/internal/psaux.h: Add function pointer
-	declarations.
-
-	* src/psaux/cffdecode.c (cff_decoder_init): Update to take in
-	callbacks.
-	* src/psaux/cffdecode.h: Ditto.
-
-	* src/cff/cffgload.c (cff_compute_max_advance, cff_slot_load):
-	Update calls to pass in callbacks.
-	* src/psaux/cf2ft.c, src/psaux/cffdecode.c: Use them.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Create new `PSAux' service interface entries.
-
-	NOTE: Does not compile!
-
-	* include/freetype/internal/psaux.h: Include
-	FT_INTERNAL_TRUETYPE_TYPES_H.
-	(CFF_Builder_FuncsRec, CFF_Decocer_FuncsRec): New function tables.
-	(CFF_Builder): Updated.
-	Fix for forward declaration.
-	(PSAux_ServiceRec): New field `cff_decoder_funcs'.
-
-	* src/psaux/psauxmod.c (cff_builder_funcs, cff_decoder_funcs): New
-	function tables.
-	(PSAux_Interface): Updated.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `psaux'
-	service interface.
-
-	* src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffparse.c: Update
-	function calls to use psaux service.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Move CFF builder components into `psaux' module.
-
-	NOTE: Does not compile!
-
-	* src/cff/cffgload.c
-	(cff_builder_{init,done,add_point,add_point1,add_contour,start_point,close_contour},
-	cff_check_points): Move to...
-	* src/psaux/psobjs.c: Here.
-
-	* src/cff/cffgload.h: Move corresponding declarations to
-	`src/psaux/psobjs.h'.
-
-	* src/cff/cffgload.h (CFF_Builder): Move struct declaration to...
-	* include/freetype/internal/psaux.h: Here.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Move CFF decoder components into `psaux' module.
-
-	NOTE: Does not compile!
-
-	* src/cff/cffgload.c (CFF_Operator,
-	CFF_COUNT_{CHECK_WIDTH,EXACT,CLEAR_STACK}, cff_argument_counts,
-	cff_operator_seac, cff_compute_bias,
-	cff_lookup_glyph_by_stdcharcode,
-	cff_decoder_{parse_charstrings,init,prepare}): Move to...
-	* src/psaux/cffdecode.c: This new file.
-
-	* src/cff/cffgload.h: Move corresponding declarations to...
-	* src/psaux/cffdecode.h: This new file.
-
-	* src/cff/cffgload.h (CFF_MAX_{OPERANDS,SUBRS_CALLS,TRANS_ELEMENTS},
-	CFF_Decoder_Zone, CFF_Decoder): Move declarations to...
-	* include/freetype/internal/psaux.h: Here.
-
-	* src/psaux/cf2ft.h: Update include.
-
-	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Update with
-	the new file.
-
-2017-09-24  Ewald Hew  <[email protected]>
-
-	[psaux, cff] Move Adobe's engine components into `psaux' module.
-
-	This is the first patch of a sequence to move the Type 2 charstring
-	processing capability from the `cff' module to the `psaux' module.
-
-	NOTE: Does not compile!
-
-	* src/cff/cf2*: Move these files to...
-	* src/psaux/cf2*: Here.
-
-	* src/cff/Jamfile (_sources), src/cff/rules.mk (CFF_DRV_SRC,
-	CFF_DRV_H), src/cff/cff.c, src/cff/cffgload.c: Remove file
-	references.
-
-	* src/psaux/Jamfile (_sources), src/psaux/rules.mk, src/psaux/psaux.c
-	(PSAUX_DRV_SRC, PSAUX_DRV_H): Add file references.
-
-2017-09-24  Alexei Podtelezhnikov  <[email protected]>
-
-	Tweak per-face LCD filtering controls.
-
-	Thing are simpler with a NULL-function pointer.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
-	pointer to the filter function.
-	(FT_LibraryRec): Remove unused `lcd_filter'.
-	(FT_Bitmap_LcdFilterFunc, ft_lcd_filter_fir):  Move from here...
-	* include/freetype/ftlcdfil.h (FT_Bitmap_LcdFilterFunc,
-	ft_lcd_filter_fir): ... to here.
-
-	* src/base/ftobjs.c (ft_open_face_internal): NULL-initialize the
-	per-face filter.
-	(FT_Face_Properties): Set it.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Simplify.
-
-	* src/base/ftlcdfil.c (ft_lcd_filter_fir, FT_Libary_SetLcdFilter):
-	Minor.
-
-2017-09-24  Jonathan Kew  <[email protected]>
-
-	[sfnt] Fix `premultiply_data' (#52092).
-
-	* src/sfnt/pngshim.c (premultiply_data): Don't use vector extension
-	if we have less than 16 bytes of data.
-
-2017-09-24  Werner Lemberg  <[email protected]>
-
-	[otvalid] Fix handling of ValueRecords.
-
-	For GPOS pair positioning format 1 the description of ValueRecords
-	in the OpenType specification (1.8.2, from today) is wrong – the
-	offset has to be taken from the parent structure; in this case the
-	`PairSet' table.
-
-	* src/otvalid/otvgpos.c (otv_PairSet_validate): Set `extra3'.
-	(otv_PairPos_validate): Adjust.
-
-2017-09-23  Werner Lemberg  <[email protected]>
-
-	[otvalid] Handle `GSUB' and `GPOS' v1.1 tables.
-
-	* src/otvalid/otvgsub.c (otv_GSUB_validate), src/otvalid/otvgpos.c
-	(otv_GPOS_validate): Implement it.
-
-2017-09-23  Werner Lemberg  <[email protected]>
-
-	[otvalid] Update common table handling to OpenType 1.8.2.
-
-	* src/otvalid/otvcommn.c (otv_Device_validate): Handle
-	VariationIndex subtable.
-	(otv_Lookup_validate): Handle MarkFilteringSet.
-
-2017-09-23  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Windows-style DLL versioning.
-
-	* build/windows/ftver.rc: New VERSIONINFO resource.
-	* build/windows/vc2010/freetype.vcxproj: Further improvements.
-
-2017-09-23  Ben Wagner  <[email protected]>
-
-	[truetype] Really fix #52082.
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
-
-2017-09-23  Werner Lemberg  <[email protected]>
-
-	[otvalid] Handle `GDEF' v1.2 and v1.3 tables.
-
-	No validation of variation stuff yet.
-
-	* src/otvalid/otvgdef.c (otv_MarkGlyphSets_validate): New function.
-	(otv_GDEF_validate): Implement it.
-
-2017-09-22  Werner Lemberg  <[email protected]>
-
-	[otvalid] Handle `BASE' v1.1 table.
-
-	No validation of variation stuff yet.
-
-	* src/otvalid/otvbase.c (otv_BASE_validate): Implement it.
-
-2017-09-22  Werner Lemberg  <[email protected]>
-
-	[otvalid] Macros for 32bit offset support.
-
-	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE32,
-	OTV_OPTIONAL_OFFSET32, OTV_SIZE_CHECK32): New macros.
-
-2017-09-21  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Simplify Visual C++ 2010 project.
-
-	* build/windows/vc2010/freetype.vcxproj: Remove fake singlethreaded
-	configurations and tweak.
-
-2017-09-21  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflow (#52082).
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Avoid FT_ABS.
-
-2017-09-21  Werner Lemberg  <[email protected]>
-
-	[sfnt] Fix postscript name for default instance of variation fonts.
-
-	Problem reported by Behdad.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Test
-	`is_default_instance'.
-
-2017-09-21  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix `mmvar' array pointers, part 2.
-
-	The previous commit was incomplete.
-
-	* src/truetype/ttgxvar.c: Properly initialize sub-array offsets for
-	`master' also.
-
-2017-09-21  Werner Lemberg  <[email protected]>
-
-	[truetype] Fix `mmvar' array pointers.
-
-	Without this change, clang's AddressSanitizer reports many runtime
-	errors due to misaligned addresses.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use multiples of pointer
-	size for sub-array offsets into `mmvar'.
-
-2017-09-20  Werner Lemberg  <[email protected]>
-
-	[truetype] Integer overflows.
-
-	Changes triggered by
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3429
-
-	* src/truetype/ttinterp.c (Ins_SHPIX, Ins_DELTAP): Use NEG_LONG.
-	(Ins_MIAP): Use SUB_LONG.
-
-2017-09-19  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Fix DLL builds in Visual C++ project.
-
-	* build/windows/vc2010/freetype.vcxproj: Use DynamicLibrary in Debug
-	and Release configurations.
-	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
-	[_DLL]: Use Visual C++ extensions.
-
-2017-09-19  John Tytgat  <[email protected]>
-
-	[cff] Fix family name logic of pure CFF fontdata (#52056).
-
-	1. If `FamilyName' is present in the CFF font, use this for
-	   FT_Face's `family_name'.
-	2. Otherwise, use the face name and chop off any subset prefix.
-	3. If at this point FT_Face's `family_name' is set, use this
-	   together with the full name to determine the style.
-	4. Otherwise, use `CIDFontName' as FT_Face's `family_name'.
-	5. If we don't have a valid style, use "Regular".
-
-	Previously, FT_Face's `family_name' entry for pure CFF fontdata
-	nearly always was the fontname itself, instead of the `FamilyName'
-	entry in the CFF font (assuming there is one).
-
-	* src/cff/cffobjs.c (cff_face_init) [pure_cff]: Implement it.
-
-2017-09-18  Alexei Podtelezhnikov  <[email protected]>
-
-	[build] Declutter Visual C++ 2010-2017 project.
-
-	* build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
-	optimization for Release configuration throughout the project.
-
-
-----------------------------------------------------------------------------
-
-Copyright (C) 2017-2021 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.20
@@ -1,0 +1,2613 @@
+2002-02-09  Werner Lemberg  <[email protected]>
+
+	* README: Fix typo.
+	* docs/CHANGES: Minor fixes.
+
+
+	* Version 2.0.8 released.
+	=========================
+
+
+2002-02-08  David Turner  <[email protected]>
+
+	* docs/CHANGES: Updating for 2.0.8.
+
+	* include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
+	removing `FT_Get_Next_Char' from the API (temporarily).
+
+	* include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
+	note that this function might temporarily be removed for the 2.0.8
+	release.
+
+2002-02-07  David Turner  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_load_font): Removed immature support of
+	the AVERAGE_WIDTH property.
+
+2002-02-06  David Turner  <[email protected]>
+
+	* src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
+	PDF documents do not include 'cmap', 'post' and 'name' tables, the
+	SFNT face loader has been changed to not immediately report an
+	error if these are not present.
+
+	Note that the specification _requires_ these tables, but Adobe
+	seems to ignore it completely.
+
+	* src/sfnt/ttcmap.c: Removing compiler warnings.
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
+	(pcf_parse_metric, pcf_parse_compressed_metric): Removed.  Code
+	is now in ...
+	(pcf_get_metric): Here.
+	(pcfSeekToType): Renamed to ...
+	(pcf_seek_to_table_type): This.
+	Use FT_Int.
+	(pcfHasType): Renamed to ...
+	(pcf_has_table_type): This.
+	Use FT_Int.
+	(find_property): Renamed to ...
+	(pcf_find_property): This.
+	Use FT_Int.
+	(pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
+	better (delaying format checks out of FT_Access_Frame ..
+	FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
+	state when encountering an invalid PCF font).
+
+	* src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
+	(PCF_Face_Done): This.
+	(PCF_Init_Face): Renamed to ...
+	(PCF_Face_Init): This.
+	(PCF_Get_Char_Index): Renamed to ...
+	(PCF_Char_Get_Index): This.
+	(PCF_Get_Next_Char): Renamed to ...
+	(PCF_Char_Get_Next): This.
+	(pcf_driver_class): Updated.
+
+	* src/pcf/pcf.h (PCF_Done_Face): Removed.
+
+2002-02-06  Detlef Würkner  <[email protected]>
+
+	* src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
+
+	* src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
+	property to return correct character pixel (width/height) pairs for
+	embedded bitmaps.
+
+2002-02-04  Keith Packard  <[email protected]>
+
+	Adding the function `FT_Get_Next_Char', doing the obvious thing
+	w.r.t. the selected charmap.
+
+	* include/freetype/freetype.h: Add prototype.
+	* include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
+	typedef.
+	(FT_Driver_Class): Use it.
+	* include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
+	typedef.
+	(PSNames_Interface): Use it.
+	* include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
+	typedef.
+	(TT_CMapTable): Use it.
+
+	* src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
+	high-level API.
+	* src/cff/cffdrivr.c (cff_get_next_char): New function.
+	(cff_driver_class): Add it.
+	* src/cid/cidriver.c (Cid_Get_Next_Char): New function.
+	(t1cid_driver_class): Add it.
+	* src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
+	(pcf_driver_class): Add it.
+	* src/psnames/psmodule.c (PS_Next_Unicode): New function.
+	(psnames_interface): Add it.
+	* src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
+	code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
+	functions.
+	(TT_CharMap_Load): Use them.
+	* src/truetype/ttdriver.c (Get_Next_Char): New function.
+	(tt_driver_class): Add it.
+	* src/type1/t1driver.c (Get_Next_Char): New function.
+	(t1_driver_class): Add it.
+	* src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
+	(winfnt_driver_class): Add it.
+
+	* src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
+	Unicode and Latin 1 encodings.
+
+2002-02-02  Keith Packard  <[email protected]>
+
+	* builds/unix/freetype-config.in: Add missing `fi'.
+
+
+	* Version 2.0.7 released.
+	=========================
+
+
+2002-02-01  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
+	for the new release.
+
+2002-01-31  David Turner  <[email protected]>
+
+	* README, README.UNX, docs/CHANGES: Updating documentation for the
+	2.0.7 release.
+
+2002-01-30  David Turner  <[email protected]>
+
+	* INSTALL: Moved to ...
+	* docs/INSTALL: Here to avoid conflicts with the `install' script on
+	Windows, where the filesystem doesn't preserve case.
+
+2002-01-29  David Turner  <[email protected]>
+
+	* configure: Fixed the script.  It previously didn't accept more
+	than one argument correctly.  For example, when typing:
+
+	  ./configure --disable-shared --disable-nls
+
+	the `--disable-nls' was incorrectly sent to the `make' program.
+
+2002-01-29  Werner Lemberg  <[email protected]>
+
+	* README.UNX: Fix typo.
+	* builds/unix/install.mk (uninstall): Fix library name for libtool.
+
+2002-01-28  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
+	the face object (face->toc.tables, face->root.family_name,
+	face->root.available_size, face->charset_encoding,
+	face->charset_registry are now freed).  Thanks to Niels Moseley.
+
+2002-01-28  Roberto Alameda  <[email protected]>
+
+	* src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
+
+2002-01-28  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
+	of `base' string for decrypting to not modify the original data.
+	Based on a patch by Jakub Bogusz <[email protected]>.
+
+2002-01-27  Giuliano Pochini  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
+	bad rendering of thin lines (less than one pixel thick).
+
+2002-01-25  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
+	actually.
+
+2002-01-25  Martin Zinser  <[email protected]>
+
+	* src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
+	compilation warnings.
+	* src/base/descrip.mms (OBJS): Add `ftmm.obj'.
+	* src/cache/descrip.mms (ftcache.obj): Dependencies added.
+
+2002-01-25  WANG Yi  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
+
+2002-01-21  Antoine Leca  <[email protected]>
+
+	* docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
+	the URL for the online resource.
+
+2002-01-18  Ian Brown  <[email protected]>
+
+	* builds/win32/ftdebug.c: New file.
+	* builds/win32/visualc/freetype.dsp: Updated.
+
+2002-01-18  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
+	* builds/amiga/README: Updated.
+
+2002-01-18  Ian Brown  <[email protected]>
+
+	* builds/win32/visualc/freetype.dsp: Updated.
+
+2002-01-13  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype2.a4: The script was still buggy.
+	* builds/unix/freetype-config.in: Make it really work for any install
+	prefix.
+
+2002-01-10  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype2.a4: Fix some serious bugs.
+
+2002-01-09  David Turner  <[email protected]>
+
+	* builds/unix/configure.ac: Build top-level Jamfile.
+
+2002-01-09  Maxim Shemanarev  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_render_line): Small optimization to
+	the smooth anti-aliased renderer that deals with vertical segments.
+	This results in a 5-7% speedup in rendering speed.
+
+2002-01-08  David Turner  <[email protected]>
+
+	Added some wrapper scripts to make the installation more
+	Unix-friendly.
+
+	* configure, install: New files.
+
+	* INSTALL, README.UNX: Updated installation documentation to use the
+	new 'configure' and 'install' scripts.
+
+2002-01-07  David Turner  <[email protected]>
+
+
+	* Version 2.0.6 released.
+	=========================
+
+
+	* docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
+
+	* src/tools/docmaker.py: Fixed HTML quoting in sources.
+	(html_format): Replaced with ...
+	(html_quote): New function.
+	(html_quote0): New function.
+	(DocCode::dump_html): Small improvement.
+	(DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
+
+	* include/freetype/config/ftoption.h: Setting default options for
+	a release build (debugging off, bytecode interpreter off).
+
+	* src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
+	src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
+	src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
+	warnings (in pedantic compilation modes).
+
+2002-01-05  David Turner  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
+	of auto-hinted stem widths; this avoids color fringes in
+	`ClearType-like' rendering.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph_Header,
+	TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
+	Modified the TrueType loader to make it more paranoid; this avoids
+	nasty buffer overflows in the case of invalid glyph data (as
+	encountered in the output of some buggy font converters).
+
+2002-01-04  David Turner  <[email protected]>
+
+	* README.UNX: Added special README file for Unix users.
+
+	* builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
+
+	* src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
+	of compiler warnings.
+
+	* src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
+
+2002-01-03  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
+	warning.
+
+2002-01-03  Keith Packard  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
+	all FreeType input streams are closed in child processes of a `fork'
+	on Unix systems.  This is important to avoid (potential) access
+	control issues.
+
+2002-01-03  David Turner  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
+	library when dealing with certain weird fonts like `Stalingrad', in
+	`sadn.pfb' (this font has no full font name entry).
+
+	* src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
+	New function to check the consistency of outline data.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
+	ensure that loaded glyphs are valid.  This allows certain fonts like
+	`tt1095m_.ttf' to be loaded even though it appears they contain
+	really funky glyphs.
+
+	There still is a bug there, though.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
+
+2001-12-30  David Turner  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load): Fix advance width
+	computation of auto-hinted glyphs.  This noticeably improves the
+	spacing of letters in KDE and Gnome.
+
+2001-12-25  Antoine Leca  <[email protected]>
+
+	* builds/dos/detect.mk: Correcting the order for Borland compilers:
+	16-bit bcc was never selected, always overridden by 32-bit bcc32.
+
+2001-12-22  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
+	and fix incorrect computation of `available_sizes'.
+
+2001-12-22  David Turner  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
+	incorrect glyph advance in the case of mono-width fonts (like
+	Courier, Andale Mono, and others).
+
+2001-12-22  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/*: Adaptations to latest changes.
+	Support added for MorphOS.
+
+2001-12-22  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
+	(ps_mask_table_merge, ps_hints_open, ps_hints_stem,
+	ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
+	FT_ERROR messages.
+	* src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
+	`trace_pshalgo1'.
+	* src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
+	`trace_pshalgo2'.
+	* include/freetype/internal/ftdebug.h (FT_Trace): Updated.
+
+	* docs/modules.txt: New file.
+
+2001-12-21  David Turner  <[email protected]>
+
+	* src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
+	Ignore invalid `hintmask' and `cntrmask' operators (instead of
+	returning an error).  Glyph 2028 of the CFF font `MSung-Light-Acro'
+	couldn't be rendered otherwise (it seems its charstring is buggy,
+	though this requires more analysis).
+	(FT_COMPONENT): Define.
+
+	* src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
+	(T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
+	bug where the X and Y axis where inverted in the postscript hinter.
+	This caused problem when displaying on non-square surfaces.
+
+	* src/pshinter/pshalgo2.c: s/vertical/dimension/.
+
+	* src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
+	point constant with a fixed-float equivalent.  For some reasons not
+	all compilers are capable of directly computing a floating pointer
+	constant casted to FT_Fixed, and will link a math library instead.
+
+2001-12-20  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
+	tracing strings.
+	* src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
+	* src/cache/ftcmanag.c (ftc_family_table_alloc,
+	ftc_family_table_free, FTC_Manager_Check): Ditto.
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
+
+	* src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
+
+2001-12-20  David Turner  <[email protected]>
+
+	Added PostScript hinter support to the CFF and CID drivers.
+
+	* include/freetype/internal/cfftypes.h (CFF_Font): New member
+	`pshinter'.
+	* src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
+	* src/cff/cffload.h: Updated.
+	* src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
+	(CFF_Builder_Init): This.
+	Added new argument `hinting'.
+	(CFF_Done_Builder): Renamed to ...
+	(CFF_Builder_Done): This.
+	(CFF_Init_Decoder): Added new argument `hinting'.
+	(CFF_Parse_CharStrings): Implement vstem support.
+	(CFF_Load_Glyph): Updated.
+	Add hinting support.
+	(cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
+	(cff_argument_counts): Updated.
+	* src/cff/cffgload.h: Updated.
+	* src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+	(CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
+	CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GlyphSlot_Init): New
+	functions.
+	(CFF_Init_Face): Renamed to ...
+	(CFF_Face_Init): This.
+	Add hinter support.
+	(CFF_Done_Face): Renamed to ...
+	(CFF_Face_Done): This.
+	(CFF_Init_Driver): Renamed to ...
+	(CFF_Driver_Init): This.
+	(CFF_Done_Driver): Renamed to ...
+	(CFF_Driver_Done): This.
+	* src/cff/cffobjs.h: Updated.
+	* src/cff/cffdrivr.c (cff_driver_class): Updated.
+
+	* include/freetype/internal/t1types.h (CID_FaceRec): New member
+	`pshinter'.
+	* src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
+	* src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+	(CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
+	CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
+	(CID_Done_Face): Renamed to ...
+	(CID_Face_Done): This.
+	(CID_Init_Face): Renamed to ...
+	(CID_Face_Init): This.
+	Add hinting support.
+	(CID_Init_Driver): Renamed to ...
+	(CID_Driver_Init): This.
+	(CID_Done_Driver): Renamed to ...
+	(CID_Driver_Done): This.
+	* src/cid/cidobjs.h: Updated.
+	* src/cidriver.c: Updated.
+
+	* src/pshinter/pshrec.c (t2_hint_stems): Fixed.
+
+	* src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
+	crashed the library on exit.
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
+	transformation of hinted glyphs.
+
+	* src/cid/cidload.c (cid_read_subrs): Fix error condition.
+
+	* src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
+	routines were never released when CID faces were destroyed.
+
+	* src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
+	to move the definition of encoding tables back within `cffload.c'
+	instead of making them part of a shared header (causing problems in
+	`multi' builds).  This reverts change 2001-08-08.
+
+	* docs/CHANGES: Updated for 2.0.6 release.
+	* docs/TODO: Added `stem3 and counter hints support' to the TODO
+	list for the Postscript hinter.
+	* docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
+
+2001-12-19  David Turner  <[email protected]>
+
+	* include/freetype/cache/ftcache.h: Added comments to indicate that
+	some of the exported functions should only be used by applications
+	that need to implement custom cache types.
+
+	* src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
+	that prevented composites from loading correctly, due to missing
+	parentheses around macro parameters.
+
+	* src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
+	tables optional to load PCL fonts properly.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
+	(FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
+	`Fixed' the bug that prevented embedded bitmaps to be loaded when
+	the auto-hinter is used.  This actually is a hack but will be enough
+	until the internal re-design scheduled for FreeType 2.1.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
+	shifting bug in the monochrome renderer.
+
+	* README: Updated version numbers to 2.0.6.
+
+2001-12-17  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
+	glyph header.
+
+2001-12-15  Werner Lemberg  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
+	* include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
+	already in ftcmanag.h.
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
+	`gfam'.
+	* src/cache/ftcmanag.c (ftc_family_table_alloc,
+	* ftc_family_table_free): Use FT_EXPORT_DEF.
+	* include/freetype/cache/ftcmanag.h: Updated.
+	* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
+	* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
+	`cfam'.
+	Remove compiler warning.
+	(FTC_CMapCache_Lookup): Remove compiler warnings.
+	(ftc_cmap_family_init): Ditto.
+	(FTC_CMapCache_Lookup): Ditto.
+
+	* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
+	* builds/unix/configure: Regenerated.
+
+2001-12-14  Werner Lemberg  <[email protected]>
+
+	* builds/mac/README: Updated.
+
+2001-12-14  Scott Long  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
+	dealing with invalid fonts (i.e. glyph size < 10 bytes).
+
+2001-12-14  Sam Latinga  <[email protected]>
+
+	* builds/mac/freetype.make: A new Makefile to build with MPW on
+	MacOS classic.
+
+2001-12-14  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
+	(T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
+	src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
+	all font drivers (the advance width was never hinted when it
+	should).
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): New macro.
+	* src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
+	use `extern' keyword.
+
+2001-12-12  David Turner  <[email protected]>
+
+	* src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
+	psh_globals_new): Adding correct BlueScale/BlueShift support, plus
+	family blues processing.
+	* src/pshinter/pshglob.h (PSH_BluesRec): Updated.
+
+	Started adding support for the Postscript hinter in the CFF module.
+
+	* src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+	(CFF_Parse_CharStrings): Implement it.
+	* src/cff/cffgload.h: Updated.
+
+2001-12-12  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype2.m4: Some portability fixes.
+
+2001-12-11  Jouk Jansen  <[email protected]>
+
+	* src/base/descrip.mms (OBJS): Add ftdebug.obj.
+
+2001-12-11  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
+
+2001-12-11  David Turner  <[email protected]>
+
+	* builds/unix/freetype-config.in: Modified the script to prevent
+	passing `-L/usr/lib' to gcc.
+
+	* docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
+
+	* builds/unix/freetype2.m4: New file for checking configure paths.
+	We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
+	didn't modify builds/unix/install.mk yet.
+
+	* INSTALL: Updated the instructions to build shared libraries with
+	Jam.  They were simply wrong.
+
+	* src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
+	slightly improper results for `FT_Cos' and `FT_Sin' (example:
+	FT_Sin(0) == -1!).
+
+2001-12-11  Detlef Würkner  <[email protected]>
+
+	* include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
+	Fixed incorrect argument types.
+
+2001-12-10  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
+	by setting the `face->metrics.max_advance' correctly.
+
+2001-12-07  David Turner  <[email protected]>
+
+	* include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
+	charmap cache.
+	* src/cache/ftcache.c: Updated.
+
+	* src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
+
+2001-12-06  Leonard Rosenthol  <[email protected]>
+
+	Added support for reading .dfont files on Mac OS X.  Also added a
+	new routine which looks up a given font by name in the Mac OS and
+	returns the disk file where it resides.
+
+	* src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
+	(is_dfont): New auxiliary function.
+	(FT_New_Face_From_dfont): New function.
+	(FT_GetFile_From_Mac_Name): New exported function.
+	(FT_New_Face): Updated.
+	* include/freetype/ftmac.h: Updated.
+
+2001-12-06  David Turner  <[email protected]>
+
+	* src/cache/Jamfile, src/cache/rules.mk: Updated.
+
+2001-12-06  Werner Lemberg  <[email protected]>
+
+	* INSTALL: Small update.
+
+2001-12-05  David Turner  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
+	debugging purposes.
+	Comment out use of `origin'.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
+	where outline shifting wasn't correctly undone after bitmap
+	rasterization.  This created problems with certain glyphs (like '"'
+	of certain fonts) and the cache system.
+
+	* src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
+	* src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
+	(ps2_hints_apply): Small fix.
+
+2001-12-05  David Turner  <[email protected]>
+
+	* src/pshinter/pshalgo2.c (psh2_hint_table_init),
+	src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
+	warnings.
+
+	* include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
+	Yet another massive rewrite of the caching sub-system in order to
+	both increase performance and allow simpler cache sub-classing.  As
+	an example, the code for the image and sbit caches is now much
+	simpler.
+
+	I still need to update the documentation in
+	www/freetype2/docs/cache.html to reflect the new design though.
+
+	* include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
+	macro.
+	(FT_CACHE_INTERNAL_CACHE_H): Updated.
+
+2001-12-05  David Krause  <[email protected]>
+
+	* docs/license.txt: s/X Windows/X Window System/.
+
+2001-12-04  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c: Fix definition condition of MEM_Set().
+	* src/smooth/ftgrays.c (M_Y): Change value to 192.
+	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
+	Remove unused variable.
+	* src/cache/ftcimage.c (ftc_image_node_init,
+	ftc_image_node_compare): Remove unused variables.
+	* src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
+	variable.
+	* src/raster/ftraster.c (MEM_Set): Move definition down to avoid
+	compiler warning.
+	* src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
+	avoid compiler warnings.
+	* src/pcf/pcfread.c (tableNames): Use `const'.
+	(pcf_read_TOC): Change counter name to avoid compiler warning.
+	Use `const'.
+	* src/pshinter/pshrec.c (ps_hints_close): Remove redundant
+	declaration.
+	* src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
+	to avoid shadowing.
+	* src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
+	* src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
+	and `T1_Size_Done()'.
+
+2001-11-20  Antoine Leca  <[email protected]>
+
+	* include/freetype/ttnameid.h: Added some new Microsoft language
+	codes and LCIDs as found in MSDN (Passport SDK).  Also added
+	comments about the meaning of bit 57 of the `OS/2' table
+	(TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
+	a character beyond 0xFFFF in this font'.  Thanks to Detlef Würkner
+	<[email protected]> for noticing this.
+
+2001-11-20  David Turner  <[email protected]>
+
+	* src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
+	routine that created nasty alignment artefacts.
+
+	* src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
+
+	* src/smooth/ftgrays.c: De-activated experimental gamma support.
+	Apparently, `optimal' gamma tables depend on the monitor type,
+	resolution and general karma, so it's better to compute them outside
+	of the rasterizer itself.
+	(gray_convert_glyph): Use `volatile' keyword.
+
+2001-10-29  David Turner  <[email protected]>
+
+	Adding experimental `gamma' support.  This produces smoother glyphs
+	at small sizes for very little cost.
+
+	* src/smooth/ftgrays.c (grays_init_gamma): New function.
+	(gray_raster_new): Use it.
+
+	Various fixes to the auto-hinter.  They merely improve the output of
+	sans-serif fonts.  Note that there are still problems with serifed
+	fonts and composites (accented characters).
+
+	* src/autohint/ahglyph.c (ah_outline_load,
+	ah_outline_link_segments): Implement it.
+	Fix typos.
+	(ah_outline_save, ah_outline_compute_segments): Fix typos.
+	* src/autohint/ahhint.c (ah_align_serif_edge): New argument
+	`vertical'.  Implement improvement.
+	(ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
+	Fix typos.
+	(ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
+	typos.
+	(ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
+	* src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
+	* src/autohint/ahtypes.h: Ditto.
+	(AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
+	(making them global as `ah_debug_disable_horz' and
+	`ah_debug_disable_vert').
+	Fix typos.
+
+	* tests/gview.c: Updated the debugging glyph viewer to show the
+	hints generated by the `autohint' module.
+
+2001-10-27  David Turner  <[email protected]>
+
+	* src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
+	considerably lowered the performance of the abstract chunk cache.
+
+2001-10-26  David Turner  <[email protected]>
+
+	* include/freetype/ftcache.h, include/freetype/cache/*.h,
+	src/cache/*.c: Major re-design of the cache sub-system to provide
+	better performance as well as an `Acquire'/`Release' API.  Seems to
+	work well here, but probably needs a bit more testing.
+
+2001-10-26  Leonard Rosenthol  <[email protected]>
+
+	* builds/mac/README: Updated to reflect my taking over the project
+	and that is now being actively maintained.
+
+	* src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
+	<[email protected]> to support loading a face other than the
+	first from a FOND resource.
+	(FT_New_Face_From_FOND): Updated.
+
+2001-10-25  Leonard Rosenthol  <[email protected]>
+
+	* builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
+	OS for latest version (7) of CWPro and for recent changes to the FT
+	source tree.
+
+2001-10-25  David Turner  <[email protected]>
+
+	* include/freetype/config/ftoption.h: Updated comments to explain
+	precisely how to use project-specific macro definitions without
+	modifying this file manually.
+
+	(FT_CONFIG_FORCE_INT64): Define.
+
+	(FT_DEBUG_MEMORY): New macro.
+
+2001-10-24  Tom Kacvinsky  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
+
+2001-10-23  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
+	Improvements to the memory debugger to report more information in
+	case of errors.  Also, some allocations that occurred through REALLOC
+	couldn't be previously caught correctly.
+
+	* src/autohint/ahglyph.c (ah_outline_compute_segments,
+	ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
+	src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
+	liberal uses of memset() by the MEM_Set() macro.
+
+2001-10-23  David Turner  <[email protected]>
+
+	* src/raster/ftraster.c (Update): Removed to be inlined in ...
+	(Sort): Updated.
+
+2001-10-22  David Turner  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+	builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+	builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+	src/base/ftdbgmem.c: Updated the memory debugger and
+	platform-specific implementations of `ftsystem' in order to be able
+	to debug memory allocations on Unix, VMS and Amiga too!
+
+	* src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
+	some bogus warnings.
+
+	* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
+	Modified the debugging memory manager to report the location (source
+	file name + line number) where leaked memory blocks are allocated in
+	the source file.
+
+	* src/base/ftdbgmem.c: New debugging memory manager.  You must
+	define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it.  It
+	will record every memory block allocated and report simple errors
+	like memory leaks and double deletes.
+
+	* src/base/Jamfile: Include ftdbgmem.
+	* src/base/rules.mk: Ditto.
+	* src/base/ftbase.c: Include ftdbgmem.c.
+
+	* include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
+	macro definition.
+
+	* src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
+	base component to use the debugging memory manager when the macro
+	FT_DEBUG_MEMORY is defined.
+
+2001-10-21  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
+	we are working with a CID keyed CFF font.  Otherwise, a variable
+	that was never allocated memory might freed.  This is a correction
+	to the previous patch for freeing subfonts.
+
+2001-10-21  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
+	avoid a memory leak.
+
+2001-10-21  David Turner  <[email protected]>
+
+	* src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
+	src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
+	(in multi-object compilation mode, mainly).
+
+2001-10-20  Tom Kacvinsky  <[email protected]>
+
+	* src/type1/t1load.c (parse_encoding): Add a test to make sure
+	that custom encodings (i.e., neither StandardEncoding nor
+	ExpertEncoding) are not loaded twice when the Type 1 font is
+	synthetic.
+
+	* src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
+	for when loading synthetic fonts to make sure that the font name
+	and subroutines are not loaded twice.  This is to remove a memory
+	leak that occurred because the original memory blocks for these
+	objects were not deallocated when the objects were parsed the
+	second time.
+
+2001-10-19  David Turner  <[email protected]>
+
+	* src/smooth/ftgrays.c, src/pshinter/pshglob.h,
+	src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
+	compiler warnings.
+
+	* src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
+	files to build the PostScript hinter with the `old' build system.
+
+2001-10-19  Jacob Jansen  <[email protected]>
+
+	* descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
+	files.
+
+2001-10-18  David Turner  <[email protected]>
+
+	* src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
+	`glnames.py' script used to generate the `pstables.h' header file.
+	The old one contained a serious bug that made FreeType return
+	incorrect glyph names for certain glyphs.
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
+	pixel size from character size to use rounding.  This is an
+	experiment to see whether this gives values similar to Windows for
+	scaled ascent/descent/etc.
+
+	* src/base/ftcalc.c (FT_Div64by32): Changed the implementation
+	slightly since the original code was mis-compiled on Mac machines
+	using the MPW C compiler.
+
+	* src/base/ftobjs.c (FT_Realloc): When a memory block was grown
+	through FT_Realloc(), the new bytes were not set to 0, which created
+	some strange bugs in the PostScript hinter.
+	(destroy_face): Don't deallocate unconditionally.
+
+	* src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
+	Adding support to new PostScript hinter.
+
+	* include/freetype/internal/psglobal.h,
+	include/freetype/internal/pshints.h,
+	include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
+	src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
+	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
+	src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
+	src/pshinter/pshglob.c, src/pshinter/pshinter.c,
+	src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
+	src/pshinter/pshrec.h: Adding new PostScript hinter module.
+
+	* include/freetype/internal/ftobjs.h,
+	include/freetype/internal/internal.h,
+	include/freetype/internal/psaux.h,
+	include/freetype/internal/t1types.h, src/psaux/psobjs.c,
+	src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
+	src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
+	src/type1/t1objs.h: Updates to use the new PostScript hinter.
+
+	* tests/Jamfile, tests/gview.c: Adding a new glyph hinting
+	viewer/debugger to the source tree.  Note that you will _not_ be
+	able to compile it since it depends on an unavailable graphics
+	library named `Nirvana' to render vector images.
+
+2001-10-17  David Turner  <[email protected]>
+
+
+	* Version 2.0.5 released.
+	=========================
+
+
+	* include/freetype/freetype.h, include/internal/ftobjs.h,
+	src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
+	'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
+	font.  Should work with all formats except pure CFF/CEF fonts (this
+	will be added soon).
+
+	* src/cid/cidriver (cid_get_postscript_name): New function.
+	(CID_Get_Interface): Handle `postscript_name' interface.
+
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
+	(SFNT_Get_Interface): Handle `postscript_name' interface.
+
+	* src/type1/t1driver.c (t1_get_ps_name): New function.
+	(Get_Interface): Handle `postscript_name' interface.
+
+	* README, docs/CHANGES: Updated for 2.0.5 release.
+
+2001-10-08  David Turner  <[email protected]>
+
+	Fixed a bug in `glnames.py' that prevented it from generating
+	correct glyph names tables.  This resulted in the unavailability of
+	certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
+	charmaps, even if these were present in the font (causing problems
+	for Polish users).
+
+	* src/tools/glnames.py (mac_standard_names): Fixed.
+	(t1_standard_strings): Some fixes and renamed to ...
+	(sid_standard_names): This.
+	(t1_expert_encoding): Fixed.
+	(the_adobe_glyph_list): Renamed to ...
+	(adobe_glyph_names): This.
+	(the_adobe_glyphs): Renamed to ...
+	(adobe_glyph_values): This.
+	(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
+	Updated.
+	* src/psnames/pstables.h: Regenerated.
+	* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
+	Fix return value.
+	Use `sid_standard_table' and `ps_names_to_unicode' instead of
+	`t1_standard_glyphs' and `names_to_unicode'.
+	(PS_Macintosh_Name): Use `ps_glyph_names' instead of
+	`standard_glyph_names'.
+	(PS_Standard_Strings): Use `sid_standard_names' instead of
+	`t1_standard_glyphs'.
+
+	* doc/BUGS, doc/TODO: New documents.
+
+2001-10-07  Richard Barber  <[email protected]>
+
+	* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
+	correct LRU behaviour.
+
+2001-10-07  David Turner  <[email protected]>
+
+	setjmp() and longjmp() are now used for rollback (i.e. when memory
+	pool overflow occurs).
+
+	Function names are now all uniformly prefixed with `gray_'.
+
+	* src/smooth/ftgrays.c: Include <setjmp.h>.
+	(ErrRaster_MemoryOverflow): New macro.
+	(TArea): New type to store area values in each cell (using `int' was
+	too small on 16-bit systems).  <limits.h> is included to properly
+	get the needed data type.
+	(TCell, TRaster): Use it.
+	(TRaster): New element `jump_buffer'.
+	(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
+	`outline' from it.
+	(gray_record_cell): Use longjmp().
+	(gray_set_cell): Use gray_record_cell() for error handling.
+	(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
+	(gray_convert_glyph_inner): New function, using setjmp().
+	(gray_convert_glyph): Use it.
+
+2001-10-07  David Turner  <[email protected]>
+
+	Provide a public API to manage multiple size objects for a given
+	FT_Face in the new header file `ftsizes.h'.
+
+	* include/freetype/ftsizes.h: New header file,
+	* include/freetype/internal/ftobjs.h: Use it.
+	Remove declarations of FT_New_Size and FT_Done_Size (moved to
+	ftsizes.h).
+	* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
+	* src/base/ftobjs.c (FT_Activate_Size): New function.
+	* src/cache/ftcmanag.c: Include ftsizes.h.
+	(ftc_manager_init_size, ftc_manager_flush_size): Use
+	FT_Activate_Size.
+
+2001-09-20  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/*: Added port to Amiga with the SAS/C compiler.
+
+2001-09-15  Detlef Würkner  <[email protected]>
+
+	* src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
+
+2001-09-10  Yao Zhang  <[email protected]>
+
+	* src/sfnt/ttcmap.c (code_to_index2): Handle code values with
+	hi-byte == 0 correctly.
+
+2001-09-10  Werner Lemberg  <[email protected]>
+
+	* builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
+
+2001-08-30  Martin Muskens  <[email protected]>
+
+	* src/type1/t1load.c (parse_font_matrix): A new way to compute the
+	units per EM with greater accuracy (important for embedded T1 fonts
+	in PDF documents that were automatically generated from TrueType
+	ones).
+
+	* src/type1/t1load.c (is_alpha): Now supports `+' in font names;
+	this is used in embedded fonts.
+
+	* src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
+	generated a dangling pointer reference.
+
+2001-08-30  Anthony Feik  <[email protected]>
+
+	* src/type1/t1afm.c (T1_Read_AFM): Now correctly sets the flag
+	FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
+
+2001-08-25  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
+	`cmap_rec_fields'.
+
+	* include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
+	Undefine FT_ERR_BASE before defining again.
+
+2001-08-22  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
+
+2001-08-21  Werner Lemberg  <[email protected]>
+
+	* builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
+
+2001-08-21  David Turner  <[email protected]>
+
+	* include/freetype/config/ftoption.h: Changed the default setting
+	for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
+	source compatibility in a few cases.  Updated the comment to explain
+	that too.
+
+2001-08-17  Martin Muskens  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
+
+2001-08-12  Werner Lemberg  <[email protected]>
+
+	Updating to OpenType 1.3.
+
+	* include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
+	TT_CMap6): Adding field `language'.
+	(TT_CMapTable): Removing field `language'.
+	Type of `length' field changed to FT_ULong.
+	Adding fields for cmaps format 8, 10, and 12.
+	(TT_CMapGroup): New auxiliary structure.
+	(TT_CMap8_12, TT_CMap10): New structures.
+	* include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
+	Removed last element of `Reserved' array.
+	* include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
+	TT_NAME_ID_CID_FINDFONT_NAME): New macros.
+
+	* src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
+	field to the new structures.
+	Fixed freeing of arrays in case of unsuccessful loads.
+	Added support for loading format 8, 10, and 12 cmaps.
+	(TT_CharMap_Free): Added support for freeing format 8, 10, and 12
+	cmaps.
+	(code_to_index4): Small improvement.
+	(code_to_index6): Ditto.
+	(code_to_index8_12, code_to_index10): New functions.
+	* src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
+	structure.
+	(TT_Load_CMap): Ditto.
+
+	* src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
+	Unicode).
+
+2001-08-11  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
+
+2001-08-09  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
+	cff_get_glyph_name for consistency.
+
+	(cff_get_glyph_index): Minor documentation change.
+
+	* src/type1/t1driver.c (t1_get_name_index): New function used in
+	Get_Interface as the function returned when the `name_index'
+	function is requested.
+
+	(get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
+
+2001-08-08  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
+	cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
+	and cff_expert_encoding arrays to cffload.h.
+
+	* src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
+	cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
+	and cff_expert_encoding arrays.
+
+	* src/cff/cffdrivr.c (cff_get_name_index): New function, returned
+	when `cff_get_interface' is called with a request for the
+	`name_index' function.
+
+	(cff_get_interface): Modified so that it returns the function
+	`cff_get_name_index' when the `name_index' function is requested.
+
+	* src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
+	return a glyph index for a given glyph name only if the driver
+	supports glyph names.
+
+	* include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
+	New function pointer type definition used in the function
+	FT_Get_Name_Index.
+
+	* include/freetype/freetype.h (FT_Get_Name_Index): Added
+	documentation and prototype.
+
+2001-07-26  Werner Lemberg  <[email protected]>
+
+	* builds/cygwin/*: Removed.  Use the unix stuff instead.
+
+2001-07-26  Jouk Jansen  <[email protected]>
+
+	* builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
+	2001-06-27.
+
+2001-07-17  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
+	`cursor' and `capacity'.
+	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for second
+	parameter.
+	(PS_Table_Add): Use FT_Offset for `new_size'.
+
+	Add support for version 0.5 maxp tables.
+
+	* src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
+	(TT_Load_OS2): Initialize some values.
+
+2001-07-13  Werner Lemberg  <[email protected]>
+
+	* src/base/ftsynth.c: Include ftcalc.h unconditionally.
+
+2001-07-07  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
+	Removed pedantic compiler warnings when the bytecode interpreter is
+	compiled in.
+
+2001-07-03  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
+	unused variable `edges'.
+	(ah_hinter_load): Remove unused variables `old_width' and
+	`new_width'.
+	* src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
+	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
+
+2001-06-28  David Turner  <[email protected]>
+
+	* include/internal/ftstream.h: Modified the definitions
+	of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
+
+2001-06-26  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
+	instead of FT_Int as type for `length' parameter.
+	* include/freetype/internal/psaux.h (PSAux_Interface): Updated.
+
+2001-06-27  Wolfgang Domröse  <[email protected]>
+
+	* src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
+	instead of FT_Int as type for `length' parameter.
+
+
+	* Version 2.0.4 released.
+	=========================
+
+
+2001-06-27  David Turner  <[email protected]>
+
+	* builds/unix/ftconfig.in: Changed the definition of the
+	FT_CALLBACK_DEF macro.
+
+	* include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
+	use of the FT_CALLBACK_DEF macro in order to support 16-bit
+	compilers.
+
+	* builds/unix/ftconfig.in: Changed the definition of the
+	FT_CALLBACK_DEF macro.
+
+	* src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
+	that the kerning table is correctly sorted (some problem fonts don't
+	have a correct kern table).
+
+2001-06-26  Wolfgang Domröse  <[email protected]>
+
+	* include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
+
+2001-06-24  David Turner  <[email protected]>
+
+	* src/base/ftcalc.c (ft_div64by32): Fixed the source to work
+	correctly on 16-bit systems.
+
+2001-06-23  Anthony Fok  <[email protected]>
+
+	* debian/*: Added Debian package build directory for 2.0.4.
+
+2001-06-22  David Turner  <[email protected]>
+
+	* docs/PATENTS: Added patents disclaimer.  This one was missing!
+
+	* docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
+
+2001-06-20  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftconfig.h: Add two more `L's to
+	constants.
+	Add missing semicolons.
+
+	* builds/toplevel.mk: Do similar change as for
+	builds/unix/detect.mk.
+
+	* include/freetype/freetype.h (FT_ENC_TAG): New version to make it
+	easier to redefine.
+	* include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Add cast.
+
+2001-06-19  David Turner  <[email protected]>
+
+	* builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
+	Updated the Visual C++ project (for the 2.0.4 release).
+
+	* builds/unix/detect.mk: Added rule for AIX detection (which uses
+	/usr/sbin/init instead of /sbin/init).
+
+	* include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
+	error macros to simplify handling of new error scheme.
+
+2001-06-19  Werner Lemberg  <[email protected]>
+
+	* include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
+
+2001-06-19  David Turner  <[email protected]>
+
+	Removing _lots_ of compiler warnings when the most pedantic warning
+	levels of Visual C++ and Borland C++ are used.  Too many files to be
+	listed here, but FT2 now compiles without warnings with VC++ and the
+	`/W4' warning level (lint-style).
+
+	* include/freetype/freetype.h (FT_New_Memory_Face): Updated
+	documentation.
+	* include/freetype/fttypes.h (FT_BOOL): New macro.
+	* include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
+	to suppress warning.
+	* include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
+	FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
+	(NEXT_*): Use them.
+	* src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_New_Memory_Face): Add `const' to function declaration.
+
+2001-06-18  Werner Lemberg  <[email protected]>
+
+	Minor cleanups to remove compiler warnings.
+
+	* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
+	`L' for constant.
+	* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
+	* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
+	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
+	* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
+	* src/base/ftobjs.c (FT_Done_Size): Fix return value.
+	(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
+	unused `memory' variable.
+	* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
+	* src/autohint/ahhint.c (ah_hint_edges_3,
+	ah_hinter_align_edge_points): Remove unused `before' and `after'
+	variables.
+	(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
+	(ah_hinter_load): Remove unused `new_advance', `start_contour',
+	and `metrics' variables.
+	* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
+	compiler warning.
+	* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
+	variable.
+	* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
+	`outline' variable.
+	(cff_compute_bias): Use `U' for constant.
+	* src/cid/cidload.c (cid_decrypt): Ditto.
+	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
+	* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
+	variable.
+	* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
+	variable.
+	* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
+	`num_contours' and `ins_offset' variables.
+	(compute_glyph_metrics): Remove unused `Top' and `x_scale'
+	variables.
+	(TT_Load_Glyph): Remove unused `memory' variable.
+	* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
+
+2001-06-18  Werner Lemberg  <[email protected]>
+
+	Make the new error scheme source compatible with older FT versions
+	by introducing another layer.
+
+	* include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
+	macros.
+	(FT_NOERRORDEF): Removed.
+	* include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
+
+2001-06-16  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_ENC_TAG): New macro.
+	(FT_Encoding_): Use it.
+	* include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
+	conditionally.
+
+2001-06-14  David Turner  <[email protected]>
+
+	Modified the TrueType interpreter to let it use the new
+	trigonometric functions provided in `fttrigon.h'.  This gets rid of
+	some old 64-bit computation routines, as well as many warnings when
+	compiling the library with the `long long' 64-bit integer type.
+
+	* include/freetype/config/ftoption.h: Undefine
+	FT_CONFIG_OPTION_OLD_CALCS.
+	* include/freetype/internal/ftcalc.h: Rearrange use of
+	FT_CONFIG_OPTION_OLD_CALCS.
+	* src/base/ftcalc.c: Add declaration of FT_Int64 if
+	FT_CONFIG_OPTION_OLD_CALCS isn't defined.
+	* src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
+	(Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
+	defined.
+	(Current_Ratio, Normalize): Simplify code.
+
+2001-06-11  Mike Owens  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
+	compiler warnings.
+
+2001-06-08  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.in: Renamed to ...
+	* builds/unix/configure.ac: This to make sure that autoconf 2.50 is
+	needed.
+	Run `autoupdate' on it.
+	Increase `version_info' to 7:0:1.
+	* builds/unix/configure: Regenerated.
+
+2001-06-08  David Turner  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
+	corrupted transformed glyphs that were auto-hinted (the transform
+	was applied twice).
+
+	Fixed a bug that returned an invalid linear width for composite
+	TrueType glyphs.
+
+	* include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
+	and `linear_def'.
+	* src/truetype/ttgload.c (load_truetype_glyph,
+	compute_glyph_metrics): Use it.
+
+	* include/fttypes.h (FT_ERROR_BASE): New macro.
+	* src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
+	to make source code work with the new error scheme implemented by
+	Werner.
+	* src/base/ftoutln.c (FT_Outline_Render): Ditto.
+
+2001-06-07  Werner Lemberg  <[email protected]>
+
+	Updating to libtool 1.4.0 and autoconf 2.50.
+
+	* builds/unix/ltconfig: Removed.
+	* builds/unix/ltmain.sh, builds/unix/configure.in,
+	builds/unix/aclocal.m4: Updated.
+	* builds/unix/configure: Regenerated.
+
+2001-06-06  Werner Lemberg  <[email protected]>
+
+	Complete redesign of error codes.  Please check ftmoderr.h for more
+	details.
+
+	* include/freetype/internal/cfferrs.h,
+	include/freetype/internal/tterrors.h,
+	include/freetype/internal/t1errors.h: Removed.  Replaced with files
+	local to the module.  All extra error codes have been moved to
+	`fterrors.h'.
+
+	* src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
+
+	* src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
+	src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
+	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
+	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
+	src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
+	error names for the module it belongs to.
+
+	* include/freetype/ftmoderr.h: New file, defining the module error
+	offsets.  Its structure is similar to `fterrors.h'.
+
+	* include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
+	(FT_ERRORDEF): Redefined to use module error offsets.
+	All internal error codes are now public; unused error codes have
+	been removed, some are new.
+
+	* include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
+	macro.
+	* include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
+
+	All other source files have been updated to use the new error codes;
+	some already existing (internal) error codes local to a module have
+	been renamed to give them the same name as in the base module.
+
+	All make files have been updated to include the local error files.
+
+2001-06-06  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidtokens.h: Replaced with...
+	* src/cid/cidtoken.h: This file for 8+3 consistency.
+
+	* src/raster/ftraster.c: Use macros for header file names.
+
+	* src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
+	Fix length of `Reserved' array.  Note that this isn't the real fix
+	since recent OpenType specs have introduced a `CaretOffset' field
+	instead of the first reserved byte.
+
+2001-05-29  Werner Lemberg  <[email protected]>
+
+	* INSTALL: Minor fixes.
+
+
+	* Version 2.0.3 released.
+	=========================
+
+
+2001-05-29  David Turner  <[email protected]>
+
+	* INSTALL, docs/CHANGES: Updated.
+
+2001-05-25  David Turner  <[email protected]>
+
+	Moved several documents from the top-level to the `docs' directory.
+
+	* src/base/ftcalc.c (FT_DivFix): Small fix to return value.
+
+2001-05-16  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
+	composite loader.  Spotted by Keith Packard.
+	* src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
+	FT_GlyphLoader_Check_Subglyphs): Ditto.
+
+2001-05-14  David Turner  <[email protected]>
+
+	Fixed the incorrect blue zone computations, and improved the
+	composite support.  Note that these changes result in improved
+	rendering, while sometimes introducing their own artefacts.  This is
+	probably the last big change to the autohinter before the
+	introduction of a complete replacement.
+
+	* src/autohint/ahglobal.c (sort_values): Fix loop.
+	* src/autohint/ahglyph.c: Removed some obsolete code.
+	(ah_outline_compute_edges): Modify code to set the ah_edge_round
+	flag.
+	(ah_outline_compute_blue_edges): Add code to compute active blue
+	zones.
+	* src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
+	value.
+
+	* src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
+	created incorrect scale factors!
+	(FT_RoundFix, FT_CeilFix, FT_FloorFix): Minor improvements.
+
+2001-05-12  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
+	* include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
+	__FTTRIGON_H__.
+	Include FT_FREETYPE_H.
+	Beautified; added copyright.
+	* src/base/fttrigon.c: Beautified; added copyright.
+
+2001-05-11  David Turner  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
+	(parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
+	the incorrect EM size computation.
+
+	* include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
+	adding trigonometric functions to the core API (using Cordic
+	algorithms).
+	* src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
+
+	* builds/newline: New file.
+	* builds/top_level.mk, builds/detect.mk: Use it.  This fixes
+	problems with Make on Windows 2000, as well as problems when `make
+	distclean' is invoked on a non-Unix platform when there is no
+	`config.mk' in the current directory.
+
+	* builds/freetype.mk: Fixed a problem with object deletions under
+	Dos/Windows/OS/2 systems.
+
+	Added new directory to hold tools and test programs.
+
+	* docs/docmaker.py, docs/glnames.py: Moved to...
+	* src/tools/docmaker.py, src/tools/glnames.py: This place.
+	* src/tools/cordic.py: New file used to compute arctangent table
+	needed by fttrigon.c.
+	* src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
+
+	* src/tools/docmaker.py: Improved the script to add the current date
+	at the footer of each web page (useful to distinguish between
+	versions).
+
+	* Jamfile: Fixed incorrect HDRMACRO argument.
+
+	* TODO: Removed the cubic arc bbox computation note, since it has been
+	fixed recently.
+	* src/base/ftbbox.c (test_cubic_zero): Renamed to...
+	(test_cubic_extrema): This function.  Use `UL' for unsigned long
+	constants.
+
+	* include/freetype/t1tables.h, include/freetype/config/ftoption.h:
+	Formatting.
+
+2001-05-10  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
+	which happened when trying to open 0-size font files!
+
+2001-05-09  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftcalc.h: Move declaration of
+	FT_SqrtFixed() out of `#ifdef FT_LONG64'.
+
+2001-05-08  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
+	computation.
+
+2001-05-08  David Turner  <[email protected]>
+
+	* docs/docmaker.py: Updated the DocMaker script in order to add
+	command line options (--output,--prefix,--title), fix the erroneous
+	line numbers reported during errors and warnings, and other
+	formatting issues.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
+	fixes related to rounding in 64-bits routines and
+	pseudo-`optimizations'.
+
+2001-04-27  David Turner  <[email protected]>
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
+	normalization algorithm (invalid final bit position, and invalid
+	shift computation).
+
+2001-04-26  Werner Lemberg  <[email protected]>
+
+	* builds/unix/config.guess, builds/unix/config.sub: Updated to
+	latest versions from gnu.org.
+
+	* builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
+
+	* include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
+	unconditionally.
+	* src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
+	Fix compiler warnings.
+	* src/base/ftcalc.c: Fix (potential) compiler warnings.
+
+2001-04-26  David Turner  <[email protected]>
+
+	* src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
+	fixed-point square root computation.  It is now used even with
+	64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
+
+	* src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
+
+2001-04-25  David Turner  <[email protected]>
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
+	direct computations with 16.16 values instead of sub-divisions.  It
+	is now slower, but proves a point :-)
+
+	* src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
+	Fixed the Bézier stack depths.
+
+	* src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
+
+	* builds/beos: Added BeOS-specific files to the old build system
+	(no changes were necessary to support BeOS in the Jamfile though).
+
+2001-04-20  David Turner  <[email protected]>
+
+	* ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
+	types on platforms where Autoconf is not available).  Also removed
+	FTCALC_USE_LONG_LONG and replaced it with
+	FT_CONFIG_OPTION_FORCE_INT64.
+
+	* builds/win32/freetype.dsp: Updated the Visual C++ project file.
+	Doesn't create a DLL yet.
+
+	* cffgload.c: Removed a compilation warning.
+
+2001-04-10  Tom Kacvinsky  <[email protected]>
+
+	* t1load.c (parse_charstrings): Changed code for placing .notdef
+	glyph into slot 0 so that we no longer have a memory access
+	violation.
+
+	* t1load.h: In structure T1_Loader, added swap_table (of type
+	PS_Table) to facilitate placing the .notdef glyph into slot 0.
+
+2001-04-10  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
+
+2001-04-09  Laurence Withers  <[email protected]>
+
+	* builds/dos/detect.mk: Add support for bash.
+
+2001-04-05  Werner Lemberg  <[email protected]>
+
+	* builds/os2/*.mk: These files have been forgotten to update to
+	the structure of similar makefiles.
+	* builds/dos/*.mk: Ditto.
+	* builds/ansi/*.mk: Ditto.
+
+	* builds/win32/win32-def.mk (BUILD): Fix typo.
+
+	* builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
+	This is already used in the link_*.mk files.
+
+2001-04-03  Werner Lemberg  <[email protected]>
+
+	* src/*/Jamfile: Slight changes to make files more cryptic.
+
+2001-04-03  Werner Lemberg  <[email protected]>
+
+	* Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
+	to give files identical structure.
+
+2001-04-02  Werner Lemberg  <[email protected]>
+
+	* CHANGES: Reformatted, minor fixes.
+	* TODO: Updated.
+	* README: Formatting.
+	* include/freetype/freetype.h: Formatting.
+
+	* Jamfile: Fix typo.
+
+	* src/cff/cffparse.c: Move error code #defines to...
+	* include/freetype/internal/cfferrs.h: This file.
+	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
+	`FT_Err_*' with `CFF_Err_*'.
+	* src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
+	* src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
+	* src/sfnt/sfobjs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
+	`TT_Err_*'.
+	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
+	* src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
+	src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
+
+	* include/freetype/internal/cfferrs.h: Add
+	`CFF_Err_Unknown_File_Format'.
+	* include/freetype/internal/t1errors.h: Add
+	`T1_Err_Unknown_File_Format'.
+	* include/freetype/internal/tterrors.h: Add
+	`TT_Err_Unknown_File_Format'.
+
+	* src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
+	references.
+	* src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
+
+	* src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
+	FT_LOCAL_DEF.
+	* src/cid/cidobjs.c (CID_Done_Driver): Ditto.
+	* src/truetype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
+	Ditto.
+	* src/type1/t1objs.c (T1_Done_Driver): Ditto.
+	* src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
+	* src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
+
+2001-04-02  Tom Kacvinsky  <[email protected]>
+
+	* src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
+	dereference.  Submitted by Herbert Duerr <[email protected]>.
+
+2001-03-26  Tom Kacvinsky  <[email protected]>
+
+	* include/freetype/config/ftconfig.h: Changed hexadecimal
+	constants to use suffix U to avoid problems with HP-UX's c89
+	compiler.  Submitted by G.W. Lucas <[email protected]>.
+
+2001-03-24  David Turner  <[email protected]>
+
+	* Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
+	the source tree.  See www.freetype.org/jam/index.html for details.
+
+
+	* Version 2.0.2 released.
+	=========================
+
+
+2001-03-20  Werner Lemberg  <[email protected]>
+
+	* builds/win32/detect.mk: Fix .PHONY target for Intel compiler.
+
+2001-03-20  David Turner  <[email protected]>
+
+	* include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
+	Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
+	FT_SFNT_NAMES_H.
+
+	* docs/docmaker.py: Added generation of INDEX link in table of
+	contents.
+
+	* INSTALL, docs/BUILD: Updated documentation to indicate that the
+	compilation process has changed slightly (no more `src' required in
+	the include path).
+
+	* builds/*/*-def.mk: Changed the objects directory from `obj' to
+	`objs'.
+
+	* include/freetype/config/ftheader.h: Removed obsolete macros like
+	FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
+	were previously defined in <freetype/ftcache.h>.  Added comments to
+	be included in a new API Reference section.
+
+	* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
+	component needs to add its own directory to the include path at
+	compile time.  Modified all `rules.mk' and `descrip.mms'
+	accordingly.
+
+2001-03-20  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.in: Add $ft_version.
+	* builds/unix/freetype-config.in: Use it.
+	* builds/unix/configure: Updated.
+
+2001-03-19  Tom Kacvinsky  <[email protected]>
+
+	* src/type1/t1load.c (parse_font_matrix): Assign the units per em
+	value an unsigned short value, first by shifting right 16 bits,
+	then by casting the results to FT_UShort.
+
+	* src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
+	value an unsigned short value, first by shifting right 16 bits,
+	then by casting the results to FT_UShort.
+
+2001-03-17  David Turner  <[email protected]>
+
+	* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
+	src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
+	compiler warnings in pedantic modes.
+
+	* include/config/ft2build.h, include/config/ftheader.h: The file
+	`ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
+	top-level <ft2build.h>.
+
+	* include/config/ftheader.h: Added new section describing the #include
+	macros.
+
+2001-03-17  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
+	values for the bounding box numbers.
+
+	* src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
+	set `root->ascender' (`root->descender') to the integer part of
+	`root->bbox.yMax' (`root->bbox.yMin', respectively).
+
+2001-03-16  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffdrivr.c (get_cff_glyph_name):  New function.  Used in
+	cff_get_interface to facilitate getting a glyph name for glyph index
+	via FT_Get_Glyph_Name().
+
+	(cff_get_interface): Added support for getting a glyph name via the
+	`glyph_name' module interface.  Uses the new function
+	get_cff_glyph_name().
+	Submitted by Sander van der Wal <[email protected]>.
+
+	* src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
+	FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
+	not defined.  This is to add support for getting a glyph name from a
+	glyph index via FT_Get_Glyph_Name().
+	Submitted by Sander van der Wal <[email protected]>.
+
+	* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
+	deprecated operator `dotsection'.
+	Submitted by Sander van der Wal <[email protected]>.
+
+2001-03-12  Werner Lemberg  <[email protected]>
+
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
+	messages.
+
+	* INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
+
+2001-03-12  Tom Kacvinsky  <[email protected]>
+
+	* include/freetype/internal/psaux.h:  Changed the lenIV member of
+	the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
+
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings):  Adjust
+	for lenIV seed bytes at the start of a decrypted subroutine.
+
+	* src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
+	if lenIV >= 0.
+
+	* src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
+	if lenIV >= 0.
+
+2001-03-11  Werner Lemberg  <[email protected]>
+
+	* TODO: Updated.
+
+	* src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
+	avoid compiler warnings.
+
+2001-03-10  Tom Kacvinsky  <[email protected]>
+
+	* TODO: New file.
+
+	* include/freetype/freetype.h: Added prototypes and notes for
+	three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
+	* src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
+	implementation code.
+
+	* src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
+	and if that is not available, default to 1000 units per EM.  Changed
+	assignment code for ascender and descender values.
+	* src/cid/cidload.c (parse_font_matrix): Added units_per_EM
+	processing.
+	(parse_font_bbox): Changed to use FT_Fixed number handling.
+
+	* src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
+	for ascender, descender, and max_advance_width.
+	* src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
+	number handling.
+
+2001-03-10  Henrik Grubbström  <[email protected]>
+
+	* src/*/*.c: Added many casts to make code more 64bit-safe.
+
+2001-03-07  Werner Lemberg  <[email protected]>
+
+	* INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
+
+2001-03-07  Tom Kacvinsky  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
+	until parse_font_bbox is changed before we use logical shift rights
+	in the assignments of `root->ascender', `root->descender', and
+	`root->max_advance_width'.
+
+	(T1_Done_Face): Free `char_name' table to avoid a memory leak.
+	Submitted by Sander van der Wal <[email protected]>.
+
+2001-03-05  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
+	the Type 2 glyph charstring (used by conversion programs).
+	Submitted by Ha Shao <[email protected]>.
+
+2001-03-04  Antoine Leca  <[email protected]>
+
+	* include/freetype/ttnameid.h: Correct a stupid typo which prevented
+	correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
+
+2001-03-04  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahtypes.h (AH_Hinter): Add elements
+	`disable_horz_edges', `disable_vert_edges'.
+	* src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
+	them (and remove static variables with the same names).
+	* src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
+	* docs/glnames.py: Updated to latest pstables.h changes.
+
+	* builds/unix/detect.mk: Add test for Hurd.
+	* builds/hurd/detect.mk: Removed.
+
+2001-03-04  Sander van der Wal  <[email protected]>
+
+	* src/psnames/pstables.h: Add more `const'.
+	* src/pcf/pcfutil.c: Ditto.
+
+2001-03-04  Werner Lemberg  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
+	(FT_Glyph_Done -> FT_Done_Glyph).
+
+2001-03-01  Antoine Leca  <[email protected]>
+
+	* include/freetype/ttnameid.h: Added some new Microsoft language
+	codes and LCIDs as found in Office Xp.
+
+2001-02-28  David Turner  <[email protected]>
+
+	* builds/hurd/detect.mk: New file.  Added support to detect the GNU
+	Hurd operating system as Unix-like.  Fix submitted by Anthony Fok
+	<[email protected]>.
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
+	the Type 1 glyph charstring (used by conversion programs).
+	Submitted by Ha Shao <[email protected]>.
+
+2001-02-22  David Turner  <[email protected]>
+
+	* src/base/ftgrays.c (grays_sweep): The function didn't exit
+	immediately if `num_cells' was 0 as it should.  Thanks to Boris for
+	finding this out.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
+	bitmap rendering fails (thanks to Graham Asher).
+
+2001-02-13  Werner Lemberg  <[email protected]>
+
+	* docs/docmaker.py (DocSection::add_element): Use
+	`self.print_error()'.
+
+	* builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
+
+2001-02-13  David Turner  <[email protected]>
+
+	* docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
+	script to support chapters and section block ordering.  Updated the
+	public header files accordingly.
+
+	* src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
+	were not correctly copied.
+
+2001-02-08  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_font_matrix): Removed an
+	unnecessary fprintf( stderr, ... ).
+
+2001-02-07  Tom Kacvinsky  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Init_Face): Added code to get the
+	units_per_EM from the value assigned in parse_font_matrix, if
+	available.  Default to 1000 if not available.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
+	the units_per_EM from the FontMatrix.
+
+	(cff_parse_fixed_thousand): New function.  Gets a real number from
+	the CFF font, but multiplies by 1000 (this is to avoid rounding
+	errors when placing this real number into a 16.16 fixed number).
+
+	(cff_parse_real): Added code so that the integer part is moved
+	into the high sixteen bits of the 16.16 fixed number.
+
+	* src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
+	per EM from the CFF dictionary, if available.
+
+	* include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
+	added a units_per_em member to facilitate passing of units_per_em
+	from function cff_parse_font_matrix.
+
+	* src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
+	character.  This is so that font names with `-' are fully parsed,
+	etc...
+
+2001-02-02  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (shift_elements): Remove if clause (which is
+	obsolete now).
+
+	(reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
+	+ MEM_Copy() to avoid a memory bug.
+
+2001-02-01  David Turner  <[email protected]>
+
+	* docs/docmaker.py: Improved the index sorting routine to place
+	capital letters before small ones.  Added the `<order>' marker to
+	section blocks in order to give the order of blocks.
+
+2001-01-30  Antoine Leca  <[email protected]>
+
+	* include/freetype/ttnameid.h: Latest updates to Microsoft language
+	ID codes.
+
+2001-01-24  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/t1load.c (parse_font_matrix): Added heuristic to get
+	units_per_EM from the font matrix.
+
+	(parse_dict): Deleted test to see whether the FontInfo keyword has
+	been seen.  Deletion of this test allows fonts without FontInfo
+	dictionaries to be parsed by the Type 1 driver.
+
+	(T1_Open_Face): Deleted empty subroutines array test to make sure
+	fonts with no subroutines still are parsed.
+
+2001-01-17  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcfread.c (pcf_get_properties, pcf_get_metrics,
+	pcf_get_bitmaps): Fix compiler errors.
+
+2001-01-11  David Turner  <[email protected]>
+
+	* src/pcf/pcfread.c: Removed some compilation warnings related
+	to comparison of signed vs. unsigned integers.
+
+	* include/freetype/internal/ftdebug.h: Changed the debug trace
+	constants from trace_t2xxxx to trace_cffxxxx to be able to compile
+	the CFF driver in debug mode.
+
+2001-01-11  Matthew Crosby  <[email protected]>
+
+	* builds/unix/freetype-config.in: Fix problems with separate
+	--prefix and --exec-prefix.
+
+2001-01-11  David Turner  <[email protected]>
+
+	* docs/docmaker.py: Added cross-references generation as well as
+	more robust handling of pathname wildcard matching.
+
+2001-01-10  Werner Lemberg  <[email protected]>
+
+	* docs/docmaker.py: Minor improvements to reduce unwanted spaces
+	and empty lines in output.
+
+2001-01-09  David Turner  <[email protected]>
+
+	* docs/docmaker.py: Improved script to generate table of contents
+	and index pages.  It also supports wildcards on non Unix systems.
+
+	* include/freetype/*.h, include/freetype/cache/*.h: Updated comments
+	to include section definitions/delimitations for the API Reference
+	generator.
+
+	* include/freetype/freetype.h: Moved declaration of
+	`FT_Generic_Finalizer' and the `FT_Generic' structure to...
+	* include/freetype/fttypes.h: here.
+
+2001-01-04  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ttnameid.h: Updated Unicode code range comments.
+
+2001-01-03  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
+
+	* include/freetype/internal/internal.h: Changed to use cfftypes.h
+	(cfferrs.h) instead of t2types.h (t2errors.h, respectively).
+
+	* include/freetype/internal/cfftypes.h: Merged in changes from
+	t2types.h and made this the canonical `types' header for the CFF
+	driver.
+
+	* include/freetype/internal/t2types.h: This file was merged with
+	cfftypes.h and is no longer necessary.
+
+	* include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
+
+	* src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
+	src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
+	src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
+	cffgload.{c,h} instead of t2gload.{c,h}.  All occurrences of t2_
+	(T2_) were replaced with cff_ (CFF_, respectively).
+
+	* src/cff/t2gload.h: Renamed cffgload.h.
+
+	* src/cff/t2gload.c: Renamed cffgload.c
+
+2000-01-02  Jouk Jansen  <[email protected]>
+
+	* builds/vms: Support files for VMS architecture added.
+	* descrip.mms, src/*/descrip.mms: VMS makefiles added.
+	* README.VMS: New file.
+
+2000-01-01  Werner Lemberg  <[email protected]>
+
+	* LICENSE.TXT: Added info about PCF driver license.
+
+2001-01-01  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcf/*: New driver module for PCF font format (used in
+	X Window System).
+	* include/freetype/internal/ftdebug.h (FT_Trace): Added values for
+	PCF driver.
+	* include/freetype/internal/pcftypes.h: New file.
+	* include/freetype/config/ftmodule.h: Added PCF driver module.
+
+2001-01-01  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
+
+2000-12-31  Werner Lemberg  <[email protected]>
+
+	* builds/modules.mk (clean_module_list): Fixed deletion of module
+	file in case `make make_module_list' is called before `make setup'.
+
+2000-12-30  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
+	(CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
+	definition.
+
+2000-12-30  Tom Kacvinsky  <[email protected]>
+
+	* include/freetype/internal/t2types.h,
+	include/freetype/internal/cfftypes.h: Changed the structures for
+	CFF_Charset and CFF_Encoding for the new implementations of the
+	charset and encoding parsers in the CFF driver.
+
+	* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
+	t2_operator_seac): Added these functions for use in implementing the
+	seac emulation provided by the Type 2 endchar operator.
+	(T2_Parse_CharStrings): Added seac emulation for the endchar
+	operator.
+
+	* src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
+	CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
+	charset/encoding tables, and free the memory used by them when the
+	CFF driver is finished with them.  Added tables
+
+	    cff_isoadobe_charset
+	    cff_expert_charset
+	    cff_expertsubset_charset
+	    cff_standard_encoding
+	    cff_expert_encoding
+
+	so that the encoding/charset parser can handle predefined encodings and
+	charsets.
+
+2000-12-24  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
+	transform is applied.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
+	the font matrix numbers are scaled by 1/(matrix->yy).  Also, the
+	offset vector now contains integer values instead of 16.16 fixed
+	numbers.
+
+2000-12-22  Tom Kacvinsky  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph):
+	Removed unnecessary comments and commented-out code.
+
+2000-12-21  David Turner  <[email protected]>
+
+	* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
+	we'll work on supporting CID AFM files later I guess :-)
+
+2000-12-21  Tom Kacvinsky  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
+	Changed so that fonts with a non-standard FontMatrix render
+	correctly.  Previously, the first glyph rendered from such a
+	font did not have the transformation matrix applied.
+
+2000-12-17  Werner Lemberg  <[email protected]>
+
+	* *.mk: Added lots of `.PHONY' targets.
+
+2000-12-17  Karsten Fleischer  <[email protected]>
+
+	* *.mk: Implemented `platform' target to disable auto-detection.
+
+2000-12-14  Werner Lemberg  <[email protected]>
+
+	* docs/design/modules.html: Removed.  Covered by design-*.html.
+
+	* INSTALL: Added info about makepp.
+
+2000-12-14  David Turner  <[email protected]>
+
+	Added support for clipped direct rendering in the smooth renderer.
+	This should not break binary compatibility of existing applications.
+
+	* include/freetype/fttypes.h, include/freetype/ftimage.h: Move
+	definition of the FT_BBox structure from the former to the latter.
+	* include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
+	FT_Raster_Flag enumeration.
+	Add `clip_box' element to FT_Raster_Params structure.
+	* src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
+
+	* INSTALL: Updated installation instructions on Win32, listing the
+	new `make setup list' target used to list supported
+	compilers/targets.
+
+	* src/raster/ftraster.c (ft_black_render): Test for unsupported
+	direct rendering before testing arguments.
+
+2000-12-13  David Turner  <[email protected]>
+
+	* include/freetype/config/ft2build.h,
+	include/freetype/internal/internal.h: Fixed header inclusion macros
+	to use direct definitions.  This is the only way to do these things
+	in a portable way :-(  The rest of the code should follow shortly
+	though everything compiles now.
+
+	* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
+
+	* builds/win32/detect.mk: Added support for the Intel C/C++
+	compiler, as well as _preliminary_ (read: doesn't work!) support for
+	Watcom.  Also added a new setup target.  Type `make setup list' for
+	a list of supported command-line compilers on Win32.
+
+	* src/base/ftdebug.c: Added dummy symbol to avoid empty file if
+	conditionals are off.
+
+2000-12-13  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ftsystem.c: Fixed typos.  Fixed inclusion of wrong
+	ftconfig.h file.
+
+2000-12-12  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
+	Removed.  ANSI C doesn't (explicitly) allow macro expansion in
+	arguments using `##'.
+	(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
+	names directly.  Make them configurable.  Use `##' to strip leading
+	and trailing spaces from arguments.
+
+	* builds/unix/ft2unix.h: Adapted.
+
+	* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
+	ft_close_stream): Use FT_CALLBACK_DEF.
+
+	* builds/unix/ftsystem.c: Use new header scheme.
+	(FT_Done_Memory): Use free() from FT_Memory structure.
+
+	* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
+
+2000-12-11  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
+	FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
+	FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
+
+2000-12-09  Werner Lemberg  <[email protected]>
+
+	* builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
+
+2000-12-08  Werner Lemberg  <[email protected]>
+
+	* */*.h: Changed body inclusion macro names to start and end with
+	`__' (those which haven't converted yet).  Fixed minor conversion
+	issues.
+
+	* src/winfonts/winfnt.c: Updated to new header inclusion scheme.
+
+	* src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
+
+2000-12-07  David Turner  <[email protected]>
+
+	* */*.[ch]: Changed source files to adhere to the new
+	header inclusion scheme.  Not completely tested but works for now
+	here.
+
+	* src/cff/t2driver.c: Renamed and updated to...
+	* src/cff/cffdrivr.c: New file.
+	* src/cff/t2driver.h: Renamed and updated to...
+	* src/cff/cffdrivr.h: New file.
+	* src/cff/t2load.c: Renamed and updated to...
+	* src/cff/cffload.c: New file.
+	* src/cff/t2load.h: Renamed and updated to...
+	* src/cff/cffload.h: New file.
+	* src/cff/t2objs.c: Renamed and updated to...
+	* src/cff/cffobjs.c: New file.
+	* src/cff/t2objs.h: Renamed and updated to...
+	* src/cff/cffobjs.h: New file.
+	* src/cff/t2parse.c: Renamed and updated to...
+	* src/cff/cffparse.c: New file.
+	* src/cff/t2parse.h: Renamed and updated to...
+	* src/cff/cffparse.h: New file.
+	* src/cff/t2tokens.h: Renamed and updated to...
+	* src/cff/cfftoken.h: New file.
+
+	* src/cff/cff.c, src/cff/rules.mk: Updated.
+
+2000-12-06  David Turner  <[email protected]>
+
+	* src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
+
+2000-12-06  Werner Lemberg  <[email protected]>
+
+	* builds/module.mk: Replaced `xxx #' with `xxx$(space).
+	* builds/os2/detect.mk, builds/win32/detect.mk: Moved comment to
+	avoid trailing spaces in variable.
+	* builds/freetype.mk: Use $(D) instead of $D to make statement more
+	readable.
+
+	* docs/docmaker.py: Formatting.
+
+2000-12-05  David Turner  <[email protected]>
+
+	* src/psaux/psauxmod.c: Fixed a broken inclusion of component
+	header files (an FT_FLAT_COMPILE test was missing).
+
+	* src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
+	an occasional crash when the function was called (due to a dangling
+	pointer).
+
+	* src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
+	The ANSI `free()' function was called instead of `memory->free()'.
+
+	* docs/docmaker.py: Added section filtering, multi-page generation
+	(index page generation is still missing though).
+
+2000-12-04  David Turner  <[email protected]>
+
+	* builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
+	is now installed as <ft2build.h> for Unix systems.  Note that we
+	still use the `freetype2/freetype' installation path for now.
+
+	* */*.[ch]: Now using <ft2build.h> as the default build and setup
+	configuration file in all public headers.  Internal source files
+	still need some changes though.
+
+	* builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
+	directory to hold all development options for both the Unix and
+	Win32 developer builds.
+
+	* builds/win32/detect.mk, builds/win32/w32-bccd.mk,
+	builds/win32/w32-dev.mk: Changed the developer build targets to
+	`devel-gcc' and `devel-bcc' in order to be able to develop with the
+	Borland C++ compiler.
+
+2000-12-01  David Turner  <[email protected]>
+
+
+	* Version 2.0.1 released.
+	=========================
+
+
+	* builds/unix/configure.in, builds/unix/configure,
+	builds/cygwin/configure.in, builds/cygwin/configure: Setting
+	`version_info' to 6:1:0 for the 2.0.1 release.
+
+	* CHANGES: Added a summary of changes between 2.0.1 and 2.0.
+
+	* builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
+	to allow compilation under Unix with the Unix-specific config
+	files.
+
+2000-12-01  Werner Lemberg  <[email protected]>
+
+	* INSTALL: Revised.
+	* builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
+	builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
+	builds/win32/w32-bccd.mk: Revised.
+	* include/freetype/config/ftbuild.h,
+	include/freetype/internal/internal.h: Revised.
+	* include/freetype/ftimage.h: Updated to new header inclusion scheme.
+
+2000-11-30  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (.PHONY): Adding `distclean'.
+	* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
+	`setup'.
+
+2000-11-30  David Turner  <[email protected]>
+
+	* INSTALL: Slightly updated the quick starter documentation to
+	include IDE compilation, prevent against BSD Make, and specify `make
+	setup' instead of a single `make' for build configuration.
+
+	* include/config/ftbuild.h, include/internal/internal.h: Added new
+	configuration files used to determine the location of all public,
+	configuration, and internal header files for FreeType 2.  Modified
+	all headers under `include/freetype' to reflect this change.  Note
+	that we still need to change the library source files themselves
+	though.
+
+	* builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
+	builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
+	builds/win32/detect.mk: Added new files to support compilation with
+	the free Borland C++ command-line compiler.  Modified the detection
+	rules to recognize the new `bcc32' target in `make setup bcc32'.
+
+	* src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
+	src/truetype/ttobjs.c, src/truetype/ttgload.c,
+	src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
+	didn't really like.  Basically, this compiler complains when FT_UInt
+	is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
+	in these cases).
+
+2000-11-30  Tom Kacvinsky  <[email protected]>
+
+	* t2objs.c (T2_Init_Face): Added calculation of `face->height' for
+	pure CFF fonts.
+
+	* t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
+
+2000-11-29  David Turner  <[email protected]>
+
+	* src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
+	bug in the formula used to compute the conic Bézier extrema
+	of non-monotonous arcs.
+
+2000-11-29  Werner Lemberg  <[email protected]>
+
+	* src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
+	(FT_Set_Renderer): Use FT_EXPORT_DEF.
+	* src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
+	src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
+	FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
+	FTC_Manager_Register_Cache), src/cache/ftcsbits.c
+	(FTC_SBit_Cache_Lookup): Ditto.
+
+	* src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
+	src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
+
+2000-11-29  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
+	conditionally.
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
+	`size->strike_index' only conditionally.
+
+	* src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
+	conditionally.
+
+	* src/winfonts/winfnt.h: Move all type definitions to...
+	* src/include/freetype/internal/fnttypes.h: New file.
+	* src/winfonts/winfnt.c: Use it.
+
+2000-11-29  ??? ???  <[email protected]>
+
+	* include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
+	with a direct solution (which also satisfies picky compilers).
+
+2000-11-28  YAMANO-UCHI Hidetoshi  <[email protected]>
+
+	* src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
+	disabled interpreter also.
+
+	* src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
+	parentheses.
+
+2000-11-26  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
+	width setting code to take into account even/odd argument counts
+	and glyph width operand before endchar/hmoveto/vmoveto.
+
+2000-11-26  Werner Lemberg  <[email protected]>
+
+	* builds/ansi/ansi.mk: Fix inclusion order of files.
+
+2000-11-26  Keith Packard  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Init_Face): Compute style flags.
+
+2000-11-26  Werner Lemberg  <[email protected]>
+
+	* builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
+	conditional.
+
+2000-11-23  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
+	function from PSAux module.
+
+	* src/type1/t1parse.c (T1_Done_Parse): Renamed to...
+	(T1_Finalize_Parser): New function (to avoid name clash with a
+	function in the PSAux module).
+	(T1_Decrypt): Removed since it is duplicated in the PSAux module.
+	(T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
+	function from PSAux module.
+
+	* src/type1/t1parse.h: Adapted.
+
+2000-11-22  Tom Kacvinsky  <[email protected]>
+
+	* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
+	`root->num_faces' to `cff->num_faces' and set `units_per_EM'
+	to 1000.
+
+	* src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
+	loop.
+
+	* src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
+	sid that was off by one.
+
+2000-11-16  David Turner  <[email protected]>
+
+	* src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
+	auto-hinting of synthetic Type 1 fonts.
+
+	* src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
+	Added auto-hinting support of synthetic Type 1 fonts.
+
+2000-11-12  Tom Kacvinsky  <[email protected]>
+
+	* src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
+	tracing output.
+
+	* src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
+	`has-outline' to true only if the font has a `glyf' or `CFF ' table.
+
+2000-11-11  Werner Lemberg  <[email protected]>
+
+	* builds/win32/visualc/freetype.dsp: Fix raster1->raster and
+	type1z->type1.
+
+2000-11-11  Tom Kacvinsky  <[email protected]>
+
+	* builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
+	Added a --libtool option.  When freetype-config --libtool is
+	invoked, the absolute path to the libtool convenience library
+	is returned.
+
+2000-11-11  Werner Lemberg  <[email protected]>
+
+	* builds/cygwin/cygwin-def.in: Same fix as previous.
+
+2000-11-10  Tom Kacvinsky  <[email protected]>
+
+	* builds/unix/unix-def.in: Add
+
+	    INSTALL_PROGRAM := @INSTALL_PROGRAM@
+	    INSTALL_SCRIPT  := @INSTALL_SCRIPT@
+
+	so that installation of freetype-config does not fail.
+
+2000-11-10  Werner Lemberg  <[email protected]>
+
+	* builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
+	Move test down for empty --exec-prefix.
+	Fix --version.
+
+	* builds/cygwin/install.mk, builds/unix/install.mk: Use
+	$(INSTALL_SCRIPT) for installation of freetype-config.
+
+	* builds/cygwin/install.mk: Fix clean target names.
+
+2000-11-09  David Turner  <[email protected]>
+
+
+	* Version 2.0 released.
+	=======================
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2000-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.21
@@ -1,0 +1,9438 @@
+2005-06-08  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.1.10 released.
+	==========================
+
+
+	* src/pcf/readme: Renamed to...
+	* src/pcf/README: This.
+
+2005-06-07  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/*: Added copyright notes, reworked some comments.
+
+2005-06-05  Werner Lemberg  <[email protected]>
+
+	* Add copyright notices to all files which don't have one.
+
+	* docs/license.txt: Renamed to...
+	* docs/LICENSE.TXT: This.
+	* docs/FTL.txt: Renamed to...
+	* docs/FTL.TXT: This.
+	* docs/GPL.txt: Renamed to...
+	* docs/GPL.TXT: This.
+
+	* docs/PATENTS: Slightly reworded.  Suggested by Sylvain Beucler
+	<[email protected]>.
+
+2005-06-04  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
+	FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
+	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+	FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
+	`const' to stay compatible with FreeType 2.1.9.
+
+2005-06-01  Adam D. Moss  <[email protected]>
+
+	* src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
+	2004-07-11; this gives much better results under normal
+	circumstances.
+
+2005-05-30  Chia I Wu  <[email protected]>
+
+	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
+	documentation improvements.
+
+	* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
+	of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
+	If xstr is larger than 8 and bitmap is of pixel_mode
+	FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
+
+2005-05-29  Chia I Wu  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
+	of mode FT_PIXEL_MODE_GRAY.  Also add support for mode
+	FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
+	(ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
+	should have ppb (pixel per byte) 1.
+	Zero the padding when there's no need to allocate memory.
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
+	too.
+	More suited emboldening strength.
+
+2005-05-28  Chia I Wu  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
+	Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
+	Improve speed for FT_PIXEL_MODE_GRAY.
+	(ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
+	FT_PIXEL_MODE_LCD_V.
+
+2005-05-27  Chia I Wu  <[email protected]>
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
+
+	* src/base/ftobjs.c (ft_cmap_done_internal): New function.
+	(FT_CMap_Done): Remove cmap from cmap list.
+	(destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
+	ft_cmap_done_internal.
+
+2005-05-26  Werner Lemberg  <[email protected]>
+
+	* docs/GPL.txt: Update postal address of FSF.
+
+2005-05-26  Chia I Wu  <[email protected]>
+
+	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
+	documentation.
+
+	* src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
+	(FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
+	Always modify the metrics.
+
+2005-05-24  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2005-05-24  Chia I Wu  <[email protected]>
+
+	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
+
+	* include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
+	function.
+	(FT_Bitmap_Embolden): New function.
+
+	* src/base/ftoutln.c (FT_Outline_Embolden): New function.
+
+	* src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
+	FT_TRIGONOMETRY_H but FT_BITMAP_H.
+	(FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
+	FT_Bitmap_Embolden.
+
+2005-05-24  Werner Lemberg  <[email protected]>
+
+	* configure: Always remove config.mk, builds/unix/unix-def.mk, and
+	builds/unix/unix-cc.mk.  This fixes repeated calls of the script.
+	Reported by Nelson Beebe and Behdad Esfahbod.
+
+	* README.CVS: Mention file permissions.
+
+2005-05-23  Werner Lemberg  <[email protected]>
+
+	* builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
+	(CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
+	-fno-strict-aliasing.
+
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
+	it is currently loaded from ttsbit.c.
+
+2005-05-23  Behdad Esfahbod  <[email protected]>
+
+	Say you have `(Foo*)x' and want to assign, pass, or return it as
+	`(Bar*)'.  If you simply say `x' or `(Bar*)x', then the C compiler
+	would warn you that type casting incompatible pointer types breaks
+	strict-aliasing.  The solution is to cast to `(void*)' instead which
+	is the generic pointer type, so the compiler knows that it should
+	make no strict-aliasing assumption on `x'.  But the problem with
+	`(void*)x' is that seems like in C++, unlike C, `void*' is not a
+	generic pointer type and assigning `void*' to `Bar*' without a cast
+	causes an error.  The solution is to cast to `Bar*' too, with
+	`(Bar*)(void*)x' as the result -- this is what the patch does.
+
+	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
+	include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
+	cast on lvalue, use a temporary pointer instead.
+	Cast temporarily to (void*) to not break strict aliasing.
+
+	* include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
+	FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
+	src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
+	to not break strict aliasing.
+
+	* src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
+
+	* builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
+
+2005-05-23  David Turner  <[email protected]>
+
+	Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
+	in low-memory conditions).
+
+	* include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
+	FTC_CACHE_TRYLOOP_END): New macros.
+
+	* src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
+	(ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACHE_TRYLOOP_END.
+
+2005-05-23  Werner Lemberg  <[email protected]>
+
+	* src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
+	(BASE_EXT_SRC): Here.
+
+2005-05-22  Werner Lemberg  <[email protected]>
+
+	* src/base/ftrfork.c (raccess_guess_apple_generic): Mark
+	`version_number' and `entry_length' as unused.
+	(raccess_guess_linux_double_from_file_name): Remove `memory'.
+	(raccess_make_file_name): Mark `error' as unused.
+
+	* src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
+
+	* src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
+	ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
+
+	* src/base/rules.mk (BASE_SRC): Add ftsynth.c.
+
+2005-05-21  David Turner  <[email protected]>
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
+	produced unpleasant artefacts when trying to embolden very sharp
+	corners.
+
+2005-05-20  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2005-05-20  Chia I Wu  <[email protected]>
+
+	* src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
+	but FT_BITMAP_H.
+	(FT_Bitmap_Copy): New function (from ftglyph.c).
+
+	* include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
+	definition.
+
+	* src/base/ftglyph.c: Include FT_BITMAP_H.
+	(ft_bitmap_copy): Move to ftbitmap.c.
+	(ft_bitmap_glyph_init): Remove `memory' variable.
+	Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
+	(ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
+	(ft_bitmap_glyph_done): Use FT_Bitmap_Done.
+	(ft_outline_glyph_init): Use FT_Outline_Copy.
+
+	* src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
+	(FT_Outline_Done_Internal): Check for valid `memory' pointer.
+	(FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
+	FT_Outline_Transform): Check for valid `outline' pointer.
+
+	* src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
+	face->glyph, otherwise a new second glyph slot cannot be created.
+	(FT_Done_GlyphSlot): Fix memory leak.
+	(FT_Open_Face): Updated -- face->glyph is already managed by
+	FT_New_GlyphSlot.
+
+	* src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
+
+2005-05-20  Kirill Smelkov  <[email protected]>
+
+	* include/freetype/ftimage.h (FT_Raster_Params),
+	include/freetype/ftoutln.h (FT_Outline_Translate,
+	FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
+	FT_Outline_Transform): Decorate parameters with `const' where
+	appropriate.
+	Update all callers.
+
+	* src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
+	(gray_raster_reset): Remove `const' from `pool_base' argument.
+
+2005-05-18  Kirill Smelkov  <[email protected]>
+
+	* src/raster/ftmisc.h: New file.  Only needed if ftraster.c is
+	compiled as stand-alone.
+
+	* src/raster/ftraster.c: Add comment how to compile as stand-alone.
+	s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
+	s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
+	[_STANDALONE_]: Include ftimage.h and ftmisc.h.
+	(FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
+	conditionally.
+	(Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
+	Raster_Err_Unsupported).
+	(ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
+	(ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
+	Use `ras', not `raster'.
+	(ft_black_done): Use FT_UNUSED_RASTER.
+	(Horizontal_Sweep_Init, Horizontal_Sweep_Step,
+	Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
+
+2005-05-18  Werner Lemberg  <[email protected]>
+
+	* docs/announce: Start updating.
+
+	* docs/CHANGES: Updated.
+
+2005-05-16  Vitaliy Pasternak  <[email protected]>
+
+	* builds/win32/visualc/freetype.vcproj: Updated.
+	Exclude debug info for `Release' versions to reduce library size.
+
+2005-05-16  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
+	is, ignore `aface' completely if face_index < 0.  Reported by David
+	Osborn <[email protected]>.
+
+2005-05-16  Kirill Smelkov  <[email protected]>
+
+	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+	FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
+	FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
+	gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
+	gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
+	with `const' where appropriate.
+
+2005-05-11  Kirill Smelkov  <[email protected]>
+
+	* include/freetype/ftimage.h (FT_Raster_RenderFunc),
+	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+	FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
+	src/base/ftglyph.c (ft_outline_glyph_transform),
+	src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
+	src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
+	src/smooth/ftsmooth.c (ft_smooth_transform,
+	ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
+	ft_smooth_render_lcd_v): Decorate parameters with `const' where
+	appropriate.
+
+	* src/raster/ftraster.c (RASTER_RENDER_POOL): Removed.  Obsolete.
+	(ft_black_render): Decorate parameters with `const' where
+	appropriate.
+
+2005-05-11  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
+	FT_PEEK_USHORT) which caused crashes.  Reported by Ismail Donmez
+	<[email protected]>.
+
+2005-05-08  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
+	[__cplusplus]: Fix typo.
+
+2005-05-07  Werner Lemberg  <[email protected]>
+
+	Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
+	Blaskey <[email protected]>).
+
+	* src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
+	* src/sfnt/ttcmap.c: Use SFNT_Err_Ok where appropriate.
+
+	(tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
+	tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
+	`FT_Error' as return type.
+	(tt_cmap4_validate): Use `FT_Error' as return type.
+	Return error code for unsorted cmap.
+	(tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
+	cmaps.
+	(tt_face_build_cmaps): Set `unsorted' variable in cmap.
+
+2005-05-07  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_get_location): Fix typo.
+
+2005-05-06  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Set ppem value in top
+	dictionary for SFNT-based CFF.
+
+2005-05-05  Werner Lemberg  <[email protected]>
+
+	Handle malformed `loca' table entries.
+
+	* docs/TODO: Add some bugs which should be fixed.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
+	element.
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
+	table.
+	(tt_face_get_location): Fix computation of `asize' for malformed
+	`loca' entries.
+
+2005-05-01  David Turner  <[email protected]>
+
+	* Jamfile: Remove `otvalid' from the list of compiled modules.
+
+	* include/freetype/internal/ftserv.h: Add compiler pragmas to get
+	rid of annoying warnings with Visual C++ compiler in maximum warning
+	mode.
+
+	* src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
+	src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
+	src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
+	src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
+	src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
+
+2005-04-28  Werner Lemberg  <[email protected]>
+
+	* docs/TODO: Updated.
+
+2005-04-24  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/otvcommn.c
+	(otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
+
+2005-04-16  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Set default upem value in top
+	font dict also.
+	Handle font matrix settings in subfonts.
+
+	* src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
+	for CID-keyed fonts with subfonts.
+
+	* docs/formats.txt: Updated.
+
+2005-04-14  Kirill Smelkov  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Vector_Transform),
+	include/freetype/ftimage.h (FT_Raster_Params),
+	include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
+	FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
+	FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
+	src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
+	`const' where appropriate.
+
+2005-04-14  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_charstrings): Catch this non-standard
+	beginning of the /CharStrings dictionary:
+
+	  /CharStrings 118 dict def
+	  Private begin
+	  CharStrings begin
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
+	to call of tt_sbit_decoder_load_bitmap.
+
+2005-04-13  Werner Lemberg  <[email protected]>
+
+	* docs/TODO: Updated.
+
+	* autogen.sh: Use `--force' for all commands.
+
+2005-04-09  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
+	only if `fitted' is not zero.
+
+2005-04-06  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
+	Fix typo which sometimes causes wrong metrics for the last glyph.
+
+2005-04-04  David Turner  <[email protected]>
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
+	release.
+	(*_CHESTER_*): Removed.  No longer used.
+
+	* src/autofit/afhints.c (af_axis_hints_new_segment,
+	af_axis_hints_new_edge): Small tweak to use less heap memory.
+
+2005-04-03  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
+	first line in the font.
+
+2005-04-03  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES, include/freetype/freetype.h: Improve documentation
+	of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
+
+2005-03-26  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
+	offsets after a large read.
+
+2005-03-26  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics):
+	s/index/gidx/.
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
+	warnings.
+
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+
+	* src/sfnt/ttsbit0.h: Dummy file for build with `make'.
+
+2005-03-26  Detlef Würkner  <[email protected]>
+
+	Update of the Amiga port.
+
+	* builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile: Included the base extension files
+	(ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
+
+2005-03-25  Detlef Würkner  <[email protected]>
+
+	Update of the Amiga port.
+
+	* builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
+
+	* builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
+
+	* builds/amiga/README: Updated.
+
+	* builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
+	AmigaOS4.
+
+	* builds/amiga/include/freetype/config/ftmodule.h: Handle new
+	modules.
+
+	* builds/amiga/src/base/ftdebug.c: Updated to current version of
+	default ftdebug.c.
+	Add various include files and macros to have proper support for
+	both AmigaOS4 and older AmigaOS versions.
+	Don't declare KVPrintF explicitly.
+	Replace getenv with GetVar.
+	Actually enable debugging code.
+
+	* builds/amiga/src/base/ftsystem.c: Major rewrite.
+
+2005-03-23  Werner Lemberg  <[email protected]>
+
+	* tests/*: Removed.
+
+2005-03-23  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES, docs/INSTALL.ANY: Updated.
+
+	* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
+	Add `OTvalid'.
+
+	* src/autofit/aferrors.h: New file.
+
+	* src/autofit/afglobal.c, src/autofit/afhints.c,
+	src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
+	Include aferrors.h.
+
+	* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
+
+	* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
+
+2005-03-22  David Turner  <[email protected]>
+
+	* src/autohint/*: Removed.
+	* Jamfile: Updated.
+
+2005-03-15  David Turner  <[email protected]>
+
+	* src/bdf/bdflib.c: Remove compiler warnings.
+	(hash_rehash, hash_init): Don't call FT_MEM_ZERO.
+	(_bdf_list_t): Add `memory' field.
+	(_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
+	(_bdf_shift, _bdf_join): Rename to...
+	(_bdf_list_shift, _bdf_list_join): This.
+	(_bdf_split): Renamed to...
+	(_bdf_list_split): This.  Use new functions.
+	(bdf_internal_readstream): Removed.
+	(NO_SKIP): New macro.
+	(_bdf_readstream): Rewritten.
+	(bdf_create_property, _bdf_add_comment): Improve allocation.
+	(_bdf_set_default_spacing, _bdf_parse_glyphs): Updated.  Improve
+	allocation.
+	(_bdf_parse_properties, _bdf_parse_start): Updated.
+	(bdf_load_font): Updated to use new functions.
+
+	* src/type1/t1parse.c (check_type1_format): New function.
+	(T1_New_Parser): Use it to check font header before allocating
+	anything on the heap.
+
+	* src/type42/t42parse.c (t42_parser_init): Modify functions to check
+	the font header before allocating anything on the heap.
+
+	* include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
+	FT_ARRAY_CHECK): New macros.
+
+	* src/base/ftstream.c (FT_Stream_TryRead): New function.
+	* include/freetype/internal/ftstream.h: Updated.
+
+	* src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
+	(BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
+	simplifications.  Try to protect the PCF driver from doing stupid
+	things with broken fonts.
+
+	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
+	doing anything else.  This avoids unnecessary heap allocations
+	(400KByte of heap memory for the LZW decoder).
+
+	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Ditto for the gzip
+	decoder, although the code savings are smaller.
+
+	* docs/CHANGES: Updated.
+
+2005-03-10  David Turner  <[email protected]>
+
+	* src/tools/glnames.py: Add comment to explain the compression
+	being used for the Adobe Glyph List.
+
+2005-03-10  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
+	Fix serious typo which prevented correct TT rendering.
+
+	* include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
+	To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
+
+2005-03-10  Werner Lemberg  <[email protected]>
+
+	* src/tools/glnames.py: Formatted.
+	Format output to be in sync with other FreeType code.
+	Import `re' and `os.path'.
+	(StringTable) <__init__>: Add parameter to initialize master table
+	name.
+	(StringTable) <dump>: Don't pass master table name.
+	(StringTable) <dump_sublist>: Emit explanatory comment.
+	Simplify and make output more human readable.
+	(t1_bias, glyph_list, adobe_glyph_names): Removed.  Unused.
+	(main): Use `basename' for file name in header.
+
+	* src/psnames/pstables.h: Regenerated.
+
+2005-03-09  David Turner  <[email protected]>
+
+	* src/tools/glnames.py: Rewrite the generator for the `pstables.h'
+	header file which contains various constant tables related to glyph
+	names.  It now uses a different, more compact storage scheme that
+	saves about 20KB.  This also closes Savannah bug #12262.
+
+	* src/psnames/pstables.h: Regenerated.
+
+	* src/psnames/psmodule.c (ps_unicode_value): Use
+	`ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
+	(ps_get_macintosh_name, ps_get_standard_strings): Updated.
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Handle fractional sizes
+	more carefully.  This fixes Savannah bug #12263.
+
+2005-03-06  David Turner  <[email protected]>
+
+	* src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
+	constant.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
+	#12212 (auto-hinter refuses to work if no Unicode charmap in font).
+
+2005-03-05  Werner Lemberg  <[email protected]>
+
+	* autogen.sh: New script for bootstrapping.
+
+	* README.CVS: New file which documents bootstrapping.
+
+	* builds/unix/aclocal.m4, builds/unix/config.guess,
+	builds/unix/config.sub, builds/unix/configure,
+	builds/unix/ltmain.sh: Removed.
+
+2005-03-04  Werner Lemberg  <[email protected]>
+
+	* src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
+
+2005-03-03  Werner Lemberg  <[email protected]>
+
+	Various fixes for C and C++ compiling.
+
+	* src/autofit/*: Add copyright messages.
+
+	* src/autofit/afhints.c (af_glyph_hints_done): Don't use
+	`AF_Dimension' but `int' for loop counter.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
+	`AF_Dimension' but `int' for loop counter.
+	Use proper enumeration value for `render_mode'.
+	(af_latin_metrics_scale_dim): Don't shadow variables.
+	(af_latin_hints_compute_segments): Use proper cast for `major_dir'
+	and `segment_dir'.
+	(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
+	`af_latin_compute_stem_width'.
+	(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
+	counter.
+
+	* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
+	proper cast for memory allocation.
+
+	* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
+	initialization of `sfnt'.
+
+	* src/sfnt/sfdriver.c: Include `ttkern.h'.
+
+	* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
+
+	* src/truetype/ttgload.c: Include `ttpload.h'.
+
+2005-03-03  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
+	FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
+	avoid compiler warnings.
+	(FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
+	FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
+
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+	FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
+	Provide macro versions which avoid compiler warnings.
+
+	* src/base/ftutil.c (ft_highpow2): New utility function.
+
+	* include/freetype/internal/ftobjs.h: Updated.
+
+	* src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
+	pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
+	(pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
+	is set.
+	(pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
+	FT_OPTIMIZE_MEMORY is set.
+
+	* src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
+	doesn't work with broken fonts.
+	(pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
+
+	* src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
+	(PFR_NEXT_KPAIR): New macro.
+	(PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
+	set.
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
+	temporary variable to avoid gcc warning.
+	(tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
+
+	* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
+	Remove redundant variable.
+
+	* include/freetype/config/ftmodule.h: Moving the order of drivers to
+	speed up font loading.  The PCF and BDF loaders are still slow and
+	consume far too much memory.
+
+2005-03-03  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h: Updated to recent changes.
+
+2005-03-02  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afdummy.c, src/autofit/afdummy.h
+	(af_dummy_script_class): Fix type.
+
+	* src/autofit/aflatin.c, src/autofit/aflatin.h
+	(af_latin_script_class): Fix type.
+
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
+
+2005-03-01  David Turner  <[email protected]>
+
+	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
+	src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
+	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
+	tt_sbit_decoder_load_image), src/sfnt/ttload.c
+	(tt_face_load_metrics): Remove compiler warnings
+	-- redundant variables, missing initializations, etc.
+
+	* src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
+
+	* src/autofit/rules.mk, src/autofit/module.mk,
+	src/autofit/afangles.h: New files.
+
+	* src/autofit/afhints.c (af_axis_hints_new_segment,
+	af_axis_hints_new_edge): New functions.
+	(af_glyph_hints_done): Do proper deallocation.
+	(af_glyph_hints_reload): Only reallocate points array.  This
+	drastically reduces heap usage.
+
+	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
+	member types and positions.
+	(AF_AxisHintsRec): Add `max_segments' and `max_edges'.
+	(af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale): Don't call
+	AF_SCALER_EQUAL_SCALES.
+	(af_latin_hints_compute_segments): Change return type to FT_Error.
+	Update all callers.
+	Improve segment allocation.
+	(af_latin_hints_compute_edges): Change return type to FT_Error.
+	Update all callers.
+	Improve edge allocation and link handling.
+	(af_latin_hints_detect_features): Change return type to FT_Error.
+	Update all callers.
+
+	* src/autofit/aflatin.h: Updated.
+
+	* src/autofit/afloader.c (af_loader_load_g)
+	<FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1.  This fixes
+	a bug with certain fonts.
+
+	* include/freetype/config/ftmodule.h: The auto-fitter is now the
+	only supported auto-hinting module.
+
+	* include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
+
+2005-02-28  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
+
+	* src/sfnt/ttkern.c: Include `ttkern.h'.
+	(FT_COMPONENT): Updated.
+
+	* include/freetype/internal/fttrace.h: Add entry for `ttkern'.
+
+	* src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
+	Decorate constants with `U' and `L' where necessary.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
+
+2005-02-28  David Turner  <[email protected]>
+
+	* src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
+	sources according to decreasing maximum cumulative allocations.
+	(ft_mem_source_compare): New auxiliary function.
+
+	* src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
+	embedded bitmap loader.
+
+	* src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
+	FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
+	Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
+	file contents.
+	(tt_face_load_sbit_strikes): Set up root fields to indicate the
+	strikes.  This fixes Savannah bug #12107.
+	Use `static' keyword for `sbit_line_metrics_field',
+	`strike_start_fields', `strike_end_fields'.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Define
+	`sbit_table', `sbit_table_size', `sbit_num_strikes' if
+	FT_OPTIMIZE_MEMORY is set.
+	Don't define `num_sbit_strikes' and `sbit_strikes' if
+	FT_OPTIMIZE_MEMORY is set.
+
+	* src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
+	loading SFNT fonts without a `kern' table.
+	Properly pass root->face_flags.
+	Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
+
+	* src/sfnt/sfdriver.c (sfnt_interface)
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
+	and `tt_load_sbit_metrics'.
+
+	* src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
+	(OPT_CMAP4): New macro.
+	(TT_CMap4Rec) [OPT_CMAP4]: New structure.
+	(tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
+	[OPT_CMAP4]: New functions.
+	(tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
+	`tt_cmap4_reset'.
+	(tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
+	`tt_cmap4_init'.
+
+	* src/truetype/ttobjs.c (Reset_SBit_Size): Handle
+	FT_OPTIMIZE_MEMORY.
+
+	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
+	Optimize member types.
+
+	* src/autofit/afloader.c (af_loader_done): Call
+	`af_glyph_hints_done'.
+
+2005-02-27  David Turner  <[email protected]>
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
+	caused invalid (random) return values for the horizontal kerning.
+
+2005-02-25  David Turner  <[email protected]>
+
+	Implement several memory optimizations to drastically reduce the
+	heap usage of FreeType, especially in the case of memory-mapped
+	files.  The idea is to avoid loading and decoding tables in the
+	heap, and instead access the raw data whenever possible (i.e., when
+	it doesn't compromise performance).
+
+	This has several benefits: For example, opening vera.ttf now uses
+	just a small amount of memory (even when the FT_Library footprint is
+	accounted for), until you start loading glyphs.  Even then, you save
+	at least 20KB compared to the non-optimized case.  Performance of
+	various operations, including open and close, has also been
+	dramatically improved.
+
+	More optimizations to come, especially for the auto-hinter.
+
+	* include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
+	function type.
+	(SFNT_Interface): Add it.
+
+	* include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
+	TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
+	(TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
+	`vert_metrics', `vert_metrics_size', `hdmx_table',
+	`hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
+	`hdmx_record_sizes', `kern_table', `kern_table_size,
+	`num_kern_tables', `kern_avail_bits', `kern_order_bits' if
+	FT_OPTIMIZE_MEMORY is set.
+	Don't define `hdmx', `num_kern_pairs', `kern_table_index',
+	`kern_pairs' if FT_OPTIMIZE_MEMORY is set.
+
+	* src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
+	Fix compiler warning.
+
+	* src/cff/cffdrivr.c (Get_Kerning): Renamed to...
+	(cff_get_kerning): This.  Simplify.
+	(cff_driver_class): Updated.
+
+	* src/sfnt/Jamfile (_sources): Add `ttkern'.
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
+
+	* src/sfnt/sfnt.c: Include `ttkern.c'.
+
+	* src/sfnt/sfobjs.c: Include `ttkern.h'.
+	(sfnt_load_face): Consider the `kern' and `gasp' table as optional.
+	(sfnt_done_face): Call `tt_face_done_kern'.
+	Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
+
+	* src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files.  Code has been
+	taken from `ttload.c' and `ttload.h'.
+	Provide special versions of `tt_face_load_kern',
+	`tt_face_get_kerning', and `tt_face_done_kern' for
+	FT_OPTIMIZE_MEMORY.
+
+	* src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
+	tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
+	(tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
+	`ttkern.c'.
+
+	* src/sfnt/ttload.h: Updated.
+
+	* src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
+
+	* src/truetype/ttdriver.c (Get_Kerning): Renamed to...
+	(tt_get_kerning): This.  Simplify.
+	(tt_driver_class): Updated.
+
+	* src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
+	(tt_face_get_metrics): This.  Provide version for FT_OPTIMIZE_MEMORY.
+	Update all callers.
+	(Get_Advance_Widths): Replaced with...
+	(Get_Advance_WidthPtr): This.  Provide version for
+	FT_OPTIMIZE_MEMORY.
+	Update all callers.
+
+	* src/truetype/ttgload.h: Updated.
+
+2005-02-22  David Turner  <[email protected]>
+
+	* src/base/ftdbgmem.c: Partly rewritten.  Added the ability to list
+	all allocation sites in the memory debugger.  Also a new function
+	FT_DumpMemory() was added.  It is only available in builds with
+	FT_DEBUG_MEMORY defined, and you must declare it in your own code to
+	use it, i.e., with something like:
+
+	  extern void FT_DumpMemory( FT_Memory );
+
+	  ...
+
+	  FT_DumpMemory( memory );
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
+	again.
+	(FT_OPTIMIZE_MEMORY): New configuration macro to control various
+	optimizations for reducing the heap footprint of memory-mapped
+	TrueType files.
+
+	* include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
+	convenience macro.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec)
+	[FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
+	`glyph_locations'.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Call
+	`tt_face_get_location'.
+
+	* src/truetype/ttobjs.c (tt_face_init)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
+	(tt_face_done): Call `tt_face_done_loca'.
+
+	* src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
+	New functions.  If FT_OPTIMIZE_MEMORY is set, the locations table is
+	read directly from memory-mapped streams, instead of being decoded
+	into the heap.
+	(tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
+	(tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
+	bytecode interpreter is compiled in.
+
+	* src/truetype/ttpload.h: Updated.
+
+	* src/autohint/ahglyph.c (ah_outline_load): Improve allocation
+	logic.
+
+2005-02-20  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+	--copy' from libtool 1.5.14.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.9.4.
+
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org.
+
+	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+	`texinfo' CVS module at subversions.gnu.org.
+
+2005-02-14  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
+	a cmap for a CID-keyed font which doesn't have SIDs.
+
+2005-02-13  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (read_binary_data): Return more meaningful
+	value.
+	(parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
+	parser error value after call to T1_Skip_PS_Token (where necessary).
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
+	value after call to T1_Skip_PS_Token.
+
+	* src/cid/cidparse.c (cid_parser_new): Check parser error value
+	after call to cid_parser_skip_PS_token.
+
+	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
+	t42_parse_charstrings, t42_parse_dict): Check parser error value
+	after call to T1_Skip_PS_Token (where necessary).
+
+	* src/psaux/psobjs.c (skip_string, ps_parser_skip_PS_token,
+	ps_tobytes): Add error messages.
+
+2005-02-12  Werner Lemberg  <[email protected]>
+
+	* configure: Output more variables to the created Makefile so that
+	it can be used for ft2demos also (if the FT2DEMOS variable is
+	defined).
+
+2005-02-10  David Turner  <[email protected]>
+
+	* src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
+	dynamic array when loading a glyph from a PFR font (Savannah bug
+	#11921).
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
+	conversion function (mainly stupid optimization).
+
+	* src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
+
+2005-02-10  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype-config.in: Add new flag `--ftversion' to
+	return the FreeType version.  Suggested by George Williams
+	<[email protected]>.
+
+	* docs/CHANGES: Updated.
+
+2005-02-09  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
+	of error.  Reported by YAMANO-UCHI Hidetoshi <[email protected]>.
+
+2005-02-08  Werner Lemberg  <[email protected]>
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
+	happen in empty glyphs.  Reported by Ian Brown
+	<[email protected]> (Savannah bug #11856).
+
+2005-02-04  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/*: Removed.  Obsolete.
+
+2004-12-28  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+	--copy' from libtool 1.5.10.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.9.4.
+	* builds/unix/configure: Regenerated with autoconf 2.59b.
+
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org.
+
+	* builds/unix/install-sh: Updated from
+	`texinfo' CVS module at subversions.gnu.org.
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
+	ft_alloc.
+	Fix compiler warning.
+
+2004-12-27  Dirck Blaskey  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Improve computation of
+	FT_STYLE_BOLD_FLAG.
+
+2004-12-27  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
+	only a single font.  This is undocumented but has been verified on
+	the opentype list.
+
+2004-12-26  Werner Lemberg  <[email protected]>
+
+	* Jamfile (FT2_COMPONENTS): Add `otvalid'.
+
+2004-12-25  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
+
+2004-12-15  Werner Lemberg  <[email protected]>
+
+	* vms_make.com: Add ftbitmap.obj.
+
+2004-12-14  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
+	handling various bitmap formats.
+
+	* include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
+
+	* src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
+
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
+	but return them as-is.
+
+	* docs/CHANGES: Mention new bitmap API.
+	* include/freetype/ftchapters.h: Updated.
+
+2004-12-11  Robert Clark  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
+	dependent on ppem by scaling down for ppem < 25, then do normal
+	rounding.  This gives slightly better results than rounding towards
+	zero.
+
+2004-12-09  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
+	for FT_KERNING_DEFAULT.  This greatly enhances the kerning for
+	small ppem values.
+
+2004-12-08  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
+	`rsb_delta'.
+
+2004-12-05  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
+
+2004-12-03  Antoine Leca  <[email protected]>
+
+	* include/freetype/ttnameid.h: Updated to latest
+	specifications from Microsoft.
+
+2004-11-26  Jouk Jansen  <[email protected]>
+
+	* vms_make.com: Include ftbbox.c.
+	Fix `ccopt'.
+	Handle `otvalid' module.
+	Update `vmslib.dat' default values.
+	Fixes to `libs.opt'.
+
+2004-11-23  Anders Kaseorg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_OrientationExtremumRec,
+	ft_orientation_extremum_compute): Removed.
+	(FT_Outline_Get_Orientation): Rewritten, simplified.
+
+	* src/autohint/ahglyph.c: Include FT_OUTLINE_H.
+	(ah_test_extremum, ah_get_orientation): Removed.
+	(ah_outline_load): Use FT_Outline_Get_Orientation.
+
+	* src/base/ftsynth.c (ft_test_extrema, ft_get_orientation): Removed.
+	(FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
+
+2004-11-23  Fernando Papa  <[email protected]>
+
+	* src/truetype/ttinterp.h: Fix typo.
+
+2004-11-22  Antoine Leca  <[email protected]>
+
+	* builds/win32/detect.mk: Corrected logic that detects Windows NT to
+	use the previous change even if win32 is forced.  Corrected
+	detection of win32 on Win9X.
+
+	* builds/dos/detect.mk: Added same correction as for win32 about
+	COPY on Windows NT.  Detection of plain DOS 7.x.
+
+2004-11-22  Werner Lemberg  <[email protected]>
+
+	* builds/detect.mk: Undo change from 2004-11-20.
+	* builds/win32/detect.mk: If the `OS' environment variable contains
+	`Windows_NT', use `cmd.exe /c copy' for copying files.
+
+2004-11-20  Werner Lemberg  <[email protected]>
+
+	* builds/detect.mk (dos_setup): Use `cmd.exe' for copying
+	$(CONFIG_MK) to force lowercase file name under Windows.
+
+2004-11-19  Werner Lemberg  <[email protected]>
+
+	Fix a serious bug in the TT hinter.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
+	points vertically before hinting.
+
+	* docs/CHANGES: Updated.
+
+	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+	FTC_GCache_Lookup): A new try to fix comparison with zero.
+
+2004-11-16  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
+	used.
+	* builds/unix/configure: Regenerated.
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org.
+
+2004-11-16  Dr. Martin P.J. Zinser  <[email protected]>
+
+	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+	FTC_GCache_Lookup): Fix comparison with zero.
+
+	* docs/INSTALL.VMS: Updated.
+
+	* vms_make.com: Updated.  All `descrip.mms' files are now created
+	automatically.
+
+	* src/*/descrip.mms: Removed.
+
+2004-11-16  Owen Taylor  <[email protected]>
+
+	* builds/unix/freetype-config.in: Suppress -L$libdir for
+	/usr/lib64 as well as /usr/lib.  (Reported by Dan Winship -
+	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
+
+2004-11-11  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+	* src/cid/cidriver.c (cid_service_ps_info): Updated.
+	* src/type42/t42drivr.c (t42_ps_get_font_private): New function.
+	(t42_service_ps_info): Updated.
+
+	* src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
+
+2004-11-11  David Bevan  <[email protected]>
+
+	Add new function FT_Get_PS_Font_Private().
+
+	* include/freetype/internal/services/svpsinfo.h
+	(PS_GetFontPrivateFunc): New service function.
+
+	* include/freetype/t1tables.h, src/base/fttype1.c
+	(FT_Get_PS_Font_Private): New function.
+
+	* src/type1/t1driver.c (t1_ps_get_font_private): New function.
+	(t1_service_ps_info): Updated.
+
+2004-10-13  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftstdlib.h: Include `stddef.h'.
+	(ft_ptrdiff_t): Define.
+
+	* include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
+
+	* src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
+	(parse_dict): Fix compiler warning.
+
+2004-10-11  Joshua Neal  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
+	overflow.
+
+	* src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
+	Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
+	in case of failure.
+
+	* src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
+	(tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
+	frame test.
+
+	* src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
+	`flag'.
+
+2004-10-09  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-10-09  Boris Letocha  <[email protected]>
+
+	Fix handling of NPUSHW if skipped in data stream.
+
+	* src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
+	to -2.
+	(SkipCode, TT_RunIns): Use opcode_length value for computation of
+	bytes to be skipped.
+
+2004-09-10  Jouk Jansen  <[email protected]>
+
+	* vms_make.com: Updated.
+
+2004-09-09  Werner Lemberg  <[email protected]>
+
+	Adding OpenType validation module.  The code is based on the
+	(unfinished) `otlayout' module but has been heavily modified to make
+	it much more compact.
+
+	* src/otvalid/*: New module.
+
+	* include/freetype/ftotval.h, src/base/ftotval.c,
+	include/freetype/internal/services/svotval.h: New files.
+
+	* include/freetype/config/ftmodule.h: Add otv_module_class.
+	* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
+	macro.
+	* include/freetype/internal/ftserv.h
+	(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
+	* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
+	otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
+
+	* include/freetype/ftchapters.h: Updated.
+
+	* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
+	src/base/rules.mk (BASE_EXT_SRC): Updated.
+
+	* docs/CHANGES: Updated.
+
+2004-09-08  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/sources.py (re_source_block_format2) <column>:
+	Use lookahead assertion to not match `*/'.  This removes spurious
+	insertions of `/' in the HTML output.
+
+2004-09-07  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
+	FT_NEW_ARRAY.
+
+2004-09-04  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h: Don't include
+	FT_CONFIG_STANDARD_LIBRARY_H.
+	(FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
+	ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
+	FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
+	FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
+
+	* include/freetype/internal/ftvalid.h: New file.
+	Make FT_INVALID return module-specific error codes.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
+	macro.
+
+	* include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
+	FT_KEEP_ERR_PREFIX isn't defined.
+
+	* src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
+
+	* src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
+	FT_INTERNAL_VALIDATE_H.
+
+	* src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
+	FT_INTERNAL_VALIDATE_H.
+	Include sferrors.h before FT_INTERNAL_VALIDATE_H.
+	s/FT_Err_Ok/SFNT_Err_Ok/.
+
+	* src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
+
+	* src/type1/t1afm.c: Include t1errors.h.
+
+2004-09-03  Werner Lemberg  <[email protected]>
+
+	* src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
+	not 6.
+	* docs/DEBUG: Updated.
+
+2004-08-30  Werner Lemberg  <[email protected]>
+
+	* include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
+	TTAG_JSTF): New tags.
+
+	* include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
+	(FT_Int): Add `signed'.
+
+2004-08-29  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
+	to pass number of lookups.
+	Update all callers.
+	Don't call otl_lookup_list_validate but otl_lookup_validate.
+	(otl_gpos_validate): Call otl_lookup_list_validate instead of
+	otl_gpos_subtable_validate.
+
+	* src/otlayout/otlgpos.h: Updated.
+
+	* src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
+	pass number of lookups.
+	Update all callers.
+
+
+	* src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
+	compiler warning.
+
+
+	* src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
+	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
+	* src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
+	src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
+
+
+	* builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
+	if compiler is g++ (v3.3.3 emits a warning otherwise).
+
+2004-08-28  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
+	not number of 16bit entities.
+	(otl_gpos_lookup2_validate): Check class definition tables for
+	format 2.
+	Fix loop for format 2.
+	(otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
+
+2004-08-27  Werner Lemberg  <[email protected]>
+
+	* src/base/ftmac.c: Don't include truetype/ttobjs.h.
+	Don't include type1/t1objs.h.
+	(FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
+
+2004-08-27  Mathieu Malaterre  <[email protected]>
+
+	* src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
+
+2004-08-27  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlayout.h: Add copyright.
+	(OTL_INVALID_OFFSET): Removed.
+
+	* src/otlayout/otlgdef.h: Include otlayout.h.
+	Comment out inclusion of otltable.h.
+
+	* src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
+	to otl_base_array_validate.
+	(otl_liga_mark2_validate): Fix `for' loop.
+
+	* src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
+	not components array.
+
+	* src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
+	Comment out.
+	(otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
+	(otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
+	s/otl_lookup_get_count/otl_lookup_list_get_count/.
+	(otl_script_list_validate):
+	s/otl_feature_get_count/otl_feature_list_get_count/.
+	(otl_script_validate): Call otl_lang_validate for default language.
+
+	* src/otlayout/otlcommn.h: Updated.
+
+2004-08-16  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
+	otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
+	otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
+	otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
+	otl_gpos_validate): Update
+	function arguments.
+	(otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
+	function arguments.
+	Handle NULL offsets correctly.
+	Check sequence and lookup indices for format 3.
+	(otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
+	to pass lookup count.
+	Check sequence and glyph indices.
+	(otl_gpos_subtable_validate): Update function arguments.
+	Update callers.
+
+	* src/otlayout/otlgpos.h: Updated.
+
+	* src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
+	otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
+	function arguments.
+	Add glyph index checks.
+	(otl_sequence_validate, otl_alternate_set_validate,
+	otl_ligature_validate): Add argument to pass glyph count.
+	Update callers.
+	Add glyph index check.
+	(otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
+	function arguments.
+	(otl_ligature_set_validate): Add argument to pass glyph count.
+	Update caller.
+	(otl_sub_class_rule_validate,
+	otl_sub_class_rule_set_validate): Removed.
+	(otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
+	to pass lookup count.
+	Update callers.
+	Add lookup index check.
+	(otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
+	argument to pass lookup count.
+	Update callers.
+	(otl_gsub_lookup5_validate): Update function arguments.
+	Handle NULL offsets correctly.
+	Don't call otl_sub_class_rule_set_validate but
+	otl_sub_rule_set_validate.
+	Check sequence and lookup indices for format 3.
+	(otl_gsub_lookup6_validate): Update function arguments.
+	Handle NULL offsets correctly.
+	Check sequence and lookup indices for format 3.
+	(otl_gsub_lookup7_validate, otl_gsub_validate): Update function
+	arguments.
+
+	* src/otlayout/otlgsub.h: Updated.
+
+	* src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
+	correctly.
+
+	* src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
+	compiler warning.
+	(otl_coverage_get_first, otl_coverage_get_last): New functions.
+	(otl_lookup_validate): Add arguments to pass lookup and glyph
+	counts.
+	Update callers.
+	(otl_lookup_list_validate): Add argument to pass glyph count.
+	Update callers.
+
+	* src/otlayout/otlcommn.h: Updated.
+
+	* src/otlayout/otljstf.c (otl_jstf_extender_validate,
+	otl_jstf_max_validate, otl_jstf_script_validate,
+	otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
+	to validate glyph indices.
+	Update callers.
+	(otl_jstf_validate): Add parameter which specifies number of glyphs
+	in font.
+
+	* src/otlayout/otljstf.h: Updated.
+
+2004-08-15  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
+	to handle possible NULL values properly.
+	Update all callers.
+
+2004-08-15  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/gpos.c: Rename counting variables to be more
+	meaningful.
+	Add copyright.
+	(otl_liga_attach_validate): Renamed to...
+	(otl_liga_mark2_validate): This.
+	Update all callers.
+	(otl_mark2_array_validate): Removed.
+	(otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
+	otl_mark2_array_validate.
+	(otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
+	(otl_gpos_lookup7_validate): Complete code for format 2.
+	(otl_chain_pos_class_rule_validate,
+	otl_chain_pos_class_set_validate): Removed.
+	(otl_gpos_lookup8_validate): Don't call
+	otl_chain_pos_class_set_validate but
+	otl_chain_pos_rule_set_validate.
+	Simplify some code.
+
+	* src/otlayout/otlgpos.h: Add copyright.
+
+2004-08-14  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
+	(otl_jstf_gpos_mods_validate): Renamed to...
+	(otl_jstf_gsubgpos_mods_validate): This.
+	Test whether lookup_count is zero.
+	(otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
+	(otl_jstf_validate): Initialize gsub_lookup_count and
+	gpos_lookup_count if gsub or gpos is zero.
+
+	* src/otlayout/otlgsub.c: Rename counting variables to be more
+	meaningful.
+	Add copyright.
+	(otl_gsub_lookup1_validate): Simplify code.
+	(otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
+	otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
+	variables.
+	(otl_gsub_lookup5_validate): Remove unused variable.
+	Fix call to otl_sub_rule_set_validate and
+	otl_sub_class_rule_set_validate.
+	(otl_chain_sub_class_rule_validate,
+	otl_chain_sub_class_set_validate): Removed.
+	(otl_gsub_lookup6_validate): Remove unused variable.
+	Fix call to otl_chain_sub_rule_set_validate.
+	(otl_gsub_lookup7_validate): Handle lookup type 8 also.
+	(otl_gsub_lookup8_validate: New function.
+	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
+	otl_gsub_lookup3_apply): Commented out.
+	(otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
+	otl_gsub_lookup8_validate.
+	(otl_gsub_validate): Updated.
+
+	* src/otlayout/otlgsub.h: Add copyright.
+
+	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
+	(otl_coverage_get_index): Comment out.
+
+2004-08-13  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
+	function.
+	* src/otlayout/otlcommn.h: Updated.
+
+	* src/otlayout/otlbase.c: Rename counting variables to be more
+	meaningful.
+	Add copyright message.
+	* src/otlayout/otlbase.h: Add copyright message.
+
+	* src/otlayout/otlgdef.c: Rename counting variables to be more
+	meaningful.
+	Add copyright message.
+	Use OTL_CHECK everywhere.
+	(otl_caret_value_validate): Remove unused variable.
+	(otl_gdef_validate): All tables are optional.
+	* src/otlayout/otlgdef.h: Add copyright message.
+
+	* src/otlayout/otljstf.c: Rename counting variables to be more
+	meaningful.
+	Add copyright message.
+	(otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
+	parameter to pass lookup count.
+	Update all callers.
+	Check lookup array.
+	(otl_jstf_max_validate):
+	s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
+	(otl_jstf_priority_validate, otl_jstf_lang_validate,
+	otl_jstf_script_validate): Add two parameters to pass lookup counts.
+	Update all callers.
+	(otl_jstf_validate): Add two parameters to pass GPOS and GSUB
+	table offsets; use otl_gsubgpos_get_lookup_count to convert extract
+	lookup counts.
+	Fix typo.
+	* src/otlayout/otljstf.h: Updated.
+	Add copyright message.
+
+	* src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
+	(otl_gpos_validate): Use it.
+	* src/otlayout/otlgpos.h: Updated.
+
+2004-08-13  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
+	(otl_coverage_validate): Initialize `p',
+	s/count/num_glyphs/.
+	s/start_cover/start_coverage/.
+	(otl_coverage_get_index): Return OTL_Long, not OTL_Int.
+	Remove unused variables.
+	(otl_class_definition_validate): s/count/num_glyphs/.
+	Remove unused variables.
+	(otl_class_definition_get_value, otl_device_table_get_start,
+	otl_device_table_get_end, otl_device_table_get_delta,
+	otl_lookup_get_table, otl_lookup_list_get_count,
+	otl_lookup_list_get_lookup, otl_lookup_list_get_table,
+	otl_feature_get_lookups, otl_feature_list_get_count,
+	otl_feature_list_get_feature, otl_lang_get_count,
+	otl_lang_get_req_feature, otl_lang_get_features): Commented out
+	temporarily until we really need it.
+	(otl_lookup_validate): Removed.
+	(otl_lookup_table_validate): Renamed to ...
+	(otl_lookup_validate): This.  Update callers.
+	(otl_lookup_list_validate): Remove already commented out definition
+	and move the other definition up.
+	(otl_feature_validate): Add parameter to pass number of lookups.
+	Update callers.
+	Check lookup indices.
+	(otl_feature_list_validate): Add parameter to pass lookup table.
+	Update callers.
+	(otl_lang_validate): Add parameter to pass number of features.
+	Update callers.
+	Handle req_feature and check feature indices.
+	(otl_script_validate): Add parameter to pass number of features.
+	Update callers.
+	(otl_script_list_validate): Add parameter to pass feature table.
+	Update callers.
+
+	* src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
+	Comment out the same functions as in otcommn.c.
+	(otl_script_list_get_script): Removed.
+
+	* src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
+	type OTL_Long.
+	(otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
+	type OTL_Long.
+	Fix test.
+	(otl_gsub_validate): Fix order of validation.
+
+	* src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
+	validation.
+
+2004-08-12  Werner Lemberg  <[email protected]>
+
+	Make otlayout module compile (without actually working).
+
+	* src/otlayout/*: s/OTL_Valid/OTL_Validator/.
+	s/NULL/0/.
+
+	* src/otlayout/otlayout.h: Fix various typos.
+	(OTL_Bool): New typedef.
+	(OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
+	(OTL_Err_InvalidArgument): Removed.
+	(OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
+	(OTL_MAKE_TAG): Add missing parenthesis.
+	(OTL_INVALID_DATA): Use OTL_Err_InvalidData.
+	(OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
+	(OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
+
+	* src/otlayout/otlgpos.c: s/FT_/OTL_/.
+	s/OTL_Short/OTL_Int16/.
+	(otl_gpos_pairset_validate): Add return type.
+	(otl_base_array_validate): Fix call to otl_anchor_validate.
+	(otl_liga_array_validate): Fix call to otl_liga_attach_validate.
+	(otl_gpos_lookup5_validate): Fix typos.
+	(otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
+	(otl_gpos_lookup7_validate): Comment out unfinished code.
+	Fix typos.
+
+	* src/otlayout/otlgsub.c: Add forward declaration for
+	otl_gsub_validate_funcs.
+	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
+	otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
+	s/otl_coverage_lookup/otl_coverage_get_index/.
+	(otl_ligature_validate): Add missing variable declaration.
+	(otl_sub_rule_validate): Fix typo.
+	(otl_sub_class_rule_validate): Add missing variable declaration.
+	Fix typo.
+	(otl_gsub_lookup5_validate): Fix typo.
+	(otl_gsub_lookup6_validate): Fix call to
+	otl_chain_sub_class_set_validate.
+	(otl_gsub_validate_funcs): Don't use `const'.
+
+	* src/otlayout/otlcommn.c (otl_class_definition_get_value,
+	otl_device_table_validate, otl_device_table_get_delta,
+	otl_lookup_validate, otl_script_validate): Add missing
+	variable declarations.
+	(otl_lookup_list_validate): Comment out first definition.
+	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
+	(otl_feature_list_validate):
+	s/otl_feature_table_validate/otl_feature_validate/.
+	(otl_script_list_validate):
+	s/otl_script_table_validate/otl_script_validate/.
+
+	* src/otlayout/otlcommn.h: Comment out first declaration.
+	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
+
+	* src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
+	otl_device_table_validate.
+	(otl_base_script_validate): Add missing variable declarations.
+	(otl_base_script_list_validate): Fix call to
+	otl_base_script_validate.
+	(otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
+	and otl_base_script_list_validate.
+	(otl_base_validate): Fix calls to otl_axis_table_validate.
+
+	* src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
+	otl_attach_point_validate.
+	(otl_caret_value_validate): Add missing variable declaration.
+	Fix call to otl_device_table_validate.
+	(otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
+	(otl_ligature_caret_list_validate): Fix call to
+	otl_ligature_glyph_validate.
+	(otl_gdef_validate): Fix calls to otl_class_definition_validate,
+	otl_attach_list_validate, otl_ligature_caret_list_validate, and
+	otl_class_definition_validate.
+
+	* src/otlayout/otltable.h (otl_table_validate, otl_table_init,
+	otl_table_set_script): Comment out.
+
+	* src/otlayout/otlparse.h (OTL_ParserRec):
+	s/OTL_Alternate/OTL_GSUB_Alternate/.
+	(OTL_ParseError): Add OTL_Err_Parser_Memory and
+	OTL_Err_Parser_Internal.
+	(otl_parser_error): Fix typo.
+	(otl_parser_check_property): Remove third argument.
+
+	* src/otlayout/otlparse.c (otl_string_ensure):
+	s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
+	(OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
+	otl_parser_replace_1, otl_parser_replace_n): Fix typos.
+	(OTL_PARSER_UNCOVERED): Removed.
+	(otl_parser_check_property): Remove third argument.
+
+	* src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
+	variable declaration.
+
+	* src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
+
+2004-08-11  Danny  <[email protected]>
+
+	* src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
+	to NULL.  This allows custom close functions to delete the FT_STREAM
+	object.
+
+2004-08-11  Werner Lemberg  <[email protected]>
+
+	Add API to get information about SFNT tables.
+
+	* include/freetype/internal/services/svsfnt.h
+	(FT_SFNT_Table_Info_Func): New typedef.
+	(SFNT_Table): Add it.
+
+	* src/base/ftobjs (FT_Sfnt_Table_Info): New function.
+
+	* include/freetype/tttables.h: Updated.
+
+	* src/sfnt/sfdriver.c (sfnt_table_info): New function.
+	(sfnt_service_sfnt_table): Add it.
+
+	* docs/CHANGES: Updated.
+
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+	* builds/unix/configure.ac (version_info): Set to 9:8:3.
+	* builds/unix/configure: Updated.
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
+
+	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+	s/2.1.9/2.1.10/.
+
+	* docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-08-11  Detlef Würkner  <[email protected]>
+
+	* src/base/ftrfork.c (FT_Raccess_Guess)
+	[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK]: Remove compiler
+	warnings.
+
+2004-08-06  Adam Piotrowski  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
+	adjustments are unsigned, not signed.
+
+2004-08-05  David Turner  <[email protected]>
+
+	`Activate' gray-scale specifying hinting within the TrueType
+	bytecode interpreter.  This is an experimental feature which
+	should probably be made optional.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Move the code to set the pedantic_hinting flag
+	to...
+	(TT_Load_Glyph): Here.
+	Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Return MS rasterizer
+	version 1.7.
+	Return rotation and stretching info only if glyph is rotated or
+	stretched, respectively.
+	Handle grayscale info.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
+	member.
+
+2004-08-02  George Williams  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
+
+2004-08-01  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-08-01  George Williams  <[email protected]>
+
+	FreeType now can read kerning values from PFM files.
+
+	* src/type1/t1afm.c (T1_Done_AFM): Renamed to...
+	(T1_Done_Metrics): This.
+	Update all callers.
+	(T1_Read_AFM): Make it static.
+	Don't enter and leave a frame.
+	(LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
+	(T1_Read_PFM): New function.
+	(T1_Read_Metrics): New higher-level function to be used instead of
+	T1_Read_AFM.
+	Update all callers.
+
+2004-07-31  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
+	(BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
+	tt_face_vary_cvt): Fix compiler warnings.
+
+2004-07-26  Søren Sandmann  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
+	face->style_name.
+	* src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
+
+2004-07-26  Darren J Longhorn  <[email protected]>
+
+	* include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
+	five-byte `long' (which is avoided then).
+
+2004-07-25  Detlef Würkner  <[email protected]>
+
+	* src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
+	ppem values.
+	(PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
+	code to compare ppem values.
+	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
+	ppem values.
+	(BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
+	code to compare ppem values.
+
+2004-07-25  Kornfeld Eliyahu Peter  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Handle
+	TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
+
+2004-07-24  Derek B. Noonburg  <[email protected]>
+
+	* src/cff/cffload.c (cff_font_load): Always create inverse mapping.
+	Even if the charstring count is the same as the CID count, it is
+	still possible that the font uses a different CID -> GID mapping.
+
+2004-07-23  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
+	found in some Arphic fonts made for Chinese version of Windows 3.1.
+
+2004-07-17  David Turner  <[email protected]>
+
+	Fixed a dangling pointer bug in the cache code that happened in very
+	rare cases, i.e., when a new family object was destroyed by an
+	out-of-memory condition during a glyph node initialization.  The
+	function FTC_Cache_Lookup would flush the cache and restart the
+	lookup with a bad pointer.
+
+	* include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
+	(FTC_GCACHE_LOOKUP_CMP): Use it.
+	Handle reference count in `num_nodes' correctly.
+
+	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
+	FTC_FAMILY_FREE.
+	(FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
+
+	* src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
+	bug.
+
+	* src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
+	long and unnecessary delays while normalizing huge vectors.
+
+2004-07-15  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
+	warning.
+
+2004-07-15  David Turner  <[email protected]>
+
+	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
+	are not stroked, preventing a bug with pala.ttf and other
+	fonts.
+
+	* include/freetype/ftstroke.h: Updating documentation comments.
+
+2004-07-13  Werner Lemberg  <[email protected]>
+
+	* src/base/ftstroke.c (ft_stroke_border_reverse): Removed.  Unused.
+
+2004-07-12  David Turner  <[email protected]>
+
+	* src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
+	to indicate reversion of points.
+	Update all callers.
+	(ft_stroke_border_reverse): Fix initialization of `point1' and
+	`tag1'.
+
+	* src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
+	for transformed glyphs.
+
+2004-07-11  David Turner  <[email protected]>
+
+	Fix bugs that prevented the stroker to correctly generate stroked
+	paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
+
+	The code is still _very_ buggy though; treat with special care.
+
+	* src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
+	(ft_stroke_border_reverse): New function.
+	(ft_stroker_inside): Remove local variable `sigma'; use different
+	threshold.
+	(ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
+	(FT_Stroker_EndSubPath): Call ft_stroker_inside and
+	ft_stroke_border_reverse.
+
+2004-06-26  Peter Kovar  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
+
+2004-06-25  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1afm.c (afm_atoindex): Fix boundary test.  Reported
+	by Dirck Blaskey.
+
+2004-06-24  David Turner  <[email protected]>
+
+
+	* Version 2.1.9 released.
+	=========================
+
+
+	* src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
+	compiler warnings.
+
+2004-06-23  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
+	FT_QAlloc_Debug and FT_QRealloc_Debug.
+
+	* src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
+	(FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
+	Fix error message.
+
+2004-06-23  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h, src/base/ftutil.c
+	(FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
+	FT_QRealloc_Debug): New functions that perform allocation without
+	zero-ing out the corresponding blocks.
+
+	* include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
+	FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
+	FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
+	FT_QRENEW_ARRAY): New macros.
+
+	* src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
+	* src/gzip/ftgzip.c (FT_Stream_OpenGzip):  Use FT_QNEW_ARRAY.
+	* src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
+
+	* src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
+	tt_face_load_gasp): Use FT_QNEW_ARRAY.
+	(tt_face_load_kern): Use FT_QNEW_ARRAY.
+	Small optimization in the kerning table verifier; this speeds up
+	TrueType face opening by about 7%.
+	(tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
+
+	* include/freetype/config/ftmodule.h: Changed the order of modules,
+	putting TrueType and Type 1 first.  This dramatically improves the
+	performance of face open/close operations.  For example, putting the
+	TrueType driver first in the list results in a 5x speedup when
+	opening `Vera.ttf'.
+
+	The very problem is that both the PCF and BDF drivers do a lot more
+	than necessary to detect that they cannot handle a font file.
+
+2004-06-22  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
+	pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
+	debugging messages.
+
+	* src/pcf/pcfdrivr.c (FT_COMPONENT): Move up.
+	(PCF_Face_Init): Simplify code.
+
+	* src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
+
+	* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
+	src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
+	Set `default_glyph'.
+	(BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
+
+	* docs/CHANGES: Updated.
+
+2004-06-21  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-06-21  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Don't access (unrounded)
+	`TT_Size.root.metrics' but (rounded) `TT_Size.metrics'.  This fixes
+	a scaling bug that caused incorrect rendering when the bytecode
+	interpreter was enabled.
+
+2004-06-14  Huw D M Davies  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
+	based on pixel_width and pixel_height.
+	(FNT_Size_Set_Pixels): Updated.
+
+2004-06-14  Werner Lemberg  <[email protected]>
+
+	* src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
+	Reported by Hyvärinen Jyrki Juhani.
+
+2004-06-11  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-06-10  David Turner  <[email protected]>
+
+	* src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
+	src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
+	Obsolete.
+
+	* src/raster/ftraster.c (Alignment, PAlignment): New union to fix
+	problems with 64bit systems.
+	(AlignProfileSize): Use it.
+
+2004-06-08  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Glyph_Metrics): Move `lsb_delta'
+	and `rsb_delta' elements to...
+	(FT_GlyphSlotRec): Here to retain binary compatibility with older
+	FreeType versions.
+	Update all users.
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
+	of slot->metrics.width and slot->metrics.height when loading a
+	Windows FNT glyph.  Thanks to Huw Davies.
+
+	* include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
+	return type to FT_Bool.
+
+	* src/cache/ftcbasic.c (ftc_basic_family_compare): Change return
+	type to FT_Bool.
+
+	* src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
+	the former call the latter, not vice versa.
+	(FTC_Cache_Done, ftc_cache_done): Ditto.
+
+	* src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
+	the former call the latter, not vice versa.
+	(FTC_GCache_Init, ftc_gcache_init): Ditto.
+	(FTC_GCache_Done, ftc_gcache_done): Ditto.
+
+	* src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
+	former call the latter, not vice versa.
+	(FTC_INode_Weight, ftc_inode_weight): Ditto.
+
+	* src/cache/ftcmanag.c (ftc_size_node_compare,
+	ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
+	type to FT_Bool.
+
+	* src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
+	former call the latter, not vice versa.
+	(FTC_SNode_Weight, ftc_snode_weight): Ditto.
+	(FTC_SNode_Compare, ftc_snode_compare): Ditto.
+
+	* src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
+	sub-system.
+
+2004-06-05  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
+	`rsb_delta' in slot->metrics and tune side bearings slightly.
+
+2004-06-04  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-06-04  David Chester  <[email protected]>
+
+	Improve inter-letter spacing for autohinted glyphs.
+
+	* include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
+	`lsb_delta' and `rsb_delta'.
+
+	* src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
+	`rsb_delta' in slot->metrics and tune side bearings slightly.
+
+2004-06-04  David Turner  <[email protected]>
+
+	* src/autofit/*: Important fixes to the auto-fitter.  The output
+	now seems to be 100% equivalent to the auto-hinter, while being
+	about 2% faster (which proves that script-specific algorithm
+	selection isn't a performance problem).
+
+	To test it, change `autohint' to `autofit' in
+	<freetype/config/ftmodule.h> and recompile.
+
+	A few more testing is needed before making this the official
+	auto-hinting module.
+
+2004-06-02  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
+	warnings.
+
+2004-06-01  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
+	name record for the Apple platform is preferred to a non-English
+	entry for the Microsoft platform.  Problem reported by HANDA
+	Ken'ichi.
+
+2004-05-19  George Williams  <[email protected]>
+
+	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
+	auxiliary functions.
+	(T1_Get_MM_Var): Provide axis tags.
+	Use mm_axis_unmap and mm_weights_unmap to provide default values
+	for design and normalized axis coordinates.
+
+	* include/freetype/t1tables.h (PS_DesignMapRec): Change type of
+	`design_points' to FT_Long.
+	Update all users.
+
+2004-05-17  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
+	Reported by Mikey Anbary <[email protected]>.
+
+2004-05-15  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
+
+2004-05-15  George Williams  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_max_profile): Always set
+	face->root.num_glyphs.
+
+2004-05-14  Masatake YAMATO  <[email protected]>
+	    George Williams  <[email protected]>
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
+
+2004-05-14  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftcbasic.c (ftc_basic_family_compare,
+	ftc_basic_family_init, ftc_basic_family_get_count,
+	ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
+	ftc_basic_gnode_compare_faceid): Adjust parameters and return types
+	to prototypes given in header files from include/freetype/cache.
+	Use casts to proper types locally.
+	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
+	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
+	casts.
+
+	* src/cache/ftccback.h: Adjust parameters and return types to
+	prototypes given in header files from include/freetype/cache.
+
+	* src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
+	ftc_inode_weight): Adjust parameters and return types to prototypes
+	given in header files from include/freetype/cache.  Use casts to
+	proper types locally.
+
+	* src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
+	ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
+	types to prototypes given in header files from
+	include/freetype/cache.  Use casts to proper types locally.
+
+	* src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
+	ftc_cmap_node_weight, ftc_cmap_node_compare,
+	ftc_cmap_node_remove_faceid): Adjust parameters and return types to
+	prototypes given in header files from include/freetype/cache.  Use
+	casts to proper types locally.
+	(ftc_cmap_cache_class): Remove casts.
+
+	* src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
+	ftc_gcache_done): Adjust parameters and return types to prototypes
+	given in header files from include/freetype/cache.  Use casts to
+	proper types locally.
+
+	* src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
+	ftc_size_node_init, ftc_size_node_reset,
+	ftc_size_node_compare_faceid, ftc_face_node_init,
+	ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
+	return types to prototypes given in header files from
+	include/freetype/cache.  Use casts to proper types locally.
+
+	(ftc_size_list_class, ftc_face_list_class): Remove casts.
+
+2004-05-13  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
+	Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
+	(autohint_module_class): Remove casts.
+
+	* src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
+	ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
+	ft_outline_glyph_done, ft_outline_glyph_copy,
+	ft_outline_glyph_transform, ft_outline_glyph_bbox,
+	ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
+	to FT_XXXGlyph locally.
+	Use FT_CALLBACK_DEF throughout.
+	(ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
+	bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
+	and do a cast to BDF_CMap locally.
+	(bdf_cmap_class): Remove casts.
+
+2004-05-12  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.h (CFF_Builder): Remove `error'.
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
+	`Memory_Error' with `Fail' and update all users.
+
+2004-05-11  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (T1_ParseState): New
+	enumeration.
+	(T1_BuilderRec): Replace `path_begun' with `parse_state'.
+	Remove `error'.
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
+	`Memory_Error' with `Fail' and update all users.
+	Don't use `builder->error'.
+	Replace `path_begun' with `parse_state' and check parsing states.
+
+	* src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
+	Replace `path_begun' with `parse_state' and check parsing states.
+
+2004-05-10  George Williams  <[email protected]>
+
+	* src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
+	of error -- `avar' is optional so we can't rely on tt_done_blend
+	being called automatically.
+
+2004-05-09  George Williams  <[email protected]>
+
+	* src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
+	error handling.
+
+2004-05-07  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
+	pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
+	pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
+	typecast to the proper PFR_XXX types within the function.
+	Update code accordingly.
+
+	* src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
+	pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
+	arguments which are typecast to the proper PFR_XXX types within the
+	function.
+	Update code accordingly.
+	Use FT_CALLBACK_DEF throughout.
+	(pfr_metrics_service_rec, pfr_driver_class): Remove casts.
+
+2004-05-06  Masatake YAMATO  <[email protected]>
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
+	(*): Rename local variable OffsetToData to offsetToData.
+
+2004-05-06  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
+	cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
+	root fields directly.
+	* src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
+	frame before calling TT_Vary_Get_Glyph_Deltas.
+
+	* src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
+	consistency.
+	(pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
+	pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
+	are typecast to the proper PCF_XXX types within the function.
+	Update code accordingly.
+	(pcf_cmap_class): Remove casts.
+	(PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
+	PCF_XXX but FT_XXX arguments which are typecast to the proper
+	PCF_XXX types within the function.
+	Update code accordingly.
+	Use FT_CALLBACK_DEF throughout.
+	(PCF_Set_Point_Size): New wrapper function.
+	(PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
+	(pcf_driver_class): Remove casts.
+
+2004-05-04  Steve Hartwell  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_driver_done): Fix typo.
+
+2004-05-04  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
+	BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
+	are typecast to the proper BDF_XXX types within the function.
+	Update code accordingly.
+	Use FT_CALLBACK_DEF throughout.
+	(BDF_Set_Point_Size): New wrapper function.
+	(bdf_driver_class): Remove casts.
+
+	* src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
+	Don't use CFF_XXX but FT_XXX arguments which are typecast to the
+	proper CFF_XXX types within the function.
+	Update code accordingly.
+	Use FT_CALLBACK_DEF throughout.
+	(cff_driver_class): Remove casts.
+
+	* src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
+	cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
+	cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
+	Don't use CFF_XXX but FT_XXX arguments which are typecast to the
+	proper CFF_XXX types within the function.
+	Update code accordingly.
+	(cff_point_size_reset): New wrapper function.
+
+	* src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
+	cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
+	cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
+	Don't use CID_XXX but FT_XXX arguments which are typecast to the
+	proper CID_XXX types within the function.
+	Update code accordingly.
+	(cid_point_size_reset): New wrapper function.
+
+	* src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
+	Don't use CID_XXX but FT_XXX arguments which are typecast to the
+	proper CID_XXX types within the function.
+	Update code accordingly.
+
+	* src/cid/cidriver.c (cid_get_interface):
+	Don't use CID_XXX but FT_XXX arguments which are typecast to the
+	proper CID_XXX types within the function.
+	Update code accordingly.
+	Use FT_CALLBACK_DEF.
+	(t1cid_driver_class): Remove casts.
+
+	* src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
+	* src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
+	variables (this is done later).
+	(ft_var_load_avar): Fix call to FT_FRAME_ENTER.
+	(TT_Get_MM_Var): Fix size for `fvar_fields'.
+	(TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
+	correctly.
+
+	* src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
+	current size is zero.
+
+2004-05-03  Steve Hartwell  <[email protected]>
+
+	* src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
+	tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
+	tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
+	typecast to the proper TT_XXX types within the function.
+	Update code accordingly.
+
+	* src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
+	Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
+	FT_XXX arguments which are typecast to the proper TT_XXX types
+	within the function.
+	Update code accordingly.
+	(tt_driver_class): Remove casts.
+
+2004-05-02  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
+	is not NULL.  Reported by Gordon Childs <[email protected]>.
+
+2004-04-29  Werner Lemberg  <[email protected]>
+
+	* docs/formats.txt: Add more information on PFR format.
+
+2004-04-28  Werner Lemberg  <[email protected]>
+
+	* docs/formats.txt: New file.
+	* docs/CHANGES: Updated.
+
+2004-04-28  Masatake YAMATO  <[email protected]>
+
+	* include/freetype/internal/tttypes.h (GX_BlendRec_)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
+
+	* src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
+
+2004-04-27  Masatake YAMATO  <[email protected]>
+
+	* src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
+	for function declarations.
+
+2004-04-25  George Williams  <[email protected]>
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
+
+2004-04-25  Werner Lemberg  <[email protected]>
+
+	* src/truetype/Jamfile, docs/CHANGES: Updated.
+
+2004-04-24  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
+	* src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
+	* src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
+	Use FT_BEGIN_HEADER and FT_END_HEADER.
+	Use FT_LOCAL.
+
+2004-04-24  George Williams  <[email protected]>
+
+	Add support for Apple's distortable font technology (in GX fonts).
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
+
+	* include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
+	FT_MM_Var): New structures.
+	(FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
+	FT_Set_Var_Blend_Coordinates): New function declarations.
+
+	* include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
+	FT_Set_Var_Design_Func): New typedefs.
+	Update MultiMasters service.
+
+	* include/freetype/internal/tttypes.h
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
+	(GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
+	(TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
+	and `blend'.
+
+	* include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
+	macros.
+
+	* include/freetype/internal/fttrace.h: Add `ttgxvar'.
+
+	* src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
+	FT_Set_Var_Blend_Coordinates): New functions.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
+	flag for GX var fonts.
+
+	* src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
+
+	* src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	ttgxvar.c.
+
+	* src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
+	(tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
+	New service.
+	(tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
+
+	* src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	ttgxvar.h.
+	(TT_Process_Simple_Glyph, load_truetype_glyph)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Support GX var fonts.
+
+	* src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	ttgxvar.h.
+	(tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
+	tt_done_blend.
+
+	* src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	ttgxvar.h.
+	(tt_face_load_cvt)  [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
+	tt_face_vary_cvt.
+
+	* src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
+
+	* src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
+	and T1_Set_Var_Design.
+
+	* src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
+	(T1_Get_MM_Var, T1_Set_Var_Design): New functions.
+
+	* src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
+	function declarations.
+
+2004-04-23  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
+	declaration and move to...
+	* include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
+	(FREETYPE_PATCH): Set to 9.
+
+	* src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
+
+	* builds/unix/configure.ac (version_info): Set to 9:7:3.
+	* builds/unix/configure: Updated.
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj: s/218/219/.
+
+	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+	s/2.1.8/2.1.9/.
+
+	* docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-04-21  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
+	(ps_parser_load_field): Use FT_CHAR_BIT.
+
+2004-04-21  David Turner  <[email protected]>
+
+
+	* Version 2.1.8 released.
+	=========================
+
+
+	* src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
+
+	* src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
+	(af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
+	Remove compiler warnings.
+
+	* src/autofit/aftypes.h: Undefine AF_DEBUG.
+
+	* src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
+	pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
+	(ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
+	t42_service_ps_font_name): Decorate data arrays with `const' to
+	avoid populating the `.data' segment.
+
+	* src/lzw/Jamfile: New file.
+
+2004-04-20  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (T1Radix): Renamed to...
+	(ps_radix): This.
+	Update current cursor position.
+
+	* docs/CHANGES: Updated.
+
+2004-04-18  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
+	src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
+	FT_UInt.  From Lex Warners.
+
+2004-04-17  Chisato Yamauchi  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
+	from 2004-03-19.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
+
+	* src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
+	`static'.
+	Remove unused function `RepadBitmap'.
+	* src/pcf/pcfdrivr.c: Don't include pcfutil.h.
+
+2004-04-16  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype-config.in (usage): Fix and improve usage
+	information.
+
+2004-04-15  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
+	FT_CHAR_BIT.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
+	glyph is vertically distorted or mirrored.
+
+	* src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
+	for embedded bitmaps.
+
+	* docs/CHANGES: Updated.
+
+2004-04-15  bytesoftware  <[email protected]>
+
+	* include/freetype/config/ftconfig.h, src/base/ftstream.c
+	(FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
+
+2004-04-14  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
+
+2004-04-14  Alex Strelnikov  <[email protected]>
+
+	* src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
+	of error.
+
+2004-04-14  Werner Lemberg  <[email protected]>
+
+	* src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
+	* builds/unix/configure.ac: Don't try to remove `-ansi' compilation
+	switch on the Mac.
+
+	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+	--copy' from libtool 1.5.6.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.8a.
+	* builds/unix/configure: Regenerated with autoconf 2.59a.
+
+2004-04-13  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftconfig.h: Use CHAR_BIT to define
+	size of FT_SIZEOF_xxx.
+
+2004-04-12  Chisato Yamauchi  <[email protected]>
+
+	* include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
+	TT_Load_SBit_Metrics_Func): New typedefs.
+	(SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+	* src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
+	declarations.
+	* src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
+	(tt_find_sbit_image): This.
+	Updated all callers.
+	(load_sbit_metrics): Renamed to...
+	(tt_load_sbit_metrics): This.
+	Updated all callers.
+
+2004-04-12  Werner Lemberg  <[email protected]>
+
+	* configure: Accept makepp also.
+
+	* builds/unix/detect.mk: Use proper path to unix-def.mk.
+	* builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
+	* builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
+	Use BUILD_DIR.
+
+	* docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
+	documentation on makepp.
+
+2004-04-11  Werner Lemberg  <[email protected]>
+
+	* src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
+
+2004-04-10  Werner Lemberg  <[email protected]>
+
+	* src/lzw/ftlzw.c: Include zopen.h dependent on
+	FT_CONFIG_OPTION_USE_LZW.
+
+	* src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
+
+2004-04-02  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+	--copy' from libtool 1.5.2.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.8a.
+	* builds/unix/configure: Regenerated with autoconf 2.59a.
+
+2004-04-01  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
+	AC_COMPILE_IFELSE.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.8a.
+	* builds/unix/configure: Regenerated with autoconf 2.59a.
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org.
+	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+	`texinfo' CVS module at subversions.gnu.org.
+	* builds/freetype.mk (refdoc): Updated.
+
+2004-03-31  Werner Lemberg  <[email protected]>
+
+	Handle broken FNT files which don't have a trailing NULL byte
+	in the face name string.
+
+	* src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
+	* src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
+	(FNT_Face_Init): Append a final zero byte to the font face name.
+
+2004-03-30  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
+	2004-03-19.
+
+2004-03-27  Werner Lemberg  <[email protected]>
+
+	* src/base/descrip.mms (OBJS): Add ftbbox.obj.
+
+2004-03-26  George Williams  <[email protected]>
+
+	Add vertical phantom points.
+
+	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
+	`top_bearing', `vadvance', `pp3', and `pp4'.
+
+	* src/autofit/afloader.c (af_loader_load_g): Handle two more points.
+
+	* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
+	* src/truetype/ttgload.c (Get_VMetrics): New function.
+	(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
+	points.
+	(load_truetype_glyph): Use Get_VMetrics.
+	Handle two more points.
+	(compute_glyph_metrics): Thanks to vertical phantom points we now
+	can always compute `advance_height' and `top_bearing'.
+	* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
+	points.
+
+
+	* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
+	`news'.
+
+2004-03-21  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
+
+2004-03-20  Steve Hartwell  <[email protected]>
+
+	* src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
+	value for `selection' as `select all'.
+
+2004-03-19  Steve Hartwell  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
+	values > 0 if loading non-TTC fonts.
+
+	* src/base/ftmac.c (open_face_from_buffer): Set positive face_index
+	to zero before calling FT_Open_Face.
+
+	* docs/CHANGES: Updated.
+
+2004-03-04  Werner Lemberg  <[email protected]>
+
+	* Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
+	Add LZW module.
+
+	* Jamfile.in: Removed.
+
+	* docs/CHANGES: Updated.
+
+	* include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
+	s/ABS/FT_ABS/.  Updated all callers.
+
+	* src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
+	(PCF_Face_Init): Use FT_ERROR_BASE.
+
+2004-03-04  Albert Chin  <[email protected]>
+
+	Add support for PCF fonts compressed with LZW (extension .pcf.Z,
+	created with `compress').
+
+	* include/freetype/config/ftoption.h, devel/ftoption.h
+	(FT_CONFIG_OPTION_USE_LZW): New macro.
+
+	* include/freetype/ftlzw.h: New file.
+	* include/freetype/config/ftheader.h (FT_LZW_H): New macro for
+	ftlzw.h.
+
+	* src/lzw/*: New files.
+
+	* src/pcf/pcfdrivr.c: Include FT_LZW_H.
+	(PCF_Face_Init): Try LZW also.
+
+	* src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
+	Beautify.
+
+2004-03-03  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
+
+2004-03-02  Werner Lemberg  <[email protected]>
+
+	Add embedded bitmap support to CFF driver.
+
+	* src/cff/cffobjs.h (CFF_SizeRec): New structure.
+
+	* src/cff/cffgload.c (cff_builder_init): Updated.
+	(cff_slot_load): Updated.
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
+
+	* src/cff/cffobjs.c (sbit_size_reset)
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
+	(cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
+	(cff_size_reset): Updated.
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
+
+	* src/cff/cffdrivr.c (Load_Glyph): Updated.
+	(cff_driver_class): Use CFF_SizeRec.
+
+	* docs/CHANGES: Updated.
+
+2004-03-01  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
+	FT_RoundFix but FT_PIX_ROUND.
+	(psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
+
+	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
+	(psh_glyph_find_strong_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
+	(psh_glyph_find_blue_points): New function.  Needed for fonts like
+	p052003l.pfb (URW Palladio L Roman) which have flex curves at the
+	base line within blue zones, but the flex curves aren't covered by
+	hints.
+	(ps_hints_apply): Use psh_glyph_find_blue_points.
+
+2004-02-27  Garrick Meeker  <[email protected]>
+
+	* builds/unix/configure.ac: Fix compiler flags for
+	`--with-old-mac-fonts'.
+	* builds/unix/configure: Regenerated.
+
+	* src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
+	(FT_New_Face_From_Resource): New function.
+	(FT_New_Face): Use FT_New_Face_From_Resource.
+	(FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
+	[__MWERKS__]: Don't include FSp_fopen.h.
+
+2004-02-26  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshglob.c (psh_globals_new): Fix value of
+	`dim->stdw.count'.
+	Don't assign default values to blue scale and blue shift.
+
+2004-02-25  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-02-25  Garrick Meeker  <[email protected]>
+	    Steve Hartwell  <[email protected]>
+
+	Improve MacOS fond support.  Provide a new API
+	`FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
+
+	* src/base/ftmac.c [__MWERKS__]: Include FSp_fopen.h.
+	STREAM_FILE [__MWERKS__]: New macro.
+	(ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
+	(file_spec_from_path) [__MWERKS__]: Updated #if statement.
+	(get_file_type, make_lwfn_spec): Use `const' for argument.
+	(is_dfont) [TARGET_API_MAC_CARBON]: Removed.
+	(count_face_sfnt, count_faces): New functions.
+	(parse_fond): Do some range checking.
+	(read_lwfn): Change type of second argument.
+	No longer call FSpOpenResFile.
+	(OpenFileAsResource): New function.
+	(FT_New_Face_From_LWFN): Use `const' for second argument.
+	Use OpenFileAsResource.
+	(FT_New_Face_From_Suitcase): Change type of second argument.
+	No longer call FSpOpenResFile.
+	Loop over all resource indices.
+	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
+	(FT_GetFile_From_Mac_Name): Use `const' for first argument.
+	(ResourceForkSize): Removed.
+	(FT_New_Face): Updated to use new functions.
+	(FT_New_Face_From_FSSpec): New function.
+
+	* include/freetype/ftmac.h: Updated.
+
+2004-02-24  Malcolm Taylor  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
+	Handle case where outline->num_vedges is zero while computing hinted
+	metrics.
+
+2004-02-24  Gordon Childs  <[email protected]>
+
+	* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
+	for `count'.
+
+2004-02-24  Werner Lemberg  <[email protected]>
+
+	* include/freetype/t1tables.h (PS_PrivateRec): Add
+	`expansion_factor'.
+
+	* src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
+	of blues->no_overshoots -- `blues_scale' is stored with a
+	magnification of 1000, and `scale' returns fractional pixels.
+
+	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
+	`blue_fuzz', `expansion_factor', and `blue_scale' according to the
+	Type 1 specification.
+
+	* src/type1/t1tokens.h: Handle `ExpansionFactor'.
+
+	* docs/CHANGES: Updated.
+
+2004-02-24  Masatake YAMATO  <[email protected]>
+
+	Provide generic access to MacOS resource forks.
+
+	* src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
+	files.
+
+	* src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
+	(Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
+	`resource_listoffset' and `resource_data' and adapt code
+	accordingly.  These values are calculated outside of the function
+	now.
+	Add new argument `offsets'.
+	(IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
+	`FT_Raccess_Get_DataOffsets'.
+	(load_face_in_embedded_rfork): New function.
+	(load_mac_face): Use load_face_in_embedded_rfork.
+	(ft_input_stream_new): Renamed to...
+	(FT_Stream_New): This.  Use FT_BASE_DEF.  Updated all callers.
+	(ft_input_stream_free): Renamed to...
+	(FT_Stream_Free): This.  Use FT_BASE_DEF.  Updated all callers.
+
+	* src/base/ftbase.c: Include ftrfork.c.
+
+	* src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
+	New macro.
+
+	* include/freetype/internal/fttrace.h: Added `rfork' as a new
+	trace definition.
+
+	* include/freetype/internal/ftstream.h: Declare FT_Stream_New and
+	FT_Stream_Free.
+
+	* include/freetype/config/ftoption.h, devel/ftoption.h
+	(FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
+
+	* include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
+
+2004-02-23  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+	* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
+
+2004-02-23  Masatake YAMATO  <[email protected]>
+
+	Provide a simple API to control FreeType's tracing levels.
+
+	* include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
+	FT_Trace_Get_Name): New declarations.
+
+	* src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
+	functions.
+
+2004-02-23  David Turner  <[email protected]>
+
+	* src/autofit/afhints.c, src/autofit/afhints.h,
+	src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
+	bugs have been fixed.  The auto-fitter works, doesn't crash, but
+	still produces unexpected results...
+
+2004-02-21  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
+	the accepted shift for strong points in fractional pixels (which
+	is a heuristic value).
+	(psh_glyph_find_strong_points): Compute threshold for
+	psh_hint_table_find_strong_points.
+	(psh_hint_table_find_strong_point): Add parameter to pass threshold.
+
+2004-02-20  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
+	ps_mask_table_alloc but ps_mask_table_last.
+	(ps_hints_t2mask): Use correct position and number for vertical
+	and horizontal hinter mask bits.
+
+	* docs/CHANGES: Updated.
+
+2004-02-19  Werner Lemberg  <[email protected]>
+
+	* src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
+	* src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
+
+2004-02-18  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
+
+	* src/base/ftglyph.c (ft_bitmap_glyph_class,
+	ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render): Handle
+	FT_RENDER_MODE_LIGHT.
+
+2004-02-17  Werner Lemberg  <[email protected]>
+
+	Fix callback functions in cache module.
+
+	* src/cache/ftccback.h: New file for callback declarations.
+
+	* src/cache/ftcbasic.c (ftc_basic_family_compare,
+	ftc_basic_family_init, ftc_basic_family_get_count,
+	ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
+	ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
+	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
+	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
+	Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
+
+	* src/cache/ftccache.c: Include ftccback.h.
+	(ftc_cache_init, ftc_cache_done): New wrapper functions which use
+	FT_LOCAL_DEF.
+
+	* src/cache/ftccmap.c: Include ftccback.h.
+	(ftc_cmap_cache_class): Use local wrapper functions.
+
+	* src/cache/ftcglyph.c: Include ftccback.h.
+	(ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
+	functions which use FT_LOCAL_DEF.
+
+	* src/cache/ftcimage.c: Include ftccback.h.
+	(ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
+	functions which use FT_LOCAL_DEF.
+
+	* src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
+	Use FT_CALLBACK_TABLE_DEF.
+
+	* src/cache;/ftcsbits.c: Include ftccback.h.
+	(ftc_snode_free, ftc_snode_new, ftc_snode_weight,
+	ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
+
+	* src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
+
+2004-02-17  Masatake YAMATO  <[email protected]>
+
+	* include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
+	(FT_EXPORT_DEF -> FT_EXPORT).
+
+	* include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
+
+2004-02-15  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
+
+2004-02-14  Masatake YAMATO  <[email protected]>
+
+	* builds/unix/ftsystem.c: Include errno.h.
+	(ft_close_stream): Renamed to...
+	(ft_close_stream_by_munmap): This.
+	(ft_close_stream_by_free): New function.
+	(FT_Stream_Open): Use fallback method if mmap fails.
+	Use proper function for closing the stream.
+
+2004-02-14  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_dict): Initialize `start_binary'.
+
+2004-02-13  Robert Etheridge  <[email protected]>
+
+	* src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
+	(T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
+	of underline_position and underline_thickness.
+
+2004-02-12  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
+	ppem values don't change.  Suggested by Graham Asher.
+
+2004-02-11  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_face_open): Always allocate
+	face->cid_stream so that we can deallocate it safely.
+
+2004-02-10  Werner Lemberg  <[email protected]>
+
+	Make the PS parser more tolerant w.r.t. non-standard font data.  In
+	general, an error is only reported in case of a syntax error; a
+	wrong type is now simply ignored (if possible).  To be independent
+	of the order of various MM-specific keywords, the parse_shared_dict
+	routine has been removed -- the PS parser is now capable to skip
+	this data.  It no longer fails on parsing e.g.
+
+	  dup /WeightVector exch def
+
+	Since the token following /WeightVector isn't `[' (starting an
+	array) it is simply ignored.
+
+	* include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
+	new internal error value.
+
+	* src/type1/t1load.c (parse_blend_axis_types,
+	parse_blend_design_positions, parse_blend_design_map): Return
+	T1_Err_Ignore if no proper array is following the keyword.
+	(parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
+	structure, if necessary.
+	Return T1_Err_Ignore if no proper array is following the keyword.
+	(parse_shared_dict): Removed.
+	(parse_encoding): Set parser->root.error to return T1_Err_Ignore
+	if no result can be obtained.
+	Check for errors before accessing `elements' array.
+	(t1_keywords): Remove /shareddict.
+	(parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
+	Set keyword_flag only in case of success.
+	Check error code if skipping an unrecognized token.
+	(T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
+	if blend commands haven't set up a proper MM font.
+
+	* src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
+	code for synthetic fonts.
+	Return PSaux_Err_Ignore if no proper value has been found.
+
+2004-02-09  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_endchar>: Preserve glyph width before calling
+	cff_operator_seac.
+
+2004-02-09  Martin Muskens  <[email protected]>
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
+	first argument for `hintmask' and `cntrmask' operators also.
+
+2004-02-08  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.in: Call AC_SUBST for `enable_shared',
+	`hardcode_libdir_flag_spec', and `wl'.
+	* builds/unix/configure: Regenerated.
+
+	* builds/unix/freetype-config.in: Make --prefix and --exec-prefix
+	actually work.
+	Report a proper --rpath (or -R) value for --libs argument if a
+	shared library has been built.
+
+	* docs/CHANGES: Updated.
+
+2004-02-07  Keith Packard  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
+	computation of various vertical and horizontal metric values.
+
+	* src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
+	Ditto.
+
+2004-02-07  Werner Lemberg  <[email protected]>
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
+
+2004-02-07  Vitaliy Pasternak  <[email protected]>
+
+	* builds/win32/visualc/freetype.sln,
+	builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
+
+2004-02-03  Werner Lemberg  <[email protected]>
+
+	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
+	Initialize `node'.
+	* src/type1/t1load.c (parse_dict): Initialize `have_integer'.
+
+2004-02-02  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
+	outside of /Subrs or /CharStrings.  This can happen if there is
+	additional code manipulating those two arrays so that FreeType
+	doesn't recognize them properly.
+	(T1_Open_Face): Improve an error message.
+
+2004-02-01  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_charstrings): Exit immediately if
+	there are no elements in /CharStrings.  This is needed for fonts
+	like Optima-Oblique which not only define /CharStrings but access it
+	also.
+
+2004-02-01  David Turner  <[email protected]>
+
+	* src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
+
+	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
+	<FTC_INLINE>: Provide macro version which doesn't use inline code.
+	* include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
+	<FTC_INLINE>: Ditto.
+	Use FTC_MRULIST_LOOKUP_CMP.
+	* include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
+	macro.
+	(FTC_MRULIST_LOOKUP): Use it.
+
+	* src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
+	* src/cache/ftcbasic.c: Fix compiler warnings.
+	* src/cache/ftcmanag.c (FTC_Manager_LookupSize,
+	FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
+	* src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
+	heavy testing).
+
+	* Jamfile: Updating `refdoc' target, and adding `autohint' to the
+	list of modules to build.  Both the autohinter and autofitter will
+	be built by default.  But which one will be used is determined by
+	the content of `ftmodule.h'.
+
+	* src/autofit/*: Many updates, but the code is still buggy...
+
+2004-01-31  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
+	accent offset.
+	Update code similarly to the seac support for Type 1 fonts.
+	(cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
+	of accent offset.
+	Don't hint glyphs twice if seac is emulated.
+	<cff_op_flex>: Assign correct point tags.
+	* docs/CHANGES: Updated.
+
+2004-01-30  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
+	FT_MEM_COPY, for copying the private dict.
+
+	* src/type1/t1load.c (parse_subrs): Assign number of subrs only
+	in first run.
+	(parse_charstrings): Parse /CharStrings in second run without
+	assigning values.
+	(parse_dict): Skip all /CharStrings arrays but the first.  We need
+	this for non-standard fonts like `Optima' which have different
+	outlines depending on the resolution.  Note that there is no
+	guarantee that we get fitting /Subrs and /CharStrings arrays; this
+	can only be done by a real PS interpreter.
+
+2004-01-29  Antoine Leca  <[email protected]>
+
+	* builds/win32/visualc/index.html: New file, giving detailed
+	explanations about forcing CR+LF line endings for the VC++ project
+	files.
+
+2004-01-22  Garrick Meeker  <[email protected]>
+
+	* src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
+
+2004-01-22  Werner Lemberg  <[email protected]>
+
+	Add support for the hexadecimal representation of binary data
+	started with `StartData' in CID-keyed Type 1 fonts.
+
+	* include/freetype/internal/t1types.h (CID_FaceRec): Add new
+	members `binary_data' and `cid_stream'.
+
+	* src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
+	(cid_hex_to_binary): New auxiliary function.
+	(cid_face_open): Add new argument `face_index' to return quickly
+	if less than zero.  Updated all callers.
+	Call `cid_hex_to_binary', then open and assign memory stream to
+	`face->cid_stream' if `parser->binary_length' is non-zero.
+	* src/cid/cidload.h: Updated.
+
+	* src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
+	`cid_stream'.
+
+	* src/cid/cidparse.c (cid_parser_new): Check arguments to
+	`StartData' and set parser->binary_length accordingly.
+	* src/cid/cidparse.h (CID_Parser): New member `binary_length'.
+
+	* src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
+
+	* docs/CHANGES: Updated.
+
+2004-01-21  Werner Lemberg  <[email protected]>
+
+	include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
+	(ft_atol): This.
+	* src/base/ftdbgmem.c: s/atol/ft_atol/.
+	* src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
+
+2004-01-20  Masatake YAMATO  <[email protected]>
+
+	* include/freetype/ftcache.h: Delete duplicated definition of
+	FTC_FaceID.
+
+	* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
+	Info service function if the cmap comes from sfnt.  Return 0 if the
+	cmap is synthesized in cff module.
+
+2004-01-20  David Turner  <[email protected]>
+
+	* src/cache/ftcmanag.c (ftc_size_node_compare): Call
+	FT_Activate_Size.
+
+2004-01-20  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
+	CR, LF, or CR/LF after `eexec'.
+
+2004-01-18  David Turner  <[email protected]>
+
+	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
+	warning.
+
+	* src/tools/docmaker/*: Updating beautifier tool.
+
+2004-01-15  David Turner  <[email protected]>
+
+	* src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
+	infinite loop bug.
+
+	* include/freetype/ftstroke.h: Include FT_GLYPH_H.
+	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
+	declarations.
+
+	* src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
+	(FT_Outline_GetOutsideBorder): Inverse result.
+	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
+	functions.
+	(FT_Stroker_EndSubPath): Close path if needed.
+	(FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
+
+	* include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
+	FTC_Manager_LookupSize): Moved to...
+	* include/freetype/ftcache.h (FTC_ScalerRec,
+	FTC_Manager_LookupSize): Here.
+
+	* src/tools/docmaker/docbeauty.py: New file to beautify the
+	documentation comments (e.g., to convert them to single block border
+	mode).
+	* src/tools/docmaker/docmaker.py (file_exists, make_file_list):
+	Moved to...
+	* src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
+
+2004-01-14  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
+	FT_ARRAY_MOVE): New macros to make copying arrays easier.
+	Updated all relevant code to use them.
+
+2004-01-14  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
+	Use number of charstrings as argument to CFF_Load_FD_Select (as
+	documented in the CFF specs).
+
+2004-01-13  Graham Asher  <[email protected]>
+
+	* src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
+	`glyph->memory' up to free arrays properly in case of failure.
+
+2004-01-10  Masatake YAMATO  <[email protected]>
+
+	Make `FT_Get_CMap_Language_ID' work with CFF.  Bug reported by
+	Steve Hartwell <[email protected]>.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
+	(cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
+	(cff_get_cmap_info): New function.
+	(cff_service_get_cmap_info) New entry for cff_services.
+
+	* src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
+	Suggested by Steve Hartwell <[email protected]>.
+
+2004-01-03  Masatake YAMATO  <[email protected]>
+
+	* src/base/ftobjs.c (destroy_charmaps): New function.
+	(destroy_face, open_face): Use `destroy_charmaps'.
+
+2004-01-01  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2004-01-01  Michael Jansson  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
+	size->metrics.descender.
+
+2003-12-31  Wolfgang Domröse  <[email protected]>
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	[FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
+	<cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
+	cast for accessing arguments.
+
+2003-12-31  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
+	change.  It's not necessary.
+
+2003-12-29  Smith Charles  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
+	flags set' correctly.
+
+2003-12-29  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
+	`full' and `weight' properly.
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
+	tracing output.
+
+2003-12-26  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
+	Use FT_UInt for ppem values.
+	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
+	ppem values.
+	* src/sfnt/ttsbit.h: Updated.
+
+	* src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
+	larger than -0FFFF.
+
+2003-12-25  Werner Lemberg  <[email protected]>
+
+	* src/base/fttrigon.c, src/base/ftgloadr.c: Include
+	FT_INTERNAL_OBJECTS_H.
+
+	* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
+	FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
+	C++ compilers.
+
+	* src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
+	s/select/selection/ to avoid compiler warning.
+	* src/cff/cffload.h: s/select/ftselect/ to avoid potential
+	compiler warning.
+
+2003-12-24  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftcsbits.c (FTC_SNode_Weight):
+	s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
+
+2003-12-24  David Turner  <[email protected]>
+
+	* Fixed compilation problems in the cache sub-system.
+
+	* Partial updates to src/autofit.
+
+	* Jamfile (FT2_COMPONENTS): Add autofit module.
+
+2003-12-23  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
+	CID-keyed fonts.
+
+2003-12-23  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
+	FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_PIX_CEIL): New macros.
+	They are used to avoid compiler warnings with very pedantic compilers.
+	Note that `(x) & -64' causes a warning if (x) is not signed.  Use
+	`(x) & ~63' instead!
+	Updated all related code.
+
+	Add support for extraction of `inside' and `outside' borders.
+
+	* src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
+	(FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
+	FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
+	(FT_StrokeBorderRec): New boolean member `valid'.
+	(ft_stroke_border_get_counts): Updated.
+	* include/freetype/ftstroke.h: Updated.
+
+2003-12-22  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
+	to describe the `charset' field in FT_WinFNT_HeaderRec.
+	* src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
+	FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
+
+	* include/freetype/freetype.h (FT_Encoding): Improve comment,
+	based on work by Detlef Würkner <[email protected]>.
+
+	* docs/CHANGES: Updated.
+
+2003-12-22  David Turner  <[email protected]>
+
+	* include/freetype/ftcache.h,
+	include/freetype/cache/ftcmanag.h,
+	include/freetype/cache/ftccache.h,
+	include/freetype/cache/ftcmanag.h,
+	include/freetype/cache/ftcmru.h (added),
+	include/freetype/cache/ftlru.h (removed),
+	include/freetype/cache/ftcsbits.h,
+	include/freetype/cache/ftcimage.h,
+	include/freetype/cache/ftcglyph.h,
+	src/cache/ftcmru.c,
+	src/cache/ftcmanag.c,
+	src/cache/ftccache.c,
+	src/cache/ftcglyph.c,
+	src/cache/ftcimage.c,
+	src/cache/ftcsbits.c,
+	src/cache/ftccmap.c,
+	src/cache/ftcbasic.c (added),
+	src/cache/ftlru.c (removed):
+
+	  *Complete* rewrite of the cache sub-system to `solve' the
+	  following points:
+
+	    - all public APIs have been moved to FT_CACHE_H, everything
+	      under `include/freetype/cache' is only needed by client
+	      applications that want to implement their own caches
+
+	    - a new function named FTC_Manager_RemoveFaceID to deal
+	      with the uninstallation of FaceIDs
+
+	    - the image and sbit cache are now abstract classes, that
+	      can be extended much more easily by client applications
+
+	    - better performance in certain areas.  Further optimizations
+	      to come shortly anyway...
+
+	    - the FTC_CMapCache_Lookup function has changed its signature,
+	      charmaps can now only be retrieved by index
+
+	    - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
+	      FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
+	      private header for the moment)
+
+2003-12-21  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
+	is encountered.
+
+2003-12-19  Werner Lemberg  <[email protected]>
+
+	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32.  For
+	example, the Japanese Hiragino font already contains 15 subfonts.
+
+	* src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
+	CID-keyed fonts.
+
+	* devel/ftoption.h: Define FT_DEBUG_MEMORY.
+
+2003-12-18  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
+	* src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
+
+2003-12-18  Werner Lemberg  <[email protected]>
+
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
+	`cid_count' to `FT_ULong'.
+
+	* src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
+	array.
+
+	* src/cff/cffload.c (cff_charset_done): Free `cids' array.
+	(cff_font_load): Create cids array only for CID-keyed fonts which
+	are subsetted.
+
+	* src/cff/cffobjs.c (cff_face_init): Check the availability of
+	the PSNames modules for non-pure CFFs also.
+	Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
+	CID-keyed.
+
+	* src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
+
+2003-12-17  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Don't set
+	FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
+	table.
+
+	* docs/CHANGES: Updated.
+
+2003-12-17  Masatake YAMATO  <[email protected]>
+
+	Add new function FT_Get_CMap_Language_ID to extract the language ID
+	for TrueType/sfnt fonts.
+
+	* include/freetype/internal/services/svttcmap.h: New file.
+	* include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
+	svttcmap.h.
+
+	* src/sfnt/sfdriver.c: Include ttcmap0.h.
+	(tt_service_get_cmap_info): New service.
+	(sfnt_services): Updated.
+
+	* src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
+	(tt_cmap*_class_rec): Add tt_cmap*_get_info members.
+	(tt_get_cmap_info): New function.
+	* src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
+	(TT_CMap_ClassRec): New field `get_cmap_info'.
+	(tt_get_cmap_info): New declaration.
+
+	* src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
+	(FT_Get_CMap_Language_ID): New function implementation.
+	* include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
+	function declaration.
+
+2003-12-16  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed.  Obsolete.
+
+	* include/freetype/internal/sfnt.h (SFNT_Interface): Remove
+	obsolete fields `load_charmap' and `free_charmap'.
+	(TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
+	* src/sfnt/sfnt.c: Don't include ttcmap.c.
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
+	* src/sfnt/ttload.c: Don't include ttcmap.h.
+	* src/sfnt/sfdriver.c: Don't include ttcmap.h.
+	(sfnt_interface): Updated.
+
+	* include/freetype/internal/tttypes.h (TT_TableDirRec,
+	TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
+	TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
+	TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
+	TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
+	Obsolete.
+	* src/cff/cffobjs.h (CFF_CharMapRec): Removed.  Obsolete.
+
+2003-12-15  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2003-12-15  Wolfgang Domröse  <[email protected]>
+
+	* builds/atari/*: New directory for building FreeType 2 on Atari
+	with the PureC compiler.
+
+2003-12-12  Wolfgang Domröse  <[email protected]>
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
+	cast.
+	* src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
+	value is either 0 or 1.
+
+2003-12-12  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
+	(cff_get_name_index): Return if no PSNames service is available.
+	(cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
+	* src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
+	CID-keyed fonts.  This is the inverse mapping of `sids'.
+	* src/cff/cffload.c (cff_charset_load): New argument `invert'.
+	Initialize charset->cids if `invert' is set.
+	(cff_font_load): In call to cff_charset_load, set `invert' to true
+	for CID-keyed fonts.
+	* src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
+	and map it to the real glyph index.
+
+	* docs/CHANGES: Updated.
+
+2003-12-11  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Don't set
+	FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
+	Don't construct a cmap for CID-keyed fonts.
+
+2003-12-10  Werner Lemberg  <[email protected]>
+
+	Use implementation specific SID value 0xFFFF to indicate that
+	a dictionary element is missing.
+
+	* src/cff/cffload.c (cff_subfont_load): Initialize all fields
+	which hold SIDs to 0xFFFF.
+	(cff_index_get_sid_string): Handle SID value 0xFFFF.
+	Handle case where `psnames' is zero.
+	(cff_font_load): Updated.
+	Don't load encoding for CID-keyed CFFs.
+
+	* src/cff/cffobjs.c (cff_face_init): Updated.
+	Don't check for PSNames module if font is CID-keyed.
+	Compute style name properly (using the same algorithm as in the
+	CID driver).
+	Fix computation of style flags.
+
+	* src/cff/cfftoken.h: Comment out handling of base_font_name.
+	Rename `postscript' field to `embedded_postscript'
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
+	and `postscript'.
+
+2003-12-10  Detlef Würkner  <[email protected]>
+
+	* src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
+	of the similar BDF function).
+	(pcf_service_bdf): Use it.
+
+2003-12-09  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
+	only if a `post' table is present.
+
+2003-12-09  George Williams  <[email protected]>
+
+	* src/base/ftobjs.c (load_mac_face): Recent versions of Linux
+	support Mac's HFS+ file system, thus enable code to read /rsrc on
+	non-Macintosh platforms also.
+
+2003-12-08  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (PS_TableRec): Change type
+	of `lengths' to FT_PtrDist.
+	(T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
+	* include/freetype/internal/t1types.h (T1_FontRec): Change type
+	of `subrs_len' and `charstrings_len' to FT_PtrDist.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
+	variable with better solution.
+	(IsMacResource): Remove unused variable `map_len'.
+	Replace `junk' variable with better solution.
+	(FT_Open_Face) [!FT_MACINTOSH]: Add conditional
+	FT_CONFIG_OPTION_MAC_FONTS.
+
+2003-12-08  Wolfgang Domröse  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_hint_edges,
+	ah_hinter_align_strong_points): Add some casts.
+
+	* src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
+	of `pos' to FT_Long.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource,
+	Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
+
+	* src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
+
+2003-12-07  Werner Lemberg  <[email protected]>
+
+	* docs/raster.txt: New file, taken from FreeType 1 and completely
+	revised.
+
+2003-12-04  Masatake YAMATO  <[email protected]>
+
+	* src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
+	t1_interface.  t1_interface is used.
+
+2003-11-27  David Turner  <[email protected]>
+
+	* src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
+	2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
+	the scaling values for outline units, not for metric units.
+
+2003-11-25  Werner Lemberg  <[email protected]>
+
+	* src/base/ftcalc.c, include/freetype/internal/ftcalc.h
+	(FT_MulDiv_No_Round): Surround code with `#ifdef
+	TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
+
+2003-11-23  Werner Lemberg  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
+	64 bit version).
+	* include/freetype/internal/ftcalc.h: Updated.
+
+	* src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
+	(TT_INT64): Removed.
+	(DO_DIV): Use TT_MULDIV_NO_ROUND.
+
+	* src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
+	metrics->x_scale and metrics->y_scale.
+
+2003-11-22  Rogier van Dalen  <[email protected]>
+
+	* src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
+	(Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
+	functions.  Similar to Direct_Move, Direct_Move_X, and
+	Direct_Move_Y but without touching.
+	(Compute_Funcs): Use new functions.
+
+	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
+	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
+	Round_Super_45): Fix rounding of value zero.
+
+	(DO_DIV): Don't use TT_MULDIV.
+
+	(Ins_SHC): This instruction actually touches the points.
+	(Ins_MSIRP): Fix undocumented behaviour.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
+
+2003-11-22  Werner Lemberg  <[email protected]>
+
+	* docs/VERSION.DLL, docs/CHANGES: Updated.
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
+	metrics->y_scale really precise.
+
+	(FT_Load_Glyph): Update computation of linearHoriAdvance and
+	linearVertAdvance.
+
+	* src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
+
+2003-11-22  David Turner  <[email protected]>
+
+	* src/autofit/*: More updates.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+	* builds/unix/configure.ac (version_info): Set to 9:6:3.
+	* README: Updated.
+
+2003-11-13  John A. Boyd Jr.  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
+	(pcf_interpret_style): Replace spaces with dashes in properties
+	SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
+
+2003-11-11  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2003-11-11  John A. Boyd Jr.  <[email protected]>
+
+	Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
+	fonts.
+
+	* src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
+	(BDF_Face_Init): Don't handle style properties but call
+	bdf_interpret_style.
+
+	* src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
+	(pcf_load_font): Don't handle style properties but call
+	pcf_interpret_style.
+
+2003-11-07  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.1.7 released.
+	=========================
+
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+	* builds/unix/ft2unix.h: Fix comments.
+
+	* builds/unix/ftconfig.in: Synchronized with ANSI version.
+	Use `#undef' in templates as recommended in the autoconf
+	documentation.
+	Since real `#undef' lines don't survive during configuration, use
+	`/undef' instead; the postprocessing facility of the
+	AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.
+
+	* builds/unix/install.mk (install): Install Unix version of
+	`ftconfig.h'.
+
+	* builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
+	to include the correct `ftconfig.h' file.
+
+	* builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
+	(FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.
+
+	* builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.
+
+	* builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
+	AC_CONFIG_HEADER to create ftconfig.h, and use second argument
+	to replace `/undef' with `#undef'.
+	Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
+	Use AS_HELP_STRING in AC_ARG_WITH.
+	Update syntax to autoconf 2.59.
+
+	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+	--copy' from libtool 1.5.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.7.8.
+	* builds/unix/configure: Regenerated with autoconf 2.59.
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org
+	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+	`texinfo' CVS module at subversions.gnu.org.
+
+	* builds/vms/ftconfig.h: Synchronized with ANSI version.
+
+	* docs/CUSTOMIZE: Fix documentation error.
+	* docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.
+
+	* builds/freetype.mk (refdoc): Updated --title.
+
+2003-11-07  David Turner  <[email protected]>
+
+
+	* Version 2.1.6 released.
+	=========================
+
+
+	* install: Removed.  Obsolete.
+
+2003-11-04  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
+	(sfnt_service_sfnt_table): New service.
+	(sfnt_services): Updated.
+
+	* docs/license.txt: Reworded.
+
+2003-11-03  Werner Lemberg  <[email protected]>
+
+	* include/freetype/*: Add a guard to all public header files which
+	load FT_FREETYPE_H to reject freetype.h from FreeType 1.
+
+2003-11-02  Patrick Welche  <[email protected]>
+
+	* builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
+	first argument of AC_DEFUN with brackets to avoid possible
+	expansion.
+
+2003-11-02  Werner Lemberg  <[email protected]>
+
+	* include/freetype/cache/ftcglyph.h: Don't include stddef.h.
+
+	* include/freetype/freetype.h: Fix check for ft2build.h.
+
+2003-11-01  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h: Check that ft2build.h has been
+	loaded first.
+
+	* src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
+	patch.
+
+2003-10-31  Detlef Würkner  <[email protected]>
+
+	* src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
+	Fix parameter order in calls to FT_FACE_FIND_SERVICE.
+
+2003-10-31  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftserv.h
+	(FT_SERVICE_POSTSCRIPT_NAMES_H): Removed.  Unused.
+
+	* src/type42/t42drivr.c (t42_services): Updated.
+
+2003-10-29  David Turner  <[email protected]>
+
+	* include/freetype/internal/bdftypes.h: Removed.  Obsolete.
+	* src/base/ftbdf.c: Updated.
+
+	* include/freetype/internal/cfftypes.h: Moved to...
+	* src/cff/cfftypes.h: This place since no other module needs to
+	know about those types.
+
+	* include/freetype/internal/t42types.h: Moved to...
+	* src/type42/t42types.h: This place since no other module needs to
+	know about those types.
+
+	* include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
+
+	* include/freetype/internal/services/svpsname.h: Renamed to...
+	* include/freetype/internal/services/svpscmap.h: This.
+	Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
+	`POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
+
+	* include/freetype/internal/services/svpsinfo.h: New file, providing
+	PostScript info service.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
+	FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
+	svpsinfo.h.
+	* include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
+	FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
+
+	* src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
+	FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
+	FT_SERVICE_POSTSCRIPT_INFO_H.
+	(FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
+	POSTSCRIPT_INFO service.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+	(cff_ps_has_glyph_names): New function.
+	(cff_service_ps_info): New service.
+	(cff_services): Updated.
+
+	* src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
+	include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
+
+	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+	(cid_ps_get_font_info): New function.
+	(cid_service_ps_info): New service.
+	(cid_services): Updated.
+
+	* src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+	(t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
+	(t1_service_ps_info): New service.
+	(t1_services): Updated.
+
+	* src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+	(t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
+	(t42_service_ps_info): New service.
+
+	* src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
+	but t42types.h directly.
+
+	* src/psnames/psmodule.c (psnames_interface, psnames_services):
+	Renamed to...
+	(pscmaps_interface, pscmaps_services): This.
+	Updated all users.
+
+
+	* src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
+
+2003-10-22  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
+	is real.
+
+	* src/type42/t42parse.c (t42_parse_encoding): Improve boundary
+	checking while parsing.
+
+	* docs/CHANGES: Updated.
+
+2003-10-21  Josselin Mouette  <[email protected]>
+
+	* include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
+	and `stroke_width' aren't pointers.
+
+	* src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
+	(T1_Face_Done): Don't free `paint_type' and `stroke_width'.
+
+2003-10-20  Graham Asher  <[email protected]>
+
+	* src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
+
+2003-10-19  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
+	2003-08-18 introduced a severe bug (FT_Render_Glyph was called
+	twice under some circumstances, causing strange results).  This
+	is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
+
+	* src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
+	* src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
+	* src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
+
+2003-10-16  Werner Lemberg  <[email protected]>
+
+	Completely revised Type 42 parser.  It now handles both fonts
+	produced with ttftot42 (tested version 0.3.1) and
+	TrueTypeToType42.ps (tested version May 2001; it is necessary to
+	fix the broken header comment to be `%!PS-TrueTypeFont...').
+
+	* src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
+	parameter to `FT_UInt'.
+	* src/type42/t42objs.h: Updated.
+
+	* src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
+	to FT_Bool.
+	(T42_Loader): Change type of `num_chars' and `num_glyphs' to
+	FT_UInt.
+	Add `swap_table' element.
+	* src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
+	T1_ToCoordArray, T1_ToTokenArray): Removed.
+	(T1_ToBytes): New macro.
+	(t42_is_alpha, t42_hexval): Removed.
+	(t42_is_space): Handle `\0'.
+	(t42_parse_encoding): Updated to use new PostScript parser routines
+	from psaux.
+	Handle `/Encoding [ ... ]' also.
+	(T42_Load_Status): New enumeration.
+	(t42_parse_sfnts): Updated to use new PostScript parser routines
+	from psaux.
+	(t42_parse_charstrings): Updated to use new PostScript parser
+	routines from psaux.
+	Handle `/CharStrings << ... >>' also.
+	Don't expect that /.notdef is the first element in dictionary.  Copy
+	code from type1 module to handle this.
+	(t42_parse_dict): Updated to use new PostScript parser routines
+	from psaux.
+	Remove code for synthetic fonts (which can't occur in Type 42
+	fonts).
+	(t42_loader_done): Release `swap_table'.
+
+	* src/psaux/psobjs.c (skip_string): Increase `cur' properly.
+
+	* src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
+	faster.
+
+2003-10-15  Graham Asher  <[email protected]>
+
+	* src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
+	(fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
+	_num_bdf_properties), src/gzip/infutil.c (inflate_mask),
+	src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
+	src/gzip/inftrees.h (inflate_trees_fixed), src/gzip/inftrees.c
+	(inflate_trees_fixed): Decorate with more `const' to avoid
+	writable global variables which are disallowed on ARM.
+
+2003-10-08  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
+	code specially for synthetic fonts; this is handled elsewhere.
+	(parse_encoding): Remove code specially for synthetic fonts; this is
+	handled elsewhere.
+	Improve boundary checking while parsing.
+	(parse_dict): Improve boundary checking while parsing.
+	Use ft_memcmp to simplify code.
+
+2003-10-07  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
+	fonts properly.
+	(parse_charstrings): Copy correct number of characters into
+	`name_table'.
+
+2003-10-06  Werner Lemberg  <[email protected]>
+
+	Heavy modification of the PS parser to handle comments and strings
+	correctly.  This doesn't slow down the loading of PS fonts
+	significantly since charstrings aren't affected.
+
+	* include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
+	(ft_isxdigit): This.  Updated all callers.
+	(ft_isdigit): New alias to `isdigit'.
+
+	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
+	`skip_alpha' to `skip_PS_token'.
+	Add parameter to `to_bytes' and change some argument types.
+
+	* src/psaux/psauxmod.c (ps_parser_funcs): Updated.
+	* src/psaux/psobjs.c (ft_char_table): New array to map character
+	codes (ASCII and EBCDIC) of digits to numbers.
+	(OP): New auxiliary macro holding either `>=' or `<' depending on
+	the character encoding.
+	(skip_comment): New function.
+	(skip_spaces): Use it.
+	(skip_alpha): Removed.
+	(skip_literal_string, skip_string): New functions.
+	(ps_parser_skip_PS_token): New function.  This is a better
+	replacement of...
+	(ps_parser_skip_alpha): Removed.
+	(ps_parser_to_token, ps_parser_to_token_array): Updated.
+	(T1Radix): Rewritten, using `ft_char_table'.
+	(t1_toint): Renamed to...
+	(ps_toint): This.  Update all callers.
+	Use `ft_char_table'.
+	(ps_tobytes): Add parameter to handle delimiters and change some
+	argument types.
+	Use `ft_char_table'.
+	(t1_tofixed): Renamed to...
+	(ps_tofixed): This.  Update all callers.
+	Use `ft_char_table'.
+	(t1_tocoordarray): Renamed and updated to...
+	(ps_tocoordarray): This.  Update all callers.
+	(t1_tofixedarray): Renamed and updated to...
+	(ps_tofixedarray): This.  Update all callers.
+	(t1_tobool): Renamed to...
+	(ps_tobool): This.  Update all callers.
+	(ps_parser_load_field): Updated.
+	(ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
+	everywhere.
+	(ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
+	ps_parser_to_fixed_array): Skip spaces.  Updated.
+	(ps_parser_to_bytes): Add parameter to handle delimiters and change
+	some argument types.  Updated.
+	* src/psaux/psobjs.h: Updated.
+
+	* src/cid/cidload.c (cid_parse_dict): Updated.
+	* src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
+	token was really found.
+	* src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
+	to...
+	(cid_parser_skip_PS_token): This.
+
+	* src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
+	fields.
+	(T1_Skip_Alpha): Replaced with...
+	(T1_Skip_PS_Token): This new macro.
+	* src/type1/t1parse.c (hexa_value): Removed.
+	(T1_Get_Private_Dict): Use `ft_isxdigit' and
+	`psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
+	encoding.
+	After decrypting, replace the four random bytes at the beginning
+	with whitespace.
+	* src/type1/t1load.c (t1_allocate_blend): Use proper error values.
+	(parser_blend_design_positions, parse_blend_design_map,
+	parse_weight_vector): Updated.
+	(is_space): Handle `\f' also.
+	(is_name_char): Removed.
+	(read_binary_data): Updated.
+	(parse_encoding): Use `ft_isdigit'.
+	Updated.
+	(parse_subrs): Updated.
+	(TABLE_EXTEND): New macro.
+	(parse_charstrings): Updated.
+	Provide a workaround for buggy fonts which have more entries in the
+	/CharStrings dictionary then expected; the function now adds some
+	slots and skips entries which still exceed the new limit.
+	(parse_dict): Updated.
+	Terminate on the token `closefile'.
+
+	* src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
+	(T1_Skip_PS_Token): This new macro.  Updated all callers.
+	(t42_parse_encoding): Use `ft_isdigit'.
+
+
+	* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_Ok if
+	success.
+
+2003-10-05  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftmodule.h: Renamed to...
+	* include/freetype/ftmodapi.h: This to avoid duplicate file names.
+	* include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
+
+2003-10-04  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_OrientationExtremumRec,
+	FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
+
+2003-10-02  Markus F.X.J. Oberhumer  <[email protected]>
+
+	* src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
+	has four bytes, not two.
+	Fix all users.
+	(fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
+
+2003-10-01  David Turner  <[email protected]>
+
+	* src/autofit/*: Adding first source files of the new multi-script
+	`auto-fitter'.
+
+	* include/freetype/ftoutln.h (FT_Orientation): New enumeration.
+	(FT_Outline_Get_Orientation): New declaration.
+
+	* src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
+	(ft_orientation_extremum_compute): New auxiliary function.
+	(FT_Outline_Get_Orientation): New function to compute the fill
+	orientation of a given glyph outline.
+
+	* include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
+	trivial bug which could crash the font engine when a cached service
+	pointer was retrieved.
+
+2003-09-30  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
+	found.
+
+	* src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
+	IS_T1_SPACE): Removed.
+	(PFB_Tag): Removed.
+	(read_pfb_tag): Don't use PFB_Tag.
+
+	* src/type42/t42parse.c (t42_is_space): Handle `\f' also.
+	(t42_parse_encoding): Handle synthetic fonts.
+
+2003-09-29  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/t1types.h: Don't include
+	FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
+	* src/truetype/ttobjs.c: Don't include
+	FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+2003-09-29  David Turner  <[email protected]>
+
+	Added new service to handle glyph name dictionaries, replacing the
+	old internal header named `psnames.h' by `services/svpsname.h'.
+	Note that this is different from `services/svpostnm.h' which only
+	handles the retrieval of PostScript font names for a given face.
+	(Should we merge these two services into a single header?)
+
+	* include/freetype/internal/psnames.h: Removed.  Most of its
+	contents is moved to...
+	* include/freetype/internal/services/svpsname.h: New file.
+
+	* include/freetype/internal/services/svpostnm.h
+	(FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
+	(FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
+	(PsName): Service named changed to...
+	(PsFontName): This.
+	Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
+	`POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
+
+	* include/freetype/internal/internal.h
+	(FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
+	* include/freetype/internal/psaux.h: Include
+	FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(T1_DecoderRec): Updated type of `psnames'.
+	* include/freetype/internal/t1types.h: Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	Include FT_INTERNAL_OBJECTS_H.
+	* include/freetype/internal/t42types.h: Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H.
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
+
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
+	order of parameters.  All callers updated.
+	(FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
+	globally, checking all modules.
+	(FT_ServiceCacheRec): Updated.
+	(FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
+	`svpsname.h'.
+
+	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c
+	(ft_module_get_service): New function.
+
+	* src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+	but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
+	service.
+	* src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
+	* src/cff/cffload.c, src/cff/cffload.h:  Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(cff_index_get_sid_string): Updated.
+	* src/cff/cffobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+	but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(cff_face_init): Use new POSTSCRIPT_NAMES service.
+	* src/cff/cffobjs.h:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+	but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+	* src/cid/cidobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+	but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(cid_face_init): Use new POSTSCRIPT_NAMES service.
+	* src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
+
+	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
+	new POSTSCRIPT_NAMES service.
+	* src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
+	t1_decode_init): Use new POSTSCRIPT_NAMES service.
+	* src/psaux/t1cmap.h, src/psaux/t1decode.h: Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H.
+
+	* src/psnames/psmodule.c:  Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(ps_build_unicode_table): Renamed to...
+	(ps_unicodes_init): This.
+	(ps_lookup_unicode): Renamed to...
+	(ps_unicodes_char_index): This.
+	(ps_next_unicode): Renamed to...
+	(ps_unicodes_char_next): This.
+	(psnames_interface): Updated.
+	(psnames_services): New services list.
+	(psnames_get_service): New function.
+	(psnames_module_class): Updated.
+
+	* src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+	but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(sfnt_init_face): Use new POSTSCRIPT_NAMES service.
+	* src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+	but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(tt_face_get_ps_name): Updated.
+
+	* src/truetype/ttobjs.c:  Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+	* src/type1/t1driver.c:  Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	* src/type1/t1objs.c:  Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+	(T1_Face_Init): Use new POSTSCRIPT_NAMES service.
+
+	* src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
+	(t42_get_ps_font_name): This.
+	(t42_service_ps_name): Renamed to...
+	(t42_service_ps_font_name): This.
+	(t42_services): Updated.
+	* src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
+	service.
+	* src/type42/t42objs.h:  Don't include
+	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+
+	* src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
+	testing its validity.  Reported by Henry Maddocks
+	<[email protected]>.
+
+2003-09-21  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
+	Fix compilation warning (s/pptr/Pptr/).
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
+	FT_INTERNAL_FNT_TYPES_H): Removed.
+
+2003-09-21  David Turner  <[email protected]>
+
+	Migrating the PFR and WINFNT drivers to the new service-based
+	internal API.
+
+	* include/freetype/internal/fnttypes.h: Removed.  Most of its data
+	are moved to winfnt.h and...
+	* include/freetype/internal/services/svwinfnt.h: New file.
+
+	* include/freetype/internal/pfr.h: Removed.  Most of its data are
+	moved to...
+	* include/freetype/internal/services/svpfr.h: New file.
+
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+	FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
+	pointer type argument.
+	Updated all callers.
+	Update macro names of services header files.
+
+	* src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
+
+	* src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
+	FT_INTERNAL_PFR_H.
+	(ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
+	FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
+
+	* src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
+	FT_INTERNAL_FNT_TYPES_H.
+	(FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
+
+	* src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
+	FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
+	(pfr_service_bdf): Updated.
+	(pfr_services): New services list.
+	(pfr_get_service): New function.
+	(pfr_driver_class): Updated.
+
+	* src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
+	FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
+	(winfnt_get_header, winfnt_get_service): New functions.
+	(winfnt_service_rec): New structure providing WINFNT services.
+	(winfnt_services): New services list.
+	(winfnt_driver_class): Updated.
+	* src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
+
+	* src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
+
+	* src/type1/t1driver.c (t1_service_ps_name): Fix typo.
+
+	* src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
+	src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
+	src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
+	warnings.
+
+2003-09-19  David Bevan  <[email protected]>
+
+	* src/type1/t1parse.c (pfb_tag_fields): Removed.
+	(read_pfb_tag): Fix code so that it doesn't fail on end-of-file
+	indicator (0x8003).
+	* docs/CHANGES: Updated.
+
+2003-09-16  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+	FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
+	Ugly, I know, but this is needed for compilation with C++ --
+	maybe someone knows a better solution?
+	Updated all callers.
+
+	* src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
+	C++ compiler warnings.
+
+	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
+	Fix order of arguments passed to FT_FACE_FIND_SERVICE.
+
+2003-09-15  Werner Lemberg  <[email protected]>
+
+	Avoid header files with identical names.
+
+	* include/freetype/internal/services/bdf.h: Renamed to...
+	* include/freetype/internal/services/svbdf.h: This.
+	Add copyright notice.
+	* include/freetype/internal/services/glyfdict.h: Renamed to...
+	* include/freetype/internal/services/svgldict.h: This.
+	Add copyright notice.
+	* include/freetype/internal/services/multmast.h: Renamed to...
+	* include/freetype/internal/services/svmm.h: This.
+	Add copyright notice.
+	Add FT_BEGIN_HEADER and FT_END_HEADER.
+	* include/freetype/internal/services/sfnt.h: Renamed to...
+	* include/freetype/internal/services/svsfnt.h: This.
+	Add copyright notice.
+	* include/freetype/internal/services/postname.h: Renamed to...
+	* include/freetype/internal/services/svpostnm.h: This.
+	Add copyright notice.
+	* include/freetype/internal/services/xf86name.h: Renamed to...
+	* include/freetype/internal/services/svxf86nm.h: This.
+	Add copyright notice.
+
+	* include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
+	FT_END_HEADER.
+	Add copyright notice.
+	Update macro names of services header files.
+
+	* builds/freetype.mk (SERVICES_DIR): New variable.
+	(BASE_H): Add services header files.
+
+2003-09-11  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
+
+	* src/cff/cffdrivr.c: Don't load headers twice.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
+	* src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
+
+	* src/cff/cffcmap.c: Include `cfferrs.h'.
+	* src/pfr/pfrdrivr.c: Include `pfrerror.h'.
+	* src/sfnt/sfdriver.c: Include `sferrors.h'.
+	* src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
+
+2003-09-11  David Turner  <[email protected]>
+
+	Introducing the concept of `module services'.  This is the first
+	step towards a massive simplification of the engine's internals, in
+	order to get rid of various numbers of hacks.
+
+	Note that these changes will break source & binary compatibility for
+	authors of external font drivers.
+
+	* include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
+	FT_DUMMY_STMNT): New macros.
+
+	* include/freetype/internal/ftserv.h: New file, containing the new
+	structures and macros to provide `services'.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
+	FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
+	Removed, obsolete.
+	(FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
+
+	* include/freetype/internal/services/bdf.h,
+	include/freetype/internal/services/glyfdict.h,
+	include/freetype/internal/services/postname.h,
+	include/freetype/internal/services/xf86name.h: New files.
+
+	* include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
+	FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
+	to...
+	* include/freetype/internal/services/multmast.h: New file.
+
+	* include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
+	is now of type `FT_Module_Requester'.
+	(SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
+	moved (in modified form) to...
+	* include/freetype/internal/services/sfnt.h: New file.
+
+	* include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
+	pointer moved (in modified form) to `services/sfnt.h'.
+
+	* include/freetype/ftmodule.h (FT_Module_Interface): Make it a
+	a typedef to `FT_Pointer'.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
+	`postscript_name'.
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+	`postscript_name'.
+	Add `services' element.
+	(FT_LibraryRec): Remove `meta_class'.
+
+	* src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
+	(test_font_type): Removed.
+	(FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
+	provided in `FT_SERVICE_ID_BDF'.
+
+	* src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
+	(ft_face_get_mm_service): New auxiliary function to get services
+	from `FT_SERVICE_ID_MULTI_MASTERS'.
+	(FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
+	FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
+
+	* src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
+	FT_SERVICE_GLYPH_DICT_H.
+	(ft_service_list_lookup): New function to get a specific service.
+	(destroy_face): Updated.
+	(Mac_Read_POST_Resource): Simplify some code.
+	(IsMacResource): Fix warnings.
+	(FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
+	`FT_SERVICE_ID_GLYPH_DICT'.
+	(FT_Get_Postscript_Name): Use service provided in
+	`FT_SERVICE_ID_POSTSCRIPT_NAME'.
+	(FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
+	`FT_SERVICE_ID_SFNT_TABLE'.
+
+	* src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
+	(FT_Get_X11_Font_Format): Use service provided in
+	`FT_SERVICE_ID_XF86_NAME'.
+
+	* src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
+	FT_SERVICE_XFREE86_NAME_H.
+	(bdf_get_charset_id): New function.
+	(bdf_service_bdf): New structure providing BDF services.
+	(bdf_services): New services list.
+	(bdf_driver_requester): Use `ft_service_list_lookup'.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
+	FT_SERVICE_GLYPH_DICT_H.
+	(cff_service_glyph_dict): New structure providing CFF services.
+	(cff_services): New services list.
+	(cff_get_interface): Use `ft_service_list_lookup'.
+
+	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
+	FT_SERVICE_XFREE86_NAME_H.
+	(cid_service_ps_name): New structure providing CID services.
+	(cid_services): New services list.
+	(cid_get_interface): Use `ft_service_list_lookup'.
+
+	* src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
+	FT_SERVICE_XFREE86_NAME_H.
+	(pcf_service_bdf): New structure providing PCF services.
+	(pcf_services): New services list.
+	(pcf_driver_requester): Use `ft_service_list_lookup'.
+
+	* src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
+	FT_SERVICE_POSTSCRIPT_NAME_H.
+	(get_sfnt_glyph_name): Renamed to...
+	(sfnt_get_glyph_name): This.
+	(get_sfnt_postscript_name): Renamed to...
+	(sfnt_get_ps_name): This.
+	Updated.
+	(sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
+	providing services.
+	(sfnt_services): New services list.
+	(sfnt_get_interface): Use `ft_service_list_lookup'.
+
+	* src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
+	(tt_services): New services list.
+	(tt_get_interface): Use `ft_service_list_lookup'.
+
+	* src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
+	FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
+	FT_SERVICE_POSTSCRIPT_NAME_H.
+	(t1_service_glyph_dict, t1_service_ps_name,
+	t1_service_multi_masters): New structures providing Type 1 services.
+	(t1_services): New services list.
+	(Get_Interface): Use `ft_service_list_lookup'.
+
+	* src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
+	FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
+	(t42_service_glyph_dict, t42_service_ps_name): New structures
+	providing Type 42 services.
+	(t42_services): New services list.
+	(T42_Get_Interface): Use `ft_service_list_lookup'.
+
+
+	* README, docs/CHANGES: Updating version numbers for 2.1.6, and
+	removing obsolete warnings in the documentation.
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+	* builds/unix/configure.ac (version_info): Set to 9:5:3.
+	* builds/unix/configure: Regenerated.
+
+	* include/freetype/internal/ftcore.h,
+	include/freetype/internal/ftexcept.h,
+	include/freetype/internal/fthash.h,
+	include/freetype/internal/ftobject.h: Removed.  Obsolete.
+
+2003-09-09  David Turner  <[email protected]>
+
+	Fixing PFR kerning support.  The tables within the font file contain
+	(charcode,charcode) kerning pairs, we need to convert them to
+	(gindex,gindex).
+
+	* src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
+	* src/pfr/pfrload.c: Remove dead code.
+	(pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
+	New functions.
+	(pfr_phy_font_done): Free `kern_pairs'.
+	(pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
+	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
+	* src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
+	(PFR_KernPairRec): Make `kerning' an FT_Int.
+	(PFR_PhyFontRec): New element `kern_pairs'.
+	(PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
+	PFR_KERN_2BYTE_ADJ were erroneously reversed.
+
+	* include/freetype/ftoption.h: Commenting out the macro
+	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
+
+2003-09-02  David Turner  <[email protected]>
+
+
+	* Version 2.1.5 released.
+	=========================
+
+
+2003-08-31  Manish Singh  <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
+	FT_MEM_MOVE.
+
+2003-08-30  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
+	FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
+	enumerations of FT_Encoding.  The FT_ENCODING_MS_* variants except
+	FT_ENCODING_MS_SYMBOL are now deprecated.
+	Updated all users.
+	* docs/CHANGES: Document it.
+
+2003-08-27  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
+	for spacing.
+
+2003-08-27  Mike FABIAN  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
+	(BDF_Face_Init): Accept lowercase characters for slant and weight.
+
+2003-08-18  David Turner  <[email protected]>
+
+	* include/freetype/config/ftoption.h: Disabling TrueType bytecode
+	interpreter until the UNPATENTED_HINTING works as advertised.
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
+	setting `load_flags'.
+
+	* Jamfile: Adding the `refdoc' target to the Jamfile in order to
+	build the API Reference in `docs/reference' automatically.
+
+	* include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
+	src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
+	`italic_angle', `underline_position', and `underline_thickness' to
+	their previous values (i.e., long, short, and ushort) in order to
+	avoid breaking binary compatibility.
+
+	* include/freetype/ttunpat.h: Fixing documentation comment.
+
+	* include/freetype/config/ftoption.h, devel/ftoption.h
+	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING): Replaced with...
+	(TT_CONFIG_OPTION_UNPATENTED_HINTING): This.  Updated all users.
+	(TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
+
+	* include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
+	(FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro.  Use this with
+	`FT_Set_Debug_Hook' to get the same effect as the removed
+	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
+
+	* src/truetype/ttobjs.c (tt_face_init): Use
+	`FT_DEBUG_HOOK_UNPATENTED_HINTING'.
+
+2003-08-06  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
+	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
+	previous change.
+
+2003-08-05  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
+	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
+	font matrix to advance width also.
+	* docs/CHANGES: Updated.
+
+2003-07-26  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.ac (version_info): Set to 9:4:3.
+	* builds/unix/configure: Updated.
+	* docs/CHANGES, docs/VERSION.DLL: Updated.
+
+	* include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
+	also breaks binary compatibility.  Reintroduce an unsigned integer
+	at the old position of `flags' called `reserved'.
+
+2003-07-25  Werner Lemberg  <[email protected]>
+
+	Make API reference valid HTML 4.01 transitional.
+
+	* src/tools/docmaker/tohtml.py (html_header_1): Add doctype
+	and charset.
+	(html_header_2): Fix style elements and add some more.
+	Fix syntax.
+	(block_header, block_footer, description_header, description_footer,
+	marker_header, marker_footer, source_header, source_footer,
+	chapter_header): Don't use <center>...</center> but `align=center'
+	table attribute.
+	(chapter_inter, chapter_footer): Add <li> and use special <ul>
+	class.
+	Use double quotes around table widths given in percent.
+	(keyword_prefix, keyword_suffix): Don't change font color directly
+	but use a new <span> class.
+	(section_synopsis_header, section_synopsis_footer): Don't change
+	color.
+	(code_header, code_footer): Don't change font color directly but
+	use a special <pre> class.
+	(print_html_field): <tr> gets the `valign' attribute, not <table>.
+	(print_html_field_list): Ditto.
+	(index_exit): Don't use <center>...</center> but `align=center'
+	table attribute.
+	(section_enter): Ditto.
+	(toc_exit): Don't emit </table>.
+	(block_enter): Use <h4><a>, not <a><h4>.
+	(__init__): Fix tag order in self.html_footer.
+
+2003-07-25  David Turner  <[email protected]>
+
+	This change reimplements fix from 2003-05-30 without breaking
+	binary compatibility.
+
+	* include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
+	`is_fixed_pitch', `underline_position', `underline_thickness' are
+	reverted to be normal values.
+
+	* include/freetype/internal/psaux.h (T1_FieldType): Remove
+	`T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
+	`T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
+	(T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
+	T1_FIELD_FIXED_1000_P): Removed.
+	(T1_FIELD_TYPE_BOOL): Renamed to...
+	(T1_FIELD_BOOL): New macro.  Updated all callers.
+
+	* src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
+	`underline_position', `underline_thickness', `paint_type',
+	`stroke_width' are reverted to be normal values.
+	(T42_KEYWORD_COUNT): New macro.
+	(t42_parse_dict): New array `keyword_flags' to mark that a value has
+	already been assigned to a dictionary entry.
+	* src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
+
+	* src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
+	`underline_position', `underline_thickness' are reverted to be
+	normal values.
+	* src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
+
+	* src/psaux/psobjs.c (ps_parser_load_field): Updated.
+
+	* src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
+	`underline_position', `underline_thickness', `paint_type',
+	`stroke_width' are reverted to be normal values.
+	* src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
+	* src/type1/t1load.c (T1_FIELD_COUNT): New macro.
+	(parse_dict): Add parameter for keyword flags.
+	Record only first instance of a field.
+	(T1_Open_Face): New array `keyword_flags'.
+
+2003-07-24  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+	* builds/unix/configure.ac (version_info): Set to 10:0:3.
+	* builds/unix/configure: Updated.
+	* builds/freetype.mk (refdoc): Fix --title.
+
+	* docs/CHANGES, docs/VERSION.DLL, README: Updated.
+
+	* src/tools/docmaker/sources.py (re_crossref): Fix regular
+	expression to handle trailing punctuation characters.
+	* src/tools/docmaker/tohtml.py (make_html_word): Updated.
+
+	* docs/release: New file.
+
+2003-07-23  YAMANO-UCHI Hidetoshi  <[email protected]>
+
+	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
+	member function `to_bytes'.
+
+	* src/psaux/psauxmod.c (ps_parser_funcs): New member
+	`ps_parser_to_bytes'.
+	(psaux_module_class): Increase version to 0x20000L.
+
+	* src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
+	(IS_T1_NULLSPACE): New macro.
+	(IS_T1_SPACE): Add it.
+	(skip_spaces, skip_alpha): New functions.
+	(ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
+	(ps_tobytes, ps_parser_to_bytes): New functions.
+
+2003-07-07  Werner Lemberg  <[email protected]>
+
+	* builds/freetype.mk (DOC_DIR): New variable.
+	(refdoc): Use *_DIR variables.
+	(distclean): Remove documentation files.
+
+	* builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
+
+	* configure: Set DOC_DIR variable.
+
+2003-07-07  Patrik Hägglund  <[email protected]>
+
+	* builds/freetype.mk (refdoc): New target to build the
+	documentation.
+	(.PHONY): Updated.
+
+	* include/freetype/freetype.h: Improve documentation of FT_CharMap.
+	* include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
+	* include/freetype/tttables.h: Document FT_Sfnt_Tag.
+
+2003-07-06  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
+	(pcf_load_font): Fix computation of height if PIXEL_SIZE property is
+	missing.
+
+2003-07-01  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
+	there is no error.  Reported by Knut St. Osmundsen
+	<[email protected]>.
+
+2003-06-30  Werner Lemberg  <[email protected]>
+
+	A new try to synchronize bitmap font access.
+
+	* include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
+	defined to return the baseline-to-baseline distance.  This was
+	already the value returned by the BDF and PCF drivers.
+
+	The `width' field now gives the average width.  I wasn't able to
+	find something better.  It should be taken as informative only.
+
+	New fields `size', `x_ppem', and `y_ppem'.
+
+	* src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
+	FT_Bitmap_Size.
+	Do proper rounding and conversion from 72.27 to 72 points.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
+	FT_Bitmap_Size.
+	Do proper rounding and conversion from 72.27 to 72 points.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
+	FT_Bitmap_Size.
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
+	FT_Bitmap_Size.
+
+2003-06-29  Werner Lemberg  <[email protected]>
+
+	Redesigning the FNT driver to return multiple faces, not multiple
+	strikes.  At least one font (app850.fon from WinME) contains
+	different FNT charmaps for its subfonts.  Consequently, the previous
+	design of having multiple bitmap strikes in a single font face fails
+	since we have only one charmap per face.
+
+	* include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
+	(FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
+	`font'.
+
+	* src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
+
+	* src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
+	to pixel_height.
+	(fnt_face_done_fonts): Removed.
+	(fnt_face_get_dll_fonts): Renamed to...
+	(fnt_face_get_dll_font): This.  Add second function argument to
+	select face index.
+	Updated to load just one subfont.
+	(fnt_font_done, FNT_Face_Done): Updated.
+	(FNT_Face_Init): Handle `face_index'.
+	Updated.
+	(FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
+	bitmap width is now ignored.
+	(FNT_Load_Glyph): Updated.
+	Fix glyph index computation.
+	(winfnt_driver_class): Updated.
+
+2003-06-25  Owen Taylor  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
+	num_records until we actually decide to load the table,
+	otherwise, we'll segfault in tt_face_free_hdmx.
+
+2003-06-24  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
+	glyph name pointer.  Reported by Mikey Anbary <[email protected]>.
+
+2003-06-23  Werner Lemberg  <[email protected]>
+
+	* src/tools/glnames.py: Updated to AGL 2.0.
+	* src/psnames/pstables.h: Regenerated.
+
+2003-06-22  Werner Lemberg  <[email protected]>
+
+	* include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
+	src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
+	src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
+	src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
+	Decorate constants with `U' and `L' if appropriate.
+
+	* include/freetype/ftmoderr.h: Updated to include recent module
+	additions.
+
+	* src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
+	`FT_Mod_Err_PShinter'.
+	* src/type42/t42error.h (FT_ERR_BASE): Define as
+	`FT_Mod_Err_Type42'.
+
+	* src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed.  Not used.
+
+	* include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
+	and FT_INT64.
+
+2003-06-21  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
+	computation of glyph_index.
+	(FNT_Size_Set_Pixels): To find a strike, first check pixel_height
+	only, then try to find a better hit by comparing pixel_width also.
+	Without this fix it isn't possible to access all strikes.
+	Also compute metrics.max_advance to be in sync with other bitmap
+	drivers.
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
+	(FT_Set_Pixel_Sizes): Assign value to `metrics' after validation of
+	arguments.
+
+2003-06-20  Werner Lemberg  <[email protected]>
+
+	Synchronize computation of height and width for bitmap strikes.  The
+	`width' field in the FT_Bitmap_Size structure is now only useful to
+	enumerate different strikes.  The `max_advance' field of the
+	FT_Size_Metrics structure should be used to get the (maximum) width
+	of a strike.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
+	computing `available_sizes->width' but make it always equal to
+	`available_sizes->height'.
+
+	* src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
+	computing `available_sizes->width' but make it always equal to
+	`available_sizes->height'.
+
+	* src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
+	argument to function.
+
+	* src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
+	`uniXXXX' and `uXXXX[X[X]]'.
+
+2003-06-19  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
+	* src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
+	s/FT_Err_/FTC_Err_/.
+	* src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
+	* src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
+	* src/psaux/t1cmap.c: Include psauxerr.h.
+	s/FT_Err_/PSaux_Err_/.
+	* src/pshinter/pshnterr.h: New file.
+	* src/pshinter/rules.mk: Updated.
+	* src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
+	s/FT_Err_/PSH_Err_/.
+	* src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
+	s/FT_Err_/PFR_Err_/.
+	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
+	src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
+	* src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
+	* src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
+	FT_ERR_PREFIX and FT_ERR_BASE.
+	s/FT_Err_/Gzip_Err_/.
+
+2003-06-19  Dirck Blaskey  <[email protected]>
+
+	* src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
+	otherwise adding 1 might wrap the result.
+
+2003-06-18  Werner Lemberg  <[email protected]>
+
+	* src/psnames/psmodule.c (ps_unicode_value): Add support to
+	recognize `uXXXX[X[X]]' glyph names.
+	Don't handle glyph names starting with `uni' which have more than
+	four digits.
+
+2003-06-16  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Open_Flags): Replaced with
+	#defines for the constants.
+	(FT_Open_Args): Change type of `flags' to FT_UInt.
+	(FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
+
+	* include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
+	Replaced with #defines for the constants.
+
+	* include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
+	field `flags' (from FT_GlyphSlot).
+	Updated all affected source files.
+	(FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
+
+	* include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
+	to ftobjs.h.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
+	FT_GlyphSlot_Internal object.
+
+2003-06-15  Werner Lemberg  <[email protected]>
+
+	* builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
+	Add -fno-strict-aliasing to get rid of zillion warnings from gcc
+	version 3.3.
+
+2003-06-14  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
+	ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
+	ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
+	FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
+	FT_GLYPH_BBOX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
+	The lowercase variants are now (deprecated aliases) to the uppercase
+	versions.
+	Updated all other files.
+
+	* include/freetype/ftmodule.h (ft_module_font_driver,
+	ft_module_renderer, ft_module_hinter, ft_module_styler,
+	ft_module_driver_scalable, ft_module_driver_no_outlines,
+	ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
+	FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
+	FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
+	FT_MODULE_DRIVER_HAS_HINTER.
+	The lowercase variants are now (deprecated aliases) to the uppercase
+	versions.
+	Updated all other files.
+
+	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
+	as enumeration.
+
+	* src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
+	(winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
+	the FT_MODULE_DRIVER_NO_OUTLINES flag.
+
+2003-06-13  Detlef Würkner  <[email protected]>
+
+	* src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
+
+2003-06-13  Werner Lemberg  <[email protected]>
+
+	* builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
+
+	* builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
+	EMX gcc compiler.
+	* builds/dos/detect.mk: Add target `emx'.
+
+	* builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
+	like a trailing semicolon; add a dummy command.
+
+	* src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
+	with #if 0 ... #endif).
+
+	* src/type1/t1tokens.h: Handle /FontName.
+	* src/type1/t1load.c (parse_font_name): Removed.
+	Remove parse_font_bbox code (already enclosed with #if 0 ...
+	#endif).
+
+	* src/type42/t42parse.c (t42_parse_font_name): Removed.
+	Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
+	#endif).
+	(t42_keywords): Handle /FontName with T1_FIELD_KEY.
+
+2003-06-12  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (T1_FieldType): Add
+	T1_FIELD_TYPE_KEY.
+	(T1_FIELD_KEY): New macro.
+	* src/psaux/psobjs.c (ps_parser_load_field): Handle
+	T1_FIELD_TYPE_KEY.
+
+	* src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
+
+2003-06-11  Alexander Malmberg  <[email protected]>
+
+	* src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
+	number of nodes.
+	(FT_LruList_Lookup): Fix assertion for out-of-memory case.
+
+2003-06-11  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_decrypt): Removed.
+	(cid_read_subrs): Use t1_decrypt from psaux module.
+	* src/cid/cidload.h: Updated.
+	* src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
+	module.
+
+2003-06-10  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidobjs.c: Apply change 2003-05-31 from <[email protected]>.
+	Compute style flags.
+	Fix computation of root->height.
+	* src/cid/cidtoken.h: Handle FontBBox.
+	* src/cid/cidload.c (cid_load_keyword): Handle
+	T1_FIELD_LOCATION_BBOX.
+	(parse_font_bbox): Commented out.
+	(cid_field_records): Comment out element for parsing FontBBox.
+
+	* src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
+	(t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
+	T1_FIELD_CALLBACK.
+	(t42_parse_font_bbox): Commented out.
+	(t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
+	* src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
+	from <[email protected]>.
+
+2003-06-09  George Williams  <[email protected]>
+
+	* src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
+	TrueType specification.
+	(Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
+
+2003-06-09  Detlef Würkner  <[email protected]>
+
+	* src/gzip/ftgzip.c: (inflate_mask): Replaced with...
+	(NO_INFLATE_MASK): This.
+	* src/gzip/infutil.h: Declare `inflate_mask' conditionally by
+	NO_INFLATE_MASK.
+
+2003-06-09  Alexis S. L. Carvalho  <[email protected]>
+
+	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
+	correctly.
+
+2003-06-09  Wolfgang Domröse  <[email protected]>
+
+	* src/pshinter/pshglob.c (psh_globals_new): Change calculation of
+	dim->stdw.count to avoid compiler problem.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
+	variables to the beginning of the function to avoid compiler
+	problems.
+	Add casts necessary for 16bit compilers.
+
+2003-06-09  Werner Lemberg  <[email protected]>
+
+	* src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
+	(PFR_DRV_H): Add pfrtypes.h.
+
+	* include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
+
+2003-06-08  Karl Schultz  <[email protected]>
+
+	* src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
+	argument to FT_Bool.
+	(pfr_lookup_bitmap_data): Change type of third and fourth argument
+	to FT_UInt.  Updated caller.
+	(pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
+
+2003-06-08  Werner Lemberg  <[email protected]>
+
+	Completely revised FreeType's make management.
+
+	. In all makefiles `/' is used as the path separator.  The
+	  conversion to the real path separators is done as late as
+	  possible using $(subst ...).
+
+	. $(HOSTSEP) no longer exists.  Now, $(SEP) gives the path separator
+	  for the operating system, and the new $(COMPILER_SEP) the path
+	  separator for the compiler tools.
+
+	. $(BUILD) has been renamed to $(BUILD_DIR).  In general, all
+	  directory variables end with `_DIR'.  The variants ending in `_'
+	  (like `BASE_' have been removed).
+
+	The following ChangeLog entries only describe changes which are
+	not related to the redesign.
+
+	* builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
+	* builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
+	overlong arguments as suggested by J. Ali Harlow
+	<[email protected]>.
+	* builds/dos/dos-wat.mk: New file.
+	* builds/freetype.mk (FREETYPE_H): Include header files from the
+	`devel' subdirectory.
+
+	* builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
+	builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
+	builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
+
+	* builds/unix/configure.ac, builds/unix/configure: Updated.
+	* builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
+
+2003-06-07  Werner Lemberg  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
+	make it compile.
+
+	* devel/ftoption.h: Updated.
+
+2003-06-07  Detlef Würkner  <[email protected]>
+
+	* include/freetype/internal/psaux.h, src/truetype/ttgload.h:
+	s/index/idx/ to fix compiler warnings.
+
+	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
+	fix compiler warning.
+
+	* src/gzip/ftgzip.c (BUILDFIXED): Removed.
+	* src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
+	FT_UNUSED to remove compiler warning.
+
+2003-06-06  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftstroker.h: Renamed to...
+	* include/freetype/ftstroke.h: This.
+
+	* src/base/ftstroker.c: Renamed to...
+	* src/base/ftstroke.c: This.
+
+	* include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
+
+	* src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
+	Updated.
+
+	* src/pcf/pcfdriver.c: Renamed to...
+	* src/pcf/pcfdrivr.c: This.
+	* src/pcf/pcfdriver.h: Renamed to...
+	* src/pcf/pcfdrivr.h: This.
+
+	* src/pcf/Jamfile, src/pcf/rules.mk: Updated.
+
+2003-06-05  Wenlin Institute (Tom Bishop)  <[email protected]>
+
+	* src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
+	Add `#if !defined(__MWERKS__)'.
+
+2003-06-05  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (T1_FieldType): Add
+	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
+	(T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
+	* src/psaux/psobjs.c (ps_parser_load_field): Handle
+	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
+
+	* src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
+	(CFF_FIELD_FIXED_1000): New macro.
+	(cff_parser_run): Handle cff_kind_fixed_thousand.
+	* src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
+	* src/cff/cffload (cff_subfont_load): Fix default values of
+	expansion_factor and blue_scale.
+
+	* src/cid/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
+	for blue_scale.
+
+	* src/pshinter/pshglob.c (psh_globals_new): Fix default value of
+	blue_scale.
+
+2003-06-04  Wolfgang Domröse  <[email protected]>
+
+	* include/freetype/internal/ftdriver.h,
+	include/freetype/internal/ftobjs.h,
+	include/freetype/internal/psaux.h, src/cid/cidgload.c,
+	src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
+	src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
+	src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
+	src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
+	src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
+	src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
+	src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
+	Many casts and slight argument type changes to make it work with
+	a 16bit compiler.
+
+2003-06-04  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftoption.h: Defining
+	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
+	since some fonts (e.g. Arial) produce worse results than without
+	hinting.  Reverted.
+
+2003-06-04  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
+	FT_GlyphLoader_CheckPoints before adding phantom points.  This fixes
+	a segfault bug with fonts (e.g. htst3.ttf) which have nested
+	subglyphs more than one level deep.  Reported by Anthony Fok.
+
+	* include/freetype/config/ftoption.h: Define
+	TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
+	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
+	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
+	default.
+
+2003-06-03  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_hint_edges): Removed.  Just a
+	wrapper for ah_hint_edges.
+	(ah_hint_edges): Renamed to...
+	(ah_hinter_hint_edges): This.
+
+	* src/base/ftobjs.c (FT_Set_Hint_Flags): Removed.  Unused.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
+	include/freetype/internal/psaux.h (T1_DecoderRec),
+	src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
+	Unused.
+
+	* src/cff/cffgload.c (cff_builder_init): Updated.
+	(cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
+	with decoder->hint_mode instead of builder->hint_flags.
+	* src/psaux/t1decode.c (t1_decoder_init): Updated.
+
+	* src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
+	increased root->height by 15% if the line gap was zero.  There exist
+	fonts (containing e.g. form drawing characters) which intentionally
+	have a zero line gap value.
+
+	* src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
+	Removed.  Unused.
+	Updated all callers.
+
+2003-06-02  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Use symbolic names for
+	Adobe specific encoding IDs (there was a wrong EID value for custom
+	encoding).
+
+	* src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
+	* src/cff/cffcmap.c (cff_cmap_encoding_init,
+	cff_cmap_encoding_done): Updated.
+	(cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
+	256 as limit for character code.
+
+2003-06-01  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
+	2003-03-20.
+
+2003-05-31  Werner Lemberg  <[email protected]>
+
+	* include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
+
+2003-05-31    <[email protected]>
+
+	* src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
+	the font style by ignoring spaces and hyphens.
+
+	* builds/unix/freetype2.in: Fix `Version' field.
+
+2003-05-30  Werner Lemberg  <[email protected]>
+
+	Avoid overwriting of numeric font dictionary entries for synthetic
+	fonts.  Additionally, some entries were handled as `integer' instead
+	of `number'.
+
+	* include/freetype/internal/psaux.h (T1_FieldType): Add
+	T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
+	T1_FIELD_TYPE_FIXED_P.
+	(T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
+	* src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
+
+	* include/freetype/internal/cfftypes.h (CFF_FontRecDict),
+	src/cff/cfftoken.h: Change type of underline_position and
+	underline_thickness to FT_Fixed.
+	* src/cff/cffload.c (cff_subfont_load): Fix default values of
+	underline_position and underline_thickness.
+	* src/cff/cffobjs.c (cff_face_init): Set underline_position
+	and underline_thickness in `root'.
+
+	* include/freetype/internal/t1types.h (T1_Font): Change point_type
+	and stroke_width to pointers.
+	* include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
+	is_fixed_pitch, underline_position, and underline_thickness to
+	pointers.
+	* src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
+	underline_position, and underline_thickness to pointers.  Change
+	the type of the latter two to `fixed'.
+	Change type of stroke_width to `fixed' and make it a pointer.
+	Change paint_type to pointer.
+	* src/type1/t1objs.c (T1_Face_Done): Updated.
+	(T1_Face_Init): Updated.
+	Fix assignment of underline_position and underline_thickness.
+
+	* src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
+	underline_position, and underline_thickness to pointers.  Change
+	the type of the latter two to `fixed'.
+	Change type of stroke_width to `fixed'.
+	* src/cid/cidobjs.c (cid_face_done): Updated.
+	(cid_face_init): Updated.
+	Fix assignment of underline_position and underline_thickness.
+
+	* src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
+	underline_position, and underline_thickness to pointers.  Change the
+	type of the latter two to `fixed'.
+	Change type of stroke_width to `fixed' and make it a pointer.
+	Change paint_type to pointer.
+	* src/type42/t42objs.c (T42_Face_Init): Updated.
+	Fix assignment of underline_position and underline_thickness.
+	(T42_Face_Done): Updated.
+
+	* src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
+	* src/pshinter/pshglob.c, src/pshinter/pshglob.h
+	(psh_globals_set_scale): Make it a local function.
+
+	* test/gview.c: Fix renaming ps3->ps typo.
+	Formatting.
+
+2003-05-29  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
+	* src/pshinter/pshalgo.h: Removed.
+
+	* src/pshinter/pshalgo3.[ch]: Renamed to...
+	* src/pshinter/pshalgo.[ch]: New files.
+	s/PSH3/PSH/.
+	s/psh3/psh/.
+	s/ps3/ps/.
+
+	* src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
+	* src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
+
+	* src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
+	out.
+
+	* tests/gview.c: Remove code for pshalgo1 and pshalgo2.
+	Updated.
+
+2003-05-28  Martin Zinser  <[email protected]>
+
+	* vms_make.com: Reworked support for shareable images on VMS.  The
+	first version was kind of a hack; the current implementation of the
+	procedure to extract the required symbols is much cleaner.
+
+	Reworked creation of MMS files, avoiding a number of temporary files
+	which were created in the previous version.
+
+	Further work on creating descrip.mms files on the fly.
+
+	* builds/vms/descrip.mms, src/autohint/descrip.mms,
+	src/type1/descrip.mms: Removed.
+
+2003-05-28  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
+	contours with only a single point to avoid segfault.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
+	handling `origin'.
+
+2003-05-24  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
+	Removed since unused.
+
+2003-05-21  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
+	for strcat.
+
+	* src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
+	(parse_font): s/memcpy/ft_memcpy/.
+	(is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
+	* src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
+	s/strlen/ft_strlen/.
+	s/strcat/ft_strcat/.
+	s/strcpy/ft_strcpy/.
+	* src/gzip/zutil.h: s/memset/ft_memset/.
+	s/memcmp/ft_memcmp/.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
+	(PCF_Face_Init): Test for charset registry case-insensitively.
+
+	* src/gzip/ftgzip.c (ft_gzip_file_io): Revert change from yesterday;
+	it has already been fixed differently.
+
+	* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
+	if-clause.
+
+2003-05-21  Martin Zinser  <[email protected]>
+
+	* t1load.c (parse_blend_axis_types): Fix compiler warning.
+
+	* descrip.mms: Removed.  Now created by...
+
+	* vms_make.com: New file.
+
+2003-05-21  Weiqi Gao  <[email protected]>
+
+	* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
+	to prevent infinite loop.
+
+2003-05-21  Lars Clausen  <[email protected]>
+
+	* docs/VERSION.DLL: Provide better autoconf snippet to check
+	FreeType version.
+
+2003-05-21  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (open_face): Free `internal' not
+	`face->internal' in case of error to avoid possible segfault.
+
+	* src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
+	actually have an outline.
+
+2003-05-20  David Chester  <[email protected]>
+
+	* src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
+	y_scale so that the top of non-capital letters is aligned on a pixel
+	boundary whenever possible.
+
+	* src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
+	m's maintain their symmetry.
+
+2003-05-20  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph): Oops!  David's
+	patch from yesterday has been resolved already in a different
+	way.  Reverted.
+
+2003-05-19  David Chester  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
+	y_scale locally but face->size->metrics.y_scale.
+
+2003-05-19  David Turner  <[email protected]>
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
+	value for `hi' to avoid infinite loop.
+
+2003-05-18  Yong Sun  <[email protected]>
+
+	* src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
+
+2003-05-18  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
+	New macro.
+	* src/base/ftobjs.c: Use it to control mac font support on non-mac
+	platforms.
+
+2003-05-17  George Williams  <[email protected]>
+
+	Implement partial support of Mac fonts on non-Mac platforms.
+
+	* src/base/ftobjs.c (memory_stream_close, new_memory_stream,
+	open_face_from_buffer, Mac_Read_POST_Resource,
+	Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
+	[!FT_MACINTOSH]: New functions.
+	(FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
+
+2003-05-17  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
+	if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
+	zero since FNT and friends don't define `face->units_per_EM').
+
+2003-05-15  David Turner  <[email protected]>
+
+	* src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
+	for small values.
+
+2003-05-15  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
+	and `out_angle' fields.
+
+2003-05-14  George Williams  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
+
+2003-05-14  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h: Fix typo in comment
+	(FT_HAS_FIXED_SIZES).
+
+2003-05-10  Dan Williams  <[email protected]>
+
+	* builds/unix/aclocal.m4: Comment out definition of
+	`allow_undefined_flag' for Darwin 1.3.
+	* builds/unix/configure.ac: Add option --with-old-mac-fonts.
+	* builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
+	* builds/unix/configure: Regenerated.
+
+	* include/freetype/config/ftconfig.h: Fix conditions for defining
+	`FT_MACINTOSH'.
+	* src/base/ftbase.c: Include `ftmac.c' conditionally.
+	* src/base/ftmac.c: Handle __GNUC__.
+
+2003-05-07  YAMANO-UCHI Hidetoshi  <[email protected]>
+
+	* src/cid/cidload.c (is_alpha): Removed.
+	(cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
+
+2003-05-07  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
+
+2003-05-07  David Turner  <[email protected]>
+
+	* src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
+	`switch' statement to make it run faster.
+	(ah_outline_compute_segments): Reset `segment->score' and
+	`segment->link'.
+	(ah_outline_link_segments): Provide alternative code which does
+	the same but runs much faster.
+	Handle major direction also.
+	(ah_outline_compute_edges): Scale `edge_distance_threshold' down
+	after rounding instead of scaling comparison value in loop.
+
+	* src/autohint/ahhint.c (ah_hinter_align_strong_points): Provide
+	alternative code which runs faster.
+	Handle `before->scale == 0'.
+
+	* src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
+	(AH_EdgeRec): Move some fields in structure.
+	New field `scale'.
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
+
+2003-05-02  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahoptim.c (LOG): Renamed to...
+	(AH_OPTIM_LOG): This.
+	(AH_Dump_Springs): Fix log message format.
+
+	* src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
+	(ah_hint_edges): This.
+
+2002-05-02  Keith Packard  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
+
+2003-05-01  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
+	(ah_test_extremum): This.
+
+2003-04-28  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.ac: Generate `freetype.pc' from
+	`freetype.in'.
+	* builds/unix/configure: Regenerated.
+	* builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
+
+2003-04-28  Gustavo J. A. M. Carneiro  <[email protected]>
+
+	* builds/unix/freetype2.in: New file.  Contains building information
+	for the `pkg-config' package.
+
+2003-04-28  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
+	`glyph_index'.
+
+2003-04-25:  Graham Asher  <[email protected]>
+
+	Added the optional unpatented hinting system for TrueType.  It
+	allows typefaces which need hinting to produce correct glyph forms
+	(e.g., Chinese typefaces from Dynalab) to work acceptably without
+	infringing Apple patents.  This system is compiled only if
+	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
+	ftoption.h.
+
+	* include/freetype/ttunpat.h: New file.  Defines
+	FT_PARAM_TAG_UNPATENTED_HINTING.
+
+	* include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
+	macro to use when including ttunpat.h.
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
+	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
+	(not defined, but in comments) for the unpatented hinting system.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec)
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
+	unpatented_hinting'.
+
+	* src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
+	Removed.
+	(GUESS_VECTOR): New macro.
+	(TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+	Set `both_x_axis'.
+	(tt_default_graphics_state)
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
+	(Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+	Handle `unpatented_hinting'.
+	(Direct_Move) [NO_APPLE_PATENT]: Removed.
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
+	(Project, FreeProject)
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
+	(Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+	Implement unpatented hinting.
+	(DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
+	Ins_SDPVTL): Call `GUESS_VECTOR'.
+	(DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+	Handle `unpatented_hinting'.
+	(Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
+	hinting.
+	(Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
+	hinting.
+	(TT_RunIns): Updated.
+
+	* src/truetype/ttobjs.c
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
+	FT_TRUETYPE_UNPATENTED_H.
+	(tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
+	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
+	FT_PARAM_TAG_UNPATENTED_HINTING.
+
+	* src/truetype/ttobjs.h (TT_GraphicsState)
+	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
+
+2003-04-25  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
+	argument.
+	(bdf_get_font_property): Use `const' for third argument.
+	Updated all callers.
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
+	similar to the PCF driver.
+	* src/bdf/bdf.h (_hashnode): Use `const' for `key'.
+	Updated.
+
+	* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
+	is declared twice.  It is perhaps better to modify the zlib source
+	files directly instead of this hack.
+	(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
+	to make build with g++ successful.
+
+2003-04-24  Manish Singh  <[email protected]>
+
+	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
+	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
+	also for searching the style name.
+
+2003-04-24  David Turner  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
+	face->num_glyphs.  We must increase the value by 1 to respect the
+	convention that glyph index 0 always corresponds to the `missing
+	glyph'.
+
+2003-04-24  Werner Lemberg  <[email protected]>
+
+	* builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
+
+2003-04-24  Dieter Baron  <[email protected]>
+
+	* builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
+	files first.  Otherwise there are conflicts with FreeType 1
+	installed simultaneously.
+
+2003-04-23  Werner Lemberg  <[email protected]>
+
+	Fixing bugs reported by Nelson Beebe.
+
+	* src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
+	variable `in_path'.
+
+	* src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
+	second argument to `FT_Byte*'.
+	* include/freetype/internal/ftobjs.h: Updated.
+
+	* src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
+	(_bdf_parse_glyphs): Remove unused variable `next'.
+	Mark `call_data' as unused.
+
+	* src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
+	`plast'.
+
+	* src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
+	actually use `error'.
+	(pcf_load_font): Remove unused variable `avgw'.
+
+	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
+	to `void'.
+	Mark `error' as unused.
+	* src/pfr/pfrobjs.h: Updated.
+	* src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
+	`format_tag'.
+
+	* src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
+	unused variable `start'.
+	(tt_cmap10_char_next): Remove unused variable `result'
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
+
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
+	unused.
+
+	* src/type1/t1objs.c (T1_Face_Init): Remove unused variable
+	`pshinter'.
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
+	only for FT_CONFIG_OPTION_INCREMENTAL.
+
+2003-04-23  Akito Hirai  <[email protected]>
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
+	of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
+	Without this change, many CJK fonts from Dynalab are rejected.
+
+2003-04-23  Joe Marcus Clarke  <[email protected]>
+
+	* src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
+	`get_interface'.
+
+2003-04-23  Paul Miller  <[email protected]>
+
+	* src/base/ftmac.c (parse_fond): Fix handling of style names.
+
+2003-04-23  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
+	instead of FT_UInt for `len'.
+
+2003-04-22  Werner Lemberg  <[email protected]>
+
+	* src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
+	Convert K&R format to modern C usage.
+	(FT_Stream_OpenGzip): Use long constant.
+
+2003-04-21  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
+	of `manager'.
+
+2003-04-20  Werner Lemberg  <[email protected]>
+
+	* doc/INSTALL.UNX: Cleaned up.
+
+2003-04-09  Torrey Lyons  <[email protected]>
+
+	* src/base/ftmac.c (open_face_from_buffer): Removed a double-free
+	bug that had nasty consequences when trying to open an `invalid'
+	font on a Mac.
+
+2003-04-09  Mike Fabian  <[email protected]>
+
+	* src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
+	(PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
+	to access more than 32768 glyphs in fonts.
+
+2003-04-08  David Turner  <[email protected]>
+
+
+	* Version 2.1.4 released.
+	=========================
+
+
+2003-04-03  Martin Muskens  <[email protected]>
+
+	* src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
+	handle special cases where a font only contains a `.notdef' glyph
+	(happens in PDF-embedded fonts).  Otherwise, FT_Panic was called.
+
+2003-03-27  David Turner  <[email protected]>
+
+	* README: Updated.
+
+	* README.UNX: Removed (now replaced by docs/INSTALL.UNX).
+
+	* src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
+	will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
+	used.
+	(psh3_dimension_quantize_len): Enabled.
+	(psh3_hint_align): Enable commented code.
+	(psh3_hint_align_light): Commented out.
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
+	computations to include rounding in all cases; this is required to
+	provide accurate kerning data when native TrueType hinting is
+	enabled.
+
+	* src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
+	more general names according to the PostScript specification (the
+	previous one was too restrictive).
+	(parse_font_name, parse_encoding, parse_charstrings, parse_dict):
+	Use `is_name_char'.
+	(parse_subrs): Handle empty arrays.
+
+2003-03-20  David Turner  <[email protected]>
+
+	Serious rewriting of the documentation.
+
+	* docs/BUGS, docs/BUILD: Removed.
+	* docs/DEBUG.TXT: Renamed to...
+	* docs/DEBUG: This.
+	* docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
+	* docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
+	containing platform specific information previously in INSTALL.
+	* docs/readme.vms: Renamed to...
+	* docs/INSTALL.VMS: This.
+
+	* docs/*: Updated.
+
+	Introduced three new functions to deal with glyph bitmaps within
+	FT_GlyphSlot objects:
+
+	  ft_glyphslot_free_bitmap
+	  ft_glyphslot_alloc_bitmap
+	  ft_glyphslot_set_bitmap
+
+	These functions are much more convenient to use than managing the
+	FT_GLYPH_OWN_BITMAP flag manually.
+
+	* include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
+	ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
+	* src/base/ftobjs.c: Implement them.
+	(ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
+
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
+	(PCF_Glyph_Load): Remove unused variable `memory'.
+	Use `ft_glyphslot_*' functions.
+	Don't set `FT_GLYPH_OWN_BITMAP'.
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
+	`ft_glyphslot_alloc_bitmap'.
+
+	* src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
+	`FT_GlyphSlot'.
+	Adding argument `depth' to handle recursive calls.
+	Use `ft_glyphslot_alloc_bitmap'.
+	(tt_face_load_sbit_image): Remove unused variable `memory'.
+	Don't handle `FT_GLYPH_OWN_BITMAP'.
+	Update call to Load_SBit_Image.
+
+	* src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
+	(t42_glyphslot_clear): This.  Updated caller.
+	Call `ft_glyphslot_free_bitmap'.
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use
+	`ft_glyphslot_set_bitmap'.
+	Don't handle `FT_GLYPH_OWN_BITMAP'.
+
+	* src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
+	check.
+
+	* src/autohint/ahglyph.c (ah_outline_load): Add two scaling
+	arguments.
+	* src/autohint/ahglyph.h: Updated.
+	* src/autohint/ahhint.c (ah_hinter_load): Updated.
+	* src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
+
+	* src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
+	crash the cache in rare circumstances (mostly with broken fonts).
+
+2003-03-15  David Turner  <[email protected]>
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
+	bug.  Actually, it seems that previous versions of FreeType didn't
+	perform TrueType rounding exactly as appropriate.
+
+2003-03-14  David Turner  <[email protected]>
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
+	TrueType native rendering glitches; they came from a small rounding
+	error.
+
+2003-03-13  David Turner  <[email protected]>
+
+	Added new environment variables to control memory debugging with
+	FreeType.  See the description of `FT2_DEBUG_MEMORY',
+	`FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
+
+	* src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
+	`bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
+	(ft_mem_debug_alloc): Handle new variables.
+	(ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
+	Handle new environment variables.
+	* docs/DEBUG.TXT: Updated.
+
+	Fixed the cache sub-system to correctly deal with out-of-memory
+	conditions.
+
+	* src/cache/ftccache.c (ftc_node_destroy): Comment out generic
+	check.
+	(ftc_cache_lookup): Implement loop.
+	* src/cache/ftccmap.c: Define FT_COMPONENT.
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
+	FT_Err_Out_Of_Memory.
+	* src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_LruList_Lookup): Implement loop.
+
+	* src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
+	(pfr_face_init): Fixing compiler warnings.
+
+	* src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
+	leak) that only happened when a try to resize an array would end in
+	an out-of-memory condition.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
+	warnings / volatile bug.
+
+	* src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
+	fault that happened in tight memory environments.
+
+2003-02-28  Pixel  <[email protected]>
+
+	* src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
+	stream was not properly finalized.
+
+2003-02-25  Anthony Fok  <[email protected]>
+
+	* src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
+	(ftc_cmap_family_init): The cmap cache now
+	supports UCS-4 charmaps when available in Asian fonts.
+
+	* src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
+	in comments.
+
+2003-02-25  David Turner  <[email protected]>
+
+	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
+	caused FreeType to loop endlessly when trying to read certain
+	compressed gzip files.  The following test reveals the bug:
+
+	  touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
+
+	Several fixes to the PFR font driver:
+
+	- The list of available embedded bitmaps was not correctly set in
+	  the root FT_FaceRec structure describing the face.
+
+	- The glyph loader always tried to load the outlines when
+	  FT_LOAD_SBITS_ONLY was specified.
+
+	- The table loaded now scans for *undocumented* elements of a
+	  physical font's auxiliary data record.  This is necessary to
+	  retrieve the `real' family and style names.
+
+	NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
+
+	* src/pfr/pfrload.c (pfr_aux_name_load): New function.
+	(pfr_phy_font_done): Free `family_name' and `style_name' also.
+	Remove unused variables.
+	(pfr_phy_font_load): Extract useful information from the auxiliary
+	bytes.
+
+	* src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
+	(pfr_face_init): Provide fallback values for `family_name' and
+	`style_name'.
+	Handle strikes.
+	(pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
+	* src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
+	`descent', `leading', `family_name', and `style_name'.
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
+	when computing the scale factors for a given character size in
+	points with resolution.
+
+	* devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
+	which are special development versions of include/ft2build.h and
+	include/freetype/config/ftoption.h, respectively.
+
+2003-02-18  David Turner  <[email protected]>
+
+	Fixing the slight distortion problem that occurred due to the latest
+	auto-hinter changes.
+
+	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
+	[!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
+
+	* src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
+	* src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
+	`metrics'.
+	[FT_CONFIG_CHESTER_ASCENDER]: Code removed.
+	(Reset_SBit_Size): Fix initialization of `metrics'.
+
+	* src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
+	`exec->metrics'.
+
+	* src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
+	`correction' which seemed to provide more trouble than benefits.
+
+2003-02-13  Graham Asher  <[email protected]>
+
+	Changed the incremental loading interface in a way that makes it
+	simpler and allows glyph metrics to be changed (e.g., by adding a
+	constant, as required by CFF fonts) rather than just overridden.
+	This was required to make the GhostScript-to-FreeType bridge work.
+
+	* src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
+	Allow metrics to be overridden.
+	* src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
+	Ditto.
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
+	(compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
+	moved down.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+
+	* include/freetype/ftincrem.h: Updated.
+
+2003-01-31  David Turner  <[email protected]>
+
+	* docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
+	for the 2.1.4 release.
+
+	* builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/index.html: Updating the project file for
+	2.1.4.
+
+	* src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
+	src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
+	src/gzip/infutil.c: Removed old-style (K&R)function definitions.
+	This avoids warnings with Visual C++ at its most pedantic mode.
+
+	* src/pfr/pfrsbit.c: Removed compiler warnings.
+
+	* src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
+	into an FT_TRACE1 since it caused `ftview' and others to dump too
+	much junk when trying to display a waterfall with a font without a
+	Unicode charmap (e.g.  SYMBOL.TTF).
+
+	Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
+	patch from David Chester, but with a much simpler (and saner)
+	implementation.
+
+	* src/autohint/ahhint.c (ah_hinter_load_glyph)
+	[FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
+	the top of non-capital letters is aligned on a pixel boundary
+	whenever possible.
+
+	* src/base/ftobjs.c (FT_Set_Char_Size)
+	[FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
+	* src/truetype/ttdriver.c (Set_Char_Sizes)
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
+	if this macro is defined.
+
+	* src/truetype/ttobjs.c (Reset_Outline_Size)
+	[FT_CONFIG_CHESTER_ASCENDER]: Round differently.
+
+	* src/pshinter/pshalgo3.c: Improved the Postscript hinter.  Getting
+	rid of stem snapping seems to work well here (though the stems are
+	still slightly moved to increase contrast).
+	(psh3_dimension_quantize_len): Commented out.
+	(psh3_hint_align_light): New function.
+	(psh3_hint_align): Comment out some code.
+
+	THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
+	STILL SUCK.
+
+2003-01-22  David Chester  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
+	stem width optimization.
+
+2003-01-22  David Turner  <[email protected]>
+
+	Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
+	properties of a given PCF or BDF font.
+
+	* include/freetype/ftbdf.h (BDF_PropertyType): New enumeration.
+	(BDF_Property, BDF_PropertyRec): New structure.
+	FT_Get_BDF_Property): New function.
+	* include/freetype/internal/bdftypes.h: Include FT_BDF_H.
+	(BDF_GetPropertyFunc): New function pointer.
+
+	* src/base/ftbdf.c (test_font_type): New helper function.
+	(FT_Get_BDF_Charset_ID): Use `test_font_type'.
+	(FT_Get_BDF_Property): New function.
+
+	* src/bdf/bdfdrivr.c: Include FT_BDF_H.
+	(bdf_get_bdf_property, bdf_driver_requester): New functions.
+	(bdf_driver_class): Use `bdf_driver_requester'.
+
+	* src/pcf/pcfdrivr.c: Include FT_BDF_H.
+	(pcf_get_bdf_property, pcf_driver_requester): New functions
+	(pcf_driver_class): Use `pcf_driver_requester'.
+
+	* src/pcf/pcfread.c: Include `pcfread.h'.
+	(pcf_find_property): Decorate it with FT_LOCAL_DEF.
+	* src/pcf/pcfread.h: New file, providing `pcf_find_property'.
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
+	verification to accept a few broken fonts who pad the size
+	incorrectly (the table should be padded, but its `size' field
+	shouldn't according to the specification).
+
+2003-01-18  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+	--copy' from libtool 1.4.3.
+	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+	automake 1.7.1.
+	* builds/unix/configure: Regenerated with autoconf 2.54.
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org.
+	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+	`automake' CVS module at subversions.gnu.org.
+
+2003-01-15  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h: Fixed documentation for
+	FT_Size_Metrics.
+
+2003-01-15  James Su  <[email protected]>
+
+	* src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
+	certain gzip-ed font files (typo: `&&' -> `&').
+
+2003-01-15  Huw D M Davies  <[email protected]>
+
+	Added a Windows .FNT specific API (mostly for Wine).  Also fixed a
+	nasty bug in the header loader which would cause invalid memory
+	overwrites.
+
+	* include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
+	for ftwinfnt.h.
+	* include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
+	(FNT_FontRec): Updated.
+	Move Windows FNT definition to...
+	* include/freetype/ftwinfnt.h: This new file.
+	(FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
+	* src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
+	* src/winfonts/winfnt.c (winfnt_header_fields): Updated.
+	Rename `reserved2' to `reserved1'.
+	(fnt_font_load): Updated.
+
+	* src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
+	Updated.
+
+2003-01-14  Graham Asher  <[email protected]>
+
+	* include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
+	the type of the first argument to FT_Matrix_Multiply, which isn't
+	changed -- this adds documentation and convenience.
+
+2003-01-13  Graham Asher  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_metrics)
+	[FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
+	horizontal metrics (without the `hmtx' table) are now tolerated if
+	an incremental interface has been specified that has a
+	get_glyph_metrics function, implying that metrics will be supplied
+	from outside.  This happens for certain Type 42 fonts passed from
+	GhostScript.
+
+2003-01-11  David Chester  <[email protected]>
+
+	Patches to the auto-hinter in order to slightly improve the output.
+	Note that everything is controlled through the new
+	FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'.  There are
+	also individual FT_CONFIG_CHESTER_XXX macros to control individual
+	`features'.
+
+	Note that all improvements are enabled by default, but can be
+	tweaked for optimization and testing purposes.  The configuration
+	macros will most likely disappear in the short future.
+
+	* include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
+	(FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
+	[FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
+	features.
+
+	* src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
+	Add blue zone for `fijkdbh'.
+	* src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
+	[FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
+	* src/autohint/ahglyph.c (ah_outline_compute_edges)
+	[FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
+	(ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
+	Increase threshold for `best_dist'.
+	* src/autohint/ahhint.c (ah_compute_stem_width)
+	[FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
+	handling.
+	(ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
+	version of `ah_compute_stem_width'.
+	(ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
+	alignment when stem widths are less than 1.5 pixels wide centers the
+	stem slightly off-center of the center of a pixel (this increases
+	sharpness and consistency).
+	[FT_CONFIG_CHESTER_SERIF]: Use special version of
+	`ah_compute_stem_width'.
+	* src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
+	`AH_BLUE_SMALL_F_TOP'.
+
+2003-01-11  David Turner  <[email protected]>
+
+	* include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
+	size of `reserved2' to avoid memory overwrites.
+
+2003-01-08  Huw Davies  <[email protected]>
+
+	* src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
+	`reserved2', not `reserved'.
+
+	* src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
+	returned when the font doesn't contain a Unicode charmap.  This
+	allows FT2 to load `symbol.ttf' and a few others correctly since the
+	last release.
+	(open_face): Fix return value.
+
+2003-01-08  Owen Taylor  <[email protected]>
+
+	Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
+	postscript hinters.
+
+	* src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
+	* src/autohint/ahhint.c (ah_compute_stem_width): Handle
+	hinter->do_stem_adjust.
+	(ah_hinter_load_glyph): Set hinter->do_stem_adjust.
+
+	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
+	* src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
+	(ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
+
+	* include/freetype/freetype.h (FT_Render_Mode): Add
+	FT_RENDER_MODE_LIGHT.
+
+	* src/truetype/ttgload.c: Fixing the TrueType loader to handle
+	invalid composites correctly by limiting the recursion depth.
+	(TT_MAX_COMPOSITE_RECURSE): New macro.
+	(load_truetype_glyph): Add argument `recurse_count'.
+	Load a composite only if the numbers of contours is -1, emit error
+	otherwise.
+	(TT_Load_Glyph): Updated.
+
+2003-01-08  David Turner  <[email protected]>
+
+	* Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
+	support the compilation of FreeType 2 as part of larger projects
+	with their own configuration options (only with Jam).
+
+2003-01-07  David Turner  <[email protected]>
+
+	* src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
+	the API is likely to change, however.
+	(ft_stroke_border_close): Don't record empty paths.
+	(ft_stroke_border_get_counts): Increase `num_points' also in for loop.
+	(ft_stroke_border_export): Don't increase `write' twice in for loops.
+	(ft_stroker_outside): Handle `phi' together with `theta'.
+	(FT_Stroker_ParseOutline): New function.
+
+	* src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
+	invalid values for large negative angle differences (resulting in
+	incorrect stroker computations, among other things).
+
+	* src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
+	assertion, and changing code to avoid hash table size contraction.
+
+	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
+	`ftstroker' to default build, as optional component.
+
+2002-12-26  David Turner  <[email protected]>
+
+	* src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
+	src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
+	src/gzip/zutil.h: Updates to allow compilation without compiler
+	warnings with LCC-Win32.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+	* builds/unix/configure.ac (version_info): Increased to 9:3:3.
+	* builds/unix/configure: Regenerated.
+	* docs/VERSION.DLL: Updated.
+
+2002-12-23  Anthony Fok  <[email protected]>
+
+	* builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
+	builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
+	sub-system on Unix to allow other programs to correctly link with
+	zlib when needed.
+
+2002-12-19  David Turner  <[email protected]>
+
+	* include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
+	function pointer.
+
+	* include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
+	* src/base/ftobjs.c: Implement it.
+
+	* src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
+	module request.
+
+2002-12-17  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (find_unicode_charmap): Added some comments to
+	better explain what's happening there.
+	(open_face): Included Graham Asher's fix to prevent faces without
+	Unicode charmaps from loading.
+
+	* src/winfonts/winfnt.c: Included George Williams's fix to support
+	version 2 fonts correctly.
+	(winfnt_header_fields): Updated.
+	(fnt_font_load): Handle version 2 fonts.
+	(FNT_Load_Glyph): Updated.
+
+2002-12-16  David Turner  <[email protected]>
+
+	* docs/VERSION.DLL: Updating document to better explain the
+	differences between the three version numbers being used on Unix, as
+	well as providing an autoconf fragment provided by Lars Clausen.
+
+	* src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
+	prevented Bézier arcs with negative vertical coordinates to be
+	rendered appropriately.
+
+2002-12-02  Antoine Leca  <[email protected]>
+
+	* src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
+	Now it loads UCS-4 charmaps when there is one.
+	(find_unicode_charmap): New function.
+	(open_face): Refer to the above one.
+	(FT_Select_Charmap): Idem.
+
+2002-11-29  Antoine Leca  <[email protected]>
+
+	* include/freetype/ftgzip.h: Correct the name of the controlling
+	macro (was __FTXF86_H__ ...).
+
+2002-11-27  Vincent Caron  <[email protected]>
+
+	* builds/unix/unix-def.in, builds/unix/freetype-config.in,
+	builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
+	[FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
+	installations if available on the target platform (Unix only).
+
+2002-11-23  David Turner  <[email protected]>
+
+	* src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
+	charset loader to accept pre-defined charsets, even when the font
+	contains fewer glyphs.  Also enforced more checks to ensure that we
+	never overflow the character codes array in the encoding.
+
+2002-11-22  Antoine Leca  <[email protected]>
+
+	* include/freetype/ttnameid.h: Updated to latest OpenType
+	specification.
+
+2002-11-18  David Turner  <[email protected]>
+
+
+	* Version 2.1.3 released.
+	=========================
+
+
+2002-11-07  David Turner  <[email protected]>
+
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Fixed a small bug that
+	caused problems with embedded bitmaps.
+
+	* src/otlayout/otlayout.h, src/otlayout/otlconf.h,
+	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
+	src/otlayout/otlparse.c, src/otlayout/otlparse.h,
+	src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
+	support for the first GSUB lookups.  Nothing that really compiles
+	for now though.
+
+	* src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
+	width quantization.  It produces slightly better shapes though this
+	is not distinguishable with many fonts.
+	Remove other dead code.
+
+	* src/Jamfile, src/*/Jamfile: Simplified.
+	Use $(FT2_SRC_DIR).
+
+2002-11-06  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
+	(FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
+
+2002-11-05  David Turner  <[email protected]>
+
+	* include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
+	support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
+	the use of system-wide zlib.
+
+	Note that this macro, as well as
+	TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
+	This allows the build system to define them depending on the
+	configuration (typically by adding -D flags at compile time).
+
+	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
+	warnings in optimized mode relative to the `volatile' local
+	variables.  This was not a compiler bug after all, but the fact that
+	a pointer to a volatile variable is not the same as a volatile
+	pointer to a variable :-)
+
+	The fix was to change
+	  `volatile FT_Byte* p'
+	into
+	  `FT_Byte* volatile p'.
+
+	* src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
+	(pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
+	optimized modes.
+
+	* src/gzip/*.[hc]: Modified our zlib copy in order to prevent
+	exporting any zlib function names outside of the component.  This
+	prevents linking problems on some platforms, when applications want
+	to link FreeType _and_ zlib together.
+
+2002-11-05  Juliusz  <[email protected]>
+
+	* src/psaux/psobjs.c (ps_table_add): Modified increment loop in
+	order to implement exponential behaviour.
+
+2002-11-01  David Turner  <[email protected]>
+
+	Added PFR-specific public API.  Fixed the kerning retrieval routine
+	(it returned invalid values when the outline and metrics resolution
+	differ).
+
+	* include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
+	files.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
+	macro for pfr.h.
+
+	* src/base/ftpfr.c: New file.
+	* src/base/Jamfile, src/base/descrip.mms: Updated.
+
+	* src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
+	(pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
+	(pfr_service_rec): New format interface.
+	(pfr_driver_class): Use `pfr_service_rec'.
+	Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
+	* src/pfr/pfrobjs.c: Remove dead code.
+
+	* src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
+	better support bitmap-based font formats.
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
+	`scale'.
+	Fix arguments to `FT_Vector_From_Polar'.
+
+2002-10-31  David Turner  <[email protected]>
+
+	Add support for automatic handling of gzip-compressed PCF files.
+
+	* src/gzip/*: New files, taken from the zlib package (except
+	ftgzip.c).
+
+	* include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
+	* include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
+	`ftgzip.h'.
+
+	* src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
+	(PCF_Face_Init): If normal open fails, try to open gzip stream.
+	(PCF_Face_Done): Close gzip stream.
+
+	* include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
+	src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
+
+	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
+	New macro.
+	(T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
+	FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
+	FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
+
+	(FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
+	FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
+	that platform specific configuration file can override.
+
+	* include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
+
+2002-10-30  David Turner  <[email protected]>
+
+	* FreeType 2.1.3rc3 released.
+
+2002-10-25  David Turner  <[email protected]>
+
+	* include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
+	(FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
+
+2002-10-22  Giuseppe Ghibò  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
+
+2002-10-07  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
+	(suggested by Graham).
+	* src/base/ftobjs.c (FT_Open_Face): Updated.
+	(ft_input_stream_new): Ditto.
+
+2002-10-05  David Turner  <[email protected]>
+
+	Adding support for embedded bitmaps to the PFR driver, and rewriting
+	its kerning loader/handler to use all kerning pairs in a physical
+	font (and not just the first item).
+
+	* src/pfr/pfr.c: Include `pfrsbit.c'.
+	* src/pfr/pfrgload.c: Include `pfrsbit.h'.
+	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
+	(pfr_phy_font_done, pfr_phy_font_load): Updated.
+	* src/pfr/pfrobjs.c: Include `pfrsbit.h'.
+	(pfr_face_init): Handle kerning and embedded bitmaps.
+	(pfr_slot_load): Load embedded bitmaps.
+	(PFR_KERN_INDEX): Removed.
+	(pfr_face_get_kerning): Rewritten.
+	* src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
+	* src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
+	(PFR_KERN_INDEX): New macro.
+	(PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
+	* src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
+	FT_LOAD_NO_RECURSE is set.
+	Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
+
+	* src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
+	src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
+	sub-tables is now capable of dealing with invalid `length' fields at
+	the start of the sub-table.  This allows fonts like `mg______.ttf'
+	(i.e.  Marriage) to return accurate charmaps.
+
+	* docs/CHANGES: Updated.
+
+2002-10-05  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
+	Update all callers.
+	(TRUNC): Add cast to `TCoord'.
+	Update all callers.
+	(TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
+	last_ey.
+	Update all casts.
+	(gray_render_line): Fix casts for `p' and `first'.
+
+2002-10-02  Detlef Würkner  <[email protected]>
+
+	* src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
+	structure with FT_ALLOC instead of using the stack.
+
+2002-09-27  Werner Lemberg  <[email protected]>
+
+	* src/include/freetype/internal/tttypes.h (num_sbit_strikes,
+	num_sbit_scales): Use `FT_ULong'.
+	* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
+	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
+	(find_sbit_image): Remove cast.
+	* src/raster/ftrend1.c (ft_raster1_render): Fix cast.
+
+2002-09-27  Wolfgang Domröse  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_names): Use cast.
+	* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
+	(code_to_index4): Use cast.
+	(code_to_index8_12): Fix cast.
+	* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
+	tt_cmap12_char_index): Use cast for `result'.
+	(tt_face_build_cmaps): Use cast.
+	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
+	`code'.
+	(sfnt_load_face): Use FT_Int32 for `flags'.
+
+	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
+	gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
+	to `TCoord' and `int'.
+	More 16bit fixes.
+	s/FT_Pos/TPos/.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
+
+2002-09-26  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
+	tt_face_get_ps_name): Replace switch statement with if clauses to
+	make it more portable.
+
+	* src/cff/cffobjs.c (cff_face_init): Ditto.
+
+	* include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
+	`module_size'.
+	* include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
+	`glyph_size'.
+
+	* src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
+	`FT_Render_Mode'.
+	(FT_Render_Glyph_Internal): Change third parameter to
+	`FT_Render_Mode'.
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
+	to `FT_Render_Mode'.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Change third parameter
+	to `FT_Render_Mode'.
+	* src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
+	ft_smooth_render_lcd_v): Ditto.
+	(ft_smooth_render_generic): Change third and fifth parameter to
+	`FT_Render_Mode'.
+
+	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+	include/freetype/ftglyph.h: Updated.
+
+	* src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
+	(PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
+	src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
+	(T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
+	fourth parameter to `FT_Int32'.
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
+	and declare them as unused.
+
+	* src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
+
+	* src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
+	value to FT_UInt32.
+	* src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
+	Updated accordingly.
+
+2002-09-26  Wolfgang Domröse  <[email protected]>
+
+	* src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
+	(cff_get_glyph_name): Use cast for result of ft_strlen.
+	* src/cff/cffparse.c (cff_parse_real): User cast for assigning
+	`exp'.
+	* src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
+	some local variables.
+	(cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
+	switch statements.
+	(cff_font_load): Use cast in call to CFF_Load_FD_Select.
+	* src/cff/cffobjs.c (cff_size_init): Use more casts.
+	(cff_face_init): Use FT_Int32 for `flags'.
+	* src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
+	`adx' and `ady'.
+	(cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
+	Use more casts.
+	* src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
+
+	* src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
+	* src/cid/cidgload.c (cid_load_glyph): Add missing cast for
+	`cid_get_offset'.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
+	cast for `num_points'.
+	(t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
+
+	* src/base/ftdebug.c (ft_debug_init): Use FT_Int.
+	* include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
+	`FT_Int32' for fourth parameter.
+	* src/base/ftobjs.c (open_face): Use cast for calling
+	clazz->init_face.
+
+	* src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
+	`1L'.
+	(Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
+	* src/raster/ftrend1.c (ft_raster1_render): Ditto.
+
+	* src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
+	constant.
+
+2002-09-26  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/include/freetype/config/ftmodule.h: Updated.
+
+2002-09-25  David Turner  <[email protected]>
+
+	* src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
+	hinting in the auto-hinter.  This produces much better anti-aliased
+	text.
+
+	* docs/CHANGES: Updating the changes documentation.
+
+2002-09-25  Anthony Fok  <[email protected]>
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
+	tt_cmap4_char_next): Added support for opens___.ttf (it contains a
+	charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
+	missing glyph).
+
+2002-09-21  Wolfgang Domröse  <[email protected]>
+
+	* src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
+	FT_Int32.
+	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
+	Ditto.
+
+2002-09-19  Wolfgang Domröse  <[email protected]>
+
+	More 16bit fixes.
+
+	* src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
+	(ah_hinter_compute_widths): Use FT_Pos for `dist'.
+	Use AH_MAX_WIDTHS.
+	* src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
+	for `delta'.
+	(ah_outline_compute_edges): Replace some ints with FT_Int and
+	FT_Pos.
+	(ah_test_extrema): Clean up code.
+	(ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
+	hold indices.
+	* src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
+	to FT_Pos.
+
+2002-09-19  Werner Lemberg  <[email protected]>
+
+	* builds/unix/config.guess, builds/unix/config.sub: Updated to
+	recent versions.
+
+2002-09-18  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Library_Version): Bugfix.
+
+	* FreeType 2.1.3rc2 (release candidate 2) is released!
+
+2002-09-17  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h, include/freetype/ftimage.h,
+	include/freetype/ftstroker.h, include/freetype/ftsysio.h,
+	include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
+	the in-source documentation.
+
+	* src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
+	DocMaker tool.
+
+	* src/tools/docmaker.py: Removed.
+
+2002-09-17  Werner Lemberg  <[email protected]>
+
+	More 16bit fixes.
+
+	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
+	second parameter.
+
+2002-09-16  Werner Lemberg  <[email protected]>
+
+	16bit fixes from Wolfgang Domröse.
+
+	* src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
+	and `private_len' to FT_Long.
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
+	`private_len'.
+	* src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
+	Use FT_PtrDist where appropriate.
+	(parse_encoding): Use FT_Long for `count' and `n'.
+	(read_binary_data): Use FT_Long* for second parameter.
+	* src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
+
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
+	* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
+
+2002-09-14  Werner Lemberg  <[email protected]>
+
+	Making ftgrays.c compile stand-alone again.
+
+	* include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
+	isn't defined.
+	* src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
+	FT_BEGIN_HEADER, FT_END_HEADER.
+	(FT_MEM_ZERO): Define.
+	(TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
+	(gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
+	Don't cast with `FT_Byte'.
+	(grays_init_gamma): Don't use `FT_UInt'.
+
+2002-09-14  Werner Lemberg  <[email protected]>
+
+	* src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
+	* src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
+	* include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
+	to 32.
+
+2002-09-10  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.ac (version_info): Set to 9:2:3.
+	* builds/unix/configure: Regenerated.
+	* docs/VERSION.DLL: Updated.
+
+2002-09-09  David Turner  <[email protected]>
+
+	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
+	src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
+	to prevent segfault when hints are provided in an empty glyph.
+
+	* src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
+	Removed conditional code.  This fixes a bug that prevented
+	compilation in debug mode of template instantiation.
+
+	* include/freetype/ftimage.h: Removed incorrect `zft_' definitions
+	and updated constants documentation comments.
+
+	* src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
+	It didn't accept empty arrays, and this prevented the loading of
+	certain fonts.
+
+	* include/freetype/freetype.h (FT_FaceRec): Updating documentation
+	comment.  The `descender' value is always *negative*, not positive.
+
+2002-09-09  Owen Taylor  <[email protected]>
+
+	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
+	of bitmap metrics.
+
+2002-09-08  David Turner  <[email protected]>
+
+	Various updates to correctly support subpixel rendering.
+
+	* include/freetype/config/ftmodule.h: Add two renderers for LCD.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_lcd,
+	ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
+	FT_PIXEL_MODE_LCD_V, respectively.
+
+	* include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
+	structure.
+	Updated all users.
+	(FTC_ImageDesc): Removed.
+	(FTC_ImageCache_Lookup): Second parameter is now of type
+	`FTC_ImageType'.
+	Updated all users.
+	(FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
+	(FTC_IMAGE_TYPE_COMPARE): This.
+	(FTC_IMAGE_DESC_HASH): Updated and renamed to...
+	(FTC_IMAGE_TYPE_HASH): This.
+
+	* include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
+	replaced with `max_grays'.
+	`pitch' is now FT_Short.
+	(FTC_SBitCache_Lookup): Second parameter is now of type
+	`FTC_ImageType'.
+	Updated all users.
+
+	* src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
+	Updated.
+	(ftc_image_node_init): Updated.
+	Moved code to convert type flags to load flags to...
+	(FTC_Image_Cache_Lookup): This function.
+	(ftc_image_family_init): Updated.
+
+	* src/cache/ftcsbits.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
+	Updated.
+	(ftc_sbit_node_load): Updated.
+	Moved code to convert type flags to load flags to...
+	(FTC_SBitCache_Lookup): This function.
+
+	* src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
+	`do_*_snapping'.
+	Update all users (with negation).
+	* src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
+	`dist' for `delta' < 40.
+
+	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
+	`do_*_snapping'.
+	Update all users (with negation).
+	* src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
+	function.
+	(psh3_hint_align): Use it.
+	Improve hinting code.
+	[STRONGER]: Removed.
+	(STRONGER): Removed.
+
+	* include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
+	Removed.
+
+2002-09-05  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidobjs.c (CID_Size_Init): Renamed to...
+	(cid_size_init): This.
+	* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
+	(t1_builder_add_point1): This.
+
+	Updated all affected code.
+
+	* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
+	* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
+
+2002-09-04  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h: Corrected the definition of
+	ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
+	the erroneous FT_ENCODING_SYMBOL).
+
+	* builds/unix/unix-def.in (datadir): Initialize it (thanks to
+	Anthony Fok).
+
+2002-08-29  David Turner  <[email protected]>
+
+	Slight modification to the Postscript hinter to slightly increase
+	the contrast of smooth hinting.  This is very similar to what the
+	auto-hinter does when it comes to stem width computations.  However,
+	it produces better results with well-hinted fonts.
+
+	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
+	mode to `init' member function.
+	(T1_DecoderRec): Add hint mode.
+	* include/freetype/internal/pshints (T1_Hints_ApplyFunc,
+	T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
+	* src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
+	* src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
+	hint flags.
+	* src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
+	* src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
+	(STRONGER): New macro.
+	(psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
+	of `hint_flags'.
+	Implement announced changes.
+	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
+	vertical and horizontal hints and snapping.
+
+	* README, docs/CHANGES: Updating for the 2.1.3 release.
+
+2002-08-27  David Turner  <[email protected]>
+
+	* Massive re-formatting changes to many, many source files.  I don't
+	want to list them all here.  The operations performed were all
+	logical transformations of the sources:
+
+	- trying to convert all enums and constants to CAPITALIZED_STYLE,
+	  #with define definitions like
+
+	    #define my_old_constants   MY_NEW_CONSTANT
+
+	- big, big update of the documentation comments
+
+	* include/freetype/freetype.h, src/base/ftobjs.c,
+	src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
+	for LCD-optimized rendering though the new constants/enums:
+
+	  FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
+	  FT_PIXEL_MODE_LCD,  FT_PIXEL_MODE_LCD_V
+
+	This is still work in progress, don't expect everything to work
+	correctly though most of the features have been implemented.
+
+	* Adding new FT_LOAD_XXX flags, used to specify both hinting and
+	rendering targets:
+
+	  FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
+	  FT_LOAD_TARGET_MONO   :: monochrome bitmaps
+	  FT_LOAD_TARGET_LCD    :: horizontal RGB/BGR decimated
+	                           hinting & rendering
+	  FT_LOAD_TARGET_LCD_V  :: vertical RGB/BGR decimated
+	                           hinting & rendering
+
+	Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
+	behaviour of the font engine is _unchanged_.
+
+	* include/freetype/ftimage.h
+	(FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
+	(FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
+	(FT_Raster_Span_Func): Renamed to ...
+	(FT_SpanFunc): This.
+	(FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
+	(FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
+
+	Updated all affected code.
+
+	* include/freetype/ftrender.h
+	(FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
+	to ...
+	(FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
+	(FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
+	(FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SetModeFunc}):
+	This.
+
+	Updated all affected code.
+
+	* src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
+	AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
+	pointers to the corresponding `*Rec' structures.  All source files
+	have been updated accordingly.
+
+	* src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
+	* src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
+
+	* src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
+	(cid_face_compute_max_advance): This.
+	(CID_Load_Glyph): Renamed to...
+	(cid_slot_load_glyph): This.
+	* src/cid/cidload.c (CID_Open_Face): Renamed to...
+	(cid_face_open): This.
+	* src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
+	(cid_slot_{done,init}): This.
+	(CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
+	(cid_size_{get_globals_funcs,done,reset): This.
+	(CID_Face_{Done,Init}): Renamed to...
+	(cid_face_{done,init}): This.
+	(CID_Driver_{Done,Init}: Renamed to...
+	(cid_driver_{done,init}: This.
+	* src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
+	(cid_parser_{new,done}): This.
+	* src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
+	(cid_parser_skip_{spaces,alpha}): This.
+	(CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
+	to...
+	(cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
+	This.
+	(CID_Load_{Field,Field_Table): Renamed to...
+	(cid_parser_load_{field,field_table}): This.
+	* src/cid/cidriver.c (CID_Get_Interface): Renamed to...
+	(cid_get_interface): This.
+
+	Updated all affected code.
+
+	* src/psaux/psobjs.c (PS_Table_*): Renamed to...
+	(ps_table_*): This.
+	(T1_Builder_*): Renamed to...
+	(t1_builder_*): This.
+	* src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
+	(t1_decoder_*): This.
+
+	* src/psnames/psmodule.c (PS_*): Renamed to...
+	(ps_*): This.
+
+	Updated all affected code.
+
+	* src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
+	(sfnt_get_interface): This.
+	* src/sfnt/sfobjs.c (SFNT_*): Renamed to...
+	(sfnt_*): This.
+	* src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
+	(tt_face_{load,free}_charmap): This.
+	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
+	(tt_face_build_cmaps): This.
+	* src/sfnt/ttload.c (TT_*): Renamed to...
+	(tt_face_*): This.
+	* src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
+	(tt_post_default_names): This.
+	(Load_*): Renamed to...
+	(load_*): This.
+	(TT_*): Renamed to...
+	(tt_face_*): This.
+	* src/sfnt/ttsbit.c (TT_*): Renamed to...
+	(tt_face_*): This.
+	({Find,Load,Crop}_*): Renamed to...
+	({find,load,crop}_*): This.
+
+	Updated all affected code.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
+	(ft_smooth_render_generic): This.
+	Make function more generic by adding vertical and horizontal scaling
+	factors.
+	(ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
+	New functions.
+
+	(ft_smooth_lcd_renderer_class, ft_smooth_lcdv_renderer_class): New
+	classes.
+
+	* src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
+	(tt_glyphzone_{done,new}): This.
+	(TT_{Face,Size,Driver}_*): Renamed to...
+	(tt_{face,size,driver}_*): This.
+	* src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
+	(tt_face_load_loca): This.
+	(TT_Load_Programs): Renamed to...
+	(tt_face_load_fpgm): This.
+	(TT_*): Renamed to...
+	(tt_face_*): This.
+
+2002-08-27  Werner Lemberg  <[email protected]>
+
+	* docs/VERSION.DLL: New file.
+
+2002-08-23  Graham Asher  <[email protected]>
+
+	* src/cff/cffgload.c (cff_operator_seac)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
+	incremental in the case of CFF but just using callbacks to get glyph
+	recipes) pass the character code, not the glyph index, to the
+	get_glyph_data function; they have no valid charset table.
+
+	* src/cff/cffload.c (cff_font_load): Removed special cases for
+	FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
+	fonts provided via the incremental interface now have to conform
+	more closely to the CFF font format.
+
+	* src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
+
+	* src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
+	to conform with new signature.
+
+2002-08-22  David Turner  <[email protected]>
+
+	* src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
+	src/bdf/bdfdrivr.c: Removed compiler warnings.
+
+2002-08-21  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
+	psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
+	compiler warnings and resolve shadowing of local variables.
+
+2002-08-21  David Turner  <[email protected]>
+
+	The automatic and Postscript hinter now automatically detect
+	inflection points in glyph outlines and treats them specially.  This
+	is very useful to prevent nasty effect like the disappearing
+	diagonals of `S' and `s' in many, many fonts.
+
+	* src/autohint/ahtypes.h (ah_flag_inflection): New macro.
+	* src/autohint/ahangles.c (ah_angle_diff): New function.
+	* src/autohint/ahangles.h: Updated.
+	* src/autohint/ahglyph.c (ah_outline_compute_inflections): New
+	function.
+	(ah_outline_detect_features): Use it.
+	* src/autohint/ahhint.c (ah_hinter_align_strong_points)
+	[!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
+
+	* src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
+	src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
+
+	* include/freetype/freetype.h: Changing the type of the `load_flags'
+	parameter from `FT_Int' to `FT_Int32', this in order to support more
+	options.  This should only break binary and/or source compatibility
+	on 16-bit platforms (Atari?).
+	(FT_LOAD_NO_AUTOHINT): New macro.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
+	Handle FT_LOAD_NO_AUTOHINT.
+	(FT_Load_Char): Updated.
+
+	* src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
+	src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
+	and removing compiler warnings.
+
+2002-08-20  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
+
+2002-08-20  David Turner  <[email protected]>
+
+	* src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
+	src/pshinter/pshglob.c, src/pshinter/pshrec.c,
+	src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
+	(only used in development builds anyway).
+
+	Improve support of local extrema and stem edge points.
+
+	* src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
+	for `zones'.
+	(PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
+	(PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
+	(PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
+	macros.
+	(PSH3_POINT_INFLEX): New enum.
+	(psh3_point_{is,set}_{off,inflex}): New macros.
+	(PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
+	enum values.
+	(psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
+	New macros.
+	(PSH3_PointRec): New members `flags2' and `org_v'.
+	(PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
+
+	* src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
+	warnings.
+	(COMPUTE_INFLEXS): New macro.
+	(psh3_hint_align): Simplify some basic arithmetic computations.
+	(psh3_point_is_extremum): Removed.
+	(psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
+	(psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
+	(psh3_glyph_compute_extrema): New function.
+	(PSH3_STRONG_THRESHOLD): Increased to 30.
+	(psh3_hint_table_find_strong_point): Improved.
+	(psh3_glyph_find_strong_points,
+	psh3_glyph_interpolate_strong_points): Updated.
+	(psh3_hints_apply): Use psh3_glyph_compute_extrema.
+
+	* test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
+	functions.
+	Other small updates.
+
+	* Jamfile: Small updates.
+
+2002-08-18  Arkadiusz Miskiewicz  <[email protected]>
+
+	* builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
+	make life easier for package maintainers.
+
+2002-08-18  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
+	horiBearingX.
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix computation of
+	horiBearingY.
+
+2002-08-16  George Williams  <[email protected]>
+
+	Add support for Apple composite glyphs.
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
+
+	* src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
+	UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
+	glyph loading flags.
+	(load_truetype_glyph): Implement it.
+
+2002-08-16  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_free_glyph_data),
+	src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
+
+2002-08-15  Werner Lemberg  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
+	* src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
+
+2002-08-15  Graham Asher  <[email protected]>
+
+	Implemented the incremental font loading system for the CFF driver.
+	Tested using the GhostScript-to-FreeType bridge (under development).
+
+	* src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
+	functions.
+	(cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
+	them.
+	* src/cff/cffload.c (cff_font_load): Add `face' parameter.
+	Load charset and encoding only if there are glyphs.
+	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
+	character recipes.
+	* src/cff/cffload.h, src/cff/cffobjs.c: Updated.
+
+	* src/cid/cidgload.c (cid_load_glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
+	loading implementation to use the new system introduced on
+	2002-08-01.
+
+2002-08-06  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffcmap.c: Remove compiler warnings.
+	* src/cache/ftccache.c, src/cache/ftccache.i,
+	src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
+	* src/cff/cffload.c: s/select/fdselect/.
+	* src/raster/ftraster.c: s/wait/waiting/.
+
+2002-08-01  Graham Asher  <[email protected]>
+
+	* src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
+	charstrings if there is an incremental loading interface.  Type 1
+	faces supplied by PostScript interpreters like GhostScript will
+	typically not provide any charstrings at load time, so this is
+	essential if they are to work.
+
+2002-08-01  Graham Asher  <[email protected]>
+
+	Modified incremental loading interface to be closer to David's
+	preferences.  The header freetype.h is not now affected, the
+	interface is specified via an FT_Parameter, the pointer to the
+	interface is hidden in an internal part of the face record, and all
+	the definitions are in ftincrem.h.
+
+	* include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
+	Removed.
+	* include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
+	Include FT_INCREMENTAL_H.
+	(FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
+	`incremental_interface'.
+
+	* src/base/ftobjs.c (open_face, FT_Open_Face)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
+	Updated.
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+	Free loaded glyph data properly.
+	(compute_glyph_metrics, TT_Load_Glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+	* src/truetype/ttobjs.c (TT_Face_Init)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+	(T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+	Free loaded glyph data properly.
+	(T1_Load_Glyph): Updated.
+	[FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
+
+2002-07-30  David Turner  <[email protected]>
+
+	* include/freetype/ftincrem.h: Adding new experimental header file
+	to demonstrate a `cleaner' API to support incremental font loading.
+
+	* include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
+
+	* src/tools/docmaker/*: Adding new (more advanced) version of
+	the DocMaker tool, using Python's sophisticated regexps.
+
+2002-07-28  Werner Lemberg  <[email protected]>
+
+	s/ft_memset/FT_MEM_SET/.
+	s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
+
+2002-07-27  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
+
+2002-07-26  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
+
+	* src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
+	* src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
+	* src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
+	variable.
+	* src/truetype/ttgload.c (load_truetype_glyph): Remove statement
+	without effect.
+	* src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
+
+	* src/pshinter/pshalgo3.c (psh3_hint_table_record,
+	psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
+	message.
+
+2002-07-24  Graham Asher  <[email protected]>
+
+	* src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
+	[[email protected]] on the FreeType development forum: `If
+	FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
+	TrueType loader crashes in line 852 of src/truetype/ttgload.c when
+	it tries to access face->glyph_locations.'
+
+2002-07-18  Graham Asher  <[email protected]>
+
+	Added types and structures to support incremental typeface loading.
+	The FT_Incremental_Interface structure, defined in freetype.h, is
+	designed to be passed to FT_Open_Face to provide callback functions
+	to obtain glyph recipes and metrics, for fonts like those passed
+	from PostScript that do not necessarily provide all, or any, glyph
+	information, when first opened.
+
+	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
+	New configuration macro to enable incremental face loading.  By
+	default it is not defined.
+
+	* include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
+	FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
+	FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
+	[FT_CONFIG_OPTION_INCREMENTAL]: New.
+	(FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
+	`incremental_interface'.
+	(FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
+	`ft_open_incremental'.
+
+	* include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
+	(FT_Data): New structure to represent binary data.
+
+	* src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+	Add parameter for incremental loading.
+	(FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
+	interface.
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
+	for the TrueType driver.
+	(compute_glyph_metrics): Return FT_Error.
+	[FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
+	(TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
+	the glyph table while handling an incremental font.
+	Get glyph offset.
+
+	* src/truetype/ttobjs.c (TT_Face_Init)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading
+	system for the TrueType driver.
+
+	* src/cid/cidgload.c (cid_load_glyph)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
+	for the CID driver.
+
+	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
+	Changes to support incremental Type 42 fonts: Assume a font has
+	glyphs if it has an incremental interface object.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
+	(T1_Parse_Glyph_And_Get_Char_String): This.
+	[FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
+	loaded Type 1 faces.
+	(T1_Parse_Glyph): New function.
+	(T1_Load_Glyph): Updated.
+
+2002-07-17  David Turner  <[email protected]>
+
+	Cleaning up the cache sub-system code; linear hashing is now the
+	default.
+
+	* include/freetype/cache/ftccache.h, src/cache/ftccache.i,
+	src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
+	(FTC_CACHE_USE_LINEAR_HASHING): Removed also.
+
+	FT_CONFIG_OPTION_USE_CMAPS is now the default.
+
+	* include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
+	`get_char_index' and `get_next_char'.
+
+	* include/freetype/config/ftoption.h,
+	include/freetype/internal/tttypes.h, src/base/ftobjs.c,
+	src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
+	src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
+	src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
+	src/type42/t42objs.c, src/winfonts/winfnt.c
+	[!FT_CONFIG_OPTION_USE_CMAPS]: Removed.  The new cmap code is now
+	the default.
+
+	* src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
+	Removed.
+	* src/type42/t42objs.h: Updated.
+
+	* src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
+	Removed.
+	(t1cid_driver_class): Updated.
+	* src/truetype/ttdriver.c (tt_driver_class): Updated.
+	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
+	(t1_driver_class): Updated.
+	* src/type42/t42drivr.c (t42_driver_class): Updated.
+
+	* src/base/ftobjs.c (open_face): Select Unicode cmap by default.
+
+	* src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
+	prevented OpenType fonts to be recognized by FreeType.
+
+2002-07-11  David Turner  <[email protected]>
+
+	Changing the SFNT loader to check for SFNT-based font files
+	differently.  We now ignore the range `helper' fields and check the
+	`head' table's magic number instead.
+
+	* include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
+	field.
+
+	* src/sfnt/ttload.c (sfnt_dir_check): New function.
+	(TT_Load_SFNT_HeaderRec): Renamed to...
+	(TT_Load_SFNT_Header): This.
+	Implement new functionality.
+	* src/sfnt/ttload.h: Updated.
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+	* src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
+	and dynamic hash table implementation (still experimental, don't
+	use).
+	* include/freetype/internal/fthash.h: Updated.
+	* include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
+	`meta_class'.
+
+	Fixing a bug in the Type 1 loader that prevented valid font bounding
+	boxes to be loaded from multiple master fonts.
+
+	* include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
+
+	* include/freetype/internal/psaux.h (T1_FieldType): Add
+	`T1_FIELD_TYPE_BBOX'.
+	(T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
+	(T1_FIELD_BBOX): New macro.
+
+	* src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
+	* src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
+	(T1_Done_Blend): Free blend->bboxes.
+	(t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
+	(parse_font_bbox): Commented out.
+	(t1_keywords): Comment out `parse_font_bbox'.
+	* src/type1/t1tokens.h: Define `FontBBox' field.
+
+2002-07-10  David Turner  <[email protected]>
+
+	* src/cff/cffobjs.c: Small fix to select the Unicode charmap by
+	default when needed.
+	Small fix to allow OpenType fonts to support Adobe charmaps when
+	needed.
+
+	* src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
+	charmaps for CFF fonts.
+
+	* src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
+
+	* include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
+	fixed-length arrays for `sids' and `codes'.  Add `count' member.
+	(CFF_FontRec): Add `psnames' member.
+
+	* src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
+	src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
+	src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
+	support for CFF charmaps, reformatting the sources, and removing
+	some bugs in the Encoding and Charset loaders.
+	Many fonts renamed to use lowercase only:
+
+	  CFF_Builder_Init -> cff_builder_init
+	  CFF_Builder_Done -> cff_builder_done
+	  CFF_Init_Decoder -> cff_decoder_init
+	  CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
+	  CFF_Load_Glyph -> cff_slot_load
+	  CFF_Init_Decoder -> cff_decoder_init
+	  CFF_Prepare_Decoder -> cff_decoder_prepare
+	  CFF_Get_Standard_Encoding -> cff_get_standard_encoding
+	  CFF_Access_Element -> cff_index_access_element
+	  CFF_Forget_Element -> cff_index_forget_element
+	  CFF_Get_Name -> cff_index_get_name
+	  CFF_Get_String -> cff_index_get_sid_string
+	  CFF_Get_FD -> cff_fd_select_get
+	  CFF_Done_Charset -> cff_charset_done
+	  CFF_Load_Charset -> cff_charset_load
+	  CFF_Done_Encoding -> cff_encoding_done
+	  CFF_Load_Encoding -> cff_encoding_load
+	  CFF_Done_SubFont -> cff_subfont_done
+	  CFF_Load_Font -> cff_font_load
+	  CFF_Done_Font -> cff_font_done
+	  CFF_Size_Get_Globals_Funcs -> cff_size_get_globals_funcs
+	  CFF_Size_Done -> cff_size_done
+	  CFF_Size_Init -> cff_size_init
+	  CFF_Size_Reset -> cff_size_reset
+	  CFF_GlyphSlot_Done -> cff_slot_done
+	  CFF_GlyphSlot_Init -> cff_slot_init
+	  CFF_StrCopy -> cff_strcpy
+	  CFF_Face_Init -> cff_face_init
+	  CFF_Face_Done -> cff_face_done
+	  CFF_Driver_Init -> cff_driver_init
+	  CFF_Driver_Done -> cff_driver_done
+	  CFF_Parser_Init -> cff_parser_init
+	  CFF_Parser_Run -> cff_parser_run
+
+	  add_point -> cff_builder_add_point
+	  add_point1 -> cff_builder_add_point1
+	  add_contour -> cff_builder_add_contour
+	  close_contour -> cff_builder_close_contour
+	  cff_explicit_index -> cff_index_get_pointers
+
+2002-07-09  Owen Taylor  <[email protected]>
+
+	* src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
+	prevented the hinter from using correct standard width and height
+	values, resulting in hinting bugs with certain fonts (e.g. Utopia).
+
+2002-07-07  David Turner  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
+	successfully when the function is called with a bitmap glyph (the
+	previous code simply returned with an error).
+
+	* docs/DEBUG.TXT: Adding debugging support documentation.
+
+	* src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
+	(ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
+	the syntax of the FT2_DEBUG environment variable used to control
+	debugging output (i.e. logging and error messages).  It must now
+	look like:
+
+	  any:6 memory:4 io:3   or
+	  any:6,memory:4,io:3   or
+	  any:6;memory:4;io:3
+
+2002-07-07  Owen Taylor  <[email protected]>
+
+	* src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
+	blue fuzz.
+	* src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
+	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
+
+	Adding support for hinter-specific bit flags, and the new
+	FT_Set_Hint_Flags high-level API.
+
+	* include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
+	(FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
+	FT_HINT_NO_VSTEM_ALIGN): New macros.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
+	`hint_flags' member.
+
+	* src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
+
+	* include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
+	member.
+
+	* include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
+	T2_Hints_ApplyFunc): Add parameter to pass hint flags.
+
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
+	T1_Decoder_Init): Use decoder->hint_flags.
+	* src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
+	* src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
+	(CFF_Parse_CharStrings): Updated.
+	* src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
+	hint flags (unused).
+	* src/pshinter/pshalgo1.h: Updated.
+	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
+	hint flags (unused).
+	* src/pshinter/pshalgo2.h: Updated.
+	* src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
+	hint flags.
+	* src/pshinter/pshalgo3.h: Updated.
+
+2002-07-04  David Turner  <[email protected]>
+
+	* src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
+	incorrect advances when the outline resolution was different from
+	the metrics resolution.
+
+	* src/autohint/ahhint.c: Removing compiler warnings.
+
+	* src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
+	(ah_outline_link_segments): Slight improvements to the serif
+	detection code.  More work is needed though.
+
+2002-07-03  David Turner  <[email protected]>
+
+	Small improvements to the automatic hinter.  Uneven stem-widths have
+	now disappeared and everything looks much better, even if there are
+	still issues with serifed fonts.
+
+	* src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
+	* src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
+	(ah_snap_width): Commented out.
+	(ah_align_linked_edge): Renamed to...
+	(ah_compute_stem_width): This.
+	Don't allow uneven stem-widths.
+	(ah_align_linked_edge): New function.
+	(ah_align_serifed_edge): Don't strengthen serifs.
+	(ah_hint_edges_3, ah_hinter_scale_globals): Updated.
+
+2002-07-03  Owen Taylor  <[email protected]>
+
+	Adding new algorithm based on Owen Taylor's recent work.
+
+	* src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
+	* src/pshinter/pshalgo.h: Updated.
+	Use pshalgo3 by default.
+	* src/pshinter/pshinter.c: Include pshalgo3.c.
+
+	* src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
+
+2002-07-01  Owen Taylor  <[email protected]>
+
+	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
+	where, if a glyph has more than hint mask, the second mask gets
+	applied to points that should have been covered by the first mask.
+
+2002-07-01  Keith Packard  <[email protected]>
+
+	* src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
+	Fixing the cmap 8 and 12 parsing routines.
+
+2002-07-01  David Turner  <[email protected]>
+
+	* src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
+	(FT_Outline_Embolden): Renamed to...
+	(FT_GlyphSlot_Embolden): This.
+	Updated to new trigonometric functions.
+	(FT_Outline_Oblique): Renamed to...
+	(FT_GlyphSlot_Oblique): This.
+	(ft_norm): Removed.
+	* include/freetype/ftsynth.h: Updated.
+
+2002-06-26  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftobject.h: Updating the object
+	sub-system definitions (still experimental).
+
+	* src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
+	bug.
+
+	* src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
+	functions.
+	* include/freetype/fttrigon.h: Updated.
+
+
+	Adding path stroker component (work in progress).
+
+	* include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
+	* src/base/Jamfile: Updated.
+
+	* include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
+
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph),
+	src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
+	FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
+
+2002-06-24  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+2002-06-21  David Turner  <[email protected]>
+
+
+	* Version 2.1.2 released.
+	=========================
+
+
+2002-06-21  Roberto Alameda  <[email protected]>.
+
+	* include/freetype/internal/t42types.h (T42_Font): Removed since
+	it is already in t42objs.h.
+	(T42_Face): Use T1_FontRec.
+
+	* src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
+	(FT_Has_PS_Glyph_Names): Check for type42 driver name also.
+	* src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
+	(T42_Face): Removed since it is already in t42types.h.
+
+2002-06-21  Detlef Würkner  <[email protected]>
+
+	* src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
+	glyphs.
+
+2002-06-21  Sven Neumann  <[email protected]>
+
+	* src/pfr/pfrtypes.h (PFR_KernPair): New structure.
+	(PFR_PhyFont): Use it.
+	(PFR_KernFlags): New enumeration.
+	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
+	function.
+	(pfr_phy_font_extra_items): Use it.
+	(pfr_phy_font_done): Updated.
+	* src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
+	(pfr_face_get_kerning): New function.
+	* src/pfr/pfrobjs.h: Updated.
+	* src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
+
+2002-06-21  David Turner  <[email protected]>
+
+	* README, docs/CHANGES: Preparing the 2.1.2 release.
+
+2002-06-19  Detlef Würkner  <[email protected]>
+
+	* src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
+	(t1_face_check_cast): Removed.
+	(FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
+	also.
+
+2002-06-19  Sebastien BARRE  <http://barre.nom.fr/contact.html#email>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
+
+2002-06-19  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
+	(xy <-> yx).
+	* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
+	`||' to make code easier to read.
+
+2002-06-18  Roberto Alameda  <[email protected]>.
+
+	* src/type42/t42objs.c (t42_check_size_change): Removed.
+	(T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
+	instead.
+	(T42_GlyphSlot_Load): Remove call to t42_check_size_change.
+
+2002-06-18  Detlef Würkner  <[email protected]>
+
+	* src/psaux/t1cmap.c (t1_cmap_custom_char_index,
+	t1_cmap_custom_char_next): Fix index computation -- indices start
+	with 0 and not with cmap->first.
+
+	Provide default charmaps.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
+	(PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
+	src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
+	(FNT_Face_Init): Implement it.
+
+2002-06-17  Sven Neumann  <[email protected]>
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
+
+2002-06-16  Leonard Rosenthol  <[email protected]>
+
+	Updated Win32/VC++ projects to include the new PFR driver.
+
+	* builds/win32/visualc/freetype.dsp: Updated.
+
+2002-06-16  Anthony Fok  <[email protected]>
+
+	Install freetype2.m4.
+
+	* builds/unix/install.mk (install, uninstall): Handle it.
+
+2002-06-16  Detlef Würkner  <[email protected]>
+
+	Same fix for PFR driver.
+
+	* src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
+	Increase return value by 1.
+	* src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
+
+2002-06-15  Detlef Würkner  <[email protected]>
+
+	Fix glyph indices to make index zero always the undefined glyph.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
+	cmap->num_encodings.
+	(bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
+	Increase result by 1 for normal cases.
+	(BDF_Glyph_Load): Decrease index by 1.
+
+	* src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
+	PCF_Char_Get_Index): Increase result by 1 for normal cases.
+	(PCF_Glyph_Load): Decrease index by 1.
+	* src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
+	allocating `encoding'.
+
+	* src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
+	bounding tests.
+
+2002-06-14  Detlef Würkner  <[email protected]>
+
+	Add new cmap support to BDF driver.
+
+	* src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
+	New structure.
+	(bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
+	bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
+	(BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
+	conditionally.
+	(BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
+	Implement new cmap handling.
+	(bdf_driver_class): Updated.
+
+2002-06-14  Werner Lemberg  <[email protected]>
+
+	* Makefile, configure, */*.mk, builds/unix/unix-def.in,
+	docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
+
+2002-06-12  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
+
+2002-06-11  David Turner  <[email protected]>
+
+	* builds/win32/ftdebug.c: Added a missing #endif.
+
+	* src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
+
+	Removed the bug in Type 42 driver that prevented un-hinted outlines
+	to be loaded.
+
+	* src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
+	(T42_Size_Init): Call FT_Activate_Size.
+	(t42_check_size_change): New function.
+	(T42_Size_SetChars, T42_Size_SetPixels): Use it.
+	(ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
+	(T42_GlyphSlot_Load): Use t42_check_size_change.
+	Initialize more fields of `glyph'.
+
+	* builds/win32/visualc/freetype.dsp: Updated.
+
+2002-06-09  David Turner  <[email protected]>
+
+
+	* Version 2.1.1 released.
+	=========================
+
+
+2002-06-08  Juliusz Chroboczek  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
+	src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
+	use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
+	and `ft_jmp_buf'.
+	Removed direct references to <stdio.h> and <setjmp.h> when
+	appropriate, to eventually replace them with a
+	FT_CONFIG_STANDARD_LIBRARY_H.  Useful for the XFree86 Font Server
+	backend based on FT2.
+
+	* src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
+
+2002-06-08  David Turner  <[email protected]>
+
+	* src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
+	the function to return invalid values.
+
+	* src/cache/ftccache.i: Removing a typo that prevented
+	the source's compilation.
+
+	* src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
+	bug that caused nasty memory overwrites.  The hash table's
+	buckets array wasn't correctly resized when shrunk.
+
+2002-06-08  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/smakefile, builds/amiga/makefile: Updated.
+
+2002-06-08  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
+	[FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
+	Fix debugging messages.
+	* src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
+	`family' and `hash' up to make it compilable with g++.
+
+	* src/type42/t42error.h: New file.
+	* src/type42/t42drivr.c, src/type42/t42objs.c,
+	src/type42/t42parse.c: Use t42 error codes.
+	* src/type42/rules.mk: Updated.
+
+	* src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
+
+2002-06-08  David Turner  <[email protected]>
+
+	* src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
+	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
+	New macros.
+	(ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
+	ftc_cache_lookup.
+	(FTC_CMapCache_Lookup): Updated.
+
+	Adding various experimental optimizations to the cache manager.
+
+	* include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
+	FTC_CACHE_USE_LINEAR_HASHING): New options.
+	(FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
+	`mask', and `slack'.
+
+	* src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
+	FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
+	FTC_HASH_INITIAL_SIZE]: New macros.
+	(ftc_node_mru_link, ftc_node_mru_up): Optimized.
+	(ftc_node_hash_unlink, ftc_node_hash_link)
+	[FTC_CACHE_USE_LINEAR_HASHING]: New variants.
+	(FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
+	FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
+	[!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
+	(ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
+	Updated.
+	(ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
+
+	* src/cache/ftccache.i: New file.
+
+	* src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
+	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
+	New macros.
+	(ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
+	ftc_cache_lookup.
+	(FTC_SBitCache_Lookup): Updated.
+
+	* src/type42/t42parse.c: Removing duplicate function.
+
+2002-06-07  Graham Asher  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
+	from FT_EXPORT_DEF to FT_BASE_DEF.
+
+2002-06-07  David Turner  <[email protected]>
+
+	Fixed the bug that prevented the correct display of fonts with
+	`ftview'.
+
+	* src/type42/t42drivr.c: Split into...
+	* src/type42/t42drivr.h, src/type42/t42parse.c,
+	src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
+	src/type42/type42.c: New files.
+
+	(t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
+	`face->type1'.
+
+	(Get_Interface): Renamed to...
+	(T42_Get_Interface): This.
+	Updated.
+	(T42_Open_Face, T42_Face_Done): Updated.
+	(T42_Face_Init): Add new cmap support.
+	Updated.
+	(T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
+	T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
+	(Get_Char_Index, Get_Next_Char): Renamed to...
+	(T42_CMap_CharIndex, T42_CMap_CharNext): This.
+	Updated.
+	(T42_Char_Size, T42_Pixel_Size): Renamed to...
+	(T42_Size_SetChars, T42_Size_SetPixels): This.
+	(T42_Load_Glyph): Renamed to...
+	(T42_GlyphSlot_Load): This.
+
+	(t42_init_loader, t42_done_loader): Renamed to...
+	(t42_loader_init, t42_loader_done): This.
+	(T42_New_Parser, T42_Finalize_Parser): Renamed to...
+	(t42_parser_init, t42_parser_done): This.
+	(parse_dict): Renamed to...
+	(t42_parse_dict): This.
+	(is_alpha, is_space, hexval): Renamed to...
+	(t42_is_alpha, t42_is_space, t42_hexval): This.
+	(parse_font_name, parse_font_bbox, parse_font_matrix,
+	parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
+	Renamed to...
+	(t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
+	t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
+	t42_parse_dict): This.
+	Updated.
+
+	(t42_keywords): Updated.
+
+	* src/type42/Jamfile, src/type42/descrip.mms: Updated.
+
+2002-06-03  Werner Lemberg  <[email protected]>
+
+	Add 8bpp support to BDF driver.
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
+	* src/bdf/README: Updated.
+
+2002-06-02  Detlef Würkner  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
+
+2002-05-29  Detlef Würkner  <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
+	(_bdf_parse_glyphs): Use correct size for allocating
+	`font->unencoded'.
+	(bdf_load_font): Free array conditionally.
+	Return proper error code in case of failure.
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
+	unusual fonts.
+
+2002-05-29  Werner Lemberg  <[email protected]>
+
+	* src/bdf/descrip.mms, src/type42/descrip.mms: New files.
+	* descrip.mms (all): Updated.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
+	compilation.
+	* src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
+
+2002-05-28  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/makefile, builds/amiga/smakefile,
+	amiga/include/freetype/config/ftmodule.h: Updated to include
+	support for BDF and Type42 drivers.
+
+	* docs/modules.txt: Updated.
+
+2005-05-28  David Turner  <[email protected]>
+
+	* docs/CHANGES: Updating file for next release (2.1.1).
+
+	* src/bdf/bdflib.c: Removing compiler warnings.
+
+	* include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
+	They provide a new API (FT_Get_X11_Font_Format) to retrieve an
+	X11-compatible string describing the font format of a given face.
+	This was put in a new optional base source file, corresponding to a
+	new public header (named FT_XFREE86_H since this function should
+	only be used within the XFree86 font server IMO).
+
+	* include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
+	documented yet).
+
+	* src/base/fttype1.c: New file, providing two new API functions
+	(FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
+	* include/freetype/t1tables.h: Updated.
+
+	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
+	Updating build control files for the new files `ftxf86.c' and
+	`fttype1.c' in src/base.
+
+	* src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
+	prevented family blue zones substitution from happening correctly.
+
+	* include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
+	documentation comment.
+
+2002-05-28  Werner Lemberg  <[email protected]>
+
+	* src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
+	but FT_STREAM_READ.
+	Declare `stream' variable.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
+	with calls to `FT_MulDiv'.
+
+2002-05-28  David Turner  <[email protected]>
+
+	Fixing the SFNT name table loader to support various buggy fonts.
+	It now ignores empty name entries, entries with invalid pointer
+	Offsets and certain fonts containing tables with broken
+	`storageOffset' fields.
+
+	Name strings are now loaded on demand, which reduces the memory
+	requirements for a given FT_Face tremendously (for example, the name
+	table of Arial.ttf is about 10Kb and contains 70 names).
+
+	This is a temporary fix.  The whole name table loader and interface
+	will be rewritten in a much more cleanly way shortly, once CSEH have
+	been introduced in the sources.
+
+	* include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
+	type of `stringOffset' to FT_ULong.
+	(TT_NameTableRec): Change type of `numNameRecords' and
+	`storageOffset' to FT_UInt.
+	Replace `storage' with `stream'.
+	* src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
+	Make code more robust.
+	* src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
+	(tt_face_get_name): Use it.
+	Make code more robust.
+	* src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
+	Handle invalid `storageOffset' data better.
+	Set length fields to zero for invalid or ignored data.
+	Remove code within FT_DEBUG_LEVEL_TRACE.
+	(TT_Free_Names): Updated.
+
+2002-05-24  Tim Mooney  <[email protected]>
+
+	* builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
+	FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
+	rebuilt from sources.  Set macro serial to 1, and use third argument
+	to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
+	be rebuilt with autoheader (not recommended now, ftconfig.in is a
+	custom source file)
+
+2002-05-22  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
+	(FT_BDF_H): New macro for accessing `ftbdf.h'.
+
+	* src/type42/t42drivr.c (hexval): Fix typo.
+
+2002-05-21  Martin Muskens  <[email protected]>
+
+	* src/psaux/psobjs.c (T1Radix): New function.
+	(t1_toint): Use it to handle numbers in radix format.
+
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
+	for undocumented, obsolete opcode 15.
+
+2002-05-21  David Turner  <[email protected]>
+
+	* src/bdf/bdflib.c: Removed compiler warning, and changed all tables
+	to the `static const' storage specifier (instead of simply
+	`static').
+
+	* src/type42/t42drivr.c (hexval): Use more efficient code.
+	Removing compiler warnings.
+	* src/bdf/bdfdrivr.c: Removing compiler warnings.
+
+	* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
+	src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
+	(FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
+	from a face.  This is much cleaner than accessing the internal types
+	`BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
+
+2002-05-21  Werner Lemberg  <[email protected]>
+
+	* src/bdf/README: Mention Microsoft's SBIT tool.
+
+	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
+	src/truetype/ttdriver.c, src/type1/t1driver.c,
+	src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
+	[FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed.  It has
+	been never used.
+
+2002-05-21  Roberto Alameda  <[email protected]>.
+
+	* src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
+	(parse_font_matrix): Remove unnecessary code.
+	(parse_sfnts): Initialize some variables.
+	(t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
+	ft_module_driver_has_hinter conditionally.
+	Moved some type 42 specific structure definitions to...
+	* include/freetype/internal/t42types.h: New file.
+	* include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
+	New macro.
+
+2002-05-20  Werner Lemberg  <[email protected]>
+
+	* include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
+	`num_grays' for specifying the number of used gray levels.
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
+
+2002-05-19  Werner Lemberg  <[email protected]>
+
+	Adding a driver for BDF fonts written by Francesco Zappa Nardelli
+	<[email protected]>.  Heavily modified by me to
+	better adapt it to FreeType, removing unneeded stuff.  Additionally,
+	it now supports Mark Leisher's BDF extension for anti-aliased
+	bitmap glyphs with 2 and 4 bpp.
+
+	* src/bdf/*: New driver.
+	* include/freetype/internal/bdftypes.h: New file.
+	* include/freetype/internal/fttrace.h: Added BDF driver components.
+	* include/freetype/fterrdef.h: Added error codes for BDF driver.
+	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
+	* include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
+	New macro.
+
+	* include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
+	sprintf.
+
+2002-05-18  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/fttrace.h: Added Type 42 driver
+	component.
+	* src/type42/t42drivr.c: Use it.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
+	New macro.
+
+2002-05-17  Werner Lemberg  <[email protected]>
+
+	* src/type42/Jamfile: New file.
+
+2002-05-14  Werner Lemberg  <[email protected]>
+
+	Adding a driver for Type42 fonts written by Roberto Alameda
+	<[email protected]>.
+
+	* src/type42/*: New driver.
+	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
+	* include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
+	ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
+
+2002-05-12  Owen Taylor  <[email protected]>
+
+	* src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
+	with a zero length value.
+
+2002-05-12  Michael Pfeiffer  <[email protected]>
+
+	* builds/beos/beos.mk: Include `link-std.mk'.
+
+2002-05-12  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.h (T1_Loader): Renamed to...
+	(T1_LoaderRec): This.
+	(T1_Loader): Now pointer to T1_LoaderRec.
+	* src/type1/t1load.c: Updated.
+
+	* include/freetype/internal/t1types.h, src/type1/t1load.c,
+	src/type1/t1objs.c:
+	s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
+
+2002-05-06  Werner Lemberg  <[email protected]>
+
+	* README: Add a note regarding libttf vs. libfreetype.
+
+2002-05-05  Werner Lemberg  <[email protected]>
+
+	FreeType 2 can now be built in an external directory with the
+	configure script also.
+
+	* builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
+
+	* builds/unix/detect.mk (have_mk): New variable to test for
+	external build.
+	(unix-def.mk): Defined according to value of `have_mk'.
+	* builds/unix/unix.mk (have_mk): New variable to test for
+	external build.
+	Select include paths for unix-def.mk and unix-cc.mk according
+	to value of `have_mk'.
+	* builds/unix/unix-def.in (OBJ_BUILD): New variable.
+	(DISTCLEAN): Use it.
+	* builds/unix/unix-cc.in (LIBTOOL): Define default value only
+	if not yet defined.
+	* builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
+	freetype-config.
+
+	* configure: Don't depend on bash features.
+	(ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
+	partially taken from Autoconf).
+	Build a dummy Makefile if not building in source tree.
+
+	* docs/INSTALL: Document it.
+
+2002-05-04  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
+	bug that prevented FreeType 2.x and FreeType 1.x to produce
+	bit-by-bit identical monochrome glyph bitmaps with native TrueType
+	hinting.  The culprit was a single-bit flag that wasn't set
+	correctly by the TrueType glyph loader.
+
+	* src/otlayout/otlayout.h, src/otlayout/otlbase.c,
+	src/otlayout/otlbase.h, src/otlayout/otlconf.h,
+	src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
+	src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
+	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
+	src/otlayout/otljstf.c, src/otlayout/otljstf.h,
+	src/otlayout/otltable.c, src/otlayout/otltable.h,
+	src/otlayout/otltags.h: New OpenType Layout source files.  The
+	module is still incomplete.
+
+2002-05-02  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
+	(0xFFFU -> 0xFFFFU).
+
+2002-05-01  Werner Lemberg  <[email protected]>
+
+	* docs/INSTALL: Fix URL of makepp.
+
+2002-05-01  David Turner  <[email protected]>
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
+	FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
+	were opened.
+
+	* src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
+	manage fonts containing a broken name table (e.g. `hya6gb.ttf').
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
+	validation test.  The charmap validator now accepts overlapping
+	ranges in format 4 charmaps.
+
+	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
+	search algorithm.  Certain fonts contain more than 170 distinct
+	segments!
+
+	* include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
+	function.  This will be used in the near future to panic in case of
+	unexpected exception (which shouldn't happen in theory).
+
+	* include/freetype/internal/fthash.h, src/base/fthash.c: New files.
+	This is generic implementation of dynamic hash tables using a linear
+	algorithm (to get rid of `stalls' during resizes).  In the future
+	this will be used in at least three parts of the library: the cache
+	sub-system, the object sub-system, and the memory debugger.
+
+	* src/base/Jamfile: Updated.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
+	FT_INTERNAL_OBJECT_H): New macros.
+
+	* include/freetype/internal/ftcore.h: New file to group all new
+	definitions related to exception handling and memory management.  It
+	is very likely that this file will disappear or be renamed in the
+	future.
+
+	* include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
+	Adding comments to better explain the object sub-system as well as
+	the new memory manager interface.
+
+2002-04-30  Wenlin Institute (Tom Bishop)  <[email protected]>
+
+	* src/base/ftmac.c (p2c_str): Removed.
+	(file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
+	OS X.
+	(is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
+	Handle `nameLen' <= 6 also.
+	(parse_fond): Remove unused variable `name_table'.
+	Use functionality of old p2c_str directly.
+	Add safety checks.
+	(read_lwfn): Initialize `size_p'.
+	Check for size_p == NULL.
+	(new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
+	(FT_New_Face_From_LWFN): Remove unused variable `memory'.
+	Remove some dead code.
+	(FT_New_Face_From_SFNT): Remove unused variable `stream'.
+	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
+	OS X.
+	(FT_New_Face_From_FOND): Remove unused variable `error'.
+	(ResourceForkSize): New function.
+	(FT_New_Face): Use it.
+	Handle empty resource forks.
+	Conditionalize some code for OS X.
+	Add code to call normal loader as a fallback.
+
+2002-04-30  Werner Lemberg  <[email protected]>
+
+	`interface' is reserved on the Mac.
+
+	* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
+	src/base/ftoutln.c: s/interface/func_interface/.
+	* src/base/ftbbox.c (FT_Outline_Get_BBox):
+	s/interface/bbox_interface/.
+	* src/cff/cffdrivr.c: s/interface/module_interface/.
+	* src/cff/cffload.c, src/cff/cffload.h:
+	s/interface/psnames_interface/.
+	* src/cid/cidriver.c: s/interface/cid_interface/.
+	* src/sfnt/sfdriver.c: s/interface/module_interface/.
+	* src/smooth/ftgrays.c: s/interface/func_interface/.
+	* src/truetype/ttdriver.c: s/interface/tt_interface/.
+	* src/type1/t1driver.c: s/interface/t1_interface/.
+
+	Some more variable renames to avoid troubles on the Mac.
+
+	* src/raster/ftraster.c:
+	s/Unknown|Ascending|Descending|Flat/\1_State/.
+	* src/smooth/ftgrays.c: s/TScan/TCoord/.
+
+	Other changes for the Mac.
+
+	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
+	Mac platforms.
+	* src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
+	an even number.
+
+2002-04-29  Jouk Jansen  <[email protected]>
+
+	* descrip.mms (all): Add pfr driver.
+
+2002-04-28  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrerror.h: New file.
+	* include/freetype/ftmoderr.h: Add PFR error codes.
+	* src/pfr/pfrgload.c: Include pfrerror.h.
+	Use PCF error codes.
+	(pfr_extra_item_load_stem_snaps): Fix debug message.
+	* src/pfr/pfrgload.c: Include pfrerror.h.
+	Use PCF error codes.
+	(pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
+	pfr_glyph_load_compound): Fix debug message.
+	* src/pfr/pfrobjs.c: Include pfrerror.h.
+	Use PCF error codes.
+	(pfr_face_init): Return PFR_Err_Unknown_File_Format.
+	* src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
+
+	* src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
+	`root' -> `face->root'.
+	* src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
+	Removed.
+	* src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
+	FT_CONFIG_OPTION_USE_CMAPS.
+
+2002-04-27  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c (ftc_cache_lookup),
+	src/cache/ftccmap.c (ftc_cmap_family_init),
+	src/cache/ftcmanag.c (ftc_family_table_alloc),
+	src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
+	src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
+	(FTC_ImageCache_Lookup): Fix handling of invalid arguments.
+
+2002-04-22  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
+	version 2.0.9 has 9:0:3).
+	* builds/unix/configure: Regenerated (using autoconf 2.53).
+
+2002-04-19  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_extra_items_parse): Fix debug message.
+	(pfr_phy_font_load): s/size/Size/ for local variable to avoid
+	compiler warning.
+	* src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
+	(pfr_slot_load): Remove redundant local variable.
+
+2002-04-19  David Turner  <[email protected]>
+
+	Adding a PFR font driver to the FreeType sources.  Note that it
+	doesn't support embedded bitmaps or kerning tables yet.
+
+	src/pfr/*: New files.
+
+	* include/freetype/config/ftmodule.h,
+	include/freetype/internal/fttrace.h, src/Jamfile: Updated.
+
+	* src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
+	(T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
+	function.
+
+	* include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
+	macros.
+
+	* include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
+	FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
+	24-bit integers.
+
+2002-04-18  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c, builds/win32/ftdebug.c,
+	builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
+	against applications in Win32 and Amiga builds due to changes to
+	`src/base/ftdebug.c' that were not properly propagated to
+	`builds/win32' and `builds/amiga'.  This has been fixed.
+
+	* include/freetype/internal/ftobject.h,
+	include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
+	include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
+	New experimental files.
+
+2002-04-17  David Turner  <[email protected]>
+
+
+	* Version 2.1.0 released.
+	=========================
+
+
+2002-04-17  Michael Jansson  <[email protected]>
+
+	* src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
+	that prevented the function to return the correct value.
+
+2002-04-16  Francesco Zappa Nardelli  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_get_accel): Fix parsing of accelerator
+	tables.
+
+2002-04-15  David Turner  <[email protected]>
+
+	* docs/FTL.txt: Formatting.
+
+	* include/freetype/config/ftoption.h: Reduce the size of the
+	render pool from 32kByte to 16kByte.
+
+	* src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
+	warning.
+
+	* include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
+
+	* docs/CHANGES: Preparing 2.1.0 release.
+
+2002-04-13  Werner LEMBERG  <[email protected]>
+
+	* src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
+	compiler warning.
+
+2002-04-12  David Turner  <[email protected]>
+
+	* README.UNX: Updated the Unix-specific quick-compilation guide to
+	warn about the GNU Make requirement at compile time.
+
+	* include/freetype/config/ftstdlib.h,
+	include/freetype/config/ftconfig.h,
+	include/freetype/config/ftheader.h,
+	include/freetype/internal/ftmemory.h,
+	include/freetype/internal/ftobjs.h,
+
+	src/autohint/ahoptim.c,
+
+	src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
+	src/base/ftobjs.c, src/base/ftsystem.c,
+
+	src/cache/ftcimage.c, src/cache/ftcsbits.c,
+
+	src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c,
+
+	src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
+
+	src/pcf/pcfdriver.c, src/pcf/pcfread.c,
+
+	src/psaux/t1cmap.c, src/psaux/t1decode.c,
+
+	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
+	src/pshinter/pshrec.c,
+
+	src/psnames/psmodule.c,
+
+	src/raster/ftraster.c,
+
+	src/sfnt/sfdriver.c, src/sfnt/ttload.c,
+
+	src/smooth/ftgrays.c,
+
+	src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
+	src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
+
+	builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+
+	builds/amiga/src/base/ftdebug.c:
+
+	Added the new configuration file `ftstdlib.h' used to define
+	aliases for all ISO C library functions used by the engine
+	(e.g. strlen, qsort, setjmp, etc.).
+
+	This eases the porting of FreeType 2 to environments like
+	XFree86 modules/extensions.
+
+	Also removed many #include <string.h>, #include <stdlib.h>, etc.
+	from the engine's sources where they are not needed.
+
+	* src/sfnt/ttpost.c: Use macro name for psnames.h.
+
+2002-04-12  Vincent Caron  <[email protected]>
+
+	* configure, builds/detect.mk: Updated the build system to print
+	a warning message in case GNU Make isn't used to build the library.
+
+2002-04-11  David Turner  <[email protected]>
+
+	* README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
+
+	* docs/FTL.txt: Updated license text to provide a preferred
+	disclaimer and adjust copyright dates/extents.
+
+	* include/freetype/cache/ftcglyph.h: Removing obsolete (and
+	confusing) comment.
+
+	* Jamfile.in: New file.
+
+2002-04-11  Maxim Shemanarev  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_hline): Minor optimization.
+
+2002-04-02  Werner Lemberg  <[email protected]>
+
+	Fixes from the stable branch:
+
+	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
+	Removed.
+	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
+	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
+
+	* src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
+	output of FreeType 1.
+
+	* src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
+	bug that created un-even stem widths when hinting Postscript fonts.
+
+	* src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
+
+2002-04-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c: 16bit fixes.
+	(TT_Load_Simple_Glyph): Improve debug messages.
+	(load_truetype_glyph): Remove dead code.
+	* src/truetype/ttinterp.c: 16bit fixes.
+	* src/truetype/ttobjs.c: Ditto.
+
+	* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
+	src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
+	src/sfnt/ttpost.h: s/index/idx/.
+
+2002-03-31  Yao Zhang  <[email protected]>
+
+	* src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
+
+2002-03-31  Werner Lemberg  <[email protected]>
+
+	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
+	* src/psaux/t1cmap.c: Ditto.
+	* src/sfnt/ttcmap0.c: Ditto.
+
+	* include/freetype/internal/tttypes.h,
+	include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
+	(TT_Loader_GotoTableFunc): This.
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
+	messages.
+	* src/psnames/psmodule.c (psnames_interface)
+	[!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
+	* src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
+	* src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
+	* src/sfnt/ttcmap0.c: 16bit fixes.
+	(TT_Build_CMaps): Simplify debug messages.
+	(tt_cmap12_char_next): Fix offset.
+	* src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
+	messages.
+	(TT_Load_OS2): 16bit fix.
+
+2002-03-30  David Turner  <[email protected]>
+
+	* include/freetype/internal/tttypes.h: Adding comments to some of
+	the TT_FaceRec fields.
+
+	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
+
+	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
+	New functions.
+	(tt_face_get_name): Use them to properly extract an ascii font name.
+
+2002-03-30  Werner Lemberg  <[email protected]>
+
+	* include/freetype/t1tables.h (t1_blend_max): Fix typo.
+	* src/base/ftstream.c: Simplify FT_ERROR calls.
+	* src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
+
+	* src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
+	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
+	* src/cff/sfobjs.c (SFNT_Load_Face)
+	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
+	* src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
+	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
+
+	* src/truetype/ttdriver.c, src/truetype/ttobjs.c,
+	src/truetype/ttobjs.h: Renaming driver functions to the
+	FT_<Subject>_<Action> scheme:
+
+	  TT_Init_Driver => TT_Driver_Init
+	  TT_Done_Driver => TT_Driver_Done
+	  TT_Init_Face   => TT_Face_Init
+	  TT_Done_Face   => TT_Face_Done
+	  TT_Init_Size   => TT_Size_Init
+	  TT_Done_Size   => TT_Size_Done
+	  TT_Reset_Size  => TT_Size_Reset
+
+2002-03-29  Werner Lemberg  <[email protected]>
+
+	* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
+	FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
+	files.
+	* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
+	FT_LOCAL_DEF.
+	* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
+	* builds/unix/configure.ac: Temporarily deactivate creation of
+	../../Jamfile.
+	* builds/unix/configure: Updated.
+
+2002-03-28  KUSANO Takayuki  <[email protected]>
+
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
+
+2002-03-28  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
+	compiler warnings.
+	* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
+	some members.
+	* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
+	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
+	cast.
+	(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
+	`FT_CALLBACK_TABLE_DEF'.
+	* src/psaux/t1cmap.h: Updated.
+	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
+	instead of zero.
+	* src/type1/t1objs.c (T1_Face_Init): Use casts.
+
+2002-03-26  David Turner  <[email protected]>
+
+	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
+	Fixed a small bug in the FT_CMaps support code.
+
+2002-03-25  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c (Norm): Replaced with...
+	(TT_VecLen): This.
+	(TT_MulFix14, TT_DotFix14): New functions.
+	(Project, Dual_Project, Free_Project, Compute_Point_Displacement,
+	Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
+	[FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
+
+2002-03-22  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
+	Various fixes to make the FT_CMaps support work correctly (more
+	tests are still needed).
+
+	* include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
+	src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
+	src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
+	the SFNT charmap support to use FT_CMaps.
+
+	* include/freetype/fterrdef.h: New file.
+	* include/freetype/fterrors.h: Include it.  It contains all error
+	codes.
+	* include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
+	macro.
+
+	* include/freetype/internal/ftmemory.h, and a lot of other files:
+	Changed the names of memory macros.  Examples:
+
+	  MEM_Set   => FT_MEM_SET
+	  MEM_Copy  => FT_MEM_COPY
+	  MEM_Move  => FT_MEM_MOVE
+
+	  ALLOC     => FT_ALLOC
+	  FREE      => FT_FREE
+	  REALLOC   = >FT_REALLOC
+
+	FT_NEW was introduced to allocate a new object from a _typed_
+	pointer.
+
+	Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
+	FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
+	arguments.
+
+	This results in _lots_ of sources being changed, but makes the code
+	more generic and less error-prone.
+
+	* include/freetype/internal/ftstream.h, src/base/ftstream.c,
+	src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
+	src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
+	src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
+	src/winfonts/winfnt.c: Changed the definitions of stream macros.
+	Examples:
+
+	  NEXT_Byte     => FT_NEXT_BYTE
+	  NEXT_Short    => FT_NEXT_SHORT
+	  NEXT_UShortLE => FT_NEXT_USHORT_LE
+	  READ_Short    => FT_READ_SHORT
+	  GET_Long      => FT_GET_LONG
+	  etc.
+
+	Also introduced the FT_PEEK_XXXX functions.
+
+	* src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
+	out function.
+	(find_encoding): Removed.
+	(CFF_Face_Init): Remove charmap support.
+
+	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
+	TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
+	support of cmaps.
+
+2002-03-21  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
+	to new FT_CMap definitions.
+
+	* src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
+	src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
+	from `src/type1' to `src/psaux' since it is going to be shared by
+	the Type 1 and CID font drivers.
+
+	* src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
+	src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
+	for Type 1 FT_CMaps.
+
+2002-03-20  David Turner  <[email protected]>
+
+	* src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
+	memory allocation bug that was due to un-careful renaming of the
+	FT_SubGlyph type.
+
+	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
+	caused the library to crash with Electric Fence when memory
+	debugging is used.
+
+	* Renaming stream macros.  Examples:
+
+	  FILE_Skip    => FT_STREAM_SKIP
+	  FILE_Read    => FT_STREAM_READ
+	  ACCESS_Frame => FT_FRAME_ENTER
+	  FORGET_Frame => FT_FRAME_EXIT
+	  etc.
+
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
+
+	* include/freetype/internal/ftobjs.h: Changing the definition of
+	FT_CMap_CharNextFunc slightly.
+
+	* src/cff/*.c: Updating CFF type definitions.
+
+2002-03-14  David Turner  <[email protected]>
+
+	* include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
+	src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
+	for the auto-hinter module.
+
+	  FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec
+	  FT_AutoHinter_Interface* => FT_AutoHinter_Service
+	  etc.
+
+	  FT_AutoHinter_Get_Global_Func  => FT_AutoHinter_GlobalGetFunc
+	  FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
+	  etc.
+
+	* ahloader.h [_STANDALONE_]: Removed all conditional code.
+
+	* include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
+	type definitions of the CFF font driver.
+
+	  CFF_Font  => CFF_FontRec
+	  CFF_Font* => CFF_Font
+	  etc.
+
+	* include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
+	type definitions of the Windows FNT font driver.
+
+	* include/freetype/internal/ftdriver.h,
+	include/freetype/internal/ftobjs.h, src/base/ftapi.c,
+	src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
+	src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
+	src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
+	src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
+	src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
+	definitions for font drivers.
+
+	  FTDriver_initFace      => FT_Face_InitFunc
+	  FTDriver_initGlyphSlot => FT_Slot_InitFunc
+	  etc.
+
+	* src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
+
+	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
+	few face method definitions:
+
+	  FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
+	  FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
+	  FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
+
+	* src/base/ftapi.c: New file.  It contains backward compatibility
+	functions.
+
+	* include/freetype/internal/psaux.h, src/cid/cidload.c,
+	src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
+	src/psaux/t1decode.c, src/type1/t1load.c, src/type1/t1tokens.h:
+	Updated common PostScript type definitions.
+	Renamed all enumeration values like to uppercase variants:
+
+	  t1_token_any      => T1_TOKEN_TYPE_ANY
+	  t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
+	  etc.
+
+	* include/freetype/internal/psglobal.h: Removed.
+	* include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
+	Updated.
+
+	* include/freetype/internal/tttypes.h,
+	include/freetype/internal/sfnt.h, src/base/ftnames.c,
+	src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
+	SFNT/TrueType type definitions.
+
+	* include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
+	Updating type definitions for the glyph loader.
+
+2002-03-13  Antoine Leca  <[email protected]>
+
+	* include/freetype/config/ftoption.h: Changed the automatic
+	detection of Microsoft C compilers to automatically support 64-bit
+	integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
+
+2002-03-08  Werner Lemberg  <[email protected]>
+
+	* src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
+
+2002-03-07  Werner Lemberg  <[email protected]>
+
+	* src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
+	ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
+	ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
+	FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
+	* src/base/ftcalc.c (FT_MulFix): Ditto.
+	* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
+	* src/cff/cffobjs.c (CFF_Size_Get_Globals_Funcs, CFF_Size_Init,
+	CFF_GlyphSlot_Init): Ditto.
+	* src/cid/cidobjs.c (CID_GlyphSlot_Init,
+	CID_Size_Get_Globals_Funcs): Ditto.
+	* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
+	Ditto.
+	* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
+	* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
+	variables.
+
+	* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
+	to...
+	(T1_Builder_FuncsRec): This.
+	(T1_Builder_Funcs): New typedef.
+	(PSAux_Interface): Remove compiler warnings.
+	* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
+	(t1_builder_funcs): Updated.
+
+	* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
+	(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
+	(PSH_AlignmentRec): Updated.
+
+	* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
+	typo.
+	* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
+	* src/base/ftstream (FT_Get_Char): Rename to...
+	(FT_Stream_Get_Char): This.
+
+	* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
+	a built-in function in gcc, causing warning messages with gcc 3.0.
+	* src/autohint/ahglyph.c (ah_outline_load): Ditto.
+	* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
+	* src/cache/ftcmanag.c (ftc_family_table_alloc,
+	ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
+	Ditto.
+	* src/cff/cffload.c (cff_new_index, cff_done_index,
+	cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
+	CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
+	CFF_Done_Font): Ditto.
+	* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
+	* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
+	ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
+	* src/pshinter/pshalgo1.c (psh1_hint_table_record,
+	psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
+	* src/pshinter/pshalgo2.c (psh2_hint_table_record,
+	psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
+	* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
+	TT_Get_PS_Name): Ditto.
+	* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
+	load_truetype_glyph): Ditto.
+	* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
+	* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
+	* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
+
+2002-03-06  David Turner  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
+	(CID_Face_Init): Fixed another bug related to the
+	ascender/descender/text height of Postscript fonts.
+
+	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+	(psh2_print_zone): This.
+	* src/pshinter/pshalgo1.c (print_zone): Renamed to ...
+	(psh1_print_zone): This.
+
+	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+	src/base/ftobjs.c: Adding the new FT_Library_Version API to return
+	the library's current version in dynamic links.
+	* src/base/ftinit.c (FT_Init_FreeType): Updated.
+
+2002-03-06  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
+	* src/pshinter/pshglob.c (psh_global_scale_widths,
+	psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
+	Ditto.
+
+2002-03-05  David Turner  <[email protected]>
+
+	* src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
+	(CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
+	that returned global BBox values in 16.16 fixed format (instead of
+	integer font units).
+
+	* src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
+	caused the CID driver to return Postscript font names with a leading
+	slash (`/') as in `/MOEKai-Regular'.
+
+	* src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
+	src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
+	that it accepts broken fonts like `foxjump.ttf', which made FreeType
+	crash when trying to load them.
+
+	Also improved the name table parser to be able to load
+	Windows-encoded entries before Macintosh or Unicode ones, since it
+	seems some fonts don't have reliable values here anyway.
+
+	* include/freetype/internal/psnames.h: Add typedef for
+	`PSNames_Service'.
+
+2002-03-05  Werner Lemberg  <[email protected]>
+
+	* builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
+	1.4.2.
+	Apply a small patch for AIX to make shared libraries work (this
+	patch is already in the CVS version of libtool).
+
+	* builds/unix/config.sub, builds/unix/config.guess: Updated to
+	recent versions.
+
+	* builds/unix/configure.ac: Fix typo
+	(AC_CONFIG_FILE->AC_CONFIG_FILES).
+
+	* builds/unix/configure: Regenerated.
+
+2002-02-28  David Turner  <[email protected]>
+
+	* include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
+	`FT_LOCAL( xxxx )' everywhere in the source.  The same goes for
+	`FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
+	Changing version to 2.1.0 to indicate an unstable branch.
+	Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
+
+	* src/base/ftobjs.c: Implement FT_Get_First_Char and
+	FT_Get_Next_Char.
+
+	* include/freetype/t1tables.h: Renaming structure types.  This
+
+	  typedef  T1_Struct_
+	  {
+	  } T1_Struct;
+
+	becomes
+
+	  typedef  PS_StructRec_
+	  {
+	  } PS_StructRec, *PS_Struct;
+
+	  typedef PS_StructRec  T1_Struct;  /* backward compatibility */
+
+	Hence, we increase the coherency of the source code by effectively
+	using the `Rec' prefix for structure types.
+
+2002-02-27  David Turner  <[email protected]>
+
+	* src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
+	names table loader.  Invalid individual name entries are now handled
+	correctly.  This allows the loading of very buggy fonts like
+	`foxjump.ttf' without allocating tons of memory and causing crashes.
+
+	* src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
+	experimental) code for OpenType Layout tables validation and
+	parsing.
+
+	* src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
+	experimental) code for Type 1 charmap processing.
+
+	* src/sfnt/ttcmap0.c: New file.  It contains a new, still
+	experimental SFNT charmap processing support.
+
+	* include/freetype/internal/ftobjs.h: Adding validation support as
+	well as internal charmap object definitions (FT_CMap != FT_CharMap).
+
+2002-02-24  David Turner  <[email protected]>
+
+	* Renaming stream functions to the FT_<Subject>_<Action> scheme:
+
+	  FT_Seek_Stream    => FT_Stream_Seek
+	  FT_Skip_Stream    => FT_Stream_Skip
+	  FT_Read_Stream    => FT_Stream_Read
+	  FT_Read_Stream_At => FT_Stream_Read_At
+	  FT_Access_Frame   => FT_Stream_Enter_Frame
+	  FT_Forget_Frame   => FT_Stream_Exit_Frame
+	  FT_Extract_Frame  => FT_Stream_Extract_Frame
+	  FT_Release_Frame  => FT_Stream_Release_Frame
+	  FT_Get_XXXX       => FT_Stream_Get_XXXX
+	  FT_Read_XXXX      => FT_Stream_Read_XXXX
+
+	  FT_New_Stream( filename, stream ) =>
+	    FT_Stream_Open( stream, filename )
+
+	    (The function doesn't create the FT_Stream structure, it simply
+	    initializes it for reading.)
+
+	  FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
+	    FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
+
+	  FT_Done_Stream  => FT_Stream_Close
+	  FT_Stream_IO    => FT_Stream_IOFunc
+	  FT_Stream_Close => FT_Stream_CloseFunc
+
+	  ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
+	  ft_io_stream    => ft_ansi_stream_io    (in base/ftsystem.c only)
+
+	* src/base/ftutil.c: New file.  Contains all memory and list
+	management code (previously in `ftobjs.c' and `ftlist.c',
+	respectively).
+
+	* include/freetype/internal/ftobjs.h: Moving all code related to
+	glyph loaders to ...
+	* include/freetype/internal/ftgloadr.h: This new file.
+	`FT_GlyphLoader' is now a pointer to the structure
+	`FT_GlyphLoaderRec'.
+	(ft_glyph_own_bitmap): Renamed to ...
+	(FT_GLYPH_OWN_BITMAP): This.
+	* src/base/ftobjs.c: Moving all code related to glyph loaders
+	to ...
+	* src/base/ftgloadr.c: This new file.
+
+2002-02-22  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
+	enum to avoid compiler warnings.
+
+2002-02-21  David Turner  <[email protected]>
+
+	Modified the debug sub-system initialization.  Trace levels can now
+	be specified within the `FT2_DEBUG' environment variable.  See the
+	comments within `ftdebug.c' for more details.
+
+	* src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
+	(ft_debug_init): New function.
+	(ft_debug_dummy): Removed.
+	Updated to changes in ftdebug.h
+
+	* include/freetype/internal/ftdebug.h: Always define
+	FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
+	(FT_Assert): Renamed to ...
+	(FT_ASSERT): This.
+	Some stuff from ftdebug.h has been moved to ...
+
+	* include/freetype/internal/fttrace.h: New file, to define the trace
+	levels used for debugging.  It is used both to define enums and
+	toggle names for FT2_DEBUG.
+
+	* include/freetype/internal/internal.h: Updated.
+
+	* src/base/ftobjs.c, src/base/ftstream.c: Updated.
+
+	* include/freetype/internal/ftextend.h, src/base/ftextend.c:
+	Removed.  Both files are now completely obsolete.
+	* src/base/Jamfile, src/base/rules.mk: Updated.
+
+	* include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
+	`#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
+	LCC).
+
+	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+	(psh2_print_zone): This to avoid errors during compilation of debug
+	library.
+
+	* src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
+	`trace_smooth'.
+
+2002-02-20  David Turner  <[email protected]>
+
+	* README: Adding `[email protected]' address for bug reports.
+
+2002-02-20  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install.mk (check): New dummy target.
+	(.PHONY): Add it.
+
+2002-02-19  Werner Lemberg  <[email protected]>
+
+	* builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
+
+	* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
+	to avoid compiler warning.
+	* src/cff/cffload.c (CFF_Get_String): Ditto.
+	* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
+	* src/psaux/psobjs.c (PS_Table_Done): Ditto.
+	* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
+	(pcf_get_bitmaps): The same for `sizebitmaps'.
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): The same for
+	`orig_y'.
+	(t1operator_seac): Comment out more dead code.
+	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
+	conditional.
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
+	conditional.
+
+2002-02-18  Werner Lemberg  <[email protected]>
+
+	* src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
+	variables.
+	* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
+	of UNUSED.
+	* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
+	* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
+	swapping code.
+	* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
+	* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
+	* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
+	* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
+	* include/freetype/internal/ftobjs.h (UNUSED): Removed.
+
+2002-02-10  Roberto Alameda  <[email protected]>
+
+	Add support for ISOLatin1 PS encoding.
+
+	* include/freetype/freetype.h (ft_encoding_latin_1): New tag
+	(`lat1').
+	* include/freetype/internal/t1types.h (T1_Encoding_Type): Add
+	`t1_encoding_isolatin1'.
+	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
+	ft_encoding_latin_1.
+	* src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
+	* src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2002-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.22
@@ -1,0 +1,2837 @@
+2006-05-12  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.2.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-2-1'.
+
+2006-05-12  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/sources.py (re_source_keywords): Add word
+	boundary markers.
+	* src/tools/docmaker/content.py (re_field): Allow `.' in field names
+	(but not at the beginning or end).
+	* src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
+	(block_footer): Split into...
+	(block_footer_start, block_footer_middle, block_footer_end): This to
+	add navigation buttons.
+	(HtmlFormatter::block_exit): Updated.
+
+	* include/freetype/*: Many minor documentation improvements (adding
+	links, spelling errors, etc.).
+
+2006-05-11  Werner Lemberg  <[email protected]>
+
+	* README: Minor updates.
+
+	* include/freetype/*: s/scale/scaling value/ where appropriate.
+	Many other minor documentation improvements.
+
+	* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
+	trailing punctuation.
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
+	warning message for undefined cross references.
+	Update handling of re_italic and re_bold.
+
+2006-05-11  Masatake YAMATO  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
+	read system call returns -1.
+	Remove a redundant parenthesis.
+
+2006-05-10  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
+	given an empty, un-mmap()able file.  Reported and suggested fix in
+	Savannah bug #16555.
+
+	* builds/freetype.mk (refdoc): Write-protect the `docmaker'
+	directory to suppress generation of .pyc files.  According to the
+	Python docs there isn't a more elegant solution (currently).
+
+	* builds/toplevel.mk (dist): New target which builds .tar.gz,
+	.tar.bz2, and .zip files.  Note that the version number is still
+	hard-coded.
+	(do-dist): Sub-target of `dist'.
+	(CONFIG_GUESS, CONFIG_SUB): New variables.
+	(.PHONY): Updated.
+
+2006-05-09  Rajeev Pahuja  <[email protected]>
+
+	* builds/win32/visualc/freetype.sln,
+	builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
+	VS.NET 2003
+	Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
+
+	* builds/win32/visualc/index.html: Updated.
+
+2006-05-07  Werner Lemberg  <[email protected]>
+
+	Put version information into the configure script.  Reported by Paul
+	Watson <[email protected]>.
+
+	* builds/unix/configure.ac: Renamed to...
+	* builds/unix/configure.raw: This which now serves (with appropriate
+	modifications) as a template for configure.ac.
+
+	* version.sed: New script.
+
+	* autogen.sh: Generate configure.ac from configure.raw, using
+	FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
+
+2006-05-06  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.ac (version_info): Set to 9:10:3.
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
+	Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
+	Minor updates.
+
+	* docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
+	Updated.
+
+	* builds/unix/install-sh: Updated from `texinfo' CVS module at
+	savannah.gnu.org.
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+2006-05-04  Werner Lemberg  <[email protected]>
+
+	* src/lzw/ftlzw2.c: Renamed to...
+	* src/lzw/ftlzw.c: This.
+
+	* src/lzw/Jamfile, src/lzw/rules.mk: Updated.
+
+	* builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt: Updated.
+
+2006-05-03  David Turner  <[email protected]>
+
+	Allow compilation again with C++ compilers.
+
+	* include/freetype/internal/ftmemory.h (FT_ASSIGNP,
+	FT_ASSIGNP_INNER): New macros which do the actual assignment, and
+	which exist in two variants (for C and C++).
+	Update callers accordingly.
+
+2006-05-03  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
+
+2006-05-02  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
+	(FT_ALLOC): Remove redundant redefinition.
+
+	* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
+	`-Wstrict-prototypes'.
+
+	* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
+
+	* include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
+	Remove `extern'.
+
+2006-05-02  David Turner  <[email protected]>
+
+	Update the memory management functions and macros to safely deal
+	with array size buffer overflows.  This corresponds to attempts to
+	allocate arrays that are too large.  For an example, consider the
+	following code:
+
+	  count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
+	  count ); for ( nn = 0; nn < count; nn++ )
+	    array[nn] = read_item_from_file();
+
+	If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
+	multiplication overflows, and the array allocated os smaller than
+	the data read from the file.  In this case, the heap will be
+	trashed, and this can be used as a denial-of-service attack, or make
+	the engine crash later.
+
+	The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
+	count is no larger than `FT_INT_MAX/item_size', otherwise a new
+	error code `FT_Err_Array_Too_Large' will be returned.
+
+	Note that the memory debugger now works again when FT_DEBUG_MEMORY
+	is defined.  FT_STRICT_ALIASING has disappeared; the corresponding
+	code is now the default.
+
+
+	* include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
+	Don't use `extern'.
+
+	* include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
+	code.
+
+	* include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
+	[FT_DEBUG_MEMORY]: New macro.
+	(ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
+	(ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
+	ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
+	(FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
+	FT_MEM_FREE): Redefine.
+	(FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
+	FT_MEM_QRENEW_ARRAY): Redefine.
+	(FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
+	FT_MEM_QREALLOC_MULT): New macros.  Update callers where
+	appropriate.
+	(FT_MEM_SET_ERROR): Slightly redefine.
+
+
+	* src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
+	[FT_DEBUG_MEMORY]: New global variables, replacing...
+	(FT_MemTableRec) [FT_DEBUG_MEMORY]: Remove `filename' and
+	`line_no'.  Update all callers.
+	(ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
+	overflow.
+	(ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
+	ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
+
+	* src/base/ftmac.c (read_lwfn): Catch integer overflow.
+	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
+	* src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
+	(ft_mem_alloc, ft_mem_realloc, ft_mem_qrealloc): Rewrite.
+
+
+	* include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
+	FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
+	place where the frames were entered, extracted, exited or released
+	in the memory debugger.
+
+	* src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
+	Call ft_mem_free.
+	(FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
+	(FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
+
+2006-04-30  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
+	initialization, remove extra cast to copy to pfb_lenpos.  This fixes
+	parsing of PFB fonts with MacOS resource fork (bug introduced
+	2003-09-11).  Patch provided by Huib-Jan Imbens <[email protected]>.
+
+2006-04-29  Werner Lemberg  <[email protected]>
+
+	Further C library abstraction.  Based on a patch from
+	[email protected].
+
+	* include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
+	ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
+	ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
+	C library functions.  Update all users accordingly (and catch some
+	other places where the C library function was used instead of the
+	wrapper functions).
+
+	* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
+	* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
+	include malloc.h.
+
+
+	* builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
+	and forthcoming versions.
+
+2006-04-28  Werner Lemberg  <[email protected]>
+
+	* src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
+	obsolete.
+
+2006-04-27  yi luo  <[email protected]>
+
+	* builds/win32/visualc/freetype.vcproj: Updated.
+
+2006-04-26  David Turner  <[email protected]>
+
+
+	* Version 2.2 released.
+	=======================
+
+
+	Tag sources with `VER-2-2-0'.
+
+2006-04-26  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
+	FT_PtrDist for `delta'.  Reported by Céline PILLET
+	<[email protected]>.
+
+2006-04-21  David Turner  <[email protected]>
+
+	* include/freetype/ftincrem.h: Documentation updates.
+	(FT_Incremental_Interface): New typedef.
+
+	* include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
+	Documentation updates.
+
+	* include/freetype/freetype.h: Documentation update.
+	(FT_HAS_FAST_GLYPHS): Always set to 0.
+
+	* include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
+	Take an FT_Library argument instead of FT_Memory.
+
+	* src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
+
+2006-04-13  David Turner  <[email protected]>
+
+	* src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
+	superfluous code in the auto-fitter's loader.
+
+2006-04-05  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
+
+2006-04-03  luoyi  <[email protected]>
+
+	* builds/compiler/intelc.mk (TE): New variable.
+	(ANSIFLAGS): Updated.
+
+2006-04-03  Werner Lemberg  <[email protected]>
+
+	* builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
+	(CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
+	(.PHONY): Updated.
+
+	* configure.ac: Minor fixes to improve --help output.
+
+
+	* docs/PROBLEMS: New file.
+
+2006-04-01  David Turner  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+	* include/freetype/ftcache.h, include/freetype/config/ftheader.h:
+	Update documentation comments.
+
+2006-04-01  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install.mk (uninstall): Don't handle `cache'
+	directory which no longer exists.
+
+2006-03-29  Detlef Würkner  <[email protected]>
+
+	* src/psaux/psconv.c: Changed some variables which are expected to
+	hold negative values from `char' to `FT_Char' to allow building with
+	a compiler where `char' is unsigned by default.
+
+2006-03-27  David Turner  <[email protected]>
+
+	* src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
+	causes some programs to go into an infinite loop when dealing with
+	fonts that don't have a properly sorted kerning sub-table.
+
+2006-03-26  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (ERRMSG4): New macro.
+	(_bdf_parse_glyphs): Handle invalid BBX values.
+
+	* include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
+	macro.
+
+2006-03-23  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+
+	* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
+	padding between table elements.
+	(html_header_1): The `DOCTYPE' comment must be in uppercase.
+	(make_html_para): Convert `...' quotations into real left and
+	right single quotes.
+	Use `para_header' and `para_footer'.
+
+	* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
+	also.
+
+2006-03-23  David Turner  <[email protected]>
+
+	Add FT_Get_SubGlyph_Info API to retrieve subglyph data.  Note that
+	we do not expose the FT_SubGlyphRec structure.
+
+	* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
+	to...
+	* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
+	(FT_Get_SubGlyph_Info): New declaration.
+
+	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
+
+
+	* src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
+	rsb_delta correctly in edge cases.
+
+2006-03-22  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
+	[!FTC_INLINE]: Compile conditionally.
+	* src/cache/ftccache.h: Updated.
+
+	* src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
+	FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
+	s/FT_EXPORT/FT_LOCAL/.
+	(FTC_GCache_Init, FTC_GCache_Done): Commented out.
+	(FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
+	s/FT_EXPORT/FT_LOCAL/.
+	* src/cache/ftcglyph.h: Updated.
+
+	* src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
+	s/FT_EXPORT/FT_LOCAL/.
+	(FTC_INode_Weight): Commented out.
+	* src/cache/ftcimage.h: Updated.
+
+	* src/cache/ftcmanag.c (FTC_Manager_Compress,
+	FTC_Manager_RegisterCache, FTC_Manager_FlushN):
+	s/FT_EXPORT/FT_LOCAL/.
+	* src/cache/ftcmanag.h: Updated.
+
+	* src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
+	FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
+	(FTC_SNode_Weight): Commented out.
+	* src/cache/ftcsbits.h: Updated.
+
+2006-03-22  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
+	Remove, unused.
+
+	* src/cache/ftccmap.h: Remove, unused.
+
+	* src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
+
+2006-03-21  Zhe Su  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
+	algorithm.
+
+2006-03-21  Werner Lemberg  <[email protected]>
+
+	* src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
+
+	* src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
+
+	* src/cff/cffgload.c (cff_slot_load): Change type of third parameter
+	to `FT_UInt'.
+	Check range of `glyph_index'.
+	* src/cff/cffgload.h: Updated.
+
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
+	correctly.
+
+
+	* builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
+	README: s/2.1.10/2.2/.
+
+2006-03-21  David Turner  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
+	that crashes the auto-hinter (introduced by previous patch).
+
+2006-03-20  Werner Lemberg  <[email protected]>
+
+	* builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
+	(FREETYPE_H): Updated.
+
+	* src/cache/rules.mk (CACHE_H_DIR): Remove.
+	(CACHE_DRV_H): Updated.
+
+2006-03-20  David Turner  <[email protected]>
+
+	* include/freetype/cache/ftccache.h,
+	include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
+	include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
+	include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
+	Move to...
+
+	* src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
+	src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
+	src/cache/ftcmru.h: This new location.
+	Update declarations according to the changes in the corresponding
+	source files.
+
+	Note that these files are not used by FreeType clients; all public
+	APIs of the cache module have been already moved to
+	`include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
+	macros resolve to it.
+
+	Reason for the move is to allow modifications of the internals
+	without interferences with rogue clients.  Note that there are no
+	known clients that access the cache internals at the moment.
+
+	* builds/unix/install.mk (install): Don't install headers from
+	$(CACHE_H).
+	Remove `freetype/cache' from the target directory.
+
+	* include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
+	FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
+	FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
+	FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
+	FT_CACHE_H.
+
+	* src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
+	src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
+	src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
+	src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
+	src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
+	but include the headers directly (which are now in `src/cache').
+
+	* src/cache/ftccache.c:  Don't use the FT_CACHE_INTERNAL_XXX_H
+	macros but include the headers directly.
+	(FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
+	FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
+
+	* src/cache/ftccache.c:  Don't use the FT_CACHE_INTERNAL_XXX_H
+	macros but include the headers directly.
+	(FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
+	FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
+	FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
+	Declare as FT_LOCAL_DEF.
+	(FTC_MruList_Find, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
+	conditionally.
+	Declare as FT_LOCAL_DEF.
+
+
+	* builds/win32/visualc/freetype.dsp: Update project file, add
+	missing base source files (ftstroke.c, ftxf86.c, etc.).
+
+
+	* src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
+	src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
+	src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
+	src/type1/t1objs.c: Remove compiler warnings when building with
+	Visual C++ 6 and /W4.
+
+	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
+	hinting for italic/oblique fonts.
+
+
+
+	* src/truetype/ttpload.c, src/truetype/ttpload.h
+	(tt_face_get_device_metrics): Change second argument to `FT_UInt'.
+
+2006-03-06  David Turner  <[email protected]>
+
+	* src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
+	Mozilla/FireFox print preview in Ubuntu Hoary.
+
+2006-02-28  Chia-I Wu  <[email protected]>
+
+	* src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
+	return error when size == 0.
+
+2006-02-28  Chia-I Wu  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
+	order so that type42 module is removed before truetype module.  This
+	avoids double free in some occasions.
+
+2006-02-28  David Turner  <[email protected]>
+
+	* Release candidate VER-2-2-0-RC4.
+	----------------------------------
+
+	* docs/CHANGES: Documentation updates.
+
+2006-02-28  suzuki toshiya  <[email protected]>
+
+	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
+	build ftvalid in ft2demos.  It works as dummy ABI if gxvalid is not
+	built.
+
+2006-02-27  Werner Lemberg  <[email protected]>
+
+	* include/freetype/cache/ftccache.h
+	[FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
+	ftc_node_done.
+
+	* src/cache/ftccache.c (ftc_node_destroy)
+	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF.  This
+	should now fix all possible compilation options.
+
+2006-02-27  David Turner  <[email protected]>
+
+	* src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
+	ft_mem_qrealloc): Return an error if a negative size is passed in
+	parameters.
+
+	* src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
+	it needs to be exported for rogue clients.
+
+	* src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
+	with malformed fonts which have an odd number of blue values (these
+	are broken according to the specs).
+
+	* src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
+	(T1_Open_Face): Modify the loaders to force even-ness of
+	`num_blue_values'.
+
+	(cff_index_access_element): Ignore invalid entries in index files.
+
+2006-02-27  Chia-I Wu  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
+	or height is 0.
+
+2006-02-27  suzuki toshiya  <[email protected]>
+
+	* builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt: Update to new header
+	inclusion introduced on 2006-02-16.
+
+2006-02-27  Chia-I Wu  <[email protected]>
+
+	* src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
+	(ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
+	Re-enable glyph metrics grid-fitting.  It is now done in the base
+	layer.
+	(FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
+	height are not too small or too large, just like we were doing in
+	2.1.10.
+
+	* src/autofit/afloader.c (af_loader_load_g): The vertical metrics
+	are not scaled.
+
+2006-02-26  Werner Lemberg  <[email protected]>
+
+	* docs/release: Minor additions and clarifications.
+
+	* docs/CHANGES: Updated to reflect many fixes for backward
+	compatibility.  Still incomplete.
+
+2006-02-26  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
+	conservative rounding of metrics to avoid breaking clients like
+	Pango (see https://bugzilla.gnome.org/show_bug.cgi?id=327852).
+
+2006-02-25  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+	* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
+
+2006-02-25  David Turner  <[email protected]>
+
+	Fix compiler warnings as well as C++ compilation problems.
+	Add missing prototypes.
+
+	* src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
+	src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
+	src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
+	src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
+	initialize variables, and decorate functions with FT_CALLBACK_DEF,
+	etc., to fix compiler warnings (and C++ compiling errors).
+
+	* src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
+	gcc.
+
+	* builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
+	FT_INTERNAL_STREAM_H.
+
+	* src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
+
+	* include/freetype/config/ftheader.h (FT_PFR_H): New macro.
+
+	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
+	define for C++.
+
+	* include/freetype/internal/services/svotval.h: Don't include
+	FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
+
+	* include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
+
+	* src/gzip/ftgzip.c: Include FT_GZIP_H.
+
+	* src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
+
+	* src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
+
+2006-02-24  Chia-I Wu  <[email protected]>
+
+	* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
+	ft_contour_enclosed, ft_outline_get_orientation): Commented out.  We
+	have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
+	(FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
+
+2006-02-24  Chia-I Wu  <[email protected]>
+
+	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
+	documentation.
+
+	* include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
+	src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
+	sure a glyph slot owns its bitmap.  It is also marked experimental
+	and due to change.
+	(FT_GlyphSlot_Embolden): Undo the last change.  It turns out that
+	rendering the outline confuses some applications.
+
+2006-02-24  David Turner  <[email protected]>
+
+	* Release candidate VER-2-2-0-RC3.
+	----------------------------------
+
+	* src/cache/ftcbasic.c: Correct compatibility hack bug.
+
+2006-02-24  Chia-I Wu  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Size_RequestRec): Change the type
+	of `width' and `height' to `FT_Long'.
+	(enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
+	New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
+	directly.
+
+2006-02-23  David Turner  <[email protected]>
+
+	Two BDF patches from Debian libfreetype6 for 2.1.10.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
+	glyphs.
+	Fix a problem with large encodings.
+
+
+	Fix binary compatibility issues for gnustep-back (GNUstep backend
+	module) which still crashes under Sarge.
+
+	* src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
+	FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
+	structures and enumerations.
+	(FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
+	compatibility code.
+
+	* src/cache/ftcbasic.c: Fix a silly bug that prevented our `hack' to
+	support rogue clients compiled against 2.1.7 to work correctly.
+	This probably explains the GNUstep crashes with the second release
+	candidate.
+
+2006-02-23  Chia-I Wu  <[email protected]>
+
+	* include/freetype/ftoutln.h (enum FT_Orientation): New value
+	`FT_ORIENTATION_NONE'.
+
+	* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
+	ft_contour_enclosed, ft_outline_get_orientation): Another version of
+	`FT_Outline_Get_Orientation'.  This version differs from the public
+	one in that each part (contour not enclosed in another contour) of the
+	outline is checked for orientation.
+	(FT_Outline_Embolden): Use `ft_outline_get_orientation'.
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
+	use bitmap's embolden routine when the outline one failed.
+
+2006-02-22  Chia-I Wu  <[email protected]>
+
+	* modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
+	compatibility.
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
+	tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
+	loading.  (Only tested with bit aligned sbit with x_pos == 0.)
+
+	* src/truetype/ttpload.c (tt_face_load_hdmx,
+	tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
+	actually used.
+
+2006-02-21  David Turner  <[email protected]>
+
+	Add a new API named FT_Get_TrueType_Engine_Type to determine whether
+	we have a patented, unpatented, or unimplemented TrueType bytecode
+	interpreter.
+
+	The FT_Get_Module_Flags API was removed consequently.
+
+	* include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
+	Replaced with...
+	(FT_Get_TrueType_Engine_Type): This.
+	(FT_TrueTypeEngineType): New enumeration.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
+	New macro.
+
+	* src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
+	(FT_Module_Get_Flags): Removed.  Replaced with...
+	(FT_Get_TrueType_Engine_Type): This.
+
+	* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
+	(tt_service_truetype_engine): New service structure.
+	(tt_services): Register it.
+
+	* include/freetype/internal/services/svtteng.h: New file.
+
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
+	embedded bitmaps from being correctly listed and used.
+
+
+	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
+	if FT_CONFIG_OPTION_OLD_INTERNALS is used.  The is necessary because
+	libXfont is directly accessing the HMTX data, unfortunately.
+	Fix some compiler warnings.
+	(tt_face_get_metrics): Ditto.
+
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
+	character advances.
+
+2006-02-20  David Turner  <[email protected]>
+
+	Support binary compatibility with the X.Org server's Xfont library.
+	Note that this change unfortunately prevents memory optimizations
+	for the embedded bitmap loader.
+
+	* include/freetype/internal/sfnt.h (SFNT_Interface): Move
+	`set_sbit_strike' and `load_sbit_metrics' fields to the location of
+	version 2.1.8.
+
+	* src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
+	FT_Size_Request.
+	(sfnt_interface): Updated.
+
+	* src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
+	ttsbit0.c.
+	(tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
+
+	* src/sfnt/ttsbit.h: Updated.
+
+2006-02-17  David Turner  <[email protected]>
+
+	* builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
+	functions anymore.  This ensures that all FT_BASE internal functions
+	are available for dynamic linking.
+
+	* include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
+	FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
+	FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
+	FTC_OldImageDesc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
+	ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
+	FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
+	[FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
+	cache sub-system.  We try to recognize old legacy signatures with a
+	gross hack (hope it works).
+
+2006-02-17  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+2006-02-16  David Turner  <[email protected]>
+
+	Massive changes to the internals to respect the internal object
+	layouts and exported functions of FreeType 2.1.7.  Note that the
+	cache sub-system cannot be fully retrofitted, unfortunately.
+
+	* include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
+
+	* include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
+	include/freetype/cache/ftccmap.h,
+	include/freetype/internal/ftcalc.h,
+	include/freetype/internal/ftdriver.h,
+	include/freetype/internal/ftmemory.h,
+	include/freetype/internal/ftobjs.h,
+	include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
+	include/freetype/internal/t1types.h,
+	include/freetype/internal/tttypes.h, src/base/ftcalc.c,
+	src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
+	src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
+	src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
+	src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
+	src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
+	src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
+	Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
+	structures.
+
+	Move newly added structure elements to the end of the affected
+	structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
+	defined) to assure binary compatibility with older FreeType
+	versions.
+	Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
+	functions:
+
+	  ft_stub_set_char_sizes
+	  ft_stub_set_pixel_sizes
+
+	Rename the following internal functions to provide the old function
+	names as stubs:
+
+	  FT_Alloc          -> ft_mem_alloc
+	  FT_QAlloc         -> ft_mem_qalloc
+	  FT_Realloc        -> ft_mem_realloc
+	  FT_QRealloc       -> ft_mem_qrealloc
+	  FT_Free           -> ft_mem_free
+	  FT_Alloc_Debug    -> ft_mem_alloc_debug
+	  FT_QAlloc_Debug   -> ft_mem_qalloc_debug
+	  FT_Realloc_Debug  -> ft_mem_realloc_debug
+	  FT_QRealloc_Debug -> ft_mem_qrealloc_debug
+	  FT_Free_Debug     -> ft_mem_free_debug
+
+2006-02-15  Chia-I Wu  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+	unused `max_points' and `max_contours'.
+
+	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
+	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
+	`max_components'.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
+	`loadSize' and `loadStack'.
+
+	* src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
+	src/sfnt/ttload.c (tt_face_load_maxp): Update.
+
+	* src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
+	(sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
+	compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
+	defined.
+
+	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
+	possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
+	(finally!)
+
+
+	For most OpenType tables, `tt_face_load_xxxx' simply loads the table
+	and `face->root' is set later in `sfnt_load_face'.  Here, we try to
+	make this work for _all_ tables.  Also improve tracing messages.
+
+	* src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
+	src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
+	then exit.  Error handling or setting face->root is done later in
+	`sfnt_load_face'.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
+	Mac bitmap-only fonts are not scalable.
+	Check that `face->header.Units_Per_EM' is not zero.
+	(LOAD_, LOADM_): Emit pretty trace messages.
+
+	* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
+	from `eblc'.
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
+	(load_format_20, load_format_25, tt_face_get_ps_name): Use
+	face->max_profile.numGlyphs, instead of face->root.num_glyphs.
+
+2006-02-14  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
+	documentation that negative strength values are possible.
+	Give an example call.
+
+	* include/freetype/freetype.h (FT_GlyphSlotRec): Improve
+	documentation of `outline' field.
+
+	* src/sfnt/sfobjs.c: Include FT_INTERNAL_DEBUG_H.
+	* src/sfnt/sfdriver.c: Include ttmtx.h.
+
+	* src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
+
+2006-02-14  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
+
+2006-02-14  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
+	return error if table is missing.
+	Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
+	tables.  The last change makes Mac bitmap-only font not load and
+	this fixes it.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
+	error when FT_CONFIG_OPTION_INCREMENTAL is defined.
+
+2006-02-13  Chia-I Wu  <[email protected]>
+
+	Clean up the SFNT_Interface.  In this final pass, `load_hmtx' is
+	split from `load_hhea'.
+
+	* include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
+	src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Update.
+
+2006-02-13  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
+	code...
+
+2006-02-13  Chia-I Wu  <[email protected]>
+
+	Clean up the SFNT_Interface.  In this pass, we want to treat the
+	font directory (offset table and table directory) as a normal table
+	like the others.  This also means that TTCs are no longer recognized
+	there but in `init_face'.
+
+	* include/freetype/internal/sfnt.h (SFNT_Interface),
+	src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
+	combined and renamed to `load_font_dir'.
+
+	* src/sfnt/ttload.h, src/sfnt/ttload.c:
+	s/sfnt_dir_check/check_table_dir/.
+	`sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
+	`tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
+	and renamed to `tt_face_load_font_dir'.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
+
+2006-02-13  Chia-I Wu  <[email protected]>
+
+	Clean up the SFNT_Interface.  Table loading functions are now named
+	after the tables' tags; `hdmx' is TrueType-specific and thus the
+	code is moved to the truetype module; `get_metrics' is moved here
+	from the truetype module so that the code can be shared with the cff
+	module.
+
+	This pass involves no real changes.  That is, the code is moved
+	verbatim mostly.  The only exception is the return value of
+	`tt_face_get_metrics'.
+
+	* include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
+	src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
+	src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
+	src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
+
+	* src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files.  Metrics-related
+	tables' loading and parsing code is moved to here.
+	Move `tt_face_get_metrics' here from the truetype module.  The
+	return value is changed from `void' to `FT_Error'.
+
+	* include/freetype/internal/fttrace.h: New trace: ttmtx.
+
+	* src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
+	parsing code is moved here.
+	New function `tt_face_load_prep' split from `tt_face_load_fpgm'.
+	`tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
+
+	* src/cff/cffgload.c, src/cff/cffobjs.c: Update.
+
+	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
+
+2006-02-11  Chia-I Wu  <[email protected]>
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
+	AF_LatinMetricsRec as the dummy metrics because we cast the metrics
+	to it later in `af_latin_hints_link_segments'.
+
+2006-02-11  Chia-I Wu  <[email protected]>
+
+	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
+	to enable autofit CJK script support.  (#define'd by default.)
+
+	* src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
+	that `edge_distance_threshold' is always set.
+	(af_latin_hints_link_segments): Potential divide-by-zero bug.
+	Use latin constant in the scoring formula.
+
+	* src/autofit/afcjk.c: Minor updates due to the above three changes.
+
+	* docs/TODO, docs/CHANGES: Updated.
+
+2006-02-09  Chia-I Wu  <[email protected]>
+
+	Introduce experimental autofit CJK module based on akito's autohint
+	patch.  You need to #define AF_MOD_CJK in afcjk.c to enable it.
+
+	* src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
+	src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
+	Add CJK module based on akito's autohint patch.
+
+	* src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
+	overlap length of the segments.
+	(AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
+
+	* src/autofit/aflatin.h (af_latin_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
+	`FT_LOCAL'.
+	Use the character given by the caller.
+	(af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
+	the thresholds.
+
+	* src/autofit/afloader.c (af_loader_load_g): Respect
+	AF_SCALER_FLAG_NO_ADVANCE.
+
+2006-02-09  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
+
+2006-02-09  suzuki toshiya  <[email protected]>
+
+	* src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
+	broken CIDFont.  Reported by Taek Kwan(TK) Lee (see ft-devel
+	2005-11-02).
+
+2006-02-08  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
+	option on UNIX platform.  It has been broken since 2006-01-11.
+
+2006-02-01  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
+	* src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
+
+	* builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
+	change from 2006-01-31).
+	(TOP_DIR, OBJ_DIR): Update.
+
+	* builds/unix/install.mk (install): Fix path for ftmodule.h.
+
+	* Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
+	`?=' where appropriate.
+
+	* builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
+	builds/win32/w32-dev.mk (TOP_DIR): Removed.  Defined elsewhere.
+
+2006-01-31  Werner Lemberg  <[email protected]>
+
+	Implement new, simplified module selection.  With GNU make it is now
+	sufficient to modify a single file, `modules.cfg', to control the
+	inclusion of modules and base extension files.
+
+	This change also fixes the creation of ftmodule.h; it now depends on
+	`modules.cfg' and thus is rebuilt only if necessary.
+
+	Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
+	default location.
+
+	* modules.cfg: New file.
+
+	* builds/freetype.mk: Don't include `modules.mk'.
+	Include all `rules.mk' files as specified in `modules.cfg'.
+	(FTOPTION_FLAG, FTOPTION_H): New variables.
+	(FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
+	Add FTOPTION_FLAG.
+	($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
+	(CONFIG_H): Add FTMODULE_H and FTOPTION_H.
+	(INCLUDES): Add DEVEL_DIR.
+	(INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
+	OBJ_M, OBJ_S): Use `:=', not `='.
+	(remove_ftmodule_h): New phony target to delete `ftmodule.h'.
+	(distclean): Add remove_ftmodule_h.
+
+	* builds/modules.mk: (MODULE_LIST): Removed.
+	(make_module_list, clean_module_list): Replace targets
+	with...
+	(FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
+	variables.  Reason for the change is that it is not possible to have
+	a phony prerequisite which is run only if the target file must be
+	rebuilt (phony prerequisites act like subroutines and are *always*
+	executed).  We only want to rebuild `ftmodule.h' if `module.cfg' is
+	changed.
+	Update all callers.
+	($FTMODULE_H)): Rule to create `ftmodule.h', depending on
+	`modules.cfg'.
+
+	* builds/toplevel.mk: Rewrite and simplify module handling.
+	(MODULES_CFG, FTMODULE_H): New variables.
+	Include MODULES_CFG.
+	(MODULES): New variable to include all `module.mk' and `rules.mk'
+	files.  We no longer use make's `wildcard' function for this.
+
+	* Makefile (USE_MODULES): Remove.  Update all users.
+	(OBJ_DIR): Define it here.
+
+	* src/*/module.mk: Change
+
+	    make_module_list: foo
+	    foo: ...
+
+	to
+
+	    FTMODULE_H_COMMANDS += FOO
+	    define FOO
+	    ...
+	    endef
+
+	in all files.  `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
+
+	* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
+
+	* builds/unix/detect.mk (setup): Always execute `configure' script.
+	(have_mk): Rename to...
+	(have_Makefile): This.
+	Don't use `strip' function.
+
+	* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
+	defined.
+	(have_mk): Don't use `strip' function.
+	Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
+	accordingly).
+
+	* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
+
+	* builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
+	builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
+	BUILD_DIR but DEVEL_DIR for development header files.
+
+	* builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
+	builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
+	(TOP_DIR, OBJ_DIR): Removed.  Defined elsewhere.
+
+	* builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
+	builds/win32/win32-def.mk (OBJ_DIR): Removed.  Defined elsewhere.
+
+	* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
+	development header files.
+	Don't define PLATFORM.
+
+	* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
+	Update snippet taken from autoconf's m4sh.m4 to current CVS version.
+	Be more verbose.
+
+	* include/freetype/config/ftmodule.h: Add comments -- this file is
+	no longer used if FreeType is built with GNU make.
+
+	* docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
+	docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
+	Other minor updates.
+
+	* modules.txt: Removed.  Contents included in `modules.cfg'.
+
+
+	* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
+	FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
+
+	* src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
+	FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
+	[FT_STRICT_ALIASING]: Implement.
+
+2006-01-31  Chia-I Wu  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+	(cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
+	src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
+	units_per_EM, ascender - descender).
+
+2006-01-31  Chia-I Wu  <[email protected]>
+
+	* include/freetype/internal/t1types.h (AFM_FontInfo),
+	src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
+	`Ascender', and `Descender' from an AFM.
+
+	* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
+
+	* include/freetype/freetype.h (FT_FaceRec): Mention that fields may
+	be changed after file attachment.
+
+2006-01-28  Werner Lemberg  <[email protected]>
+
+	* src/*/module.mk (.PHONY): Add.
+
+2006-01-27  Werner Lemberg  <[email protected]>
+
+	* README, docs/FTL.TXT: Fix email address for bug reports.
+	Other minor formatting.
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+	* src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
+	(add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
+	whitespace.
+
+	* src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
+	renderer classes.
+
+2006-01-27  David Turner  <[email protected]>
+
+	* builds/unix/configure.ac: Fix build problem on Cygwin.
+
+	* builds/unix/install.mk (install): Don't install the internal
+	headers, and remove existing ones if found in the target install
+	directory.
+
+	* src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
+	if the warp hinter isn't active (it shouldn't, still experimental).
+
+	* Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
+	and `otvalid' from the list of modules that are linked statically
+	to a given FreeType library.  Functionality has been moved to the
+	`ftvalid' CVS module.
+
+	Note also that current Make-based build system still compiles the
+	modules though.
+
+	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
+	which controls the definitions of the memory management functions to
+	avoid warnings with recent versions of GCC.  This macro is only here
+	to be disabled, in case we detect problems with the new scheme.
+
+	NOTE: Disable macro to use the memory debugger -- this will be fixed
+	      later!
+
+	* include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
+	FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
+	New versions.
+
+
+	* builds/win32/visualc/freetype.dsp: Updating project file to
+	define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
+	compilation.
+
+
+	* builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
+	macro FT2_BUILD_LIBRARY when compiling the library.
+
+	* include/freetype/config/ftheader.h: Remove inclusions of internal
+	headers except if the macro FT2_BUILD_LIBRARY is defined.
+
+
+	* include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
+	AFM_FontInfo): Move structure declarations to...
+	* include/freetype/internal/t1types.h: This file.
+
+
+	* (many files): Fix compiler warnings.
+	Various minor reorganizations.
+
+
+	* src/cff/cffload.c (cff_font_done): Don't free static array
+	`subfonts'.
+
+	* src/otvalid/otvcommn.c (otv_ClassDef_validate),
+	src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
+
+
+	Get rid of writable static variables (i.e., the string table) in
+	afmparse, and fix compilation in FT2_MULTI mode.
+
+	* src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
+	(AFM_MAX_ARGUMENTS): Define...
+	* src/psaux/afmparse.h: Here.
+	* src/psaux/Jamfile (_sources): Add afmparse.
+
+	* src/psaux/psconv.c: Include psconv.h.
+
+	* src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
+	FT_INTERNAL_POSTSCRIPT_AUX_H.
+	* src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
+
+2006-01-23  Chia-I Wu  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Select_Size): Rename the second
+	argument from `idx' to `strike_index'.
+	(FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
+	this enum.
+
+	* include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
+	FT_REQUEST_HEIGHT): New macros to get the width and height of a
+	request, in fractional pixels.
+
+	* include/freetype/internal/ftobjs.h (FT_Select_Metrics,
+	FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
+	FT_Request_Metrics): New base functions to set the font metrics.  They
+	were part of FT_Select_Size/FT_Request_Size and are made independent
+	functions so that metrics are not set again and again.
+
+	* src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
+	only when driver's size_select/size_request is NULL.  That is, drivers
+	should set the metrics themselves.
+	(FT_Match_Size): Round before matching.  This was what we did and it
+	does cause some problems without rounding.
+
+	* src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
+	(tt_size_select): Set the font metrics.
+	s/index/strike_index/.
+	The scaled metrics are always preferred over strikes' metrics, even
+	when some strike is selected.  This is done because the strikes'
+	metrics are not reliable, e.g., the sign of the descender is wrong for
+	some fonts.
+
+	* src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
+	(tt_size_request): Set the font metrics.
+	Call cff_size_select/tt_size_select when some strike is matched.
+
+	* src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
+	src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
+	src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
+	Set the font metrics.
+	s/index/strike_index/.
+
+	* src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
+	files were committed.  Just a catch-up.
+	(PS_Conv_ToFixed): Remove the `goto'.
+	(PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
+	tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
+	(tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
+	advertised metrics in `available_sizes' are different from those
+	actually used.
+
+2006-01-23  Chia-I Wu  <[email protected]>
+
+	* src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
+	AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
+
+2006-01-22  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+	`texinfo' CVS module at savannah.gnu.org.
+
+2006-01-21  Werner Lemberg  <[email protected]>
+
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
+
+	* src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
+	to avoid compiler warnings.
+
+	* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
+	shadowing variable declarations.
+	Fix warning parameters and replace printf with AF_LOG.
+	(af_warper_compute): Remove unused variable.
+
+2006-01-20  David Turner  <[email protected]>
+
+	Adding experimental implementation of `warp hinting' (new hinting
+	algorithm for gray-level and LCD rendering).  It is disabled by
+	default, you need to #define AF_USE_WARPER in aftypes.h.
+
+	* src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
+	New function.
+	* src/autofit/afhints.h: Updated.
+
+	* src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
+	(af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
+	FT_RENDER_MODE_NORMAL if an LCD mode is selected.
+	(af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
+	appropriately.
+
+	* src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
+	Isolate code for adjusting metrics.
+
+	* src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
+	default).
+
+	* src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
+
+	* src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
+
+	* src/autofit/Jamfile (_sources): Add afwarp.
+
+2006-01-19  David Turner  <[email protected]>
+
+	* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
+	that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
+
+2006-01-19  Brian Weed  <[email protected]>
+
+	* builds/win32/visualc/freetype.dsp: Updated.
+
+2006-01-17  Werner Lemberg  <[email protected]>
+
+	Use pscmap service in CFF module.
+
+	* src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
+	(cff_sid_to_glyph_name): New function.
+	(cff_cmap_unicode_init, cff_cmap_unicode_done,
+	cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
+	service.
+	(cff_cmap_unicode_class_rec): Updated.
+	* src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
+
+
+	* src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
+	return value.
+
+
+	* src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
+	to avoid compiler warnings regarding type-punning.
+
+2006-01-16  Chia-I Wu  <[email protected]>
+
+	* src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
+	implement an AFM parser.
+
+	* src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
+	conversion functions (e.g., PS real number => FT_Fixed) for the
+	PS_Parser and AFM_Parser.  Some of the functions are taken, with
+	some modifications, from the file psobjs.c.
+
+	* src/psaux/psobjs.c: Use functions from psconv.c.
+
+	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
+	`AFM_Parser' to the `psaux' service.
+
+	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
+	those new files.
+
+	* src/tools/test_afm.c: A test program for AFM parser.
+
+	* include/freetype/internal/services/svkern.h: New file providing a
+	`Kerning' service.  It is currently only used to get the track
+	kerning information.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
+	macro.
+
+	* src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
+	src/type1/t1afm.h: Update to use the AFM parser.
+	Provide the `Kerning' service.
+
+	* include/freetype/freetype.h, src/base/ftobjs.c: New API
+	`FT_Get_Track_Kerning'.
+
+2006-01-15  Chia-I Wu  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
+	src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
+	src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
+	s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
+
+	* docs/CHANGES: Mention that vertical metrics are synthesized for
+	fonts not having this info.
+
+2006-01-15  Chia-I Wu  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
+	src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
+	vertical metrics.
+
+	* src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
+	src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
+	which are monotone.
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
+	formattings in vertical metrics faking.  There is still room for
+	improvements (and so does the CFF module).
+
+2006-01-15  Chia-I Wu  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
+	(PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
+	the linear advance fields as they are only used by the outline
+	glyphs.
+
+	* include/freetype/freetype.h: Documentation updates and
+	clarifications.
+	The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
+	change need be made to the code.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
+	decide whether to use the auto-hinter according to documentation.
+	There should to be no real difference.
+	Some checks (e.g., is text height positive?) after the glyph is
+	loaded.
+	(FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
+	Be careful that scales won't be negative.
+
+2006-01-14  Chia-I Wu  <[email protected]>
+
+	* docs/CHANGES: Mention the size selection change.
+
+	* src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
+	src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
+	src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
+	matching for requests of type NOMINAL and REAL_DIM.
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
+	`pixel_height' is used for nominal height.
+
+	* src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
+	face is bitmap only and driver doesn't provide `request_size'.  This
+	is added merely for completion as no driver satisfies the conditions.
+
+2006-01-13  Chia-I Wu  <[email protected]>
+
+	Introduce new size selection interface.
+
+	* include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
+	Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
+	`select_size'.
+
+	* include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
+	FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
+	(FT_Select_Size, FT_Request_Size): API additions to export the new
+	size selection interface.
+
+	* src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
+	`FT_Request_Size'.
+
+	* include/freetype/internal/ftobjs.h (FT_Match_Size),
+	src/base/ftobjs.c (FT_Match_Size): New function to match a size
+	request against `available_sizes'.  Drivers supporting bitmap strikes
+	can use this function to implement `request_size'.
+
+	* src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
+	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
+	src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
+	src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
+	Update to new size selection interface.
+
+	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
+	src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
+	src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
+	selection interface.
+	Make `strike_index' FT_ULong and always defined.
+	Use `load_strike_metrics' provided by SFNT interface.
+
+2006-01-13  Chia-I Wu  <[email protected]>
+
+	* include/freetype/internal/sfnt.h (SFNT_Interface): New method
+	`load_strike_metrics' used to load the strike's metrics.
+
+	* src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
+	src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
+	nominal size unless it is obviously incorrect.
+
+	* include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
+	FNT driver.
+
+2006-01-12  Werner Lemberg  <[email protected]>
+
+	Prepare use of pscmap service within CFF module.
+
+	* include/freetype/internal/services/svpscmap.h: Include
+	FT_INTERNAL_OBJECTS_H.
+	(PS_Unicode_Index_Func): Removed.  Unused.
+	(PS_Macintosh_Name_Func): Renamed to...
+	(PS_Macintosh_NameFunc): This.
+	Update all callers.
+	(PS_Adobe_Std_Strings_Func): Renamed to...
+	(PS_Adobe_Std_StringsFunc): This.
+	Update all callers.
+	(PS_UnicodesRec): This is the former `PS_Unicodes' structure.
+	Add `cmap' member.
+	Update all callers.
+	(PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
+	Update all callers.
+	(PS_Glyph_NameFunc): New typedef.
+	(PS_Unicodes_InitFunc): Change arguments to expect a function
+	and generic data pointer which returns a glyph name from a given
+	index.
+
+	* src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
+	ps_unicodes_char_next, pscmaps_interface): Updated.
+
+	* include/freetype/internal/t1types.h (T1_FaceRec): Updated.
+
+	* src/psaux/t1cmap.h (T1_CMapStdRec): Updated.
+	(T1_CMapUnicode, T1_CMapUnicodeRec): Removed.
+
+	* src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
+	(t1_cmap_unicode_init, t1_cmap_unicode_done,
+	t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
+	t1_cmap_unicode_class_rec): Updated.
+
+	* src/type42/t42types.h (T42_FaceRec): Updated.
+
+2006-01-11  suzuki toshiya  <[email protected]>
+
+	* include/freetype/ftmac.h: Add declaration of new functions
+	FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
+	were introduced by the jumbo patch on  2006-01-11.
+
+2006-01-11  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #15056 and use pscmap service in psaux module.
+
+	* include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
+	FT_UInt32 for `glyph_index'.
+	(PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
+	(PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
+	(PS_Unicodes_CharNextFunc): Make second argument a pointer to
+	FT_UInt32.
+
+	* src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
+	(ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
+	variant glyph (this is, it has non-leading `.' in its name).
+	(compare_uni_maps): Sort base glyphs before variant glyphs.
+	(ps_unicodes_init): Use FT_String for `glyph_names' argument.
+	Reallocate only if number of used entries is much smaller.
+	Updated to handle variant glyphs.
+	(ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
+	over variant glyphs.
+	Simplify code.
+
+	* src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
+	(t1_cmap_unicode_init, t1_cmap_unicode_char_index,
+	t1_cmap_unicode_char_next): Use pscmap service.
+	(t1_cmap_unicode_done): Updated.
+
+	* src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
+	(T1_CMapUnicode): Use PS_Unicodes structure.
+
+2006-01-11  suzuki toshiya  <[email protected]>
+
+	Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
+	Intel, as reported by Sean McBride <[email protected]> on
+	2005-08-24.
+
+	* src/base/ftmac.c: Heavy change to build without deprecated Carbon
+	functions on Tiger.
+
+	* builds/unix/configure.ac: Add options and autochecks for Carbon
+	functions availabilities, for MacOS X.
+
+	* builds/mac/ascii2mpw.py: Add converter for character `\305'.
+	* builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
+	macros to avoid unavailable functions.
+	ftmac.c must be compiled without `-strict ansi', because it disables
+	cpp macro to use ToolBox system call.
+
+	* builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
+	macros to avoid unavailable functions.
+
+	* builds/mac/README: Detailed notes on function availabilities.
+
+	* docs/CHANGES: Notes about (possible) incompatibilities.
+
+2006-01-08  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2006-01-08  Huw D M Davies  <[email protected]>
+
+	* include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
+	declaration.
+
+	* src/base/ftobjs.c (FT_Module_Get_Flags): New function.
+
+2006-01-07  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
+	`bitmaps'.  Reported by Yu Lei <[email protected]>.
+
+	* src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
+	Reported by Niels Boldt <[email protected]>.
+
+2005-12-28  suzuki toshiya  <[email protected]>
+
+	* src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
+	MPW compiler.
+
+2005-12-23  David Turner  <[email protected]>
+
+	* Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
+	refdoc' works correctly to generate the API reference in
+	`docs/reference'.
+
+	* src/tools/docmaker/tohtml.py (print_html_field,
+	print_html_field_list): Update to output nicer fields lists in the
+	API reference.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
+	forces auto-hinting.
+
+	* freetype/freetype.h: Updating the documentation for
+	FT_LOAD_TARGET_XXX and FT_Render_Mode values.
+
+2005-12-23  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
+	in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
+	unsupported formats (fbit, NFNT).  The number of available faces are
+	passed via face->num_faces.  If bitmap faces are embedded in sfnt
+	resource, face->num_fixed_size is correctly set.  In public API,
+	FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
+	FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
+
+	* doc/CHANGES: Mention the changes.
+
+2005-12-17  Chia-I Wu  <[email protected]>
+
+	* src/truetype/ttinterp.c (Update_Max): Set current size of buffer
+	correctly (so that memory debug system won't panic).
+
+2005-12-16  Chia-I Wu  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
+	src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
+
+	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
+
+	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+	(cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
+	src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
+
+	* doc/CHANGES: Mention the changes.
+
+2005-12-13  David Turner  <[email protected]>
+
+	Change the implementation of the LIGHT hinting mode to completely
+	disable horizontal hinting.  This is an experimental effort to
+	integrate David Chester's latest patch without affecting the other
+	hinting modes as well.
+
+	Note that this doesn't force auto-hinting for all fonts, however.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Don't set
+	scaler_flags here but...
+	(af_glyph_hints_rescale): Here.
+
+	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
+	hinting for `light' hinting mode.
+
+
+	* Jamfile: Small fix to ensure that ftexport.sym is placed into the
+	same location as other generated objects (i.e., within the `objs'
+	directory of the current directory).
+
+
+	Add support for an embedded `BDF ' table within SFNT-based bitmap
+	font files.  This is used to store atoms & properties from the
+	original BDF fonts that were used to generate the font file.
+
+	The feature is controlled by TT_CONFIG_OPTION_BDF within
+	`ftoption.h' and is used to implement FT_Get_BDF_Property for these
+	font files.
+
+	At the moment, this is still experimental, the BDF table format
+	isn't cast into stone yet.
+
+	* include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
+	macro.
+
+	* include/freetype/config/ftstdlib.h (ft_memchr): New macro.
+
+	* include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
+	[TT_CONFIG_OPTION_BDF]: New structure.
+	(TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
+
+	* include/freetype/tttags.h (TTAG_BDF): New macro.
+
+	* src/sfnt/Jamfile (_sources): Add ttbdf.
+
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
+
+	* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
+	FT_SERVICE_BDF_H.
+	(sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
+	(sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
+	(sfnt_services) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
+
+	* src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
+
+	* src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
+	(sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
+	tt_face_free_bdf_props.
+
+	* src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
+
+2005-12-07  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Move tag check to...
+	* src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
+
+2005-12-06  Chia-I Wu  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
+	initialized twice.
+	size->strike_index is not initialized.
+
+2005-12-02  Taek Kwan(TK) Lee  <[email protected]>
+
+	* src/type42/t42objs.c (T42_Face_Init): Replace call to
+	FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
+
+2005-11-30  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Document ftdump's `-v' option.
+	Document latest charmap code changes.
+
+	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
+	s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
+
+2005-11-30  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
+	tt_cmap12_char_map_binary): Fix compiler warnings.
+
+2005-11-29  Chia-I Wu  <[email protected]>
+
+	Major update to distinguish between unsorted and overlapping
+	segments for cmap format 4.  For overlapping but sorted segments,
+	which is previously considered unsorted, we still use binary search.
+
+	* src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
+	(TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
+
+	* src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
+	(TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
+	(tt_cmap4_reset): Removed.
+	(tt_cmap4_init): Updated accordingly.
+	(tt_cmap4_next): Updated accordingly.
+	Take care of overlapping segments.
+	(tt_cmap4_validate): Make sure the subtable is large enough.
+	Do not check glyph_ids because some fonts set the length wrongly.
+	Also, if all segments have offset 0, glyph_ids is always invalid.
+	It does not cause any problem so far only because the check misses
+	equality.
+	Distinguish between unsorted and overlapping segments.
+	(tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
+	to do `charcode => glyph index' by linear/binary search.
+	(tt_cmap4_char_index, tt_cmap4_char_next): Use
+	tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
+	(tt_face_build_cmaps): Treat the return value of validator as flags
+	for cmap.
+
+2005-11-29  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
+	New structures and functions for fast `next char'.
+	(tt_cmap12_char_map_binary): New function to do `charcode => glyph
+	index' by binary search.
+	(tt_cmap12_char_index, tt_cmap12_char_next): Use
+	tt_cmap12_char_map_binary.
+	(tt_face_build_cmaps): Check table and offset correctly (equality is
+	missing).
+
+2005-11-15  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/smakefile: Adjusted the compiler options
+	to the current sources, now really builds the gxvalid, gzip
+	and psnames modules.
+
+	* builds/amiga/src/base/ftsystem.c: The assumed Seek() position
+	in the file cache was off by one byte which could cause false
+	errors in font files.
+
+2005-11-24  suzuki toshiya  <[email protected]>
+
+	* builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt:
+	Updated for MPW to build all available modules.
+
+2005-11-21  Håvard Wall  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
+	memory leak.
+
+2005-11-21  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (sfnt_init): Add tracing message.
+
+2005-11-21  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
+	added twice to image_start if image_format was 2 or 5.
+
+2005-11-21  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
+	before loading the table directory.
+
+	* src/sfnt/ttload.c (tt_face_load_sfnt_header,
+	tt_face_load_directory): Delay sfnt_dir_check from
+	tt_face_load_sfnt_header to tt_face_load_directory.
+
+2005-11-20  Chia-I Wu  <[email protected]>
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
+	error code.
+	(sfnt_init): New function to fill in face->ttc_header.  A non-TTC font
+	is synthesized into a TTC font with one offset table.
+	(tt_face_load_sfnt_header): Use sfnt_init.
+	Fix an invalid access if the font is TTC and face_index is -1.
+
+2005-11-18  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
+	of metrics instead of aborting.  Patch suggested by Derek Noonburg.
+
+	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
+	the glyph properly if no hinter is available.
+
+	* docs/CHANGES: Mention scaling bug.
+
+2005-11-18  suzuki toshiya  <[email protected]>
+
+	* include/freetype/ftgxval.h, src/base/ftgxval.c
+	(FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
+	buffers allocated by gxvalid module.
+	* include/freetype/ftotval.h, src/base/ftotval.c
+	(FT_OpenType_Free): New function to free buffer allocated by
+	otvalid module.
+
+2005-11-18  Chia-I Wu  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
+	FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
+	FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
+	s/FT_EXPORT/FT_BASE/.
+
+2005-11-17  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
+	FT_Trace_Get_Name, FT_Message, FT_Panic),
+	builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
+	FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
+
+2005-11-17  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile,
+	builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
+	build files (added support for the gxvalid module).
+
+2005-11-17  Werner Lemberg  <[email protected]>
+
+	Add vertical metrics support to OpenType CFF outlines.  Based on a
+	patch from Mike Moening <[email protected]>.
+
+	* src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
+	(cff_slot_load): Use cff_face_get_vertical_metrics.
+
+	* docs/CHANGES: Updated.
+
+2005-11-17  Chia-I Wu  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MulTo64): Commented out.
+
+	* include/freetype/internal/ftcalc.h (FT_SqrtFixed),
+	src/base/ftcalc.c (FT_SqrtFixed),
+	include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
+	FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
+	(FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
+	include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
+	include/freetype/internal/ftstream.h (FT_Stream_Open),
+	src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
+	s/FT_EXPORT/FT_BASE/.
+
+	* builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
+	too.
+
+2005-11-15  David Turner  <[email protected]>
+
+	* src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
+	invalid computations, resulting in very weird bugs in TrueType
+	bytecode hinted fonts.
+
+	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
+	structure copy each time.
+
+2005-11-11  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
+	(FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
+
+	* src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
+	(FT_Div64by32, FT_Sqrt32): Commented out.  Unused.
+
+	* include/freetype/internal/ftcalc.h (SQRT_32): Removed.  Unused.
+	(FT_Sqrt32): Commented out.  Unused.
+
+	* include/freetype/cache/ftccache.h:
+	s/ftc_node_destroy/FTC_Node_Destroy/.
+
+	* src/cache/ftccback.h (ftc_node_destroy): New declaration.
+
+	* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
+	(FTC_Node_Destroy): New exported wrapper function for
+	ftc_node_destroy.
+
+	* src/cache/ftcmanag.c: Include ftccback.c.
+
+2005-11-10  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
+	Comment out.  Unused.
+
+	* builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
+
+2005-11-10  Christian Biesinger  <[email protected]>
+
+	* builds/beos/beos.mk: Call beos-def.mk before anything else to
+	define the separator.
+
+	* builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
+
+2005-11-07  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
+	table available'.  From Sergey Tolstov <[email protected]>.
+
+2005-11-03  Ville Syrjälä  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
+
+2005-11-02  Werner Lemberg  <[email protected]>
+
+	Make compiling instructions in docs/CUSTOMIZE work again.
+
+	* builds/unix/unix-cc.in (CPPFLAGS): New variable.
+	(CFLAGS): Don't include @CPPFLAGS@.
+	* builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
+
+2005-10-28  David Turner  <[email protected]>
+
+	Update build system to support the generation of a list of exported
+	symbols or Windows .DEF files by parsing the public headers with the
+	`apinames' tool located in src/tools/apinames.c.
+
+	Only tested on Unix at the moment.  On Windows, the .DEF file is
+	generated but isn't used yet to generate a DLL.
+
+	* builds/exports.mk: New file.
+
+	* builds/freetype.mk: Include exports.mk.
+	(dll): New target.
+	(clean_project_dos): Fix rule.
+
+	* builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
+	builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
+	variables for controlling executable extensions.
+
+	* builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
+	builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
+	builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
+	builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
+	builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
+	APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
+
+	* Jamfile (GenExportSymbols): Updated.
+
+
+	* src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
+	[!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
+	FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
+
+
+	* src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
+	(FT_MulFix): Performance optimizations.
+
+
+	* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
+	FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
+	checking points and contours.  Update callers to use
+	FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
+	at profile-detected hot-spots.
+
+	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
+	to 0 to not call `AdjustPoints' every time.
+
+
+	* src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
+	FT_Angle_Diff.
+
+	* src/autofit/afhints.c (af_direction_compute): Re-implement.
+	(af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
+	AF_ANGLE_DIFF to speed up the detection of inflexions.
+
+
+	* src/tools/apinames.c: Include <string.h>.
+	(OutputFormat): New enumeration.
+	(names_dump): Add two parameters to control output format and DLL
+	name.
+	(names_dump_windef): Removed.  Code folded into `names_dump'.
+	(read_header_file): Use isalnum, not isalpha.  Otherwise function
+	names with digits aren't read correctly.
+	(usage): Updated.
+	(main): New option `-o' to control output file name.
+	New option `-d' to indicate DLL file name.
+	Extend `-w' flag to handle Borland and Watcom compilers and linkers.
+
+2005-10-28  suzuki toshiya  <[email protected]>
+
+	* builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
+	ftlib.prj is unmaintained and incompatible with current tree.
+	freetype.mak is unrecoverably broken.
+
+	* builds/mac/ftlib.prj.xml: Added.
+	Generated by Metrowerks CodeWarrior 9.0.
+
+	* builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt: Added.
+	Skeleton files of MPW makefiles.
+
+	* builds/mac/ascii2mpw.py: Added.
+	Python script to make MPW makefile from skeleton.
+
+	* builds/mac/README: Updated.
+	Almost rewritten to use new files.
+
+2005-10-28  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Fix invalid casts from NULL to integer typed
+	variables.  Advised by David Turner, Masatake YAMATO, Sean McBride,
+	and George Williams.
+
+2005-10-27  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
+	Obsolete.
+
+2005-10-25  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Move out
+	`tt_face_get_kerning' from a #ifdef clause.  Reported by Tony J.
+	Ibbs <[email protected]>.
+
+2005-10-23  Werner Lemberg  <[email protected]>
+
+	* src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
+	C++.
+
+2005-10-21  David Turner  <[email protected]>
+
+	* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
+	Another realloc memory counting bug fix.
+
+	* src/tools/Jamfile: Add missing file.
+
+	* src/lzw/Jamfile: Fix incorrect source file reference.
+
+2005-10-20  David Turner  <[email protected]>
+
+	* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
+	ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
+	to better account for memory reallocations.
+
+	* src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
+	src/lzw/rules.mk: First version of LZW loader re-implementation.
+	Apparently, this saves about 330 KB of heap memory when loading
+	timR24.pcf.Z.
+
+2005-10-20  Chia-I Wu  <[email protected]>
+
+	* include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
+	src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
+	(FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
+	FT_EXPORT/FT_EXPORT_DEF tagging.
+
+2005-10-19  Chia-I Wu  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
+	be invalid when FT_LOAD_NO_SCALE is set.
+
+2005-10-17  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
+	FT_New_Size if we are opening a face with face_index < 0 (which is
+	only used for testing the format).
+
+	* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
+	Remove compiler warning.
+
+2005-10-16  David Turner  <[email protected]>
+
+	* src/tools/apinames.c: Add new tool to extract public API function
+	names from header files.
+
+2005-10-05  Werner Lemberg  <[email protected]>
+
+	Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
+	a hinting engine of its own.
+
+	* include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
+
+	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+	(cid_face_init), src/truetype/ttobjs.c (tt_face_init)
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
+	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
+
+	* docs/CHANGES: Document it.
+
+2005-09-27  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype2.m4: Add license exception so that the file
+	can be used in any other autoconf script.
+
+2005-09-26  David Turner  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
+	computation of the `vertical' flag, causing ugly things in LCD mode
+	and others.
+
+2005-09-23  David Turner  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
+	prevented internal hint mode bitflags from being computed correctly.
+
+	* src/base/Jamfile: Adding src/base/ftgxval.c.
+
+	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
+	src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
+	src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
+	src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
+	src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
+	src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
+	src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
+	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
+	src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
+	src/truetype/ttgload.c: Remove _many_ compiler warnings when
+	compiling with Visual C++ at maximum level (/W4).
+
+	* src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
+	implementation with one using lookup tables.  This simple thing
+	speeds up glyph loading by 18%, according to ftbench!
+
+	* src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
+	`get_sfnt' and `load_sfnt' module interfaces.
+
+2005-09-22  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Mention SING Glyphlet support.
+
+2005-09-22  David Turner  <[email protected]>
+
+	* src/base/Jamfile: Disable compilation of ftgxval module
+	temporarily.
+
+2005-09-19  David Somers  <[email protected]>
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
+	font to have no `head' table if tables `SING' and `META' are
+	present; this is to support `SING Glyphlet'.
+
+	`SING Glyphlet' is an extension to OpenType developed by Adobe
+	primarily to facilitate adding supplemental glyphs to an OpenType
+	font (with emphasis on, but not necessarily limited to, gaiji to a
+	CJK font).  A SING Glyphlet Font is an OpenType font that contains
+	the outline(s), either in a `glyf' or `CFF' table, for a glyph;
+	`cmap', `BASE', and `GSUB' tables are present with the same format
+	and functionality as a regular OpenType font; there are no `name',
+	`head', `OS/2', and `post' tables; there are two new tables, `SING'
+	which contains details about the glyphlet, and `META' which contains
+	metadata.
+
+	Further information on the SING Glyphlet format can be found at:
+
+	  https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5148.SING_Tutorial.pdf
+
+	* include/freetype/tttags.h (TTAG_SING, TTAG_META): New macros for
+	the OpenType tables `SING' and `META'.  These two tables are used in
+	SING Glyphlet Format fonts.
+
+2005-09-09  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
+	FT_FACE_FLAG_KERNING which has been commented out erroneously.
+
+	* docs/CHANGES: Document it.
+
+2005-09-05  Werner Lemberg  <[email protected]>
+
+	Fixes for `make multi' and using C++ compiler.
+
+	* src/gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
+	gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
+	gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
+	(gxv_compare_ranges): Make it static.
+	(gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
+	gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
+	gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
+	trace messages.
+	(gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
+	(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
+	GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
+	gxvcommn.h.
+
+	* src/gxvalid/gxvcommn.h: Add prototypes for
+	gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
+	gxv_XStateTable_validate, gxv_array_getlimits_byte,
+	gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
+	gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
+	gxv_odtect_validate.
+	(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
+	GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
+	gxvcommn.c.
+
+	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
+	gxv_bsln_parts_fmt1_validate): Improve trace messages.
+
+	* src/gxvalid/gxvfeat.c: Split off predefined registry stuff to...
+	* src/gxvalid/gxvfeat.h: New file.
+
+	* src/gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
+	message.
+
+	* src/gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
+	(gxv_kern_subtable_fmt1_valueTable_load,
+	gxv_kern_subtable_fmt1_subtable_setup,
+	gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
+	(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKNOWN.
+	Improve trace message.
+	(gxv_kern_validate_generic): Fix C++ compiler error.
+	Improve trace message.
+	(gxv_kern_validate_classic): Fix C++ compiler error.
+
+	* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmort1.c
+	(gxv_mort_subtable_type1_substitutionTable_load,
+	gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
+	(gxv_mort_subtable_type1_substTable_validate): Improve trace
+	message.
+	(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
+	gxv_mort_subtable_type2_subtable_setup,
+	gxv_mort_subtable_type2_ligActionOffset_validate,
+	gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
+	errors.
+	(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
+	gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
+	errors.
+	(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmort.c: Include gxvfeat.h.
+	(gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
+	Declare with FT_LOCAL_DEF.
+	(gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
+	messages.
+
+	* src/gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
+
+	* src/gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmorx1.c
+	(gxv_morx_subtable_type1_substitutionTable_load,
+	gxv_morx_subtable_type1_subtable_setup,
+	gxv_morx_subtable_type1_entry_validate,
+	gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
+	compiler errors.
+	(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
+	gxv_morx_subtable_type2_subtable_setup,
+	gxv_morx_subtable_type2_ligActionIndex_validate,
+	gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
+	errors.
+	(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
+	Fix typo.
+
+	* src/gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
+	gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
+	(gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
+
+	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
+	gxv_morx_validate): Improve trace message.
+
+	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
+	warnings.
+	(gxv_opbd_validate): Improve trace message.
+
+	* src/gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
+	appropriate.
+	(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
+	message.
+
+	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
+	parameter.  Update all callers.
+	(gxv_trak_validate): Improve trace message.
+
+	* rules.mk (GXV_DRV_H): Add gxvfeat.h.
+
+2005-09-01  Werner Lemberg  <[email protected]>
+
+	* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
+
+	* src/gxvalid/gxvmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
+	src/gxvalid/gxvmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
+	typo.
+
+	* src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
+	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
+	src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
+	messages.
+	Decorate constants with `U' and `L' where appropriate.
+	Fix compiler warnings.
+
+2005-08-31  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
+
+	* src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
+
+	* src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
+
+	* src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
+	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
+	src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
+	src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
+	src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
+	messages.
+	Decorate constants with `U' and `L' where appropriate.
+	Fix compiler warnings.
+
+2005-08-30  Werner Lemberg  <[email protected]>
+
+	* src/gxvalid/README: Revised.
+	* src/gxvalid/gxvbsln.c: Fix compiler warnings.
+	* src/gxvalid/gxvcommn.c: Fix compiler warnings.
+	(gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
+	parameter.  Update all callers.
+	Improve trace messages.
+	Some formatting.
+
+2005-08-29  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
+	a preliminary section with some explanations about user allocation.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
+	Don't abort if there are no data types, functions, etc., in a
+	section.
+	Print synopsis only if we have a data type, function, etc.
+
+	* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
+	docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
+	docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
+
+2005-08-28  George Williams  <[email protected]>
+
+	* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
+	(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
+
+2005-08-25  J. Ali Harlow  <[email protected]>
+
+	* builds/unix/freetype2.in (CFlags): Add missing directory.
+
+2005-08-24  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Mention gxvalid module.
+
+2005-08-23  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
+	render mode properly.  Reported by [email protected].
+
+2005-08-23  suzuki toshiya  <[email protected]>
+
+	Add gxvalid module to validate TrueType GX/AAT tables.
+
+	Modifications on existing files:
+
+	* Jamfile: Register gxvalid module.
+	* src/base/Jamfile: Register ftgxval.c.
+	* src/base/rule.mk: Register ftgxval.c.
+	* docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
+
+	* include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
+	to include gxvalid header file.
+	* include/freetype/config/ftmodule.h: Register gxv_module_class.
+
+	* include/freetype/ftchapters.h: Add comment about gx_validation.
+	* include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
+	to FT_VALIDATE_OTXXX to co-exist with gxvalid.
+	* include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
+	macro for gxvalid service.
+	* include/freetype/internal/fttrace.h: Add trace facilities for
+	gxvalid.
+
+	New files on existing directories:
+
+	* include/freetype/internal/services/svgxval.h: Registration of
+	validation service for TrueType GX/AAT and classic kern table.
+	* include/freetype/ftgxval.h: Public API definition to use gxvalid.
+	* src/base/ftgxval.c: Public API of gxvalid.
+
+	New files under src/gxvalid/:
+
+	* src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
+	src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
+	src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
+	src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
+	src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
+	src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
+	src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
+	src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
+	src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
+	src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
+	src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
+	src/gxvalid/gxvtrak.c: New files, gxvalid body.
+
+2005-08-21  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
+	to (0,0) if bit 1 of the `head' table isn't set.  This improves
+	rendering of buggy fonts.
+
+2005-08-20  Chia I Wu  <[email protected]>
+
+	* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
+	ttmetrics here.  TrueType fonts with only sbits always have
+	ttmetrics.valid set to false.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
+	valid before loading outline glyph.
+
+	* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
+
+2005-08-20  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
+	`hhea' table for SFNT Mac fonts.  Change based on a patch by
+	[email protected].
+
+2005-08-20  Masatake YAMATO  <[email protected]>
+
+	* src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
+	of ft_setjmp.
+
+2005-08-19  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
+	warnings.
+
+2005-08-16  Chia I Wu  <[email protected]>
+
+	* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
+	messages.
+
+2005-08-16  Chia I Wu  <[email protected]>
+
+	* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
+	TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
+	with slight changes.
+	Update all callers.
+	(TT_New_Context): Now takes TT_Driver argument directly.
+	Update all callers.
+
+	* src/truetype/ttobjs.h (tt_slot_init): New function.
+	* src/truetype/ttobjs.c (tt_driver_init): Initialize execution
+	context here.
+	(tt_slot_init): New function to create extra points for the internal
+	glyph loader.  We then use it directly, instead of face's glyph
+	loader, when loading glyph.
+
+	* src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
+	glyph slot initialization.
+	(Load_Glyph): Load flag dependencies are handled here.  Return error
+	if size is NULL.
+
+	* src/truetype/ttgload.c: Heavy cleanup and refactoring.
+	(org_to_cur): Removed.
+	(TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
+	(TT_Hint_Glyph): New function to hint a zone, prepared by caller.
+	(TT_Process_Simple_Glyph): s/load/loader/.
+	Use loader->pp values instead of recalculation.
+	Use TT_Hint_Glyph.
+	No need to save/restore loader->stream before and after
+	TT_Vary_Get_Glyph_Deltas now.
+	(TT_LOADER_SET_PP): New macro to calculate and set the four phantom
+	points.
+	(load_truetype_glyph): Never set exec->glyphSize to 0.  This closes
+	Savannah bug #13107.
+	Forget glyph frame before calling TT_Process_Simple_Glyph.
+	Use TT_LOADER_SET_PP.
+	Scale all four phantom points.
+	Split off some functionality to ...
+	(TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
+	new functions.
+	(TT_Load_Glyph): Set various fields of `glyph' here, not in
+	load_truetype_glyph and compute_glyph_metrics.
+	Split off some functionality to ...
+	(load_sbit_image, tt_loader_init): These new functions.
+	(compute_glyph_metrics): Call FT_Outline_Get_CBox.
+
+2005-08-08  Werner Lemberg  <[email protected]>
+
+	* docs/INSTALL.ANY: Updated.
+
+2005-08-05  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_builder_close_contour),
+	src/psaux/psobjs.c (t1_builder_close_contour): Protect against
+	zero `outline' pointer.
+
+	* src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
+	`loader' address.
+
+2005-08-03  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
+	Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
+	to make X work again.
+
+2005-08-02  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/otvcommn.h: Remove dead code.
+
+2005-07-31  Chia I Wu  <[email protected]>
+
+	* src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
+	functions.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
+	functions.
+	(tt_size_init): Add 4, instead of 2, (phantom) points to twilight
+	zone.
+	Move code that runs fpgm to tt_size_run_fpgm.
+	(Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
+	(tt_glyphzone_new): Allocate right size of arrays.
+	Set max_points and max_contours properly.
+
+2005-07-26  Chia I Wu  <[email protected]>
+
+	* src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
+	computations and clean up.
+
+	* src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
+	internal copy of metrics.
+
+2005-07-12  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
+	Reported by Xerxes.
+
+2005-07-04  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
+	Reported by Brett Hutley.
+
+2005-06-30  David Turner  <[email protected]>
+
+	* src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
+	Removing compiler warnings (Visual C++ /W4).
+
+
+	Implement a work-around for broken C preprocessor in Visual C++ (it
+	has been confirmed by the MS developers that it is indeed a bug
+	which won't be fixed in the very near future).
+
+	* Jamfile (FT2_COMPONENTS): Include otvalid (again).
+
+	* src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
+	(OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
+	avoid argument expansion by argument prescan.
+	Append `Func' to all affected macros and change them to take just a
+	single argument.  Example: `AttachList' is renamed to
+	`AttachListFunc'.
+
+	* src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
+	src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
+	affected by the changes to OTV_NESTx and modify them to take just a
+	single argument.
+
+2005-06-20  Chia I Wu  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
+	ft_glyphslot_grid_fit_metrics.
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Use
+	ft_glyphslot_grid_fit_metrics.
+
+	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
+	ft_glyphslot_grid_fit_metrics.
+	FT_Outline_Get_CBox is called twice.
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
+	reasonable values when emboldening outline glyphs.  The theoretic
+	ones are unrealistic.
+
+2005-06-16  Chia I Wu  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
+	halved.
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
+	strength.
+	Don't increase slot->advance.y.
+
+2005-06-16  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.ac (version_info): Set to 9:9:3.
+	Currently, we are still binary compatible.
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
+
+	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+	s/2.1.9/2.1.10/.
+
+	* docs/CHANGES, docs/VERSION.DLL: Updated.
+
+	* ChangeLog: Split off older entries into...
+	* ChangeLog.20, ChangeLog.21: These new files.
+
+2005-06-15  Kirill Smelkov  <[email protected]>
+
+	The next release will be 2.2.0, so don't worry about source code
+	backward compatibility.
+
+	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
+	FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
+	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+	FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
+	parameters with `const' where appropriate.
+
+2005-06-15  Chia I Wu  <[email protected]>
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
+	to make glyphs centered vertically.
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Compute
+	vertBearingY to make glyphs centered vertically.
+	Fix some bugs in vertical metrics:
+
+	  . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
+	    units.
+	  . As we use the glyph's cbox to calculate the top bearing now
+	    there is no need to adjust `top'.
+
+2005-06-15  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
+	in sync with OTV_OPTIONAL_OFFSET.  Reported by YAMATO Masatake.
+
+2005-06-13  Werner Lemberg  <[email protected]>
+
+	* docs/release: Update.
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2005-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.23
@@ -1,0 +1,7948 @@
+2010-02-13  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.12 released.
+	==========================
+
+
+	Tag sources with `VER-2-3-12'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.3.12.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
+
+	* builds/unix/configure.raw (version_info): Set to 10:0:4.
+
+2010-02-12  suzuki toshiya  <[email protected]>
+
+	Improve autotool version checking to work with beta releases.
+
+	* autogen.sh (check_tool_version): Improve the extraction of version
+	number from "tool --version" output.  Some beta releases of
+	autotools have extra strings before version number.
+
+2010-02-12  suzuki toshiya  <[email protected]>
+
+	Fix overallocating bug in FT_Outline_New_Internal().
+
+	* src/base/ftoutln.c (FT_Outline_New_Internal): The length of
+	FT_Outline->points[] should be numPoints, not 2 * numPoints.
+	Found by Paul Messmer, see
+	https://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
+
+2010-02-10  Ken Sharp  <[email protected]>
+
+	Really fix Savannah bug #28678 (part 2).
+
+	Since we consider `sbw' for the horizontal direction only, we still have
+	to synthesize vertical metrics if the user wants to use the vertical
+	writing direction.
+
+	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph):
+	Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is
+	set.
+
+2010-02-10  Ken Sharp  <[email protected]>
+
+	Really fix Savannah bug #28678 (part 1).
+
+	After long discussion, we now consider the character width vector
+	(wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
+	direction only.  For example, if you are using the horizontal
+	writing direction, you get the horizontal and vertical components of
+	the advance width for this direction.  Note that OpenType and CFF fonts
+	don't have such a vertical component; instead, the GPOS table can be
+	used to generate two-dimensional advance widths (but this isn't
+	handled by FreeType).
+
+	* include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
+	`advance_v' field to hold the vertical component of the advance
+	value.
+
+	* src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
+	(cff_slot_load), src/type1/t1gload.c
+	(T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
+	(cid_load_glyph): Use it.
+
+2010-02-08  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define.
+
+2010-02-04  suzuki toshiya  <[email protected]>
+
+	Prevent NULL pointer dereference passed to FT_Module_Requester.
+
+	* src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'.
+	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
+
+	* src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'.
+	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
+
+2010-01-29  suzuki toshiya  <[email protected]>
+
+	Fix memory leaks in previous patch.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings
+	allocated for face->root.family_name and style_name.
+
+2010-01-29  suzuki toshiya  <[email protected]>
+
+	New parameters for FT_Open_Face() to ignore preferred family names.
+
+	Preferred family names should be used for legacy systems that
+	can hold only a few faces (<= 4) for a family name. Suggested by
+	Andreas Heinrich.
+	https://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
+
+	* include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
+	FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and
+	ignore preferred family and subfamily names if requested.
+
+2010-01-27  Ken Sharp  <[email protected]>
+
+	Fix Savannah bug #28678.
+
+	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+	(cid_load_glyph): Handle vertical metrics correctly.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle
+	vertical metrics correctly.
+	(T1_Load_Glyph): Don't synthesize vertical metrics.
+
+2010-01-14  Werner Lemberg  <[email protected]>
+
+	Make FT_Set_Transform work if no renderer is available.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation
+	if no renderer is compiled into the library.
+
+2010-01-14  Werner Lemberg  <[email protected]>
+
+	Fix compilation warning.
+
+	* src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
+	* src/base/ftobjs.c: Include ftbase.h conditionally.
+
+2010-01-11  Kwang Yul Seo  <[email protected]>
+
+	Provide inline assembly code for RVCT compiler.
+	This is Savannah patch #7059.
+
+	* include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER,
+	FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define.
+
+2010-01-08  Ken Sharp  <[email protected]>
+
+	Fix Savannah bug #28521.
+
+	Issue #28226 involved a work-around for a font which used the
+	`setcurrentpoint' operator in an invalid way; this operator is only
+	supposed to be used with the result of OtherSubrs, and the font used
+	it directly.  The supplied patch removed the block of code which
+	checked this usage entirely.
+
+	This turns out to be a Bad Thing.  If `setcurrentpoint' is being
+	used correctly it should reset the flex flag in the decoder.  If we
+	don't do this then the flag never gets reset and we omit any further
+	contours from the glyph (at least until we close the path or
+	similar).
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_setcurrentpoint>: Handle `flex_state' correctly.
+
+2010-01-05  Werner Lemberg  <[email protected]>
+
+	Apply reports from clang static analyzer.
+
+	* src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
+	(FT_Stroker_ParseOutline), src/base/ftsynth.c
+	(FT_GlyphSlot_Embolden): Remove dead code.
+
+	* src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
+	`offset_i' and `length_i'.
+
+2010-01-05  Ralph Giles  <[email protected]>
+
+	Enable the incremental font interface by default.
+
+	Ghostscript requires the incremental font interface for handling
+	some Postscript documents.  It is moving to using FreeType as its
+	primary renderer; supporting this in the default build makes it
+	Ghostscript to be linked against the system FreeType when one is
+	available.
+
+	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
+	Uncomment.
+
+2010-01-05  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #28395.
+
+	* src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
+	(T1_Load_Glyph): Don't check `num_glyphs' if incremental interface
+	is used.
+
+2010-01-05  Ken Sharp  <[email protected]>
+
+	Make Type 1 `seac' operator work with incremental interface.
+	This fixes Savannah bug #28480.
+
+	* src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names'
+	if incremental interface is used.
+
+2010-01-04  Ken Sharp  <[email protected]>
+
+	Make incremental interface work with TrueType fonts.
+	This fixes Savannah bug #28478.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Don't check
+	`glyf_offset' if incremental interface is used.
+
+2009-12-31  Lars Abrahamsson  <[email protected]>
+
+	Make compilation with FT_CONFIG_OPTION_PIC work again.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]:
+	Declare `library' for FT_BITMAP_GLYPH_CLASS_GET.
+
+	* src/base/ftinit.c (ft_destroy_default_module_classes,
+	ft_create_default_module_classes): Use proper casts (needed for C++
+	compilation).
+
+	* src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP.
+
+2009-12-22  Marc Kleine-Budde  <[email protected]>
+
+	Make freetype-config aware of $SYSROOT.
+	This is Savannah patch #7040.
+
+	* builds/unix/freetype-config.in: Decorate with ${SYSROOT} where
+	appropriate.
+
+2009-12-20  Werner Lemberg  <[email protected]>
+
+	Fix compiler warning.
+	Reported by Sean.
+
+	* src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty
+	source files; however, some compilers warn about an unused variable
+	declaration.  This is now replaced with a typedef.
+
+2009-12-18  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #28320.
+
+	There exist corrupt, subsetted fonts (embedded in PDF files) which
+	contain a private dict that ends with an unterminated floating point
+	number (no operator following).  We now ignore this error (as
+	acrobat does).
+
+	* src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
+	unterminated floating point numbers.
+
+2009-12-16  Werner Lemberg  <[email protected]>
+
+	Really fix compiler warnings.
+	Reported by Sean.
+
+	* src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS,
+	GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros.
+
+2009-12-16  suzuki toshiya  <[email protected]>
+
+	Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
+	The linker of Mac OS X 10.6 is sensitive to the architecture.  If
+	the architectures are specified explicitly for the C compiler, the
+	linker requires the architecture specifications too.
+
+	* builds/unix/configure.raw: Replace `-isysroot' option parser by
+	more generic argument parser.
+
+2009-12-15  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+	Reported by Sean.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data
+	type.
+
+2009-12-14  Ken Sharp  <[email protected]>
+
+	Ignore invalid `setcurrentpoint' operations in Type 1 fonts.
+	This fixes Savannah bug #28226.
+
+	At least two wild PostScript files of unknown provenance contain
+	Type 1 fonts, apparently converted from TrueType fonts in earlier
+	PDF versions of the files, which use the `setcurrentpoint' operator
+	inappropriately.
+
+	FreeType currently throws an error in this case, but Ghostscript and
+	Adobe Distiller both accept the fonts and ignore the problem.  This
+	commit #ifdefs out the check so PostScript interpreters using
+	FreeType can render these files.
+
+	The specification says `setcurrentpoint' should only be used to set
+	the point after a `Subr' call, but these fonts use it to set the
+	initial point to (0,0).  Unnecessarily so, as they correctly use an
+	`hsbw' operation which implicitly sets the initial point.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_setcurrentpoint>: Comment out code.
+
+2009-12-14  Bram Tassyns  <[email protected]>
+
+	Fix parsing of /CIDFontVersion.
+	This fixes Savannah bug #28287.
+
+	* src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in
+	t1tables.h) is of type FT_Fixed.
+
+2009-12-14  Werner Lemberg  <[email protected]>
+
+	Trace glyph index in CID module.
+	Suggested in Savannah patch #7023.
+
+	* src/cid/cidgload.c (cid_load_glyph): Add tracing message.
+
+2009-12-03  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+
+	* src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
+	proper preprocessor conditional.
+	* src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
+
+2009-11-25  John Tytgat  <[email protected]>
+
+	Better handling of start of `eexec' section.
+	This fixes Savannah bug #28090.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace
+	characters before start of `eexec' section.
+
+2009-11-20  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #27742.
+
+	* src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by
+	zero, using a threshold for `theta'.
+
+2009-11-20  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #28036.
+
+	* src/type1/t1afm.c (t1_get_index): Fix comparison.
+
+2009-11-16  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+	Reported by Kevin Blenkinsopp <[email protected]>.
+
+	* src/sfnt/ttload.c (check_table_dir): Use proper data type.
+
+2009-11-15  Werner Lemberg  <[email protected]>
+
+	Really fix FreeDesktop bug #21197.
+	This also fixes Savannah bug #28021.
+
+	* src/autofit/aflatin.c (af_latin_metrics_check_digits),
+	src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop.
+
+2009-11-15  Werner Lemberg  <[email protected]>
+
+	Add tracing messages for advance values.
+
+	* src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
+	(TT_Get_HMetrics, TT_Get_VMetrics): Do it.
+
+2009-11-08  Werner Lemberg  <[email protected]>
+
+	Fix compiler warning.
+	Reported by Jeremy Manson <[email protected]>.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
+
+2009-11-04  Werner Lemberg  <[email protected]>
+
+	Remove compiler warning.
+	Reported by Sean McBride <[email protected]>.
+
+	* src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to
+	`int', as specified in the printf(3) man page.
+
+2009-11-04  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #27921.
+
+	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+	(cid_face_init), src/type1/t1afm.c (T1_Read_Metrics),
+	src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant
+	values for rounding if the argument can be negative.
+
+2009-11-03  Bram Tassyns  <[email protected]>
+
+	Add basic support for Type1 charstrings in CFF.
+	This fixes Savannah bug #27922.
+
+	* src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle
+	`seac', `sbw', and `setcurrentpoint' opcodes.
+	(cff_compute_bias): Add parameter to indicate the charstring type.
+	Update all callers.
+	(cff_operator_seac): Add parameter for side bearing.
+	(cff_decoder_parse_charstrings): Updated for more Type1 support.
+
+2009-11-03  Werner Lemberg  <[email protected]>
+
+	Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
+	Reported by Jeremy Manson <[email protected]>.
+
+	src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
+	quickly load the glyph header only.
+	Update all callers.
+	(tt_loader_init): Add parameter to quickly load the `glyf' table
+	only.
+	Update all callers.
+	(TT_Load_Glyph): Compute linear advance values for embedded bitmap
+	glyphs too.
+
+2009-11-03  Werner Lemberg  <[email protected]>
+
+	Improve code readability.
+
+	* src/ttgload.c (load_truetype_glyph): Move metrics calculation
+	to...
+	(tt_get_metrics): This new function.
+
+2009-10-26  Bram Tassyns  <[email protected]>
+
+	Fix Savannah bug #27811.
+
+	* src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix
+	signed/unsigned mismatch.
+
+2009-10-19  Ning Dong  <[email protected]>
+
+	Fix handling of `get' and `put' CFF instructions.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get,
+	cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of
+	elements for the `get' and `put' operators to 32.
+	* src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define.
+	(CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'.
+
+2009-10-18  Werner Lemberg  <[email protected]>
+
+	Fix handling of `dup' CFF instruction.
+	Problem and solution reported by Ning Dong <[email protected]>.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>:
+	Increase `args' by 2, not 1.
+
+2009-10-10  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.11 released.
+	==========================
+
+
+	Tag sources with `VER-2-3-11'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.3.11.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
+
+	* builds/unix/configure.raw (version_info): Set to 9:22:3.
+
+2009-10-10  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES, docs/release: Updated.
+
+2009-10-10  suzuki toshiya  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
+	truncation.  Reported by Martin von Gagern and Peter Volkov.
+	https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
+
+2009-10-06  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.10 released.
+	==========================
+
+
+	Tag sources with `VER-2-3-10'.
+
+	* builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
+	than a single digit.
+	(dist): We now use git.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.3.10.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+	* builds/unix/configure.raw (version_info): Set to 9:21:3.
+
+2009-10-06  Werner Lemberg  <[email protected]>
+
+	Fix `make multi'.
+
+	* src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
+
+	* src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
+
+2009-09-27  suzuki toshiya  <[email protected]>
+
+	[cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
+	Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed.
+	Now these functions should be called with FTC_Node or FTC_MruNode
+	variable, and the caller should cast them to appropriate pointers to
+	concrete data.  These tricky casts can GCC-4.4 optimizer (-O2)
+	confused and the crashing binaries are generated.
+
+	* src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast.
+	Now the 4th argument `node' of this function should be typed as
+	FTC_MruNode.
+
+	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
+	implementation, new temporal variable FTC_MruNode `_mrunode' to take
+	the pointer from FTC_MRULIST_LOOKUP_CMP().  For non-inline
+	implementation, tricky cast is dropped.
+
+	* src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
+	to FTC_SizeNode.
+	(FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
+	`mrunode', and FTC_SIZE_NODE() is inserted.
+	(FTC_FACE_NODE): New macro casting to FTC_FaceNode.
+	(FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
+	`mrunode', and FTC_FACE_NODE() is inserted.
+
+	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
+	`node' from FTC_INode to FTC_Node.  Extra casting macro FTC_NODE()
+	is dropped.
+	(FTC_ImageCache_LookupScaler): Ditto.
+	(FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
+	FTC_Node.  Extra casting macro FTC_NODE() is dropped.  FTC_SNODE()
+	is inserted.
+	(FTC_SBitCache_LookupScaler): Ditto.
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
+	`node' from FTC_CMapNode to FTC_Node.  Extra casting macro
+	FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
+
+2009-09-25  suzuki toshiya  <[email protected]>
+
+	[cache, psaux, type1] Fix for multi build.
+	In multi build, some cpp functions are left as unresolved symbols.
+
+	* src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
+
+	* src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
+	FIXED_TO_INT().
+	* src/type1/t1gload.c: Ditto.
+	* src/type1/t1objs.c: Ditto.
+
+2009-09-25  suzuki toshiya  <[email protected]>
+
+	[autofit] Fix for multi build.
+
+	* src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
+	FT_DECLARE_MODULE() macro in multi build.
+
+	* src/autofit/aflatin.c: Include <ft2build.h> to handle
+	FT_ADVANCES_H correctly in multi build.
+
+2009-09-24  suzuki toshiya  <[email protected]>
+
+	[cache] Check the face filled by FTC_Manager_LookupFace().
+
+	* src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
+	immediately if FTC_Manager_LookupFace() fills face by NULL.  Such
+	case can occur when the code is optimized by GCC-4.2.x.
+
+2009-09-23  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2009-09-12  Werner Lemberg  <[email protected]>
+
+	[raster] Fix 5-levels grayscale output.
+	This was broken since version 2.3.0.
+
+	* src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
+	were then computed dynamically).
+	(Vertical_Gray_Sweep_Step): Updated.
+
+	(ft_black_render): Initialize `worker->gray_lines' (problem found by
+	valgrind).
+
+	(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Don't #undef, just
+	comment out.
+
+2009-09-12  suzuki toshiya  <[email protected]>
+
+	Improve configure.raw for cross build.
+
+	* builds/unix/configure.raw: Remove temporal files created by the
+	suffix checking for CC_BUILD.  Set XX_ANSIFLAGS and XX_CFLAGS when
+	cross compiler is GCC.  AC_PROG_CC checks whether the cross compiler
+	is GCC, its result is stored in GCC.
+
+2009-09-12  suzuki toshiya  <[email protected]>
+
+	[BDF] Modify hash API to take size_t value instead of void *.
+
+	The hash API in BDF driver is designed to be generic, it takes
+	void * typed data.  But BDF driver always gives an unsigned long
+	integer (the index to a property).  To reduce non-essential
+	casts from unsigned long to void* and from void* to unsigned
+	long, the hash API is changed to take size_t integer.
+	The issue of incompatible cast between unsigned long and void*
+	on LLP64 platform is reported by NightStrike from MinGW-Win64
+	project.  See
+	https://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+
+	* src/bdf/bdf.h: The type of hashnode->data is changed from
+	void* to size_t.
+
+	* src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
+	void* data.
+	(bdf_create_property): Get the name length of new property by
+	size_t variable, with a cut-off at FT_ULONG_MAX.
+	(_bdf_set_default_spacing): Get the name length of the face by
+	size_t variable, with a cut-off at 256.
+	(bdf_get_property): Get the property id by size_t variable to
+	reduce the casts between 32-bit prop ID & hashnode->data during
+	simple copying.
+	(_bdf_add_property): Ditto.
+	(_bdf_parse_start): Calculate the index to the property array
+	by size_t variable.
+	(bdf_get_font_property): Drop a cast to unsigned long.
+
+2009-09-10  suzuki toshiya  <[email protected]>
+
+	[Win64] Improve the computation of random seed from stack address.
+
+	On LLP64 platform, the conversion from pointer to FT_Fixed need
+	to drop higher 32-bit.  Explicit casts are required. Reported by
+	NightStrike from MinGW-w64 project.  See
+	https://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+
+	* src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
+
+	* src/psaux/t1decode.c: Ditto.
+
+
+2009-09-03  Werner Lemberg  <[email protected]>
+
+	[raster] Improvements for stand-alone mode.
+
+	* src/raster/rules.mk: Don't handle ftmisc.h.  It is needed for
+	stand-alone mode only.
+
+	* src/raster/ftmisc.h (FT_MemoryRec, FT_Alloc_Func, FT_Free_Func,
+	FT_Realloc_Func): Copy declarations from ftsystem.h.
+
+2009-09-02  Bram Tassyns  <[email protected]>
+
+	Improve vertical metrics calculation (Savannah bug #27364).
+
+	The calculation of `vertBearingX' is not defined in the OTF font
+	spec so FreeType does a `best effort' attempt.  However, this value
+	is defined in the PDF and PostScript specs, and that algorithm is
+	better than the one FreeType currently uses:
+
+	  FreeType: Use the middle of the bounding box as the X coordinate
+	            of the vertical origin.
+
+	  Adobe PDF spec: Use the middle of the horizontal advance vector as
+	                  the X coordinate of the vertical origin.
+
+	FreeType's algorithm goes wrong if you have a really small glyph
+	(like the full-width, circle-like dot at the end of the sentence, as
+	used in CJK scripts) with large bearings.  With the FreeType
+	algorithm this dot gets centered on the baseline; with the PDF
+	algorithm it gets the correct location (in the top right).  Note
+	that this is a serious issue, it's like printing the dot at the end
+	of a Roman sentence at the center of the textline instead of on the
+	baseline like it should. So i believe the PDF spec's algorithm
+	should be used in FreeType as well.
+
+	The `vertBearingY' value for such small glyphs is also very strange
+	if no `vmtx' information is present, since the height of the bbox is
+	not representable for the height of the glyph visually (the
+	whitespace up to the baseline is part of the glyph).  The fix also
+	includes some code for a better estimate of `vertBearingY'.
+
+	* src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
+	is now calculated as described by the Adobe PDF Spec.  Estimate for
+	`vertBearingY' now works better for small glyphs completely above or
+	below the baseline into account.
+
+	* src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
+	calculated as described by the Adobe PDF Spec.  Vertical metrics
+	information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
+	was not defined.
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
+	now calculated as described by the Adobe PDF Spec.
+
+2009-09-01  John Tytgat  <[email protected]>
+
+	Fix custom cmap for empty Type 1 font (Savannah bug #27294).
+
+	* include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
+	comment to reflect revised code_last meaning.
+	* src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
+	(T42_Open_Face): Assign max_char as highest character code + 1 and
+	use this for T1_EncodingRecRec_::code_last.
+	* src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
+	T1_EncodingRecRec_::code_last meaning.
+
+2009-08-25  Werner Lemberg  <[email protected]>
+
+	Fix rendering of horizontally compressed CFFs.
+	Bug reported by Ivan Nincic <[email protected]>.
+
+	* src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
+	`font_matrix' also.
+
+	* docs/CHANGES: Updated.
+
+2009-08-03  [email protected]
+
+	Don't call `ft_fseek' every time when executing `ft_fread'.
+
+	* src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
+	(ft_ansi_stream_io): Implement it.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
+
+	* src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
+	tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
+	tt_cmap14_variant_chars): Correct mismatches from
+	FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
+	are replaced by FT_UInt32 arguments.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
+
+	* src/sfnt/ttcmap.c (tt_cmap12_char_next):
+	Insert explicit cast from FT_UFast to FT_UInt32
+	for return value.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	psaux: Fix a few casts to FT_Int32 value.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+	Fix a few casts setting `value' from FT_Long to FT_Int32,
+	because `value' is typed as FT_Int32 since 2009-06-22.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Fix a data type mismatching with its source.
+
+	* src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
+	type of `gindex' from FT_ULong to FT_UInt because
+	it is set by FT_UInt tt_cmap13_char_map_binary() or
+	TT_CMap13->cur_gindex.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Extend a few local variables to load 32-bit values.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
+	and `kern' to load 32-bit values.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pfr: Extend `num_aux' to take 32-bit value.
+
+	* src/pfr/pfrload.c (pfr_phy_font_load): Extend
+	`num_aux' to load 32-bit value.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
+
+	* src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
+	as FT_ULong value from PCF file, but truncate it as
+	int to fit PCF_Face->nprops.  The number of truncated
+	properties is shown in the trace message.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Extend a few local variables to reduce the casts.
+
+	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
+	Extend `type' and `rest' to take FT_ULong values.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Extend `settingTable' to take 32-bit offset.
+
+	* src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
+	Extend `settingTable' to take 32-bit offset.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
+
+	* src/autofit/afglobal.c (af_face_globals_is_digit,
+	af_face_globals_compute_script_coverage): Cast FT_Long
+	globals->glyph_count to FT_ULong, to compare with FT_UInt
+	gindex.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	smooth: Exclude 16-bit system in invalid pitch/height check.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic):
+	pitch and height are typed as FT_UInt but checked to fit
+	16-bit range, to avoid the overflows.  On 16-bit system,
+	this checking inserts a conditional that never occurs.
+
+2009-07-03  suzuki toshiya  <[email protected]>
+
+	cff: Type large constants > 0x7FFF as long for 16-bit systems.
+
+	* src/cff/cffload.c (cff_charset_load): Type large
+	constants > 0x7FFF as long, because normal constants
+	are typed signed integer that is less than 0x8000 on
+	16-bit systems.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	base: Remove an unused variable.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
+	unused variable `library'.  glyph->library is used.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Check higher bits in flags for non ILP32 systems.
+
+	4 public functions ought to take FT_ULong flags, but take
+	FT_UInt flags. To keep binary compatibility, we drop higher
+	bits on non ILP32 platforms,
+		ILP64 systems: No drop occurs.
+		LP64 systems: Higher bits are not used.
+		16-bit systems: Drop can occur.
+	See
+	https://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
+	These functions will be refined to take FT_ULong flags in
+	next bump with incompatible API change.
+
+	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
+	Check `flags' in `type', the 2nd argument.
+	(FTC_SBitCache_Lookup): Ditto.
+	(FTC_ImageCache_LookupScaler): Check `load_flags',
+	the 3rd argument.
+	(FTC_SBitCache_LookupScaler): Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Ignore invalid GIDs in glyph name lookup.
+
+	* include/freetype/internal/fttrace.h:
+	New trace module for sfdriver.c is added.
+
+	* src/sfnt/sfdriver.c (sfnt_get_name_index):
+	Restrict glyph name lookup to FT_UInt GID.
+	Genuine TrueType can hold 16-bit glyphs.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Fix a comparison between FT_Long and FT_ULong.
+
+	* src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
+	if PCF_Face->nmetrics is negative.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
+
+	* src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
+	Extend the 3rd argument `nFeatureFlags' to FT_ULong.
+	* src/gxvalid/gxvmort.h: Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Insert explicit cast for LP64 system.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Insert
+	cast from unsigned long to FT_UInt32.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Guarantee `just' table size upto 32-bit.
+
+	* src/gxvalid/gxvjust.c (gxv_just_validate):
+	The type of `offset' is changed from FT_UInt to
+	FT_Offset, for 16-bit platforms.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Guarantee `trak' table size upto 32-bit.
+
+	* src/gxvalid/gxvtrak.c (gxv_trak_validate):
+	The type of `offset' is changed from FT_UInt to
+	FT_Offset, for 16-bit platforms.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	type1: Fix a data type mismatching with its source.
+
+	* include/freetype/internal/t1types.h: The type of
+	T1_Face->buildchar is matched with T1_Decoder->top.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pfr: Fix a data type mismatching with its source.
+
+	* src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
+	is extended from FT_UInt32 to FT_Offset, because it is
+	calculated with the pointer difference, in
+	pfr_extra_item_load_kerning_pairs().
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pfr: Fix a data type mismatching with its source.
+
+	* src/pfr/pfrtypes.h: The type of PFR_PhyFont->chars_offset
+	is extended from FT_UInt32 to FT_Offset, because it is
+	calculated with the pointer difference in pfr_phy_font_load().
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pfr: Fix a data type mismatching with its source.
+
+	* src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
+	is extended from FT_UInt32 to FT_Long, because it is
+	loaded by FT_STREAM_POS() in pfr_phy_font_load().
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	smooth: Improve the format in debug message.
+
+	* src/smooth/ftgrays.c (gray_dump_cells): Improve the
+	format specifications to dump variables.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Fix a data type mismatching with its source.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): The type of
+	local `flags' is matched with FT_Face->face_flags.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	psaux: Fix a data type mismatching with its source.
+
+	* include/freetype/internal/psaux.h: The type of
+	T1_DecoderRec.buildchar is matched with
+	T1_DecoderRec.top.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Extend TrueType GX packed deltas to FT_Offset.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
+	The type of 2nd argument `delta_cnt' is changed from
+	FT_Int to FT_Offset, because its source can be cvt
+	table size calculated from stream position.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Extend mmvar_len to hold size_t values.
+
+	* src/truetype/ttgxvar.h: The type of
+	GX_BlendRec.mmvar_len is changed from FT_Int to
+	FT_Offset, because TT_Get_MM_Var() calculates it
+	by sizeof() results.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Check invalid function number in IDEF instruction.
+
+	* src/truetype/ttinterp.c (Ins_IDEF): Check
+	if the operand fits to 8-bit opcode limitation.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Check invalid function number in FDEF instruction.
+
+	* src/truetype/ttinterp.c (Ins_FDEF): Check
+	if the operand fits 16-bit function number.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Truncate the deltas of composite glyph at 16-bit values.
+
+	* src/truetype/ttgload.c (load_truetype_glyph):
+	Insert cast from FT_Long (deltas[i].{x,y}) to
+	FT_Int16 in the summation of deltas[] for composite
+	glyphs.  Because deltas[i] is typed as FT_Pos,
+	its component x, y are typed as FT_Long, but
+	their sources are always FT_Int16 when they are
+	loaded by ft_var_readpackeddeltas().  However,
+	the limitation about the summed deltas is unclear.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Truncate the instructions upto 16-bit per a glyph.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
+	the instructions upto 16-bit length per a glyph.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Cast the numerical operands to 32-bit for LP64 systems.
+
+	* src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
+	Ins_MIRP): Insert cast from long (args[], the
+	operands passed to TrueType operator) to FT_Int32
+	(the argument of TT_MulFix14()).
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Cast the project vector to 32-bit for LP64 system.
+
+	* src/truetype/ttinterp.c (Project, DualProject):
+	Insert casts from FT_Pos (the arguments `dx', `dy')
+	to FT_UInt32 (the argument to TT_DotFix14()).
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Cast the scaling params to 32-bit for LP64 system.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component):
+	Insert casts from long (return value of FT_MulFix()) to
+	FT_Int32 (the argument to FT_SqrtFixed()).
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Cast a character code to FT_UInt32 for LP64 system.
+
+	* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+	tt_cmap14_variants, tt_cmap14_char_variants,
+	tt_cmap14_def_char_count, tt_cmap14_get_def_chars,
+	tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars)
+	Insert casts when FT_UInt32 variable is loaded by
+	TT_NEXT_{UINT24|ULONG}.  Because most of them are
+	compared with FT_UInt32 values in public API, replacing
+	FT_UFast is not recommended.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Cast a character code to FT_UInt32 for LP64 system.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
+	Insert the casts from unsigned long constant to
+	FT_UInt32.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
+
+	* include/freetype/internal/tttypes.h: The type
+	of TT_BDF->string_size is extended from FT_UInt32
+	to FT_ULong, because BDF specification does not
+	restrict the length of string.
+	* src/sfnt/ttbdf.c: The scratch variable `strings'
+	to load TT_BDF->string_size is matched with
+	TT_BDF->string_size.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	psaux: Handle the string length by FT_Offset variables.
+
+	* src/psaux/afmparse.c (afm_parser_next_key,
+	afm_tokenize, afm_parse_track_kern,
+	afm_parse_kern_pairs, afm_parse_kern_data,
+	afm_parser_skip_section, afm_parser_parse):
+	The length of key is handled by FT_Offset,
+	instead of FT_UInt.  Although the length of
+	PostScript strings or name object is 16-bit,
+	AFM_STREAM_KEY_LEN() calculates the length
+	from the pointer difference.
+
+	* src/psaux/afmparse.h (afm_parser_next_key):
+	Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Fix some data types mismatching with their sources.
+
+	* src/pcf/pcfread.c (pcf_get_bitmaps): The types
+	of `nbitmaps', `i', `sizebitmaps' are matched with
+	the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Handle the string length by size_t variables.
+
+	* src/pcf/pcfread.c (pcf_interpret_style): The types
+	of nn, len, lengths[4] are changed to size_t, because
+	they are loaded by (or compared with) ft_strlen().
+
+	* src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
+	FourByteSwap): The type of the 2nd argument `nbytes'
+	is changed to size_t, for similarity with ANSI C
+	string functions.
+
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
+	`bytes' is changed to FT_Offset, because it is passed
+	to FT_ALLOC(), via ft_glyphslot_alloc_bitmap().  At
+	least, using unsigned type is better.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Fix some data types mismatching with their sources.
+
+	* src/pcf/pcfread.c (pcf_seek_to_table_type,
+	pcf_has_table_type): The type of 3rd argument
+	`ntables' is matched with PCF_Toc->count.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	otvalid: Truncate the glyph index to 16-bit.
+
+	* src/otvalid/otvalid.c (otv_validate): Checks
+	face->num_glyphs does not exceed 16-bit limit,
+	pass FT_UInt num_glyphs to backend functions
+	otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Insert explicit casts for LP64 systems.
+
+	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
+	FTC_SBitCache_Lookup): The type of FTC_ImageType->width
+	is FT_Int, so the cast to unsigned larger type FT_ULong
+	is introduced for the comparisons with 0x10000L for
+	LP64 platform.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Fix some data types mismatching with their sources.
+
+	* src/cache/ftccache.h: The type of return value
+	by FTC_Node_WeightFunc function is changed to
+	FT_Offset.  The type of FTC_CacheClass->cache_size
+	is changed to FT_Offset, too.
+
+	* src/cache/ftccback.h (ft_inode_weight,
+	ftc_snode_weight): Ditto.
+
+	* src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
+
+	* src/cache/ftcimage.c (ftc_inode_weight,
+	FTC_INode_Weight): Ditto.
+
+	* src/cache/ftcsbits.c (ftc_snode_weight,
+	FTC_SNode_Weight): Ditto.
+
+	* src/cache/ftcmru.h: The type of
+	FTC_MruListClass->node_size is changed to FT_Offset,
+	because it is passed to FT_ALLOC() to specify the
+	size of buffer.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	XXX_cmap_encoding_char_next() return FT_UInt32 values.
+
+	* include/freetype/internal/services/svpscmap.h:
+	The size of the charcode value returned by
+	the function typed PS_Unicodes_CharNextFunc is
+	matched with its input charcode value.
+
+	* src/cff/cffmap.c (cff_cmap_encoding_char_next,
+	cff_cmap_unicode_char_next): Ditto.
+
+	* src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
+	Ditto.
+
+	* src/psaux/t1cmap.c (t1_cmap_std_char_next,
+	t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
+	Ditto.
+
+	* src/psnames/psmodule.c (ps_unicodes_char_next):
+	Ditto.
+
+	* src/winfonts/winfnt.c (fnt_cmap_char_next):
+	Ditto.
+
+	* src/sfnt/ttcmap.c (tt_cmap0_char_next,
+	tt_cmap2_char_next, tt_cmap4_char_next,
+	tt_cmap6_char_next, tt_cmap10_char_next,
+	tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
+	(tt_cmap14_char_variants): Handle base unicode
+	codepoint by FT_UInt32 variable to avoid overflow
+	on 16-bit platforms.
+	(tt_cmap14_ensure): The type of `num_results' is
+	extend to FT_UInt32, to cover unsigned 32-bit
+	`numVarSelectorRecords' in cmap14 table header.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	truetype: Extend TT_Face->num_locations for broken TTFs.
+
+	* include/freetype/internal/tttypes.h:
+	TT_Face->num_locations are extended from FT_UInt
+	to FT_ULong, to stand with broken huge loca table.
+	Some people insists there are broken TTF including
+	the glyphs over 16-bit limitation, in PRC market.
+	* src/truetype/ttpload.c (tt_face_load_loca):
+	Remove unrequired 16-bit truncation for FT_UInt
+	TT_Face->num_locations.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	smooth: Fix some data types mismatching with their sources.
+
+	* src/smooth/ftgrays.c: The type of `TCoord' is
+	matched to `TPos', because they are mixed in
+	gray_set_cell().  The type of TCell->x is extended
+	to `TPos', because gray_find_cell() sets it by
+	TWorker.ex.  The type of TCell->cover is extended
+	to `TCoord', because gray_render_scanline() adds
+	TCoord value to it.  The type of TWork.cover is matched
+	with TCell->cover.  The types of
+	TWork.{max_cells,num_cells} are changed to FT_PtrDist,
+	because they are calculated from the memory addresses.
+	The type of TWork.ycount is changed to TPos, because
+	it is calculated from TPos variables.
+	(gray_find_cell): The type of `x' is matched with
+	its initial value ras.ex.
+	(gray_render_scanline): The types of `mod', `lift'
+	and `rem' are changed to TCoord, because their values
+	are set with explicit casts to TCoord.  When ras.area
+	is updated by the differential values including
+	`delta', they are explicitly cast to TArea, because
+	the type of `delta' is not TArea but TCoord.
+	(gray_render_line): The type of `mod' is extended
+	from int to TCoord, because (TCoord)dy is added to mod.
+	(gray_hline): The argument `acount' is extended to
+	TCoord, to match with the parameters in the callers.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cff: Fix some data types mismatching with their sources.
+
+	* src/cff/cffobjs.c (cff_face_init): The type of
+	`scaling' is matched with the scaling parameter
+	in FT_Matrix_Multiply_Scaled() and
+	FT_Vector_Transform_Scaled().
+
+	* src/cff/cffparse.c (cff_parse_real): The type of
+	`power_ten', `scaling', `exponent_add',
+	`integer_length', `fraction_length',
+	`new_fraction_length' and `shift' are matched with
+	the type of `exponent' to avoid unexpected truncation.
+	(cff_parse_fixed_scaled): The type of `scaling' is
+	matched with the `scaling' argument to
+	cff_parse_real().
+	(cff_parse_fixed_dynamic): Ditto.
+	(cff_parse_font_matrix): The type of `scaling' is
+	matched with the `scaling' argument to
+	cff_parse_dynamic().
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	autofit: Fix some data types mismatching with their sources.
+
+	* src/autofit/afglobal.c: Correct the type of
+	AF_FaceGlobalsRec.glyph_count to match with
+	FT_Face->num_glyphs.
+	(af_face_globals_compute_script_coverage):
+	Insert explicit cast to compare
+	FT_Long AF_FaceGlobalsRec.glyph_count versus
+	FT_UInt gindex.  The type of `nn' is changed
+	to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
+	(af_face_globals_get_metrics): The type of `script_max'
+	is changed to cover size_t value.  Insert explicit cast
+	to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
+	FT_UInt gindex.
+
+	* src/autofit/afhints.c (af_axis_hints_new_segment):
+	Insert explicit cast to calculate `big_max' from
+	integer and size_t values.
+	(af_axis_hints_new_edge): Ditto.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues):
+	The type of `best_y' is matched to FT_Vector.y.
+	(af_latin_compute_stem_width): The type of `delta' is
+	matched to `dist' and `org_dist'.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	autofit: Count the size of the memory object by ptrdiff_t.
+
+	* src/autofit/afcjk.c (af_cjk_hint_edges): The
+	number of edges `n_edges' should be counted by
+	FT_PtrDist variable instead of FT_Int.
+
+	* src/autofit/aflatin.c (af_latin_hint_edges):
+	Ditto.
+
+	* src/autofit/aftypes.h: In AF_ScriptClassRec,
+	the size of metric `script_metrics_size' should
+	be counted by FT_Offset variable instead of FT_UInt.
+
+	* src/autofit/afhints.c
+	(af_glyph_hints_align_strong_points): The cursors
+	for the edges `min', `max', `mid' in the memory
+	buffer should be typed FT_PtrDist.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	autofit: Fix for unused variable `first'.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Insert
+	FT_UNUSED() to hide the unused variable warning.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	Improve bitmap size or pixel variables for 16-bit systems.
+
+	* include/freetype/config/ftstdlib.h: Introduce
+	FT_INT_MIN, to use in signed integer overflow in
+	16-bit and 64-bit platforms.
+
+	* include/freetype/internal/fttrace.h: Add a tracer
+	to ftsynth.c.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
+	invalid strength causing integer overflow on 16-bit
+	platform.
+
+	* src/base/ftcalc.c (ft_corner_orientation): Change
+	the internal calculation from FT_Int to FT_Long, to
+	avoid an overflow on 16-bit platforms.  The caller of
+	this function should use only the sign of result,
+	so the cast to FT_Int is acceptable.
+
+	* src/base/ftsynth.c: Introduce a tracer for synth module.
+	(FT_GlyphSlot_Embolden): Check invalid strength causing
+	integer overflow on 16-bit platform.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
+	in FT2 API is typed as FT_UInt, although BDF driver
+	can handle unsigned long glyph index internally.  To
+	avoid integer overflow on 16-bit platform, too large
+	glyph index should be excluded.
+	(BDF_Glyph_Load): The glyph pitch in FT2 is typed as
+	FT_UInt, although BDF driver can handle unsigned long
+	glyph pitch internally.  To avoid integer overflow on
+	16-bit platform, too large glyph pitch should not be
+	returned.
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
+	pitch in FT2 is typed as FT_UInt, although PFR font
+	format can include huge bitmap glyph with 24-bit pitch
+	(however, a glyph spends 16.7 pixel, it's not realistic).
+	To avoid integer overflow on 16-bit platform, huge
+	bitmap glyph should be excluded.
+
+	* src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
+	truncated to fit its type (16-bit short), FT_Span.y
+	should be truncated to fit its type (FT_Int).
+
+	* src/cff/cffdrivr.c (cff_get_ros): CFF specification
+	defines the supplement in ROS as a real number.
+	Truncate it to fit public FT2 API.
+
+	* src/cff/cffparse.c (cff_parse_cid_ros): Warn the
+	supplement if it is truncated or rounded in cff_get_ros().
+
+	* src/cff/cfftypes.h: Change the type of internal variable
+	`supplement' from FT_Long to FT_ULong to fit the signedness
+	to the type in public API.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	psaux: Prevent invalid arguments to afm_parser_read_vals().
+
+	* src/psaux/afmparse.c (afm_parser_read_vals): Change
+	the type of `n' to prevent negative number how many
+	arguments should be parsed.
+
+	* src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	base: Prevent some overflows on LP64 systems.
+
+	* src/base/ftadvanc.c (FT_Get_Advances): Cast the
+	unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
+	for LP64 platforms.
+
+	* src/base/ftcalc.c (FT_Sqrt32): All internal variables
+	are changed to FT_UInt32 from FT_ULong.
+	(FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
+	This function is designed for 32-bit integer, although
+	their arguments and return value are FT_Long.
+
+	* src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
+	is within unsigned 32-bit integer for LP64 platforms.
+	(FT_Face_GetCharVariantIndex): Check `charcode' and
+	`variantSelector' are within 32-bit integer for LP64
+	platforms.
+	(FT_Face_GetCharsOfVariant): Check `variantSelector' is
+	within unsigned 32-bit integer for LP64 platforms.
+
+	* src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
+	variable `val' and unsigned long constant FT_TRIG_SCALE
+	are cast to FT_UInt32, when calculates FT_UInt32.
+	(FT_Vector_Rotate): The long constant 1L is cast to
+	FT_Int32 to calculate FT_Int32 `half'.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cff: Cast the long variables to 32-bit for LP64 systems.
+
+	* src/cff/cffdrivr.c (cff_get_advances): Insert
+	explicit cast to modify a 32-bit flag by unsigned
+	long constant.
+
+	* src/cff/cffobjs.c (cff_face_init): Ditto.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings):
+	Replace the casts to FT_Long by the casts to FT_Int32
+	for LP64 platforms.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
+
+	* src/pcf/pcf.h: In PCF_PropertyRec.value, the member
+	`integer' is replaced by `l', `cardinal' is replaced
+	by `ul', to fix the difference between the name and
+	the types on LP64 platforms.
+
+	* src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect
+	PCF_PropertyRec.value change, with appropriate casts
+	to FT_Int32/FT_UInt32.  Their destinations
+	BDF_PropertyRec.{integer|cardinal} are public and
+	explicitly defined as FT_Int32/FT_UInt32.
+
+	* src/pcf/pcfread.c (pcf_get_properties, pcf_load_font):
+	Reflect PCF_PropertyRec.value change.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	pcf: Fix some data types mismatching with their sources.
+
+	* src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
+	`code' is matched to PCF_Encoding->enc.
+	(pcf_cmap_char_next): The type of `charcode' is matched
+	to PCF_Encoding->enc.  When *acharcode is set by charcode,
+	an overflow is checked and cast to unsigned 32-bit
+	integer.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	bdf: Improve bdf_property_t.value names for LP64 platforms.
+
+	* src/bdf/bdf.h: In bdf_property_t.value, the member
+	`int32' is replaced by `l', `card32' is replaced by
+	`ul', to fix the difference between the name and the
+	types on LP64 platforms.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect
+	bdf_property_t.value change.
+	(bdf_get_bdf_property): Reflect bdf_property_t.value
+	change, with appropriate casts to FT_Int32/FT_UInt32.
+	Their destinations BDF_PropertyRec.{integer|cardinal}
+	are public and explicitly defined as FT_Int32/FT_UInt32.
+
+	* src/bdf/bdflib.c (_bdf_add_property): Reflect
+	bdf_property_t.value change.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	bdf: Fix some data types mismatching with their sources.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_index): The type
+	of `code' is matched with BDF_encoding_el->enc.
+	(bdf_cmap_char_next): The type of `charcode' is
+	matched with BDF_encoding_el->enc.  When *acharcode
+	is set by charcode, an overflow is checked and
+	cast to unsigned 32-bit integer.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	autofit: Improve Unicode range definitions.
+
+	* src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro
+	to declare a range by two unsigned 32-bit integer,
+	to avoid 64-bit range definition on LP64 platforms.
+
+	* src/autofit/aflatin.c (af_latin_uniranges): Ditto.
+
+	* src/autofit/aflatin2.c (af_latin2_uniranges): Ditto.
+
+	* src/autofit/afindic.c (af_indic_uniranges): Ditto.
+
+	* src/autofit/afcjk.c (af_cjk_uniranges): Declare
+	the ranges by AF_UNIRANGE_REC.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	smooth: Fix a data type mismatching with its source.
+
+	* src/smooth/ftgrays.c (gray_sweep): The type of
+	`area' is matched with the 3rd argument `area'
+	of gray_hline().
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	smooth: Fix a data type mismatching with its source.
+
+	* src/smooth/ftgrays.c (gray_render_line): The type
+	of `area' is matched with TWorker.area.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Disable the legacy compatibility if 16-bit system.
+
+	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
+	the legacy behaviour from 16-bit platform, because the
+	current hack cannot detect the caller uses this function
+	via legacy convention.
+	(FTC_SBitCache_Lookup): Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Check 32-bit glyph index on 16-bit systems.
+
+	* src/cache/ftcbasic.c (ftc_basic_family_get_count):
+	Check overflow caused by the face including large
+	number of glyphs > 64k.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Fix some data types mismatching with their sources.
+
+	* src/cache/ftccache.c (ftc_cache_resize): The types of
+	`p', `mask', `count' are matched with FTC_Cache->{p,mask}.
+	(FTC_Cache_Clear): The type of `old_index' is matched to
+	FTC_Cache->{p,mask}.
+
+	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type
+	of `_idx' is matched with FTC_Cache->{p,mask}.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Fix some data types mismatching with their sources.
+
+	* src/cache/ftcsbits.c (ftc_snode_load): The types
+	of `xadvance' and `yadvance' are matched with
+	FT_GlyphSlot->advance.{x|y}.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cache: Cast NULL to a required function type explicitly.
+
+	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID):
+	Insert explicit cast from NULL to function type.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	fttypes.h: Cast FT_MAKE_TAG output to FT_Tag explicitly.
+
+	* include/freetype/fttypes.h (FT_MAKE_TAG):
+	Cast the result to FT_Tag.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	psnames: Handle Unicode codepoints by FT_UInt32 variables.
+
+	* src/psnames/psmodule.c (BASE_GLYPH): Cast the result
+	to unsigned 32-bit integer for LP64 platform.
+	(ps_unicode_value): Return the value by unsigned 32-bit
+	integer instead of unsigned long.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	psaux: Use size_t variable to pass the buffer size.
+
+	* src/psaux/psaux.h (to_bytes): The type of `max_bytes'
+	(the argument to pass the buffer size) is changed to
+	size_t, to match with ANSI C string functions.
+
+	* src/psaux/psconv.h (PS_Conv_StringDecode,
+	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
+
+	* src/psaux/psconv.c (PS_Conv_StringDecode,
+	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
+
+	* src/psaux/psobjs.h (ps_parser_to_bytes): Ditto.
+
+	* src/psaux/psobjs.c (ps_parser_to_bytes): Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	type1: Use size_t variable to pass the string length.
+
+	* psaux.h: The type of `len' (the argument to pass
+	the buffer size to the function in AFM_ParserRec)
+	is changed to size_t, to match with ANSI C string
+	functions.
+
+	* t1afm.c (t1_get_index): Ditto.
+
+	* test_afm.c (dummy_get_index): Ditto.
+
+	* afmparse.c (afm_parser_read_vals): To call
+	AFM_ParserRec.get_index, the length of token
+	`len' is cast to size_t.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cid: Fix some data types mismatching with their sources.
+
+	* src/cid/cidparse.c (cid_parser_new): The types of
+	`read_len' and `stream_len' are matched to
+	FT_Stream->size.  Unrequired cast is removed.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cff: Fix for unused variable `rest'.
+
+	* src/cff/cffparse.c (cff_parse_real): Insert
+	FT_UNUSED() to hide the unused variable warning.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	cff: Fix some data types mismatching with their sources.
+
+	* src/cff/cffgload.c (cff_slot_load): The types of
+	`top_upm' and `sub_upm' are matched with
+	CFF_FontRecDict->units_per_em.
+
+	* src/cff/cffobjs.c (cff_size_select): Ditto.
+	(cff_size_request): Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	bdf: Fix some data types mismatching with their sources.
+
+	* bdflib.c (_bdf_list_ensure): The type of `num_items'
+	is matched with _bdf_list_t.used.  Also the types of
+	`oldsize', `newsize', `bigsize' are matched too.
+	(_bdf_readstream): `cursor' is used as an offset to
+	the pointer, it should be typed as FT_Offset.  Also
+	the types of `bytes', `start', `end', `avail' are matched.
+
+	* bdfdrivr.c: The type of BDF_CMap->num_encodings is
+	matched with FT_CMap->clazz->size.
+	(bdf_cmap_char_index): The types of `min', `max', `mid'
+	are matched with BDF_CMap->num_encodings.  The type of
+	`result' is matched with encoding->glyph.
+	(bdf_cmap_char_next): Ditto, the type of `code' is
+	matched with BDF_encoding_el.enc.
+	(bdf_interpret_style): The type of `lengths' is changed
+	to size_t, to take the value by ft_strlen().  Also the
+	types of `len', `nn', `mm' are matched.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	sfnt: Count the size of the memory object by ptrdiff_t.
+
+	* src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
+	`property_len' is changed from FT_UInt to FT_Offset,
+	to match with size_t, which is appropriate type for the
+	object in the memory buffer.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	lzw: Count the size of the memory object by ptrdiff_t.
+
+	* src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total,
+	stack_size} are changed from FT_UInt to FT_Offset, to match
+	with size_t, which is appropriate type for the object in
+	the memory buffer.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of
+	`old_size' and `new_size' are changed from FT_UInt to
+	FT_Offset, to match with size_t, which is appropriate type
+	for the object in the memory buffer.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	otvalid: Count the table size on memory by ptrdiff_t.
+
+	* src/otvalid/otvgpos.c (otv_ValueRecord_validate):
+	Change the type of table size from FT_UInt to
+	FT_PtrDist because it is calculated by the memory
+	addresses.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
+
+	* src/otvalid/otvgpos.c (otv_ExtensionPos_validate):
+	Extend ExtensionOffset from FT_UInt to FT_ULong, to
+	cover 32-bit offset on 16-bit platform.
+
+	* src/otvalid/otvgsub.c (otv_ExtensionSubst_validate):
+	Ditto.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	ftobjs.c: Prevent an overflow in glyph index handling.
+
+	* src/base/ftobjs.c (FT_Face_GetCharsOfVariant):
+	Improve the cast in comparison to avoid the truncation.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	Improve the variable types in raccess_make_file_name().
+
+	* src/base/ftrfork.c (raccess_make_file_name):
+	Change the type of cursor variable `tmp' to const char*,
+	to prevent the unexpected modification of original pathname.
+	(raccess_make_file_name): Change the type of new_length
+	to size_t.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	ftpatent.c: Fix for unused variable `error'.
+
+	* src/base/ftpatent.c (_tt_check_patents_in_range):
+	Fix warning for unused variable `error'.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	type1: Check invalid string longer than PostScript limit.
+
+	* src/type1/t1afm.c (t1_get_index): Check invalid string
+	which exceeds the limit of PostScript string/name objects.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
+
+	* src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
+	zcalloc() & zfree() by zlib in zutil.c, those in
+	ftgzip.c by FT2 are enabled by default.  To use
+	zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
+	See discussion:
+	https://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gzip: Distinguish PureC from TurboC on MSDOS.
+
+	* src/gzip/zutil.c (zcalloc, zcfree): Enable only for
+	MSDOS platform.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Insert PureC pragma to allow unevaluated variables.
+
+	* builds/atari/ATARI.H: Insert PureC pragma not to
+	warn against set-but-unevaluated variable in gxvalid
+	module.
+
+2009-07-31  suzuki toshiya  <[email protected]>
+
+	gxvalid: Pass the union by the pointer instead of the value.
+
+	* src/gxvalid/gxvcommn.h:
+	  - Declare new type `GXV_LookupValueCPtr'.
+	  - Update the type of the 2nd argument to pass GXV_LookupValueDesc
+	    data to the function prototyped as GXV_Lookup_Value_Validate_Func,
+	    from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+	  - Likewise for the function prototyped as
+	    GXV_Lookup_Fmt4_Transit_Func.
+
+	  - Declare new type `GXV_StateTable_GlyphOffsetCPtr'.
+	  - Update the type of the 3rd argument to pass
+	    GXV_StateTable_GlyphOffsetDesc data to the function prototyped
+	    as GXV_StateTable_Entry_Validate_Func, from
+	    GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr.
+
+	  - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'.
+	  - Update the type of the 3rd argument to pass
+	    GXV_XStateTable_GlyphOffsetDesc data to the function prototyped
+	    as GXV_XStateTable_Entry_Validate_Func,
+	    from GXV_XStateTable_GlyphOffsetDesc
+	    to GXV_XStateTable_GlyphOffsetCPtr.
+
+	* src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate,
+	gxv_XClassTable_lookupval_validate,
+	gxv_XClassTable_lookupfmt4_transit):
+	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+
+	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
+	gxv_bsln_LookupFmt4_transit): Ditto.
+
+	* src/gxvalid/gxvjust.c
+	(gxv_just_pcTable_LookupValue_entry_validate,
+	gxv_just_classTable_entry_validate,
+	gxv_just_wdcTable_LookupValue_validate): Ditto.
+
+	* src/gxvalid/gxvkern.c
+	(gxv_kern_subtable_fmt1_entry_validate): Ditto.
+
+	* src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
+	gxv_lcar_LookupFmt4_transit): Ditto.
+
+	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
+	gxv_opbd_LookupFmt4_transit): Ditto.
+
+	* src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
+	gxv_prop_LookupFmt4_transit): Ditto.
+
+	* src/gxvalid/gxvmort4.c
+	(gxv_mort_subtable_type4_lookupval_validate): Ditto.
+
+	* src/gxvalid/gxvmort0.c
+	(gxv_mort_subtable_type0_entry_validate): Update
+	from GXV_StateTable_GlyphOffsetDesc
+	to GXV_StateTable_GlyphOffsetCPtr.
+
+	* src/gxvalid/gxvmort1.c
+	(gxv_mort_subtable_type1_entry_validate): Ditto.
+
+	* src/gxvalid/gxvmort2.c
+	(gxv_mort_subtable_type2_entry_validate): Ditto.
+
+	* src/gxvalid/gxvmort5.c
+	(gxv_mort_subtable_type5_entry_validate): Ditto.
+
+	* src/gxvalid/gxvmorx2.c
+	(gxv_morx_subtable_type2_entry_validate): Ditto.
+
+	* src/gxvalid/gxvmorx5.c
+	(gxv_morx_subtable_type5_entry_validate): Ditto.
+
+	* src/gxvalid/gxvmorx1.c
+	(gxv_morx_subtable_type1_entry_validate): Ditto.
+	(gxv_morx_subtable_type1_LookupValue_validate,
+	gxv_morx_subtable_type1_LookupFmt4_transit):
+	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+
+	* src/gxvalid/gxvmorx0.c
+	(gxv_morx_subtable_type0_entry_validate): Update
+	from GXV_XStateTable_GlyphOffsetDesc
+	to GXV_XStateTable_GlyphOffsetCPtr.
+
+2009-07-29  Fabrice Bellet  <[email protected]>
+
+	Fix Redhat bugzilla #513582 and Savannah bug #26849.
+
+	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix
+	aliasing bug.
+
+2009-07-19  Werner Lemberg  <[email protected]>
+
+	Document recent library changes.
+
+	* docs/CHANGES: Do it.
+
+2009-07-17  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #23786.
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem
+	and y_ppem.  Otherwise the `*_CVT_Stretched' functions in ttinterp.c
+	get never called.
+	An anonymous guy suggested this change on Savannah, and it seems to
+	be the right solution.
+
+2009-07-15  Werner Lemberg  <[email protected]>
+
+	* docs/release: Updated.
+
+2009-07-15  Werner Lemberg  <[email protected]>
+
+	README.CVS -> README.git
+
+	* README.CVS: Renamed to...
+	* README.git: This.
+	Updated.
+
+2009-07-15  suzuki toshiya  <[email protected]>
+
+	Borland C++ compiler patch proposed by Mirco Babin.
+	https://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
+
+	* builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
+	Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
+	specific pathname syntax.
+	* builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS.
+	Define TE = `-e' separately (bcc32 cannot specify the pathname of
+	binary executable by T = `-o').
+	Extend the large page size in linking freetype.lib.
+	Add extra CLEAN target to delete bcc specific temporary files.
+	* builds/compiler/bcc-dev.mk: Ditto.
+
+2009-07-14  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #27026.
+
+	* builds/win32/vc2005/freetype.sln: Use correct version number.
+
+2009-07-12  suzuki toshiya  <[email protected]>
+
+	Add a script to check the undefined and unused trace macros.
+
+	* src/tools/chktrcmp.py: A script to check trace_XXXX macros
+	that are used in C source but undefined in fttrace.h, or
+	defined in fttrace.h but unused in C sources.  See
+	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
+	* docs/DEBUG: Mention on chktrcmp.py.
+	* docs/release: Ditto.
+
+2009-07-09  Werner Lemberg  <[email protected]>
+
+	[ftraster] Make it compile again with -D_STANDALONE_.
+
+	* src/raster/ftraster.c [_STANDALONE_]: Define
+	FT_CONFIG_STANDARD_LIBRARY_H.
+	Include `string.h'.
+	Don't include `rastpic.h'.
+	Define FT_DEFINE_RASTER_FUNCS.
+
+2009-07-09  suzuki toshiya  <[email protected]>
+
+	smooth: Check glyph size by width/height, instead of pitch/height.
+	Suggested by der Mouse <[email protected]>.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve
+	the check for too large glyph.  Replace the pair of `pitch' and
+	`height' by the pair of `width' and `height'.  `pitch' cannot
+	be greater than `height'.  The required is checking the product
+	`pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for
+	the realistic case only.
+
+2009-07-09  suzuki toshiya  <[email protected]>
+
+	Register 2 missing trace components, t1afm and ttbdf.
+
+	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
+	and FT_TRACE_DEF( ttbdf ).  See
+	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
+
+2009-07-09  suzuki toshiya  <[email protected]>
+
+	Register a trace component for ftgloadr.c.
+
+	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ).
+	The macro `trace_gloader' was already used in the initial version
+	on 2002-02-24.
+
+2009-07-08  suzuki toshiya  <[email protected]>
+
+	Prevent the overflows by a glyph with too many points or contours.
+	The bug is reported by Boris Letocha <[email protected]>.  See
+	https://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
+	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html
+
+	* include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
+	FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
+	values of FT_Outline.{n_contours,n_points}.
+	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the
+	total numbers of points and contours cause no overflows in
+	FT_Outline.{n_contours,n_points}.
+
+	* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
+	FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and
+	contours as unsigned long number, instead of signed int, to
+	prevent the overflows on 16-bit systems.
+
+2009-07-05  Bram Tassyns  <[email protected]>
+
+	Improve compatibility to Acroread.
+	This fixes Savannah bug #26944.
+
+	* src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to
+	single CID mappings, make the lowest value win.
+
+2009-06-28  suzuki toshiya  <[email protected]>
+
+	ftpatent: Fix a bug by wrong usage of service->table_info().
+	https://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
+
+	* include/freetype/internal/services/svsfnt.h: Extend
+	FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
+	to the specified table.
+	* src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the
+	table-offset to the caller function.
+	* src/base/ftpatent.c (_tt_check_patents_in_table): Use new
+	service->table_info().
+	* src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new
+	service->table_info().
+
+2009-06-28  Werner Lemberg  <[email protected]>
+
+	[psaux, cff] Protect against nested `seac' calls.
+
+	* include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h
+	(CFF_Decoder): Add `seac' boolean variable.
+
+	* src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c
+	(t1operator_seac): Use it.
+
+2009-06-28  Werner Lemberg  <[email protected]>
+
+	Thinko.
+
+	* src/psaux/t1decode.c (t1operator_seac)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
+	interface.
+
+2009-06-28  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
+
+2009-06-27  suzuki toshiya  <[email protected]>
+
+	Add tools to preprocess the source files for AtariST PureC.
+
+	* builds/atari/deflinejoiner.awk: New file to filter C source files
+	for broken C preprocessor of PureC compiler.
+
+	* builds/atari/gen-purec-patch.sh: New file to generate a patch set
+	for PureC, by using deflinejoiner.awk.
+
+2009-06-27  suzuki toshiya  <[email protected]>
+
+	Keep existing modules.cfg in the building tree.
+
+	* configure: If `configure' is executed outside of the source tree,
+	an existing `modules.cfg' file in the build directory should be
+	kept, not overwritten by the version in the source tree.
+
+2009-06-27  suzuki toshiya  <[email protected]>
+
+	Filter --srcdir= option before invoking builds/unix/configure.
+
+	* configure: If builds/unix/configure is invoked with --srcdir
+	option, the option should take `builds/unix' directory instead of
+	the top source directory.  Thus the configure script in the top
+	directory should modify the --srcdir= option if
+	`builds/unix/configure' is invoked.
+
+2009-06-27  suzuki toshiya  <[email protected]>
+
+	Improve configure.raw for cross-building on exe-suffixed systems.
+
+	* builds/unix/configure.raw: Fix a bug in sed script to extract
+	native suffix for binary executables, patch by Peter Breitenlohner.
+	https://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
+
+2009-06-26  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove TT_SubGlyphRec.
+
+	* src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused.
+
+2009-06-26  Werner Lemberg  <[email protected]>
+
+	* */*: For warning messages, replace FT_ERROR with FT_TRACE0.
+
+	FT_ERROR is now used only if a function produces a non-zero `error'
+	value.
+
+	Formatting, improving and harmonizing debug strings.
+
+2009-06-25  Werner Lemberg  <[email protected]>
+
+	Provide version information better.
+
+	* src/base/ftinit.c (FT_Init_FreeType): Don't set version here
+	but...
+	* src/base/ftobjs.c (FT_New_Library): Here.
+
+2009-06-22  Werner Lemberg  <[email protected]>
+
+	Use 16.16 format while parsing Type 1 charstrings.
+	This fixes Savannah bug #26867.
+
+	Previously, only integers have been used which can lead to serious
+	rounding errors.
+
+	However, fractional values are only used internally; after the
+	charstrings (of either Type 1 or 2) have been processed, the
+	resulting coordinates get rounded to integers currently -- before
+	applying scaling.  This should be fixed; at the same time a new load
+	flag should be introduced, to be used in combination with
+	FT_LOAD_NO_SCALE, which indicates that font units are returned in
+	16.16 format.  Similarly, the incremental interface should be
+	extended to allow fractional values for metrics.
+
+	* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
+	field.
+	* include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
+	T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.
+
+	* src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
+	(t1_build_add_point): Always convert fixed to integer.
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+	Use 16.16 format everywhere (except for large integers followed by a
+	`div').
+	[CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
+	code unconditionally.
+	Add support for random numbers and update remaining code
+	accordingly; this should work now.
+	(t1operator_seac): Updated.
+	* src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
+	(ps_hints_t1stem3, t1_hints_stem): Updated.
+
+	* src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
+	(cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
+	(cid_face_compute_max_advance, cid_slot_load_glyph): Updated.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+	[FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
+	Updated.
+	* src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
+	* src/type1/t1objs.c (T1_Face_Init): Updated.
+
+2009-06-21  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshrec.c: Use PSH_Err_Ok.
+
+2009-06-21  Werner Lemberg  <[email protected]>
+
+	Code beautification.
+
+	* src/type1/t1load.c (FT_INT_TO_FIXED): Removed.
+	Replace everywhere with INT_TO_FIXED.
+	(FT_FIXED_TO_INT): Move to ...
+	* include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here.
+	Update all users.
+
+2009-06-20  Werner Lemberg  <[email protected]>
+
+	Remove unused variables.
+
+	* include/freetype/internal/psaux.h (T1_BuilderRec),
+	src/cff/cffgload.h (CFF_Builder): Remove `last'.
+	Update all users.
+
+2009-06-20  Werner Lemberg  <[email protected]>
+
+	[psaux] Check large integers while parsing charstrings.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large
+	integers must be followed by a `div' operator.
+
+2009-06-20  Werner Lemberg  <[email protected]>
+
+	[cff] Revert last change.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it.
+	Next time, don't confuse Type 2 charstring opcodes with TOP DICT
+	values...
+
+2009-06-20  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix
+	compiler warning.
+
+2009-06-20  Werner Lemberg  <[email protected]>
+
+	* builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6.
+
+2009-06-19  Werner Lemberg  <[email protected]>
+
+	[cff] Fix handling of reserved byte 0xFF.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte
+	0xFF is encountered.
+
+2009-06-19  Werner Lemberg  <[email protected]>
+
+	Improve debug messages for Type1 charstrings.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines
+	after instructions.
+	Prettify output.
+
+2009-06-19  Werner Lemberg  <[email protected]>
+
+	More ftgray fixes for FT_STATIC_RASTER.
+	Problems reported by [email protected].
+
+	* src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
+	RAS_VAR.
+
+2009-06-18  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2009-06-18  Werner Lemberg  <[email protected]>
+
+	Fix B/W rasterization of subglyphs with different drop-out modes.
+
+	Normally, the SCANMODE instruction (if present) to set the drop-out
+	mode in a TrueType font is located in the `prep' table only and thus
+	valid for all glyphs.  However, there are fonts like `pala.ttf'
+	which additionally contain this instruction in the hinting code of
+	some glyphs (but not all).  As a result it can happen that a
+	composite glyph needs multiple drop-out modes for its subglyphs
+	since the rendering state gets reset for each subglyph.
+
+	FreeType collects the hinted outlines from all subglyphs, then it
+	sends the data to the rasterizer.  It also sends the drop-out mode
+	-- after hinting has been applied -- and here is the error: It sends
+	the drop-out mode of the last subglyph only; drop-out modes of all
+	other subglyphs are lost.
+
+	This patch fixes the problem; it adds a second, alternative
+	mechanism to pass the drop-out mode: For each contour, the
+	rasterizer now checks the first `tags' array element.  If bit 2 is
+	set, bits 5-7 contain the contour's drop-out mode, overriding the
+	global drop-out mode.
+
+	* include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
+	`tags[0]'.
+
+	* src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
+	Use bits 3-5 instead of 0-2.
+	(New_Profile): Set the drop-out mode in the profile's `flags' field.
+	(Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
+	necessary.
+	(Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+	Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
+	mode.
+
+2009-06-16  Werner Lemberg  <[email protected]>
+
+	Improve scan conversion rules 4 and 6.
+
+	Two new constraints are introduced to better identify a `stub' -- a
+	concept which is only vaguely described in the OpenType
+	specification.  The old code was too rigorous and suppressed more
+	pixel than it should.
+
+	  . The intersection of the two profiles with the scanline is less
+	    than a half pixel.  Code related to this was already present in
+	    the sources but has been commented out.
+
+	  . The endpoint of the original contour forming a profile has a
+	    distance (`overshoot') less than half a pixel to the scanline.
+
+	Note that the two additional conditions fix almost all differences
+	to the Windows rasterizer, but some problematic cases remain.
+
+	* src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New
+	macros for the `flags' field in the `TProfile' structure.
+	(IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros.
+	(New_Profile, End_Profile): Pass overshoot flag as an argument and
+	set it accordingly.
+	Update callers.
+	(Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new
+	constraints.
+
+2009-06-11  Werner Lemberg  <[email protected]>
+
+	Increase precision for B/W rasterizer.
+
+	* src/raster/ftraster.c (Set_High_Precision): Add two more bits to
+	the precision.  This corrects rendering of some small glyphs, for
+	example, glyph `xi' in verdana.ttf at 13 ppem.  Testing with ftbench
+	on my GNU/Linux box I don't see a performance degradation.
+
+2009-06-08  Michael Zucchi  <[email protected]>
+
+	Handle FT_STROKER_LINECAP_BUTT.
+	This fixes Savannah bug #26757.
+
+	* src/base/ftstroke.c (ft_stroker_cap): Implement it.
+
+2009-06-07  Harald Fernengel  <[email protected]>
+
+	Fix some potential out-of-memory crashes.
+
+	* src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
+	* src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
+	* src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
+	`exec' in case of failure.
+
+2009-06-07  Werner Lemberg  <[email protected]>
+
+	Simplify math.
+	Suggested by Alexei Podtelezhnikov <[email protected]>.
+
+	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+	Horizontal_Gray_Sweep_Drop): Do it.
+
+2009-06-04  Werner Lemberg  <[email protected]>
+
+	Preparation for fixing scan conversion rules 4 and 6.
+
+	* src/raster/ftraster.c (TFlow): Replace enumeration with...
+	(Flow_Up): This macro.
+	(TProfile): Replace `flow' member with `flags' bit field.
+	Update all affected code.
+
+2009-05-29  James Cloos  <[email protected]>
+
+	Enable autohinting for glyphs rotated by multiples of 90°.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted
+	matrices to allow rotations by multiples of 90°, not only unrotated,
+	possibly slanted matrices.
+
+2009-05-28  Werner Lemberg  <[email protected]>
+
+	Remove compiler warning.
+	Reported by Krzysztof Kowalczyk <[email protected]>.
+
+	* src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of
+	`n_edges' into `#if' block.
+
+2009-05-28  Werner Lemberg  <[email protected]>
+
+	Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined.
+	Reported by Krzysztof Kowalczyk <[email protected]>.
+
+	* src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]:
+	Make it work.
+	Simplify #ifdef logic.
+
+2009-05-22  Werner Lemberg  <[email protected]>
+
+	Improve b/w rasterizer.
+	Problem reported by Krzysztof Kotlenga <[email protected]>.
+
+	* src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+	Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if
+	intersections are equally distant relative to next pixel center,
+	select the left pixel, not the right one.
+
+2009-05-19  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #26600.
+
+	* src/type42/t42parse.c (t42_load_keyword): Handle
+	T1_FIELD_LOCATION_FONT_EXTRA.
+
+2009-04-30  Werner Lemberg  <[email protected]>
+
+	Document recent changes to ftview.
+
+	* docs/CHANGES: Do it.
+
+2009-04-27  Werner Lemberg  <[email protected]>
+
+	autohinter: Don't change digit widths if all widths are the same.
+	This fixes FreeDesktop bug #21197.
+
+	* src/autofit/afglobal.c (AF_DIGIT): New macro.
+	(af_face_globals_compute_script_coverage): Mark ASCII digits in
+	`glyph_scripts' array.
+	(af_face_globals_get_metrics): Updated.
+	(af_face_globals_is_digit): New function.
+	* src/autofit/afglobal.h: Updated.
+	(AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
+
+	* src/autofit/aflatin.c: Include FT_ADVANCES_H.
+	(af_latin_metrics_check_digits): New function.
+	(af_latin_metrics_init): Use it.
+	* src/autofit/aflatin.h: Updated.
+	* src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
+
+	* src/autofit/aflatin2.c: Similar changes as with aflatin.c.
+
+	* src/autofit/afloader.c (af_loader_load_g): Test digit width.
+
+	* docs/CHANGES: Document it.
+
+2009-04-26  Werner Lemberg  <[email protected]>
+
+	Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
+	Problems reported by [email protected].
+
+	* src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
+	FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
+	[!_STANDALONE_]: Include ftspic.h only here.
+	(ras): Define/declare after definition of `TWorker'.
+	Use `RAS_VAR_' where necessary.
+
+2009-04-21  Karl Berry  <[email protected]>
+
+	Fix AC_CHECK_FT2.
+
+	* builds/unix/freetype2.m4: Only check PATH for freetype-config if
+	we did not already find it from a prefix option.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Add #error to modules and files that do not support PIC yet.
+
+	When FT_CONFIG_OPTION_PIC is defined the following files will
+	create #error:
+	* src/bdf/bdfdrivr.h
+	* src/cache/ftcmanag.c
+	* src/cid/cidriver.h
+	* src/gxvalid/gxvmod.h
+	* src/gzip/ftgzip.c
+	* src/lzw/ftlzw.c
+	* src/otvalid/otvmod.h
+	* src/pcf/pcfdrivr.h
+	* src/pfr/pfrdrivr.h
+	* src/psaux/psauxmod.h
+	* src/type1/t1driver.h
+	* src/type42/t42drivr.h
+	* src/winfonts/winfnt.h
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in autofit module.
+
+	* include/freetype/internal/autohint.h add macros to init
+	instances of FT_AutoHinter_ServiceRec.
+
+	* src/autofit/afmodule.h declare autofit_module_class
+	using macros from ftmodapi.h,
+	when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined
+	af_autofitter_service and autofit_module_class structs
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from afpic.h in order to access them.
+
+	* src/autofit/aftypes.h add macros to init and declare
+	instances of AF_ScriptClassRec.
+
+	* src/autofit/afcjk.h declare af_cjk_script_class
+	using macros from aftypes.h,
+	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+	* src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined
+	af_cjk_script_class struct will have function to init it instead of
+	being allocated in the global scope.
+
+	* src/autofit/afdummy.h declare af_dummy_script_class
+	using macros from aftypes.h,
+	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+	* src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined
+	af_dummy_script_class struct will have function to init it instead of
+	being allocated in the global scope.
+
+	* src/autofit/afindic.h declare af_indic_script_class
+	using macros from aftypes.h,
+	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+	* src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined
+	af_indic_script_class struct will have function to init it instead of
+	being allocated in the global scope.
+
+	* src/autofit/aflatin.h declare af_latin_script_class
+	using macros from aftypes.h,
+	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+	* src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined
+	af_latin_script_class struct will have function to init it instead of
+	being allocated in the global scope.
+	Change af_latin_blue_chars to be PIC-compatible by being a two
+	dimensional array rather than array of pointers.
+
+
+	* src/autofit/aflatin2.h declare af_latin2_script_class
+	using macros from aftypes.h,
+	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+	* src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined
+	af_latin2_script_class struct will have function to init it instead of
+	being allocated in the global scope.
+	Change af_latin2_blue_chars to be PIC-compatible by being a two
+	dimensional array rather than array of pointers.
+
+	* src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
+	af_script_classes array initialization was moved to afpic.c and
+	is later referred using macros defined in afpic.h.
+
+	New Files:
+	* src/autofit/afpic.h declare struct to hold PIC globals for autofit
+	module and macros to access them.
+	* src/autofit/afpic.c implement functions to allocate, destroy and
+	initialize PIC globals for autofit module.
+
+	* src/autofit/autofit.c add new file to build: afpic.c.
+	* src/autofit/jamfile add new files to FT2_MULTI build: afpic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in pshinter module.
+
+	* include/freetype/internal/pshints.h add macros to init
+	instances of PSHinter_Interface.
+
+	* src/pshinter/pshmod.h declare pshinter_module_class
+	using macros from ftmodapi.h,
+	when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined
+	pshinter_interface and pshinter_module_class structs
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from pshpic.h in order to access them.
+
+	New Files:
+	* src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter
+	module and macros to access them.
+	* src/pshinter/pshpic.c implement functions to allocate, destroy and
+	initialize PIC globals for pshinter module.
+
+	* src/pshinter/pshinter.c add new file to build: pshpic.c.
+	* src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in psnames module.
+
+	* include/freetype/internal/services/svpscmap.h add macros to init
+	instances of FT_Service_PsCMapsRec.
+
+	* src/psnames/psmodule.h declare psnames_module_class
+	using macros from ftmodapi.h,
+	when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined
+	pscmaps_interface and pscmaps_services structs
+	and psnames_module_class array
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from pspic.h in order to access them.
+
+	New Files:
+	* src/psnames/pspic.h declare struct to hold PIC globals for psnames
+	module and macros to access them.
+	* src/psnames/pspic.c implement functions to allocate, destroy and
+	initialize PIC globals for psnames module.
+
+	* src/psnames/psnames.c add new file to build: pspic.c.
+	* src/psnames/jamfile add new files to FT2_MULTI build: pspic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in raster renderer.
+
+	* src/raster/ftrend1.h declare ft_raster1_renderer_class
+	and ft_raster5_renderer_class
+	using macros from ftrender.h,
+	when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined
+	ft_raster1_renderer_class and ft_raster5_renderer_class structs
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	Macros will be used from rastpic.h in order to access
+	ft_standard_raster from the pic_container (allocated in ftraster.c).
+	In ft_raster1_render when PIC is enabled, the last letter of
+	module_name is used to verify the renderer class rather than the
+	class pointer.
+
+	* src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
+	ft_standard_raster struct will have function to init it
+	instead of being allocated in the global scope.
+
+	New Files:
+	* src/raster/rastpic.h declare struct to hold PIC globals for raster
+	renderer and macros to access them.
+	* src/raster/rastpic.c implement functions to allocate, destroy and
+	initialize PIC globals for raster renderer.
+
+	* src/raster/raster.c add new file to build: rastpic.c.
+	* src/raster/jamfile add new files to FT2_MULTI build: rastpic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in smooth renderer.
+
+	* src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
+	ft_smooth_lcd_renderer_class and ft_smooth_lcdv_renderer_class
+	using macros from ftrender.h,
+	when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
+	the following structs:
+	ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
+	and ft_smooth_lcdv_renderer_class
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from ftspic.h in order to access
+	ft_grays_raster from the pic_container (allocated in ftgrays.c).
+
+	* src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
+	* src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
+	func_interface was moved from gray_convert_glyph_inner function
+	to the global scope.
+	When FT_CONFIG_OPTION_PIC is defined
+	func_interface and ft_grays_raster structs
+	will have functions to init them
+	instead of being allocated in the global scope.
+	And func_interface will be allocated on the stack of
+	gray_convert_glyph_inner.
+
+	New Files:
+	* src/smooth/ftspic.h declare struct to hold PIC globals for smooth
+	renderer and macros to access them.
+	* src/smooth/ftspic.c implement functions to allocate, destroy and
+	initialize PIC globals for smooth renderer.
+
+	* src/smooth/smooth.c add new file to build: ftspic.c.
+	* src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in cff driver.
+
+	* include/freetype/internal/services/svcid.h add macros to init
+	instances of FT_Service_CIDRec.
+	* include/freetype/internal/services/svpsinfo.h add macros to init
+	instances of FT_Service_PsInfoRec.
+
+	* src/cff/cffcmap.h declare cff_cmap_encoding_class_rec
+	and cff_cmap_unicode_class_rec using macros from
+	ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined
+	the following structs:
+	cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+
+	* src/cff/cffdrivr.h declare cff_driver_class using macros from
+	ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined
+	the following structs:
+	cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name
+	cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class,
+	and cff_services array
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from cffpic.h in order to access them
+	from the pic_container.
+	Use macros from cffpic.h in order to access the
+	structs allocated in cffcmap.c
+
+	* src/cff/cffobjs.c Use macros from cffpic.h in order to access the
+	structs allocated in cffcmap.c
+
+	* src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined
+	implement functions to create and destroy cff_field_handlers array
+	instead of being allocated in the global scope.
+	And macros will be used from cffpic.h in order to access it
+	from the pic_container.
+
+	New Files:
+	* src/cff/cffpic.h declare struct to hold PIC globals for cff
+	driver and macros to access them.
+	* src/cff/cffpic.c implement functions to allocate, destroy and
+	initialize PIC globals for cff driver.
+
+	* src/cff/cff.c add new file to build: cffpic.c.
+	* src/cff/jamfile add new files to FT2_MULTI build: cffpic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in sfnt driver.
+
+	* include/freetype/internal/services/svbdf.h add macros to init
+	instances of FT_Service_BDFRec.
+	* include/freetype/internal/services/svgldict.h add macros to init
+	instances of FT_Service_GlyphDictRec.
+	* include/freetype/internal/services/svpostnm.h add macros to init
+	instances of FT_Service_PsFontNameRec.
+	* include/freetype/internal/services/svsfnt.h add macros to init
+	instances of FT_Service_SFNT_TableRec.
+	* include/freetype/internal/services/svttcmap.h add macros to init
+	instances of FT_Service_TTCMapsRec.
+	* include/freetype/internal/sfnt.h add macros to init
+	instances of SFNT_Interface.
+
+	* src/sfnt/sfdriver.h declare sfnt_module_class using macros from
+	ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
+	the following structs:
+	sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
+	tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
+	sfnt_module_class, and sfnt_services array
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from sfntpic.h in order to access them
+	from the pic_container.
+
+	* src/sfnt/ttcmap.h add macros to init
+	instances of TT_CMap_ClassRec.
+	* src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
+	the following structs:
+	tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
+	tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
+	tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from sfntpic.h in order to access them
+	from the pic_container.
+	The content of tt_cmap_classes is now described in the
+	new file 'ttcmapc.h'.
+
+	New Files:
+	* src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
+	driver and macros to access them.
+	* src/sfnt/sfntpic.c implement functions to allocate, destroy and
+	initialize PIC globals for sfnt driver.
+	* src/sfnt/ttcmapc.h describing the content of
+	tt_cmap_classes allocated in ttcmap.c
+
+	* src/sfnt/sfnt.c add new file to build: sfntpic.c.
+	* src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support in truetype driver.
+
+	* include/freetype/internal/services/svmm.h add macros to init
+	instances of FT_Service_MultiMastersRec.
+	* include/freetype/internal/services/svttglyf.h add macros to init
+	instances of FT_Service_TTGlyfRec.
+
+	* src/truetype/ttdriver.h declare tt_driver_class using macros from
+	ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+	functions will be declared.
+	* src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
+	the following structs:
+	tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
+	and tt_services array,
+	will have functions to init or create and destroy them
+	instead of being allocated in the global scope.
+	And macros will be used from ttpic.h in order to access them
+	from the pic_container.
+	* src/truetype/ttobjs.c change trick_names array to be
+	PIC-compatible by being a two dimensional array rather than array
+	of pointers.
+
+	New Files:
+	* src/truetype/ttpic.h declare struct to hold PIC globals for truetype
+	driver and macros to access them.
+	* src/truetype/ttpic.c implement functions to allocate, destroy and
+	initialize PIC globals for truetype driver.
+
+	* src/truetype/truetype.c add new file to build: ttpic.c.
+	* src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Position Independent Code (PIC) support and infrastructure in base.
+
+	* include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
+	* include/freetype/internal/ftobjs.h Add pic_container member to
+	FT_LibraryRec.
+	Add macros to declare and init instances of FT_CMap_ClassRec.
+	Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
+	Add macros to declare, allocate and initialize modules
+	(FT_Module_Class).
+	Add macros to declare, allocate and initialize renderers
+	(FT_Renderer_Class).
+	Add macro to init instances of FT_Glyph_Class.
+	Add macros to declare, allocate and initialize drivers
+	(FT_Driver_ClassRec).
+	* include/freetype/internal/ftpic.h new file to declare the
+	FT_PIC_Container struct and the functions to allocate and destroy it.
+	* include/freetype/internal/ftserv.h add macros to allocate and
+	destroy arrays of FT_ServiceDescRec.
+	* include/freetype/internal/internal.h define macro to include
+	ftpic.h.
+
+	New Files:
+	* src/base/ftpic.c implement functions to allocate and destroy the
+	global pic_container.
+	* src/base/basepic.h declare struct to hold PIC globals for base and
+	macros to access them.
+	* src/base/basepic.c implement functions to allocate, destroy and
+	initialize PIC globals for base.
+
+	* src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
+	functions that allocate and destroy ft_default_modules according to
+	FT_CONFIG_MODULES_H in the pic_container instead of the global scope
+	and use macro from basepic.h to access it.
+	* src/base/ftobjs.c add calls to the functions that allocate and
+	destroy the global pic_container when the library is created and
+	destroyed.
+
+	* src/base/jamfile add new files to FT2_MULTI build:
+	ftpic.c and basepic.c.
+	* src/base/ftbase.c add new files to build:
+	ftpic.c and basepic.c.
+
+	* src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
+	ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
+	in the pic_container instead of the global scope and use macros from
+	basepic.h to access them.
+	* src/base/ftbbox.c allocate bbox_interface struct on the stack
+	instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
+	* src/base/ftstroke.c access ft_outline_glyph_class allocated in
+	ftglyph.c via macros from basepic.h
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Preparing changes in cff parser later needed for PIC version.
+
+	* src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
+	src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
+	'CFF_ParserRec' set by `cff_parser_init'.
+	Route library pointer from 'cff_face_init' to 'cff_subfont_load'
+	for `cff_parser_init'.
+
+	* src/cff/cffparse.c (CFF_Field_Handler): Move it to...
+	* src/cff/cffparse.h: This file, to be used by other C files.
+
+2009-04-05  Oran Agra  <[email protected]>
+
+	Minor change in ftstroke.c.
+
+	* src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
+	`library' needed for PIC version.
+	Update all callers.
+
+2009-04-04  Werner Lemberg  <[email protected]>
+
+	ftnames.c -> ftsnames.c
+
+	* src/base/ftnames.c: Rename to...
+	* src/base/ftsnames.c: This.
+	* src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
+
+2009-04-04  Werner Lemberg  <[email protected]>
+
+	Add support for cmap type 13.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_CMAP_FORMAT_13): New macro.
+
+	* src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
+	tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
+	tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
+	tt_cmap14_class_rec): New functions and structures for cmap 13
+	support.
+	(tt_cmap_classes): Register tt_cmap13_class_rec.
+
+	* docs/CHANGES: Mention cmap 13 support.
+
+2009-04-01  Werner Lemberg  <[email protected]>
+
+	Ignore empty contours in CFF glyphs.
+
+	Problem reported by Albert Astals Cid <[email protected]>.
+
+	* src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
+	t1_builder_close_contour.
+
+2009-03-21  Werner Lemberg  <[email protected]>
+
+	Another redundant header inclusion.
+
+	* src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
+
+2009-03-21  Werner Lemberg  <[email protected]>
+
+	Remove redundant header inclusions.
+
+	This covers many Ghostscript Coverity issues.
+
+	* src/*: Do it.
+
+2009-03-21  Werner Lemberg  <[email protected]>
+
+	Fix Ghostscript Coverity issue #3904.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
+	invalid values of `runcnt'.
+
+2009-03-20  Werner Lemberg  <[email protected]>
+
+	Fix `make multi' run.
+
+	* src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
+
+2009-03-20  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #25923.
+
+	* src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
+
+2009-03-20  Werner Lemberg  <[email protected]>
+
+	Protect against too large glyphs.
+
+	Problem reported by Tavis Ormandy <[email protected]>.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
+	`pitch' or `height' to be larger than 0xFFFF.
+
+2009-03-20  Werner Lemberg  <[email protected]>
+	    Tavis Ormandy  <[email protected]>
+
+	Fix validation for various cmap table formats.
+
+	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
+	tt_cmap12_validate): Check `length' correctly.
+	(tt_cmap_14_validate): Check `length' and `numMappings' correctly.
+
+2009-03-20  Werner Lemberg  <[email protected]>
+
+	Protect against malformed compressed data.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
+	zero.
+
+2009-03-20  Werner Lemberg  <[email protected]>
+
+	Protect against invalid SID values in CFFs.
+
+	Problem reported by Tavis Ormandy <[email protected]>.
+
+	* src/cff/cffload.c (cff_charset_load): Reject SID values larger
+	than 64999.
+
+2009-03-19  Vincent Richomme  <[email protected]>
+
+	Update WinCE Visual C project files.
+
+	* builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
+	files.
+
+2009-03-19  Werner Lemberg  <[email protected]>
+
+	Remove unused Win32 code.
+
+	* builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
+	Since Win32 is handled separately this is no longer needed.
+
+2009-03-19  Vincent Richomme  <[email protected]>
+
+	Make `gzip' module compile on WinCE.
+
+	* src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
+
+2009-03-19  Werner Lemberg  <[email protected]>
+
+	Remove unused WinCE code.
+
+	* builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
+	Since WinCE is handled separately this is no longer needed.
+
+2009-03-16  Werner Lemberg  <[email protected]>
+
+	docmaker: Don't ignore single-line code blocks.
+
+	* src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
+	2009-01-31.
+
+2009-03-15  Steve Langasek  <[email protected]>
+
+	Use __asm__ for declaring assembly instead of asm.
+
+	* builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
+	asm on arm, fixing a build failure on armel with -pedantic.
+
+2009-03-14  Werner Lemberg  <[email protected]>
+
+	Fix valgrind warning.
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
+	past the end of the frame.
+
+2009-03-12  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.9 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-9'.
+
+2009-03-12  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
+
+2009-03-12  Werner Lemberg  <[email protected]>
+
+	Fix some FreeType Coverity issues as reported for Ghostscript.
+
+	* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
+	`args.stream' (#3874, #3875).
+	(open_face_PS_from_sfnt_stream): Improve error management (#3786).
+	* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
+	(#3870).
+	* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
+	code (#3790).
+	* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
+	value of `FT_Stream_Skip' (#3784).
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
+	it (#3872)
+
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
+	it (#3871).
+	* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
+	`pcf_get_metric' (#3789, #3782).
+	(pcf_get_properties): Use FT_STREAM_SKIP (#3783).
+
+	* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
+	`acache' (#3797)
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
+	(#3796).
+	* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
+	* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
+
+	* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
+	(#3793).
+	(_bdf_parse_start): Add comment (#3792).
+
+	* src/raster/ftraster.c (Finalize_Profile_Table): Check
+	`ras.fProfile' (#3791).
+
+	* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
+
+	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
+	seek error (#3781).
+
+2009-03-11  Michael Toftdal  <[email protected]>
+
+	Extend CID service functions to handle CID-keyed CFFs as CID fonts.
+
+	* include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
+	FT_Get_CID_From_Glyph_Index): New functions.
+
+	* include/freetype/internal/services/svcid.h
+	(FT_CID_GetIsInternallyCIDKeyedFunc,
+	FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
+	(CID Service): Use them.
+
+	* src/base/ftcid.c: Include FT_CID_H.
+	(FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
+	New functions.
+
+	* src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
+	New functions.
+	(cff_service_cid_info): Add them.
+	* src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
+	-- it is needed for access as a CID-keyed font.  It gets deleted
+	later on.
+
+	* src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
+	New functions.
+	(cid_service_cid_info): Add them.
+
+	* docs/CHANGES: Updated.
+
+2009-03-11  Bram Tassyns  <[email protected]>
+
+	Fix Savannah bug #25597.
+
+	* src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
+	to become larger than 9.
+
+2009-03-11  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #25814.
+
+	* builds/unix/freetype2.in: As suggested in the bug report, move
+	@LIBZ@ to `Libs.private'.
+
+2009-03-11  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #25781.
+	We now simply check for a valid `offset', no longer handling `delta
+	= 1' specially.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
+	last segment.
+	(tt_cmap4_set_range, tt_cmap4_char_map_linear,
+	tt_cmap4_char_map_binary): Check offset.
+
+2009-03-11  Werner Lemberg  <[email protected]>
+
+	* src/base/Jamfile: Fix handling of ftadvanc.c.
+	Reported by Oran Agra <[email protected]>.
+
+2009-03-10  Vincent Richomme  <[email protected]>
+
+	Restructure Win32 and Wince compiler support.
+
+	* src/builds/win32: Remove files for WinCE.
+	Move VC 2005 support to a separate directory.
+	Add directory for VC 2008 support.
+
+	* src/builds/wince: New directory hierarchy for WinCE compilers
+	(VC 2005 and VC 2008).
+
+2009-03-09  Werner Lemberg  <[email protected]>
+
+	More preparations for 2.3.9 release.
+
+	* docs/CHANGES: Updated.
+
+	* Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
+
+2009-03-09  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
+
+2009-03-09  Alexey Kryukov  <[email protected]>
+
+	Fix handling of EBDT formats 8 and 9 (part 2).
+
+	This patch fixes the following problems in ttsbit0.c:
+
+	. Bitmaps for compound glyphs were never allocated.
+
+	. `SBitDecoder' refused to load metrics if some other metrics have
+	  already been loaded.  This condition certainly makes no sense for
+	  recursive calls, so I've just disabled it.  Another possibility
+	  would be resetting `decoder->metrics_loaded' to false before
+	  loading each composite component.  However, we must restore the
+	  original metrics after finishing the recursion; otherwise we can
+	  get a misaligned glyph.
+
+	. `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
+	  causing some glyph components to be shifted too far to the right
+	  (especially noticeable for small sizes).
+
+	Note that support for grayscale bitmaps (not necessarily compound) is
+	completely broken in ttsbit0.c.
+
+	* src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
+	(tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
+	of `h == height'.
+	(tt_sbit_decoder_load_compound): Reset metrics after loading
+	components.
+	Allocate bitmap.
+
+2009-03-09  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.raw (version_info): Set to 9:20:3.
+
+2009-03-03  David Turner  <[email protected]>
+
+	Protect SFNT kerning table parser against malformed tables.
+
+	This closes Savannah BUG #25750.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
+	bug where a malformed table would be successfully loaded but later
+	crash the engine during parsing.
+
+2009-03-03  David Turner  <[email protected]>
+
+	Update documentation and bump version number to 2.3.9.
+
+	* include/freetype/freetype.h: Bump patch version to 9.
+	* docs/CHANGES: Document the ABI break in 2.3.8.
+	* docs/VERSION.DLL: Update version numbers table for 2.3.9.
+
+2009-03-03  David Turner  <[email protected]>
+
+	Remove ABI-breaking field in public PS_InfoFontRec definition.
+
+	Instead, we define a new internal PS_FontExtraRec structure to
+	hold the additional field, then place it in various internal
+	positions of the corresponding FT_Face derived objects.
+
+	* include/freetype/t1tables.h (PS_FontInfoRec): Remove the
+	`fs_type' field from the public structure.
+	* include/freetype/internal/psaux.h (T1_FieldLocation): New
+	enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
+	* include/freetype/internal/t1types.h (PS_FontExtraRec): New
+	structure.
+	(T1_FontRec, CID_FaceRec): Add it.
+
+	* src/cid/cidload.c (cid_load_keyword): Handle
+	T1_FIELD_LOCATION_FONT_EXTRA.
+	* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
+	Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
+	* src/type1/t1load.c (t1_load_keyword): Handle
+	T1_FIELD_LOCATION_FONT_EXTRA.
+
+	* include/freetype/internal/services/svpsinfo.h (PsInfo service):
+	Add `PS_GetFontExtraFunc' function typedef.
+
+	* src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
+	FT_SERVICE_POSTSCRIPT_INFO_H.
+	(FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
+
+	* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+	* src/cid/cidriver.c (cid_ps_get_font_extra): New function.
+	(cid_service_ps_info): Updated.
+	* src/type1/t1driver.c (t1_ps_get_font_extra): New function.
+	(t1_service_ps_info): Updated.
+	* src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
+	(t42_service_ps_info): Updated.
+
+2009-03-02  Alexey Kryukov  <[email protected]>
+
+	Fix handling of EBDT formats 8 and 9.
+
+	The main cycle in `blit_sbit' makes too many iterations: it actually
+	needs the count of lines in the source bitmap rather than in the
+	target image.
+
+	* src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
+	Add parameter `source_height' and use it for main loop.
+	(Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
+
+2009-02-23  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #25669.
+
+	* src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
+
+	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
+	scaling factor for non-scalable fonts.
+
+	* src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
+	value to prevent incorrect scaling.
+
+	* docs/CHANGES: Document it.
+
+2009-02-15  Matt Godbolt  <[email protected]>
+
+	Fix Savannah bug #25588.
+
+	* builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
+	`orr' instruction.
+
+2009-02-11  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
+	Reported by David Bevan <[email protected]>.
+
+2009-02-09  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #25495.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
+	setting metrics and bbox values.  This ensures that the check for a
+	font with neither a `glyf' table nor bitmap strikes can be performed
+	early enough to set metrics and bbox values too.
+
+2009-02-04  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #25480.
+
+	* builds/unix/freetype-config.in: For --ftversion, don't use $prefix
+	but $includedir.
+
+2009-01-31  Werner Lemberg  <[email protected]>
+
+	Minor docmaker improvements.
+
+	* src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
+	code blocks.
+
+2009-01-25  Werner Lemberg  <[email protected]>
+
+	Fix SCANCTRL handling in TTFs.
+	Problem reported by Alexey Kryukov <[email protected]>.
+
+	* src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
+
+2009-01-23  Werner Lemberg  <[email protected]>
+
+	Move FT_Get_FSType_Flags to a separate file.
+	Problem reported by Mickey Gabel <[email protected]>.
+
+	* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
+	* src/base/ftfstype.c: This new file.
+
+	* modules.cfg (BASE_EXTENSION): Add ftfstype.c.
+
+	* docs/INSTALL.ANY: Updated.
+
+	* builds/mac/*.txt, builds/amiga/*makefile*,
+	builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
+	Updated.
+
+2009-01-22  suzuki toshiya  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
+	messages ending without "\n".
+
+2009-01-22  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #25347.
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
+	the stream to the original position passed to this function,
+	when ft_lookup_PS_in_sfnt_stream() failed.
+	(Mac_Read_sfnt_Resource): Rewind the stream to the head of
+	sfnt resource body, when open_face_PS_from_sfnt_stream()
+	failed.
+
+2009-01-19  Michael Lotz  <[email protected]>
+
+	Fix Savannah bug #25355.
+
+	* include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
+	assembler code work with gcc 2.95.3 (as used by the Haiku project).
+	Add `cc' register to the clobber list.
+
+2009-01-18  Werner Lemberg  <[email protected]>
+
+	Protect FT_Get_Next_Char.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
+	change from 2008-07-22.
+
+	Patch from Ronen Ghoshal <[email protected]>.
+
+2009-01-18  Werner Lemberg  <[email protected]>
+
+	Implement FT_Get_Name_Index for SFNT driver.
+
+	* src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
+	(sfnt_service_glyph_dict): Use it.
+
+	Problem reported by Truc Truong <[email protected]>.
+
+2009-01-18  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
+	documentation.  Problem reported by Truc Truong <[email protected]>.
+
+	* docs/CHANGES: Updated.
+
+2009-01-14  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.8 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-8'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.3.8.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+
+	* builds/unix/configure.raw (version_info): Set to 9:19:3.
+
+	* docs/release: Updated.
+
+2009-01-14  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (dist): Compress better.
+
+2009-01-13  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
+	with C++.
+
+2009-01-13  Werner Lemberg  <[email protected]>
+
+	Don't use stdlib.h and friends directly.
+	Reported by Mickey Gabel <[email protected]>.
+
+	* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+
+	* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
+	s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+
+	* src/autofit/aftypes.h, src/autofit/afhints.c,
+	src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
+
+	* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
+
+2009-01-12  Werner Lemberg  <[email protected]>
+
+	Avoid compiler warnings.
+
+	* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
+	Reported by Sean McBride <[email protected]>.
+
+2009-01-12  Werner Lemberg  <[email protected]>
+
+	Fix stdlib dependencies.
+
+	Problem reported by Mickey Gabel <[email protected]>.
+
+	* include/freetype/config/ftstdlib.h (ft_exit): Removed.  Unused.
+
+	* src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
+	s/memcpy/ft_memcpy/.
+	* src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
+
+2009-01-11  Werner Lemberg  <[email protected]>
+
+	* docs/formats.txt: Add link to PCF specification.
+
+	* include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
+	documentation.
+
+2009-01-09  suzuki toshiya  <[email protected]>
+
+	* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+	FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
+	FT_Int32, to match with the flags for FT_Load_Glyph().
+	* src/cff/cffdrivr.c (cff_get_advances): Ditto.
+	* src/truetype/ttdriver.c (tt_get_advances): Ditto.
+	* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+	Ditto.
+	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+	Ditto.
+
+2009-01-09  Daniel Zimmermann  <[email protected]>
+
+	* src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
+	length check.  From Savannah patch #6682.
+
+2009-01-09  Werner Lemberg  <[email protected]>
+
+	Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
+
+	* src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
+	`count_offset' if it is zero (i.e., unused).  Otherwise, the first
+	element of the structure which holds the data is erroneously
+	modified.  Problem reported by Chi Nguyen <[email protected]>.
+
+2009-01-09  suzuki toshiya  <[email protected]>
+
+	* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+	FT_Get_Advances): Extend the type of load_flags from FT_UInt to
+	FT_UInt32, to pass 32-bit flags on 16bit platforms.
+	* src/cff/cffdrivr.c (cff_get_advances): Ditto.
+	* src/truetype/ttdriver.c (tt_get_advances): Ditto.
+	* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+	Ditto.
+	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+	Ditto.
+
+2009-01-09  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Done_Library): Issue an error message when
+	FT_Done_Face() cannot free all faces. If the list of the opened
+	faces includes broken face which FT_Done_Face() cannot free,
+	FT_Done_Library() retries FT_Done_Face() and it can fall into
+	an endless loop. See the discussion:
+	https://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
+	https://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
+
+2009-01-07  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Document new key `a' in ftdiff.
+
+2009-01-06  Werner Lemberg  <[email protected]>
+
+	* autogen.sh: Don't use GNUisms while calling sed.  Problem reported
+	by Sean McBride.
+
+2009-01-06  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
+	and FT_PIXEL_MODE_LCD_V.  Problem reported by Chi Nguyen
+	<[email protected]>.
+
+2009-01-06  Diego Pettenò  <[email protected]>
+
+	* builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
+	AC_CANONICAL_TARGET and use $host_os only.  A nice explanation for
+	this change can be found at
+	https://blog.flameeyes.eu/s/canonical-target.
+
+	From Savannah patch #6712.
+
+2009-01-06  Sean McBride  <[email protected]>
+
+	* src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
+
+	* src/base/ftmac.c: Remove some #undefs.
+
+2008-12-26  Werner Lemberg  <[email protected]>
+
+	Set `face_index' field in FT_Face for all font formats.
+
+	* cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
+	sfnt/sfobjs.c (sfnt_init_face): Do it.
+
+	* docs/CHANGES: Document it.
+
+2008-12-22  Steve Grubb
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
+	Patch from Savannah bug #25151.
+
+2008-12-21  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
+	src/smooth/ftgrays.c, src/base/ftobjs.c, src/sfobjs.c:
+	s/_Err_Bad_Argument/_Err_Invalid_Argument/.  The former is for
+	errors in the bytecode interpreter only.
+
+2008-12-21  Werner Lemberg  <[email protected]>
+
+	* src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
+	arguments.
+	Fix return value for non-PFR fonts.  Both problems reported by Chi
+	Nguyen <[email protected]>.
+
+2008-12-21  anonymous
+
+	FT_USE_MODULE declares things as:
+
+	  extern const FT_Module_Class
+
+	(or similar for C++).  However, the actual types of the variables
+	being declared are often different, e.g., FT_Driver_ClassRec or
+	FT_Renderer_Class.  (Some are, indeed, FT_Module_Class.)
+
+	This works with most C compilers (since those structs begin with an
+	FT_Module_Class struct), but technically it's undefined behavior.
+
+	To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
+	paragraph 2:
+
+	  All declarations that refer to the same object or function shall
+	  have compatible type; otherwise, the behavior is undefined.
+
+	(And they are not compatible types.)
+
+	Most C compilers don't reject (or even detect!) code which has this
+	issue, but the GCC LTO development branch compiler does.  (It
+	outputs the types of the objects while generating .o files, along
+	with a bunch of other information, then compares them when doing the
+	final link-time code generation pass.)
+
+	Patch from Savannah bug #25133.
+
+	* src/base/ftinit.c (FT_USE_MODULE): Include variable type.
+
+	* builds/amiga/include/freetype/config/ftmodule.h,
+	include/freetype/config/ftmodule.h, */module.mk: Updated to declare
+	pass correct types to FT_USE_MODULE.
+
+2008-12-21  Hongbo Ni  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_hint_edges),
+	src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
+	(af_cjk_hint_edges): Protect against division by zero.  This fixes
+	Savannah bug #25124.
+
+2008-12-18  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2008-12-18  David Bevan  <[email protected]>
+
+	Provide API for accessing embedding and subsetting restriction
+	information.
+
+	* include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
+	FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
+	FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
+	FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
+	macros.
+	(FT_Get_FSType_Flags): New function declaration.
+
+	* src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
+
+	* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
+	(t42_keywords): Handle `FSType'.
+
+	* include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
+
+2008-12-17  Werner Lemberg  <[email protected]>
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
+	macros so that copying the source code into an application works
+	out of the box.
+
+2008-12-17  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftsynth.h, src/base/ftsynth.c: Move
+	FT_GlyphSlot_Own_Bitmap to...
+	* include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
+
+	* docs/CHANGES: Document it.
+
+2008-12-10  Werner Lemberg  <[email protected]>
+
+	Generalize the concept of `tricky' fonts by introducing
+	FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
+	engine is necessary for correct rendering.
+
+	At the same time, slightly modify the behaviour of tricky fonts:
+	FT_LOAD_NO_HINTING is now ignored.  To really force raw loading
+	of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
+	FT_LOAD_NO_AUTOHINT must be used.
+
+	Finally, tricky TrueType fonts always use the bytecode interpreter
+	even if the patented code is used.
+
+	* include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
+	New macros.
+
+	* src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
+	semantics as described above.
+
+	* src/truetype/ttobjs.c (tt_check_trickyness): New function, using
+	code of ...
+	(tt_face_init): This function, now simplified and updated to new
+	semantics.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
+	fonts.
+
+	* docs/CHANGES: Document it.
+
+2008-12-09  Werner Lemberg  <[email protected]>
+
+	Really fix Savannah bug #25010: An SFNT font with neither outlines
+	nor bitmaps can be considered as containing space `glyphs' only.
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
+	a `glyf' table is missing.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
+	`glyf' table but a non-zero `loca' entry.
+	(tt_loader_init): Handle missing `glyf' table.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
+	nor bitmaps is scalable.
+
+2008-12-05  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges.  This
+	fixes Savannah bug #21190 which also provides a basic patch.
+
+2008-12-05  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
+	0x100 instead of 0x10000; the latter value is already occupied by
+	FT_LOAD_TARGET_LIGHT.  Bug reported by James Cloos.
+
+
+	Handle SFNT with neither outlines nor bitmaps.  This fixes Savannah
+	bug #25010.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
+	outlines nor bitmaps.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
+	is no table with glyphs.
+
+
+	* src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
+	message.
+
+2008-12-01  Werner Lemberg  <[email protected]>
+
+	GDEF tables need `glyph_count' too for validation.  Problem reported
+	by Chi Nguyen <[email protected]>.
+
+	* src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
+	(otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
+	`glyph_count'.
+
+2008-11-29  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
+	src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
+	src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
+	src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
+	src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
+	(Atari PureC).
+
+2008-11-29  James Cloos  <[email protected]>
+
+	* src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
+	it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
+	in the /BlendDesignMap space).
+
+2008-11-29  James Cloos  <[email protected]>
+
+	* src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
+	whereas `design_points' is FT_Long*.  Therefore, return blend rather
+	than design points.
+
+2008-11-27  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_real): Handle more than nine
+	significant digits correctly.  This fixes Savannah bug #24953.
+
+2008-11-25  Daniel Zimmermann  <[email protected]>
+
+	* src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
+	before the NULL check.  From Savannah patch #6681.
+
+2008-11-24  Werner Lemberg  <[email protected]>
+
+	Fixes from the gnuwin32 port.
+
+	* src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
+
+	* src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
+
+	* src/psaux/psobjs.c (ps_table_add): Check `length'.
+
+2008-11-15  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (tt_default_graphics_state): The default
+	value for `scan_type' is zero, as confirmed by Greg Hitchcock from
+	Microsoft.  Problem reported by Michal Nowakowski
+	<[email protected]>.
+
+2008-11-12  Tor Andersson  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
+	This fixes Savannah bug #24819.
+
+2008-11-08  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
+	since OpenType version 1.5 has been released.
+
+	* include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
+	TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
+	(TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
+	TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
+	TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
+	TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
+	TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
+	TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
+	TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
+	TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
+	TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
+	TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
+	TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
+	macros for OpenType 1.5.
+
+2008-11-08  Wenlin Institute  <[email protected]>
+
+	* src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
+	slot->internal == NULL.  Reported by Graham Asher.
+
+2008-11-08  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
+	code so that memory allocation problems can be distinguished from
+	missing table entries.  Reported by Graham Asher.
+	(GET_NAME): New macro.
+	(sfnt_load_face): Use it.
+
+2008-11-05  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
+	TT_CONFIG_OPTION_UNPATENTED_HINTING.  This fixes the return value of
+	`FT_Get_TrueType_Engine_Type' (and makes it work as documented).
+	Reported in bug #441638 of bugzilla.novell.com.
+
+	* docs/CHANGES: Document it.
+
+2008-11-03  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs): Use an endless loop.  There are
+	fonts (like HELVI.PFB version 003.001, used on OS/2) which define
+	some `subrs' elements more than once.  Problem reported by Peter
+	Weilbacher <[email protected]>.
+
+2008-10-15  Graham Asher  <[email protected]>
+
+	* src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
+
+2008-10-15  David Turner  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
+	meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
+
+2008-10-14  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
+	Suggested by Bram Tassyns in Savannah patch #6651.
+
+2008-10-12  Graham Asher  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
+	`underline_position'.
+
+2008-10-12  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2008-10-09  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #24468.
+
+	According to include/freetype/internal/ftobjs.h, the appropriate
+	type to interchange single character codepoint is FT_UInt32. It
+	should be distinguished from FT_UInt which can be 16bit integer.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
+	of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
+	(tt_cmap4_char_map_binary): Ditto.
+	(tt_cmap14_get_nondef_chars): Change the type of return value
+	from FT_UInt* to FT_UInt32*.
+
+2008-10-08  John Tytgat  <[email protected]>
+
+	Fix Savannah bug #24485.
+
+	* src/type1/t1load.c (parse_charstrings): Assure that we always have
+	a .notdef glyph.
+
+2008-10-05  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
+	* builds/mac/ftmac.c: Ditto.
+
+2008-10-05  suzuki toshiya  <[email protected]>
+
+	* include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
+	* src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
+
+2008-10-05  suzuki toshiya  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
+	the beginning of sfnt container.
+	* src/sfnt/ttload.c (check_table_dir): Return
+	`SFNT_Err_Table_Missing' when sfnt table directory structure is
+	correct but essential tables for TrueType fonts (`head', `bhed' or
+	`SING') are missing.  Other errors are returned by
+	SFNT_Err_Unknown_File_Format.
+
+	* src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
+	`FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'.  It is
+	enabled only when old mac font support is configured.
+
+2008-10-04  suzuki toshiya  <[email protected]>
+
+	* include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
+	TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
+	the repeated calculations of these values in ftobjs.c and ftmac.c.
+	* src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
+	* src/base/ftmac.c: Ditto.
+	* builds/mac/ftmac.c: Ditto.
+
+2008-10-04  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
+	initialization of *is_sfnt_cid.
+
+2008-10-04  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
+	warnings.
+
+2008-10-04  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
+	(ft_lookup_PS_in_sfnt_stream): This.
+	(open_face_PS_from_sfnt_stream): New function.  It checks whether
+	the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
+	font, then try to open a face for given face_index.
+	(Mac_Read_sfnt_Resource): Replace the combination of
+	`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
+	`open_face_PS_from_sfnt_stream'.
+	* src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+	* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+	* src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
+	`open_face_PS_from_sfnt_stream'.
+
+2008-10-03  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
+	FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
+
+2008-10-03  suzuki toshiya  <[email protected]>
+
+	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
+	MrC compiler of MPW is used.  These compilers do not define the
+	macro __APPLE__ by themselves.
+	* builds/unix/ftconfig.in: Ditto.
+	* builds/vms/ftconfig.h: Ditto.
+	* src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
+	include ftmac.c if FreeType 2 is built by MPW.
+	* src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
+	enable shared functions for ftmac.c if FreeType 2 is built by MPW.
+
+	* builds/mac/ftmac.c: Include ftbase.h.
+	(memory_stream_close): Removed.
+	(new_memory_stream): Ditto.
+	(open_face_from_buffer): Removed.  Use the implementation in
+	ftobjs.c.
+	(ft_lookup_PS_in_sfnt): Ditto.
+
+	* builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
+	included part of ftbase.c, to share the functions in ftobjs.c.  The
+	rule compiling ftmac.c separately is removed and the rule copying
+	ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
+	* builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
+	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+
+2008-10-02  Bram Tassyns  <[email protected]>
+
+	* src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0.  This
+	fixes Savannah bug #24430.
+
+2008-10-02  Werner Lemberg  <[email protected]>
+
+	* builds/freetype.mk (BASE_H): Rename to...
+	(INTERNAL_H): This.
+	(FREETYPE_H): Updated.
+	* src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
+	* src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
+	* src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
+	* src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
+	* src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
+	* src/type42/rules.mk (T42_DRV_H): Add t42types.h.
+
+2008-10-02  suzuki toshiya  <[email protected]>
+
+	* src/base/ftbase.h: New file to declare the private utility
+	functions shared by the sources of base modules.  Currently,
+	`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
+	share between ftobjs.c and ftmac.c.
+
+	* src/base/rule.mk: Add ftbase.h.
+
+	* src/base/ftobjs.c: Include ftbase.h.
+	(memory_stream_close): Build on any platform when old MacOS font
+	support is enabled.
+	(new_memory_stream): Ditto.
+	(open_face_from_buffer): Build on any platform when old MacOS font
+	support is enabled.  The counting of the face in a font file is
+	slightly different between Carbon-dependent parser and Carbon-free
+	parser.  They are merged with the platform-specific conditional.
+	(ft_lookup_PS_in_sfnt): Ditto.
+
+	* src/base/ftmac.c: Include ftbase.h.
+	(memory_stream_close): Removed.
+	(new_memory_stream): Ditto.
+	(open_face_from_buffer): Removed.  Use the implementation in
+	ftobjs.c.
+	(ft_lookup_PS_in_sfnt): Ditto.
+
+2008-10-02  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
+	if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
+
+2008-10-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
+	(cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
+	src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
+	(cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
+	src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
+	Reported by Graham Asher.
+
+2008-09-30  suzuki toshiya  <[email protected]>
+
+	* src/base/rules.mk: Add conditional source to BASE_SRC, for `make
+	multi' on Mac OS X.  If the macro $(ftmac_c) is defined,
+	$(BASE_DIR)/$(ftmac_c) is added to BASE_SRC.  In a normal build, the
+	lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
+	ftmac.c.
+	* builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
+	* builds/unix/configure.raw: Add procedure to set up appropriate
+	value of $(ftmac_c) with the consideration of the availability of
+	Carbon framework.
+
+2008-09-30  suzuki toshiya  <[email protected]>
+
+	* src/base/Jamfile: Add target for multi build by jam on Mac OS X.
+	* src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
+	function for MPW building.  It is synchronized the condition to
+	include ftmac.c source into ftbase.c.
+
+2008-09-22  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
+	cff_decoder_parse_charstrings): Handle (invalid)
+	`callothersubr' and `pop' instructions.
+
+2008-09-22  John Tytgat  <[email protected]>
+
+	Fix Savannah bug #24307.
+
+	* include/freetype/internal/t1types.h (CID_FaceRec),
+	src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
+
+2008-09-21  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_raster_render): Don't dereference
+	`target_map' if FT_RASTER_FLAG_DIRECT is set.  Problem reported by
+	Stephan T. Lavavej <[email protected]>.
+
+2008-09-21  suzuki toshiya  <[email protected]>
+
+	* src/otvalid/Jamfile: Add missing target `otvmath' for multi build
+	by jam.
+	* src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
+	jam.
+
+2008-09-20  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_find_cell): Fix threshold.  The values
+	passed to this function are already `normalized'.  Problem reported
+	by Stephan T. Lavavej <[email protected]>.
+
+	* docs/CHANGES: Document it.
+
+2008-09-20  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_Outline_Decompose): Decorate with tracing messages.
+
+	* src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
+	FT_DEBUG_LEVEL_TRACE.
+	[_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
+	stdarg.h.
+
+	(FT_TRACE) [_STANDALONE_]: Remove.
+	(FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
+	(FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
+	(FT_ERROR) [_STANDALONE_]: Updated.
+
+	(gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
+	Use FT_TRACE7.
+	(gray_dump_cells): Make it `static void'.
+	(gray_convert_glyph): Use FT_TRACE7.
+
+	(FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
+	ftoutln.c.
+
+	* src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
+	FT_ERROR_BASE.
+
+	* docs/formats.txt: Updated.
+
+2008-09-19  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
+	CID-keyed font support.
+	* builds/mac/ftmac.c: Ditto.
+
+2008-09-19  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
+	sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
+	`open_face_from_buffer' frees the passed buffer if it cannot open a
+	face from the buffer, so the caller must not free it.
+
+2008-09-19  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
+	for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
+	(ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
+	table in sfnt table directory.  It is used before loading TrueType
+	font driver.
+
+	* docs/CHANGES: Add note about the current status of sfnt-wrapped
+	Type1 and sfnt-wrapped CID-keyed font support.
+
+2008-09-18  Werner Lemberg  <[email protected]>
+
+	* src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
+	orthogonality (ft_free and ft_sfree could belong to different memory
+	pools).  This fixes Savannah bug #24297.
+
+2008-09-18  suzuki toshiya  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
+	in tttags.h instead of numerical value 0x4F54544FL.
+
+2008-09-16  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.h, src/cff/cffgload.c
+	(cff_decoder_set_width_only): Eliminate function call.
+
+2008-09-15  George Williams  <[email protected]>
+
+	Fix Savannah bug #24179, reported by Bram Tassyns.
+
+	* src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
+	of default values.
+
+2008-09-15  Werner Lemberg  <[email protected]>
+
+	* src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
+	and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
+	prevent unconditional definition.  This fixes Savannah bug #24241.
+
+	* src/psnames/pstables.h: Regenerated.
+
+2008-09-13  Werner Lemberg  <[email protected]>
+
+	* autogen.sh, builds/unix/configure.raw,
+	include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
+	beautifying.
+
+	* include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
+	include/freetype/ftlcdfil.h: Protect against FreeType 1.
+	Some other minor fixes.
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+2008-09-11  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbase.c: Include ftadvanc.c.
+
+2008-09-11  suzuki toshiya  <[email protected]>
+
+	* builds/unix/ftconfig.in: Duplicate the cpp computation of
+	FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
+	(FT_USE_AUTOCONF_SIZEOF_TYPES): New macro.  If defined, the cpp
+	computation is disabled and the statically configured sizes are
+	used.  This fixes Savannah bug #21250.
+
+	* builds/unix/configure.raw: Add the checks to compare the cpp
+	computation results of the bit length of int and long versus the
+	sizes detected by running `configure'.  If the results are
+	different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
+	results.
+	New option --{enable|disable}-biarch-config is added to define or
+	undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
+
+2008-09-05  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
+	ApplicationServices framework is missing.  Although this value is not
+	used in building of FreeType2, it is written in `freetype2.pc' and
+	`freetype-config'.
+
+2008-09-01  David Turner  <[email protected]>
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
+	index to mean `use default cached FT_Face's charmap'.  This fixes
+	Savannah bug #22625.
+	* include/freetype/ftcache.h: Document it.
+
+
+	Make FT_MulFix an inlined function.  This is done to speed up
+	FreeType a little (on x86 3% when loading+hinting, 10% when
+	rendering, ARM savings are more important though).  Disable this by
+	undefining FT_CONFIG_OPTION_INLINE_MULFIX.
+
+	Use of assembler code can now be controlled with
+	FT_CONFIG_OPTION_NO_ASSEMBLER.
+
+	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
+	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
+	implementation.
+	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
+	implementation taken from `ftcalc.c'.
+	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
+	which is defined to the platform-specific assembler implementation
+	of FT_MulFix.
+	[FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
+	(FT_MULFIX_INLINED): New macro.
+
+	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
+	FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
+
+	* include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
+
+	* src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
+	FT_MULFIX_INLINED.
+
+
+	Add a new header named FT_ADVANCES_H declaring some new APIs to
+	extract the advances of one or more glyphs without necessarily
+	loading their outlines.  Also provide `fast loaders' for the
+	TrueType, Type1, and CFF font drivers (more to come later).
+
+	* src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
+
+	* include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
+	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
+
+	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+	`flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
+	respectively.
+
+	* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
+	ftadvanc.c.
+
+	* src/cff/cffdrivr.c (cff_get_advances): New function.
+	(cff_driver_class): Register it.
+
+	* src/cff/cffgload.c (cff_decoder_set_width_only): New function.
+	(cff_decoder_parse_charstrings): Handle `width_only'.
+	(cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
+
+	* src/cff/cffgload.h (cff_decoder): New element `width_only'.
+	(cff_decoder_set_width_only): New declaration.
+
+	* src/truetype/ttdriver.c (tt_get_advances): New function.
+	(tt_driver_class): Register it.
+
+	* src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
+	(TT_Get_HMetrics, TT_Get_VMetrics): This.
+	Update callers.
+	* src/truetype/ttgload.h: Declare them.
+
+	* src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
+	function.
+	* src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
+
+
+	Add checks for minimum version of the `autotools' stuff.
+
+	* autogen.sh: Implement it.
+	(get_major_version, get_minor_version, get_patch_version,
+	compare_to_minimum_version, check_tool_version): New auxiliary
+	functions.
+
+	* README.CVS: Document it.
+
+2008-08-29  suzuki toshiya  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
+	tttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
+
+2008-08-28  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_encoding): Protect against infinite
+	loop.  This fixes Savannah bug #24150 (where a patch has been posted
+	too).
+
+2008-08-23  Werner Lemberg  <[email protected]>
+
+	* src/type/t1afm.c (compare_kern_pairs), src/psaux/afmparse.c
+	(afm_compare_kern_pairs): Fix comparison.  This fixes Savannah bug
+	#24119.
+
+2008-08-19  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
+	even if passed library or arguments are invalid.  This fixes a bug
+	that an uninitialized stream is freed when an invalid library handle
+	is passed.  Originally proposed by Mike Fabian, 2008/08/18 on
+	freetype-devel.
+	(FT_Open_Face): Ditto (stream).
+	(load_face_in_embedded_rfork): Ditto (stream2).
+
+2008-08-18  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Add a fallback to guess the availability of the
+	`ResourceIndex' type.  It is used when built without configure
+	(e.g., a build with Jam).
+	* builds/mac/ftmac.c: Ditto.
+	* builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
+	explicitly, even if `ResourceIndex' is unavailable.
+
+2008-08-18  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: In checking of Mac OS X features,
+	all-in-one header file `Carbon.h' is replaced by the minimum
+	header file `CoreServices.h', similar to current src/base/ftmac.c.
+
+2008-08-18  suzuki toshiya  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
+	sub-header when its code_count is 0.  Many Japanese Dynalab fonts
+	include such an empty sub-header (code_count == 0, first_code == 0
+	delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
+
+2008-08-04  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1tokens.h: Handle `ForceBold' keyword.  This fixes
+	Savannah bug #23995.
+
+	* src/cid/cidload.c (parse_expansion_factor): New callback function.
+	(cid_field_records): Use it for `ExpansionFactor'.
+	* src/cod/cidtoken.h: Handle `ForceBold' keyword.
+	Don't handle `ExpansionFactor'.
+
+2008-08-04  Bram Tassyns  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
+	resulted in incorrect scaling.  This fixes Savannah bug #23973.
+
+2008-08-04  Werner Lemberg  <[email protected]>
+
+	Be more tolerant w.r.t. invalid entries in SFNT table directory.
+
+	* src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
+	adjust table count.
+	Add more trace messages.
+	(tt_face_load_font_dir): Updated.
+
+2008-07-30  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
+	assume that the first argument on the stack is the bottom-most
+	element.  Two reasons:
+
+	  o According to people from Adobe it is missing in the Type 2
+	    specification that pushing of additional, superfluous arguments
+	    on the stack is prohibited.
+
+	  o Acroread in general handles fonts differently, namely by popping
+	    the number of arguments needed for a particular operand (as a PS
+	    interpreter would do).  In case of buggy fonts this causes a
+	    different interpretation which of the elements on the stack are
+	    superfluous and which not.
+
+	Since there are CFF subfonts (embedded in PDFs) which rely on
+	Acroread's behaviour, FreeType now does the same.
+
+2008-07-27  Werner Lemberg  <[email protected]>
+
+	Add extra mappings for `Tcommaaccent' and `tcommaaccent'.  This
+	fixes Savannah bug #23940.
+
+	* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
+	(EXTRA_GLYPH_LIST_SIZE): This.
+	Increase by 2.
+	(ft_wgl_extra_unicodes): Rename to...
+	(ft_extra_glyph_unicodes): This.
+	Add two code values.
+	(ft_wgl_extra_glyph_names): Rename to...
+	(ft_extra_glyph_names): This.
+	Add two glyphs.
+	(ft_wgl_extra_glyph_name_offsets): Rename to...
+	(ft_extra_glyph_name_offsets): This.
+	Add two offsets.
+
+	(ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
+	(ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
+	Updated.
+	(ps_unicodes_init): Updated.
+
+2008-07-26  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_decoder_prepare,
+	cff_decoder_parse_charstrings): Improve debug output.
+
+2008-07-22  Martin McBride  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
+	tt_cmap4_char_map_binary): Handle fonts which treat the last segment
+	specially.  According to the specification, such fonts would be
+	invalid but acroread accepts them.
+
+2008-07-16  Jon Foster  <[email protected]>
+
+	* src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
+
+	* src/base/ftcalc.c (FT_MulFix): Fix portability issue.
+
+	* src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
+	Fix compiler warning.
+
+2008-07-16  Werner Lemberg  <[email protected]>
+
+	Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
+
+	* src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
+	Invert sids table only if `pure_cff' is set.
+	* src/cff/cffload.h: Updated.
+
+	* src/cff/cffobjs.c (cff_face_init): Updated.
+	Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
+
+	* docs/CHANGES: Updated.
+
+2008-07-09  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
+	where num_locations < num_glyphs.  Problem reported by Ding Li.
+
+2008-07-05  Werner Lemberg  <[email protected]>
+
+	Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
+	newer.  This fixes Savannah bug #23648.
+
+	* configure: zsh doesn't like ${1+"$@"}.
+	Update needed GNU make version.
+	* builds/toplevel.mk: Check for `$(eval ...)'.
+	* docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
+	it.
+
+2008-07-04  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
+	pixel, only check for dropouts if neither start nor end point lies
+	on a pixel center.  This fixes Savannah bug #23762.
+
+2008-06-29  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.7 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-7'.
+
+	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+	version number to 2.3.7.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+	* builds/unix/configure.raw (version_info): Set to 9:18:3.
+
+	* docs/release: Updated.
+
+2008-06-28  Werner Lemberg  <[email protected]>
+
+	* src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
+	* src/ftcalc.c: Here.  This fixes Savannah bug #23729.
+
+2008-06-27  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+	Horizontal_Gray_Sweep_Drop): Test for intersections which
+	degenerate to a single point can be ignored; this has been confirmed
+	by Greg Hitchcock from Microsoft.  (This was commented out code.)
+
+2008-06-26  Werner Lemberg  <[email protected]>
+
+	Improve navigation in API reference.
+
+	* src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
+	(html_header_6): This.
+	(html_header_3, html_header_3i, html_header_4, html_header_5,
+	html_header_5t): New strings.
+	(toc_footer_start, toc_footer_end): New strings.
+	(HtmlFormatter::html_header): Updated.
+	(HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
+	New strings.
+	(HtmlFormatter::index_enter): Use `html_index_header'.
+	(HtmlFormatter::index_exit): Print `html_footer'.
+	(HtmlFormatter::toc_enter): Use `html_toc_header'.
+	(HtmlFormatter::toc_exit): Print proper footer.
+
+	Convert ~ to non-breakable space.
+
+	* src/tools/docmaker/tohtml.py (make_html_para): Implement it.
+	Update header files accordingly.
+
+2008-06-24  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Check type `ResourceIndex' explicitly
+	and define HAVE_TYPE_RESOURCE_INDEX if it is defined.  Mac OS X 10.5
+	bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
+	ResourceIndex type definition.  The macro does not inform the type
+	availability.
+	* src/base/ftmac.c: More parentheses are inserted to clarify the
+	conditionals to disable legacy APIs in `10.5 and later' cases.  If
+	HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
+
+2008-06-24  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
+	mode.
+
+	* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
+	Draw_Sweep): No-dropout mode is value 2, not value 0.
+	(Draw_Sweep): Really skip dropout handling for no-dropout mode.
+
+2008-06-24  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
+	if it consists of one point only.  Based on a patch from Savannah
+	bug #23683 (from John Tytgat).
+
+2008-06-22  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
+	with IS_HINTED.
+
+	* docs/CHANGES: Updated.
+
+2008-06-22  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
+	but LDFLAGS does not, import it to LDFLAGS.  The option is used to
+	specify non-default SDK on Mac OS X (e.g., universal binary SDK for
+	Mac OS X 10.4 on PowerPC platform).  Although Apple TechNote 2137
+	recommends to add the option only to CFLAGS, LDFLAGS should include
+	it because libfreetype.la is built with -no-undefined.  This fixes a
+	bug reported by Ryan Schmidt in MacPorts,
+	https://trac.macports.org/ticket/15331.
+
+2008-06-21  Werner Lemberg  <[email protected]>
+
+	Enable access to the various dropout rules of the B&W rasterizer.
+	Pass dropout rules from the TT bytecode interpreter to the
+	rasterizer.
+
+	* include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
+	FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline.
+
+	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+	Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
+	OpenType specification.
+	Fix mode 4 computation.
+	(Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
+	mode to FT_OUTLINE_XXX flags.
+
+	* src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
+
+2008-06-19  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Compute final
+	`dict->units_per_em' value before assigning it to
+	`cffface->units_per_EM'.  Otherwise, CFFs without subfonts are
+	scaled incorrectly if the font matrix is non-standard.  This fixes
+	Savannah bug #23630.
+
+	* docs/CHANGES: Updated.
+
+2008-06-19  Werner Lemberg  <[email protected]>
+
+	* src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
+	from 2008-06-19.
+
+2008-06-18  Werner Lemberg  <[email protected]>
+
+	* src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
+	Reported by Peter Weilbacher <[email protected]>.
+
+	* docs/CHANGES: Updated.
+
+2008-06-15  George Williams  <[email protected]>
+
+	* src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
+	`valid->extra2' to 1.  This is undocumented in the OpenType 1.5
+	specification.
+
+2008-06-15  Werner Lemberg  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
+	from clobbering.  Patch from Savannah bug report #23556.
+
+	* docs/CHANGES: Document it.
+
+2008-06-10  Werner Lemberg  <[email protected]>
+
+	* autogen.sh: Add option `--install' to libtoolize.
+
+2008-06-10  Werner Lemberg  <[email protected]>
+
+	* Version 2.3.6 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-6'.
+
+	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+	version number to 2.3.6.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+
+	* builds/unix/configure.raw (version_info): Set to 9:17:3.
+
+
+	* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
+	and `scale_y'.
+	* src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
+
+
+	* src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
+	* src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+
+2008-06-10  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (open_face): Check `clazz->init_face' and
+	`clazz->done_face'.
+
+2008-06-09  VaDiM  <[email protected]>
+
+	Support debugging on WinCE.  From Savannah patch #6536; this fixes
+	bug #23497.
+
+	* builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
+	as a replacement for OutputDebugStringA (which WinCE doesn't have).
+	Update all callers.
+	(ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
+	environment variables.
+
+2008-06-09  Werner Lemberg  <[email protected]>
+
+	* README.CVS: Updated.
+
+	* builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
+	for newer versions of autoconf and friends.
+
+2008-06-08  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
+	`private_len' unsigned.
+
+	* src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
+	it as such.
+	(T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
+
+
+	* src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
+
+
+	* src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
+	for sane value.
+	Fix typo.
+
+
+	* src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
+
+
+	* src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
+	`last_point'.
+
+
+	* src/sfnt/ttload.c (tt_face_load_max_profile): Limit
+	`maxTwilightPoints'.
+
+2008-06-06  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
+	correctly.  This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
+
+2008-06-03  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftcache.h (FTC_FaceID): Change type back to
+	FT_Pointer.  Reported by Ian Britten <[email protected]>.
+
+2008-06-02  Werner Lemberg  <[email protected]>
+
+	Emit header info for defined FreeType objects in reference.
+
+	* src/tools/docmaker/content.py (re_header_macro): New regexp.
+	(ContentProcessor::__init__): Initialize new dictionary `headers'.
+	(DocBlock::__init__): Collect macro header definitions.
+
+	* src/tools/docmaker/tohtml.py (header_location_header,
+	header_location_footer): New strings.
+	(HtmlFormatter::__init__): Pass `headers' dictionary.
+	(HtmlFormatter::print_html_field): Don't emit paragraph tags.
+	(HtmlFormatter::print_html_field_list): Emit empty paragraph.
+	(HtmlFormatter::block_enter): Emit header info.
+
+2008-06-01  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
+	FT_INCREMENTAL_H): Added.
+
+2008-05-28  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/sources.py (SourceBlock::__init__): While
+	looking for markup tags, return immediately as soon a single one is
+	found.
+
+2008-05-28  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
+	original, unscaled input values.  Confirmed by Greg Hitchcock from
+	Microsoft.
+
+2008-05-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py (block_footer_start,
+	block_footer_middle): Beautify output.
+
+2008-05-25  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (fc_black_render): Return 0 when we are
+	trying to render into a zero-width/height bitmap, not an error code.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Move initialization
+	of the graphics state for subglyphs to...
+	(TT_Hint_Glyph): This function.
+	Hinting instructions for a composite glyph apparently refer to the
+	just hinted subglyphs, not the unhinted, unscaled outline.  This
+	seems to fix Savannah bugs #20973 and (at least partially) #23310.
+
+2008-05-20  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
+	`aface' is returned by FT_New_Face_From_FOND().  The patch was
+	proposed by an anonymous reporter of Savannah bug #23204.
+
+2008-05-18  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
+	correction for pixel boundary.  Without this patch, the effect can
+	be cumulative under certain circumstances, making glyphs taller and
+	taller after each call.  This fixes Savannah bug #19976.
+
+2008-05-18  Werner Lemberg  <[email protected]>
+
+	* src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
+	This fixes Savannah bug #23280.
+
+	* docs/CHANGES: Updated.
+
+2008-05-18  David Turner  <[email protected]>
+
+	* src/psnames/psmodule.c (ft_wgl_extra_unicodes,
+	ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
+	ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
+	declarations non-global.
+
+	* src/type1/t1load.c: Add missing comment.
+
+2008-05-17  Sam Hocevar  <samh>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
+	glyphs correctly.  Patch from Savannah bug #23277.
+
+2008-05-16  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2008-05-16  Sergey Tolstov  <[email protected]>
+
+	Improve support for WGL4 encoded fonts.
+
+	* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
+	(ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
+	ft_wgl_extra_glyph_name_offsets): New arrays.
+	(ps_check_wgl_name, ps_check_wgl_unicode): New functions.
+	(ps_unicodes_init): Use them to add additional Unicode mappings.
+
+2008-05-15  Werner Lemberg  <[email protected]>
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_closepath>: `closepath' without a path is a no-op, not an error
+	(cf. the PS reference manual).
+
+	Reported by Martin McBride.
+
+2008-05-15  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
+
+2008-05-15  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
+	which contains a single but empty entry.  This is technically
+	invalid (since it must end with `return'), but...
+
+	Reported by Martin McBride.
+
+2008-05-14  Werner Lemberg  <[email protected]>
+
+	Finish fix of scaling bug of CID-keyed CFF subfonts.
+
+	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+	(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
+	functions.
+
+	* src/cff/cffobjs.h (CFF_Internal): New struct.  It is used to
+	provide global hinting data for both the top-font and all subfonts
+	(with proper scaling).
+
+	* src/cff/cffobjs.c (cff_make_private_dict): New function, using
+	code from `cff_size_init'.
+	(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
+	Use CFF_Internal and handle subfonts.
+	(cff_face_init): Handle top-dict and subfont matrices correctly;
+	apply some heuristic in case of unlikely matrix concatenation
+	results.  This has been discussed with people from Adobe (thanks
+	goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
+	and not correct.
+
+	* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
+
+	* src/cff/cffgload.c (cff_builder_init): Updated.
+	(cff_decoder_prepare): Handle hints globals for subfonts.
+	Update all callers.
+	(cff_slot_load): Handling scaling of subfonts properly.
+
+	* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
+	(cff_parse_font_matrix): Use it.
+
+	* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
+	FT_ULong.
+
+	* docs/CHANGES: Document it.
+
+2008-05-13  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+	Handle case `face_index < 0'.
+	* docs/CHANGES: Document it.
+
+2008-05-04  Werner Lemberg  <[email protected]>
+
+	First steps to fix the scaling bug of CID-keyed CFF subfonts,
+	reported by Ding Li on 2008/03/28 on freetype-devel.
+
+	* src/base/cff/cffparse.c (power_tens): New array.
+	(cff_parse_real): Rewritten to introduce a fourth parameter which
+	returns the `scaling' of the real number so that we have no
+	precision loss.  This is not used yet.
+	Update all callers.
+	(cff_parse_fixed_thousand): Replace with...
+	(cff_parse_fixed_scaled): This function.  Update all callers.
+
+2008-05-03  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
+	transformation since it recursively calls FT_Load_Glyph.  This fixes
+	Savannah bug #23143.
+
+2008-04-26  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
+	and `scale_y' as obsolete since they aren't used.
+	* src/psaux/psobjs.c (t1_builder_init): Updated.
+
+	* src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
+	obsolete since they aren't used.
+	* src/cff/cffgload.c (cff_builder_init): Updated.
+
+2008-04-14  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
+	`FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZW'.  From Savannah
+	bug #22909.
+
+2008-04-13  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
+	integer part is zero.
+
+2008-04-01  Werner Lemberg  <[email protected]>
+
+	Fix compilation with g++ 4.1 (with both `single' and `multi'
+	targets).
+
+	* src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
+	which is crossed by a `goto'.
+
+	* src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
+
+2008-03-31  Werner Lemberg  <[email protected]>
+
+	Fix support for subsetted CID-keyed CFFs.
+
+	* include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
+	FT_IS_CID_KEYED): New macros.
+
+	* src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
+	maximum CID value in CID-keyed CFFs.
+	Handle FT_FACE_FLAG_CID_KEYED flag.
+
+	* docs/CHANGES: Document it.
+
+
+	Fix CFF font matrix calculation and improve precision.
+
+	* src/cff/cffparse.c (cff_parse_real): Increase precision if integer
+	part is zero.
+	(cff_parse_font_matrix): Simplify computation of `units_per_em';
+	this prevents overflow also.
+
+
+	Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
+
+	* src/cid/cidriver.c: Include FT_SERVICE_CID_H.
+	(cid_get_ros): New function.
+	(cid_service_cid_info): New service structure.
+	(cid_services): Register it.
+
+2008-03-23  Werner Lemberg  <[email protected]>
+
+	Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
+
+	* builds/compiler/visualc.mk (CFLAGS): Remove /W5.
+	(ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
+
+2008-03-21  Laurence Darby  <ldarby>
+
+	* src/type1/t1objs.c (T1_Face_Init): Use `/Weight'.  Patch from
+	Savannah bug #22675.
+
+2008-03-13  Derek Clegg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
+	Patch from Savannah bug #22541.
+
+2008-03-03  Masatoshi Kimura  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+	tt_cmap14_find_variant): Return correct value.
+	(tt_cmap14_variant_chars): Fix check for `di'.
+
+2008-02-29  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2008-02-29  Wolf
+
+	Add build support for symbian platform.  From Savannah bug #22440.
+
+	* builds/symbian/*: New files.
+
+2008-02-21  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
+	synthesis.  For any face of a specified FOND, always the name for
+	the first face was used.  Except of a FOND that refers multiple
+	Type1 font files, wrong synthesized font names are not used at all,
+	so this is an invisible bug.  A few limit checks are added too.
+
+	* builds/mac/ftmac.c: Ditto.
+
+2008-02-21  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Split compiler option to link Carbon
+	frameworks to one option for CoreServices framework and another
+	option for ApplicationServices framework.  The split options can be
+	managed by GNU libtool to avoid unrequired duplication when FreeType
+	is linked with other applications.  Suggested by Daniel Macks,
+	Savannah bug #22366.
+
+2008-02-18  Victor Stinner  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_IUP): Check number of points.  Fix
+	from Savannah bug #22356.
+
+2008-02-17  Jonathan Blow  <[email protected]>
+
+	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+	Check for valid callback pointers.
+
+2008-02-15  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
+	handle by its value instead of ResError(), fix provided by Deron
+	Kazmaier.  According to the Resource Manager Reference,
+	GetResource(), Get1Resource(), GetNamedResource(),
+	Get1NamedResource() and RGetResource() set noErr but return NULL
+	handle when they can not find the requested resource.  These
+	functions never return undefined values, so it is sufficient to
+	check if the handle is not NULL.
+
+	* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+
+2008-02-14  suzuki toshiya  <[email protected]>
+
+	* src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
+	inclusion styles.  Now it always includes src/base/ftmac.c;
+	builds/mac/ftmac.c is never included in any configuration.
+
+	* builds/unix/configure.raw: Print warning if configure is executed
+	with options to specify Carbon functionalities explicitly.
+
+	* docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
+	included automatically and manual replacement is required.
+
+2008-02-11  Werner Lemberg  <[email protected]>
+
+	* builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
+	(dos_setup), builds/freetype.mk (clean_project_dos,
+	distclean_project_dos): Don't use \ but $(SEP).  Reported by Duncan
+	Murdoch.
+
+2008-01-18  Sylvain Pasche  <[email protected]>
+
+	* src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
+	mention intra-pixel algorithm.
+
+	* include/freetype/freetype.h (FT_Render_Mode): Mention that
+	FT_Library_SetLcdFilter can be used to reduce fringes.
+
+2008-01-16  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (ft_black_render): Check `outline' before
+	using it.  Reported by Allan Yang.
+
+2008-01-12  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
+
+2008-01-12  Allan Yang, Jian Hua - SH  <[email protected]>
+
+	* src/raster/ftraster.c (ft_black_init)
+	[FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
+
+2008-01-10  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Handle the case
+	where the number of contours in a simple glyph is zero (and which
+	does contain an entry in the `glyf' table).  This fixes Savannah bug
+	#21990.
+
+2008-01-04  suzuki toshiya  <[email protected]>
+
+	Formatting suggested by Sean McBride.
+
+	* builds/mac/ftmac.c: Formatting (tab expanded).
+	* src/autofit/afindic.c: Ditto.
+	* src/base/ftcid.c: Ditto.
+	* src/base/ftmac.c: Ditto.
+
+2007-12-30  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
+	correctly.
+
+2007-12-21  suzuki toshiya  <[email protected]>
+
+	Improvement of POSIX resource-fork accessor to load unsorted
+	references in a resource.  In HelveLTMM (resource-fork PostScript
+	Type1 font bundled with Mac OS X since 10.3.x), the appearance order
+	of PFB chunks is not sorted; sorting the chunks by reference IDs is
+	required.
+
+	* include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
+	type to store a pair of reference ID and offset to the chunk.
+
+	* src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
+	sort FT_RFork_Ref by their reference IDs.
+
+	(FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
+	sorted by reference ID.
+
+2007-12-14  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
+	division too early; otherwise the most significant digit(s) of the
+	final result are lost as the value is truncated to an integer.  This
+	fixes Savannah bug #21794 (where the patch has been posted too).
+
+2007-12-06  Fix  <[email protected]>
+
+	Pass options from one configure script to another as-is (not
+	expanded).  This is needed for options like
+	--includedir='${prefix}/include'.
+
+	* builds/unix/detect.mk, configure: Prevent argument expansion in
+	call to the (real) `configure' script.
+
+2007-12-06  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
+	TT_USE_BYTECODE_INTERPRETER isn't defined.
+
+2007-12-06  Werner Lemberg  <[email protected]>
+
+	There exist CFFs which contain opcodes for the Type 1 operators
+	`hsbw' and `closepath' which are both invalid in Type 2 charstrings.
+	However, it doesn't harm to support them.
+
+	* src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
+	`cff_op_closepath.'
+	(cff_argument_counts): Ditto.
+
+	(cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
+	and 13 (hsbw) which are invalid in Type 2 charstrings.
+
+2007-12-06  suzuki toshiya  <[email protected]>
+
+	* src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
+	support new pathname syntax `..namedfork/rsrc' to access a resource
+	fork on Mac OS X.  The legacy syntax `/rsrc' does not work on
+	case-sensitive HFS+.
+	(raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
+	buffer size to store a pathname.
+	* include/freetype/internal/ftrfork.h: Increment the number of
+	resource fork guessing rule.
+
+2007-12-06  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Improve the compile tests to search
+	Carbon functions.
+	* builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
+	proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
+
+2007-12-06  suzuki toshiya  <[email protected]>
+
+	The documents and comments for Mac OS X are improved by Sean
+	McBride.
+
+	* src/base/ftmac.c: Fix a comment.
+	* include/freetype/ftmac.h: Ditto.
+	* docs/INSTALL.MAC: Improve English and add comment on lowest
+	system version specified by MACOSX_DEPLOYMENT_TARGET.
+
+2007-12-04  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
+	concatenate error codes.
+	* src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
+
+2007-12-04  Graham Asher  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
+	concatenate error codes.
+
+2007-12-04  Sean McBride  <[email protected]>
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
+	warning.
+
+2007-11-20  suzuki toshiya  <[email protected]>
+
+	Fix MacOS legacy font support by Masatake Yamato on Mac OS X.  It is
+	not working since 2.3.5.  In FT_Open_New(), if FT_New_Stream()
+	cannot mmap() the specified file and cannot seek to head of the
+	specified file, it returns NULL stream and FT_Open_New() returns the
+	error immediately.  On MacOS, most legacy MacOS fonts fall into such
+	a scenario because their data forks are zero-sized and cannot be
+	sought.  To proceed to guessing of resource fork fonts, the
+	functions for legacy MacOS font must properly handle the NULL stream
+	returned by FT_New_Stream().
+
+	* src/base/ftobjs.c (IsMacBinary): Return error
+	FT_Err_Invalid_Stream_Operation immediately when NULL stream is
+	passed.
+	(FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
+	to fallback.  Originally, legacy MacOS font is tested in the cases
+	of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
+	or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
+	.dfont header is combined).  Now the case of
+	FT_Err_Cannot_Open_Stream is included.
+
+	* src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
+	skip FT_Stream_Seek(), which seeks to the head of stream, and
+	proceed to unit testing of raccess_guess_XXX().  FT_Stream_Seek()
+	for a NULL stream causes a Bus error on Mac OS X.
+	(raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
+	immediately if passed stream is NULL.
+	(raccess_guess_apple_single): Ditto.
+
+2007-11-16  suzuki toshiya  <[email protected]>
+
+	Fix for Carbon incompatibilities since Mac OS X 10.5,
+	proposed by Sean McBride.
+
+	* doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
+
+	* include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
+	FT_GetFilePath_From_Mac_ATS_Name.  Since Mac OS X 10.5, calling
+	Carbon functions from a forked process is classified as unsafe
+	by Apple.  All Carbon-dependent functions should be deprecated.
+
+	* src/base/ftmac.c: Use essential header files
+	<CoreServices/CoreServices.h> and
+	<ApplicationServices/ApplicationServices.h> instead of
+	all-in-one header file <Carbon/Carbon.h>.
+
+	Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
+	genuine macro PATH_MAX.
+
+	Add fallback macro for kATSOptionFlagsUnRestrictedScope which
+	is not found in Mac OS X 10.0.
+
+	Multi-character constants ('POST', 'sfnt' etc) are replaced by
+	64bit constants calculated by FT_MAKE_TAG() macro.
+
+	For the index in the segment of resource fork, new portable
+	type ResourceIndex is introduced for better compatibility.
+	This type is since Mac OS X 10.5, so it is defined as short
+	when built on older platforms.
+
+	(FT_ATSFontGetFileReference): If build target is only the systems
+	10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
+
+	(FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
+	and newer or 64bit platform, because legacy type FSSpec type is
+	removed completely.
+
+	(FT_New_Face_From_FSSpec): Ditto.
+
+2007-11-01  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere.  This
+	fixes Savannah bug #21485.
+
+2007-10-29  Daniel Svoboda  <dasvo@planeta@cz>
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
+	can handle the font at all, then check `face_index'.  Otherwise, the
+	driver might return the wrong error code.  This fixes Savannah bug
+	#21468.
+
+2007-10-21  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
+	support for bit 8 of the `fsSelection' field in the `OS/2' table.
+	MS is already using this; hopefully, this becomes part of OpenType
+	1.5.
+	Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
+	(WWS_SUBFAMILY).
+
+2007-10-20  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
+	Add `td.left' element to CSS.
+	(toc_section_enter): Use it.
+
+2007-10-18  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h, src/base/ftobjs.c: Rename API
+	functions related to cmap type 14 support to the
+	`FT_Object_ActionName' scheme:
+
+	  FT_Get_Char_Variant_Index     -> FT_Face_GetCharVariantIndex
+	  FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
+	  FT_Get_Variant_Selectors      -> FT_Face_GetVariantSelectors
+	  FT_Get_Variants_Of_Char       -> FT_Face_GetVariantsOfChar
+	  FT_Get_Chars_Of_Variant       -> FT_Face_GetCharsOfVariant
+
+	Update documentation accordingly.
+
+	* src/sfnt/ttcmap.c: Stronger cmap 14 validation.
+	Make the code a little more consistent with FreeType coding
+	conventions and modify the cmap14 functions that returned a newly
+	allocated array to use a persistent vector from the TT_CMap14 object
+	instead.
+
+	(TT_CMap14Rec): Provide array and auxiliary data for result.
+	(tt_cmap14_done, tt_cmap14_ensure): New functions.
+
+	(tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
+	tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
+	tt_cmap14_char_var_index, tt_cmap14_variants,
+	tt_cmap14_char_variants, tt_cmap14_def_char_count,
+	tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+	tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
+
+2007-10-15  George Williams  <[email protected]>
+
+	Add support for cmap type 14.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_CMAP_FORMAT_14): New macro.
+
+	* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
+	FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
+	FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
+	support function prototypes.
+	(FT_CMap_ClassRec): Add them.
+	Update all users.
+
+	* include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
+	macro.
+
+	* include/freetype/freetype.h (FT_Get_Char_Variant_Index,
+	FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
+	FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
+	functions.
+
+	* src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
+	function.
+	(FT_Set_Charmap): Disallow cmaps of type 14.
+	(FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
+	FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
+	FT_Get_Chars_Of_Variant): New API functions.
+
+	* src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
+
+	(TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
+	tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
+	tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
+	tt_cmap14_find_variant, tt_cmap14_char_var_index,
+	tt_cmap14_char_var_isdefault, tt_cmap14_variants,
+	tt_cmap14_char_variants, tt_cmap14_def_char_count,
+	tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+	tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
+	structures for cmap 14 support.
+	(tt_cmap_classes): Register tt_cmap14_class_rec.
+	(tt_face_build_cmaps): One more error message.
+
+	* docs/CHANGES: Mention cmap 14 support.
+
+2007-10-01  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
+	charmap fails, do the loop again while searching a UCS-2 charmap.
+	This favours MS charmaps over Apple ones.
+
+2007-08-29  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Introduction of abstract `short' data types,
+	ResFileRefNum and ResID.  These types were introduced for Copland,
+	then backported to MPW.  The variables exchanged with FileManager
+	QuickDraw frameworks are redefined by these data types.  Patch was
+	proposed by Sean McBride.
+	* builds/mac/ftmac.c: Ditto.
+
+2007-08-18  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/otvcommn.c (otv_x_y_ux_sy): Skip context glyphs.  Found
+	by Imran Yousaf.  Fixes Savannah bug #20773.
+
+	(otv_Lookup_validate): Correct handling of LookupType.  Found by
+	Imran Yousaf.  Fixes Savannah bug #20782.
+
+2007-08-17  George Williams  <[email protected]>
+
+	* src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
+	SingleSubstFormat1.
+
+2007-08-11  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
+	${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
+	Found by Ryan Hill.
+
+2007-08-11  George Williams  <[email protected]>
+
+	* src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
+	(otv_Coverage_validate): Add fourth argument to pass an expected
+	count value.  Update all users.
+	Check glyph IDs.
+	(otv_ClassDef_validate): Check `StartGlyph'.
+
+	* src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
+	checks.
+
+	* src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
+	56 constants.
+	(otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
+	Check glyph IDs.
+
+2007-08-08  Werner Lemberg  <[email protected]>
+
+	* src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
+	src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
+	src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
+	appropriate.  Reported by George.
+
+	* include/freetype/internal/fttrace.h: Define `trace_otvmath'.
+
+	* src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
+
+	* docs/CHANGES: Updated.
+
+2007-08-08  George Williams  <[email protected]>
+
+	Add `MATH' validating support to otvalid module.
+
+	* include/freetype/tttags.h (TTAG_MATH): New macro.
+	* include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
+	(FT_VALIDATE_OT): Updated.
+
+	* src/otvalid/otvmath.c: New file.
+
+	* src/otvalid/otvalid.c: Include otvmath.c.
+	* src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
+
+2007-08-04  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
+	Fixes Savannah bug #20686.
+
+2007-08-03  Werner Lemberg  <[email protected]>
+
+	* src/psnames/psmodule.c: Fix usage of
+	FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro.  Reported by Graham Asher.
+
+2007-07-31  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (open_face_from_buffer): The argument
+	`driver_name' is typed as `const char*' to match with the
+	callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
+	This is same with open_face_from_buffer in src/base/ftobjs.c.
+	Found and fixed by Sean McBride.
+
+2007-07-28  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (count_table): Make it conditional.
+	* src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
+	a preprocessor statement.
+
+2007-07-27  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
+	first usage.  From Savannah patch #6115.
+
+2007-07-16  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2007-07-16  Derek Clegg  <[email protected]>
+
+	Add new service for getting the ROS from a CID font.
+
+	* include/freetype/config/ftheader.h (FT_CID_H): New macro.
+	* include/freetype/ftcid.h: New file.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_CID_H): New macro.
+	* include/freetype/internal/services/svcid.h: New file.
+
+	* src/base/ftcid.c: New file.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
+	(cff_get_ros): New function.
+	(cff_service_cid_info): New service structure.
+	(cff_services): Register it.
+
+	* src/cff/cffload.c (cff_font_done): Free registry and ordering.
+
+	* src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
+
+	* modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
+
+2007-07-11  Derek Clegg  <[email protected]>
+
+	Add support for postscript name service to CFF driver.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
+	(cff_get_ps_name): New function.
+	(cff_service_ps_name): New service structure.
+	(cff_services): Register it.
+
+2007-07-07  Werner Lemberg  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
+	`target'.  Reported by Sean McBride.
+
+2007-07-06  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrcmap.c: Include pfrerror.h.
+
+	* src/autofit/afindic.c: Add some external declarations to pacify
+	`make multi' compilation.
+
+	* src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
+	(cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
+	src/autofit/aflatin.c (af_latin_hints_compute_edges),
+	src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
+	(tt_face_get_metrics), src/base/ftobjs.c (open_face)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
+
+	* docs/release: Mention test compilation targets.
+
+2007-07-04  Werner Lemberg  <[email protected]>
+
+	* docs/PROBLEMS: Mention that some PS based fonts can't be
+	handled correctly by FreeType.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Always allow a
+	recursion depth of 1.  This was the maximum value in TrueType 1.0,
+	and some older fonts don't set this field correctly.
+
+	* src/gxvalid/gxvmort1.c
+	(gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
+
+2007-07-03  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
+	`round' to pacify compiler.
+
+2007-07-02  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.3.5 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-5'.
+
+	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+	version number to 2.3.5.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+	* builds/unix/configure.raw (version_info): Set to 9:16:3.
+
+2007-07-01  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h, src/base/ftpatent.c
+	(FT_Face_SetUnpatentedHinting): New function to dynamically change
+	the setting after a face is created.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
+	that created distortions in the bytecode interpreter results.
+
+2007-06-30  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_IUP): Add missing variable
+	initialization.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Get rid of an
+	infinite loop in the case of degenerate fonts.
+
+2007-06-26  Rahul Bhalerao  <[email protected]>
+
+	Add autofit module for Indic scripts.  This currently just reuses
+	the CJK-specific functions.
+
+	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
+	macro.
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+	* src/autofit/afindic.c, src/autofit/afindic.h: New files.
+
+	* src/autofit/afglobal.c, src/autofit/aftypes.h,
+	src/autofit/autofit.c: Updated.
+
+	* src/autofit/Jamfile (_sources), * src/autofit/rules.mk
+	(AUTOF_DRV_SRC): Updated.
+
+2007-06-23  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Simple): Fix change from
+	2007-06-16 that prevented the TrueType module from loading most
+	glyphs.
+
+2007-06-20  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
+	change.
+
+2007-06-19  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_encoding): Handle one more error.
+
+2007-06-19  Dmitry Timoshkov  <[email protected]>
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
+	FNT_Err_Invalid_File_Format if file format was recognized but
+	the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
+	Add verbose debug logs to make it easier to debug failing load
+	attempts.
+	(FNT_Face_Init): A single FNT font can't contain more than 1 face,
+	so return an error if requested face index is > 0.
+	Do not do further attempt to load fonts if a previous attempt has
+	failed but returned error FNT_Err_Invalid_File_Format, i.e., the
+	file format has been recognized but no fonts found in the file.
+
+2007-07-19  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Apply patches proposed by Sean McBride.
+	(FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
+	the compiler warnings against unused arguments.
+	(FT_ATSFontGetFileReference): Ditto.
+	(FT_GetFile_From_Mac_ATS_Name): Ditto.
+	(FT_New_Face_From_FSSpec): Ditto.
+	(lookup_lwfn_by_fond): Fix wrong comment.
+	Replace `const StringPtr' by more appropriate type
+	`ConstStr255Param'.
+	FSRefMakePathPath always returns UTF8 POSIX pathname in
+	Mach-O, thus HFS pathname support is dropped.
+	(count_faces): Remove HLock and HUnlock which is not
+	required on Mac OS X anymore.
+	(FT_New_Face_From_SFNT): Ditto.
+	(FT_New_Face_From_FOND): Ditto.
+	* builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
+	except of HFS pathname support and HLock/HUnlock.
+	They are required on classic CFM environment.
+
+2007-06-18  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
+	assertion.
+	(ps_parser_to_bytes): Fix error message.
+
+	* src/type42/t42objs.c (T42_Open_Face): Handle one more error.
+	* src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
+	Don't allow mixed binary and hex strings.
+	Handle string_size == 0 and string_buf == 0.
+	(t42_parse_encoding): Handle one more error.
+
+2007-06-18  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
+	logic.
+	(ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
+	correctly.
+	(ps_parser_load_field_table): Use `fields->array_max' instead of
+	T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
+
+	* src/cff/cffgload.c (cff_decoder_prepare): Fix change from
+	2007-06-06.
+
+2007-06-17  Werner Lemberg  <[email protected]>
+
+	* src/tools/ftrandom.c (font_size): New global variable.
+	(TestFace): Use it.
+	(main): Handle new option `--size' to set `font_size'.
+	(Usage): Updated.
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
+	invalid font.
+	(FNT_Load_Glyph): Protect against invalid bitmap width.
+
+2007-06-16  David Turner  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
+	Prevent integer overflows when rendering very large outlines.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
+	well-formedness of the contours array when loading a glyph.
+
+	* src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
+	and `zp2'.
+	(Ins_IP): Check argument ranges to reject bogus operations properly.
+	(IUP_WorkerRec): Add `max_points' member.
+	(_iup_worker_interpolate): Check argument ranges.
+	(Ins_IUP): Ignore empty outlines.
+
+2007-06-16  Dmitry Timoshkov  <[email protected]>
+
+	* src/winfonts/winfnt.h: Add necessary structures for PE resource
+	parsing.
+	(WinPE32_HeaderRec): New structure.
+	(WinPE32_SectionRec): New structure.
+	(WinPE_RsrcDirRec): New structure.
+	(WinPE_RsrcDirEntryRec): New structure.
+	(WinPE_RsrcDataEntryRec): New structure.
+	(FNT_FontRec): Remove unused `size_shift' field.
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
+	loading bitmap .fon files in PE format.
+
+2007-06-15  Dmitry Timoshkov  <[email protected]>
+
+	* builds/win32/ftdebug.c: Unify debug level handling with other
+	platforms.
+
+2007-06-14  Dmitry Timoshkov  <[email protected]>
+
+	* builds/win32/ftdebug.c (FT_Message): Send debug output to the
+	console as well as to the debugger.
+
+2007-06-14  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
+	cover all ranges which could possibly be handled by the aflatin
+	module (since the default fallback for unknown ranges is now the
+	afcjk module).  It might be necessary to fine-tune this further by
+	splitting off modules for Greek, Cyrillic, or other blocks.
+
+2007-06-11  David Turner  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
+	incorrect segment linking computation.  This was the root cause of
+	Savannah bug #19565.
+
+
+	* src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
+	to improve the Latin auto-hinter.  Note that the new code is
+	disabled by default since it is not stabilized yet.
+
+	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
+	(disabled currently).
+
+	* src/autofit/afhints.c: Remove dead code.
+	(af_axis_hints_new_edge): Add argument to handle segment directions.
+	(af_edge_flags_to_string): New function.
+	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
+	option flags.
+	(af_glyph_hints_reload): Add argument to handle inflections.
+	Simplify.
+	(af_direction_compute): Fine tuning.
+	(af_glyph_hints_align_edge_points): Fix logic.
+	(af_glyph_hints_align_strong_points): Do linear search for small
+	edge counts.
+	(af_glyph_hints_align_weak_points): Skip any touched neighbors.
+	(af_iup_shift): Handle zero `delta'.
+
+	* src/autofit/afhints.h: Updated.
+	(AF_SORT_SEGMENTS): New macro (disabled).
+	(AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Add
+	argument to pass option flags for handling scripts.
+	* src/autofit/afglobal.h: Updated.
+
+	* src/autofit/afcjk.c: Updated.
+	* src/autofit/aflatin.c: Updated.
+	(af_latin_metrics_scale_dim): Don't reduce scale by 2%.
+
+	(af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
+	(af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
+	Don't set `edge->dir'
+	(af_latin_hint_edges): Add more logging.
+
+	* src/autofit/afloader.c: Updated.
+
+2007-06-11  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
+
+2007-06-10  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
+	the TrueType glyph loader.
+
+	* include/freetype/config/ftoption.h: Clarify documentation
+	regarding unpatented hinting.
+
+
+	Add new `FT_Face_CheckTrueTypePatents' API.
+
+	* include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
+	declaration.
+
+	* include/freetype/internal/services/svttglyf.h,
+	src/base/ftpatent.c: New files.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
+	New macro.
+
+	* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
+	`ttpload.h'.
+	(tt_service_truetype_glyf): New service structure.
+	(tt_services): Register it.
+
+	* modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
+	`ftpatent.c'.
+
+2007-06-08  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
+	Fonts without a cmap must be handled correctly by FreeType (anything
+	else would be a bug).
+
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	[FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
+
+2007-06-07  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
+	tt_sbit_decoder_load_image): Protect against integer overflows.
+
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
+	for `x_control' and `y_control'.
+
+2007-06-06  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
+
+
+	* src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
+	FreeType error.
+
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
+	`font_count'.
+
+
+	* src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
+
+
+	* src/cff/cffgload.c (cff_decoder_prepare): Change return type to
+	`FT_Error'.
+	Check `fd_index'.
+	(cff_slot_load): Updated.
+	* src/cff/cffgload.h: Updated.
+
+2007-06-05  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
+	(pfr_glyph_load_simple): Convert assertion into normal FreeType
+	error.
+	Check `idx'.
+	(pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
+	Convert assertion into normal FreeType error.
+
+	* src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
+
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
+
+
+	* src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
+	in case of parsing error.
+	(ps_parser_load_field): Updated.
+
+	* src/type1/t1load.c (parse_font_matrix): Updated.
+
+2007-06-04  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
+
+	* src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
+
+2007-06-03  Werner Lemberg  <[email protected]>
+
+	* src/tools/ftrandom/*: Add the `ftrandom' test program written by
+	George Williams (with some modifications).
+
+2007-06-03  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
+	(T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
+	face == NULL.  Suggested by Graham Asher.
+
+2007-06-03  Ismail Dönmez  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
+
+2007-06-02  Werner Lemberg  <[email protected]>
+
+	* include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
+	FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
+
+	* src/bdf/bdflib.c (bdf_load_font): Use them.
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
+
+2007-06-01  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
+	(FTC_CMapCache_Lookup): Remove unused code.
+
+2007-06-01  Sean McBride  <[email protected]>
+
+	* src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
+	unused.
+
+2007-06-01  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidparse.c (cid_parser_new): Don't continue second search
+	pass for `StartData' if an error has occurred.
+	Exit properly if no `StartData' has been seen at all.
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
+	LONG_MAX to avoid compiler warning.  Suggested by Sean McBride.
+
+2007-05-30  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
+	against too small binary data strings.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
+
+2007-05-28  David Turner  <[email protected]>
+
+	* src/cff/cffgload.c (cff_slot_load): Do not apply the identity
+	transformation.  This significantly reduces the loading time of CFF
+	glyphs.
+
+	* docs/CHANGES: Updated.
+
+	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
+	hinting script to CJK, since it works well with more scripts than
+	latin.  Thanks to Rahul Bhalerao <[email protected]> for pointing
+	this out!
+
+2007-05-25  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2007-05-24  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
+	into TT_USE_BYTECODE_INTERPRETER preprocessor block.
+
+2007-05-24  Graham Asher  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_size_ready_bytecode)
+	[!TT_USE_BYTECODE_INTERPRETER]: Removed.  Unused.
+
+2007-05-22  David Turner  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
+	avoid crashes in case the bytecode interpreter is not used.
+
+
+	Avoid heap blowup with very large .Z font files.  This fixes
+	Savannah bug #19910.
+
+	* src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
+	`in_limit', `pad', `pad_bits', and `in_buff' members.
+	Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
+	`buf_total' members.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten.  It now takes
+	only one argument.
+	(ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
+
+2007-05-20  Ismail Dönmez  <[email protected]>
+
+	* src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
+	(ps_dimension_set_mask_bits): Remove `const'.
+
+2007-05-19  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttmtx.c (tt_face_get_metrics)
+	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
+
+2007-05-19  Derek Clegg  <[email protected]>
+
+	Savannah patch #5929.
+
+	* include/freetype/tttables.h, src/base/ftobjs.c
+	(FT_Get_CMap_Format): New function.
+
+	* include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
+	`format' member.
+	* src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
+	cmap_info->format.
+
+2007-05-19  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
+	before handling subglyphs so that it can be reinitialized each time.
+	This fixes Savannah bug #19859.
+
+2007-05-16  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
+	src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
+	(FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
+	src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
+	tt_face_get_metrics): Fix type-punning issues.
+
+2007-05-15  David Turner  <[email protected]>
+
+	* include/freetype/config/ftstdlib.h,
+	include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
+	ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
+	instead of relying on the locale-dependent functions provided by
+	<ctypes.h>.
+
+2007-05-15  Graham Asher  <[email protected]>
+
+	* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
+	variable.
+	* src/autofit/afloader.c (af_loader_load_g): Ditto.
+
+	* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
+	(open_face_from_buffer): Initialize `stream'.
+	(FT_Request_Metrics): Remove unused variable.
+	Remove redundant `break' statements.
+	(FT_Get_Track_Kerning): Remove unused variable.
+
+	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
+	afm_parse_kern_data): Remove redundant
+	`break' statements.
+	(afm_parser_parse): Ditto.
+	Don't use uninitialized variables.
+
+	* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
+	Use `|' operator instead of `^' to set it.
+	Update all users.
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
+	* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
+	comparison.
+	(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
+	(TT_Load_Glyph): Remove unused variable.
+
+2007-05-13  Derek Clegg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
+	if FT_RENDER_POOL_SIZE is > 0.  From Savannah patch #5928.
+
+2007-05-11  David Turner  <[email protected]>
+
+	* src/cache/ftcbasic.c, include/freetype/ftcache.h
+	(FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
+	functions that allow us to look up glyphs using an FTC_Scaler object
+	to specify the size, making it possible to use fractional pixel
+	sizes.
+
+	* src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
+	`size->cvt_ready'.  Reported by Boris Letocha.
+
+2007-05-09  Graham Asher  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
+	(af_latin_metrics_scale_dim): Fix compiler warnings.
+
+2007-05-06  Werner Lemberg  <[email protected]>
+
+	* builds/win32/visualce/freetype.sln: Removed, as requested by
+	Vincent.
+
+2007-05-04  Vincent RICHOMME  <[email protected]>
+
+	* builds/win32/visualce/*: Add Visual C++ project files for Pocket
+	PC targets.
+
+	* docs/CHANGES: Document them.
+
+2007-05-04  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
+	mmap (which might happen on some RTOS).  From Savannah patch #5909.
+
+2007-05-03  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
+	* include/freetype/freetype.h (FT_Set_Char_Size): Update
+	documentation.
+
+2007-04-28  Victor Stinner  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
+	`cmap'.
+
+2007-04-27  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
+	number of points in contours.  Problem reported by Victor Stinner
+	<[email protected]>.
+	(TT_Process_Simple_Glyph): Synchronize variable types.
+
+2007-04-26  Werner Lemberg  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
+	zero in case of error.  This fixes Savannah bug #19689.
+
+2007-04-25  Boris Letocha  <[email protected]>
+
+	* src/truetype/ttobjs.c: Fix a typo that created a speed regression
+	in the TrueType bytecode loader.
+
+2007-04-10  Martin Horak  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+	Ignore `hhea' table.  This fixes Savannah bug #19261.
+
+2007-04-09  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.3.4 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-4'.
+
+	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+	version number to 2.3.4.
+
+	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+	* builds/unix/configure.raw (version_info): Set to 9:15:3.
+
+2007-04-09  Martin Horak  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Save and restore
+	memory stream to avoid a crash with the incremental memory
+	interface (Savannah bug #19260).
+
+2007-04-06  David Turner  <[email protected]>
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite
+	bug (Savannah bug #19536).
+
+2007-04-04  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.3.3 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-3'.
+
+	* docs/CHANGES: Mention CVE-2007-1351.
+
+2007-04-03  David Turner  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
+	if one of the resolution values is 0, treat it as if it were the
+	same as the other value.
+
+2007-04-02  David Turner  <[email protected]>
+
+	Add special code to detect `extra-light' fonts and do not snap their
+	stem widths too much to avoid bizarre hinting effects.
+
+	* src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
+	`extra_light' members.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
+	them.
+	(af_latin_metrics_scale_dim): Set `extra_light'.
+	(af_latin_compute_stem_width): Use `extra_light'.
+
+2007-03-28  David Turner  <[email protected]>
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
+	padding.
+
+2007-03-28  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
+	gracefully.
+	(_bdf_set_default_spacing): Increase `name' buffer size to 256 and
+	issue an error for longer names.  This fixes CVE-2007-1351.
+	(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
+	number of code points in Unicode.
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
+	s/232/233/.
+
+	* docs/CHANGES: Mention ftdiff.
+
+2007-03-26  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
+	corresponding code.
+	(Ins_MD): Last regression fix.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
+	computations in order to ignore single-point contours.  These are
+	never rasterized and correspond in certain fonts to mark-attach
+	points that are very far from the glyph's real outline, ruining the
+	computation.
+
+	* src/autofit/afloader.c (af_loader_load_g): In the case of
+	monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
+	Otherwise code that uses them will most certainly ruin the fixed
+	advance property.
+
+	* docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
+	documentation and bump version number to 2.3.3.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 9:14:3.
+
+2007-03-26  suzuki toshiya  <[email protected]>
+
+	* builds/unix/ftconfig.in: Disable Carbon framework dependency on
+	64bit ABI on Mac OS X 10.4.x (ppc & i386).  Found by Sean McBride.
+	* builds/vms/ftconfig.h: Ditto.
+	* include/freetype/config/ftconfig.h: Ditto.
+
+2007-03-22  suzuki toshiya  <[email protected]>
+
+	* builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
+	32bit unsigned long overflow by 64bit filesize on LP64 platform, as
+	proposed by Sean McBride:
+	https://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+
+2007-03-22  suzuki toshiya  <[email protected]>
+
+	* builds/unix/ftconfig.in: Suppress SGI compiler's warning against
+	setjmp, proposed by Sean McBride:
+	https://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+
+2007-03-19  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
+	conftest.c, to avoid unexpected shell evaluation.  Possibly it is a
+	bug or undocumented behaviour of autoconf.
+
+2007-03-18  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
+	fix; testing still needed.
+
+	* src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
+
+2007-03-17  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
+	(undocumented) twilight zone special case.
+
+2007-03-09  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.3.2 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-2'.
+
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
+	s/231/232/.
+
+2007-03-08  David Turner  <[email protected]>
+
+	* docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
+
+	* builds/unix/configure.raw (version_info): Set to 9:13:3.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+	* README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
+
+	* src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
+	function to work properly, over-writing user-provided buffers in
+	some cases.  Reported by James Cloos <[email protected]>.
+
+
+2007-03-05  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
+	macro for `strstr'.
+
+	* src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
+	`trick_names', as suggested by Ivan Nincic.
+
+2007-03-05  David Turner  <[email protected]>
+
+	* src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
+	case FT_Init_FreeType fails for some reason.  Problem reported by
+	Maximilian Schwerin <[email protected]>.
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Clear the `x_ppem'
+	and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
+	`TT_Size.root.metrics'.  Problem reported by Daniel Glöckner
+	<[email protected]>.
+
+	* src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
+	signed values, not unsigned ones.  Problem reported by Johannes
+	Walther <[email protected]>.
+
+2007-02-21  David Turner  <[email protected]>
+
+	* src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
+	of small and ghost stems in the Postscript interpreter.
+
+2007-02-20  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
+	leak, patch by "Jjgod Jiang" <[email protected]>.
+	* builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
+
+2007-02-16  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
+	* src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
+
+2007-02-14  David Turner  <[email protected]>
+
+	It seems that the following changes fix most of the known
+	interpreter problems with my fonts, but more testing is needed,
+	though.
+
+	* src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
+	(TT_MulFix14): Rewrite.
+	(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
+	(Ins_MIRP): Ditto.
+
+2007-02-12  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
+	warnings.
+
+	* src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
+	(bdf_interpret_style): Ditto.
+
+2007-02-12  David Turner  <[email protected]>
+
+	Simplify projection and dual-projection code interface.
+
+	* src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
+	FT_Vector' as argument type.
+	* src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
+	Updated.
+	(CUR_fast_project, CUR_fast_dualproj): New macros.
+	(Project, Dual_Project, Project_x, Project_y): Updated.
+	(Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
+	macros.
+
+
+	* src/autofit/afloader.c (af_loader_load_g): Improve spacing
+	adjustments for the non-light auto-hinted modes.  Gets rid of
+	`inter-letter spacing is too wide' problems.
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments,
+	af_latin_hints_compute_edges): Slight optimization of the segment
+	linker and better handling of serif segments to get rid of broken
+	`9' in Arial at 9pt (96dpi).
+
+
+	Introduce new string functions and the corresponding macros to get
+	rid of various uses of strcpy and other `evil' functions, as well as
+	to simplify a few things.
+
+	* include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
+	ft_mem_strcpyn): New declarations.
+	(FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
+	macros.
+	* src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
+	functions.
+
+	* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Init),
+	src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
+	(pcf_get_properties, pcf_interpret_style, pcf_load_font),
+	src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
+	(cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
+	src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
+	(t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
+	t42_get_name_index): Use new functions and simplify code.
+
+	* builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
+
+2007-02-11  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afloader.c (af_loader_load_g): Don't change width for
+	non-spacing glyphs.
+
+2007-02-07  Tom Parker  <[email protected]>
+
+	* src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
+	pointer.
+
+2007-02-05  suzuki toshiya  <[email protected]>
+
+	* include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
+	Introduce __attribute((deprecated))__ to warn functions
+	which use non-ANSI data types in its interfaces.
+	(FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
+	(FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
+	(FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
+	(FT_New_Face_From_FSRef): Deprecated, using FSRef.
+
+	* src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
+	to avoid warning in building FreeType.
+	* builds/mac/ftmac.c: Ditto.
+
+2007-02-05  suzuki toshiya  <[email protected]>
+
+	* src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
+	`--with-fsspec' etc.  Replace #include "ftmac.c" with
+	#include <ftmac.c>.
+
+2007-02-05  suzuki toshiya  <[email protected]>
+
+	* include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
+	Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
+	* src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
+	(FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
+	FT_GetFilePath_From_Mac_ATS_Name.
+	* builds/mac/ftmac.c: Ditto.
+
+2007-02-05  suzuki toshiya  <[email protected]>
+
+	* include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
+	FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
+	for passing to FT_New_Face_From_FSSpec.
+
+2007-02-05  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Check whether Mac OS X system headers
+	can be built under ANSI C mode.
+
+	* src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
+	compatible to ANSI C in case system headers are ANSI C incompatible.
+	* builds/mac/ftmac.c (OS_INLINE): Ditto.
+
+2007-02-01  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
+	Explain why applications shouldn't use it.  Found by Alexei.
+
+2007-02-01  Alexei Podtelezhnikov  <[email protected]>
+
+	* builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
+	message.
+
+	* src/gxvalid/gxvmort1.c
+	(gxv_mort_subtable_type1_substTable_validate): Fix debugging
+	message.
+
+2007-01-31  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.3.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-1-FINAL'.
+
+	* builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj: s/230/231/.
+	* builds/win32/visualc/index.html: s/221/231/.
+
+	* vms_make.com: Add `ftgasp'.
+
+2007-01-30  David Turner  <[email protected]>
+
+	Tag sources with VER-2-3-1 to prepare release.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
+	s/2.3.0/2.3.1/.
+
+	* builds/unix/configure.raw (version_info): Set to 9:12:3.
+
+
+	* src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
+	(af_loader_load_g): Disable the warper (i.e., the light hinting
+	improvements) to make a 2.3.1 bugfix release before introducing a
+	new feature.  This should give us more time to tune and improve the
+	warper for the next release.
+
+	* docs/CHANGES: Update accordingly.
+
+2007-01-25  David Turner  <[email protected]>
+
+	For light auto-hinting, improve glyph advance widths and resurrect
+	normal/full hinting to its normal quality.
+
+	* src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
+	and `xmax_delta'.
+	* src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
+	and `xmax_delta'.
+
+	* src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
+	preprocessor conditional with if-clause, handling both light and
+	normal mode.
+
+	* src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
+	(af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
+
+2007-01-25  Werner Lemberg  <[email protected]>
+
+	* docs/release: Updated -- Savannah uses a new uploading scheme.
+
+2007-01-25  David Turner  <[email protected]>
+
+	* src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
+	functions.
+
+	* docs/CHANGES: Document light auto-hinting improvement.
+
+2007-01-25  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_index_get_pointers): Handle last entry
+	correctly in a sanity check.  Since this function is only used to
+	load local and global functions, any charstring that called the last
+	local/global function would fail otherwise.  This fixes Savannah bug
+	#18867.
+
+	* docs/CHANGES: Document it.
+
+2007-01-23  David Turner  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
+	prevented compilation when disabling both the unpatented and the
+	bytecode interpreter in the TrueType font driver.
+
+
+	Fix and enable the warper to improve `light' hinting mode.  This is
+	not necessarily a final version, but it seems to work well.
+
+	* src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
+	Disable code.
+	(af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
+	* src/autofit/aftypes.h: Activate AF_USE_WARPER.
+
+	* src/autofit/afwarp.c (AF_WarpScore): Tune table.
+	(af_warper_compute_line_best): Fix array size of `scores'.
+	(af_warper_compute): Better handling of border cases.
+	* src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
+	and `X2'.
+
+2007-01-21  Werner Lemberg  <[email protected]>
+
+	* ChangeLog: Split off older entries into...
+	* ChangeLog.22: This new file.
+
+2007-01-21  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Document SHZ fix.
+
+2007-01-21  George Williams  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
+	points.
+
+2007-01-21  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttmtx.c (tt_face_get_metrics)
+	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
+
+2007-01-17  Werner Lemberg  <[email protected]>
+
+
+	* Version 2.3.0 released.
+	=========================
+
+
+	Tag sources with `VER-2-3-0-FINAL'.
+
+2007-01-17  Werner Lemberg  <[email protected]>
+
+	* docs/release: Updated.
+
+2007-01-16  David Turner  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
+	src/cff/cffdrivr.c (cff_ps_get_font_info), src/truetype/ttobjs.c
+	(tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
+	warnings.
+
+2007-01-15  Detlef Würkner  <[email protected]>
+
+	* builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
+
+	* builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
+
+2007-01-14  Detlef Würkner  <[email protected]>
+
+	Fix various compiler warnings.
+
+	* src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
+	src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
+	s/index/strike_index/.
+	* src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
+
+	* src/gxvalid/gxvmorx5.c
+	(gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
+
+	* src/truetype/ttinterp.c (Compute_Point_Displacement),
+	src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
+	uninitialized variables.
+
+2007-01-13  suzuki toshiya  <[email protected]>
+
+	* docs/CHANGES, docs/INSTALL.MAC: Improvements.
+
+2007-01-13  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
+	versions up to 0x3FF without complaining.
+
+2007-01-13  Derek Clegg  <[email protected]>
+
+	Add FT_Get_PS_Font_Info interface to CFF driver.
+
+	* src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
+	(CFF_FontRec): Add `font_info' field.
+
+	* src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
+	(cff_font_done): Free font->font_info if necessary.
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_info): New function.
+	(cff_service_ps_info): Register cff_ps_get_font_info.
+
+2007-01-13  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
+	with C++ compiler.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edges): Ditto.
+
+	* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
+	`modules.cfg').
+
+	* src/sfnt/ttsbit0.h: Remove.
+
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
+
+2007-01-12  David Turner  <[email protected]>
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
+	bug in the bitmap emboldener if the pitch of the source bitmap is
+	much larger than its width.
+
+	* src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
+	compilation warning.
+
+2007-01-12  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+	`automake' CVS module from sources.redhat.com.
+
+2007-01-11  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (is_space): Removed.
+	(parse_encoding, parse_charstrings): Use IS_PS_DELIM.
+	(parse_charstrings): Use IS_PS_TOKEN.
+
+
+	* autogen.sh: Avoid bash specific syntax.
+
+2007-01-11  David Turner  <[email protected]>
+
+	* docs/CHANGES: Small update.
+
+	* builds/unix/configure.raw (version_info): Set to 9:11:3.
+
+	* src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
+	crash with some Mac OS X .dfont files.  Submitted by Masatake
+	Yamato.
+
+	* autogen.sh: Small fix to get it working on Mac OS X properly:
+	The issue is that GNU libtool is called `glibtool' on this platform,
+	and we must call `glibtoolize', since `libtoolize' doesn't exist.
+
+2007-01-10  David Turner  <[email protected]>
+
+	* all-sources: Tag all sources with VER-2-3-0-RC1 and
+	VER-2-3-0.
+
+	* Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
+	version number to 2.3.0.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
+	(FREETYPE_PATCH): Set to 0.
+
+	* include/freetype/ftchapters.h, include/freetype/ftgasp.h,
+	include/freetype/ftlcdfil.h: Update reference documentation with
+	GASP support and LCD filtering sections.
+
+	* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
+	which created an endless loop with some malformed font files.
+
+2007-01-10  Derek Clegg  <[email protected]>
+
+	* src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point
+	values.
+
+2007-01-08  David Turner  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+	* include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
+	a new API `FT_Get_Gasp' to return entries of the `gasp' table
+	corresponding to a given character pixel size.
+
+	* src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
+	`gasp' table, in order to avoid potential problems with later
+	versions.
+
+	* include/freetype/config/ftheader.h (FT_GASP_H): New macro for
+	<freetype/ftgasp.h>.
+
+	* src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
+	modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
+	default build.
+
+2007-01-07  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidparse.c (cid_parser_new): Improve error message for
+	Type 11 fonts.
+	Scan for `/sfnts' token.
+
+2007-01-07  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
+
+2007-01-06  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_index_init): Remove unused variable.
+	(cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
+
+2007-01-04  David Turner  <[email protected]>
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
+	correctly.  This fixes Savannah bug #17876.
+
+
+	Do not allocate interpreter-specific tables in memory if we are not
+	going to load glyphs with the bytecode interpreter anyway.
+
+	* src/truetype/ttgload.c (tt_loader_init): Load execution context
+	only if glyph is hinted.
+	Updated.
+	* src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
+	and `cvs_ready'.
+	Add `tt_size_ready_bytecode' declaration.
+	* src/truetype/ttobjs.c (tt_size_done_bytecode,
+	tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
+	(tt_size_init): Move most code into `tt_size_init_bytecode'.
+	(tt_size_done): Move most code into `tt_size_done_bytecode'.
+	(tt_size_reset): Move some code to `tt_size_ready_bytecode'.
+
+
+	Don't extract the metrics table from the SFNT font file.  Instead,
+	reparse it on each glyph load.  The runtime difference is not
+	noticeable, and it can save a lot of heap memory when memory-mapped
+	files are not used.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add members
+	`horz_metrics_offset' and `vert_metrics_offset'.
+	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
+	Updated.
+
+
+	* src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
+
+
+	Do not load the CFF index offsets into memory, since this wastes a
+	*lot* of heap memory with large Asian CFF fonts.  There is no
+	significant performance loss.
+
+	* src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
+	* src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
+	`data_size'.
+	(CFF_CharsetRec): Add field `num_glyphs'.
+
+	* src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
+	cff_charset_cid_to_gindex): New functions.
+	(cff_new_index): Renamed to...
+	(cff_index_init): This.  Update all callers.
+	Updated -- some code has been moved to `cff_index_load_offsets'.
+	(cff_done_index): Renamed to...
+	(cff_index_done): This.  Update all callers.
+	(cff_index_get_pointers, cff_index_access_element): Updated to use
+	stream offsets.
+	(cff_charset_compute_cids): Set `num_glyphs' field.
+	(cff_encoding_load): Updated.
+
+	* src/cff/cffgload.c (cff_slot_load): Updated.
+
+2007-01-04  David Turner  <[email protected]>
+
+	* docs/INSTALL.UNIX: Simplify some parts, add reference to
+	autogen.sh and pointer to README.CVS.
+
+	* README.CVS: Add common problem description and solution
+	when running autogen.sh.
+
+	* docs/INSTALL: Add reference to MacOS X.
+
+	* docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
+
+	* docs/TODO: Remove obsolete items.
+
+	* src/raster/ftraster.c: (TRaster_Instance): Replace it with...
+	(TWorker): This.
+	Remove `count_table' and `memory'.
+	Make `grays' a pointer.
+	(TRaster): New structure.
+	(count_table): New static array.
+	(RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
+	Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
+	ft_black_set_mode, ft_black_render): Updated.
+	(ft_black_init): Don't initialize `count_table'.
+	(ft_black_reset): Use the render pool.  This saves about 6KB of
+	heap space for each FT_Library instance.
+
+	* src/smooth/ftgrays.c (TRaster): Replaced with...
+	(TWorker): This.
+	Remove `memory'.
+	(TRaster): New structure.
+
+	(RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
+	gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
+	gray_render_span, gray_raster_render): Updated.
+	(gray_raster_reset): Use the render pool.  This saves about 6KB of
+	heap space for each FT_Library instance.
+
+	* src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
+	src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
+	src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
+	FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
+	the optimization is no longer experimental.
+
+	* src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
+	Remove a typo that results in no hinting and a memory leak with some
+	large Asian CFF fonts.
+
+	* src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
+	which happens when FT_Done_Library is called with still opened
+	CFF_Faces in it.  We need to close all faces before destroying the
+	modules, or else some bad things (memory leaks) may happen.
+
+2007-01-02  Werner Lemberg  <[email protected]>
+
+	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
+	Remove compiler warning.
+
+2007-01-02  David Turner  <[email protected]>
+
+	* src/sfnt/sfobjs.c: Add documentation comment.
+
+2006-12-31  Masatake YAMATO  <[email protected]>
+
+	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
+	function.
+	Check uniqueness of the gid pairs.
+	(gxv_kern_subtable_fmt0_validate): Move some code to
+	`gxv_kern_subtable_fmt0_pairs_validate'.
+
+2006-12-22  David Turner  <[email protected]>
+
+	* src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
+	warnings.
+
+	* builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
+	to avoid deprecation warnings with Visual C++ 8.
+
+2006-12-16  Anders Kaseorg  <[email protected]>
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
+	[FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
+
+2006-12-15  suzuki toshiya  <[email protected]>
+
+	* include/freetype/internal/services/svotval.h: Add `volatile' to
+	sync with the modification by Jens Claudius on 2006-08-22; cf.
+	  https://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
+
+2006-12-15  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c: Specialized for Mac OS X only.
+	* builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
+	* builds/unix/configure.raw: Ditto.  When explicit switches for
+	FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
+	builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
+
+2006-12-15  suzuki toshiya  <[email protected]>
+
+	* builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
+	* builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
+	instead of src/base/ftmac.c
+	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+	* builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
+	that cannot be built at present.
+
+2006-12-15  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c: Improvement of resource fork handler for
+	POSIX, cf.
+	  https://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
+	(Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
+	format or .dfont, to simulate the face index number counted by ftmac.c.
+	(IsMacResource): Return the number of scalable faces correctly.
+
+2006-12-10  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (version): Protect against `distclean' target.
+
+2006-12-09  Werner Lemberg  <[email protected]>
+
+	* builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
+	or `type'.
+
+	* builds/freetype.mk (version): Extracted from freetype.h, using
+	GNU make's built-in string functions.
+	(refdoc): Use $(version) instead of static version number.
+
+2006-12-08  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (dist): Extract version number from freetype.h.
+
+2006-12-08  Vladimir Volovich  <[email protected]>
+
+	* src/tools/apinames.c (State): Remove final comma in structure --
+	xlc v5 under AIX 4.3 doesn't like this.
+
+2006-12-07  David Turner  <[email protected]>
+
+	* src/autofit/afloader.c (af_loader_load_g): Small adjustment
+	to the spacing of auto-fitted glyphs.  This only impacts rare
+	cases (e.g., Arial Bold at rather small character sizes).
+
+2006-12-03  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+
+2006-12-01  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
+	encoded in UTF-16BE.  Patch from Rajeev Pahuja <[email protected]>.
+	(tt_name_entry_ascii_from_ucs4): Removed.
+
+
+	* include/freetype/ftxf86.h: Fix and extend comment so that it
+	appears in the documentation.
+
+	* include/freetype/ftchapters.h: Add `font_format' section.
+
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
+	to TOC in index page.
+
+2006-11-28  David Turner  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
+	trying to render into a zero-width/height bitmap, not an error code.
+
+	* src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
+
+	* src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
+	ones instead.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
+	variable.
+
+2006-11-26  Pierre Hanser  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
+
+2006-11-25  David Turner  <[email protected]>
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points,
+	af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
+	Add stubs to link the `ftgrid' test program when debugging is
+	disabled in the auto-hinter.
+
+2006-11-23  David Turner  <[email protected]>
+
+	* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
+	src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
+	Emit more sensible information.
+
+	* src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
+	rounding of blue values.
+	(af_latin_hints_compute_segments): Hint segment heights.
+	(af_latin_hints_link_segments): Reduce `len_score' value.
+	(af_latin_hints_compute_edges): Increase `segment_length_threshold'
+	value and use `height' member for comparisons.
+	(af_latin_hint_edges): Extend logging message.
+	Improve handling of remaining edges.
+
+2006-11-22  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #15553.
+
+	* src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
+	program after a change from mono to grayscaling (and vice versa).
+	Use correct constant for comparison to get `exec->grayscale'.
+
+2006-11-18  Werner Lemberg  <[email protected]>
+
+	Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
+	test for a valid glyph index must be deferred to the font drivers.
+	This patch fixes Savannah bug #18301.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
+	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
+	src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
+	(pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
+	src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
+	(FNT_Load_Glyph): Check validity of `glyph_index'.
+
+2006-11-13  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c (FIX_BYTECODE): Undefine.  The interpreter
+	`enhancements' are still too buggy for general use.
+
+	* src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
+	FT_FORCE_LEGACY_LCD_FILTER at compile time.  Define these macros
+	when building the library to change the default LCD filter to be
+	used.  This is only useful for experimentation.
+
+	* include/freetype/ftlcdfil.h: Update documentation.
+
+2006-11-10  David Turner  <[email protected]>
+
+	* src/smooth/ftsmooth.c: API change for the LCD
+	filter.  The FT_LcdFilter value is an enumeration describing which
+	filter to apply, with new values FT_LCD_FILTER_LIGHT and
+	FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
+	algorithm which produces strong color fringes for everything
+	except very-well hinted text).
+
+	* include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
+	second parameter to an enum type.
+
+	* src/base/ftlcdfil.c (USE_LEGACY): Define.
+	(_ft_lcd_filter): Rename to...
+	(_ft_lcd_filter_fir): This.
+	Update parameters.
+	(_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
+	(FT_Library_SetLcdFilter): Update parameters.
+	Handle new filter modes.
+
+	* include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
+	(FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
+	(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
+	callback and update other fields.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
+	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
+	Other minor improvements.
+
+	* src/autofit/aflatin.c: Various tiny improvements that drastically
+	improve the handling of serif fonts and of LCD/LCD_V hinting modes.
+	(af_latin_hints_compute_edges): Fix typo.
+	(af_latin_compute_stem_width): Take better care of diagonal stems.
+
+2006-11-09  David Turner  <[email protected]>
+
+	* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
+	typo which created a variable-used-before-initialized bug.
+
+2006-11-07  Zhe Su  <[email protected]>
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
+	also.
+
+2006-11-03  Werner Lemberg  <[email protected]>
+
+	* src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
+
+2006-11-02  David Turner  <[email protected]>
+
+	Add a few tweaks to better handle serif fonts.
+	Add more debugging messages.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
+	segments that are less than 1.5 pixels high.  This gets rid of
+	*many* corner cases with serifs.
+	(af_latin_align_linked_edge): Add logging message.
+	(af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
+	Add logging messages.
+	Handle AF_EDGE_FLAG flag specially.
+
+	* src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
+	_af_debug_disable_blue_hints, and _af_debug_hints variables.
+
+	* src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
+	Update external declarations.
+	(af_corner_orientation, af_corner_is_flat): Replaced by...
+
+	* include/freetype/internal/ftcalc.h (ft_corner_orientation,
+	ft_corner_is_flat): These declarations.
+
+	* src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
+	Comment out.  Replaced by...
+
+	* src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
+	These functions.  Update all callers.
+	(FT_Add64) [!FT_LONG64]: Simplify.
+
+	* src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
+	(af_direction_compute): Add a missing FT_ABS call.  This bug caused
+	production of garbage by missing lots of segments.
+
+	* src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
+
+	* src/autofit/afloader.c (af_loader_init, af_loader_done)
+	[AF_DEBUG]: Set _af_debug_hints.
+
+
+	* src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
+	(psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
+	and ft_corner_orientation.
+
+
+	* src/gzip/inftrees.c (huft_build): Remove compiler warning.
+
+2006-10-24  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_encoding_load): Remove unused variable.
+
+	* src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
+	as argument.
+
+2006-10-23  Zhe Su  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
+	better deal with broken Asian fonts with strange glyphs, having
+	self-intersections and other peculiarities.  The used algorithm is
+	based on the nonzero winding rule.
+
+2006-10-23  David Turner  <[email protected]>
+
+	Speed up the CFF font loader.  With some large CFF fonts,
+	FT_Open_Face is now more than three times faster.
+
+	* src/cff/cffload.c (cff_get_offset): Removed.
+	(cff_new_index): Inline functionality of `cff_get_offset'.
+	(cff_charset_compute_cids, cff_charset_free_cids): New functions.
+	(cff_charset_done): Call `cff_charset_free_cids'.
+	(cff_charset_load): Call `cff_charset_compute_cids'.
+	(cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
+
+	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
+	with FT_NEXT_XXX.
+
+
+	Speed up the Postscript hinter, with more than 100% speed increase
+	on my machine.
+
+	* src/pshinter/pshalgo.c (psh_corner_is_flat,
+	psh_corner_orientation): New functions.
+	(psh_glyph_compute_inflections): Merge loops for efficiency.
+	Use `psh_corner_orientation'.
+	(psh_glyph_init): Use `psh_corner_is_flat'.
+	(psh_hint_table_find_strong_point): Renamed to...
+	(psh_hint_table_find_strong_points): This.
+	Rewrite, adding argument to handle all points at once.
+	Update all callers.
+	(PSH_MAX_STRONG_INTERNAL): New macro.
+	(psh_glyph_interpolate_normal_points): Rewrite for efficiency.
+
+2006-10-15  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
+	`error' with FT_Err_Ok.
+
+2006-10-14  suzuki toshiya  <[email protected]>
+
+	* docs/INSTALL.CROSS: New document file for cross-building.
+
+	* builds/unix/configure.raw: Preliminary cross-building support.
+	Find native C compiler and pass it by CC_BUILD, and
+	find suffix for native executable and pass it by EXEEXT_BUILD.
+	Also suffix for target executable is passed by EXEEXT.
+
+	* builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
+	build `apinames' which runs on building system.  They are set by
+	CC_BUILD and EXEEXT_BUILD.
+
+	* builds/exports.mk (APINAMES_EXE): Change the extension for
+	apinames from the suffix for target (E) to that for building host
+	(E_BUILD).
+
+2006-10-12  Werner Lemberg  <[email protected]>
+
+	* docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
+	* docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This.  Update all documents
+	which reference those files.
+
+2006-10-12  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable.  It is
+	embedded in freetype2.pc and freetype-config.  Use it to record
+	Carbon dependency of MacOSX.
+
+	* builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
+
+	* builds/unix/freetype-config.in: Ditto.
+
+2006-10-11  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
+	development.
+
+2006-10-03  Jens Claudius  <[email protected]>
+
+	* include/freetype/config/ftstdlib.h: Cast away volatileness from
+	argument to ft_setjmp.
+
+	* include/freetype/internal/ftvalid.h: Add comment that
+	ft_validator_run must not be used.
+
+2006-10-01  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbase.c: Undo change from 2006-09-30.
+
+	* src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
+
+2006-09-30  David Turner  <[email protected]>
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+	s/unpatented_hinting/ignore_unpatented_hinter/.
+	Update all callers.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
+	auto-hinting shall be used or not.
+
+	* src/truetype/ttobjs.c (tt_face_init): Ditto.
+
+2006-09-30  Werner Lemberg  <[email protected]>
+
+	* src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
+	in use).
+
+	* src/base/ftbase.c: Include `ftlcdfil.c'.
+
+2006-09-29  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
+	overlapping segments.  Bug reported by Stefan Koch.
+
+2006-09-28  David Turner  <[email protected]>
+
+	Fix a bug in the automatic unpatented hinting support which prevents
+	normal bytecode hinting to work properly.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+	s/force_autohint/unpatented_hinting/.  Update all callers.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Updated code.
+
+	* src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
+
+2006-09-27  David Turner  <[email protected]>
+
+	* include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
+
+
+	Add a new API to support color filtering of subpixel glyph bitmaps.
+	In a default build, the function `FT_Library_SetLcdFilter' returns
+	`FT_Err_Unimplemented_Feature'; you need to #define
+	FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
+	real implementation.
+
+	* include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
+
+	* include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
+	typedef.
+	(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
+	`lcd_filter_weights' and `lcd_filter'.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
+	`hmul' and `vmul'.
+
+	Handle subpixel rendering.
+	Simplify function.
+	(ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
+	(ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
+
+	* include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
+	pointing to <freetype/ftlcdfil.h>.
+
+	* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
+	vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
+
+	* modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
+
+2006-09-26  David Bustin
+
+	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
+	correctly.  Reported as Savannah bug #17843.
+
+2006-09-26  David Turner  <[email protected]>
+
+	* src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
+	AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
+	horizontal and vertical hinting for the purpose of debugging the
+	auto-fitter.
+
+	* src/autofit/afmodule.c (_af_debug_disable_horz_hints,
+	_af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
+
+	* src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
+
+	* include/freetype/config/ftoption.h, devel/ftoption.h
+	(FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
+	we want to compile LCD-optimized rendering code (à la ClearType) or
+	not.  The macro *must* be disabled in default builds of the library
+	for patent reasons.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
+	LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+	isn't defined at compile time.  This only changes the content of the
+	rendered glyph to match the one of normal gray-level rendering,
+	hence clients should not need to be modified.
+
+	* docs/CHANGES: Updated.
+
+2006-09-18  Garrick Meeker  <[email protected]>
+
+	* src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
+	LWFN fails and both are available.
+
+2006-09-11  David Turner  <[email protected]>
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
+	report their English names through an Apple Roman
+	(platform,encoding) pair, with language_id != English.
+
+	If the font uses another name entry with language_id == English, it
+	will be selected correctly, though.
+
+	* src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
+	selection for `mingli.ttf'.
+
+2006-09-05  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
+	values which have the upper two bytes set to 0xFF instead of 0x00
+	(as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
+	`HAN NOM B.ttf').
+
+	* src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
+
+2006-09-05  David Turner  <[email protected]>
+
+	Minor source cleanups and optimizations.
+
+	* src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
+	(TRaster): Remove `count_ex' and `count_ey'.
+	(gray_find_cell): Remove 2nd and 3rd argument.
+	(gray_alloc_cell): Merged with `gray_find_cell'.
+	(gray_record_cell): Simplify.
+	(gray_set_cell): Rewrite.
+	(gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
+	(gray_render_span): Don't use FT_MEM_SET for small values.
+	(gray_dump_cells) [DEBUG_GRAYS]: New function.
+	(gray_sweep): Avoid buffer overwrites when to drawing the end of a
+	bitmap scanline.
+	(gray_convert_glyph): Fix speed-up.
+
+2006-09-04  David Turner  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
+	64bit processors.
+
+2006-09-03  Werner Lemberg  <[email protected]>
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+	* src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
+	variable declaration.
+	(gray_convert_glyph): Fix compiler warnings.
+
+2006-09-01  David Turner  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
+	to recognize a few fonts that require the automatic unpatented
+	loader.
+
+	* src/smooth/ftgrays.c: Optimize the performance of the anti-aliased
+	rasterizer.  The speed improvement is between 15% and 25%, depending
+	on the font data.
+
+	(GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
+	(TCell): Redefine.
+	(TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
+	(gray_init_cells): Updated.
+	(gray_find_cell, gray_alloc_cell): New functions.
+	(gray_record_cell): Rewritten to use `gray_find_cell' and
+	`gray_alloc_cell'.
+	(PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
+	QSORT_THRESHOLD):
+	Removed.
+	(gray_shell_sort, gray_quick_sort, gray_check_sort,
+	gray_dump_cells): Removed.
+	(gray_sweep): Rewritten.
+	(gray_convert_glyph): Rewrite code which used one of the sorting
+	functions.
+	(gray_raster_render): Updated.
+
+2006-08-29  Dr. Werner Fink  <[email protected]>
+
+	* configure: Make it possible to handle configure options which
+	have strings containing spaces.
+
+2006-08-27  David Turner  <[email protected]>
+
+	* include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
+	New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+	or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
+
+	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
+	src/truetype/truetype.c, src/truetype/ttdriver.c,
+	src/truetype/ttgload.c, src/truetype/ttgload.h,
+	src/truetype/ttinterp.c, src/truetype/ttobjs.c,
+	src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
+	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+	member `force_autohint'.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
+
+	* src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
+	against a list of font names which need the bytecode interpreter.
+
+2006-08-27  Jens Claudius  <[email protected]>
+
+	Fix miscellaneous compiler warnings.
+
+	* include/freetype/internal/ftobjs.h: Close comment with `*/' to
+	avoid `/* in comment' compiler warning.
+
+	* src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
+	`(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
+	64-bit platforms void* is larger than FT_UInt32.
+
+	* src/base/ftobjs.c (t_validator_error): Cast away
+	volatileness of argument to ft_longjmp.  Spotted by Werner
+	`Putzfrau' Lemberg.
+
+	* src/bdf/bdflib.c (bdf_load_font): Initialize local
+	variable `lineno'.
+
+	* src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
+	`error' as volatile.
+
+2006-08-27  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
+	Reported by Jens.
+
+2006-08-22  Jens Claudius  <[email protected]>
+
+	Fix for previous commit, which caused many compiler warnings/errors
+	about addresses of volatile objects passed as function arguments as
+	non-volatile pointers.
+
+	* include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
+	pointer to a volatile object.
+
+	* src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
+	`table' a pointer to a volatile object.
+
+	* src/otvalid/otvmod.c (otv_load_table): Make function argument
+	`table' a pointer to a volatile object.
+
+2006-08-18  Jens Claudius  <[email protected]>
+
+	* src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
+	as volatile since it must keep its value across a call to ft_setjmp.
+	(gxv_validate): Same for local variables `memory' and `valid'.
+	(classic_kern_validate): Same for local variables `memory',
+	`ckern', and `valid'.
+
+	* src/otvalid/otvmod.c (otv_validate): Same for function parameter
+	`face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
+	and 'valid'.
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
+	`cmap'.
+
+2006-08-16  David Turner  <[email protected]>
+
+	* src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
+	warnings.
+
+	* src/base/ftobjs.c (ft_validator_run): Disable function; it is
+	buggy by design.  Always return -1.
+
+
+	Improvements to native TrueType hinting.  This is a first try,
+	controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
+
+	* include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
+	`extra_points2'.
+
+	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
+	`orus'.
+
+	* src/base/ftgloadr.c (FT_GlyphLoader_Reset,
+	FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
+	FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
+	handle `extra_points2'.
+
+	* src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
+	Remove compiler warning.
+	(cur_to_arg): Remove macro.
+	(TT_Hint_Glyph): Updated.
+	(TT_Process_Simple_Glyph): Handle `orus'.
+
+	* src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
+	(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
+	(LOC_Ins_IUP): Renamed to...
+	(IUP_WorkerRec): This.
+	Add `orus' member.
+	(Shift): Renamed to...
+	(_iup_worker_shift): This.
+	Updated.
+	(Interp): Renamed to...
+	(_iup_worker_interpolate): This.
+	Updated to handle `orus'.
+	(Ins_IUP): Updated.
+
+	* src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
+	Handle `orus'.
+
+2006-08-15  suzuki toshiya  <[email protected]>
+
+	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
+	build ftvalid in ft2demos.  This has been inadvertently changed
+	2006-08-13.
+
+2006-08-15  suzuki toshiya  <[email protected]>
+
+	`ft_validator_run' wrapping `setjmp' can cause a crash, as found by
+	Jens:
+	https://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
+
+	* src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
+	It reverts the change introduced on 2005-08-20.
+
+	* src/gxvalid/gxvmod.c: Ditto.
+
+2006-08-13  Jens Claudius  <[email protected]>
+
+	* finclude/freetype/internal/psaux.h: (T1_TokenType): Add
+	T1_TOKEN_TYPE_KEY.
+	(T1_FieldRec): Add `dict'.
+	(T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
+	(T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
+	keyword is expected as an additional argument.
+
+	* src/cid/cidload.c: (cid_field_records): Adjust invocations of
+	T1_FIELD_XXX.
+
+	* src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
+
+	* src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
+	(ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
+	not T1_TOKEN_TYPE_ANY.
+	(ps_parser_load_field): Make sure a token that should be a string or
+	name is really a string or name.
+	Avoid memory leak if a keyword has been already encountered and its
+	value is overwritten.
+	* src/type1/t1load.c: (t1_keywords): Adjust invocations of
+	T1_FIELD_XXX.
+	(parse_dict): Ignore keywords that occur in the wrong dictionary
+	(e.g., in `Private' instead of `FontDict').
+
+	* src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
+
+	* src/type42/t42parse.c: (t42_keywords): Adjust invocations of
+	T1_FIELD_XXX.
+
+2006-07-18  Jens Claudius  <[email protected]>
+
+	Move creation of field `buildchar' of T1_DecoderRec out of
+	`t1_decoder_init' and let the caller of `t1_decoder_init' take care
+	of it.
+
+	Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
+	and `T1_Compute_Max_Advance'.
+
+	* include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
+	`face', add `len_buildchar'.
+
+	* include/freetype/internal/t1types.h (T1_FaceRec): Add field
+	`buildchar'.
+
+	* src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
+	for T1_Decoder.
+	(cid_slot_load_glyph): Do not ignore failure when initializing the
+	T1_Decoder.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
+	(t1_decoder_init): Remove initialization of fields `buildchar' and
+	`len_buildchar'.
+	(t1_decoder_done): Remove deallocation of field `buildchar'.
+
+	* freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
+	T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
+	T1_Decoder.
+	(T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
+	`len_buildchar'; make sure to call finisher for T1_Decoder even in
+	case of error.
+
+	* src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
+	of T1_FaceRec.
+
+	* src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
+	T1_FaceRec.
+
+2006-07-14  Jens Claudius  <[email protected]>
+
+	* include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
+	IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
+	and IS_PS_BASE85 (from src/psaux/psconv.h).
+	(T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
+	T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
+	(T1_DecoderRec): New fields `buildchar' and `face'.
+	(IS_PS_TOKEN): New macro.
+
+	* include/freetype/internal/t1types.h (T1_FaceRec): New fields
+	`ndv_idx', `cdv_idx', and `len_buildchar'.
+
+	* include/freetype/t1tables.h (PS_BlendRec): New fields
+	`default_design_vector' and `num_default_design_vector'.
+
+	* src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
+	IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
+	IS_PS_BASE85 to include/freetype/internal/psaux.h.
+
+	* src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
+	argument to be NULL if we want only to count the number of tokens.
+	(ps_tocoordarray): Allow `coords' argument to be NULL if we just
+	want to skip the array.
+	(ps_tofixedarray): Allow `values' argument to be NULL if we just
+	want to skip the array.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
+	for (partially commented out) othersubrs 19-25, 27, and 28.
+	(t1_decoder_init): Initialize new fields `face' and `buildchar'.
+	(t1_decoder_done): Release new field `buildchar'.
+
+	* src/type1/t1load.c (parse_buildchar, parse_private): New
+	functions.
+	(t1_keywords): Register them.
+	(t1_allocate_blend): Updated.
+	(t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
+	T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
+	(parse_dict): Remove `keyword_flags' argument.
+	Use new macro IS_PS_TOKEN.
+	Changed function so that later PostScript definitions override
+	earlier ones.
+	(t1_init_loader): Initialize new field `keywords_encountered'.
+	(T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
+	`len_buildchar'.
+	Remove `keywords_flags'.
+
+	* src/type1/t1load.h (T1_LoaderRec): New field
+	`keywords_encountered'.
+	(T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
+
+	* src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
+	entries for parsing /NDV, /CDV, and /DesignVector.
+
+2006-07-07  Werner Lemberg  <[email protected]>
+
+	Add many checks to protect against malformed PCF files.
+
+	* src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
+	(PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
+	data and check that tables don't overlap (using a simple
+	bubblesort).
+	(PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
+	New macros which give the size of data structures in the data
+	stream.
+	(pcf_get_properties): Use rough estimates to get array size limits.
+	Assign `face->nprops' and `face->properties' earlier so that a call
+	to PCF_Face_Done can do the clean-up in case of error.
+	Protect against invalid string offsets.
+	(pcf_get_metrics): Clean up code.
+	Adjust tracing message levels.
+	Use rough estimate to get array size limit.
+	(pcf_get_bitmaps): Clean up code.
+	Adjust tracing message levels.
+	Use rough estimates to get offset limits.
+	(pcf_get_encodings): Adjust tracing message level.
+	(pcf_get_accel): Clean up code.
+
+2006-06-26  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
+	don't have a POINT_SIZE property.  This fixes Savannah bug #16914.
+
+2006-06-26  Jens Claudius  <[email protected]>
+
+	* src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
+	(t1_decoder_parse_charstrings): Operator with
+	opcode 15 pops its two arguments.
+	Handle the case where the pops of an othersubr may be part of a
+	subroutine.
+	Handle unknown othersubrs gracefully: count their operands and let
+	the following pop operators push the operands as the results onto
+	the Type1 stack.
+	Improve handling of setcurrentpoint opcode.
+
+2006-06-25  Jens Claudius  <[email protected]>
+
+	The Type 1 parser now skips over top-level procedures as required
+	for a `Simplified Parser'.  This makes the parser more robust as it
+	doesn't poke around in PostScript code.  Additionally, it makes the
+	FontDirectory hackery in src/type1/t1load.c unnecessary.
+
+	* src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
+	(skip_literal_string): Add FT_Error as return value.
+	Handle escapes better.
+	(skip_string): Add FT_Error as return value.
+	Don't set `parser->error' but return error code directly.
+	(skip_procedure): New function.
+	(ps_parser_skip_PS_token): Handle procedures.
+	Update code.
+	(ps_parser_to_token): Update code.
+	(ps_parser_load_field_table): Handle bbox entries also.
+
+	* src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
+	Add commented-out code for synthetic fonts.
+
+2006-06-24  Eugeniy Meshcheryakov  <[email protected]>
+
+	Fix two hinting bugs as reported in
+	https://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
+
+	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
+	`first_point' member.
+
+	* src/truetype/ttgload.c (tt_prepare_zone): Initialize
+	`first_point'.
+	(TT_Process_Composite_Glyph): Always untouch points.
+
+	* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
+	`first_point' and `last_point' in case of composite glyphs.
+	(Ins_IUP): Fix computation of `end_point'.
+
+2006-06-22  suzuki toshiya  <[email protected]>
+
+	Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
+	Mac.  The original patch was written by David Sachitano and Lawrence
+	Coopet, and modified by Sean McBride for MPW compatibility.  Only
+	required data are converted; unused data are left in big endian.
+
+	* src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
+	Mac OS X platforms.
+	(OS_INLINE): Undefine before definition.
+	(count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
+	FontAssociation table in FOND resource.
+	(count_faces_scalable): Insert EndianS16_BtoN to parse the header
+	and fontSize at each entry of FontAssociation table in FOND
+	resource.
+	(parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
+	ffStylOff of FamilyRecord header of FOND resource, the header,
+	fontSize, fontID at each entry of FontAssociation table, and
+	StyleMapping table.
+	(count_faces): Call `HUnlock' after all FOND utilization.
+
+2006-06-08  suzuki toshiya  <[email protected]>
+
+	Public API of TrueTypeGX, OpenType, and classic kern table validator
+	should return `FT_Err_Unimplemented_Feature' if validation service
+	is unavailable (disabled in `modules.cfg').  It is originally
+	suggested by David Turner, cf.
+	https://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
+
+	* src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
+	FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
+	unavailable.
+	(FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
+	classic kern table validation service is unavailable.
+
+	* src/base/ftotval.c (FT_OpenType_Validate): Return
+	FT_Err_Unimplemented_Feature if OpenType validation service is
+	unavailable.
+
+2006-06-08  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
+	errors.
+
+2006-06-07  David Turner  <[email protected]>
+
+	* src/type1/t1afm.c (KERN_INDEX): Make it more robust.
+	(T1_Read_Metrics): Fix memory leak which happened when the metrics
+	file doesn't have kerning pairs.  This fixes Savannah bug #16768.
+
+2006-06-06  David Turner  <[email protected]>
+
+	Fix memory leak described in Savannah bug #16759.
+
+	We change `ps_unicodes_init' so that it also takes a
+	`free_glyph_name' callback to release the glyph names returned by
+	`get_glyph_name'
+
+	* include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
+	Renamed to ...
+	(PS_GetGlyphNameFunc): This.
+	(PS_FreeGlyphNameFunc): New typedef.
+	(PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
+
+	* src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
+	argument.
+	(cff_sid_free_glyph_name): New function.
+	(cff_cmap_unicode_init): Updated.
+
+	* src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
+
+	* src/psnames/psmodule.c (ps_unicodes_init): Add variable for
+	PS_FreeGlyphNameFunc and use it.
+
+
+2006-06-04  David Turner  <[email protected]>
+
+	* src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
+	`item_size == 0' as well -- though this sounds weird, it can
+	theoretically happen.  This fixes Savannah bug #16669.
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
+	of `face->num_glyphs' which missed the last glyph, due to
+	the offset-by-1 computation, since the PFR format doesn't
+	guarantee that glyph index 0 corresponds to the `missing
+	glyph.  This fixes Savannah bug #16668.
+
+2006-05-25  Werner Lemberg  <[email protected]>
+
+	* builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
+	`-no-undefined'.  Reported by Christian Biesinger.
+
+2006-05-19  Brian Weed  <[email protected]>
+
+	* builds/win32/visualc/freetype.dsp: Release libraries no longer
+	have debug information, and debug libraries use `C7 compatible'
+	debug info.
+
+2006-05-19  suzuki toshiya  <[email protected]>
+
+	Apply patch by Derek Clegg to fix two memory leaks in the MacOS
+	resource fork handler.  This fixes Savannah bug #16631.
+
+	* src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
+	`FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+
+	* src/base/ftrfork.c (raccess_guess_linux_double_from_file_name):
+	Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+
+2006-05-19  suzuki toshiya  <[email protected]>
+
+	* build/unix/configure.raw: Add a fallback to disable Carbon
+	dependency, if configured with no options on Mac OS X.
+
+2006-05-19  suzuki toshiya  <[email protected]>
+
+	* src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
+	its content cannot be parsed as supported font.  This fixes
+	the second part of Savannah bug #16590.
+
+2006-05-18  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
+
+2006-05-17  David Turner  <[email protected]>
+
+	This is a major patch used to drastically improve the performance of
+	loading glyphs.  This both speeds up loading the glyph vectors
+	themselves and the auto-fitter module.
+
+	We now use inline assembler code with GCC to implement `FT_MulFix',
+	which is probably the most important function related to the
+	engine's performance.
+
+	The resulting speed-up is about 25%.
+
+
+	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
+	`cursor' and `limit'.
+
+	* src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
+	New functions.
+	(AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
+	[TEST]: Remove.
+
+	* src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
+	code.
+
+	* src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
+	`FT_ZERO'
+	(af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
+	(af_glyph_hints_reload: Rewrite recognition of weak points.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
+	constant values out of the loops.
+
+	* src/autofit/aftypes.h: Updated.
+
+	* src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
+	product to get orientation.
+
+	* src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
+	(FT_Stream_OpenGzip): Use it to handle small files directly in
+	memory.
+
+	* src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode):
+	Improve performance.
+
+	* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
+	`limit'.
+
+	(TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
+	TT_Load_Composite_Glyph): Updated.  Add threshold to protect against
+	exceedingly large values of number of contours.  Speed up by
+	reducing the number of loops.
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
+
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
+	used to detect rogue clients from 4 to 16.  This is to prevent some
+	segmentation faults with fonts like `KozMinProVI-Regular.otf' which
+	comes from the Japanese Adobe Reader Asian Font pack.
+
+2007-05-17  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_font_done): Deallocate subfont array.  This
+	fixes the first part of Savannah bug #16590.
+
+2006-05-16  Werner Lemberg  <[email protected]>
+
+	* docs/PROBLEMS: Updated icl issues.
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2006-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.24
@@ -1,0 +1,6360 @@
+2013-05-08  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.12 released.
+	==========================
+
+
+	Tag sources with `VER-2-4-12'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.12.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.11/2.4.12/, s/2411/2412/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
+
+	* builds/unix/configure.raw (version_info): Set to 16:1:10.
+
+2013-05-08  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2013-05-08  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Typo.
+
+2013-05-05  Werner Lemberg  <[email protected]>
+
+	Synchronize `ftconfig.h'.
+
+	* builds/unix/ftconfig.in: Updated.
+
+2013-05-05  Werner Lemberg  <[email protected]>
+
+	Fix compilation with C++.
+
+	* src/base/md5.c (body): Use proper cast.
+
+2013-05-05  Werner Lemberg  <[email protected]>
+
+	Fix 64bit compilation issues.
+
+	* include/freetype/config/ftconfig.h [FT_LONG64]: Typedef
+	`FT_Int64' here.
+
+	* src/base/ftcalc.c: Remove typedef of `FT_Int64'.
+	(FT_DivFix): Fix cast.
+	* src/base/fttrigon.c: Remove typedef of `FT_Int64'.
+
+2013-05-05  Werner Lemberg  <[email protected]>
+
+	[raster] Fix clang issues.
+
+	Fix suggested by <[email protected]>.
+
+	* src/raster/ftraster.c (ULong): New typedef.
+	(SCALED): Add proper cast.
+
+2013-05-04  Werner Lemberg  <[email protected]>
+
+	Fix clang fixes.
+
+	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate): Use
+	correct types.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <default>: Force
+	unsigned for computations.
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Ditto.
+	* src/cff/cffparse.c (cff_parse_integer): Ditto.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
+
+2013-05-04  Werner Lemberg  <[email protected]>
+
+	[cff] Make Adobe CFF engine work correctly on 64bit hosts.
+
+	Reported by numerous people on the `freetype-devel' list.  Without
+	this fix, glyphs aren't properly aligned on a common baseline.
+
+	On 64bit systems, `FT_Pos' expands to `long int', having a width of
+	64bit.  `CF2_Fixed' expands to `int' which is normally 32bit wide on
+	64bit hosts also.  Wrong casts filled up the blues arrays with
+	incorrect values.  Note that all blues values are accessed with the
+	`cf2_blueToFixed' macro which handles the 64bit to 32bit conversion.
+
+	* src/cff/cf2ft.h (cf2_getBlueValues, cf2_getOtherBlues,
+	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Use `FT_Pos' for
+	`data', not `CF2_Fixed'.
+	* src/cff/cf2ft.c (cf2_getBlueValues, cf2_getOtherBlues,
+	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Updated.
+	* src/cff/cf2blues.c (cf2_blues_init): Updated.
+
+2013-05-04  Werner Lemberg  <[email protected]>
+
+	More fixes for clang's `sanitize' feature.
+
+	* src/base/ftcalc.c (FT_DivFix): Use unsigned values for
+	computations which use the left shift operator and convert to signed
+	as the last step.
+	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate,
+	FT_Vector_Length, FT_Vector_Polarize): Ditto.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify.
+	* src/cff/cffload.c (cff_subfont_load): Fix constant.
+	* src/cff/cffparse.c (cff_parse_integer, cff_parse_real, do_fixed,
+	cff_parse_fixed_dynamic): Use unsigned values for computations which
+	use the left shift operator and convert to signed as the last step.
+
+	* src/cid/cidload.c (cid_get_offset): Ditto.
+
+	* src/psaux/psconv.c (PS_Conv_ToFixed): Ditto.
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
+
+	* src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto.
+
+2013-05-04  Werner Lemberg  <[email protected]>
+
+	Fix errors reported by clang's `sanitize' feature.
+
+	* include/freetype/internal/ftstream.h: Simplify and fix integer
+	extraction macros.
+	(FT_INT8_, FT_BYTE_I16, FT_BYTE_I32, FT_INT8_I16, FT_INT8_I32,
+	FT_INT8_I32, FT_INT8_U32): Removed.
+	(FT_PEEK_SHORT, FT_PEEK_LONG, FT_PEEK_OFF3, FT_PEEK_SHORT_LE,
+	FT_PEEK_LONG_LE, FT_PEEK_OFF3_LE): Use unsigned values for
+	computations and convert to signed as the last step.
+
+	* src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt,
+	cf2_fracToFixed): Avoid shifts of negative values.
+	(cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed,
+	unused.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdEXTENDEDNMBR,
+	default>: Use unsigned values for computations and convert to signed
+	as the last step.
+	Use proper types in tracing messages.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned
+	values for computation of operands and convert to signed as the last
+	step.
+	Use proper type in tracing message.
+
+2013-05-03  Werner Lemberg  <[email protected]>
+
+	* src/cff/cf2blues.c: Remove dead code.
+
+2013-05-02  Chris Liddell  <[email protected]>
+
+	* src/cff/cffgload.c: Include FT_CFF_DRIVER_H.
+
+2013-04-27  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+	* README: Improved.
+
+2013-04-13  Werner Lemberg  <[email protected]>
+
+	[cff] Add a new Type 2 interpreter and hinter.
+
+	This work, written by Dave Arnold <[email protected]> and fully
+	integrated into FreeType by me, is a donation by Adobe in
+	collaboration with Google.  It is vastly superior to the old CFF
+	engine, and it will replace it soon.  Right now, it is still off by
+	default, and you have to explicitly select it using the new
+	`hinting-engine' property of the cff driver.
+
+	For convenience, (most of) the new files are committed separately.
+
+	* include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro.
+	* include/freetype/ftcffdrv.h: New file to access CFF driver
+	properties.
+	* include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error
+	code.
+	* include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints',
+	and `cf2interp'.
+
+	* src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'.
+	* src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine'
+	and `no_stem_darkening'.
+	* src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'.
+
+	* src/cff/cff.c: Include new files.
+	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
+	`hinting-engine' and `no-stem-darkening' properties (only the Adobe
+	engine listens to them).
+	* src/cff/cffgload.c: Include `cf2ft.h'.
+	(cff_decoder_prepare): Initialize `current_subfont'.
+	(cff_build_add_point): Handle Adobe engine which uses 16.16
+	coordinates.
+	(cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING
+	separately.
+	Choose rendering engine based on `hinting_engine' property.
+	* src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe
+	engine.
+	* src/cff/cffobjs.c: Include FT_CFF_DRIVER_H.
+	(cff_driver_init): Set default property values.
+
+	* src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files.
+
+	* src/cff/cf2*.*: New files, containing the Adobe engine.
+
+2013-04-12  Werner Lemberg  <[email protected]>
+
+	[cff] Minor code administration issues.
+
+	* src/cff/cffgload.c (check_points): Rename to...
+	(cff_check_points): ...this and make it FT_LOCAL.
+	(cff_builder_add_point, cff_builder_add_point1,
+	cff_builder_start_point, cff_builder_close_contour,
+	cff_lookup_glyph_by_stdcharcode, cff_get_glyph_data,
+	cff_free_glyph_data): Make them FT_LOCAL.
+
+	* src/cff/cffgload.h: Updated.
+
+2013-04-12  Werner Lemberg  <[email protected]>
+
+	Add output bitmap checksums.
+
+	Use `FT2_DEBUG=bitmap:3' for tracing.
+
+	* src/base/md5.c, src/base/md5.h: New files, taken from
+
+	  https://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
+
+	* include/freetype/internal/fttrace.h: Add `bitmap'.
+
+	* src/base/ftobjs.c [FT_DEBUG_LEVEL_TRACE]: Include `md5.c'
+
+	(FT_Render_Glyph_Internal) [FT_DEBUG_LEVEL_TRACE]: For tracing,
+	convert resulting bitmap to a uniform format and compute a checksum.
+	Use `bitmap' category for the tracing message.
+
+	* src/base/rules.mk (BASE_H): Updated.
+
+	* docs/LICENSE.TXT: Updated.
+
+2013-04-12  Werner Lemberg  <[email protected]>
+
+	[cff] Add framework for CFF properties.
+
+	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC7):
+	New macro.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H.
+	(cff_property_set, cff_property_get): New functions, still empty.
+	Define `cff_service_properties' service.
+	Update `cff_services'.
+
+	* src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H.
+	(CFF_SERVICE_PROPERTIES_GET): New macro.
+	(CffModulePIC): Add `cff_service_properties'.
+
+2013-04-03  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #38589.
+
+	* src/bdf/bdflib.c (_bdf_readstream): Thinko.
+
+2013-03-31  Werner Lemberg  <[email protected]>
+
+	* configure: Use egrep, not grep.
+
+	Problem reported Mojca Miklavec <[email protected]>.
+
+2013-03-29  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftlcdfil.h: Add description of color filtering.
+
+	Based on a contribution from Antti S. Lankila <[email protected]>
+	(Savannah bug #38607).
+
+2013-03-23  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor.
+
+	* src/autofit/afmodule.c (af_property_set): Typo.
+	(af_autofitter_init, af_autofitter_done): Use cast.
+
+2013-03-21  Werner Lemberg  <[email protected]>
+
+	* configure: Automatically test for `gmake' also.
+
+	Suggested by Mojca Miklavec <[email protected]>.
+
+2013-03-21  Peter Breitenlohner  <[email protected]>
+
+	Respect CONFIG_SHELL from the environment.
+
+	Some large packages using FreeType have to use a broken (deficient)
+	/bin/sh.  The configure scripts (as generated by Autoconf) are
+	clever enough to find a better shell and put that one into the
+	environment variable CONFIG_SHELL.  If that environment variable is
+	already set the script skips the test and assumes to be already
+	running under a good shell.
+
+	* builds/unix/detect.mk: Honour CONFIG_SHELL.
+	* builds/unix/unix-def.in (SHELL): Define.
+
+2013-03-21  Werner Lemberg  <[email protected]>
+
+	Fix Savannah patch #7971.
+
+	* configure: Handle MAKE environment variable also.
+
+2013-03-17  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38538.
+
+	* builds/amiga/src/base/ftdebug.c, builds/win32/ftdebug.c,
+	builds/wince/ftdebug.c (FT_Throw): Add function.
+
+2013-03-17  Werner Lemberg  <[email protected]>
+
+	[raster] Remove dead code.
+
+	* src/raster/rastpic.c (ft_raster1_renderer_class_pic_init)
+	src/smooth/ftspic.c (ft_smooth_renderer_class_pic_init): Do it.
+
+2013-03-17  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshpic.h (GET_PIC): Use correct container.
+
+2013-03-15  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
+
+	The previous version was not backward compatible.  Reported by
+	Behdad.
+
+2013-03-14  Werner Lemberg  <[email protected]>
+
+	*/*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate.
+
+	FT_Err_XXX and friends are no longer directly used in the source
+	code.
+
+2013-03-14  Werner Lemberg  <[email protected]>
+
+	New error management macros.
+
+	* include/freetype/fterrors.h (FT_ERR_XCAT, FT_ERR_CAT): Move to...
+	* include/freetype/fttypes.h: ... this file.
+	(FT_ERR, FT_ERR_EQ, FT_ERR_NEQ, FT_MODERR_EQ, FT_MODERR_NEQ): New
+	macros.
+
+	* include/freetype/freetype.h: Updated.
+
+2013-03-14  Werner Lemberg  <[email protected]>
+
+	*/*: Use FT_Err_Ok only.
+
+	This is a purely mechanical conversion.
+
+2013-03-14  Werner Lemberg  <[email protected]>
+
+	*/*: Use `FT_THROW'.
+
+	This is essentially a mechanical conversion, adding inclusion of
+	`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
+	stand-alone compiling modes of the rasterizer modules.
+
+	To convert the remaining occurrences of FT_Err_XXX and friends it is
+	necessary to rewrite the code.  Note, however, that it doesn't harm
+	if some cases are not handled since FT_THROW is a no-op.
+
+2013-03-13  Werner Lemberg  <[email protected]>
+
+	Introduce `FT_THROW' macro.
+
+	The idea is to replace code like
+
+	  return FT_Err_Foo_Bar;
+
+	or
+
+	  return CFF_Err_Foo_Bar;
+
+	with
+
+	  return FT_THROW( Foo_Bar );
+
+	The FT_THROW macro has two functions:
+
+	  . It hides the module specific prefix.
+
+	  . In debug mode, it calls the empty function `FT_Throw' which can
+	    be thus used to set a breakpoint.
+
+	* include/freetype/internal/ftdebug.h (FT_THROW): New macro.
+	(FT_Throw): New prototype.
+	* src/base/ftdebug.c (FT_Throw): New function.
+
+2013-03-12  Werner Lemberg  <[email protected]>
+
+	Remove `FT_KEEP_ERR_PREFIX'.
+
+	The idea is to always have FT_ERR_PREFIX available internally.
+
+	* include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard
+	undefinition of FT_ERR_PREFIX
+
+	* src/gxvalid/gxverror.h, src/otvalid/otverror.h,
+	src/sfnt/sferrors.h: Updated.
+
+2013-03-11  Werner Lemberg  <[email protected]>
+
+	[gxvalid] Fix module error.
+
+	* src/gxvalid/gxverror.h (FT_ERR_BASE): Define as
+	FT_Mod_Err_GXvalid.
+	* include/freetype/ftmoderr.h: Add module error for `GXvalid'.
+
+2013-03-11  Werner Lemberg  <[email protected]>
+
+	Always use module related error codes.
+
+	* src/cff/cffobjs.c (cff_face_init), src/type1/t1objs.c
+	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Use
+	`FT_ERROR_BASE'.
+
+	* src/type1/t1load.c (parse_encoding): Use
+	T1_Err_Unknown_File_Format.
+
+2013-03-08  Werner Lemberg  <[email protected]>
+
+	[cff] Set `linear{Hori,Vert}Advance' for embedded bitmaps also.
+
+	Problem reported by Khaled Hosny <[email protected]>.
+
+	* src/cff/cffgload.c (cff_slot_load): Implement it.
+
+2013-02-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix commit ab02d9e8.
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Change scaling to msb of 22.
+
+2013-02-19  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] New bisecting BBox_Cubic_Check (disabled).
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): New bisecting algorithm
+	for extremum search built around simple condition that defines
+	which half contains the extremum.
+
+2013-02-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[tools] Update BBox testing tool.
+
+	* src/tools/test_bbox.c: Add another cubic outline with exact BBox.
+	(REPEAT): Increase the number of benchmarking cycles.
+	(profile_outline): Tweak output formatting.
+
+2013-02-02  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38235.
+
+	* builds/unix/configure.raw: Don't generate `freetype-config' and
+	`freetype.pc'.
+
+	* builds/unix/unix-def.in (FT2_EXTRA_LIBS, LIBBZ2, LIBZ,
+	build_libtool_libs, ft_version): New variables to be substituted.
+	(freetype-config, freetype.pc): New rules to generate those files.
+
+	* builds/unix/freetype-config.in: Remove code for handling `rpath'.
+	The use of $rpath has been accidentally removed in a patch from
+	2009-12-22, and apparently noone has missed it since.
+	Use `%' instead of `@' as a variable substitution marker.
+	Use quotes.
+
+	* builds/unix/freetype.in: Use `%' instead of `@' as a variable
+	substitution marker.
+	Use quotes.
+
+2013-02-07  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_size_run_prep): Reset more GS variables.
+
+	BTW, Greg agrees that the OpenType specification is missing the list
+	of GS variables which will always be reset to the default values
+	after the `prep' table has been executed.
+
+2013-02-06  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_size_run_prep): Reset reference points.
+
+	Up to now, we simply took a snapshot of the Graphics State after the
+	`prep' table has been executed, and right before a glyph's bytecode
+	was run it got reloaded.  However, as Greg Hitchcock has told us in
+	private communication, reference points get reset to zero in the MS
+	rasterizer and we follow in due course.  While reasonable, this is
+	undocumented behaviour.
+
+	Most notably, this fixes the rendering of Arial's `x' glyph in
+	subpixel hinting mode.
+
+2013-02-05  Werner Lemberg  <[email protected]>
+
+	[truetype] A better fix for Savannah bug #38211.
+
+	* src/truetype/ttinterp.c (Ins_IP): Implement identical behaviour to
+	MS rasterizer if rp1 == rp2 (confirmed by Greg Hitchcock).
+
+2013-02-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[pcf] Streamline parsing of PCF encoding table.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Use simpler double for-loop.
+	Reallocate array instead of using temporary storage.
+
+2013-02-01  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38227.
+
+	* builds/unix/freetype-config.in: Set LC_ALL.
+
+2013-02-01  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38221.
+
+	This complements commit 83c0ebab.
+
+	* src/base/ftcalc.c (FT_MulDiv_No_Round): Don't enclose with
+	`TT_USE_BYTECODE_INTERPRETER'.
+
+2013-02-01  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #38211.
+
+	* src/truetype/ttinterp.c (Ins_IP): Make FreeType behave identical
+	to other interpreters if rp1 == rp2 (which is invalid).
+
+2013-01-28  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Small optimization of BBox calculation.
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Use FT_MSB function in
+	scaling algorithm.
+
+2013-01-26  Infinality  <[email protected]>
+
+	[truetype] Minor formatting fix.
+
+	* src/truetype/ttinterp.c: Updated.
+	(DO_RS): Fix indentation.
+
+2013-01-26  Infinality  <[email protected]>
+
+	[truetype] Fix rasterizer_version logic in sph.
+
+	* src/truetype/ttsubpix.c: Updated.
+	(ALWAYS_SKIP_DELTAP_Rules): Remove rule for Trebuchet MS.
+	(sph_set_tweaks): Fix `rasterizer_version' logic.
+
+2013-01-26  Infinality  <[email protected]>
+
+	[truetype] Align more to ClearType whitepaper for sph.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add flags
+	for detected opcode patterns and compatibility mode.
+
+	* src/truetype/ttgload.c (tt_loader_init): Complete conditional.
+
+	* src/truetype/ttinterp.c: Updated.
+	Remove SPH_DEBUG and replace with FT_TRACE7.
+	(DO_RS): More conditions.
+	(Ins_FDEF): Add more opcode detection patterns.
+	More specific conditions when flagging an fdef.
+	Make compatibility mode only turn on when delta fdefs are found.
+	(Ins_CALL, Ins_LOOPCALL): Set flags for currently executed fdef.
+	(Ins_SHPIX): Remove logic to handle ttfautohinted fonts.
+	Simplify conditionals where possible.
+	Use `&' instead of `%' operator for dumb compilers.
+	(Ins_MIAP): Adjust twilight zone conditional.
+	Ensure `ignore_x_mode' is on when testing sph conditionals.
+	(Ins_MIRP): Ensure `ignore_x_mode' is on when testing sph
+	conditionals.
+	Do cvt cutin always when `ignore_x_mode' is active.
+	Remove test for ttfautohinted fonts.
+	(Ins_DELTAP): Ensure `ignore_x_mode' is on when testing sph
+	conditionals.
+	Do cvt cutin always when `ignore_x_mode' is active.
+	Remove test for ttfautohinted fonts.
+	Use `&' instead of `%' operator for dumb compilers.
+	(Ins_GETINFO): Remove SPH_DEBUG and replace with FT_TRACE7.
+
+	* src/truetype/ttinterp.h: Updated.
+	(TT_ExecContextRec): Remove compatibility_mode variable.
+	Add variable to indicate when executing in special fdefs for sph.
+
+	* src/truetype/ttobjs.h: Updated.
+	(TT_DefRecord): Add flags to identify special fdefs for sph.
+	(TT_SizeRec): Remove unnecessary ttfautohinted variable.
+
+	* src/truetype/ttsubpix.c: Updated.
+	(COMPATIBILITY_MODE_Rules): Remove all.  Auto-detected now.
+	(PIXEL_HINTING_Rules): Remove all.  Unnecessary after fixes.
+	(SKIP_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
+	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Arial Bold `N'.
+	(SKIP_OFFPIXEL_Y_MOVES_Rules): Remove all.  Happens automatically
+	now.
+	(ROUND_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
+	(ROUND_NONPIXEL_Y_MOVES_Rules_Exceptions): Remove all.
+	(NORMAL_ROUND_Rules): Remove Verdana.
+	(NO_DELTAP_AFTER_IUP_Rules): Remove all.
+	(sph_set_tweaks): Performance fix.  Don't run prep always.
+	Adjust conditional for sph_compatibility_mode.
+
+	* src/truetype/ttsubpix.h: Add new fdef flags for sph.
+
+2013-01-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix broken emboldening at small sizes.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to
+	normalize zero-length vectors.
+
+2013-01-25  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38167.
+
+	This fixes commit 83c0ebab from 2012-06-27.
+
+	* src/truetype/ttinterp.h:
+	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
+
+2013-01-25  Xi Wang  <[email protected]>
+
+	[sfnt] Fix broken pointer overflow checks.
+
+	Many compilers such as gcc and clang optimize away pointer overflow
+	checks `p + n < p', because pointer overflow is undefined behavior.
+	Use a safe form `n > p_limit - p' instead.
+
+	Also avoid possible integer overflow issues, for example, using
+	`num_glyphs > ( p_limit - p ) / 2' rather than `num_glyphs * 2'
+	given a large `num_glyphs'.
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Implement it.
+
+2013-01-25  Werner Lemberg  <[email protected]>
+
+	[base] Fix `make multi'.
+
+	* src/base/ftoutln.c, src/base/fttrigon.c: Include
+	FT_INTERNAL_CALC_H.
+
+2013-01-25  David 'Digit' Turner  <[email protected]>
+
+	[truetype] Fix C++ compilation.
+
+	* src/truetype/ttsubpix.h: Updated.
+	(SPH_X_SCALING_RULES_SIZE): Moved and renamed to...
+	* src/truetype/ttsubpix.c (X_SCALING_RULES_SIZE): This.
+	(sph_X_SCALING_Rules): Removed.
+	(scale_test_tweak): Make function static.
+	(sph_test_tweak_x_scaling): New function.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Updated.
+
+2013-01-23  Werner Lemberg  <[email protected]>
+
+	[base] Make `FT_Hypot' really internal.
+
+	* include/freetype/fttrigon.h (FT_Hypot): Move to...
+	* include/freetype/internal/ftcalc.h: This file.
+
+	* src/base/fttrigon.c (FT_Hypot): Move to...
+	* src/base/ftcalc.c: This file.
+	Include FT_TRIGONOMETRY_H.
+
+	* src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H.
+
+2013-01-23  Werner Lemberg  <[email protected]>
+
+	[truetype] Revert change from 2013-01-22.
+
+	FreeType's `height' value is the baseline-to-baseline distance...
+
+	* src/truetype/ttobjs.c (tt_size_reset): Undo.
+
+2013-01-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[base, truetype] New internal `FT_Hypot' function.
+
+	* include/freetype/fttrigon.h (FT_Hypot): Declare it.
+	* src/base/fttrigon.c (FT_Hypot): Define it.
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use it
+	instead of explicit expressions.
+	* src/truetype/ttinterp.c (Current_Ratio, Normalize): Use it instead
+	of TT_VecLen.
+	(TT_VecLen): Removed.
+
+2013-01-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix integer overflow.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and
+	outgoing vectors and use fixed point arithmetic.
+
+2013-01-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix integer overflow.
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Scale the
+	coordinates down to avoid overflow.
+
+2013-01-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Split out MSB function.
+
+	* src/base/fttrigon.c (ft_trig_prenorm): Borrow from here.
+	* include/freetype/internal/ftcalc.h (FT_MSB): Declare here.
+	* src/base/ftcalc.c (FT_MSB): Define here.
+
+2013-01-22  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix font height.
+
+	* src/truetype/ttobjs.c (tt_size_reset): The Windows rendering
+	engine uses rounded values of the ascender and descender to compute
+	the TrueType font height.
+
+2013-01-16  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] Fix optimized sbit loader.
+
+	It was not taking bit_depth into consideration when blitting!
+
+	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned,
+	* tt_sbit_decoder_load_bit_aligned): Handle bit
+	depth.
+
+2013-01-16  David 'Digit' Turner  <[email protected]>
+
+	[truetype] Improve subpixel code.
+
+	This patches fixes many issues with the ttsubpix implementation.
+
+	1. Data tables are defined, instead of declared, in the header, and
+	   thus copied into each source file that includes it.
+
+	2. These tables were defined as global, mutable, visible variables,
+	   and thus costing private RAM to every process that loads the
+	   library (> 50 KB / process, this is huge!).
+
+	   Additionally, this also made the library export the symbols
+	   completely needlessly.
+
+	3. Missing `sph_' and `SPH_' prefixes to some of the definitions.
+
+	Note that this doesn't try to fix the incredibly inefficient storage
+	format for the data tables used by the code.  This one will require
+	another pass in the future.
+
+	* src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS):
+	Renamed to...
+	(SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This.
+	Update all users.
+
+	(SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where
+	appropriate.
+
+	(Font_Class): Rename to...
+	(SPH_Font_Class): This.  Decorate with `const' where appropriate.
+
+	* src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak):
+	Decorate arguments with `const' where appropriate.
+
+	Move font tweaking tables to...
+
+	* src/truetype/ttsubpix.c: This file and decorate them with `static'
+	and `const' where appropriate.
+
+	(X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to...
+	(sph_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
+	Update all users.
+
+2013-01-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Improve accuracy of normalization of short vectors.
+
+	Unit vector components are stored as 2.14 fixed-point numbers. In
+	order to calculate all 14 bits accurately, a short vector to be
+	normalized has to be upscaled to at least 14 bits before its length
+	is calculated. This has been safe since accurate CORDIC algorithms
+	were adopted.
+
+	* src/truetype/ttinterp.c (Normalize): Scale short vectors by 0x4000.
+
+2013-01-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Kill very old vector normalization hacks.
+
+	Back in the days, vector length calculations were not very accurate
+	and the vector normalization function, Normalize, had to meticulously
+	correct the errors for long vectors [commit b7ef2b096867]. It was no
+	longer necessary after accurate CORDIC algorithms were adopted, but
+	the code remained. It is time to kill it.
+
+	* src/truetype/ttinterp.c (Normalize): Remove error compensation.
+	(TT_VecLen): Remove any mention of old less accurate implementation.
+
+2013-01-11  Werner Lemberg  <[email protected]>
+
+	Disable FT_CONFIG_OPTION_OLD_INTERNALS.
+
+	After the next release we are going to remove the code completely.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_OLD_INTERNALS): Comment out.
+	* docs/CHANGES: Document it.
+
+2013-01-10  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Update the overflow protection bit.
+
+	The recent optimizations of CORDIC iterations drastically reduce the
+	expansion factor.  Vector components with MSB of 29 are now safe
+	from overflow.
+
+	* src/base/fttrigon.c (FT_TRIG_SAFE_MSB): New macro.
+	(ft_trig_prenorm): Use it and remove dead code.
+
+2013-01-09  Alexei Podtelezhnikov  <[email protected]>
+
+	[base, pshinter] Use FT_ABS, FT_MIN, and FT_MAX for readability.
+
+	* src/base/ftbbox.c: Updated.
+	* src/base/ftobjs.c: Updated.
+	* src/base/fttrigon.c: Updated.
+	* src/pshinter/pshalgo.c: Updated.
+	* src/pshinter/pshrec.c: Updated.
+
+2013-01-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Clean up trigonometric core.
+
+	* src/base/fttrigon.c: Document the algorithm in a large comment.
+	(FT_TRIG_COSCALE): Remove macro.
+	(FT_Tan: Use `FT_TRIG_SCALE' instead.
+	(FT_Cos, FT_Vector_Unit): Ditto and round the return values.
+
+2013-01-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Use rounding in CORDIC iterations.
+
+	* src/base/fttrigon.c (ft_trig_pseudo_rotate,
+	ft_trig_pseudo_polarize): Improve accuracy by rounding.
+
+2013-01-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Reduce trigonometric algorithms.
+
+	After we get within 45 degrees by means of true 90-degree rotations,
+	we can remove initial 45-degree CORDIC iteration and start from
+	atan(1/2) pseudorotation, reducing expansion factor thereby.
+
+	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macros.
+	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Update.
+
+	* src/tools/cordic.py: Bring up to date with trigonometric core.
+
+	* docs/CHANGES: Old typo.
+
+2013-01-02  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/pshinter/pshalgo.h: Remove unused code.
+
+2012-12-27  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (tt_loader_init): Add more tracing.
+
+2012-12-23  Werner Lemberg  <[email protected]>
+
+	[type1] Fix handling of /FontBBox in MM fonts.
+	Problem reported by Del Merritt <[email protected]>
+
+	If we have
+
+	  /FontBBox { { 11 12 13 14 15 16 17 18 }
+	              { 21 22 23 24 25 26 27 28 }
+	              { 31 32 33 34 35 36 37 38 }
+	              { 41 42 43 44 45 46 47 48 } }
+
+	in the /Blend dictionary,  then the first BBox is { 11 21 31 41 },
+	the second { 12 22 32 42 }, etc.
+
+	* include/freetype/internal/psaux.h (T1_FieldType): Add
+	`T1_FIELD_TYPE_MM_BBOX' (for temporary use).
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+	Implement it.
+
+2012-12-21  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/tools/cordic.py: Bring up to date with trigonometric core.
+
+2012-12-21  Werner Lemberg  <[email protected]>
+
+	Check parameters of `FT_Outline_New'.
+	Problem reported by Robin Watts <[email protected]>.
+
+	* src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that
+	`numContours' and `numPoints' fit into FT_Outline's `n_points' and
+	`n_contours', respectively.
+
+2012-12-20  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.11 released.
+	==========================
+
+
+	Tag sources with `VER-2-4-11'.
+
+	* docs/CHANGES, docs/release: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.11.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.10/2.4.11/, s/2410/2411/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
+
+	* builds/unix/configure.raw (version_info): Set to 16:0:10.
+
+	* builds/toplevel.mk (dist): Don't include `.mailmap'.
+
+2012-12-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Improve trigonometric core.
+
+	FreeType used to rely on a 24-step iteration CORDIC algorithm to
+	calculate trigonometric functions and rotate vectors. It turns out
+	that once the vector is in the right half-plane, the initial rotation
+	by 63 degrees is not necessary. The algorithm is perfectly capable
+	to converge to any angle starting from the second 45 degree rotation.
+	This patch removes the first rotation and makes it a 23-step CORDIC
+	algorithm.
+
+	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macro
+	values.
+	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Remove initial
+	rotation.
+
+2012-12-19  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (ft_property_do): Fix compiler warning.
+
+2012-12-19  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftrfork.c (FT_Raccess_Guess): Switch to FT_Int counters.
+
+2012-12-19  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Clean up trigonometric core.
+
+	* src/base/fttrigon.c (ft_trig_pseudo_polarize): Align algorithm
+	with `ft_trig_pseudo_rotate'.
+
+2012-12-18  Infinality  <[email protected]>
+
+	[truetype] Minor performance enhancement.
+
+	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Use FT_MulFix
+	instead of FT_MulDiv.
+
+2012-12-17  Infinality  <[email protected]>
+
+	[truetype] Remove unused code and variables.
+
+	* src/truetype/ttinterp.c: Updated.
+	(Ins_FDEF): Remove opcode patterns that are not being used.
+
+2012-12-16  Werner Lemberg  <[email protected]>
+
+	Various compiler warning fixes.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use
+	`logical not' operator instead of negation.  The idea is that `~'
+	returns exactly the data type enforced by the cast to a pointer (be
+	it 32bit or 64bit or whatever), while a negative integer has not
+	this flexibility.
+	* src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto.
+	* src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto.
+	* src/type/t1load.c (T1_Get_MM_Var): Ditto.
+	(parse_blend_axis_types): Use cast.
+	* src/bdf/bdflib.c (_bdf_readstream): Use cast.
+
+2012-12-16  Infinality  <[email protected]>
+
+	[truetype] Remove unused code and variables.  Add minor fixes.
+
+	* src/truetype/ttsubpix.h: Updated.
+	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Trebuchet MS.
+	(ALLOW_X_DMOVEX_Rules): Remove Arial characters.
+	(ALLOW_X_DMOVE_Rules): Remove Arial characters.
+	(RASTERIZER_35_Rules): Verdana no longer needs to be here.
+	(SKIP_IUP_Rules): Formatting fix.
+	(DELTAP_SKIP_EXAGGERATED_VALUES_Rules): Remove Segoe UI.
+	(COMPATIBLE_WIDTHS_Rules): Add Monaco and Trebuchet MS.
+	(X_SCALING_Rules): Add misc. corrective fixes.
+
+	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Adjust correction
+	factor for emboldening during scaling.
+
+	* src/truetype/ttinterp.h: Updated.
+	(TT_ExecContextRec): Remove unused variables.
+
+	* src/truetype/ttobjs.h: Updated.
+	(TT_SizeRec): Add ttfautohinted variable.
+
+	* src/truetype/ttinterp.c: Updated.
+	(Ins_FDEF): Rework code to fix bugs and add more detection.
+	(Ins_CALL): Remove unused code.
+	(Ins_LOOPCALL): Remove unused code.
+	(TT_RunIns): Remove unused code.
+	(Ins_SHPIX): Add logic to handle ttfautohinted fonts.
+	(Ins_MIRP): Don't round x in cut-in calculation.  Add logic to handle
+	ttfautohinted fonts.
+
+2012-12-16  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #37936.
+
+	* src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak.
+
+2012-12-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix 11-year old bug.
+
+	Since the initial commit (ebe85f59) the value of FT_TRIG_SCALE has
+	always been slightly less than the correct value, which has been
+	given in the comment as a hexadecimal. As a result, vector lengths
+	were underestimated and rotated vectors were shortened.
+
+	* src/base/fttrigon.c (FT_TRIG_SCALE): Fix macro value.
+
+2012-12-15  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #37907.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
+	negative second parameter of `ENCODING' field also.
+
+2012-12-15  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #37906.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Use correct array
+	size for checking `glyph_enc'.
+
+2012-12-15  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #37905.
+
+	* src/bdf/bdflib.c (_bdf_parse_start) <STARTPROPERTIES>: Reset
+	`props_size' to zero in case of allocation error; this value gets
+	used in a loop in `bdf_free_font'.
+
+2012-12-10  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Scale F_dot_P down.
+
+	The dot product between freeVector and projVector or cosine of
+	the angle between these FT_F2Dot14 unit vectors used to be scaled up
+	by 4 and routinely occupied 32 bits in an FT_Long field F_dot_P.
+	This patch scales the value down by 2^14 instead, which simplifies
+	its use throughout the bytecode interpreter.
+
+	This does not lead to the loss of precision because the lower bits
+	are unreliable anyway. Consider two unit vectors (1,0) and (.6,.8)
+	for which the true value of F_dot_P is .6 * 0x40000000 = 0x26666666.
+	These vectors are stored as (0x4000,0) and (0x2666,0x3333) after
+	rounding and F_dot_P is assigned 0x26660000. The lower bits were
+	already lost while rounding the unit vector components.
+
+	Besides code simplification, this change can lead to better
+	performance when FT_MulDiv with the scaled-down F_dot_P is less
+	likely to use the costly 64-bit path. We are not changing the type
+	of F_dot_P to FT_F2Dot14 at this point.
+
+	* src/truetype/ttinterp.c (Compute_Funcs): Scale F_dot_P down by 14
+	bits and modify its use accordingly.
+	(Direct_Move, Direct_Move_Orig, Compute_Point_Displacement): Modify
+	the use of F_dot_P field.
+	* src/truetype/ttobjs.c (tt_size_run_fpgm): Change arbitrary
+	assignment of F_dot_P to its theoretical maximum in case we decide
+	to scale back its type later.
+
+2012-12-09  Johnson Y. Yan  <[email protected]>
+
+	[type1] Another fix for 2012-09-17 commit.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Correctly set
+	`limit' value.
+
+2012-12-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Tweak the previous commit.
+
+	* src/truetype/ttinterp.c (Current_Ratio): Put unit vector
+	components as the second TT_MulFix14 arguments. This is required
+	on 16-bit systems.
+
+2012-12-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Microoptimizations in bytecode interpreter.
+
+	* src/truetype/ttinterp.c (TT_DivFix14): New macro.
+	(Normalize): Use it here.
+	(Current_Ratio): Use TT_MulFix14 instead of FT_MulDiv.
+	(Ins_SHPIX): Cancel out two TT_MulFix14 calls.
+
+2012-12-05  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Cosmetic improvement in bytecode interpreter.
+
+	* src/truetype/ttinterp.c: Use explicit calls to FT_MulDiv,
+	FT_MulFix, and FT_DivFix instead of macros.
+
+2012-12-03  John Tytgat  <[email protected]>
+
+	[pshinter] Clamp BlueScale value.
+
+	This is Savannah bug #37856.
+
+	* src/pshinter/pshglob.c (psh_calc_max_height): New function.
+	(psh_globals_new): Use it to limit BlueScale value to
+	`1 / max_of_blue_zone_heights'.
+
+2012-12-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype, type1] Revise the use of FT_MulDiv.
+
+	* src/truetype/ttgxvar.c: Updated.
+	* src/truetype/ttobjs.c: Updated.
+	* src/type1/t1load.c: Updated.
+
+2012-11-30  Werner Lemberg  <[email protected]>
+
+	[configure] Preserve customized `ftoption.h'.
+
+	Problem reported by Del Merritt <[email protected]>.
+
+	* builds/unix/configure.raw <cpp computation of bit length>: Don't
+	remove existing FreeType configuration files.
+
+2012-11-29  John Tytgat  <[email protected]>
+
+	[type1] Fix Savannah bug #37831.
+
+	The bug report also contains a patch.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Really fix
+	change from 2012-09-17.
+
+2012-11-28  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Fix formatting and typo.
+
+2012-11-27  Alexei Podtelezhnikov  <[email protected]>
+
+	[cid, type1, type42] Clean up units_per_EM calculations.
+
+	* src/cid/cidload.c (cid_parse_font_matrix): Updated.
+	* src/type1/t1load.c (t1_parse_font_matrix): Updated.
+	* src/type42/t42parse.c (t42_parse_font_matrix): Updated.
+
+2012-11-27  Alexei Podtelezhnikov  <[email protected]>
+
+	[ftstroke] Minor improvement.
+
+	* src/base/ftstroke.c: Replace nested FT_DivFix and FT_MulFix with
+	FT_MulDiv.
+
+2012-11-17  Werner Lemberg  <[email protected]>
+
+	* src/base/fttrigon.c (ft_trig_downscale): Make 64bit version work.
+
+2012-11-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix integer overflows in dd5718c7d67a.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
+
+2012-11-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Trace stem widths.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Add some
+	FT_TRACE calls.
+
+2012-11-13  Werner Lemberg  <[email protected]>
+
+	[cff] Add support for OpenType Collections (OTC).
+
+	* src/cff/cffload.c (cff_font_load): Separate subfont and face
+	index handling to load both pure CFFs with multiple subfonts and
+	OTCs (with multiple faces where each face holds exactly one
+	subfont).
+	* src/cff/cffobjs.c (cff_face_init): Updated.
+
+2012-11-12  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor improvement.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Fix
+	loop.
+
+2012-11-10  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing.
+
+	* src/autofit/aflatin.c (af_latin_hint_edges)
+	[FT_DEBUG_LEVEL_TRACE]: Count number of actions and emit something
+	if there weren't any.
+
+2012-11-04  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fortify emboldening code against egregious distortions.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening
+	strength when it leads to segment collapse.
+
+2012-11-03  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Clean up emboldening code and improve comments there.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Replace sequential
+	calls to FT_MulFix and FT_DivFix with FT_MulDiv.
+	Mention that bisectors are used to figure out the shift direction.
+
+2012-10-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Add standard character to `AF_ScriptClassRec' structure.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Add `standard_char'
+	member.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use it.
+	(af_latin_metrics_init, af_latin_script_class): Updated.
+
+	* src/autofit/aflatin.c (af_latin2_metrics_init_widths): Use it.
+	(af_latin2_metrics_init, af_latin2_script_class): Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Use it.
+	(af_cjk_metrics_init, af_cjk_script_class): Updated.
+
+	* src/autofit/afindic.c (af_indic_metrics_init,
+	af_indic_script_class): Updated.
+
+	* src/autofit/afcjk.h, src/autofit/aflatin.h: Updated.
+
+	* src/autofit/afdummy.c: Updated.
+
+2012-10-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Only use Unicode CMap.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init): Implement it, to be
+	in sync with `af_face_globals_compute_script_coverage'.
+
+2012-10-21  Werner Lemberg  <[email protected]>
+
+	[psaux] Improve parsing of invalid numbers.
+
+	* src/psaux/psconv.c (PS_Conv_Strtol): Always parse complete number,
+	even in case of overflow.
+	(PS_Conv_ToInt): Only increase cursor if parsing was successful.
+	(PS_Conv_ToFixed): Ditto.
+	Trace underflow and data error.
+
+2012-10-21  Werner Lemberg  <[email protected]>
+
+	[smooth] Improve tracing.
+
+	* src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of
+	current band also.
+
+2012-10-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Cheaper way to threshold angles between vectors.
+
+	* src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot
+	cheaper than thresholding sine.
+
+2012-10-20  Werner Lemberg  <[email protected]>
+
+	[cff] Improve parsing of invalid real numbers.
+
+	* src/cff/cffparse.c (cff_parse_real): Always parse complete number,
+	even in case of overflow or underflow.
+	Also trace one more underflow.
+
+2012-10-20  Andreas Pehnack  <[email protected]>
+
+	[sfnt] Load pure CFF fonts wrapped in SFNT container.
+
+	Such fonts only have a `cmap' and a `CFF' table.
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Don't call
+	`check_table_dir' if font signature is `OTTO'.
+
+2012-10-20  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix some value overflows and improve tracing.
+
+	* src/psaux/psconv.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_COMPONENT): Define.
+	(PS_Conv_Strtol): Return FT_Long.
+	Handle bad data and overflow.
+	Emit some tracing messages in case of error.
+	(PS_Conv_ToInt): Return FT_Long.
+	(PS_Conv_ToFixed): Updated.
+	* src/psaux/psconv.h: Updated.
+
+	* include/freetype/internal/fttrace.h: Add `psconv'.
+
+2012-10-20  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix `make multi CC=c++'.
+
+	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Include
+	`afglobal.h'.
+	* src/autofit/afloader.c: Fix order of header files.
+	* src/autofit/afmodule.c: Include `afglobal.h' and `aferrors.h'.
+
+2012-10-19  Werner Lemberg  <[email protected]>
+
+	[cff] Fix more value errors and improve tracing.
+
+	* src/cff/cffparse.c (cff_parse_integer): Emit tracing message in
+	case of error.
+	(cff_parse_real): Handle and trace overflow, underflow, and bad data
+	consistently.
+	(do_fixed): New helper function, handling and tracing overflow.
+	(cff_parse_fixed, cff_parse_fixed_scaled): Use `do_fixed'.
+
+2012-10-17  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix some value overflows.
+
+	* src/psaux/psconv.c (PS_Conv_ToFixed): Implement it.
+
+2012-10-17  Bram Tassyns  <[email protected]>
+
+	[cff] Fix value overflow.
+
+	* src/cff/cffparse.c (cff_parse_fixed_scaled): Implement it.
+
+2012-10-17  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #37572.
+
+	* src/truetype/ttinterp.c (Ins_ISECT): Use angle between vectors to
+	avoid grazing intersections.  The previous threshold was too coarse,
+	incorrectly rejecting short but valid vectors.
+
+2012-09-30  Gilles Espinasse  <[email protected]>
+
+	Remove useless `rm' detection.
+
+	`rm -f' is directly used in the `configure' script created by
+	autoconf, thus no availability test is necessary.
+
+	* builds/unix/configure.raw (RMF): Remove test.
+	* builds/unix/unix-def.in (DELETE): Updated.
+
+2012-09-29  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor optimization.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
+	Add loop condition.
+
+2012-09-29  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix thinko.
+
+	* src/autofit/aftypes.h (AF_SCRIPT):
+	s/AF_SCRIPT_NONE/AF_SCRIPT_DUMMY/.  We already use `AF_SCRIPT_NONE'
+	as a bit mask.
+
+	* src/autofit/afdummy.c: Updated.
+
+2012-09-18  Werner Lemberg  <[email protected]>
+
+	[autofit] Implement `increase-x-height' property.
+
+	* include/freetype/ftautoh.h (FT_Prop_IncreaseXHeight): New
+	structure.
+
+	* include/autofit/afmodule.c (af_property_get_face_globals): New
+	function, re-using code from `af_property_get'.
+	(af_property_set, af_property_get): Handle `increase-x-height'.
+	Updated.
+
+2012-09-18  Werner Lemberg  <[email protected]>
+
+	[autofit] Implement Infinality's `increase glyph heights'.
+
+	This is an improved version of a similar fix contained in the
+	so-called `Infinality patch', taken from
+
+	  http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.10-20120616_01-x86_64.tar.bz2
+
+	which addresses various enhancements of the auto-hinter.  Without
+	properties to control a module's metadata it wasn't possible to
+	adapt the patches because everything was originally controlled by
+	environment variables which I consider not suitable in general.
+
+	A patch to control `increase_x_height' follows.
+
+	* src/autofit/afglobal.h (AF_PROP_INCREASE_X_HEIGHT_MIN,
+	AF_PROP_INCREASE_X_HEIGHT_MAX): New macros.
+	(AF_FaceGlobalsRec): Add `increase_x_height' member.
+	* src/autofit/afglobal.c (af_face_globals_new): Initialize it.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim),
+	* src/autofit/aflatin2.c (af_latin2_metrics_scale_dim): Implement
+	handling of `increase_x_height'.
+
+2012-09-18  Werner Lemberg  <[email protected]>
+
+	[autofit] Add hierarchical property access to some structures.
+
+	* src/autofit/afglobal.h: Include `afmodule.h'.
+	(AF_FaceGlobalsRec): Add `module' member.
+	(AF_FaceGlobals): Typedef moved to...
+	* src/autofit/aftypes.h: Here.
+	(AF_ScriptMetricsRec): Add `globals' member.
+
+	* src/autofit/afglobal.c (af_face_globals_new,
+	af_face_globals_compute_script_coverage,
+	af_face_globals_get_metrics): Updated.
+
+	* src/autofit/afloader.c (af_loader_reset), src/autofit/afmodule.c
+	(af_property_get): Updated.
+
+2012-09-17  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #37350.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Check for ASCII
+	storage only if we actually have at least four bytes.
+
+2012-09-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Implement `fallback-script' property.
+
+	* src/autofit/afglobal.c: s/default_script/fallback_script/.
+	* src/autofit/afglobal.h: s/AF_SCRIPT_DEFAULT/AF_SCRIPT_FALLBACK/.
+
+	* src/autofit/afmodule.c: s/default_script/fallback_script/.
+	(af_property_set, af_property_get): Implement `fallback-script'.
+	* src/autofit/afmodule.h: s/default_script/fallback_script/.
+
+	* include/freetype/ftautoh.h: Document it.
+
+2012-09-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Correct previous Unicode 6.1.0 change.
+
+	The auto-hinter's latin module only handles latin ligatures in the
+	`Alphabetical Presentation Forms' block.
+
+	* src/autofit/aflatin.c (af_latin_uniranges): Fix it.
+
+2012-09-15  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afmodule.c: s/FT_Err_/AF_Err_/.
+
+2012-09-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Make default script a global property.
+
+	* src/autofit/afmodule.h (AF_ModuleRec): Add `default_script' field.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage,
+	af_face_globals_new), src/autofit/afloader.c (af_loader_reset),
+	src/autofit/afmodule.c (af_property_get) <glyph-to-script-map>,
+	af_autofitter_init:
+	Handle default script.
+
+	* src/autofit/afglobal.h: Updated.
+
+2012-09-15  Werner Lemberg  <[email protected]>
+
+	Use `FT_Module' instead of `FT_Library' argument in property funcs.
+
+	This internal change simplifies access to global module data.
+
+	* include/freetype/internal/services/svprop.h
+	(FT_Properties_SetFunc, FT_Properties_GetFunc): Change accordingly.
+
+	* src/base/ftobjs.c (ft_property_do), src/autofit/afmodule.c
+	(af_property_set, af_property_get): Updated.
+
+2012-09-14  Werner Lemberg  <[email protected]>
+
+	[autofit] Update to Unicode 6.1.0.
+
+	* src/autofit/afcjk.c (af_cjk_uniranges), src/autofit/aflatin.c
+	(af_latin_uniranges): Add and fix ranges.
+
+2012-09-14  Werner Lemberg  <[email protected]>
+
+	[autofit] Pass `AF_Module' instead of `AF_Loader'.
+
+	We want to access the (not yet existing) module's global data later
+	on.
+
+	* src/autofit/afloader.c: Include `afmodule.h'.
+	(af_loader_init, af_loader_reset, af_loader_done,
+	af_loader_load_glyph): Change accordingly.
+	* src/autofit/afmodule.c (AF_ModuleRec): Move to `afmodule.h'.
+	Updated.
+
+	* src/autofit/afmodule.h: Include `afloader.h'.
+	(AF_ModuleRec): Define here.
+	* src/autofit/afloader.h (AF_Module): Define here.
+	Updated.
+
+2012-09-14  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix `make multi'.
+
+	* include/freetype/internal/fttrace.h: Add `afmodule'.
+	* src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_COMPONENT): Define.
+
+2012-09-14  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afmodule.c: s/FT_Autofitter/AF_Module/.
+
+2012-09-12  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor reorganization.
+
+	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT,
+	AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to...
+	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE,
+	AF_DIGIT): This and update code.
+
+2012-09-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Implement `glyph-to-script-map' property.
+
+	* include/freetype/ftautoh.h: New public header file.
+	* include/freetype/config/ftheader.h (FT_AUTOHINTER_H): New macro.
+
+	* src/autofit/afglobal.c (AF_FaceGlobalsRec): Move structure to...
+	* src/autofit/afglobal.h: This header file.
+	* src/autofit/afmodule.c: Include FT_AUTOHINTER_H.
+	(af_property_get): Handle `glyph-to-script-map'.
+
+2012-08-31  Werner Lemberg  <[email protected]>
+
+	[autofit] Implement properties service framework.
+
+	No properties are added yet.
+
+	* src/autofit/afmodule.c: Include FT_SERVICE_PROPERTIES_H.
+	(af_property_set, af_property_get): New dummy functions.
+	(af_service_properties, af_services, af_get_interface): Provide
+	service setup.
+	(autofit_moduleclass): Add service interface.
+
+	* src/autofit/afpic.c: Add necessary forward declarations.
+	(autofit_module_class_pic_init): Add code for service addition.
+	(autofit_module_pic_free): Add code for service removal.
+	* src/autofit/afpic.h (AF_SERVICES_GET, AF_SERVICE_PROPERTIES_GET):
+	New macros which provide necessary syntactical sugar for PIC
+	support.
+
+2012-08-30  Werner Lemberg  <[email protected]>
+
+	Implement properties to control FreeType modules.
+
+	* include/freetype/fterrdef.h (FT_Err_Missing_Property): New error
+	code.
+	* include/freetype/ftmodapi.h (FT_Property_Set, FT_Property_Get):
+	New API.
+
+	* include/freetype/internal/services/svprop.h: New file.
+	* include/freetype/internal/ftserv.h (FT_SERVICE_PROPERTIES_H): New
+	macro.
+
+	* src/base/ftobjs.c: Include FT_SERVICE_PROPERTIES_H.
+	(ft_property_do, FT_Property_Set, FT_Property_Get): New functions.
+
+2012-08-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Allow `-' in tags and identifiers.
+
+	* src/tools/docmaker/content.py (re_identifier),
+	src/tools/docmaker/sources.py (re_markup_tag1, re_markup_tag2,
+	re_crossref): Add `-' in patterns.
+
+2012-08-27  Werner Lemberg  <[email protected]>
+
+	[FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings.
+
+	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER),
+	include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
+	FT_DEFINE_MODULE), include/freetype/internal/ftserv.h
+	(FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2,
+	FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4,
+	FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6),
+	src/autofit/afpic.c (autofit_module_class_pic_init),
+	src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c
+	(ft_create_default_module_classes), src/cff/cffparse.c
+	(FT_Create_Class_cff_field_handlers), src/cff/cffpic.c
+	(cff_driver_class_pic_init), src/pshinter/pshpic.c
+	(pshinter_module_class_pic_init), src/psnames/pspic.c
+	(psnames_module_class_pic_init), src/raster/rastpic.c
+	(ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c
+	(sfnt_module_class_pic_init), src/sfnt/ttcmap.c
+	(FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c
+	(ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c
+	(tt_driver_class_pic_init): Initialize allocation variable.
+
+2012-08-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix compilation warning.
+
+	* src/truetype/ttgload.c (IS_HINTED): Move macro to...
+	* src/truetype/ttobjs.h: This header file.
+
+2012-08-27  Werner Lemberg  <[email protected]>
+
+	[autofit, cff, pshinter, psnames] More renamings for orthogonality.
+
+	* src/autofit/afmodule.c, src/autofit/afpic.h:
+	s/AF_AUTOFITTER_/AF_/.
+
+	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffparse.c,
+	src/cff/cffpic.h: s/FT_CFF_/CFF_/.
+
+	* src/pshinter/pshmod.c, src/pshinter/pshpic.h:
+	s/FT_PSHINTER_/PSHINTER_/.
+
+	* src/psnames/psmodule.c, src/psnames/pspic.h:
+	s/FT_PSCMAPS/PSCMAPS_/.
+
+2012-08-27  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] More renamings for orthogonality.
+
+	* src/sfnt/sfdriver.c, src/sfnt/sfntpic.h, src/sfnt/ttcmap.c,
+	src/truetype/ttdriver.c, src/truetype/ttpic.h: s/FT_SFNT_/SFNT_/,
+	s/FT_TT_/TT_/, s/GET_CMAP_INFO_GET/CMAP_INFO_GET/.
+
+2012-08-27  Werner Lemberg  <[email protected]>
+
+	[autofit] Some macro and variable renamings for orthogonality.
+
+	* include/freetype/internal/autohint.h, src/base/ftobjs.c,
+	src/autofit/afmodule.c, src/autofit/afpic.c, src/autofit/afpic.h:
+	s/SERVICE/INTERFACE/, s/service/interface/, s/Service/Interface/.
+
+2012-08-26  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #37178.
+
+	* src/base/ftobjs.c (FT_Open_Face): Initialize `error' with
+	`FT_Err_Missing_Module' before loop to indicate `no valid drivers'.
+
+2012-08-17  Werner Lemberg  <[email protected]>
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Oblique): Fix shear angle.
+
+	The old value was far too large (more than 20°).  The new one
+	corresponds to 12°, quite common in typography.
+
+2012-08-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Fix Savannah bug #37017.
+
+	* src/smooth/ftgrays.c (gray_render_cubic): Use a different set of
+	checks when detecting super curvy splines to be split.
+
+2012-08-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve recognition of flat segments.
+
+	Problem reported by Brad Dunzer <[email protected]>.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): We have
+	a flat segment if the horizontal distance of best on-points is
+	larger than a given threshold.
+
+2012-08-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Variable renamings.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Replace
+	`glyph' with `outline'.
+	s/best_first/best_contour_first/.
+	s/best_last/best_contour_last/.
+
+2012-07-31  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #37000.
+
+	* src/type1/t1load.c (parse_encoding): Fix order of checks.
+
+2012-07-17  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix Savannah bug #36833.
+
+	* src/psaux/t1decode.c (t1operator_seac): `seac' is not a valid
+	operator if we want metrics only.
+
+2012-07-16  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #36832.
+
+	* src/type1/t1load.c (parse_charstrings): Reject negative number of
+	glyphs.
+
+2012-07-13  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #36829.
+
+	* src/type1/t1load.c (parse_encoding): Check cursor position after
+	call to T1_Skip_PS_Token.
+
+2012-07-12  Alexei Podtelezhnikov  <[email protected]>
+
+	Revert the last commit 45337b07.
+
+	* src/base/ftstroke.c (FT_Stroker_New): Revert the previous change.
+
+2012-07-11  Alexei Podtelezhnikov  <[email protected]>
+
+	[ftstroke] Fix uninitialized return value.
+
+	* src/base/ftstroke.c (FT_Stroker_New): Return FT_Err_Ok instead.
+
+2012-07-11  Werner Lemberg  <[email protected]>
+
+	[smooth] Avoid memory leak in case of failure.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use flags to
+	indicate what to clean up after finishing the function, with and
+	without errors.
+
+2012-07-09  Werner Lemberg  <[email protected]>
+
+	Fix compilation with MSVC 5.0.
+
+	Problem reported by Peter Breitenlohner and Akira Kakuto.
+
+	* include/freetype/config/ftstdlib.h (ft_setjmp): Updated.
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast.
+
+2012-07-09  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve debugging messages; do some code cleanup.
+
+	* src/autofit/aflatin.c (af_latin_align_linked_edge,
+	af_latin_hint_edges): Synchronize with formatting used in the
+	ttfautohint project.
+
+2012-07-07  Gilles Espinasse  <[email protected]>
+
+	Fix strict-aliasing warning.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Avoid double cast.
+
+2012-07-07  Dave Thomas  <[email protected]>
+
+	[ARM] Fix FT_MulFix_arm.
+
+	* include/freetype/config/ftconfig.h (FT_MulFix_arm) [__arm__]:
+	Avoid ADDS instruction to clobber condition codes.
+
+2012-07-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Do some code cleanup.
+
+	* src/autofit/afglobal.c (af_face_globals_new): Simplify.
+
+	* src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf'
+	everywhere.
+	(FT_COMPONENT): New macro.
+	(af_glyph_hints_done): Simplify.
+
+	* include/freetype/internal/fttrace.h: Updated.
+
+2012-07-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve output of debugging information.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Print more
+	data; report no data.
+	(af_glyph_hints_dump_edges): Report no data.
+
+2012-07-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix Savannah bug #36091.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
+	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Change the
+	constraint for testing round vs. flat segment: Accept either a
+	small distance or a small angle.
+
+2012-07-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Beautify blue zone tracing.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
+	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Implement it.
+
+2012-07-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Quantize stem widths.
+
+	* src/autofit/afangles.c (af_sort_widths): Rename to...
+	(af_sort_and_quantize_widths): This.
+	Add code to avoid stem widths which are almost identical.
+	* src/autofit/aftypes.h, src/autofit/aflatin.c, src/autofit/afcjk.c:
+	Updated.
+
+2012-07-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor speed-up.
+
+	* src/autofit/afangles (af_sort_pos, af_sort_widths): Don't swap
+	elements if they are equal.
+
+2012-06-30  Gilles Espinasse  <[email protected]>
+
+	Fix `checking if gcc static flag -static works' test.
+
+	On my linux build tree, I receive yes answer in every package I
+	build except FreeType for this test checking if gcc static flag
+	`-static' works
+
+	In FreeType, no is received, unless bzip2 and zlib are disabled using
+
+	  ./configure --without-bzip2 --without-zlib
+
+	The reason is that bzip2 and zlib tests add `-lz' and `-lbz2' to
+	LDFLAGS and this broke static flag test.
+
+	* builds/unix/configure.raw: Update CFLAGS and LDFLAGS only after
+	LT_INIT has run.
+
+2012-06-28  Infinality  <[email protected]>
+
+	[truetype] Fix various artifacts.
+
+	Verdana was broken in the original Infinality commit.  Also
+	includes other minor fixes.
+
+	* src/truetype/ttsubpix.h: Updated.  Removed unused macros.
+	(RASTERIZER_35_Rules): Add Verdana.
+	(SKIP_NONPIXEL_Y_MOVES_Rules): Add Tahoma `s'.
+	(MIRP_CVT_ZERO_Rules): Remove Verdana.
+	(ALWAYS_SKIP_DELTAP_Rules): Add Russian char 0x438.
+	(COMPATIBLE_WIDTHS_Rules): Rearrange some rules.
+	(X_SCALING_Rules): Adjust Verdana `a' at 12 and 13 ppem.
+
+	* src/truetype/ttsubpix.c: Updated.
+	(sph_set_tweaks): Re-execute fpgm always.
+
+2012-06-28  Gilles Espinasse  <[email protected]>
+
+	Fix CFLAGS and LDFLAGS share configure test.
+
+	* builds/unix/configure.raw: Fix typo.
+
+2012-06-28  Werner Lemberg  <[email protected]>
+
+	[truetype] Set the `subpixel_positioned' flag unconditionally.
+
+	This is how the code currently behaves.
+
+	* src/truetype/ttgload.c (tt_loader_init): Do it.
+
+2012-06-27  Werner Lemberg  <[email protected]>
+
+	Fix conditional compilation.
+
+	* src/base/basepic.c: Use FT_CONFIG_OPTION_MAC_FONTS.
+
+2012-06-27  Werner Lemberg  <[email protected]>
+
+	Fix conditional compilation.
+
+	* include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Don't
+	enclose with `TT_USE_BYTECODE_INTERPRETER'; we now need the function
+	elsewhere also.
+
+	* src/autofit/afcjk.h: Use AF_CONFIG_OPTION_CJK.
+
+	* src/truetype/ttgload.c (tt_loader_init): Fix compiler warning.
+
+	* src/truetype/ttinterp.c (Ins_MSIRP): Fix compiler warning.
+
+	* src/truetype/ttinterp.h: Use
+	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
+
+2012-06-26  Infinality  <[email protected]>
+
+	[truetype] Remove unused rounding functionality.
+
+	The subpixel hinting patch contained the concept of an adjustable
+	number of gridlines per pixel.  This is no longer used due to x
+	being completely ignored instead.  This will return some of the
+	code to its existing state prior to the original Infinality
+	commit.
+
+	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
+	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): Removed.
+
+	* src/truetype/ttinterp.c: Updated.
+	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
+	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
+	SetSuperRound): Remove parameter to handle the number of grid lines per
+	pixel.
+	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
+	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
+	(DO_ROUND, DO_NROUND): Updated.
+	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
+	Ins_MDRP, Ins_MIRP): Perform Round_None instead of calling a modified
+	rounding function.  Remove gridlines_per_pixel.  Create a local
+	variable to store control value cutin. Simplify the conditional for
+	ignore_x_mode.  Adjust rounding calls to pass only two values.
+
+2012-06-25  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #36705.
+
+	Handle numbers like 2.001 correctly.
+
+	* src/cff/cffparse.c (cff_parse_real): Avoid negative values for
+	`shift'.
+
+2012-06-18  Infinality  <[email protected]>
+
+	[truetype] Support subpixel hinting.
+
+	This is the large, famous `Infinality' patch to support ClearType
+	bytecode which has been available from
+	http://www.infinality.net/blog/ for some time, and which has been
+	refined over the last years.  While still experimental, it is now
+	mature enough to be included directly into FreeType.
+
+	Most of the code is based on the ClearType whitepaper written by
+	Greg Hitchcock
+
+	  https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
+
+	which gives a detailed overview of the necessary changes to the
+	Microsoft rasterizer so that older fonts are supported.  However, a
+	lot of details are still missing, and this patches provides a
+	framework to easily handle rendering issues down to the glyph level
+	of certain fonts.
+
+	Note that ClearType support is not completely implemented!  In
+	particular, full support for the options `compatible_widths',
+	`symmetrical_smoothing, and `bgr' (via the GETINFO bytecode
+	instruction) is missing.
+
+	* src/truetype/ttsubpix.c: New file, providing code to handle
+	`tweaks', this is, rules for certain glyphs in certain fonts
+	(including wildcards) which need a special treatment.
+
+	* src/truetype/ttsubpix.h: New file, holding the tweaking rules.
+
+	* include/freetype/config/ftoption.h, src/devel/ftoption.h
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): New macro.
+
+	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
+	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): New macros.
+
+	* src/truetype/truetype.c [TT_USE_BYTECODE_INTERPRETER]: Include
+	`ttsubpix.c'.
+
+	* src/truetype/ttgload.c: Include `ttsubpix.h'.
+	[All changes below are guarded by TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
+
+	(tt_get_metrics): Set tweak flags.
+	(TT_Hint_Glyph): Call `FT_Outline_EmboldenXY' if necessary.
+	(TT_Process_Simple_Glyph): Compensate emboldening if necessary.
+	(compute_glyph_metrics): Handle `compatible widths' option.
+	(tt_loader_init): Handle ClearType GETINFO information bits.
+
+	* src/truetype/rules.mk (TT_DRV_SRC): Updated.
+
+	* src/truetype/ttinterp.c: Include `ttsubpix.h'.
+	[Where necessary, changes below are guarded by
+	TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
+
+	(Direct_Move, Direct_Move_X): Extended.
+	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
+	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
+	SetSuperRound): Add parameter to handle the number of grid lines per
+	pixel.
+	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
+	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
+	(DO_ROUND, DO_NROUND): Updated.
+	(DO_RS): Take care of `Typeman' bytecode patterns.
+	(Ins_FDEF): Add some debugging code.  Commented out.
+	(Ins_ENDF): Restore state.
+	(Ins_CALL, Ins_LOOPCALL): Handle inline delta functions.
+	(Ins_MD): Handle `Vacuform' rounds.
+	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
+	Ins_MDRP, Ins_MIRP): Handle tweaks.
+	(Ins_ALIGNRP): Add tweak guard.
+	(Ins_IUP, Ins_DELTAP): Handle tweaks.
+	(Ins_GETINFO): Handle new ClearType bits.
+	(TT_RunIns): Handle tweaks.
+
+	* src/truetype/ttinterp.h: Updated.
+	(SPH_TweakRule, SPH_ScaleRule): New structures for tweaks.
+	(TT_ExecContextRec): Add members for subpixel hinting support.
+
+	* src/truetype/ttobjs.h (TT_DefRecord): Add `inline_delta' member.
+
+2012-06-15  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.10 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-10'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.10.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.9/2.4.10/, s/249/2410/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+	* builds/unix/configure.raw (version_info): Set to 15:0:9.
+
+2012-06-15  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Improve spacing.
+
+	* docs/CHANGES: Updated.
+
+2012-06-14  suzuki toshiya  <[email protected]>
+
+	* builds/exports.mk: Add CCexe_CFLAGS and CCexe_LDFLAGS.
+
+	to pass special compiler/linker flags under cross development.
+	Suggested by Savannah bug #36367.
+
+	ChangeLog on 2010-07-15 saying as they were removed was wrong
+	for the official trunk of FreeType2.  This commit is the first
+	introduction of them.
+
+2012-06-14  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2012-06-14  suzuki toshiya  <[email protected]>
+
+	[truetype] Add new versions of NEC FA family to tricky font list.
+
+	NEC FA family dated in 1996 have different checksum.
+	Reported by Johnson Y. Yan <[email protected]>; see
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-06/msg00023.html
+
+	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): 4 sets
+	of fpgm & prep table checksums for FA-Gothic, FA-Minchou,
+	FA-RoundedGothicM, FA-RoundedGothicB are added.  The family
+	names in sample PDF are truncated, thus the list of the
+	family names in tt_check_trickyness_family() is not updated yet.
+
+2012-06-06  Werner Lemberg  <[email protected]>
+
+	[ftraster] Fix rounding issue causing visual artifacts.
+
+	Problem reported by jola <[email protected]>; see
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-05/msg00036.html
+
+	* src/raster/ftraster.c (SMulDiv_No_Round): New macro.
+	(Line_Up): Use it.
+	* src/raster/ftmisc.h (FT_MulDiv_No_Round): Copied from `ftcalc.c'.
+
+2012-05-28  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Simplify.
+
+	We now use the cross product of the direction vectors to compute the
+	outline's orientation.
+
+2012-05-28  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2012-05-28  Alexei Podtelezhnikov  <[email protected]>
+
+	New function FT_Outline_EmboldenXY.
+
+	* include/freetype/ftoutln.h (FT_Outline_EmboldenXY): Define it.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Implement it, using a
+	simplified emboldening algorithm.
+	(FT_Outline_Embolden): Make it a special case of
+	`FT_Outline_EmboldenXY'
+
+2012-05-07  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #36386.
+
+	* src/type1/t1load.c (t1_load_keyword): Ignore keyword if context is
+	not valid.
+
+2012-04-07  Werner Lemberg  <[email protected]>
+
+	Remove compiler warning.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph)
+	[!TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Access `glyph->face' directly.
+
+2012-03-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Properly copy scaler flags to script metrics object.
+
+	Without this patch, only the dummy and cjk autohinter modules get
+	them (since they copy the whole scaler object).
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale),
+	src/autofit/aflatin2.c (af_latin2_metrics_scale): Implement it.
+
+2012-03-22  Alexei Podtelezhnikov  <[email protected]>
+
+	[bdflib] Remove redundant macro.
+
+	* src/bdf/bdflib.c (isdigok): Remove and replace with sbitset, which
+	is exactly the same.
+
+2012-03-20  suzuki toshiya  <[email protected]>
+
+	[configure] Fix Savannah bug #35644.
+
+	* builds/unix/configure.raw: Check `-ansi' flag works even if gcc
+	is used.  Bionic libc headers for Android lose the consistency
+	when they are parsed with __STDC_VERSION__ older than 199901L or
+	__STRICT_ANSI__.
+
+2012-03-20  Werner Lemberg  <[email protected]>
+
+	[bdf] Improvement to Savannah bug #35656.
+
+	* src/bdf/bdflib.c (isdigok): Add cast, as suggested in report.
+
+2012-03-17  Chris Liddell  <[email protected]>
+
+	[type1] Fix Savannah bug #35847.
+
+	* src/type1/t1load.c (parse_subrs): Fix the loop exit condition;
+	we want to exit when we have run out of data.
+
+2012-03-16  Werner Lemberg  <[email protected]>
+
+	[bdf] Really fix Savannah bug #35658.
+
+	* src/bdf/bdflib.c (_bdf_list_split): Add one more `field' initializer.
+
+2012-03-14  Yann Droneaud  <[email protected]>
+
+	[sfnt] Make arrays static like all others.
+
+	* src/sfnt/ttload.c (tt_face_load_maxp, tt_face_load_os2),
+	src/sfnt/ttmtx.c (tt_face_load_hhea): Add `static' keyword to frame
+	fields.
+
+2012-03-14  Huw Davies  <[email protected]>
+
+	[sfnt] A refinement of the previous commit.
+
+	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
+	tt_name_entry_ascii_from_other): Stop at null byte.
+
+2012-03-14  Huw Davies  <[email protected]>
+
+	[sfnt] Add `name' table compatibility to MS Windows.
+
+	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
+	tt_name_entry_ascii_from_other): Don't replace `\0' with question
+	marks when converting strings.
+
+2012-03-14  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #35833.
+
+	Based on the patch given in the bug report.
+
+	* src/type1/t1load.c (IS_INCREMENTAL): New macro.
+	(read_binary_data): Add parameter `incremental'.
+	Update all callers using `IS_INCREMENTAL'.
+
+2012-03-11  Werner Lemberg  <[email protected]>
+
+	[autofit] Return correct linear advance width values.
+
+	This was quite a subtle bug which accidentally showed up with glyph
+	`afii10023' of arial.ttf (version 2.76).  This glyph is a composite;
+	the first component, `E', has an advance width of 1366 font units,
+	while the advance width of the composite itself (which looks like
+	uppercase `E' with dieresis) is 1367 font units.  I think this is
+	actually a bug in the font itself, because there is no reason that
+	this glyph has not the same width as uppercase `E' without the
+	dieresis.  Anyway, it helped identify this problem.
+
+	Using the TrueType hinter, the correct value (1367) of `afii10023'
+	was returned, but the autohinter mysteriously returned 1366.
+
+	Digging in the code showed that the autohinter recursively calls
+	FT_Load_Glyph to load the glyph, adding the FT_LOAD_NO_SCALE load
+	flag.  However, the `linearHoriAdvance' field is still returned as a
+	scaled value.  To avoid scaling twice, the old code in autofit reset
+	`linearHoriAdvance', using the `horiAdvance' field.  This seemed to
+	work since FT_LOAD_NO_SCALE was in use, but it failed actually,
+	because `horiAdvance' is defined as the distance of the first
+	subglyph's phantom points, which in turn are initialized using the
+	advance width of the first subglyph.  And as the given example
+	shows, these widths can differ.
+
+	* src/autofit/afloader.c (af_loader_load_g): Temporarily set
+	FT_LOAD_LINEAR_DESIGN while calling FT_Load_Glyph to get unscaled
+	values for the linear advance widths.
+
+2012-03-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix SSW instruction.
+
+	* src/truetype/ttinterp.c (DO_SSW): SSW *does* use font units.  For
+	verification, it took some time to find a font which actually uses
+	this instruction.
+
+2012-03-09  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation.
+
+	* include/freetype/freetype.h: Swap order of preprocessor blocks.
+
+2012-03-08  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.9 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-9'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.9.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
+
+	* builds/unix/configure.raw (version_info): Set to 14:1:8.
+
+2012-03-08  Werner Lemberg  <[email protected]>
+
+	[bdf] Add missing overflow check.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
+	`glyph->bpr'.
+
+2012-03-07  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation.
+
+	* src/autofit/aferrors.h, src/bdf/bdferror.h, src/bzip2/ftbzip2.c,
+	src/cache/ftcerror.h, src/cff/cfferrs.h, src/cid/ciderrs.h,
+	src/gxvalid/gxverror.h, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
+	src/otvalid/otverror.h, src/pcf/pcferror.h, src/pfr/pfrerror.h,
+	src/psaux/psauxerr.h, src/pshinter/pshnterr.h,
+	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
+	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
+	src/type1/t1errors.h, src/type42/t42error.h, src/winfonts/fnterrs.h:
+	Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
+
+2012-03-03  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #35660.
+
+	For some divisions, we use casts to 32bit entities.  Always guard
+	against division by zero with these casts also.
+
+	* src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
+	(FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
+	(FT_DivFix): Add 32bit cast (this omission triggered the bug).
+
+2012-03-03  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix handling of track kerning.
+
+	* src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
+	for `min_kern'.  It is indeed quite common that track kerning
+	*increases* spacing for very small sizes.
+
+2012-03-02  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #35689.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
+	point.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #35656.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
+	of nibble characters instead of accessing `a2i' array.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[winfonts] Fix Savannah bug #35659.
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #35658.
+
+	* src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
+	properly.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix Savannah bug #35657.
+
+	If in function `skip_spaces' the routine `skip_comment' comes to the
+	end of buffer, `cur' is still increased by one, so we need to check
+	for `p >= limit' and not `p == limit'.
+
+	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
+	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #35646.
+
+	* src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages.  The
+	code is now in sync with the other operators (e.g. MSIRP) which
+	modify twilight points.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #35643.
+
+	* src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
+	comment before `_bdf_list_split', this is, really allocate at least
+	five `field' elements.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #35641.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
+	_BDF_ENCODING isn't set.  We need this because access to the `glyph'
+	variable might be undefined otherwise.
+
+2012-03-01  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #35640.
+
+	* src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
+	for NPUSHB and NPUSHW instructions.
+
+2012-02-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #35601.
+
+	* src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
+	last point for loop.
+	Also remove redundant boundary check.
+
+2012-02-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove redundant check.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
+	second check for ordered contour start points.
+
+2012-02-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Make SHC instruction behave similar to MS rasterizer.
+
+	* src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
+	twilight zone.
+
+2012-02-29  Alexei Podtelezhnikov  <[email protected]>
+
+	Avoid modulo operators against a power-of-two denominator.
+
+	* src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
+	(ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
+	src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
+	src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
+	`&' operator.
+
+2012-02-29  Werner Lemberg  <[email protected]>
+
+	[autofit] Don't synchronize digit widths for light rendering mode.
+
+	We don't hint horizontally in this mode.
+
+	* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
+	Implement it.
+
+2012-02-26  Alexei Podtelezhnikov  <[email protected]>
+
+	[type42] Minor code optimization (again).
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
+
+2012-02-26  Mateusz Jurczyk  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[smooth] Fix Savannah bug #35604.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
+	instead of `FT_UInt' for some variables and update comparisons
+	accordingly.  A detailed analysis can be found in the bug report.
+
+2012-02-26  Alexei Podtelezhnikov  <[email protected]>
+
+	[type42] Minor code optimization.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
+	modulo operator.
+
+2012-02-26  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2012-02-26  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #35608.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
+	dictionaries.
+
+2012-02-26  Werner Lemberg  <[email protected]>
+
+	[bdf] Support `ENCODING -1 <n>' format.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
+
+2012-02-26  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #35607.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
+	negative encoding values.
+
+2012-02-26  Werner Lemberg  <[email protected]>
+
+	[type1] Fix Savannah bug #35606.
+
+	* src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
+
+	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
+	only if cur < limit.
+
+2012-02-25  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix Savannah bug #35603.
+
+	* src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
+	`strings' array.
+
+2012-02-25  Werner Lemberg  <[email protected]>
+
+	[type42] Fix Savannah bug #35602.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
+	thoroughly.
+
+2012-02-25  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bugs #35599 and #35600.
+
+	* src/bdf/bdflib.c (ACMSG16): New warning message.
+	(_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
+
+2012-02-24  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bugs #35597 and #35598.
+
+	* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
+
+2012-02-24  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation (6/6).
+
+	* src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
+
+	* src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
+	s/t1_init_loader/cid_init_loader/.
+	s/t1_done_loader/cid_done_loader/.
+
+	* src/psaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
+
+	* src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
+
+	* src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
+
+2012-02-24  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation (5/6).
+
+	* include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
+	using it.
+
+2012-02-22  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation (4/6).
+
+	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
+	RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
+
+	* src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
+	s/PRaster/black_PRaster/.
+	* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
+	s/PRaster/gray_PRaster/.
+
+2012-02-20  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation (3/6).
+
+	* src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
+	s/PWorker/black_PWorker/.
+	* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
+	s/PWorker/gray_PWorker/.
+
+2012-02-20  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation (2/6).
+
+	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
+	CEILING, TRUNC, and SCALED before defining it.
+
+2012-02-20  Vinnie Falco  <[email protected]>
+
+	Prepare source code for amalgamation (1/6).
+
+	See discussion starting at
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
+
+	* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
+	* src/raster/ftraster.c: s/TBand/black_TBand/.
+
+2012-02-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Fix outline flags.
+
+	* src/autofit/afloader.c (af_loader_load_g): Don't reassign
+	`outline.flags' so that this information is preserved.  See
+	discussion starting at
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
+
+2012-02-11  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #35466.
+
+	Jump instructions are now bound to the current function.  The MS
+	Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
+
+	* src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
+	* src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
+
+	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
+	bound of jump address.
+	(Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
+
+2012-02-11  Werner Lemberg  <[email protected]>
+
+	We don't use `extensions'.
+
+	* include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
+	`extensions' field.
+
+2012-02-11  Werner Lemberg  <[email protected]>
+
+	Clean up `generic' fields.
+
+	* include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
+	Remove `generic' field since users can't access it.
+
+	* src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
+	advertised in the documentation of FT_Generic.
+	(Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
+
+2012-02-07  Werner Lemberg  <[email protected]>
+
+	[autofit] Harmonize function arguments.
+
+	* src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
+	`load_flags'.
+
+2012-02-07  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
+
+2012-01-17  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix Savannah bug #35286.
+
+	Patch submitted by anonymous reporter.
+
+	* src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
+	gxv_set_length_by_ulong_offset() must be called with 3, not 4,
+	the number of the subtables in the state tables; classTable,
+	stateArray, entryTable.
+
+2012-01-17  suzuki toshiya  <[email protected]>
+
+	[raccess] Modify for PIC build.
+
+	Based on the patch provided by Erik Dahlstrom <[email protected]>,
+	https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
+
+	Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
+	are renamed with `ft_' suffixes.
+
+	* src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
+	to `ft_raccess_rule_by_darwin_vfs()'.
+	* src/base/ftobjs.c: Ditto.
+
+	* src/base/ftrfork.c: Declarations of FT_RFork_Rule,
+	raccess_guess_rec, are moved to...
+	* include/freetype/internal/ftrfork.h: Here.
+
+	* include/freetype/internal/ftrfork.h:
+	FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
+	to replace raccess_guess_table[] in both of PIC and non-PIC
+	modes.
+	* src/base/ftrfork.c: raccess_guess_table[] array is rewritten
+	by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
+
+	* src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
+	storage.  (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
+	the function pointer from `ft_raccess_guess_table' storage in
+	`BasePIC' structure.
+	* src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
+	FT_RACCESS_GUESS_TABLE_GET.
+	(raccess_get_rule_type_from_rule_index): Add `library' as the
+	first argument to the function, to retrieve the storage of
+	`ft_raccess_guess_table' from it.  Also `raccess_guess_table'
+	is replaced by FT_RACCESS_GUESS_TABLE_GET.
+	(ft_raccess_rule_by_darwin_vfs): Ditto.
+
+2012-01-16  suzuki toshiya  <[email protected]>
+
+	Remove trailing spaces.
+
+2012-01-16  suzuki toshiya  <[email protected]>
+
+	Formatting PIC related sources.
+
+	* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
+	* src/base/basepic.c: Ditto.
+	* src/base/ftpic.c: Ditto.
+	* src/cff/cffpic.c: Ditto.
+	* src/pshinter/pshpic.c: Ditto.
+	* src/psnames/pspic.c: Ditto.
+	* src/raster/rastpic.c: Ditto.
+	* src/sfnt/sfntpic.c: Ditto.
+	* src/smooth/ftspic.c: Ditto.
+	* src/truetype/ttpic.c: Ditto.
+
+2012-01-16  suzuki toshiya  <[email protected]>
+
+	[autofit] Fix the inclusion of `aflatin2.h' in PIC file.
+
+	* src/autofit/afpic.c: Include `aflatin2.h' when
+	FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
+	Unconditionally inclusion causes declared but unimplemented
+	warning by GCC 4.6.
+
+2012-01-16  suzuki toshiya  <[email protected]>
+
+	[cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
+
+	* src/cff/cffpic.c: The declarations of
+	FT_Init_Class_cff_cmap_encoding_class_rec() and
+	FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
+	They can be obtained by the inclusion of cffcmap.h.
+	cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
+	FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
+
+2012-01-15  suzuki toshiya  <[email protected]>
+
+	Fix redundant declaration warning in PIC mode.
+
+	Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
+	designed to declare xxx_pic_{free,init} by themselves.
+	Because these macros are used at the end of the module
+	interface (e.g. ttdriver.c) and the wrapper source to build
+	a module as a single object (e.g. truetype.c) includes
+	the PIC file (e.g. ttpic.c) before the module interface,
+	these macros are expanded AFTER xxx_pic_{free,init} body
+	when the modules are built as single object.
+	The declaration after the implementation causes the redundant
+	declaration warnings, so the declarations are moved to module
+	PIC headers (e.g. ttpic.h).  Separating to other header files
+	are needed for multi build.
+
+	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
+	Remove class_##_pic_free and class_##_pic_init declarations.
+	* include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
+	FT_DEFINE_MODULE): Ditto.
+
+	* src/base/basepic.h: Insert a comment and fix coding style.
+	* src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
+	init}.
+	* src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
+	* src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
+	init}.
+	* src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
+	init}.
+	* src/raster/rastpic.h: Declare
+	ft_raster{1,5}_renderer_class_pic_{free,init}
+	* src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
+	* src/smooth/ftspic.h: Declare
+	ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
+	* src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
+
+2012-01-15  suzuki toshiya  <[email protected]>
+
+	Make pspic.c to include module error header to fix multi build.
+
+	* src/psnames/pspic.c: Include `psnamerr.h'.
+
+2012-01-14  suzuki toshiya  <[email protected]>
+
+	[base] Fix a dereference of uninitialized variable in PIC mode.
+
+	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
+	set before dereferring to obtain `library'.  The initialization
+	of `clazz', `glyph', `library' and NULL pointer check are
+	reordered to minimize PIC conditionals.
+
+2012-01-14  suzuki toshiya  <[email protected]>
+
+	[base] Insert explicit cast for GCC 4.6 in PIC mode.
+
+	* src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
+	configuration, FT_DEFAULT_MODULES_GET returns
+	FT_Module_Class** pointer, GCC 4.6 warns that
+	const FT_Module_Class* const* variable is warned as
+	inappropriate to store it.  To calm it, explicit cast is
+	inserted.  Also `library' is checked to prevent the NULL
+	pointer dereference in FT_DEFAULT_MODULES_GET.
+
+2012-01-13  suzuki toshiya  <[email protected]>
+
+	Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
+
+	Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
+	take no arguments but derefer the variable named `library'
+	internally.
+
+	* src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
+	set it if non-NULL driver is passed.
+	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
+
+	* src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
+	under PIC configuration, and set it if non-NULL module is given.
+	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
+
+2012-01-13  suzuki toshiya  <[email protected]>
+
+	Make PIC files include module error headers, to use the error codes
+	with per-module prefix.
+
+	* src/autofit/afpic.c: Include `aferrors.h'.
+	* src/cff/cffpic.c: Include `cfferrs.h'.
+	* src/pshinter/pshpic.c: Include `pshnterr.h'.
+	* src/raster/rastpic.c: Include `rasterrs.h'.
+	* src/sfnt/sfntpic.c: Include `sferrors.h'.
+	* src/smooth/ftspic.c: Include `ftsmerrs.h'.
+	* src/truetype/ttpic.c: Include `tterrors.h'.
+
+2012-01-04  Tobias Ringström  <[email protected]>
+
+	[truetype] Fix IP instruction if x_ppem != y_ppem.
+
+	* src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
+	properly.
+
+2012-01-02  Werner Lemberg  <[email protected]>
+
+	Fix tracing message for `loca' table.
+
+	* src/truetype/ttpload.c (tt_face_get_location): Don't emit a
+	warning message if the last `loca' entry references an empty glyph.
+
+2011-12-10  Werner Lemberg  <[email protected]>
+
+	Add some variable initializations.
+	Reported by Richard COOK <[email protected]>.
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
+	* src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
+	earlier.
+
+2011-12-08  Werner Lemberg  <[email protected]>
+
+	Fix serious scaling bug in `FT_Get_Advances'.
+
+	* src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
+	`FT_Load_Glyph' must be simply multiplied by 1024.
+
+2011-12-08  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
+
+2011-12-02  suzuki toshiya  <[email protected]>
+
+	[mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
+
+	Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
+	was a configurable macro to disable Carbon-dependent code.  Because
+	now configure script sets DARWIN_NO_CARBON by default and disables
+	Darwin & Carbon-dependent codes, these macros can be unified.
+	FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
+	(defined by default) is removed, because DARWIN_NO_CARBON violates
+	FT_XXX naming convention of public macros, and a macro configured by
+	default is not portable for the building without configure (e.g.
+	make devel).
+
+	* builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
+	old Mac font support is requested and Carbon is available.
+	* builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
+	for Mac OS X without Carbon (e.g.  Mac OS X 10.4 for ppc64) is
+	requested.
+	* include/freetype/config/ftconfig.in: Ditto.
+	* builds/vms/ftconfig.h: Ditto.
+
+	* src/base/ftbase.h: Remove DARWIN_NO_CARBON.
+	* src/base/ftbase.c: Ditto.
+	* src/base/ftobjs.c: Ditto.
+	* src/base/ftrfork.c: Ditto.
+
+	* src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
+	(same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
+	* builds/mac/ftmac.c: Ditto.
+
+	* builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
+	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
+	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+
+2011-11-30  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #34728 (`make devel' on Mac OS X).
+
+	* builds/toplevel.mk: Check `/dev/null' to identify the Unix-
+	like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
+	* builds/unix/detect.mk: Ditto.
+
+2011-11-30  suzuki toshiya  <[email protected]>
+
+	[apinames] Fix the overflow of signed integer hash.
+
+	* src/tools/apinames.c (names_add): Change the type of `h' from
+	int to unsigned int, to prevent undefined behaviour in the
+	overflow of signed integers (overflow of unsigned int is defined
+	to be wrap around).  Found by clang test suggested by Sean
+	McBride.
+
+2011-11-30  Werner Lemberg  <[email protected]>
+
+	[winfonts] Remove casts.
+
+	* src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
+	update affected functions.
+	(FNT_Size_Select): Fix number of arguments.
+
+2011-11-30  Werner Lemberg  <[email protected]>
+
+	[type42] Remove casts.
+
+	* src/type42/t42drivr.c (t42_driver_class): Remove all casts and
+	update affected functions.
+
+	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42 driver
+	changes.
+
+2011-11-30  Werner Lemberg  <[email protected]>
+
+	[type1] Remove casts.
+
+	* src/type1/t1driver.c (t1_driver_class): Remove all casts and
+	update affected functions.
+
+	* src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
+	Updated for t1driver changes.
+	src/type1/t1objs.h (T1_Driver): Remove unused typedef.
+	Updated for t1driver changes.
+
+2011-11-27  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #34896.
+
+	ENCODING now covers the whole Unicode range.
+
+	Note, however, that this change is quite expensive since it
+	increases the size of three arrays by almost 400kByte in total.  The
+	right fix is to replace the logic with something smarter.
+	Additionally, there exist very old BDFs for three-byte CCCII
+	encoding which exceeds the range of Unicode (another reason to have
+	a smarter logic).
+
+	* src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
+	arrays.
+	* src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
+
+2011-11-27  Werner Lemberg  <[email protected]>
+
+	[bdf] Improve tracing.
+
+	* src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
+	(_bdf_parse_glyphs): Use them.
+
+2011-11-26  Werner Lemberg  <[email protected]>
+
+	Improve tracing.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
+	(PCF_Face_Done): Remove tracing message.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
+	(cff_face_init), src/cid/cidobjs.c (cid_face_init),
+	src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
+	(sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
+	src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
+	(T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
+	`greeting' message.
+
+	* src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
+	(T42_Open_Face): Improve tracing.
+
+2011-11-26  Werner Lemberg  <[email protected]>
+
+	[cid] Fix error code.
+
+	* src/cid/cidparse.c (cid_parser_new): Do it.
+
+2011-11-26  Werner Lemberg  <[email protected]>
+
+	[cff] Fix error code.
+
+	* src/cff/cffload.c (cff_font_load): Do it.
+
+2011-11-26  Werner Lemberg  <[email protected]>
+
+	Add new error code FT_Err_Missing_Module.
+
+	Previously, FreeType misleadingly returned
+	FT_Err_Unknown_File_Format if a module was missing (or a test was
+	missing completely).
+
+	* include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
+
+	* src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
+	(cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
+	src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
+	(tt_face_init), src/type1/t1objs.c (T1_Face_Init),
+	src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
+
+	* src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
+	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
+	redundant test for `psaux'.
+
+2011-11-25  Werner Lemberg  <[email protected]>
+
+	[bdf] Add more error messages.
+
+	* src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
+	Add line number argument.
+	Update all callers.
+	(ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
+	(_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
+	_bdf_parse_glyphs, _bdf_parse_start): Add error messages.
+
+2011-11-24  Werner Lemberg  <[email protected]>
+
+	* include/freetype/fterrors.h: Remove dead code.
+
+2011-11-15  Werner Lemberg  <[email protected]>
+
+	* docs/releases: Updated.
+
+2011-11-15  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.8 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-8'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.8.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+
+	* builds/unix/configure.raw (version_info): Set to 14:0:8.
+
+2011-11-13  Chris Liddell  <[email protected]>
+
+	Add FT_Get_PS_Font_Value() API.
+
+	This allows a Type 1 font face to be interrogated to retrieve most
+	of the dictionary keys (keys not relevant to FreeType's Type 1
+	interpreter are not available).
+
+	* include/freetype/internal/services/svpsinfo.h
+	(PS_GetFontValueFunc): New typedef.
+	(PSInfo): Add `ps_get_font_value'.
+	(FT_DEFINE_SERVICE_PSINFOREC): Updated.
+
+	* include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
+	* include/freetype/t1tables.h: Here.
+	(PS_Dict_Keys): New enumeration.
+	(FT_Get_PS_Font_Value): New declaration.
+
+	* src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): This new function
+	does the real job.
+	(t1_service_ps_info): Add it.
+
+	* src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
+	(cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
+	Updated.
+
+2011-11-08  Braden Thomas  <[email protected]>
+
+	[cid] Various loading fixes.
+
+	* src/cid/cidload.c (cid_load_keyword) <default>,
+	(parse_font_matrix, parse_expansion_factor): Correctly check number
+	of dictionaries.
+	(cid_read_subrs): Protect against invalid values of `num_subrs'.
+	Assure that the elements of the `offsets' array are ascending.
+
+2011-11-05  Werner Lemberg  <[email protected]>
+
+	* README: We use copyright ranges also.
+
+	According to
+
+	  https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
+
+	this should be mentioned explicitly.
+
+2011-10-30  suzuki toshiya  <[email protected]>
+
+	[raccess] Supplement for previous fix.
+
+	* src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
+	it on native Mac OS X.
+	* src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
+	Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
+	too.
+
+2011-10-30  suzuki toshiya  <[email protected]>
+
+	[raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
+
+	* src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
+	compile on native Mac OS X because it is not used.
+
+2011-10-25  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix MD instruction for twilight zone.
+
+	* src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
+	instruction applied to original coordinates of twilight points
+	always returns zero.
+
+2011-10-18  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.7 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-7'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.7.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+	* builds/unix/configure.raw (version_info): Set to 13:2:7.
+
+2011-10-15  Kal Conley  <[email protected]>
+
+	Fix handling of transformations if no renderer is present.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Thinko.
+
+2011-10-15  Kal Conley  <[email protected]>
+
+	Fix conditions for autohinting.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Handle
+	FT_LOAD_IGNORE_TRANSFORM.
+
+2011-10-07  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix a bug to detect too large offset in morx table.
+
+	* src/gxvalid/gxvmorx2.c
+	(gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
+	that too large positive offset cannot be detected.
+
+2011-10-01  Braden Thomas  <[email protected]>
+
+	Handle some border cases.
+
+	* include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
+	value of `target->rows'.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
+	flex start.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Check `width' and
+	`height'.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
+	invalid values in `localpoints' array.
+
+2011-10-01  Werner Lemberg  <[email protected]>
+
+	[psnames] Handle zapfdingbats.
+	Problem reported by Nicolas Rougier <[email protected]>.
+
+	* src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
+	`zapfdingbats.txt' file.
+
+	* src/psnames/pstables.h: Regenerated.
+
+2011-09-27  Simon Bünzli  <[email protected]>
+
+	[type1] Fix Savannah bug #34189.
+
+	* src/type1/t1load.c (T1_Open_Face): Initialize
+	`face->len_buildchar'.
+
+2011-09-26  Werner Lemberg  <[email protected]>
+
+	[cff] Dump SIDs while tracing.
+
+	* src/cff/cffobjs.c (cff_face_init): Do it.
+
+	* src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
+	<cff_kind_string>: Identify as SID.
+
+2011-09-17  Werner Lemberg  <[email protected]>
+
+	Remove unused FT_ALIGNMENT macro.
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h: Do it.
+
+2011-09-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Slightly optimize conic and cubic flatteners.
+
+	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
+	out some code from the main loop to speed it up.
+
+2011-09-11  Tomas Hoger  <[email protected]>
+
+	Slightly improve LZW_CLEAR handling.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
+	Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
+	handled as clear codes.  This also re-sets old_code and old_char to
+	predictable values, which is a little better than using `random'
+	ones if the code following LZW_CLEAR is invalid.
+
+2011-09-11  Tomas Hoger  <[email protected]>
+
+	Add explicit LZW decompression stack size limit.
+
+	Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
+	constructed correctly.  It's even less than that, see e.g.
+	libarchive code comment for a better size upper bound:
+
+	  http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
+
+	This patch adds explicit stack size limit, enforced when stack is
+	realloced.
+
+	An alternative is to ensure that code < state->prefix[code - 256]
+	when traversing prefix table.  Such check is less efficient and
+	should not be required if prefix table is constructed correctly in
+	the first place.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
+
+2011-09-11  Tomas Hoger  <[email protected]>
+
+	Protect against loops in the prefix table.
+
+	LZW decompressor did not sufficiently check codes read from the
+	input LZW stream.  A specially-crafted or corrupted input could
+	create a loop in the prefix table, which leads to memory usage
+	spikes, as there's no decompression stack size limit.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
+	code in valid LZW stream must be 0..255.
+	<FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
+	code > free_ent is invalid.
+
+2011-09-09  Werner Lemberg  <[email protected]>
+
+	Better tracing of metrics.
+
+	* src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
+	FT_TRACE.
+
+2011-09-07  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #33816.
+
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): New member
+	`has_font_matrix'.
+	* src/cff/cffparse.c (cff_parse_font_matrix): Set it.
+	Update tracing output.
+	* src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
+	can be removed.
+
+2011-08-30  Werner Lemberg  <[email protected]>
+
+	Better tracing of metrics.
+
+	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
+	Decorate with FT_TRACE.
+
+2011-08-25  Werner Lemberg  <[email protected]>
+
+	[cff] Better tracing of the parsing process.
+
+	* src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
+	FT_TRACE.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
+	cff_parse_private_dict, cff_parse_cid_ros): Updated.
+	(CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
+	CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
+	CFF_FIELD_DELTA): Add argument for ID.
+	(cff_parser_run): Decorate with FT_TRACE.
+
+	* src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
+	`id' member.
+
+	* src/cff/cfftoken.h: Add IDs to all fields.
+
+2011-08-16  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #34022.
+
+	* README, docs/INSTALL: Remove references to UPGRADE.UNIX.
+
+2011-08-15  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #34018.
+
+	* docs/UPGRADE.UNIX: Removed.  Obsolete.
+
+2011-08-15  David Bevan  <[email protected]>
+
+	Fix Savannah bug #33992.
+
+	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
+
+2011-08-12  Werner Lemberg  <[email protected]
+
+	[truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
+
+	* src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
+	(Ins_SDPVTL): Handle v1 == v2 specially.
+
+2011-08-09  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #33975.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
+
+2011-07-29  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.6 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-6'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.6.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+
+	* builds/unix/configure.raw (version_info): Set to 13:1:7.
+
+2011-07-29  Werner Lemberg  <[email protected]>
+
+	[cff] Add some more tracing infos.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
+	cff_parse_cid_ros): Add tracing.
+
+2011-07-22  Dirk Müller  <[email protected]>
+
+	[psaux, type1] Fix null pointer dereferences.
+
+	Found with font fuzzying.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
+	`decoder->buildchar'.
+
+	* src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
+
+2011-07-20  Chris Morgan  <[email protected]>
+
+	Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
+
+	Useful for embedded systems which don't need file stream support.
+
+	* src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
+	it.
+
+2011-07-20  Elton Chung  <[email protected]>
+
+	* src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
+
+2011-07-16  Steven Chu  <[email protected]>
+
+	[truetype] Fix metrics on size request for scalable fonts.
+
+	* src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
+	from TT_Size to FT_Size if scalable font.
+
+	See
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
+
+	for some comparison images.
+
+2011-07-14  Matthias Drochner  <[email protected]>.
+
+	[psaux] Fix potential sign extension problems.
+
+	When shifting right a signed value, it is not defined by the
+	C standard whether one gets a sign extension or not.  Use a macro to
+	do an explicit cast from a signed short (assuming that this is
+	16bit) to an int.
+
+	* src/psaux/t1decode.c (Fix2Int): New macro.
+	Use it where appropriate.
+
+2011-07-14  Werner Lemberg  <[email protected]>
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_callothersubr>: Better handling of subroutine index 0.
+	From Matthias Drochner <[email protected]>.
+
+2011-07-10  Алексей Подтележников  <[email protected]>
+
+	[psaux] Optimize previous commit.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_callothersubr>: Move error check down to avoid testing twice for
+	good cases.
+
+2011-07-08  Werner Lemberg  <[email protected]>
+
+	[psaux] Add better argument check for `callothersubr'.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_callothersubr>: Reject negative arguments.
+
+2011-07-07  Werner Lemberg  <[email protected]>
+
+	[sfnt] Try harder to find non-zero values for ascender and descender.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
+	the `hhea' table's values are zero.
+
+2011-07-03  Werner Lemberg  <[email protected]>
+
+	Fix previous commit.
+
+	We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
+	strikes in the font.
+
+	* src/truetype/ttobjs.c (tt_face_init): Implement it.
+
+	* docs/CHANGES: Updated.
+
+2011-07-02  Just Fill Bugs  <[email protected]>
+
+	[truetype] Fix Savannah bug #33246.
+
+	* src/truetype/ttobjs.c (tt_check_single_notdef): New function.
+	(tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
+
+2011-07-02  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2011-07-02  David Bevan  <[email protected]>
+
+	[ftstroke] Major revision.
+
+	The main problems
+	-----------------
+
+	  o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
+	    joins (not bevel joins) were generated.  Indeed, the meanings of
+	    `miter' and `bevel' were incorrectly reversed (consistently) in
+	    both the code and comments.
+
+	  o The way bevel joins were constructed (whether specified
+	    explicitly, or created as a result of exceeding the miter limit)
+	    did not match what is required for stroked text in PostScript or
+	    PDF.
+
+	The main fixes
+	--------------
+
+	  o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
+
+	  o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
+	    introduced to support PostScript and PDF miter joins.
+
+	  o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
+	    alias for FT_STROKER_LINEJOIN_MITER.
+
+	Additionally, a variety of stroking errors have been fixed.  These
+	would cause various artifacts (including points `at infinity'),
+	especially when stroking poor quality fonts.
+
+	See
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
+
+	for example documents.  The FreeType stroker now produces results
+	very similar to that produced by GhostScript and Distiller for these
+	fonts.
+
+	Other problems
+	--------------
+
+	The following problems have been resolved:
+
+	  o Inside corners could be generated incorrectly.  Intersecting the
+	    inside corner could cause a missing triangular area and other
+	    effects.
+
+	    The intersection point can only be used if the join is between
+	    two lines and both lines are long enough.  The `optimization'
+	    condition in `ft_stroker_inside' has been corrected; this
+	    requires the line length to be passed into various functions and
+	    stored in `FT_StrokerRec'.
+
+	  o Incorrect cubic curves could be generated.  The angle
+	    calculations in `FT_Stroker_CubicTo' have been corrected to
+	    handle the case of the curve crossing the +/-PI direction.
+
+	  o If the border radius was greater than the radius of curvature of
+	    a curve, then the negative sector would end up outside (not
+	    inside) the border.  This situation is now recognized and the
+	    negative sector is circumnavigated in the opposite direction.
+	    (If round line joins are being used, this code is disabled
+	    because the line join will always cover the negative sector.)
+
+	  o When a curve is split, the arcs may not join smoothly (especially
+	    if the curve turns sharply back on itself).  Changes in
+	    direction between adjacent arcs were not handled.  A round
+	    corner is now added if the deviation from one arc to the next is
+	    greater than a suitable threshold.
+
+	  o The current direction wasn't retained if a the outline contained
+	    a zero length lineto or a curve that was determined to be
+	    `basically a point'.  This could cause a spurious join to be
+	    added.
+
+	  o Cubics with close control points could be mishandled.  All eight
+	    cases are now distinguished correctly.
+
+	Other improvements
+	------------------
+
+	o Borders for cubic curves could be too `flat'.
+	  FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
+	  this.
+
+	o The handling and use of movable points has been simplified a
+	  little.
+
+	o Various values are now computed only if the results are actually
+	  needed.
+
+	o The directions of the outer and inner borders have been swapped,
+	  as recommended by Graham Asher.
+
+	* src/base/ftstroke.c: Revised.
+	* include/freetype/ftstroke.h: Updated.
+
+2011-06-30  İsmail Dönmez  <[email protected]>
+
+	* builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
+
+2011-06-29  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #33663.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
+	ENCODING correctly.
+
+	* docs/CHANGES: Document it.
+
+2011-06-24  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.5 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-5'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.5
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+	* builds/unix/configure.raw (version_info): Set to 13:0:7.
+
+2011-06-20  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
+	from 2011-05-04.
+
+2011-06-19  suzuki toshiya  <[email protected]>
+
+	[gxvalid] make the `prop' validation tracing verbose.
+
+	* src/gxvalid/gxvprop.c: Add tracing messages for errors.
+
+2011-06-19  suzuki toshiya  <[email protected]>
+
+	[autogen.sh] Reflect environment variable LIBTOOLIZE.
+
+2011-06-18  Werner Lemberg  <[email protected]>
+
+	Update license documentation.
+
+	* docs/GPL.TXT: Renamed to...
+	* docs/GPLv2.TXT: This.
+
+	* docs/LICENSE.TXT: Updated.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	Fix g++4.6 compiler warnings in module drivers.
+
+	The background is same with previous commit.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
+	Init `points'.  (TT_Vary_Get_Glyph_Deltas): Init
+	`delta_xy'.  (TT_Get_MM_Var): Init `mmvar'.
+	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
+	* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
+	`font_info'.
+	* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
+	(cff_font_load): Init `sub'.
+	* src/cff/cffobjs.c (cff_size_init): Init `internal'.
+	(cff_face_init): Init `cff'.
+	* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
+	Init `snaps'.
+	* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
+	(pcf_get_bitmaps): Init `offsets'.  (pcf_get_encodings):
+	Init `tmpEncoding'.
+	* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
+	* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
+	* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
+	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
+	`zip_buff'.
+	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
+	* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[base] Fix g++4.6 compiler warnings in src/base/*.c.
+
+	Passing uninitialized pointer to FT_NEW() families is
+	not problematic theoretically (as far as the returned
+	pointer is checked before writing), but g++4.6 dislikes
+	it and warns by -Wuninitialized.  Initialize them by NULL.
+
+	* src/base/ftobjs.c (FT_Stream_New): Init `stream'.
+	(new_memory_stream): Ditto.
+	(FT_New_GlyphSlot): Init `slot'.
+	(FT_CMap_New): Init `cmap'.
+	(open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
+	(Mac_Read_POST_Resource): Init `pfb_data'.
+	(Mac_Read_sfnt_Resource): Init `sfnt_data'.
+	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
+	Init `offsets_internal' and `ref'.
+	(raccess_guess_darwin_hfsplus): Init `newpath'.
+	(raccess_guess_darwin_newvfs): Ditto.
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer):
+	Init `buffer'.
+	* src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Cleanup.
+
+	Some invalid, overrunning, unrecommended non-zero values
+	are cared in paranoid validation mode only.  There are
+	many lines looking like:
+
+	  if ( valid->root->level >= FT_VALIDATE_PARANOID )
+	    FT_INVALID_xxx;
+
+	To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
+	introduced for more paranoid validation in future.
+
+	* src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
+	New macro to assure valid->root->level is more or
+	equal to FT_VALIDATE_PARANOID.  (GXV_SET_ERR_IF_PARANOID):
+	New macro to raise an error if in paranoid validation.
+	* src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
+	* src/gxvalid/gxvfeat.c: Ditto.
+	* src/gxvalid/gxvjust.c: Ditto.
+	* src/gxvalid/gxvkern.c: Ditto.
+	* src/gxvalid/gxvmort.c: Ditto.
+	* src/gxvalid/gxvmort0.c: Ditto.
+	* src/gxvalid/gxvmort1.c: Ditto.
+	* src/gxvalid/gxvmort2.c: Ditto.
+	* src/gxvalid/gxvmorx1.c: Ditto.
+	* src/gxvalid/gxvmorx2.c: Ditto.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
+
+	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
+	Check different entries pointing same tracking value.
+	(gxv_trak_validate): Remove unused variable `table_size'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
+
+	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
+	Conditionalize unvalidated variable `subFeatureFlags'.
+	(gxv_morx_chain_validate): Conditionalize unvalidated
+	variable `defaultFlags'.
+
+	* src/gxvalid/gxvmorx0.c
+	(gxv_morx_subtable_type0_entry_validate):
+	Conditionalize unvalidated variables; `markFirst',
+	`dontAdvance', `markLast', `verb'.
+
+	* src/gxvalid/gxvmorx1.c
+	(gxv_morx_subtable_type1_entry_validate): Conditionalize
+	unvalidated variables; `setMark', `dontAdvance'.
+
+	* src/gxvalid/gxvmorx2.c
+	(gxv_morx_subtable_type2_ligActionOffset_validate):
+	Conditionalize unvalidated variables; `last', `store'.
+	Checking for overrunning offset is added.
+	(gxv_morx_subtable_type2_entry_validate):
+	Conditionalize unvalidated variables; `setComponent',
+	`dontAdvance', `performAction'.
+	(gxv_morx_subtable_type2_ligatureTable_validate):
+	Check if the GID for ligature does not exceed the
+	max GID in `maxp' table.
+
+	* src/gxvalid/gxvmort5.c
+	(gxv_morx_subtable_type5_InsertList_validate):
+	Conditionalize unvalidated loading of `insert_glyphID'
+	array.  (gxv_morx_subtable_type5_entry_validate):
+	Conditionalize unvalidated variables; `setMark',
+	`dontAdvance', `currentIsKashidaLike',
+	`markedIsKashidaLike', `currentInsertBefore',
+	`markedInsertBefore'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
+
+	* src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
+	Conditionalize unvalidated variable `subFeatureFlags'.
+	(gxv_mort_chain_validate): Conditionalize unvalidated
+	variable `defaultFlags'.
+
+	* src/gxvalid/gxvmort0.c
+	(gxv_mort_subtable_type0_entry_validate): Check the
+	conflict of the marks for the glyphs.
+
+	* src/gxvalid/gxvmort1.c
+	(gxv_mort_subtable_type1_offset_to_subst_validate):
+	Local variables `min_gid', `max_gid' are replaced by
+	variables in the validator.
+	(gxv_mort_subtable_type1_entry_validate): Conditionalize
+	unvalidated variables; `setMark', `dontAdvance'.
+	(gxv_mort_subtable_type1_substTable_validate):
+	Validate the GID by the min/max GIDs in the validator.
+
+	* src/gxvalid/gxvmort2.c
+	(gxv_mort_subtable_type2_ligActionOffset_validate):
+	Conditionalize unvalidated variables; `last', `store'.
+	Checking for overrunning offset is added.
+	(gxv_mort_subtable_type2_entry_validate):
+	Conditionalize unvalidated variables; `setComponent',
+	`dontAdvance'.
+	(gxv_mort_subtable_type2_ligatureTable_validate):
+	Check if the GID for ligature does not exceed the
+	max GID in `maxp' table.
+
+	* src/gxvalid/gxvmort5.c
+	(gxv_mort_subtable_type5_InsertList_validate):
+	Conditionalize unvalidated loading of `insert_glyphID'
+	array.  (gxv_mort_subtable_type5_entry_validate):
+	Conditionalize unvalidated variables; `setMark',
+	`dontAdvance', `currentIsKashidaLike',
+	`markedIsKashidaLike', `currentInsertBefore',
+	`markedInsertBefore'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix gcc4.6 compiler warnings in gxvkern.c.
+
+	* src/gxvalid/gxvkern.c
+	(gxv_kern_subtable_fmt0_pairs_validate): Conditionalize
+	unvalidated variable `kernValue'.
+	(gxv_kern_subtable_fmt1_entry_validate): Conditionalize
+	unvalidated variables; `push', `dontAdvance', `kernAction',
+	`kernValue'.
+	(gxv_kern_coverage_new_apple_validate): Conditionalize
+	trace-only variables; `kernVertical', `kernCrossStream',
+	`kernVariation'.
+	(gxv_kern_coverage_classic_apple_validate): Conditionalize
+	trace-only variables; `horizontal', `cross_stream'.
+	(gxv_kern_coverage_classic_microsoft_validate):
+	Conditionalize trace-only variables; `horizontal',
+	`minimum', `cross_stream', `override'.
+	(gxv_kern_subtable_validate): Conditionalize trace-only
+	variables; `version', `tupleIndex'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix gcc4.6 compiler warnings in gxvjust.c.
+
+	* src/gxvalid/gxvjust.c (gxv_just_check_max_gid):
+	New function to unify the checks of too large GID.
+	(gxv_just_wdp_entry_validate): Conditionalize unvalidated
+	variables; `beforeGrowLimit', `beforeShrinkGrowLimit',
+	`afterGrowLimit', `afterShrinkGrowLimit', `growFlags',
+	`shrinkFlags'.  Additional check for non-zero values in
+	unused storage `justClass' is added.
+	(gxv_just_actSubrecord_type0_validate): Conditionalize
+	unvalidated variable `order'.  GID is checked by
+	gxv_just_check_max_gid().  Additional check for upside-down
+	relationship between `lowerLimit' and `upperLimit' is added.
+	(gxv_just_actSubrecord_type1_validate): GID is checked by
+	gxv_just_check_max_gid().
+	(gxv_just_actSubrecord_type2_validate): Conditionalize
+	unvalidated variable `substThreshhold'.  GID is checked by
+	gxv_just_check_max_gid().
+	(gxv_just_actSubrecord_type5_validate): GID is checked by
+	gxv_just_check_max_gid().
+	(gxv_just_classTable_entry_validate): Conditionalize
+	unvalidated variables; `setMark', `dontAdvance',
+	`markClass', `currentClass'.
+
+2011-06-14  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Preparation to fix gcc4.6 compiler warnings.
+
+	* src/gxvalid/gxvcommn.h (GXV_LOAD_TRACE_VARS): New macro to
+	conditionalize the variable which is only used for trace messages.
+	Automatically set by FT_DEBUG_LEVEL_TRACE.
+	(GXV_LOAD_UNUSED_VARS): New macro to conditionalize the loading of
+	unvalidated variables.  Undefined by default to calm gcc4.6 warning.
+	(GXV_ValidatorRec.{min_gid,max_gid}): New variables to hold defined
+	GID ranges, for the comparison of GID ranges in different subtables.
+
+2011-06-08  Werner Lemberg  <[email protected]>
+
+	[autofit] Remove unused structure member.
+
+	* src/autofit/afhints.h (AF_SegmentRec): Remove `contour'.
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
+	src/autofit/aflatin2.c (af_latin2_hints_compute_segments): Updated.
+
+2011-05-30  Werner Lemberg  <[email protected]>
+
+	Fix g++ 4.6 compilation.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edges): Use cast.
+
+2011-05-30  Werner Lemberg  <[email protected]>
+
+	Fix gcc 4.6 compiler warnings.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Use casts and
+	remove unused variables.
+	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Comment out
+	`up_dir'.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `height_org'
+	and `width_org' conditionalized.
+
+2011-05-28  suzuki toshiya  <[email protected]>
+
+	[mac] Conditionalize the inclusion of `AvailabilityMacros.h'.
+
+	The native SDK on earliest Mac OS X (10.0-10.1) did not have
+	`AvailabilityMacros.h'.  To prevent the inclusion of missing
+	header file, ECANCELED (introduced in 10.2) in POSIX header
+	file <errno.h> is checked to detect the system version.
+
+	* include/freetype/config/ftconfig.h: Conditionalize the
+	inclusion of `AvailabilityMacros.h'.
+	* builds/unix/ftconfig.in: Ditto.
+	* builds/vms/ftconfig.h: Ditto.
+
+2011-05-27  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing of hinting process.
+
+	* src/autofit/aflatin.c (af_latin_hint_edges): Add tracing message
+	`ADJUST'.
+
+2011-05-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix trace message.
+
+	* src/autofit/aflatin.c (af_latin_hint_edges): Show correct value in
+	tracing message.
+
+2011-05-24  Daniel Zimmermann  <[email protected]>
+
+	Reduce warnings for MS Visual Studio 2010.
+
+	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
+	af_glyph_hints_get_segment_offset) [!FT_DEBUG_AUTOFIT]: Provide
+	return value.
+	* src/cff/cffgload.c (cff_slot_load): Add cast.
+	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Use proper
+	loop variable type.
+
+2011-05-16  suzuki toshiya  <[email protected]>
+
+	Automake component `builds/unix/install-sh' is removed.
+
+	* builds/unix/install-sh: Removed.  It is not needed to
+	include repository, because autogen.sh installs it.
+	* builds/unix/.gitignore: Register install-sh.
+
+2011-05-12  suzuki toshiya  <[email protected]>
+
+	[autofit] Make trace message for CJK bluezone more verbose.
+
+2011-05-08  Just Fill Bugs  <[email protected]>
+            suzuki toshiya  <[email protected]>
+
+	[autofit] Add bluezones for CJK Ideographs.
+
+	To remove extrema of vertical strokes of CJK Ideographs at
+	low resolution and make the top and bottom horizontal stems
+	aligned, bluezones for CJK Ideographs are calculated from
+	sample glyphs.  At present, vertical bluezones (bluezones
+	to align vertical stems) are disabled by default.  For detail, see
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
+
+	* include/freetype/internal/fttrace.h: New trace component `afcjk'.
+	* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
+	for AF_Latin{Blue,Axis,Metric}Rec.
+	(af_cjk_metrics_check_digits): Ditto, shared with Indic module.
+	(af_cjk_metrics_init_widths): Ditto.
+	(af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric.
+	(af_cjk_metrics_scale): Ditto (declaration).
+	(af_cjk_hints_init): Ditto (declaration).
+	(af_cjk_hints_apply): Ditto (declaration).
+	* src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body).
+	(af_cjk_hints_init): Ditto (body).
+	(af_cjk_hints_apply): Ditto (body).
+	(af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths.
+	(af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits.
+	(af_cjk_metrics_init): Call CJK bluezone initializer.
+	(af_cjk_metrics_scale_dim): Add code to scale bluezones.
+	(af_cjk_hints_compute_blue_edges): New function, CJK version of
+	af_latin_hints_compute_blue_edges.
+	(af_cjk_metrics_init_blues): New function, CJK version of
+	af_latin_metrics_init_blues.
+	(af_cjk_hint_edges): Add code to align the edge stems to blue zones.
+
+	* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
+	instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
+	However bluezones are not initialized.
+	(af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric.
+	(af_indic_hints_init): Ditto.
+	(af_indic_hints_apply): Ditto.
+
+	* docs/CHANGES: Note about CJK bluezone support.
+
+2011-05-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Remove unused struct member.
+
+	* src/autofit/aflatin.h (AF_LatinAxis): Remove `control_overshoot'.
+
+2011-05-04  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Simplify.
+
+2011-05-01  Just Fill Bugs  <[email protected]>
+            Werner Lemberg  <[email protected]>
+
+	[autofit] Add more debugging functions.
+
+	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
+	af_glyph_hints_get_segment_offset): New functions.
+
+2011-05-01  suzuki toshiya  <[email protected]>
+
+	Add new option `--disable-mmap' to configure script.
+
+	* builds/unix/configure.raw: New option `--disable-mmap'
+	is added.  It is for the developers to simulate the systems
+	without mmap() (like 4.3BSD, minix etc) on POSIX systems.
+
+2011-04-30  suzuki toshiya  <[email protected]>
+
+	[truetype] Always recalculate the sfnt table checksum.
+
+	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Recalculate
+	the sfnt table checksum even if non-zero value is written in
+	the TrueType font header.  Some bad PDF generators write
+	wrong values.  For details see examples and benchmark tests
+	of the latency by recalculation:
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
+
+2011-04-30  suzuki toshiya  <[email protected]>
+
+	[truetype] Register a set of tricky fonts, NEC FA family.
+
+	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids):
+	Add 8 checksum sets for NEC FA family.  For the tricky fonts
+	without some tables (e.g. NEC FA fonts lack cvt table),
+	extra check is added to assure that a zero-length table in the
+	registry is not included in the font.
+
+2011-04-29  suzuki toshiya  <[email protected]>
+
+	[truetype] Fix a bug in the sfnt table checksum getter.
+
+	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Check the
+	return value of face->goto_table() correctly.
+
+2011-04-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing messages.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
+	af_latin_align_linked_edge, af_latin_hint_edges): Do it.
+
+2011-04-25  Kan-Ru Chen  <[email protected]>
+
+	[truetype] Always check the checksum to identify tricky fonts.
+
+	Because some PDF generators mangle the family name badly,
+	the trickyness check by the checksum should be invoked always.
+	For sample PDF, see
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
+
+	* src/truetype/ttobjs.c (tt_check_trickyness): Even when
+	tt_check_trickyness_family() finds no trickyness,
+	tt_check_trickyness_sfnt_ids() is invoked.
+
+2011-04-22  suzuki toshiya  <[email protected]>
+
+	[autofit] Add more Indic scripts with hanging baseline.
+
+	* src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu,
+	Sundanese, Meetei Mayek, Syloti Nagri and Sharada scripts are
+	added.
+
+2011-04-21  Behdad Esfahbod  <[email protected]>
+
+	Always ignore global advance.
+
+	This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
+	deprecated, and ignored.  The new behavior is what every major user
+	of FreeType has been requesting.  Global advance is broken in many
+	CJK fonts.  Just ignoring it by default makes most sense.
+
+	* src/truetype/ttdriver.c (tt_get_advances),
+	src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
+	tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
+	src/truetype/ttgload.h: Implement it.
+
+	* docs/CHANGES: Updated.
+
+2011-04-21  rainy6144  <[email protected]>
+
+	[autofit] Blur CJK stems if too many to preserve their gaps.
+
+	When there are too many stems to preserve their gaps in the
+	rasterization of CJK Ideographs at a low resolution, blur the
+	stems instead of showing clumped stems.  See
+	https://lists.gnu.org/archive/html/freetype-devel/2011-02/msg00011.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00046.html
+	for details.
+
+	* src/autofit/afcjk.c (af_cjk_hint_edges): Store the position of
+	the previous stem by `has_last_stem' and `last_stem_pos', and skip
+	a stem if the current and previous stem are too near to preserve
+	the gap.
+
+2011-04-18  Werner Lemberg  <[email protected]>
+
+	Integrate autofitter debugging stuff.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_DEBUG_AUTOFIT): New macro.
+
+	* include/freetype/internal/fttrace.h: Add trace components for
+	autofitter.
+
+	* src/autofit/aftypes.h (AF_LOG): Removed.
+	(_af_debug): Removed.
+
+	* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
+	s/AF_LOG/FT_TRACE5/.
+	Define FT_COMPONENT where necessary.
+
+2011-04-18  Werner Lemberg  <[email protected]>
+
+	Synchronize config files.
+
+	* builds/unix/ftconfig.in: Copy missing assembler routines from
+	include/freetype/config/ftconfig.h.
+
+2011-04-13  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix Savannah bug #33047.
+
+	Patch submitted by anonymous reporter.
+
+	* src/psaux/psobjs.c (ps_table_add): Use FT_PtrDist for pointer
+	difference.
+
+2011-04-11  Kan-Ru Chen  <[email protected]>
+
+	Fix reading of signed integers from files on 64bit platforms.
+
+	Previously, signed integers were converted to unsigned integers, but
+	this can fail because of sign extension.  For example, 0xa344a1eb
+	becomes 0xffffffffa344a1eb.
+
+	We now do the reverse which is always correct because the integer
+	size is the same during the cast from unsigned to signed.
+
+	* include/freetype/internal/ftstream.h, src/base/ftstream.c
+	(FT_Stream_Get*): Replace with...
+	(FT_Stream_GetU*): Functions which read unsigned integers.
+	Update all macros accordingly.
+
+	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Updated.
+
+2011-04-07  Werner Lemberg  <[email protected]>
+
+	Update Unicode ranges for CJK autofitter; in particular, add Hangul.
+
+	* src/autofit/afcjk.c (af_cjk_uniranges): Update to Unicode 6.0.
+
+2011-04-04  Werner Lemberg  <[email protected]>
+
+	Fix formatting of autofit debug dumps.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points,
+	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust
+	column widths.
+
+2011-03-30  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aftypes.h (AF_OutlineRec): Removed, unused.
+
+2011-03-24  Werner Lemberg  <[email protected]>
+
+	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 256.
+	This limit is given on p. 37 of Adobe Technical Note #5014.
+
+2011-03-23  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Fix mismatch warning.
+
+2011-03-20  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts.
+
+2011-03-19  Werner Lemberg  <[email protected]>
+
+	More C++ compilation fixes.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points,
+	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges)
+	[__cplusplus]: Protect with `extern "C"'.
+
+2011-03-18  Werner Lemberg  <[email protected]>
+
+	C++ compilation fixes.
+
+	* src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/afcjk.c
+	(af_cjk_hints_apply): Use cast for `dim'.
+
+2011-03-17  Alexei Podtelezhnikov  <[email protected]>
+
+	A better fix for Savannah bug #32671.
+
+	* src/smooth/ftgrays.c (gray_render_conic): Clean up code and
+	replace WHILE loop with a more natural DO-WHILE construct.
+
+2011-03-16  Werner Lemberg  <[email protected]>.
+
+	* src/base/ftstroke.c (FT_StrokerRec): Remove unused `valid' field.
+	Suggested by Graham Asher.
+
+2011-03-09  Werner Lemberg  <[email protected]>
+
+	Make FT_Sfnt_Table_Info return the number of SFNT tables.
+
+	* src/sfnt/sfdriver.c (sfnt_table_info): Implement it.
+	* include/freetype/tttables.h: Update documentation.
+	* docs/CHANGES: Updated.
+
+2011-03-07  Bram Tassyns  <[email protected]>
+
+	[cff] Fix Savannah bug #27988.
+
+	* src/cff/cffobjs.c (remove_style): New function.
+	(cff_face_init): Use it to strip off the style part of the family
+	name.
+
+2011-03-07  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2011-03-07  Alexei Podtelezhnikov  <[email protected]>
+
+	Quick fix for Savannah bug #32671.
+
+	This isn't the optimal solution yet, but it restores the previous
+	rendering quality (more or less).
+
+	* src/smooth/ftgrays.c (gray_render_conic): Do more splitting.
+
+2011-03-06  Werner Lemberg  <[email protected]>
+
+	Fix autohinting fallback.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
+	ignoring CFF-based OTFs.
+
+2011-02-27  Werner Lemberg  <[email protected]>
+
+	Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(AF_CONFIG_OPTION_USE_WARPER): New macro.
+	* src/autofit/aftypes.h (AF_USE_WARPER): Remove.
+
+	* src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/.
+
+	* src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy
+	variable assignment with a typedef.
+
+2011-02-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Slight simplifications.
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments): Remove
+	test which always returns false.
+	(af_latin_hints_compute_blue_edges): Remove redundant assignment.
+
+2011-02-24  Werner Lemberg  <[email protected]>
+
+	* docs/PROBLEMS: Mention rendering differences on different
+	platforms.
+	Suggested and worded by Jason Owen <[email protected]>.
+
+2011-02-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Comment out unused code.
+
+	* src/autofit/aflatin.c, src/autofit/aflatin2.c
+	(af_latin_hints_compute_edges): Do it.
+
+2011-02-24  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afhints.h (AF_GlyphHints): Remove unused field.
+
+2011-02-20  suzuki toshiya  <[email protected]>
+
+	[cache] Fix an off-by-one bug in `FTC_Manager_RemoveFaceID'.
+	Found by <[email protected]>, see detail in
+
+	  https://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
+
+	* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node
+	buckets[cache->p + cache->mask] too.
+
+2011-02-19  Kevin Kofler  <[email protected]>
+
+	Fall back to autohinting if a TTF/OTF doesn't contain any bytecode.
+	This is Savannah patch #7471.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Implement it.
+
+2011-02-19  John Tytgat  <[email protected]>
+
+	[cff] Fix subset prefix removal.
+	This is Savannah patch #7465.
+
+	* src/cff/cffobjs.c (remove_subset_prefix): Update length after
+	subset prefix removal.
+
+2011-02-13  Bradley Grainger  <[email protected]>
+
+	Add inline assembly version of FT_MulFix for MSVC.
+
+	* include/freetype/config/ftconfig.h: Ported the FT_MulFix_i386
+	function from GNU inline assembly syntax (see #ifdef __GNUC__ block
+	above) to MASM syntax for Microsoft Visual C++.
+
+2011-02-13  Bradley Grainger  <[email protected]>
+
+	Add project and solution files in Visual Studio 2010 format.
+
+	* builds/win32/.gitignore: Ignore user-specific cache files.
+	* builds/win32/vc2010/: Add VS2010 project & solution files, created
+	by upgrading builds/win32/vc2008/freetype.vcproj.
+	* objs/.gitignore: Ignore Visual Studio output files.
+
+2011-02-01  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afdummy.c: Include `aferrors.h'.
+	Problem reported by Chris Liddell <[email protected]>.
+
+2011-02-01  Werner Lemberg  <[email protected]>
+
+	[cff] Ignore unknown operators in charstrings.
+	Patch suggested by Miles.Lau <[email protected]>.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Emit tracing
+	message for unknown operators and continue instead of exiting with a
+	syntax error.
+
+2011-02-01  Werner Lemberg  <[email protected]>
+
+	[truetype] FT_LOAD_PEDANTIC now affects `prep' and `fpgm' also.
+
+	* src/truetype/ttgload.c (tt_loader_init): Handle
+	`FT_LOAD_PEDANTIC'.
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
+	tt_size_init_bytecode, tt_size_ready_bytecode): New argument to
+	handle pedantic mode.
+	* src/truetype/ttobjs.h: Updated.
+
+2011-01-31  Werner Lemberg  <[email protected]>
+
+	[truetype] Protect jump instructions against endless loops.
+
+	* src/truetype/interp.c (DO_JROT, DO_JMPR, DO_JROF): Exit with error
+	if offset is zero.
+
+2011-01-31  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve handling of invalid references.
+
+	* src/truetype/interp.c: Set even more TT_Err_Invalid_Reference
+	error codes only if pedantic hinting is active.  At the same time,
+	try to provide sane values which hopefully allow useful
+	continuation.  Exception to this is CALL and LOOPCALL – due to
+	possible stack corruption it is necessary to bail out.
+
+2011-01-31  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve handling of stack underflow.
+
+	* src/truetype/ttinterp.c (TT_RunIns, Ins_FLIPPT, Ins_DELTAP,
+	Ins_DELTAC): Exit with error only if `pedantic_hinting' is set.
+	Otherwise, try to do something sane.
+
+2011-01-30  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message.
+
+2011-01-30  LIU Sun-Liang  <[email protected]>
+
+	[truetype]: Fix behaviour of MIAP for invalid arguments.
+
+	* src/truetype/ttinterp.c (Ins_MIAP): Set reference points even in
+	case of error.
+
+2011-01-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix handling of MIRP instruction.
+
+	Thanks to Greg Hitchcock who explained the issue.
+
+	* src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with
+	`>' since the description in the specification is incorrect.
+	This fixes, for example, glyph `two' in font `Helvetica Neue LT Com
+	65 medium' at 15ppem.
+
+2011-01-15  suzuki toshiya  <[email protected]>
+
+	Fix ARM assembly code in include/freetype/config/ftconfig.h.
+
+	* include/freetype/config/ftconfig.h (FT_MulFix_arm):
+	Copy the maintained code from builds/unix/ftconfig.in.
+	Old GNU binutils could not accept the reduced syntax
+	`orr %0, %2, lsl #16'.  Un-omitted syntax like RVCT,
+	`orr %0, %0, %2, lsl #16' is better.  Reported by
+	Johnson Y. Yan.  The bug report by Qt developers is
+	considered too.
+
+	https://bugreports.qt.io/browse/QTBUG-6521
+
+2011-01-15  Werner Lemberg  <[email protected]>
+
+	[raster] Make bbox handling the same as with Microsoft's rasterizer.
+
+	Right before B/W rasterizing, the bbox gets simply rounded to
+	integers.  This fixes, for example, glyph `three' in font `Helvetica
+	Neue LT Com 65 Medium' at 11ppem.
+
+	Thanks to Greg Hitchcock who explained this behaviour.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Implement it.
+
+2011-01-15  suzuki toshiya  <[email protected]>
+
+	Copy -mcpu=* & -march=* options from CFLAGS to LDFLAGS.
+
+	* builds/unix/configure.raw: Consider recent gcc-standard
+	flags to specify architecture in CFLAGS & LDFLAGS
+	harmonization.  Requested by Savannah bug #32114, to
+	support multilib feature of BuildRoot SDK correctly.
+
+2011-01-15  suzuki toshiya  <[email protected]>
+
+	Fix off-by-one bug in CFLAGS & LDFLAGS harmonizer.
+
+	* builds/unix/configure.raw: Some important options that
+	included in CFLAGS but not in LDFLAGS are copied to
+	LDFLAGS, but the last option in CFLAGS was not checked.
+
+2011-01-13  Werner Lemberg  <[email protected]>
+
+	[raster] Add undocumented drop-out rule to the other bbox side also.
+
+	* src/raster/ftraster.c (Vertical_Sweep_Drop,
+	Horizontal_Sweep_Drop): Implement it.
+
+2011-01-13  Werner Lemberg  <[email protected]>
+
+	[raster] Reduce jitter value.
+
+	This catches a rendering problem with glyph `x' from Tahoma at
+	10ppem.  It seems that the increase of the precision in the change
+	from 2009-06-11 makes a larger jitter value unnecessary.
+
+	* src/raster/ftraster.c (Set_High_Precision): Implement it.
+
+2011-01-13  Werner Lemberg  <[email protected]>
+
+	[raster] Handle drop-outs at glyph borders according to Microsoft.
+
+	If a drop-out rule would switch on a pixel outside of the glyph's
+	bounding box, use the right (or top) pixel instead.  This is an
+	undocumented feature, but some fonts like `Helvetica Neue LT Com 65
+	Medium' heavily rely on it.
+
+	Thanks to Greg Hitchcock who explained this behaviour.
+
+	* src/raster/ftraster.c (Vertical_Sweep_Drop,
+	Horizontal_Sweep_Drop): Implement it.
+
+2011-01-09  suzuki toshiya  <[email protected]>
+
+	[cache] Fix Savannah bug #31923, patch drafted by Harsha.
+
+	When a node comparator changes the cached nodes during the
+	search of a node matching with queried properties, the
+	pointers obtained before the function should be updated to
+	prevent the dereference to freed or reallocated nodes.
+	To minimize the rescan of the linked list, the update is
+	executed when the comparator notifies the change of cached
+	nodes. This change depends previous change:
+	38b272ffbbdaae276d636aec4ef84af407d16181
+
+	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Rescan the
+	top node if the cached nodes are changed.
+	* src/cache/ftccache.c (FTC_Cache_Lookup): Ditto.
+
+2011-01-09  suzuki toshiya  <[email protected]>
+
+	[cache] Notice if a cache query induced the node list change.
+
+	Some node comparators (comparing the cache node contents and the
+	properties specified by the query) can flush the cache node to
+	prevent the cache inflation.  The change may invalidate the pointers
+	to the node obtained before the node comparison, so it should be
+	noticed to the caller.  The problem caused by the cache node
+	changing is reported by Harsha, see Savannah bug #31923.
+
+	* src/cache/ftccache.h (FTC_Node_CompareFunc): Add new argument
+	`FT_Bool* list_changed' to indicate the change of the cached nodes
+	to the caller.
+	(FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes by
+	`_list_changed'.
+	(FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed'
+	and update it when `FTC_Manager_FlushN' flushes any nodes.
+
+	* src/cache/ftccback.h (ftc_snode_compare): Updated to fit with new
+	FTC_Node_CompareFunc type.
+	(ftc_gnode_compare): Ditto.
+
+	* src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to use
+	TRUE/FALSE macros.
+	(ftc_basic_gnode_compare_faceid): New argument `FT_Bool*
+	list_changed' to indicate the change of the cache nodes (anyway, it
+	is always FALSE).
+
+	* src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to use
+	TRUE/FALSE macros.
+	(ftc_cmap_node_compare): New argument `FT_Bool* list_changed' to
+	indicate the change of the cache nodes (anyway, it is always FALSE).
+	(ftc_cmap_node_remove_faceid): Ditto.
+
+	* src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL pointer to
+	`FTC_CACHE_TRYLOOP_END', because the result is not needed.
+	(FTC_Cache_Lookup): Watch the change of the cache nodes by
+	`list_changed'.
+	(FTC_Cache_RemoveFaceID): Ditto.
+
+	* src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to use
+	TRUE/FALSE macros.
+	(ftc_gnode_compare): New argument `FT_Bool* list_changed' to
+	indicate the change of the cache nodes (anyway, it is always FALSE).
+	(FTC_GNode_Compare): New argument `FT_Bool* list_changed' to be
+	passed to `ftc_gnode_compare'.
+	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
+
+	* src/cache/ftcsbits.c (ftc_snode_compare): New argument `FT_Bool*
+	list_changed' to indicate the change of the cache nodes, anyway.  It
+	is updated by `FTC_CACHE_TRYLOOP'.
+	(FTC_SNode_Compare): New argument `FT_Bool* list_changed' to be
+	passed to `ftc_snode_compare'.
+	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
+
+2011-01-09  suzuki toshiya  <[email protected]>
+
+	[cache] Fit `FTC_GNode_Compare' to `FTC_Node_CompareFunc'.
+
+	* src/cache/ftcglyph.h (FTC_GNode_Compare): Add the 3rd
+	argument `FTC_Cache  cache' to fit FTC_Node_CompareFunc
+	prototype.
+	* src/cache/ftcglyph.c (FTC_GNode_Compare): Ditto. Anyway,
+	`cache' is not used by its child `ftc_gnode_compare'.
+
+2011-01-09  suzuki toshiya  <[email protected]>
+
+	[cache] Deduplicate the code to get the top node by a hash.
+
+	There are several duplicated code fragments getting the top node
+	from a cache by a given hash, like:
+
+	    idx = hash & cache->mask;
+	    if ( idx < cache->p )
+	      idx = hash & ( cache->mask * 2 + 1 );
+	    pnode = cache->buckets + idx;
+
+	To remove duplication, a cpp-macro to do same work
+	`FTC_NODE__TOP_FOR_HASH' is introduced.  For non-inlined
+	configuration, non-`ftc_get_top_node_for_hash' is also introduced.
+
+	* src/cache/ftccache.h (FTC_NODE__TOP_FOR_HASH): Declare
+	and implement inlined version.
+	(FTC_CACHE_LOOKUP_CMP): Use `FTC_NODE__TOP_FOR_HASH'.
+	* src/cache/ftccache.c (ftc_get_top_node_for_hash): Non-inlined
+	version.
+	(ftc_node_hash_unlink): Use `FTC_NODE__TOP_FOR_HASH'.
+	(ftc_node_hash_link): Ditto.
+	(FTC_Cache_Lookup): Ditto.
+
+2011-01-09  suzuki toshiya  <[email protected]>
+
+	[cache] inline-specific functions are conditionalized.
+
+	* src/cache/ftcglyph.c (FTC_GNode_Compare): Conditionalized for
+	inlined configuration.  This function is a thin wrapper of
+	`ftc_gnode_compare' for inlined `FTC_CACHE_LOOKUP_CMP' (see
+	`nodecmp' argument).  Under non-inlined configuration,
+	`ftc_gnode_compare' is invoked by `FTC_Cache_Lookup', via
+	`FTC_Cache->clazz.node_compare'.
+
+	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
+	* src/cache/ftcsbits.c (FTC_SNode_Compare): Ditto, for
+	`ftc_snode_compare'.
+	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
+
+2011-01-09  suzuki toshiya  <[email protected]>
+
+	[cache] Correct a type mismatch under non-inlined config.
+
+	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): `FTC_GCache_Lookup'
+	takes the node via a pointer `FTC_Node*', differently from cpp-macro
+	`FTC_CACHE_LOOKUP_CMP'.
+
+2011-01-06  suzuki toshiya  <[email protected]>
+
+	Update Jamfile to include Bzip2 support.
+
+	* Jamfile: Include src/bzip2 to project.
+	Comments for lzw, gzip, bzip2 are changed to clarify that
+	they are for compressed PCF fonts, not others.
+	(e.g. compressed BDF fonts are not supported yet)
+
+2011-01-05  suzuki toshiya  <[email protected]>
+
+	Update Symbian project files to include Bzip2 support.
+
+	Currently, it provides `FT_Stream_OpenBzip2' that returns
+	unimplemented error always, to prevent unresolved symbol
+	error for the applications designed for Unix systems.
+
+	* builds/symbian/bld.inf: Include ftbzip2.h.
+	* builds/symbian/freetype.mmp: Include ftbzip2.c.
+
+2011-01-05  suzuki toshiya  <[email protected]>
+
+	Update classic MacOS makefiles to include Bzip2 support.
+
+	Currently, it provides `FT_Stream_OpenBzip2' that returns
+	unimplemented error always, to prevent unresolved symbol
+	error for the applications designed for Unix systems.
+
+	* builds/mac/FreeType.m68k_cfm.make.txt: Include ftbzip2.c.o.
+	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
+	* builds/mac/FreeType.ppc_carbon.make.txt: Include ftbzip2.c.x.
+	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+
+2011-01-05  suzuki toshiya  <[email protected]>
+
+	Update Amiga makefiles to include Bzip2 support.
+
+	Currently, it provides `FT_Stream_OpenBzip2' that returns
+	unimplemented error always, to prevent unresolved symbol
+	error for the applications designed for Unix systems.
+
+	* builds/amiga/makefile: Include bzip2.ppc.o built from ftbzip2.c.
+	* builds/amiga/makefile.os4: Include bzip2.o built from ftbzip2.c.
+	* builds/amiga/smakefile: Ditto.
+
+2011-01-05  suzuki toshiya  <[email protected]>
+
+	Update pkg-config tools to reflect Bzip2 support.
+
+	* builds/unix/freetype-config.in: Include `-lbz2' to
+	--libs output, if built with Bzip2 support.
+	* builds/unix/freetype2.in: Ditto.
+
+2011-01-05  suzuki toshiya  <[email protected]>
+
+	* builds/unix/configure.raw: Remove `SYSTEM_BZ2LIB' macro.
+
+	SYSTEM_ZLIB is used to switch the builtin zlib source
+	or system zlib source out of FreeType2.  But ftbzip2
+	module has no builtin bzip2 library and always requires
+	system bzip2 library.  Thus SYSTEM_BZ2LIB is always yes,
+	it is not used.
+
+2011-01-03  Werner Lemberg  <[email protected]>
+
+	*/rules.mk: Handle `*pic.c' files.
+
+2010-12-31  Werner Lemberg  <[email protected]>
+
+	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 64.
+	Problem reported by Tom Bishop <[email protected]>.
+
+2010-12-31  Werner Lemberg  <[email protected]>
+
+	Improve bzip2 support.
+
+	* include/freetype/ftmoderr.h: Add bzip2.
+
+	* docs/INSTALL.ANY, docs/CHANGES: Updated.
+
+	* src/pcf/README: Updated.
+	* include/freetype/internal/pcftypes.h: Obsolete, removed.
+
+2010-12-31  Joel Klinghed  <[email protected]>
+
+	Add bzip2 compression support to handle *.pcf.bz2 files.
+
+	* builds/unix/configure.raw: Test for libbz2 library.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_USE_BZIP2): Define.
+	* include/freetype/config/ftheader.h (FT_BZIP2_H): Define.
+
+	* include/freetype/ftbzip2.h: New file.
+
+	* src/bzip2/*: New files.
+
+	* src/pcf/pcf.h: s/gzip_/comp_/.
+	* src/pcf/pcfdrivr.c: Include FT_BZIP2_H.
+	s/gzip_/comp_/.
+	(PCF_Face_Init): Handle bzip2 compressed files.
+
+	* docs/formats.txt, modules.cfg: Updated.
+
+2010-12-25  Harsha  <[email protected]>
+
+	Apply Savannah patch #7422.
+
+	If we encounter a space in a string then the sbit buffer is NULL,
+	height and width are 0s.  So the check in ftc_snode_compare will
+	always pass for spaces (comparison with 255).  Here the comments
+	above the condition are proper but the implementation is not.  When
+	we create an snode I think it is the proper way to initialize the
+	width to 255 and then put a check for being equal to 255 in snode
+	compare function.
+
+	* src/cache/ftcsbits.c (FTC_SNode_New): Initialize sbit widths with
+	value 255.
+	(ftc_snode_compare): Fix condition.
+
+2010-12-13  Werner Lemberg  <[email protected]>
+
+	Fix parameter handling of `FT_Set_Renderer'.
+	Reported by Kirill Tishin <[email protected]>.
+
+	* src/base/ftobjs.c (FT_Set_Renderer): Increment `parameters'.
+
+2010-12-09  Werner Lemberg  <[email protected]>
+
+	[cff] Allow `hlineto' and `vlineto' without arguments.
+
+	We simply ignore such instructions.  This is invalid, but it doesn't
+	harm; and indeed, there exist such subsetted fonts in PDFs.
+
+	Reported by Albert Astals Cid <[email protected]>.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	[cff_op_hlineto]: Ignore instruction if there aren't any arguments
+	on the stack.
+
+2010-11-28  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.4 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-4'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.4
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.3/2.4.4/, s/243/244/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+	* builds/unix/configure.raw (version_info): Set to 12:2:6.
+
+2010-11-28  Alexei Podtelezhnikov  <[email protected]>
+
+	[ftsmooth]: Minor code simplification.
+
+	* src/smooth/ftgrays (gray_render_cubic): Do only one comparison
+	instead of two.
+
+2010-11-26  Johnson Y. Yan  <[email protected]>
+
+	[truetype] Better multi-threading support.
+
+	* src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone
+	references.
+
+2010-11-23  John Tytgat  <[email protected]>
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstring): Expand
+	start_point, check_points, add_point, add_point1, close_contour
+	macros.
+	Remove add_contour macro.
+	Return error code from t1_builder_start_point and
+	t1_builder_check_points when there was one (instead of returning 0).
+
+2010-11-22  suzuki toshiya  <[email protected]>
+
+	[truetype] Identify the tricky fonts by cvt/fpgm/prep checksums.
+	Some Latin TrueType fonts are still expected to be unhinted.
+	Fix Savannah bug #31645.
+
+	* src/truetype/ttobjs.c (tt_check_trickyness): Divided to...
+	(tt_check_trickyness_family): this checking family name, and
+	(tt_check_trickyness_sfnt_ids): this checking cvt/fpgm/prep.
+	(tt_get_sfnt_checksum): Function to retrieve the sfnt checksum
+	for specified subtable even if cleared by lazy PDF generators.
+	(tt_synth_sfnt_checksum): Function to calculate the checksum.
+
+2010-11-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix `loca' handling for inconsistent number of glyphs.
+	Reported by Johnson Y. Yan <[email protected]>.
+
+	* src/truetype/ttpload.c (tt_face_load_loca): While sanitizing,
+	handle case where `loca' is the last table in the font.
+
+2010-11-18  Werner Lemberg  <[email protected]>
+
+	[sfnt] Ignore all errors while loading `OS/2' table.
+	Suggested by Johnson Y. Yan <[email protected]>.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Do it.
+
+2010-11-18  Johnson Y. Yan  <[email protected]>
+
+	[type1] Fix matrix normalization.
+
+	* src/type1/t1load.c (parse_font_matrix): Handle sign of scaling
+	factor.
+
+2010-11-18  Werner Lemberg  <[email protected]>
+
+	[type1] Improve guard against malformed data.
+	Based on a patch submitted by Johnson Y. Yan
+	<[email protected]>
+
+	* src/type1/t1load.c (read_binary_data): Check `size'.
+
+2010-11-17  Werner Lemberg  <[email protected]>
+
+	[sfnt] While tracing, output table checksums also.
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Do it.
+
+2010-11-04  suzuki toshiya  <[email protected]>
+
+	[UVS] Fix `find_variant_selector_charmap', Savannah bug #31545.
+
+	Since 2010-07-04, `find_variant_selector_charmap' returns
+	the first cmap subtable always under rogue-compatible
+	configuration, it causes NULL pointer dereference and
+	make UVS-related functions crashed.
+
+	* src/base/ftobjs.c (Fix find_variant_selector_charmap):
+	Returns UVS cmap correctly.
+
+2010-11-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[ftsmooth] Improve rendering.
+
+	* src/smooth/ftsmooth.c (gray_render_conic): Since version 2.4.3,
+	cubic deviations have been estimated _after_ UPSCALE, whereas
+	conic ones have been evaluated _before_ UPSCALE, which produces
+	inferior rendering results.  Fix this.
+	Partially undo change from 2010-10-15 by using ONE_PIXEL/4; this has
+	been tested with demo images sent to the mailing list.  See
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html
+
+	and later mails in this thread.
+
+2010-10-28  Werner Lemberg  <[email protected]>
+
+	[ftraster] Minor fixes.
+
+	Reported by Tom Bishop <[email protected]>.
+
+	* src/raster/ftraster.c (ULong): Remove unused typedef.
+	(TWorker): Remove unused variable `precision_mask'.
+
+2010-10-28  Werner Lemberg  <[email protected]>
+
+	[ftraster] Fix rendering.
+
+	Problem reported by Tom Bishop <[email protected]>; see
+	thread starting with
+
+	  https://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
+
+	* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
+	since the involved multiplication exceeds 32 bits.
+
+2010-10-25  suzuki toshiya  <[email protected]>
+
+	Revert a change of `_idx' type in `FTC_CACHE_LOOKUP_CMP'.
+
+	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Revert
+	the type of `_idx' from FT_PtrDist (by previous change)
+	to original FT_UFast, to match with FT_CacheRec.
+
+2010-10-24  suzuki toshiya  <[email protected]>
+
+	[cache] Change the hash types to FT_PtrDist.
+
+	On LLP64 platforms (e.g. Win64), FT_ULong (32-bit)
+	variables are inappropriate to calculate hash values
+	from the memory address (64-bit).  The hash variables
+	are extended from FT_ULong to FT_PtrDist and new
+	hashing macro functions are introduced.  The hash
+	values on 16-bit memory platforms are changed, but
+	ILP32 and LP64 are not changed.  The hash value in
+	the cache subsystem is not reverted to the memory
+	address, so using signed type FT_PtrDist is safe.
+
+	* src/cache/ftccache.h (_FTC_FACE_ID_HASH): New hash
+	function to replace `FTC_FACE_ID_HASH' for portability.
+	* src/cache/ftcmanag.h (FTC_SCALER_HASH): Replace
+	`FTC_FACE_ID_HASH' by `_FTC_FACE_ID_HASH'.
+	* src/cache/ftccmap.c (FTC_CMAP_HASH): Ditto.
+
+	* src/cache/ftccache.h (FTC_NodeRec): The type of the
+	member `hash' is changed from FT_UInt32 to FT_PtrDist.
+
+	* src/cache/ftccache.h (FTC_Cache_Lookup): The type of the
+	argument `hash' is changed from FT_UInt32 to FT_PtrDist.
+	(FTC_Cache_NewNode): Ditto.
+	* src/cache/ftccache.c (ftc_cache_add): Ditto.
+	(FTC_Cache_Lookup): Ditto.  (FTC_Cache_NewNode): Ditto.
+	* src/cache/ftcglyph.h (FTC_GCache_Lookup): Ditto.
+	* src/cache/ftcglyph.c (FTC_GCache_Lookup): Ditto.
+
+	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): The type
+	of the internal variable `hash' is changed to FT_PtrDist
+	from FT_UInt32.  (FTC_ImageCache_LookupScaler): Ditto.
+	(FTC_SBitCache_Lookup): Ditto.
+	(FTC_SBitCache_LookupScaler): Ditto.
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Ditto.
+	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Ditto.
+	Also the type of the internal variable `_idx' is changed to
+	FT_PtrDist from FT_UFast for better pointer calculation.
+
+2010-10-24  suzuki toshiya  <[email protected]>
+
+	[cache] Hide internal macros incompatible with LLP64.
+
+	`FT_POINTER_TO_ULONG', `FTC_FACE_ID_HASH', and
+	`FTC_IMAGE_TYPE_HASH' are enclosed by
+	FT_CONFIG_OPTION_OLD_INTERNALS and hidden from
+	normal clients.
+
+	For the history of these macros, see the investigation:
+	https://lists.gnu.org/archive/html/freetype/2010-10/msg00022.html
+
+2010-10-24  suzuki toshiya  <[email protected]>
+
+	Change the type of `FT_MEM_VAL' from FT_ULong to FT_PtrDist.
+
+	On LLP64 platforms (e.g. Win64), unsigned long (32-bit)
+	cannot cover the memory address (64-bit).  `FT_MEM_VAL' is
+	used for hashing only and not dereferred, so using signed
+	type FT_PtrDist is safe.
+
+	* src/base/ftdbgmem.c (FT_MEM_VAL): Change the type of the
+	return value from FT_ULong to FT_PtrDist.
+	(ft_mem_table_resize): The type of hash is changed to
+	FT_PtrDist.  (ft_mem_table_get_nodep): Ditto.
+
+2010-10-24  suzuki toshiya  <[email protected]>
+
+	Replace "%lx" for memory address by "%p", LLP64 platforms.
+
+	On LLP64 platforms (e.g. Win64), long (32-bit) cannot cover
+	the memory address (64-bit).  Also the casts from the pointer
+	type to long int should be removed to preserve the address
+	correctly.
+
+	* src/raster/ftraster.c (New_Profile): Replace "%lx" by "%p".
+	(End_Profile) Ditto.
+	* src/truetype/ttinterp.c (Init_Context): Ditto.
+
+2010-10-15  Alexei Podtelezhnikov  <[email protected]>
+
+	Fix thinko in spline flattening.
+
+	FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL.
+
+	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and
+	replace it everywhere with ONE_PIXEL/8.
+
+2010-10-13  suzuki toshiya  <[email protected]>
+
+	[raccess] Skip unrequired resource access rules by Darwin VFS.
+
+	When a resource fork access rule by Darwin VFS could open the
+	resource fork but no font is found in it, the rest of rules
+	by Darwin VFS are skipped.  It reduces the warnings of the
+	deprecated resource fork access method by recent Darwin kernel.
+	Fix MacPorts ticket #18859:
+		https://trac.macports.org/ticket/18859
+
+	* src/base/ftobjs.c (load_face_in_embedded_rfork):
+	When `FT_Stream_New' returns FT_Err_Cannot_Open_Stream, it
+	means that the file is possible to be `fopen'-ed but zero-sized.
+	Also there is a case that the resource fork is not zero-sized,
+	but no supported font exists in it.  If a rule by Darwin VFS
+	falls into such cases, there is no need to try other Darwin VFS
+	rules anymore.  Such cases are marked by vfs_rfork_has_no_font.
+	If it is TRUE, the Darwin VFS rules are skipped.
+
+2010-10-13  suzuki toshiya  <[email protected]>
+
+	[raccess] Grouping resource access rules based on Darwin VFS.
+
+	MacOS X/Darwin kernel supports a few tricky methods to access
+	a resource fork via ANSI C or POSIX interface.  Current resource
+	fork accessor tries all possible methods to support all kernels.
+	But if a method could open a resource fork but no font is found,
+	there is no need to try other methods older than tested method.
+	To determine whether the rule index is for Darwin VFS, a local
+	function `ftrfork.c::raccess_rule_by_darwin_vfs' is introduced.
+	To use this function in ftobjs.c etc but it should be inlined,
+	it is exposed by ftbase.h.
+
+	* src/base/ftrfork.c (FT_RFork_Rule): New enum type to identify
+	the rules to access the resource fork.
+	(raccess_guess_rec): New structure to bind the rule function and
+	rule enum type.
+	(FT_Raccess_Guess): The list of the rule functions is replaced by
+	(raccess_guess_table): This.  This is exposed to be used by other
+	intra module functions.
+	(raccess_rule_by_darwin_vfs): A function to return a boolean
+	if the rule specified by the rule index is based on Darwin VFS.
+
+2010-10-13  suzuki toshiya  <[email protected]>
+
+	Prevent to open a FT_Stream for zero-sized file on non-Unix.
+
+	builds/unix/ftsystem.c prevents to open an useless stream from
+	zero-sized file and returns FT_Err_Cannot_Open_Stream, but the
+	stream drivers for ANSI C, Amiga and VMS return useless streams.
+	For cross-platform consistency, all stream drivers should act
+	same.
+
+	* src/base/ftsystem.c (FT_Stream_Open): If the size of the opened
+	file is zero, FT_Err_Cannot_Open_Stream is returned.
+	* builds/amiga/src/base/ftsystem.c (FT_Stream_Open): Ditto.
+	* src/vms/ftsystem.c (FT_Stream_Open): Ditto.
+
+2010-10-12  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #31310.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
+	invalid `runcnt' values.
+
+2010-10-08  Chris Liddell  <[email protected]>
+
+	[sfnt] Fix Savannah bug #31275.
+
+	* src/sfnt/ttpost.c: Include FT_INTERNAL_DEBUG_H.
+
+2010-10-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve error handling of `SHZ' bytecode instruction.
+	Problem reported by Chris Evans <[email protected]>.
+
+	* src/truetype/ttinterp.c (Ins_SHZ): Check `last_point'.
+
+2010-10-05  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #31253.
+	Patch submitted by an anonymous reporter.
+
+	* configure: Use `awk' instead of `sed' to manipulate output of `ls
+	-id'.
+
+2010-10-03  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.3 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-3'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.3
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.2/2.4.3/, s/242/243/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 12:1:6.
+
+2010-10-03  Werner Lemberg  <[email protected]>
+
+	Avoid `configure' issues with symbolic links.
+	Based on a patch from Alexander Stohr <[email protected]>.
+
+	* configure: Compare directories using `ls -id'.
+	Check existence of `reference' subdirectory before creating it.
+
+2010-10-02  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #31088 (sort of).
+
+	* src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64
+	function entries.
+
+2010-10-02  Werner Lemberg  <[email protected]>
+
+	[smooth] Fix splitting of cubics for negative values.
+
+	Reported by Róbert Márki <[email protected]>; see
+	https://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.
+
+	* src/smooth/ftgrays.c (gray_render_cubic): Fix thinko.
+
+2010-10-01  suzuki toshiya  <[email protected]>
+
+	[truetype] Fix Savannah bug #31040.
+
+	* src/truetype/ttinterp.c (free_buffer_in_size): Remove.
+	(TT_RunIns): Updated.
+
+2010-09-20  suzuki toshiya  <[email protected]>
+
+	[sfnt] Make error message filling NULL names less verbose.
+
+	* src/sfnt/ttpost.c (load_format_20): Showing 1 summary message
+	when we fill `post' names by NULL, instead of per-entry message.
+
+2010-09-20  Graham Asher  <[email protected]>
+	    David Bevan  <[email protected]>
+
+	[smooth] Fix and improve spline flattening.
+
+	This fixes the flattening of cubic, S-shaped curves and speeds up
+	the handling of both the conic and cubic arcs.
+
+	See the discussions on the freetype-devel mailing list in late
+	August and September 2010 for details.
+
+	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): New macro.
+	(TWorker): Remove `conic_level' and `cubic_level' elements.
+	(gray_render_conic): Simplify algorithm.
+	(gray_render_cubic): New algorithm; details are given in the code
+	comments.
+	(gray_convert_glyph): Remove heuristics.
+
+2010-09-19  Werner Lemberg  <[email protected]>
+
+	Minor fixes.
+
+	* src/cff/cffload.c (cff_charset_compute_cids): `charset->sids[i]'
+	is `FT_UShort'.
+	(cff_index_access_element): Don't use additions in comparison.
+	* src/sfnt/ttpost.c (load_format_20): Make `post_limit' of type
+	`FT_Long'.
+	Don't use additions in comparison.
+	Improve tracing messages.
+	(load_format_25, load_post_names): Make `post_limit' of type
+	`FT_Long'.
+
+2010-09-19  suzuki toshiya  <[email protected]>
+
+	[cff] Truncate the element length at the end of the stream.
+	See Savannah bug #30975.
+
+	* src/cff/cffload.c (cff_index_access_element): `off2', the offset
+	to the next element is truncated at the end of the stream to prevent
+	invalid I/O.  As `off1', the offset to the requested element has
+	been checked by `FT_STREAM_SEEK', `off2' should be checked
+	similarly.
+
+2010-09-19  suzuki toshiya  <[email protected]>
+
+	[cff] Ignore CID > 0xFFFFU.
+	See Savannah bug #30975.
+
+	* src/cff/cffload.c (cff_charset_compute_cids): Ignore CID if
+	greater than 0xFFFFU.  CFF font spec does not mention maximum CID in
+	the font, but PostScript and PDF spec define that maximum CID is
+	0xFFFFU.
+
+2010-09-19  suzuki toshiya  <[email protected]>
+
+	[cff] Make trace message in` cff_charset_load' verbose.
+	See Savannah bug #30975.
+
+	* src/cff/cffload.c (cff_charset_load): Report the original `nleft'
+	and truncated `nleft'.
+
+2010-09-19  suzuki toshiya  <[email protected]>
+
+	[cff] Correct `max_cid' from CID array length to max CID.
+	See Savannah bug #30975.
+
+	* src/cff/cffload.c (cff_charset_compute_cids): Don't increment
+	max_cid after detecting max CID.  The array CFF_Charset->cids is
+	allocated by max_cid + 1.
+	(cff_charset_cid_to_gindex): Permit CID is less than or equal to
+	CFF_Charset->max_cid.
+	* src/cff/cffobjs.c (cff_face_init): FT_Face->num_glyphs is
+	calculated as CFF_Charset->max_cid + 1.
+
+2010-09-19  suzuki toshiya  <[email protected]>
+
+	[truetype] Sanitize the broken offsets in `loca'.
+	See Savannah bug #31040.
+
+	* src/truetype/ttpload.c (tt_face_get_location): If `pos1', the
+	offset to the requested entry in `glyf' exceeds the end of the
+	table, return offset=0, length=0.  If `pos2', the offset to the next
+	entry in `glyf' exceeds the end of the table, truncate the entry
+	length at the end of `glyf' table.
+
+2010-09-19  suzuki toshiya  <[email protected]>
+
+	[sfnt] Prevent overrunning in `post' table parser.
+	See Savannah bug #31040.
+
+	* src/sfnt/ttpost.c (load_post_names): Get the length of `post'
+	table and pass the limit of `post' table to `load_format_20' and
+	`load_format_25'.
+	(load_format_20): Stop the parsing when we reached at the limit of
+	`post' table.  If more glyph names are required, they are filled by
+	NULL names.
+
+2010-09-17  suzuki toshiya  <[email protected]>
+
+	[truetype] Don't duplicate size->twilight structure to be freed.
+	See Savannah bug #31040 for detail.
+
+	* src/truetype/ttinterp.c (free_buffer_in_size): Don't duplicate
+	FT_GlyphZoneRec size->twilight to be freed.  If duplicated,
+	`FT_FREE' erases the duplicated pointers only and leave original
+	pointers.  They can cause the double-free crash when the burst
+	errors occur in TrueType interpreter and `free_buffer_in_size' is
+	invoked repeatedly.
+
+2010-09-15  Werner Lemberg  <[email protected]>
+
+	Make bytecode debugging with FontForge work again.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Don't call
+	`free_buffer_in_size' in case of error if a debugger is active.
+
+2010-09-14  Werner Lemberg  <[email protected]>
+
+	Improve tracing messages.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing
+	message.
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add
+	tracing message.
+	* src/truetype/ttgload.c (tt_loader_init): Add tracing message.
+	* src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if
+	glyph doesn't fit into a small bitmap container.
+
+2010-09-13  Werner Lemberg  <[email protected]>
+
+	Fix minor issues reported by <[email protected]>.
+
+	* src/autofit/aflatin.c (af_latin_compute_stem_width): Remove
+	redundant conditional check.
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Ditto.
+	* src/cff/cffload.c (cff_encoding_load): Remove conditional check
+	which always evaluates to `true'.
+	* src/pshinter/pshalgo.c (ps_glyph_interpolate_strong_points):
+	Ditto.
+	* src/truetype/ttinterp.c (Ins_IUP): Ditto.
+	* src/cid/cidgload.c (cid_slot_load_glyph): Don't check for NULL if
+	value is already dereferenced.
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix check of `face'.
+
+2010-08-31  suzuki toshiya  <[email protected]>
+
+	Ignore the environmental setting of LIBTOOL.
+	Patch is suggested by Adrian Bunk, to prevent unexpected
+	reflection of environmental LIBTOOL.  See:
+	https://savannah.nongnu.org/patch/?7290
+
+	* builds/unix/unix-cc.in: LIBTOOL is unconditionally set to
+	$(FT_LIBTOOL_DIR)/libtool.  FT_LIBTOOL_DIR is set to $(BUILD_DIR)
+	by default.
+	* configure: When configured for the building out of source tee,
+	FT_LIBTOOL_DIR is set to $(OBJ_DIR).
+
+2010-08-31  suzuki toshiya  <[email protected]>
+
+	[truetype] Decrease the trace level catching the interpreter error.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Decrease the trace level
+	showing the error when the interpreter returns with an error,
+	from` FT_TRACE7' to `FT_TRACE1'.
+
+2010-08-30  suzuki toshiya  <[email protected]>
+
+	[truetype] Prevent bytecode reuse after the interpretation error.
+
+	* src/truetype/ttinterp.c (free_buffer_in_size): New function to
+	free the buffer allocated during the interpretation of this glyph.
+	(TT_RunIns): Unset FT_Face->size->{cvt_ready,bytecode_ready} if
+	an error occurs in the bytecode interpretation.  The interpretation
+	of invalid bytecode may break the function definitions and referring
+	them in later interpretation is danger.  By unsetting these flags,
+	`fpgm' and `prep' tables are executed again in next interpretation.
+
+	This fixes Savannah bug #30798, reported by Robert Święcki.
+
+2010-08-29  Werner Lemberg  <[email protected]>
+
+	[ftraster] Pacify compiler.
+
+	* src/raster/ftraster.c (ft_black_new) [_STANDALONE_]: `memory' is
+	not used.
+
+2010-08-29  Werner Lemberg  <[email protected]>
+
+	[cff] Allow SIDs >= 65000.
+
+	* src/cff/cffload.c (cff_charset_load): Fix change from 2009-03-20:
+	The threshold for SIDs is not applicable here.  I misinterpreted the
+	`SID values 65000 and above are available for implementation use'
+	sentence in the CFF specification.
+
+	Problem reported by Ivan Ninčić <[email protected]>.
+
+2010-08-28  suzuki toshiya  <[email protected]>
+
+	Force hinting when the font lacks its familyname.
+
+	In Type42 or Type11 font embedded in PostScript & PDF, TrueType sfnt
+	stream may lack `name' table because they are not required.  Hinting
+	for nameless fonts is safer for PDFs including embedded Chinese
+	fonts.  Written by David Bevan, see:
+
+	https://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html
+	https://lists.freedesktop.org/archives/poppler/2010-August/006310.html
+
+	* src/truetype/ttobjs.c (tt_check_trickyness): If a NULL pointer by
+	nameless font is given, TRUE is returned to enable hinting.
+
+2010-08-28  suzuki toshiya  <[email protected]>
+
+	Register yet another tricky TrueType font.
+
+	* src/truetype/ttobjs.c (tt_check_trickyness): Add `HuaTianKaiTi?',
+	a Kaishu typeface paired with `HuaTianSongTi?' by Huatian
+	Information Industry.
+
+2010-08-17  Teijo Kinnunen  <[email protected]>
+
+	[cache] Fix Savannah bug #30788.
+
+	* src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for
+	NULL too.
+
+2010-08-10  Werner Lemberg  <[email protected]>
+
+	Try to fix Savannah bug #30717 (and probably #30719 too).
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add another
+	overflow test for `width' and `height'.
+
+2010-08-06  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.2 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-2'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.2
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.1/2.4.2/, s/241/242/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+	* builds/unix/configure.raw (version_info): Set to 12:0:6.
+
+2010-08-06  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #30648.
+
+	* src/base/ftobjs.c (FT_Done_Library): Specify the order of font
+	drivers during the face closing process.  Type42 faces should be
+	closed before TrueType faces, because a Type42 face refers to
+	another internal TrueType face which is created from sfnt[] array on
+	the memory.
+
+2010-08-06  Yuriy Kaminskiy  <[email protected]>
+
+	[raster] Fix valgrind warning.
+
+	* src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0]
+	only if we don't hit `limit'.
+
+2010-08-06  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #30658.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check that the total
+	length of collected POST segments does not overrun the allocated
+	buffer.
+
+2010-08-06  Yuriy Kaminskiy  <[email protected]>
+
+	Fix conditional usage of FT_MulFix_i386.
+	With -ansi flag, gcc does not define `i386', only `__i386__'.
+
+	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in:
+	s/i386/__i386__/.
+
+2010-08-05  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #30657.
+
+	* src/truetype/ttinterp.c (BOUNDSL): New macro.
+	Change `BOUNDS' to `BOUNDSL' where appropriate.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of
+	`cvtSize'.
+
+2010-08-05  Werner Lemberg  <[email protected]>
+
+	[type42] Fix Savannah bug #30656.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Protect against negative
+	string_size.
+	Fix comparison.
+
+2010-08-05  suzuki toshiya  <[email protected]>
+
+	[cff] Don't use any values in decoder after parsing error.
+
+	* src/cff/cffgload.c (cff_slot_load): Skip the evaluations
+	of the values in decoder, if `cff_decoder_parse_charstrings'
+	returns any error.
+
+2010-08-04  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #30644.
+
+	* src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison.
+
+2010-08-04  Werner Lemberg  <[email protected]>
+
+	`make devel' fails if FT_CONFIG_OPTION_OLD_INTERNALS is set.
+
+	* devel/ftoption.h: Synchronize with
+	include/freetype/config/ftoption.h.
+
+2010-08-04  suzuki toshiya  <[email protected]>
+
+	[cff] Improve stack overflow test.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack
+	after execution of operations too.
+
+2010-07-18  Werner Lemberg  <[email protected]>
+
+	Add reference counters and to FT_Library and FT_Face objects.
+
+	* include/freetype/freetype.h (FT_Reference_Face): New function.
+	* include/freetype/ftmodapi.h (FT_Reference_Library): New function.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec,
+	FT_LibraryRec): New field `refcount'.
+
+	* src/base/ftobjs.c (FT_Open_Face, FT_New_Library): Handle
+	`refcount'.
+	(FT_Reference_Face, FT_Reference_Library): Implement new functions.
+	(FT_Done_Face, FT_Done_Library): Handle `refcount'.
+
+	* docs/CHANGES: Updated.
+
+2010-07-18  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-1'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.1.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.0/2.4.1/, s/240/241/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 11:1:5.
+
+2010-07-17  Werner Lemberg  <[email protected]>
+
+	[cff] Final try to fix `hintmask' and `cntrmask' limit check.
+
+	Problem reported by Tobias Wolf <[email protected]>.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_hintmask>: Sigh.  I'm apparently too silly to fix this
+	correctly in less than three tries.
+
+2010-07-12  Werner Lemberg  <[email protected]>
+
+	* Version 2.4.0 released.
+	=========================
+
+
+	Tag sources with `VER-2-4-0'.
+
+	* docs/CHANGES: Updated.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.4.0.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.3.12/2.4.0/, s/2312/240/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 4.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 11:0:5.
+
+2010-07-12  Werner Lemberg  <[email protected]>
+
+	Remove C++ warnings.
+
+	*/*: Initialize pointers where necessary to make g++ happy.
+
+2010-07-12  malc  <[email protected]>
+	    Richard Henderson  <[email protected]>
+
+	Fix type-punning issues with C++.
+
+	* include/freetype/internal/ftmemory.h (FT_ASSIGNP) [__cplusplus]:
+	Emulate a `typeof' operator with an inline template which uses
+	`static_cast'.
+
+2010-07-11  Werner Lemberg  <[email protected]>
+
+	Fix C++ compilation issue.
+
+	* src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Fix
+	type of `dot' variable.
+
+2010-07-10  suzuki toshiya  <[email protected]>
+
+	Fix another case reported in Savannah bug #30373.
+	Permit a face for Type1, Type42 and CFF without charmap,
+	patch by Tor Andersson.
+
+	* src/type1/t1objs.c (T1_Face_Init): Reset the error if it
+	is FT_Err_No_Unicode_Glyph_Name.
+	* src/type42/t42objs.c (T42_Face_Init): Ditto.
+	* src/cff/cffobjs.c (cff_face_init): Ditto.
+
+2010-07-09  suzuki toshiya  <[email protected]>
+
+	Use defined macros to set {platform,encoding}_id.
+
+	* src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to
+	set charmap.{platform,encoding}_id.
+	* src/pcf/pcfdrivr.c: Ditto.
+	* src/winfonts/winfnt.c: Ditto.
+	* src/type1/t1objs.c: Ditto.
+	* src/type42/t42objs.c: Ditto.
+	* src/cff/cffobjs.c: Ditto.
+	* src/pfr/pfrobjs.c: Ditto.
+
+2010-07-09  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #30373.
+	Too serious check of errors by `FT_CMap_New' since 2010-07-04
+	is fixed. Reported by Tor Andersson.
+
+	* include/freetype/fterrdef.h
+	(PSnames_Err_No_Unicode_Glyph_Name): New error code to
+	indicate the Unicode charmap synthesis failed because
+	no Unicode glyph name is found.
+
+	* src/psnames/psmodule.c (ps_unicodes_init): Return
+	PSnames_Err_No_Unicode_Glyph_Name when no Unicode glyph name
+	is found in the font.
+	* src/cff/cffcmap.c (cff_cmap_unicode_init): Return
+	CFF_Err_No_Unicode_Glyph_Name when no SID is available.
+
+	* src/type1/t1objs.c (T1_Face_Init): Proceed if `FT_CMap_New'
+	is failed by the lack of Unicode glyph name.
+	* src/type42/t42objs.c (T42_Face_Init): Ditto.
+	* src/cff/cffobjs.c (cff_face_init): Ditto.
+
+2010-07-09  Ken Sharp  <[email protected]>
+
+	Make ftraster.c compile in stand-alone mode with MSVC compiler.
+
+	* src/raster/ftmisc.h (FT_Int64) [_WIN32, _WIN64]: Fix typedef
+	since there is no `inttypes.h' for MSVC.
+
+2010-07-08  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #30361.
+
+	* src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
+
+2010-07-06  Werner Lemberg  <[email protected]>
+
+	Pacify compiler.
+
+	* src/cff/cffload.c (cff_index_get_pointers): Initialize
+	`new_bytes'.
+
+2010-07-05  Eugene A. Shatokhin  <[email protected]>
+
+	Fix Savannah bug #27648.
+
+	* src/base/ftobjs.c (ft_remove_renderer, FT_Add_Module): Call
+	`raster_done' only if we have an outline glyph format.
+
+2010-07-05  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #30030.
+
+	* builds/win32/*/freetype.vcproj: Add ftxf86.c.
+
+2010-07-05  Werner Lemberg  <[email protected]>
+
+	[cff] Next try to fix `hintmask' and `cntrmask' limit check.
+
+	Problem reported by malc <[email protected]>.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_hintmask>: It is possible that there is just a single byte
+	after the `hintmask' or `cntrmask', e.g., a `return' instruction.
+
+2010-07-04  suzuki toshiya  <[email protected]>
+
+	Restrict the number of the charmaps in a rogue-compatible mode.
+	Fix for Savannah bug #30059.
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the
+	minimum character code passed by a legacy rogue client by...
+	* include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE):
+	This.  It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is
+	undefined (thus the rogue client compatibility is not required).
+
+	* src/cff/cffobjs.c (cff_face_init): Abort the automatic
+	selection or synthesis of Unicode cmap subtable when the charmap
+	index exceeds FT_MAX_CHARMAP_CACHEABLE.
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message
+	when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE.
+
+	* src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap
+	is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search
+	earlier one.
+	(find_variant_selector_charmap): When UVS charmap is found after
+	FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one.
+	(FT_Select_Charmap): When a charmap matching with requested
+	encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
+	earlier one.
+	(FT_Set_Charmap): When a charmap matching with requested
+	charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
+	earlier one.
+	(FT_Get_Charmap_Index): When a requested charmap is found
+	after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap
+	index.
+
+2010-07-04  Werner Lemberg  <[email protected]>
+
+	TrueType hinting is no longer patented.
+
+	* include/freetype/config/ftoption.h, devel/ftoption.h
+	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Define.
+	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Undefine.
+
+	* docs/CHANGES, docs/INSTALL, include/freetype/freetype.h: Updated.
+	* docs/TRUETYPE, docs/PATENTS: Removed.
+
+2010-07-04  suzuki toshiya  <[email protected]>
+
+	Check error value by `FT_CMap_New'.
+
+	* src/cff/cffobjs.c (cff_face_init): Check error value by
+	`FT_CMap_New'.
+	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
+	* src/type1/t1objs.c (T1_Face_Init): Ditto.
+	* src/type42/t42objs.c (T42_Face_Init): Ditto.
+
+2010-07-03  Werner Lemberg  <[email protected]>
+
+	Make ftgrays.c compile stand-alone again.
+
+	* src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'.
+	(FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define.
+
+2010-07-02  suzuki toshiya  <[email protected]>
+
+	Additional fix for Savannah bug #30306.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): If the type of the
+	POST fragment is 0, the segment is completely ignored.  The declared
+	length of the segment is not cared at all.  According to Adobe
+	Technical Note 5040, type 0 segment is a comment only and should not
+	be loaded for the interpreter.  Reported by Robert Święcki.
+
+2010-07-01  Werner Lemberg  <[email protected]>
+
+	[truetype] Protect against code range underflow.
+
+	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow
+	negative IP values.
+
+2010-07-01  Werner Lemberg  <[email protected]>
+
+	[truetype] Add rudimentary tracing for bytecode instructions.
+
+	* src/truetype/ttinterp.c (opcode_name) [FT_DEBUG_LEVEL_TRACE]: New
+	array.
+	(TT_RunIns): Trace opcodes.
+
+2010-06-30  Werner Lemberg  <[email protected]>
+
+	[smooth] Fix Savannah bug #30263.
+
+	* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned
+	int' to avoid integer overflow.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller
+	threshold values for `width' and `height'.  This is not directly
+	related to the bug fix but makes sense anyway.
+
+2010-07-01  suzuki toshiya  <[email protected]>
+
+	Initial fix for Savannah bug #30306.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check `rlen', the
+	length of fragment declared in the POST fragment header, and prevent
+	an underflow in length calculation.  Some fonts set the length to
+	zero in spite of the existence of a following 16bit `type'.
+	Reported by Robert Święcki.
+
+2010-07-01  suzuki toshiya  <[email protected]>
+
+	Additional fix for Savannah bug #30248 and #30249.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the buffer size
+	during gathering PFB fragments embedded in LaserWriter PS font for
+	Macintosh.  Reported by Robert Święcki.
+
+2010-06-30  Alexei Podtelezhnikov  <[email protected]>
+
+	Minor optimizations by avoiding divisions.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning):
+	Replace divisions with multiplication in comparisons.
+
+2010-06-29  Werner Lemberg  <[email protected]>
+
+	Fix minor tracing issues.
+
+	* src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels.
+
+2010-06-27  Werner Lemberg  <[email protected]>
+
+	[cff] Really fix `hintmask' and `cntrmask' limit check.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_hintmask>: Fix thinko and handle tracing also.
+
+2010-06-27  Werner Lemberg  <[email protected]>
+
+	Fix valgrind warning.
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize
+	`result' array.
+
+2010-06-27  Werner Lemberg  <[email protected]>
+
+	[cff] Fix memory leak.
+
+	* src/cff/cffgload.c (cff_operator_seac): Free charstrings even in
+	case of errors.
+
+2010-06-27  Werner Lemberg  <[email protected]>
+
+	[cff] Protect against invalid `hintmask' and `cntrmask' operators.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_hintmask>: Ensure that we don't exceed `limit' while parsing
+	the bit masks of the `hintmask' and `cntrmask' operators.
+
+2010-06-26  Werner Lemberg  <[email protected]>
+
+	Fix PFR change 2010-06-24.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Really protect against
+	invalid indices.
+
+2010-06-26  Werner Lemberg  <[email protected]>
+
+	Improve PFR tracing messages.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_rec): Emit tracing messages for
+	simple and compound glyph offsets.
+
+2010-06-26  Werner Lemberg  <[email protected]>
+
+	Fix last PFR change.
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Fix rejection logic.
+
+2010-06-26  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #30262.
+
+	* src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth'
+	arbitrarily to 100 to avoid stack exhaustion.
+
+2010-06-26  Werner Lemberg  <[email protected]>
+
+	Add some memory checks (mainly for debugging).
+
+	* src/base/ftstream.c (FT_Stream_EnterFrame): Exit with error
+	if the frame size is larger than the stream size.
+
+	* src/base/ftsystem.c (ft_ansi_stream_io): Exit with error if
+	seeking a position larger than the stream size.
+
+2010-06-25  Werner Lemberg  <[email protected]>
+
+	[pfr] Fix Savannah bug #30261.
+
+	* src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain
+	neither outline nor bitmap glyphs.
+
+2010-06-25  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #30254.
+
+	* src/cff/cffload.c (cff_index_get_pointers): Do sanity check for
+	first offset also.
+
+2010-06-25  suzuki toshiya  <[email protected]>
+
+	Initial fix for Savannah bug #30248 and #30249.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the error during
+	reading a PFB fragment embedded in LaserWriter PS font for Macintosh.
+	Reported by Robert Święcki.
+
+2010-06-24  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix Savannah bug #30247.
+
+	* src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with
+	zero metrics.
+
+2010-06-24  Graham Asher  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm.
+	The previous version was too aggressive, as demonstrated in
+	https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
+
+2010-06-24  Werner Lemberg  <[email protected]>
+
+	*/*: Use module specific error names where appropriate.
+
+2010-06-24  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #30236.
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer
+	to `cmap_table'.
+
+2010-06-24  Werner Lemberg  <[email protected]>
+
+	[pfr] Fix Savannah bug #30235.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Protect against
+	invalid indices if there aren't any coordinates for indexing.
+
+2010-06-24  Werner Lemberg  <[email protected]>
+
+	[bdf]: Font properties are optional.
+
+	* src/bdf/bdflib.c (_bdf_readstream): Use special error code to
+	indicate a redo operation.
+	(_bdf_parse_start): Handle `CHARS' keyword here too and pass current
+	input line to `_bdf_parse_glyph'.
+
+2010-06-23  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #30220.
+
+	* include/freetype/fterrdef.h
+	(BDF_Err_Missing_Fontboundingbox_Field): New error code.
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Check for missing
+	`FONTBOUNDINGBOX' field.
+	Avoid memory leak if there are multiple `FONT' lines (which is
+	invalid but doesn't hurt).
+
+2010-06-21  Werner Lemberg  <[email protected]>
+
+	[pfr] Fix Savannah bug #30168.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of
+	subglyphs to avoid endless recursion.
+
+2010-06-20  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix Savannah bug #30145.
+
+	* src/psaux/psobjs.c (t1_builder_add_contour): Protect against
+	`outline == NULL' which might happen in invalid fonts.
+
+2010-06-19  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #30135.
+
+	* src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static
+	string `empty'.
+	(_bdf_parse_glyph): Avoid memory leak in case of error.
+
+2010-06-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix Savannah bug #30108.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
+	Properly mask AF_DIGIT bit in comparison.
+
+2010-06-11  Werner Lemberg  <[email protected]>
+
+	[pshinter] Fix Savannah bug #30106.
+
+	Point numbers for FreeType's implementation of hinting masks are
+	collected before the final number of points of a glyph has been
+	determined; in particular, the code for handling the `endchar'
+	opcode can reduce the number of points.
+
+	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Assure that
+	`end_point' is not larger than `glyph->num_points'.
+
+2010-06-11  Werner Lemberg  <[email protected]>
+
+	[cff]: Improve debugging output.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_hintmask>: Implement it.
+
+2010-06-10  Graham Asher  <[email protected]>
+
+	ftgrays: Speed up rendering of small cubic splines.
+
+	* src/smooth/ftgrays.c (gray_render_cubic): Implement new,
+	simplified algorithm to find out whether the spline can be replaced
+	with two straight lines.  See this thread for more:
+
+	  https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
+
+2010-06-09  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #30082.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_callothersubr>: Protect against stack underflow.
+
+2010-06-08  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #30053.
+
+	* src/cff/cffparse.c (cff_parse_real): Handle border case where
+	`fraction_length' has value 10.
+
+2010-06-07  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #30052.
+	This bug has been introduced with commit 2415cbf3.
+
+	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect
+	against endless loop in case of corrupted font header data.
+
+2010-05-26  Werner Lemberg  <[email protected]>
+
+	Remove unused variable.
+	Found by Graham.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Remove unused
+	variable `first' in first block.
+
+2010-05-22  Werner Lemberg  <[email protected]>
+
+	Fix various memory problems found by linuxtesting.org.
+
+	* src/base/ftgxval.c (FT_TrueTypeGX_Free, FT_ClassicKern_Free),
+	src/base/ftotval.c (FT_OpenType_Free), src/base/ftpfr.c
+	(ft_pfr_check): Check `face'.
+
+	* src/base/ftobjs.c (FT_Get_Charmap_Index): Check `charmap' and
+	`charmap->face'.
+	(FT_Render_Glyph): Check `slot->face'.
+	(FT_Get_SubGlyph_Info): Check `glyph->subglyphs'.
+
+2010-05-22  Werner Lemberg  <[email protected]>
+
+	autofit: Remove dead code.
+	Suggested by Graham.
+
+	* src/autofit/afhints.c (af_glyph_hints_compute_inflections):
+	Removed.
+	(af_glyph_hints_reload): Remove third argument.
+	Update all callers.
+
+2010-05-21  Bram Tassyns  <[email protected]>
+
+	[cff] Fix Savannah bug #27987.
+
+	* src/cff/cffobjs.c (remove_subset_prefix): New function.
+	(cff_face_init): Use it to adjust `cffface->family_name'.
+
+2010-05-20  Werner Lemberg  <[email protected]>
+
+	TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'.
+
+	Acroread does the same.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call
+	`Update_Max' to adjust size of instructions array if necessary and
+	add a rough safety check.
+
+	(load_truetype_glyph): Save `loader->byte_len' before recursive
+	call.
+
+	* src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max):
+	Declare it as FT_LOCAL.
+
+2010-05-18  Hongbo Ni  <[email protected]>
+
+	Apply Savannah patch #7196.
+
+	* src/cff/cffgload.c (cff_slot_load): Prevent crash if CFF subfont
+	index is out of range.
+
+2010-05-11  Werner Lemberg  <[email protected]>
+
+	* docs/formats.txt: Give pointer to PCF documentation.
+	Information provided by Alan Coopersmith
+	<[email protected]>.
+
+2010-05-10  Ken Sharp  <[email protected]>
+
+	[psaux] Fix Savannah bug #29846.
+
+	Previously we discovered fonts which used `setcurrentpoint' to set
+	the initial point of a contour to 0,0.  This caused FreeType to
+	raise an error, because the `setcurrentpoint' operator is only
+	supposed to be used with the results from an OtherSubr subroutine.
+
+	This was fixed by simply ignoring the error and carrying on.
+
+	Now we have found a font which uses setcurrentpoint to actually
+	establish a non-zero point for a contour during the course of a
+	glyph program.  FWIW, these files may be produced by an application
+	called `Intaglio' on the Mac, when converting TrueType fonts to
+	Type 1.
+
+	The fix allows the new invalid behaviour, the old invalid behaviour
+	and real proper usage of the operator to work the same way as Adobe
+	interpreters apparently do.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make
+	`setcurrentpoint' use the top two elements of the stack to establish
+	unconditionally the current x and y coordinates.
+
+	Make the `flex' subroutine handling (OtherSubr 0) put the current
+	x,y coordinates onto the stack, instead of two dummy uninitialised
+	values.
+
+2010-04-14  Ken Sharp  <[email protected]>
+
+	[psaux] Fix Savannah bug #29444.
+
+	* src/psaux/psobjs.c (t1_builder_start_point): Accept (invalid)
+	`lineto' immediately after `hsbw', in accordance with Acrobat, GS,
+	and others.
+
+2010-04-14  Michał Cichoń  <[email protected]>
+
+	[psaux] Fix Savannah bug #27999.
+
+	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): Only remove
+	selected entry, not all.
+
+2010-04-06  Jonathan Kew  <[email protected]>
+
+	[truetype] Add overflow check to `fvar' table.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis and instance
+	count.
+
+2010-04-05  Ken Sharp  <[email protected]>
+
+	[raster] Fix Savannah bug #29335.
+
+	* src/raster/ftraster.c (Line_Up): Use slow multiplication to
+	prevent overflow.  This shouldn't have any serious impact on speed,
+	however.
+
+2010-04-05  Werner Lemberg  <[email protected]>
+
+	Add new function `FT_Library_SetLcdFilterWeights'.
+
+	This is based on code written by Lifter
+	<https://unixforum.org/index.php?showuser=11691>.  It fixes
+	FreeDesktop bug #27386.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): New
+	function.
+
+	* include/freetype/ftlcdfil.h: Updated.
+
+	* docs/CHANGES: Updated.
+
+2010-04-01  John Tytgat  <[email protected]>
+
+	[truetype] Fix Savannah bug #29404.
+
+	* src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1
+	of `head' table of TrueType fonts).
+
+2010-03-14  suzuki toshiya  <[email protected]>
+
+	Fix `multi build' for Tytgat's CFF driver improvement.
+
+	* src/base/cffload.h (cff_index_get_name): Added.
+
+2010-03-12  suzuki toshiya  <[email protected]>
+
+	Remove duplicated inclusion of `FT_OUTLINE_H' in ftobjs.c.
+
+	* src/base/ftobjs.c: Remove 2nd inclusion of `FT_OUTLINE_H'.
+
+2010-03-11  Chris Liddell  <[email protected]>
+
+	[raster] Fix Savannah bug #27442.
+
+	* src/raster/ftraster.c (ft_black_reset): Fix `buffer_size'.
+
+2010-03-09  Werner Lemberg  <[email protected]>
+
+	[cff] Remove unused variable.
+	Reported by Graham.
+
+	* src/cff/cffparse.c (cff_parse_real): Remove `rest'.
+
+2010-03-02  John Tytgat  <[email protected]>
+
+	[cff] Improve CFF string (especially glyphname) lookup performance.
+
+	We do this by avoiding memory allocation and file I/O.  This is
+	Savannah patch #7104.
+
+	* src/cff/cfftypes.h: Include PS cmaps service and
+	FT_INTERNAL_POSTSCRIPT_HINTS_H.
+	(CFF_SubFontRec): Remove `num_local_subrs'.
+	(CFF_FontRec): Add `num_strings', `strings', and `string_pool'
+	fields.
+	Remove `string_index' and `num_global_subrs' fields.
+	Use real types instead of `void' for `pshinter' and `psnames' fields.
+
+	* src/cff/cffload.c: Don't include PS cmaps service.
+	(cff_index_get_pointers): Add `pool' parameter which allows inserting
+	an extra NUL character for each String INDEX entry.
+	(cff_index_get_name): Make it a local function.
+	(cff_index_get_string): New function.
+	(cff_subfont_load): Updated.
+	(cff_font_load): Initialize `num_strings', `strings', and
+	`string_pool' fields in the `CFF_FontRec' structure.
+	(cff_index_get_sid_string): Use `cff_index_get_string' instead of
+	`cff_index_get_name'.
+	(cff_font_done): Updated.
+
+	* src/cff/cffload.h: Don't include PS cmaps service.
+	(cff_index_get_string): Added.
+	(cff_index_get_sid_string): Updated.
+
+	* src/cff/cffobjs.c: Don't include PS cmaps service and
+	FT_INTERNAL_POSTSCRIPT_HINTS_H.
+	(cff_size_get_globals_funcs, cff_slot_init): Updated.
+	(cff_face_init): Follow `cff_index_get_name',
+	`cff_index_get_string', and `cff_index_get_sid_string' changes.
+
+	* src/cff/cffcmap.c (cff_sid_free_glyph_name): Removed.
+	(cff_sid_to_glyph_name): Use `cff_index_get_cid_string'.
+	(cff_cmap_unicode_init): Updated.
+
+	* src/cff/cffdrivr.c: Don't include PS cmap service.
+	(cff_get_glyph_name): Avoid unnecessary lookup for POSTSCRIPT_CMAPS
+	service.
+	(cff_get_glyph_name, cff_ps_get_font_info, cff_get_ros): Follow API
+	`cff_index_get_sid_string' change.
+	(cff_get_name_index): Use `cff_index_get_string' instead of
+	`cff_index_get_name'.
+
+	* src/cff/cffgload.c: Don't include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+	(cff_decoder_init, cff_decoder_prepare): Updated.
+
+2010-02-27  Werner Lemberg  <[email protected]>
+
+	Simplify code.
+	Suggested by Behdad.
+
+	* src/base/ftobjs.c (FT_Get_First_Char): Don't use a loop since we
+	call FT_Get_Next_Char anyway if necessary.
+
+2010-02-26  Behdad Esfahbod  <[email protected]>
+
+	Improve handling of invalid glyph indices in char->index functions.
+
+	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Use a
+	loop.
+
+2010-02-18  Chris Liddell  <[email protected]>
+
+	[truetype] Fix Savannah bug #28905.
+
+	Initialize phantom points before calling the incremental interface
+	to update glyph metrics.
+
+	* src/truetype/ttgload.c (tt_get_metrics_incr_overrides)
+	[FT_CONFIG_OPTION_INCREMENTAL]: New function, split off from...
+	(tt_get_metrics): This.
+	Updated.
+	(load_truetype_glyph): Use tt_get_metrics_incr_overrides.
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2010-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.25
@@ -1,0 +1,5161 @@
+2014-12-30  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.5 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-5'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.5.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.4/2.5.5/, s/254/255/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+	* builds/unix/configure.raw (version_info): Set to 17:4:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 5.
+	* docs/CHANGES: Updated.
+
+	* builds/toplevel.mk (dist): Fix typos.
+
+2014-12-24  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Formatting and nanooptimizations.
+
+	* src/base/ftcalc.c,
+	* src/base/fttrigon.c: Revise sign restoration.
+
+2014-12-13  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08.
+
+2014-12-11  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (dist): Use older POSIX standard for `tar'.
+
+	Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
+	(contrary to GNU tar), so force the POSIX-1.1988 format.
+
+	Problem reported by Stephen Fisher <[email protected]>.
+
+2014-12-11  Werner Lemberg  <[email protected]>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Reject invalid TTF size.
+
+2014-12-11  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix off-by-one check.
+
+	Problem reported by Dennis Felsing <[email protected]>.
+
+2014-12-11  Werner Lemberg  <[email protected]>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size'.
+
+	Problem reported by Dennis Felsing <[email protected]>.
+
+2014-12-09  suzuki toshiya  <[email protected]>
+
+	[gxvalid] Fix a naming convention conflicting with ftvalid.
+
+	See previous changeset for otvalid.
+
+	* src/gxvalid/{gxvcommn.h, gxvmort.h, gxvmorx.h}: Replace
+	`valid' by `gxvalid'.
+	* src/gxvalid/{gxvbsln.c, gxvcommn.c, gxvfeat.c, gxvjust.c,
+	gxvkern.c, gxvlcar.c, gxvmort.c, gxvmort0.c, gxvmort1.c,
+	gxvmort2.c, gxvmort4.c, gxvmort5.c, gxvmorx.c, gxvmorx0.c,
+	gxvmorx1.c, gxvmorx2.c, gxvmorx4.c, gxvmorx5.c, gxvopbd.c,
+	gxvprop.c, gxvtrak.c}: Replace `valid' by `gxvalid' if
+	it is typed as GXV_Validator.
+
+2014-12-09  suzuki toshiya  <[email protected]>
+
+	[otvalid] Fix a naming convention conflicting with ftvalid.
+
+	Some prototypes in ftvalid.h use `valid' for the variables
+	typed as FT_Validator.  Their implementations in src/base/
+	ftobjs.c and utilizations in src/sfnt/ttcmap.c do similar.
+
+	Some macros in otvcommn.h assume the exist of the variable
+	`valid' typed as OTV_Validator in the caller.
+
+	Mixing these two conventions cause invalid pointer conversion
+	and unexpected SEGV in longjmp.  To prevent it, all variables
+	typed as OTV_Validator are renamed to `otvalid'.
+
+	* src/otvalid/otvcommn.h: Replace `valid' by `otvalid'.
+	* src/otvalid/{otvcommn.c, otvbase.c, otvgdef.c, otvgpos.c,
+	otvgsub.c, otvjstf.c, otvmath.c}: Replace `valid' by `otvalid'
+	if it is typed as OTV_Validator.
+
+2014-12-09  suzuki toshiya  <[email protected]>
+
+	[ftvalid] Introduce FT_THROW() in FT_INVALID_XXX macros.
+
+	Original patch is designed by Werner Lemberg.  Extra part
+	for otvalid and gxvalid are added by suzuki toshiya, see
+	discussion:
+	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00002.html
+	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00007.html
+
+	* include/internal/ftvalid.h: Introduce FT_THROW() in FT_INVALID_().
+	* src/gxvalid/gxvcommn.h: Ditto.
+	* src/otvalid/otvcommn.h: Ditto.
+
+2014-12-08  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix Savannah bug #43774.
+
+	Work around `features' of X11's `pcfWriteFont' and `pcfReadFont'
+	functions.  Since the PCF format doesn't have an official
+	specification, we have to exactly follow these functions' behaviour.
+
+	The problem was unveiled with a patch from 2014-11-06, fixing issue
+	#43547.
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Don't check table size for last
+	element.  Instead, assign real size.
+
+2014-12-07  Werner Lemberg  <[email protected]>
+
+	Work around a bug in Borland's C++ compiler.
+
+	See
+
+	  http://qc.embarcadero.com/wc/qcmain.aspx?d=118998
+
+	for Borland's bug tracker entry.
+
+	Reported by Yuliana Zigangirova <[email protected]>,
+	https://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.
+
+	* include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
+	(gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
+
+2014-12-07  Werner Lemberg  <[email protected]>
+
+	*/*: Decorate hex constants with `U' and `L' where appropriate.
+
+2014-12-07  Werner Lemberg  <[email protected]>
+
+	[truetype] Prevent memory leak for buggy fonts.
+
+	* src/truetype/ttobjs.c (tt_size_done): Unconditionally call
+	`tt_size_done_bytecode'.
+
+2014-12-06  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.4 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-4'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.4.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.3/2.5.4/, s/253/254/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+	* builds/unix/configure.raw (version_info): Set to 17:3:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 4.
+	* docs/CHANGES: Updated.
+
+2014-12-04  Werner Lemberg  <[email protected]>
+
+	docs/CHANGES: Updated, formatted.
+
+2014-12-04  Dave Arnold  <[email protected]>
+
+	[cff] Modify an FT_ASSERT.
+
+	* src/cff/cf2hints.c (cf2_hintmap_map): After the fix for Savannah
+	bug #43661, the test font `...aspartam.otf' still triggers an
+	FT_ASSERT.  Since hintmap still works with count==0, ...
+	(cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): ... add that term to
+	suppress the assert.
+
+2014-12-04  Dave Arnold  <[email protected]>
+
+	[cff] Fix Savannah bug #43661.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
+	cf2_cmdVSTEM, cf2_cmdHINTMASK>: Don't append to stem arrays after
+	hintmask is constructed.
+
+	* src/cff/cf2hints.c (cf2_hintmap_build): Add defensive code to
+	avoid reading past end of hintmask.
+
+2014-12-03  Werner Lemberg  <[email protected]>
+
+	docs/CHANGES: Updated.
+
+2014-12-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Better fix for conversion specifiers in debug messages.
+
+	Using `%ld' for pointer differences causes warnings on 32bit
+	platforms.  The correct type would be (the relatively new) `%td',
+	however, this is missing on some important platforms.
+
+	This patch improves the change from 2014-11-28.
+
+	* src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast.  Our
+	pointer differences are always sufficiently small.
+	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'.
+
+2014-12-03  Werner Lemberg  <[email protected]>
+
+	FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality.
+
+	All public FreeType enumeration and flag values are uppercase...
+
+	* include/tttables.h (FT_Sfnt_Tag): Implement it.  For backward
+	compatibility, retain the old values as macros.
+
+	* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c
+	(get_sfnt_table): Updated.
+
+2014-12-02  Werner Lemberg  <[email protected]>
+
+	* include/*: Improve structure of documentation.
+
+	. Add and update many `<Order>' tags.
+	. Apply various documentation fixes.
+	. Remove details to deprecated (or never implemented) data.
+
+2014-12-02  Werner Lemberg  <[email protected]>
+
+	[docmaker] Always handle `<Order>' section elements.
+
+	Previously, those elements were handled only for sections present in
+	a `<Sections>' chapter element.
+
+	* src/tools/docmaker/content.py (ContentProcessor::finish):
+	Implement it.
+
+2014-12-02  Werner Lemberg  <[email protected]>
+
+	[docmaker] Properly handle empty rows in Synopsis.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
+	`&nbsp;' for empty fields.
+
+2014-12-02  Werner Lemberg  <[email protected]>
+
+	[docmaker] Thinko.
+
+	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
+	Emit `/empty/' string for first element also.
+
+2014-12-02  Werner Lemberg  <[email protected]>
+
+	[docmaker] Honour empty lines in `<Order>' section element.
+
+	This greatly improves the readability of the `Synopsis' links.
+
+	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
+	Insert string `/empty/' between items.
+
+	* src/tools/docmaker/formatter.py (Formatter::section_dump): Make it
+	robust against nonexistent keys.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
+	empty <td> elements for `/empty/'.
+
+2014-12-02  Werner Lemberg  <[email protected]>
+
+	[docmaker] Ensure Python 3 compatibility.
+
+	* src/tools/docmaker/content.py (ContentProcessor::set_section,
+	ContentProcessor::finish): Replace `has_key' function with `in'
+	keyword.
+
+	* src/tools/docmaker/formatter.py (Formatter::__init__): Replace
+	sorting function with a key generator.
+	(Formatter::add_identifier): Replace `has_key' function with `in'
+	keyword.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote):
+	Replace `has_key' function with `in' keyword.
+	(HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use
+	integer division.
+	s/<>/>/.
+
+	* src/tools/docmaker/utils.py: Import `itertools'.
+	(index_sort): Replaced by...
+	(index_key): ... this new key generator (doing exactly the same).
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Don't output a block multiple times.
+
+	This bug was hidden by not processing all lines of `<Order>' blocks.
+
+	* src/tools/docmaker/formatter.py (Formatter::section_dump): Filter
+	out field names.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Use field values as HTML link targets where possible.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url):
+	Accept second, optional argument to specify a name.
+	(HtmlFormatter::html_source_quote): Link to field ID if possible.
+	(HtmlFormatter::print_html_field_list): Emit `id' attribute.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Allow empty lines in `<Order>' blocks.
+
+	Before this patch, the suggested order of entries stopped at the
+	first empty line.
+
+	Obviously, nobody noticed that this problem caused a much reduced
+	set of links in the `Synopsis' sections; in particular, the
+	`<Order>' blocks contain a lot of entries that wouldn't be listed
+	otherwise...
+
+	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
+	New function to iterate over all items.
+	(DocSection::process): Use it.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp.
+
+	After the single asterisk there must be no other immediately following
+	asterisk.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Improve HTML code for table of contents.
+
+	* src/tools/docmaker/tohtml.py: Introduce a new table class `toc',
+	together with proper CSS.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Provide higher-level markup and simplify HTML.
+
+	* src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>'
+	elements, use CSS descendants (of class `section') to format the
+	data.
+
+	Also remove redundant <p> and <br> elements, replacing them with
+	proper CSS.
+
+	Globally reduce page width to 75%.
+
+	(block_header): Rename <div> class to `section'.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	[docmaker] Add `top' links after blocks.
+
+	* src/tools/docmaker/tohtml.py (block_footer_middle): Implement it.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Improve CSS for fields.
+
+	Make fields align horizontally relative to full line width.
+
+2014-11-29  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Fix index and TOC templates.
+
+	This thinko was introduced 2014-11-27.
+
+2014-11-28  Werner Lemberg  <[email protected]>
+
+	[docmaker] Format field lists with CSS.
+
+	This also simplifies the inserted HTML code.
+
+	* src/tools/docmaker/tohtml.py
+	(HtmlFormatter::print_html_field_list): Do it.
+
+2014-11-28  suzuki toshiya  <[email protected]>
+
+	Fix compiler warning to the comparison between signed and
+	unsigned variable.
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix the comparison
+	between `ypos + ysize' and FT_INT_{MAX,MIN}.
+
+2014-11-28  Werner Lemberg  <[email protected]>
+
+	[docmaker] Replace empty `<td>' with CSS.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do
+	it.
+
+2014-11-28  Werner Lemberg  <[email protected]>
+
+	[docmaker] Replace some `<table>' tags with `<h4>' and `<div>'.
+
+	* src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'.
+	(source_*): Use `<div>'.
+	(HtmlFormatter::block_enter): s/<h4>/<h3>/.
+
+2014-11-28  suzuki toshiya  <[email protected]>
+
+	Fix compiler warning to conversion specifiers in debug messages.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Add length
+	modifier to dump long integers.
+	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Ditto.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Use more CSS for index.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	[docmaker] Replace `name' attribute of `<a>' with `id'.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Remove remaining `width' attributes.
+
+	For `Index' and `TOC' links, we now simply use the `text-align' CSS
+	property of `<td>' to enforce flush-left and flush-right,
+	eliminating the hack with an empty, full-width `<td>' element
+	inbetween.
+
+	The change also enforces the same (smaller) size for all index and
+	TOC links.
+
+2014-11-27  suzuki toshiya  <[email protected]>
+
+	* src/cff/cf2font.c: Include `ftcalc.h' to use FT_MSB(),
+	cf2font.c could not find it under `make multi' build.
+
+2014-11-27  suzuki toshiya  <[email protected]>
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove
+	unrequired negative value check for `width' and `height'.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: More HTML table refactoring.
+
+	Replace some `<table>' tags with `<div>' to simplify structure.
+
+	Move `bgcolor' attribute to CSS.
+
+	Replace most `width' attributes with CSS.  The remaining instances
+	(providing a similar effect as LaTeX's `\hfill' command) are removed
+	in a later patch.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Replace <font> with CSS.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Center <table> with CSS.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Replace `<center>' with `<div>'.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/tohtml.py: Remove redundant `<center>' tags.
+
+	This starts a series of commits into the direction of generating
+	valid HTML 5 code, especially using much more CSS.
+
+2014-11-27  suzuki toshiya  <[email protected]>
+
+	Prevent too negative values (< FT_INT_MIN) in bitmap metrics,
+	suggested by Alexei.
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Prevent too
+	negative values in `xpos' and `ypos + ysize'.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Prevent
+	too negative values in `x_left' and `y_top'.  Either negative
+	values in `width' and `height' are checked.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	[docmaker] Produce better HTML code.
+
+	* src/tools/docmaker/tohtml.py: Always use double quotes for
+	attribute values.
+	(source_footer): Close `td' and `tr' groups.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	Use better way to disable creation of .pyc files for `make refdoc'.
+
+	Python 2.6 was released in 2008...
+
+	* builds/freetype.mk (refdoc): Use python's `-B' option.
+
+	* builds/detect.mk (std_setup, dos_setup): Mention required python
+	version for `refdoc' target.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/sources.py (re_bold, re_italic): Use
+	non-grouping parentheses.
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word):
+	Updated.
+
+2014-11-27  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning.
+
+	Introduced in previous change.  Reported by Alexei.
+
+2014-11-26  Werner Lemberg  <[email protected]>
+
+	* src/*: Add checks for parameters of API functions where missing.
+
+	`API functions' are functions tagged with `FT_EXPORT_DEF'.
+
+	Besides trivial fixes, the following changes are included, too.
+
+	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
+	error code if no service is available.
+
+	* src/base/ftinit.c (FT_Done_FreeType): Change return value for
+	invalid `library' parameter to `Invalid_Library_Handle'.
+
+	* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
+	`asize' parameter to `Invalid_Argument'.
+
+	* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
+	invalid `source' and `target' parameters to `Invalid_Outline'.
+	(FT_Outline_Done_Internal): Change return value for invalid
+	`outline' parameter to `Invalid_Outline'.
+
+2014-11-26  Werner Lemberg  <[email protected]>
+
+	* src/cache/ftcbasic.c: Use single calls to `FT_TRACE'.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Additional
+	overflow check in the summation of POST fragment lengths,
+	suggested by Mateusz Jurczyk <[email protected]>.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments
+	and fold too long tracing messages.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #43540.
+
+	* src/base/ftmac.c (parse_fond): Prevent a buffer overrun
+	caused by a font including too many (> 63) strings to store
+	names[] table.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long
+	variables to read the lengths in POST fragments.  Suggested by
+	Mateusz Jurczyk <[email protected]>.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #43539.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
+	by a broken POST table in resource-fork.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #43538.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
+	by a broken POST table in resource-fork.
+
+2014-11-26  suzuki toshiya  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak
+	by a broken POST table in resource-fork.  Return after freeing
+	the buffered POST table when it is found to be broken.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	*/*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	*/*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	*/*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	*/*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	[Savannah bug #43682] Adjust some renderer callbacks.
+
+	* src/raster/ftraster.c (ft_black_set_mode): Change return type to
+	`int' to stay in sync with `FT_Renderer_SetModeFunc' prototype.
+
+	* src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function
+	for orthogonality.
+	(ft_grays_raster): Use it.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	[Savannah bug #43682] Properly handle missing return errors.
+
+	The functions in this patch *do* return non-trivial errors that must
+	be taken care of.
+
+	* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
+	(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
+	src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
+	src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
+	(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
+	(load_truetype_glyph <subglyph loop>, tt_loader_init,
+	TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
+	src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	[Savannah bug #43682] Add/remove `void' casts to some functions.
+
+	We use a cast to indicate that we intentionally ignore a function's
+	return value.  However, this doesn't apply to API functions where
+	errors can only happen for trivially invalid input.
+
+	* src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder),
+	src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c
+	(cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning),
+	src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
+	(t42_parse_encoding): Do it.
+
+2014-11-25  Werner Lemberg  <[email protected]>
+
+	[Savannah bug #43682] Change some signatures to `void' return type.
+
+	* include/internal/pshints.h (PSH_Globals_SetScaleFunc),
+	include/internal/sfnt.h (TT_Get_Metrics_Func),
+	src/pshinter/pshglob.c (psh_globals_set_scale),
+	src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c
+	(tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange,
+	TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context,
+	TT_Save_Context): Do it.
+
+	* src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h,
+	src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c
+	(TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c
+	(tt_size_run_fpgm, tt_size_run_prep): Updated.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	Remove all code related to FT_MAX_CHARMAP_CACHEABLE.
+
+	This is no longer used.
+
+	* src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c,
+	src/sfnt/ttcmap.c: Do it.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43680.
+
+	This adds an additional constraint to make the fix from 2013-01-25
+	really work.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image) <index_format==4>:
+	Check `p' before `num_glyphs'.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix Savannah bug #43679.
+
+	* src/truetype/ttpload.c (tt_face_load_hdmx): Check minimum size of
+	`record_size'.
+
+2014-11-24  Jarkko Pöyry  <[email protected]>
+
+	[cff, pfr, psaux, winfonts] Fix Savannah bug #43676.
+
+	Don't cast cmap init function pointers to an incompatible type.
+
+	Without this patch, the number of parameters between declaration and
+	the real signature differs.  Calling such a function results in
+	undefined behavior.
+
+	  ISO/IEC 9899:TC3 (Committee Draft September 7, 2007)
+	    6.5.2.2 Function calls
+	      9 If the function is defined with a type that is not
+	        compatible with the type (of the expression) pointed to by
+	        the expression that denotes the called function, the
+	        behavior is undefined.
+
+	On certain platforms (c -> js with emscripten) this causes
+	termination of execution or invalid calls because in the emscripten
+	implementation, function pointers of different types are stored in
+	different pointer arrays.  Incorrect pointer type here results in
+	indexing of an incorrect array.
+
+	* src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_unicode_init),
+	src/pfr/pfrcmap.c (pfr_cmap_init), src/psaux/t1cmap.c
+	t1_cmap_standard_init, t1_cmap_expert_init, t1_cmap_custom_init,
+	t1_cmap_unicode_init), src/winfonts/winfnt.c (fnt_cmap_init): Fix
+	signature.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43672.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Use correct value for
+	minimum table length test.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	[type1, type42] Another fix for Savannah bug #43655.
+
+	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
+	(t42_parse_charstrings): Add another boundary testing.
+
+2014-11-24  Werner Lemberg  <[email protected]>
+
+	[docmaker] Formatting, copyright, improved documentation.
+
+	* src/tools/docmaker/*: No code changes besides trivial
+	modifications.
+
+2014-11-22  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #43660.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
+	`_BDF_GLYPH_BITS'.
+
+2014-11-22  Werner Lemberg  <[email protected]>
+
+	[type42] Allow only embedded TrueType fonts.
+
+	This is a follow-up to Savannah bug #43659.
+
+	* src/type42/t42objs.c (T42_Face_Init): Exclusively use the
+	`truetype' font driver for loading the font contained in the `sfnts'
+	array.
+
+2014-11-22  Werner Lemberg  <[email protected]>
+
+	[type42] Fix Savannah bug #43659.
+
+	* src/type42/t42objs.c (T42_Open_Face): Initialize `face->ttf_size'.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Always set
+	`face->ttf_size' directly.  This ensures a correct stream size in
+	the call to `FT_Open_Face', which follows after parsing, even for
+	buggy input data.
+	Fix error messages.
+
+2014-11-22  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #43658.
+
+	* src/cff/cf2ft.c (cf2_builder_lineTo, cf2_builder_cubeTo): Handle
+	return values of point allocation routines.
+
+2014-11-22  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43656.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_validate): Fix order of validity
+	tests.
+
+2014-11-21  Werner Lemberg  <[email protected]>
+
+	[type1, type42] Fix Savannah bug #43655.
+
+	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
+	(t42_parse_charstrings): Fix boundary testing.
+
+2014-11-21  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_get_metrics): Sanitize invalid metrics.
+
+2014-11-21  Werner Lemberg  <[email protected]>
+
+	[ftlcdfil] Obey flow direction.
+
+	* src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Handle `up' flow.
+
+2014-11-21  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Improve.
+
+	This commit completes argument checks and adds support for different
+	flow directions.
+
+2014-11-21  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Copy): Improve.
+
+	This commit adds argument checks and support for different flow
+	directions.
+
+2014-11-20  Werner Lemberg  <[email protected]>
+
+	* src/base/ftbitmap.c (FT_Bitmap_New): Check argument.
+
+2014-11-19  Werner Lemberg  <[email protected]>
+
+	Change some fields in `FT_Bitmap' to unsigned type.
+
+	This doesn't break ABI.
+
+	* include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays',
+	`pixel_mode', and `palette_mode' unsigned types.
+
+	* src/base/ftbitmap.c: Updated.
+	(FT_Bitmap_Copy): Fix casts.
+
+	* src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c:
+	Updated.
+
+2014-11-19  Werner Lemberg  <[email protected]>
+
+	Make `FT_Bitmap_Convert' correctly handle negative `pitch' values.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value
+	for the pitch while copying data.
+	Correctly set pitch sign in target bitmap.
+
+2014-11-19  Werner Lemberg  <[email protected]>
+
+	Minor code improvement in `FT_Bitmap_Embolden'.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>:
+	Fix thinko.
+
+2014-11-19  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table.
+
+2014-11-19  Behdad Esfahbod  <[email protected]>
+
+	Avoid compiler warnings on x86-64 for `FT_MulFix'.
+
+	`FT_MulFix' takes `FT_Long' parameters as defined in `freetype.h',
+	but several inline implementations of it in `ftcalc.h' take
+	`FT_Int32' arguments.  This is causing compiler warnings on x86-64:
+	If parameters of type `FT_Fixed' (= `FT_Long') are passed to the
+	inline implementation of this function, integer values are truncated
+	from 64bit to 32bit.
+
+	* include/internal/ftcalc.h (FT_MulFix) [FT_MULFIX_ASSEMBLER]: Add
+	casts.
+
+2014-11-15  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43597.
+
+	* src/sfnt/pngshim.c (Load_SBit_Png): Protect against too large
+	bitmaps.
+
+2014-11-12  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43591.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Protect against addition
+	and multiplication overflow.
+
+2014-11-12  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43590.
+
+	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir):
+	Protect against addition overflow.
+
+2014-11-12  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43589.
+
+	* src/sfnt/sfobjs.c (woff_open_font): Protect against addition
+	overflow.
+
+2014-11-12  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43588.
+
+	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
+	tt_cmap12_validate, tt_cmap13_validate, tt_cmap14_validate): Protect
+	against overflow in additions and multiplications.
+
+2014-11-10  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] CORDIC improvements.
+
+	The scaling between the hypotenuse and its CORDIC approximation is
+	based on regression analysis. The smaller padding for `theta' is
+	justified by its maximum error of less than 6.
+
+	* src/base/fttrigon.c (ft_trig_downscale): Borrow code from
+	./ftcalc.c (ft_multo64), change linear intercept.
+	(ft_trig_pseudo_polarize): Decrease `theta' padding.
+
+2014-11-09  Werner Lemberg  <[email protected]>
+
+	* src/base/ftstroke.c (ft_stroker_inside): Fix border intersections.
+
+	One more place to check whether `radius' is zero.
+
+	Problem reported by Marco Wertz <[email protected]>.
+
+2014-11-07  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #43535.
+
+	* src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one
+	character more than `strncmp'.
+	s/ft_strncmp/_bdf_strncmp/ everywhere.
+
+2014-11-06  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix Savannah bug #43548.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Add sanity checks for row
+	and column values.
+
+2014-11-06  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix Savannah bug #43547.
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Check `size' and `offset'
+	values.
+
+2014-11-06  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Avoid memory leak.
+
+2014-11-03  Infinality  <[email protected]>
+
+	* src/truetype/ttsubpix.c (COMPATIBILITY_MODE_Rules): Updated.
+
+	The previous commit deteriorates rendering of DejaVu and similar
+	fonts; this gets compensated with this rule.
+
+2014-11-03  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_DELTAP): Fix subpixel hinting.
+
+	Before this patch, it was impossible to ever call DELTAP[123] in
+	subpixel hinting mode as described in the ClearType whitepaper; it
+	only worked if in `compatibility mode'.  However, compatibility mode
+	essentially disables SHPIX, completely ruining hinting of
+	ttfautohint output, for example.
+
+	We now follow the whitepaper more closely so that DELTAP[123]
+	instructions for touched points in the non-subpixel direction are
+	executed.
+
+2014-10-31  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Improve code readability.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
+
+2014-10-31  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Reduce outline translations during rendering.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Translate origin
+	virtually by modifying cbox, actually translate outline if cumulative
+	shift is not zero.
+
+2014-10-30  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Fix Savannah bug #35604 (cont'd).
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove checks and
+	casts that became unnecessary after the variable type upgrades.
+
+2014-10-29  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Improve code readability.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
+
+2014-10-29  Alexei Podtelezhnikov  <[email protected]>
+
+	Unify hypotenuse approximations.
+
+	* include/internal/ftcalc.h (FT_HYPOT): Move macro from here...
+	* include/internal/ftobjs.h: ... to here, next to required `FT_ABS'.
+	* src/smooth/ftgrays.c (gray_render_cubic): Use it here.
+
+2014-10-25  Werner Lemberg  <[email protected]>
+
+	[cff] Test valid darkening parameter macros in `ftoption.h'.
+
+	We no longer need an otherwise unused typedef that can cause a gcc
+	warning.
+	Problem reported by Alexei.
+
+	* src/cff/cffobjs.c (cff_driver_init): Use
+	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly.
+	(SET_DARKENING_PARAMETERS): Removed.
+	Compile time tests are now ...
+
+	* devel/ftoption.h, include/config/ftoption.h: ... here.
+
+2014-10-25  Alexei Podtelezhnikov  <[email protected]>
+
+	Improve flat corner definition.
+
+	* include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean
+	distance with the alpha max plus beta min algorithm.
+	* src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab
+	metric.
+
+2014-10-23  David Weiß  <[email protected]>
+
+	[build] Improve property file for vc2010.
+
+	User-defined properties should be empty by default to prevent linker
+	failures.
+
+	* builds/windows/vc2010/freetype.user.props,
+	builds/windows/vc2010/freetype.vcxproj:
+	s/OptionsDirectory/UserOptionDirectory/.
+	Comment out all user options.
+
+2014-10-23  Werner Lemberg  <[email protected]>
+
+	[cff] Work around bug in preprocessor of MSVC 2010.
+
+	We have been hit by
+
+	  https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr
+
+	* devel/ftoption.h, include/config/ftoption.h: Replace
+	`CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros
+	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'.
+
+	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed.  We no
+	longer need double expansion.
+	(SET_DARKENING_PARAMETERS_0): Renamed to ...
+	(SET_DARKENING_PARAMETERS): ... this.
+	Update call.
+
+2014-10-20  Werner Lemberg  <[email protected]>
+
+	[sbit] Minor fixes.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
+	Accept overlay format also, but emit warning message in that case.
+	(tt_sbit_decoder_load_metrics): Add missing newline to error
+	message.
+	(tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS
+	7.1) to the list of unsupported formats.
+
+2014-10-19  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Clean up bytecode rounding.
+
+	Zero distance does not have to be treated specially if you follow
+	specifications and check the sign as the very last step of rounding.
+
+	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
+	Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use
+	macros when available, do not check for non-zero distance.
+	(Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase
+	if sign changed.
+
+2014-10-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Unwrap engine compensation settings.
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
+
+2014-10-18  David Weiß  <[email protected]>
+
+	[build] Add property file to vc2010 project.
+
+	This simplifies custom build configurations, especially for
+	automated build environments.
+
+	* builds/windows/vc2010/freetype.user.props: New configuration file.
+
+	* builds/windows/vc2010/freetype.vcxproj: Include
+	`freetype.user.props' and use its data fields.
+
+	* builds/windows/vc2010/index.html: Updated.
+
+2014-10-18  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Telugu.
+
+	This essentially moves the Telugu script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	Note that this is a first shot and quite certainly needs
+	refinements.
+
+	* src/autofit/afblue.dat: Add blue zone data for Telugu.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Telugu standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Telugu data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Telugu data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2014-10-18  David Wimsey  <[email protected]>
+
+	[cmake] Add iOS build support.
+	From Savannah patch #8497.
+
+	* builds/cmake/iOS.cmake: New file.  Universal binaries are built
+	with both 32 and 64 bit arm architectures.
+
+	* CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS
+	toolchain.  Possible values are `OS' to build on iOS, or
+	`SIMULATOR' to build on APPLE.
+
+2014-10-16  Behdad Esfahbod  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro.
+
+	* devel/ftoption.h, include/config/ftoption.h
+	(CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro.
+
+	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS,
+	SET_DARKENING_PARAMETERS_0): New macros.
+	(cff_driver_init): Use new macros.
+
+2014-10-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Limit delta shift range.
+
+	The valid range for delta shift is zero through six.  Negative values
+	are invalid according to
+
+	  https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift
+
+	* src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned.
+	* src/truetype/ttinterp.h (DO_SDS): Throw an error if `delta_shift'
+	is out of range.
+	(Ins_DELTAP, Ins_DELTAC): Optimize for valid `delta_shift'.
+
+2014-10-16  Werner Lemberg  <[email protected]>
+
+	A better fix for Savannah bug #43392.
+	Suggested by Doug Felt <[email protected]>.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set
+	`vertAdvance' to zero...
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default
+	value for `vertAdvance' based on `linearVertAdvance' in case
+	`vertAdvance' is zero.  Note that the previous computed ad-hoc value
+	for `linearVertAdvance' was apparently not tested in a real-life
+	situation.
+
+2014-10-14  David Weiß  <[email protected]>
+
+	[build] Better optimization settings for vc2010 solution file.
+
+	* builds/windows/vc2010/freetype.sln,
+	builds/windows/vc2010/freetype.vcxproj: Updated.
+
+2014-10-14  Werner Lemberg  <[email protected]>
+
+	[autofit] Adjust Devanagari character range.
+
+	* src/autofit/afranges.c (af_deva_uniranges): Omit characters that
+	are common to all other Indic scripts.
+
+2014-10-12  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #43392.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let
+	vertical metrics uninitialized.
+
+2014-10-11  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Small bbox correction.
+
+	* src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox
+	instead of initial point that could be `off' in conic outlines.
+
+2014-10-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix Savannah bug #43356.
+
+	* src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case
+	of implicit `to'.
+	(BBox_Line_To): New emitter that does not update bbox.
+
+2014-10-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Introduce and use new macro `FT_UPDATE_BBOX'
+
+	* src/base/ftbbox.c (FT_UPDATE_BBOX): New macro.
+	(FT_Outline_Get_BBox): Use it here.
+
+2014-10-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Significant optimization of `ft_div64by32'
+
+	We shift as many bits as we can into the high register, perform
+	32-bit division with modulo there, then work through the remaining
+	bits with long division. This optimization is especially noticeable
+	for smaller dividends that barely use the high register.
+
+	* src/base/ftcalc.c (ft_div64by32): Updated.
+
+2014-10-02  Dave Arnold  <[email protected]>
+
+	[cff] Fix Savannah bug #43271.
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Change overflow
+	detection to use logarithms and clamp `scaledStem'.
+
+2014-10-01  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c: Remove miscellaneous type casts.
+
+2014-10-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Use more common `FT_MSB' implementation with masks.
+
+	* src/base/ftcalc.c (FT_MSB): Updated.
+
+2014-09-30  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Clean up.
+
+	* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used
+	code.
+
+2014-09-25  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Avoid unnecessary long division.
+
+	This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or
+	lack thereof are predicted accurately.
+
+	* src/base/ftcalc.c (ft_div64by32): Improve readability.
+	(FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division
+	when multiplication stayed within 32 bits.
+
+2014-09-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor clean-ups.
+
+	* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points,
+	af_glyph_hints_align_strong_points): Updated.
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments,
+	af_latin_hints_compute_segments), src/autofit/afcjk.c
+	(af_cjk_hints_link_segments), src/autofit/aflatin2.c
+	(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
+	There are no longer fake segments since more than 10 years...
+
+2014-09-22  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor code streamlining.
+
+	* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
+	initialization.
+
+2014-09-19  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c: Harmonize code.
+
+2014-09-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Tighten the overflow check in `FT_MulDiv'.
+
+	* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
+
+2014-09-08  Alexei Podtelezhnikov  <[email protected]>
+
+	Fix Savannah bug #43153.
+
+	* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
+	overflow in `divider'.
+
+2014-09-03  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Tighten the overflow check in `FT_DivFix'.
+
+	This fixes a 13-year old bug. The original overflow check should have
+	been updated when rounding was introduced into this function
+	(c2cd00443b).
+
+	* src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated.
+	* include/freetype.h (FT_DivFix): Updated documentation.
+
+2014-09-03  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Tighten the overflow check in `FT_MulFix'.
+
+	* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
+
+2014-09-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Shortcut ppem calculations for square pixels.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): New field
+	`cur_ppem_func' with a function pointer.
+	* src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func'
+	depending on the pixel geometry to either...
+	(Current_Ppem_Stretched): ... this for stretched pixels.
+	(Current_Ppem): ... or this for square pixels.
+	(DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
+
+2014-08-31  Behdad Esfahbod  <[email protected]>
+
+	Don't use `register' keyword.  Fixes compiler warnings.
+
+	* src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it.
+	* src/gzip/inftrees.c (huft_build): Ditto.
+	* src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
+
+2014-08-24  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Optimize DELTAP and DELTAC.
+
+	* src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem
+	calculations outside of the loop.
+
+2014-08-21  Alexei Podtelezhnikov  <[email protected]>
+
+	Fix Savannah bug #43033.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when
+	64-bit type is `long'.
+
+2014-08-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Small optimization of `FT_MulFix'.
+
+	* src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct
+	32-bit calculations.
+
+2014-08-19  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Use unsigned calculation in `FT_MulDiv'.
+
+	* src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range.
+
+2014-08-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Remove truncation in `FT_DivFix'.
+
+	* src/base/ftcalc.c (FT_DivFix): Updated.
+
+2014-08-14  Alexei Podtelezhnikov  <[email protected]>
+
+	Minor refactoring.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
+
+2014-08-14  Alexei Podtelezhnikov  <[email protected]>
+
+	Turn FT_MSB into a macro when using gcc builtins.
+
+	* src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
+
+2014-08-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Avoid undefined FT_MSB in `BBox_Cubic_Check'.
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Update.
+	(update_cubic_max): Replace with...
+	(cubic_peak): ... this, which now handles upscaling.
+
+2014-08-11  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Handle collapsed outlines to avoid undefined FT_MSB.
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
+
+2014-08-11  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Restore FT_MulFix inlining.
+
+	* include/freetype.h (FT_MulFix): Unconditionally defined.
+
+	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here...
+
+	* include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here,
+	which conditionally replaces the function with an inline version
+	through the macro.
+
+2014-08-08  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
+
+2014-07-26  Werner Lemberg  <[email protected]>
+
+	[cff] Fix typo.
+
+	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct
+	offsets in third quadrant.
+
+	Reported by maks <[email protected]>.
+
+2014-07-17  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #42788.
+
+	* src/pfr/pfrobjs.c: Include `ftcalc.h'.
+
+2014-07-16  Alexei Podtelezhnikov  <[email protected]>
+
+	Replace `ft_highpow2' function.
+
+	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of
+	`ft_highpow2'.
+
+	* src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove
+	it.
+
+2014-07-15  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
+
+2014-07-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Move assembler code back in the source file.
+
+	FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here...
+
+	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
+
+2014-07-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Further clean up color bitmap conversion.
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop
+	using FT_MulFix and FT_DivFix since all calculations fit into 32 bits.
+
+2014-07-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve handling of buggy `prep' tables.
+
+	In case of an error in the `prep' table, no longer try to execute it
+	again and again.  This makes FreeType handle endless loops in buggy
+	fonts much faster.
+
+	* src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready'
+	and `cvt_ready' are now negative if not initialized yet, otherwise
+	they indicate the error code of the last run.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
+	tt_size_done_bytecode, tt_size_init_bytecode,
+	tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset):
+	Updated.
+
+	* src/truetype/ttgload.c (tt_loader_init): Updated.
+	* src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm'
+	and `prep' only if we are in the `glyf' table.
+
+2014-07-12  Werner Lemberg  <[email protected]>
+
+	* builds/vms/ftconfig.h: Synchronize.
+	Problem reported by Alexei.
+
+2014-07-11  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Clean up bitmap conversion.
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
+	appropriate FT_DivFix and remove superfluous upscaling.
+
+2014-07-04  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Small optimization of the ancient code.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the
+	condition for direct 32-bit calculations.
+
+2014-06-27  Werner Lemberg  <[email protected]>
+
+	Fix Apple standard glyph names.
+
+	* src/sfnt/ttpost.c (tt_post_default_names): Synchronize with
+	`tools/glnames.py'
+
+	Problem reported by Adam Twardoch <[email protected]>.
+
+2014-06-17  Werner Lemberg  <[email protected]>
+
+	Partially revert commit from 2014-06-13.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Move
+	declaration of `p_first' and `p_last' out of the loop.
+
+2014-06-17  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/.
+
+	This simplifies cross-compiling.
+
+2014-06-13  Werner Lemberg  <[email protected]>
+
+	Fix more compiler warnings.
+	Reported by Wojciech Mamrak <[email protected]>.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Make integer constant unsigned.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
+	<TT_SBIT_TABLE_TYPE_SBIX>: Fix types.
+	(tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper
+	casts.
+
+2014-06-13  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+	Reported by Wojciech Mamrak <[email protected]>.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage),
+	src/autofit/afmodule.c (af_property_set): Fix `signed' vs.
+	`unsigned' issues.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler
+	happy.
+
+	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements
+	for `fir'.
+	Fix `signed' vs. `unsigned' issues.
+
+	* src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused.
+	(WRITE_USHORT, WRITE_ULONG): Add proper casts.
+
+	* src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts.
+
+	* src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1'
+	and `B2'.
+
+2014-05-16  Alexey Petruchik  <[email protected]>
+
+	[cmake] Add option to build OS X framework.
+
+	* CMakeLists.txt: Update accordingly.
+
+	* builds/mac/freetype-Info.plist: New file.
+
+2014-05-13  Pavel Koshevoy  <[email protected]>
+
+	* CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
+
+2014-05-11  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix variable initializations.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Assign default
+	values to `in_dir' and `out_dir' for all points.
+
+2014-05-11  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix crash with font `CabinSketch-Bold.ttf'.
+
+	Problem reported by Ralf S. Engelschall <[email protected]>.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for
+	finding first non-near point.
+	Properly initialize non-near point deltas.
+
+2014-05-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Devanagari.
+
+	This essentially moves the Devanagari script from the `Indic' hinter
+	to the `Latin' hinter.  Thanks to Girish Dalvi
+	<[email protected]> for guidance with blue zone characters!
+
+	* src/autofit/afblue.dat: Add blue zone data for Devanagari.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Devanagari standard characters and
+	move data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Devanagari data out of
+	AF_CONFIG_OPTION_INDIC block.
+	Move U+20B9, (new) Rupee sign, from Latin to Devanagari.
+
+	* src/autofit/afstyles.h: Update Devanagari data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2014-05-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix handling of neutral blue zones in stems.
+
+	* src/autofit/afhints.h (AF_Edge_Flags): New value
+	`AF_EDGE_NEUTRAL'.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace
+	neutral blue zones with AF_EDGE_NEUTRAL.
+	(af_latin_hint_edges): Skip neutral blue zones if necessary.
+
+2014-04-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce neutral blue zones to the latin module.
+
+	Such blue zones match either the top or the bottom of a contour.  We
+	need them for scripts where accent-like elements directly touch the
+	base character (for example, some vowel signs in Devanagari, cf.
+	U+0913 or U+0914).
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New
+	property.
+
+	* src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro.
+	(AF_LATIN_BLUE_NEUTRAL): New enumeration value.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
+	af_latin_hints_compute_blue_edges): Handle neutral blue zones.
+
+2014-04-25  Werner Lemberg  <[email protected]>
+
+	* src/autofit/hbshim.c: Partially revert commit from 2014-04-17.
+
+	Using input glyph coverage data is simply wrong.
+
+	Problem reported by Nikolaus Waxweiler <[email protected]> and
+	Mantas Mikulėnas <[email protected]>.
+
+2014-04-23  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode.
+
+	This spot has been missed while introducing support for various
+	drop-out modes years ago (including no drop-out mode, which this
+	commit fixes).
+
+	Problem reported by Patrick Thomas <[email protected]>.
+
+2014-04-22  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
+
+2014-04-20  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix Savannah bug #42148.
+
+	The adaptation of the cjk auto-hinter module to blue stringsets in
+	2013-08-25 had three severe bugs.  Mea culpa.
+
+	1. Contrary to the latin auto-hinter, characters for reference and
+	   overshoot values of a blue zone are specified separately.  Due to
+	   the screwed-up change it didn't work at all.
+
+	2. A boolean comparison was erroneously replaced with a cast,
+	   causing invalid results with the `^' operator later on.  The
+	   visual artifact caused by this problem is the topic of the bug
+	   report.
+
+	3. Two flag values were inverted, causing incorrect assignment of
+	   reference and overshoot values.
+
+	* src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new
+	syntax to have both reference and overshoot characters in a single
+	string.  This is error #1.
+	Add extensive comments.
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no
+	longer used.
+	(AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values.
+	This is error #3.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1.
+	Use character `|' to separate characters for reference and overshoot
+	values.
+	Improve tracing messages, synchronizing them with the latin
+	auto-hinter.
+	(af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'.
+	This is error #2.
+	(af_cjk_align_linked_edge): Add tracing message.
+
+	* src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer
+	used.
+
+2014-04-17  Werner Lemberg  <[email protected]>
+
+	[autofit] More coverage fixes for complex scripts.
+
+	* src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage
+	of GSUB lookups into output coverage.  Otherwise, ligatures are not
+	handled properly.
+	Don't check blue zone characters for default coverage.
+
+2014-04-17  Werner Lemberg  <[email protected]>
+
+	Make `FT_Get_SubGlyph_Info' actually work.
+
+	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok
+	if there is no error.
+
+2014-04-15  Werner Lemberg  <[email protected]>
+
+	[afblue.pl]: Minor improvements.
+
+	* src/tools/afblue.pl: Allow whitespace before comments.
+	Ignore whitespace in strings.
+
+2014-04-14  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve coverage handling.
+
+	* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
+	appearing in the GPOS table if we are processing the default
+	coverage.
+
+2014-04-13  David Weber  <[email protected]>
+
+	[smooth] Fix stand-alone compilation.
+
+	* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
+
+2014-04-12  Werner Lemberg  <[email protected]>
+
+	[autofit] Redesign the recognition algorithm of strong points.
+
+	In particular, local extrema without horizontal or vertical segments
+	are better recognized:
+
+	  + A                + D
+	   \                /
+	    \              /
+	     \            /
+	      \          /
+	       \        + C
+	        \    /
+	       B +/
+
+	If the distances AB and CD are large, point B wasn't previously
+	detected as an extremum since the `ft_corner_is_flat' function
+	`swallowed' BC regardless of its direction, tagging point B as weak.
+	The next iteration started at B and made `ft_corner_is_flat' swallow
+	point C, tagging it as weak also, et voilà.
+
+	To improve that, another pass gets now performed before calling
+	`ft_corner_is_flat' to improve the `topology' of an outline: A
+	sequence of non-horizontal or non-vertical vectors that point into
+	the same quadrant are handled as a single, large vector.
+
+	Additionally, distances of near points are now accumulated, which
+	makes the auto-hinter handle them as if they were prepended to the
+	next non-near vector.
+
+	This generally improves the auto-hinter's rendering results.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.
+
+	* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
+	`AF_FLAG_NEAR'.
+
+2014-04-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve scoring algorithm for identifying stems.
+
+	Problem reported by Karsten Lücke <[email protected]>.
+
+	The new algorithm takes care of the width of stems: If the distance
+	between two segments is larger than the largest stem width, the
+	demerits quickly increase for larger distances.  This improves
+	hinting of slanted fonts (especially if the inner parts of serifs
+	have non-horizontal `shoulders'), avoiding false stem links.
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments): Use largest
+	stem width (if available) to compute better demerits for distances
+	between stems.
+	(af_latin_hints_detect_features): Pass stem width array and array
+	size.
+	(af_latin_metrics_init_widths): Updated to use original algorithm.
+	(af_latin_hints_apply): Updated to use new algorithm.
+
+	* src/autofit/aflatin.h: Updated.
+	* src/autofit/afcjk.c: Updated.
+
+2014-04-03  Werner Lemberg  <[email protected]>
+
+	Don't require `gzip' module for `sfnt'.
+
+	Reported by Preet <[email protected]>.
+
+	* src/sfnt/sfobjs.c (woff_open_font): Guard use of
+	FT_Gzip_Uncompress with FT_CONFIG_OPTION_USE_ZLIB.
+
+2014-03-27  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38235.
+
+	Work around a bug in pkg-config version 0.28 and earlier: If a
+	variable value gets surrounded by doublequotes (in particular values
+	for the `prefix' variable), the prefix override mechanism fails.
+
+	* builds/unix/freetype2.in: Don't use doublequotes.
+	* builds/unix/unix-def.in (freetype.pc): Escape spaces in directory
+	names with backslashes.
+
+2014-03-24  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41946.
+
+	Based on a patch from Marek Kašík <[email protected]>.
+
+	* builds/unix/configure.raw (LIBS_CONFIG): Remove.
+	* builds/unix/freetype-config.in (libs): Hard-code value.
+	* builds/unix/unix-def.in: Updated.
+
+2014-03-22  Werner Lemberg  <[email protected]>
+
+	Another revert for the change from 2014-03-18.
+
+	Problem reported by Nikolaus Waxweiler <[email protected]>.
+
+	* src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol
+	gets always exported.
+
+2014-03-20  Werner Lemberg  <[email protected]>
+
+	CMakeLists.txt: Another fix for include directories.
+
+	Problem reported by Taylor Holberton <[email protected]>.
+
+2014-03-19  Werner Lemberg  <[email protected]>
+
+	CMakeLists.txt: Fix include directories.
+
+	Problem reported by Taylor Holberton <[email protected]>.
+
+2014-03-19  Werner Lemberg  <[email protected]>
+
+	Partially revert last commit.
+
+	Found by Alexei.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initializing
+	those variables is plain wrong, since we are in a loop.
+
+2014-03-18  Sean McBride  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	Fix clang warnings.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
+	some variables.
+
+	* src/base/ftcalc.c (FT_MulFix): Only use code if
+	`FT_MULFIX_INLINED' is not defined.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c
+	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
+	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class),
+	src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c
+	(ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c
+	(pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make
+	function static.
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant
+	code.
+
+2014-03-17  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41869.
+
+	This works around a problem with HarfBuzz (<= 0.9.26), which doesn't
+	validate glyph indices returned by
+	`hb_ot_layout_lookup_collect_glyphs'.
+
+	* src/autofit/hbshim.c (af_get_coverage): Guard `idx'.
+
+	* docs/CHANGES: Updated.
+
+2014-03-14  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.raw: Don't show error messages of `which'.
+
+2014-03-09  Alan Coopersmith  <[email protected]>
+
+	Fix cppcheck 1.64 warning.
+
+	* src/autofit/afglobal.c (af_face_globals_new): Catch NULL pointer
+	dereference in case of error.
+
+2014-03-09  Sean McBride  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove clang warning.
+
+2014-03-06  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.3 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-3'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.3.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.2/2.5.3/, s/252/253/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 17:2:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 3.
+	* docs/CHANGES: Updated.
+
+2014-03-06  Werner Lemberg  <[email protected]>
+
+	Fixes for compilation with C++.
+
+	* src/autofit/hbshim.c (scripts): Change type to `hb_script_t'.
+	(af_get_coverage): Updated.
+	(COVERAGE): Add cast.
+
+2014-03-06  Sean McBride  <[email protected]>
+
+	Remove more clang analyzer warnings.
+
+	* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
+	(TT_Load_Glyph): Remove dead stores.
+
+2014-03-05  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.raw: Simplify.
+
+2014-03-05  suzuki toshiya  <[email protected]>
+
+	Fix a bug in configure in library dependency setting
+	Reported in https://bugs.freedesktop.org/show_bug.cgi?id=75652.
+
+	* builds/unix/configure.raw: Use `x"${xxx}" != xno' style.
+
+2014-03-04  Werner Lemberg  <[email protected]>
+
+	Minor fix for `make devel'.
+
+	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Don't use
+	pkg-config for bzip2 since not all GNU/Linux distributions have
+	`bzip2.pc' (and the header file `bzlib.h' is located in /usr/include
+	normally).
+
+2014-03-04  Sean McBride  <[email protected]>
+
+	Fix several clang static analyzer dead store warnings.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload,
+	af_glyph_hints_align_weak_points): Remove unnecessary assignments.
+
+	* src/bdf/bdflib.c (bdf_font_load): Ditto.
+
+	* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
+	psh_glyph_interpolate_other_points): Ditto.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
+
+2014-03-03  Werner Lemberg  <[email protected]>
+
+	Rewrite library option handling in `configure'.
+
+	o Introduce `auto' value for `--with-XXX' library options; this is
+	  now the default.
+
+	o First use `pkg-config' for library detection, then fall back to
+	  other tests.
+
+	* builds/unix/configure.raw (--with-zlib, --with-bzip2, --with-png,
+	--with-harfbuzz): Rewrite.
+	Use new `xxx_reqpriv', `xxx_libpriv', and `xxx_libstaticconf'
+	variables to collect data for `freetype2.pc' and `freetype-config'.
+	(FT2_EXTRA_LIBS): Renamed to ...
+	(ft2_extra_libs): This since it gets no longer substituted.
+	(REQUIRES_PRIVATE, LIBS_PRIVATE, LIBS_CONFIG, LIBSSTATIC_CONFIG):
+	New output variables, replacing `XXX_PKG' and `LIBXXX'.
+	Add notice at the end of `configure' showing the library
+	configuration.
+
+	* builds/unix/freetype-config.in (--static): New command line
+	option.
+	(libs): Updated.
+	(staticlibs): New variable, to be used if `--static' is given.
+	* docs/freetype-config.1: Document `--static'.
+
+	* builds/unix/freetype2.in, builds/unix/unix-def.in: Updated.
+
+2014-03-01  Werner Lemberg  <[email protected]>
+
+	Avoid `long long' warnings with older gcc compilers.
+	Problem reported by Hin-Tak Leung <[email protected]>.
+
+	* builds/unix/configure.raw: Don't use gcc's `-pedantic' flag for
+	versions < 4.6.  This is especially needed for Max OS X since this
+	OS runs a gcc variant (or emulation) based on version 4.2.1.
+
+2014-03-01  Werner Lemberg  <[email protected]>
+
+	* docs/INSTALL.CROSS: Revised and updated.
+
+2014-03-01  Werner Lemberg  <[email protected]>
+
+	Make `make clean' remove `freetype2.pc'.
+
+	This is a generated file at build time, not configure time.
+
+	* builds/unix/unix-def.in (DISTCLEAN): Move `freetype2.pc' to ...
+	(CLEAN): This variable.
+
+2014-03-01  Werner Lemberg  <[email protected]>
+
+	Use pkg-config for detecting libpng and libbz2 also.
+
+	* builds/unix/configure.raw (HAVE_PKG): New variable.
+	Search for libbz2 using `pkg-config'; s/BZ2/BZIP2/.
+	Search for libpng using `pkg-config'.
+	Fix definition of `LIBHARFBUZZ' variable.
+	* builds/unix/freetype-config.in ($libs): Updated.
+	* builds/unix/freetype2.in: Add `URL' field.
+	Update `Requires.private' and `Libs.private'.
+	* builds/unix/unix-def.in: Updated.
+
+2014-03-01  Werner Lemberg  <[email protected]>
+
+	Add configure support for HarfBuzz.
+
+	* builds/unix/pkg.m4: New file.
+	* builds/unix/configure.raw: Search for libharfbuzz using
+	`pkg-config'.
+	Add `--without-harfbuzz' option.
+	* builds/unix/freetype-config.in, builds/unix/freetype2.in,
+	builds/unix/unix-def.in (freetype-config, freetype2.pc): Handle
+	HarfBuzz.
+
+	* docs/INSTALL.UNIX: Document interdependency of FreeType with
+	HarfBuzz.
+
+2014-02-28  Alexei Podtelezhnikov  <[email protected]>
+
+	[cff] Math simplifications.
+
+	* src/cf2blues.c (cf2_blues_init): Use `FT_MulDiv'.
+	* src/cf2ft.c (cf2_getScaleAndHintFlag): Use simple division.
+
+2014-02-28  Dave Arnold  <[email protected]>
+
+	[cff] Fix Savannah bug #41697, part 2.
+
+	* src/cff/cf2ft.c (cf2_initLocalRegionBuffer,
+	cf2_initGlobalRegionBuffer): It is possible for a charstring to call
+	a subroutine if no subroutines exist.  This is an error but should
+	not trigger an assert.  Split the assert to account for this.
+
+2014-02-28  Dave Arnold  <[email protected]>
+
+	[cff] Fix Savannah bug #41697, part 1.
+
+	* src/cff/cf2hints.c (cf2_hintmap_build): Return when `hintMask' is
+	invalid.  In this case, it is not safe to use the length of
+	`hStemHintArray'; the exception has already been recorded in
+	`hintMask'.
+
+2014-02-26  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #41696.
+
+	* src/sfnt/ttcmap.c (tt_cmap0_validate, tt_cmap2_validate,
+	tt_cmap4_validate, tt_cmap14_validate): Fix limit tests.
+
+2014-02-26  Werner Lemberg  <[email protected]>
+
+	[winfnt] Fix Savannah bug #41694.
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Check glyph offset.
+
+2014-02-26  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #41693.
+
+	* src/cff/cffload.c (CFF_Load_FD_Select): Reject empty array.
+
+2014-02-26  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix Savannah bug #41692.
+
+	bdflib puts data from the input stream into a buffer in chunks of
+	1024 bytes.  The data itself gets then parsed line by line, simply
+	increasing the current pointer into the buffer; if the search for
+	the final newline character exceeds the buffer size, more data gets
+	read.
+
+	However, in case the current line's end is very near to the buffer
+	end, and the keyword to compare with is longer than the current
+	line's length, an out-of-bounds read might happen since `memcmp'
+	doesn't stop properly at the string end.
+
+	* src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
+	stop at string ends.
+
+2014-02-17  suzuki toshiya  <[email protected]>
+
+	[autofit] Fix `make multi' compilation.
+
+	* src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
+
+2014-02-19  Werner Lemberg  <[email protected]>
+	    Simon Bünzli  <[email protected]>
+
+	Fix Savannah bug #32902.
+
+	Patch taken from
+
+	  https://code.google.com/p/sumatrapdf/source/browse/trunk/ext/_patches/freetype2.patch?spec=svn8620&r=8620#87
+
+	with slight modifications.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Add heuristic test to
+	handle fonts that incorrectly use \r at the beginning of an eexec
+	block.
+
+2014-02-19  Simon Bünzli  <[email protected]>
+
+	Fix Savannah bug #41590.
+
+	* src/type1/t1load.c (parse_encoding): Protect against invalid
+	number.
+
+2014-02-12  Dave Arnold  <[email protected]>
+
+	[cff] Optimize by using `FT_MulDiv'.
+	Suggested by Alexei.
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Do it.
+
+2014-02-12  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41465.
+
+	* builds/unix/unix-def.in (CLEAN): Add `freetype-config'.
+	(DISTCLEAN): Remove `freetype-config'.
+
+2014-02-08  Sean McBride  <[email protected]>
+
+	Fix clang static analyzer and compiler warnings.
+
+	* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
+	src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
+	src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
+	(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
+	src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
+	(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
+	src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
+	(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
+	tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
+	code.
+
+	* src/autofit/afmodule.c (af_property_get_face_globals,
+	af_property_set, af_property_get), src/base/ftbitmap.c
+	(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
+
+	* src/base/ftobjs.c (ft_remove_renderer): Protect against
+	library == NULL.
+	(ft_property_do): Make function static.
+
+	* src/base/ftrfork.c: Include `ftbase.h'.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
+	[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
+	(T1_Compute_Max_Advance): Avoid compiler warning.
+
+	* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
+	variable.
+
+2014-02-08  Werner Lemberg  <[email protected]>
+
+	Fix Windows build directories.
+
+	The build target is now `windows' instead of `win32'.
+
+	Problem reported by Nickolas George <[email protected]>.
+
+	* builds/modules.mk: Don't use `win32' and `win16' (!) but
+	`windows'.
+
+	* builds/windows/detect.mk, builds/windows/win32-def.mk:
+	s/win32/windows/.
+
+2014-02-08  Eugen Sawin  <[email protected]>
+
+	Fix Savannah bug #41507.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap)
+	[!FT_CONFIG_OPTION_USE_PNG] <17, 17, 19>: Fix error handling.
+
+2014-02-08  Dave Arnold  <[email protected]>
+
+	[cff] Fix minor performance bug.
+
+	* src/cff/cf2font.c (cf2_font_setup): Darkening amount and blue zone
+	calculations are now cached and not recomputed on each glyph.
+
+2014-02-05  Werner Lemberg  <[email protected]>
+
+	Fix problems with perl 5.8.8 as distributed with current MinGW.
+
+	* src/tools/afblue.pl: Work-around for Perl bug #63402.
+	(string_re): Avoid `possessive quantifiers', which have been
+	introduced in Perl version 5.10.
+
+2014-02-04  Werner Lemberg  <[email protected]>
+
+	Fix compilation with MinGW.
+
+	Right now, compilation out of the box with latest MinGW is broken
+	due to bugs in header files of mingwrt 4.0.3 in strict ANSI mode,
+	cf.
+
+	  https://sourceforge.net/p/mingw/bugs/2024/
+	  https://sourceforge.net/p/mingw/bugs/2046/
+
+	* builds/unix/configure.raw: Don't set `-ansi' flag for MinGW.
+
+2014-02-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor fix.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
+	of alternative standard characters.
+	This also fixes a compilation warning in non-debug mode.
+
+2014-02-03  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #41363.
+
+	* src/cff/cf2ft.c (cf2_checkTransform): Convert assertion into
+	parameter check.
+	(cf2_decoder_parse_charstrings): Call `cf2_checkTransform' only if
+	we are scaling the outline.
+	(cf2_getPpemY): Remove problematic assertion.
+
+2014-01-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce two more slots for standard characters.
+
+	This is useful for OpenType features like `c2sc' (caps to small
+	caps) that don't have lowercase letters by definition, or other
+	features that mainly operate on numerals.
+
+	* src/autofit/afscript.h: Add more standard characters.
+
+	* src/autofit/aftypes.h: Update use of `SCRIPT' macro.
+	(AF_ScriptClassRec): Add members to hold two more standard
+	characters.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/afglobal.c, src/autofit/afglobal.h,
+	* src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/hbshim.c:
+	Update use of `SCRIPT' macro.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Scan two more
+	standard characters.
+
+2014-01-24  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41320.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues)
+	<AF_LATIN_IS_LONG_BLUE>: Avoid negative index of `last'.
+
+2014-01-23  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41310.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap) <glyph_format==5>:
+	Don't check metrics, which this format doesn't have.
+	This is another correction to the commit from 2013-11-21.
+
+2014-01-23  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41309.
+
+	* src/type1/t1load.c (t1_parse_font_matrix): Properly handle result
+	of `T1_ToFixedArray'.
+
+	* src/cid/cidload.c (cid_parse_font_matrix): Synchronize with
+	`t1_parse_font_matrix'.
+
+	* src/type42/t42parse.c (t42_parse_font_matrix): Synchronize with
+	`t1_parse_font_matrix'.
+	(t42_parse_encoding): Synchronize with `t1_parse_encoding'.
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>,
+	<T1_FIELD_TYPE_MMOX>: Properly handle result of `ps_tofixedarray'.
+
+2014-01-22  Werner Lemberg  <[email protected]>
+
+	* src/autofit/hbshim.c (af_get_coverage): Fix memory leaks.
+
+2014-01-16  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing of style coverages.
+
+	* include/internal/fttrace.h: Add `afglobal' for tracing style
+	coverages.
+
+	* src/autofit/afglobal.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_COMPONENT): Define.
+	(af_face_globals_compute_style_coverage): Trace `gstyles' array
+	data.
+
+2014-01-09  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #41158.
+
+	* builds/unix/install.mk (install): Create man page directory.
+
+2014-01-08  Chongyu Zhu  <[email protected]>
+
+	[arm] Fix Savannah bug #41138, part 2.
+
+	* builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h
+	(FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix
+	preprocessor conditionals for `add.w'.
+
+2014-01-08  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix Savannah bug #41138, part 1.
+
+	* src/tools/afblue.pl <Handling #endif>: Produce correct auxiliary
+	enumeration names for generated `#else'.
+
+	* src/autofit/afblue.h: Regenerated.
+
+2014-01-06  Werner Lemberg  <[email protected]>
+
+	Add manual page for `freetype-config'.
+	Contributed by Nis Martensen <[email protected]>.
+
+	* docs/freetype-config.1: New file.
+
+	* builds/unix/unix-def.in (mandir): Define.
+	* builds/unix/install.mk (install, uninstall): Handle manpage.
+
+2014-01-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor fixes for `afblue.pl'.
+
+	* src/tools/afblue.pl (aux_name): Don't use `reverse'.
+	<Handling #endif>: Use proper indentation for generated `#else'.
+
+	* src/autofit/afblue.h: Regenerated.
+
+2014-01-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix Indic scripts.
+
+	Split the single, incorrect Indic entry into separate scripts so
+	that the covered ranges are the same: Bengali, Devanagari, Gujarati,
+	Gurmukhi, Kannada, Limbu, Malayalam, Oriya, Sinhala, Sundanese,
+	Syloti Nagri, Tamil, Telugu, and Tibetan.  At the same time, remove
+	entries for Meetei Mayek and Sharada – the Unicode ranges were
+	incorrect (and nobody has complained about that), fonts are scarce
+	for those scripts, and the Indic auto-hinter support is rudimentary
+	anyways.
+
+	* src/autofit/afscript.h: Updated, using AF_CONFIG_OPTION_INDIC and
+	AF_CONFIG_OPTION_CJK.
+
+	* src/autofit/afstyles.h (STYLE_DEFAULT_INDIC): New auxiliary macro.
+	Use it, together with AF_CONFIG_OPTION_INDIC and
+	AF_CONFIG_OPTION_CJK, to update.
+
+	* src/autofit/afranges.c [AF_CONFIG_OPTION_INDIC]: Updated.
+	[!AF_CONFIG_OPTION_INDIC, !AF_CONFIG_OPTION_CJK]: Removed.
+	Sort entries by tags.
+
+2014-01-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Thinko.
+
+	* src/autofit/hbshim.c (af_get_char_index): Similar to
+	`af_get_coverage', reject glyphs which are not substituted.
+
+2014-01-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix handling of default coverages.
+
+	With this commit, the implementation of coverage handling is
+	completed.
+
+	* src/autofit/hbshim.c (af_get_coverage): Exit early if nothing to
+	do.
+	Reject coverages which don't contain appropriate glyphs for blue
+	zones.
+
+2014-01-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix handling of default coverages.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	First handle non-default coverages, then the default coverage of the
+	default script, and finally the other default coverages.
+
+2014-01-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix scaling of HarfBuzz shaping.
+
+	* src/autofit/hbshim.c (af_get_char_index): Scale to units per EM.
+
+2014-01-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Better ftgrid support.
+
+	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
+	parameters `is_blue' and `blue_offset'.
+
+2014-01-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Remove some styles.
+
+	* src/autofit/afcover.h: Remove coverages for alternative fractions,
+	denominators, numerators, and fractions.
+
+	* src/autofit/afstyles.h (META_STYLE_LATIN): Updated.
+
+2014-01-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Add more styles.
+
+	* src/autofit/afstyles.h (STYLE_LATIN, META_STYLE_LATIN): New
+	auxiliary macros; use them to define styles for Cyrillic, Greek, and
+	Latin.
+
+	* src/autofit/afcover.h: Remove coverage for oldstyle figures.
+	Since those digits are used in combination with ordinary letters, it
+	makes no sense to handle them separately.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Don't limit
+	`options' parameter to 4 bits.
+
+2014-01-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix style assignments to glyphs.
+
+	* src/autofit/hbshim.c (af_get_coverage)
+	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Scan GPOS coverage of features also
+	so that we can skip glyphs that have both GSUB and GPOS data.
+
+2014-01-01  Werner Lemberg  <[email protected]>
+
+	* src/autofit/hbshim.c: s/{lookups,glyphs}/gsub_{lookups,glyphs}/.
+
+2014-01-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Implement and use `af_get_char_index' with HarfBuzz.
+
+	* src/autofit/hbshim.c (COVERAGE) [FT_CONFIG_OPTION_USE_HARFBUZZ]:
+	Redefine to construct HarfBuzz features.
+	(af_get_char_index) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Rewritten.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Use
+	`y_offset' to adjust `best_y'.
+
+2013-12-31  Werner Lemberg  <[email protected]>
+
+	[autofit] s/AF_STYLE_...._DEFAULT/AF_STYLE_...._DFLT/i.
+
+2013-12-31  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix interface of `af_get_char_index'.
+
+	* src/autofit/hbshim.c (af_get_char_index): Return error value.
+	Add argument for y offset (to be used in a yet-to-come patch).
+
+	* src/autofit/hbshim.h, src/autofit/afcjk.c,
+	src/autofit/aflatin.c: Updated.
+
+2013-12-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Don't combine multiple features into one set.
+
+	Combining them, as originally envisioned, would lead to much more
+	complicated code, as investigations have shown meanwhile.  The major
+	drawback is that we run out of available style slots much earlier.
+	However, this is only a theoretical issue since we don't support a
+	large number of scripts currently.
+
+	* src/autofit/afcover.h: Replace `COVERAGE_{1,2,3}' macros with
+	a single-element `COVERAGE' macro, sort the elements by the feature
+	tags, and add entry for `ruby'.
+
+	* src/autofit/aftypes.h: Updated.
+	* src/autofit/hbshim.c: Updated.
+
+2013-12-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Code shuffling to reduce use of cpp macros.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Call `af_get_coverage' unconditionally.
+
+	* src/autofit/autofit.c: Include `hbshim.c' unconditionally.
+
+	* src/autofit/hbshim.c (af_get_coverage)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Provide dummy function.
+
+	* src/autofit/hbshim.h: Provide function declarations
+	unconditionally.
+
+2013-12-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Add wrapper function for `FT_Get_Char_Index'.
+
+	Yet-to-come changes will provide HarfBuzz functionality for the new
+	function.
+
+	* src/autofit/hbshim.c (af_get_char_index): New function.
+	* src/autofit/hbshim.h: Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
+	Updated.
+
+2013-12-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Use `global' HarfBuzz font object.
+
+	We now use `hb_font' instead of `hb_face' since yet-to-come changes
+	need this.
+
+	* src/autofit/afglobal.h: Include `hbshim.h'.
+	(AF_FaceGlobalsRec) [FT_CONFIG_OPTION_USE_HARFBUZZ]: New member
+	`hb_font'.
+
+	* src/autofit/afglobal.c (af_face_globals_new)
+	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Create `hb_font'.
+	(af_face_globals_free) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Destroy
+	`hb_font'.
+
+	* src/autofit/hbshim.h: Include HarfBuzz headers.
+
+	* src/autofit/hbshim.c: Include `hbshim.h' instead of HarfBuzz
+	headers.
+	(af_get_coverage): Updated.
+
+2013-12-27  Werner Lemberg  <[email protected]>
+
+	[autofit] Handle `DFLT' OpenType script for coverages.
+
+	* include/ftautoh.h: Document new `default-script' property.
+
+	* src/autofit/hbshim.c (af_get_coverage): Use `AF_FaceGlobals' for
+	type of first parameter.
+	(script_tags): Add one more element.
+	(af_get_coverage): Adjust `script_tags' to handle `DFLT' script tag.
+
+	* src/autofit/hbshim.h: Updated.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Updated.
+
+	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT): New macro.
+
+	* src/autofit/afmodule.h (AF_ModuleRec): New `default_script'
+	member.
+
+	* src/autofit/afmodule.c (af_property_set, af_property_get): Handle
+	`default-script' property.
+	(af_autofitter_init): Updated.
+
+2013-12-27  suzuki toshiya  <[email protected]>
+
+	[ftrfork] Fix the face order difference between POSIX and Carbon.
+
+	The fragmented resources in Suitcase and .dfont should be reordered
+	when `POST' resource for Type1 is being restored, but reordering of
+	sfnt resources induces the different face order.  Now the ordering
+	is restricted to `POST' resource only, to prevent the different
+	order issue (e.g. the face index in the fontconfig cache generated
+	with Carbon framework is incompatible with that by FreeType 2
+	without Carbon framework.)  Found by Khaled Hosny and Hin-Tak Leung.
+
+	https://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
+	https://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
+
+	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
+	`sort_by_res_id' to control the fragmented resource ordering.
+	* include/internal/ftrfork.h: Declare new switch.
+	* src/base/ftobjs.c (IsMacResource): Enable the sorting for `POST'
+	resource, and disable the sorting for `sfnt' resource.
+
+2013-12-25  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #40997.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Only use OR operator to
+	adjust face flags since FT_FACE_FLAG_EXTERNAL_STREAM might already
+	be set.
+	* src/cff/cffobjs.c (cff_face_init): Ditto.
+	* src/cid/cidobjs.c (cid_face_init): Ditto.
+	* src/pcf/pcfread.c (pcf_load_font): Ditto.
+	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
+	* src/type1/t1objs.c (T1_Face_Init): Ditto.
+	* src/type42/t42objs.c (T42_Face_Init): Ditto.
+	* src/winfonts/winfnt.c (FNT_Face_Init): Ditto.
+
+2013-12-21  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce `coverages'.
+
+	Coverages are the interface to the HarfBuzz library to access
+	OpenType features for handling glyphs not addressable by the cmap.
+
+	Right now, compilation of HarfBuzz is only added to the development
+	build.  A solution for standard build mode will be delayed until
+	HarfBuzz gets split into two libraries to avoid mutual dependencies
+	between FreeType and HarfBuzz.
+
+	Note that this is only a first step in handling coverages, basically
+	providing the framework only.  Code for handling selected OpenType
+	features (this is, actually using the data in `afcover.h') will
+	follow.
+
+	* devel/ftoption.h, include/config/ftoption.h
+	(FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
+
+	* src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
+	New files.
+
+	* src/autofit/afscript.h: Add HarfBuzz script name tags.
+
+	* src/autofit/afstyles.h: Add default coverage enumeration values.
+
+	* src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
+	(AF_Coverage): New enumeration (generated by `afcover.h').
+	(AF_StyleClassRec): New member `coverage'.
+	(AF_DEFINE_STYLE_CLASS): Updated.
+
+	* include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
+	data.
+
+	* src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
+	(AF_SCRIPT_FALLBACK): Renamed to ...
+	(AF_STYLE_FALLBACK): ... this.
+
+	* src/autofit/afglobal.c: Include `hbshim.c'.
+	Update use of `SCRIPT' and `STYLE' macros.
+	(af_face_globals_compute_style_coverage)
+	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
+	Update.
+
+	* src/autofit/afmodule.h (AF_ModuleRec):
+	s/fallback_script/fallback_style/.
+
+	* src/autofit/afmodule.c (af_property_set): Adapt handling of
+	`fallback-script' property to set a fallback style.
+	(af_property_get, af_autofitter_init): Updated.
+
+	* src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
+
+	* src/autofit/afranges.h: Update use of `SCRIPT' macro.
+
+	* src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
+	`hbshim.c'.
+
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
+	(AUTOF_DRV_H): Add `afcover.h'.
+
+	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
+	all libraries needed by FreeType.
+
+2013-12-21  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #40975 (sort of).
+
+	* src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
+	behave the same as the Windows TrueType engine for the invalid case.
+
+2013-12-21  Werner Lemberg  <[email protected]>
+
+	[autofit] Make PIC mode work actually.
+
+	* src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
+	enumeration values automatically generated by including `afscript.h'
+	and friends.
+
+	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
+
+2013-12-21  Werner Lemberg  <[email protected]>
+
+	Fix PIC linking.
+
+	* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
+	generated function name.
+
+	* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
+	to ...
+	(FT_Init_Table_ft_raccess_guess_table): ... this so that the
+	function name correctly corresponds to what the macro framework
+	expects.
+
+	* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
+	that PIC functions are compiled also.
+
+2013-12-21  Werner Lemberg  <[email protected]>
+
+	[base] Add missing dependencies to Makefile.
+
+	* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
+	(BASE_H): Add `basepic.h'.
+
+2013-12-20  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix PIC compilation.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths)
+	[FT_CONFIG_OPTION_PIC]: Declare `globals'.
+
+	* src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
+	AF_DEFINE_STYLE_CLASS.
+
+	* src/autofit/afpic.c: Include `afglobal.h'.
+	(autofit_module_class_pic_init): Typo.
+
+	* src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
+	AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
+	parameter and structure member.
+
+2013-12-20  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce `styles'.
+
+	This is the new top-level structure for handling glyph input data;
+	scripts are now defined separately.
+
+	* src/autofit/aftypes.h (SCRIPT): Updated.
+	(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
+	members to ...
+	(AF_Style_ClassRec): ... this new structure.
+	(AF_Style): New enumeration.
+	(AF_StyleMetricsRec): Replace `script' enumeration with
+	`style_class' pointer.
+	(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
+	(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
+
+	* src/autofit/afstyles.h: New file, using data from `afscript.h'.
+	* src/autofit/afscript.h: Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
+
+	* src/autofit/afglobal.c (SCRIPT): Updated.
+	(STYLE): Redefine macro to load `afstyles.h'.
+	(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
+	(af_style_names): ... this array.
+	(af_face_globals_compute_script_coverage): Renamed to...
+	(af_face_globals_compute_style_coverage): ... this.
+	Updated.
+	(af_face_globals_new, af_face_globals_free,
+	af_face_globals_get_metrics): Updated.
+
+	* src/autofit/afglobal.h (SCRIPT): Updated.
+	(STYLE): Redefine macro to load `afstyles.h'.
+	(AF_SCRIPT_FALLBACK): Update definition.  This will get more
+	refinements with later on.
+	(AF_SCRIPT_UNASSIGNED): Replace with...
+	(AF_STYLE_UNASSIGNED): ... this macro.
+	(AF_FaceGlobalsRec): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
+	af_latin_hint_edges): Updated.
+
+	* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
+	(af_ltn2_uniranges): Removed.
+
+	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+	Updated.
+
+	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
+	* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
+	(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
+	members.
+
+	* src/autofit/afranges.h: Updated.
+
+	* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
+
+2013-12-19  Werner Lemberg  <[email protected]>
+
+	[autofit] Factor scripts and uniranges out of writing system files.
+
+	* src/autofit/afranges.c, src/autofit/afranges.h: New files.
+
+	* src/autofit/afscript.h: Extend `SCRIPT' macro with more
+	parameters, taking data from the writing system files.
+
+	* src/autofit/aftypes.h: Updated.
+
+	* src/autofit/afglobal.c: Include `afranges.h'.
+	Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
+	* src/autofit/afglobal.c: Include `afranges.h'.
+	Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
+
+	* src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
+	* src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
+	* src/autofit/afindic.c, src/autofit/afindic.h: Updated.
+	* src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
+	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: Updated.
+
+	* src/autofit/afpic.c: Updated.
+
+	* src/autofit/autofit.c: Include `afranges.c'.
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
+
+2013-12-18  Werner Lemberg  <[email protected]>
+
+	[autofit] More code orthogonality.
+
+	* src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
+	pointer to an `AF_ScriptClass' structure with `script' index of type
+	`AF_Script'.
+	Move some code around.
+
+	* src/autofit/afcjk.c: Include `afpic.h'.
+	(af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
+	af_cjk_hint_edges): Updated.
+
+	* src/autofit/aflatin.c: Include `afpic.h'.
+	(af_latin_metrics_init_widths, af_latin_metrics_init_blues,
+	af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
+
+	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+	Updated.
+
+2013-12-18  Werner Lemberg  <[email protected]>
+
+	[autofit] s/ScriptMetrics/StyleMetrics/.
+
+2013-12-18  Werner Lemberg  <[email protected]>
+
+	[autofit] s/script_{metrics,hints}/style_{metrics,hints}/
+
+2013-12-18  Werner Lemberg  <[email protected]>
+
+	[autofit] s/gscripts/gstyles/.
+
+2013-12-18  Werner Lemberg  <[email protected]>
+
+	[autofit] s/glyph_scripts/glyph_styles/.
+
+	This is the first commit of a series to create a new top-level
+	structure (a `style') for handling scripts, writing_systems, and
+	soon-to-be-added coverages.
+
+2013-12-17  Werner Lemberg  <[email protected]>
+
+	[autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
+
+2013-12-11  Infinality  <[email protected]>
+
+	[truetype] Simplify logic of rendering modes.
+
+	This patch unifies the subpixel and non-subpixel cases.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
+	`grayscale_hinting'; all code should refer to `grayscale' instead.
+	Remove unused `native_hinting' member.
+	Rename `subpixel_hinting' member to `subpixel.
+
+	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
+	(tt_loader_init): Updated.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
+	Updated.
+
+2013-12-11  Werner Lemberg  <[email protected]>
+
+	[documentation] Add section how to include FreeType header files.
+	Problem reported by David Kastrup <[email protected]>.
+
+	Surprisingly, a description how to do that was completely missing in
+	the API reference.
+
+	* include/freetype.h, include/ftchapters.h: New documentation
+	section `header_inclusion'.
+
+2013-12-10  Werner Lemberg  <[email protected]>
+
+	[autofit] s/DFLT/NONE/, s/dflt/none/.
+
+2013-12-10  Werner Lemberg  <[email protected]>
+
+	[autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
+
+2013-12-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix scaling of vertical phantom points.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
+	pp4.x also.
+
+2013-12-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix positioning of composite glyphs.
+	Problem reported by Nigel Tao <[email protected]>.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
+	the glyph (component) by a fractional value computed from the LSB
+	phantom point.  This is wrong, since the horizontal phantom points
+	get rounded horizontally later on.
+
+2013-12-08  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.2 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-2'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.2.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.1/2.5.2/, s/251/252/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+	* builds/unix/configure.raw (version_info): Set to 17:1:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 2.
+	* docs/CHANGES: Updated.
+
+2013-12-07  Werner Lemberg  <[email protected]>
+
+	[truetype] Next round in phantom point handling.
+
+	Greg Hitchcock provided very interesting insights into the
+	complicated history of the horizontal positions of the TSB and BSB
+	phantom points.
+
+	* src/truetype/ttgload.c (TT_LOADER_SET_PP)
+	[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
+	`grayscale_hinting' flags as conditionals for the x position of TSB
+	and BSB.
+
+2013-12-05  Werner Lemberg  <[email protected]>
+
+	* builds/freetype.mk (FT_CC): Removed.  Unused.
+
+2013-12-04  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix handling of embedded bitmap strikes.
+
+	This corrects the commit from 2013-11-21.  Problem reported by
+	Andrey Panov <[email protected]>.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
+	detect excessive bytes for bit-aligned bitmaps.
+
+2013-12-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove dead code.
+
+	Reported by Nigel Tao <[email protected]>.
+
+	* include/internal/tttypes.h (TT_LoaderRec): Remove unused
+	`preserve_pps' field.
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
+
+2013-12-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix phantom point handling.
+
+	This is a further improvement to the changes from 2013-11-06.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
+	are rounded horizontally, vertical ones are rounded vertically.
+	(TT_LOADER_SET_PP): The horizontal position of vertical phantom
+	points in pre-ClearType mode is zero, as shown in the OpenType
+	specification.
+
+2013-12-02  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix change from 2013-11-20.
+
+	Problem reported by Akira Kakuto <[email protected]>.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
+	`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
+	`IS_HINTED' clause.
+	Also remove redundant check using `maxSizeOfInstructions' – in
+	simple glyphs, the bytecode data comes before the outline data, and
+	a validity test for this is already present.
+
+2013-11-27  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix use of dumping functions in `ftgrid' demo program.
+
+	* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
+	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
+	handle output to stdout.
+	Use AF_DUMP.
+	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
+
+2013-11-25  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-1'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.1.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.0/2.5.1/, s/250/251/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 17:0:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+	* docs/CHANGES, docs/release: Updated.
+
+2013-11-23  Werner Lemberg  <[email protected]>
+
+	[truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
+
+	* src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
+	TRICK_NAMES_COUNT): Updated.
+	(trick_names): Add family name for the two fonts.
+
+2013-11-23  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
+
+2013-11-21  Werner Lemberg  <[email protected]>
+
+	[sfnt] Typo.
+
+	Problem reported by Hin-Tak Leung <[email protected]>.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
+	value if the font lacks an `OS/2' table.
+
+2013-11-21  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve handling of buggy embedded bitmap strikes.
+
+	We are now able to successfully load `AppleMyoungJo.ttf'.
+	Problem reported by Hin-Tak Leung <[email protected]>.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
+	format.
+
+2013-11-20  Werner Lemberg  <[email protected]>
+
+	[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
+
+	Problem reported by Hin-Tak Leung <[email protected]>; see
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
+
+	for details.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
+	tables also for setting `autohint'.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
+	`TT_Process_Composite_Glyph' for handling unreliable values of
+	`maxSizeOfInstructions'.
+
+2013-11-16  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix `OS/2' table version 5 support.
+
+	We now follow the `official' announcement from Microsoft (on the
+	OpenType mailing list, which unfortunately hasn't a public archive).
+
+	* include/freetype/tttables.h (TT_OS2):
+	s/usLowerPointSize/usLowerOpticalPointSize/,
+	s/usUpperPointSize/usUpperOpticalPointSize/.
+
+	* src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
+	default values.
+
+2013-11-13  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ft2unix.h: Remove.  No longer necessary.
+
+	* builds/unix/install.mk (install): Updated.
+
+2013-11-13  Werner Lemberg  <[email protected]>
+
+	Simplify header file hierarchy.
+
+	This large patch changes the header file directory layout from
+	`include/freetype/...' to `include/...', effectively removing one
+	level.  Since the file `ft2build.h' is also located in `include'
+	(and it stays there even after installation), all FreeType header
+	files are now in a single directory.
+
+	Applications that use (a) `freetype-config' or FreeType's
+	`pkg-config' file to get the include directory for the compiler, and
+	(b) the documented way for header inclusion like
+
+	  #include <ft2build.h>
+	  #include FT_FREETYPE_H
+	  ...
+
+	don't need any change to the source code.
+
+	* include/freetype/*: Move up to...
+	* include/*: ... this directory.
+
+	* builds/amiga/include/freetype/*: Move up to...
+	* builds/amiga/include/*: ... this directory.
+
+	*/*: Essentially do `s@/freetype/@/@' where appropriate.
+
+	* CMakeLists.txt: Simplify.
+	* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
+	`--cflags', return a single directory.
+	* builds/unix/install.mk (install): No longer try to remove `cache'
+	and `internal' subdirectories; instead, remove the `freetype'
+	subdirectory.
+
+2013-11-12  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix last `truetype' commit.
+
+	* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
+	Return error value.
+	(load_truetype_glyph): Updated.
+
+2013-11-10  Werner Lemberg  <[email protected]>
+
+	* docs/CMAKE: New dummy file.
+
+2013-11-08  Dave Arnold  <[email protected]>
+
+	[cff] Fix for hints that touch.
+
+	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
+	finding index value of insertion point.
+
+2013-11-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix handling of phantom points in composite glyphs.
+	Problem reported by Nigel Tao <[email protected]>.
+
+	This is a follow-up commit to the previous one.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Call
+	`tt_get_metrics' after loading the glyph header.
+
+2013-11-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve emulation of vertical metrics.
+
+	This commit also improves the start values of vertical phantom
+	points.  Kudos to Greg Hitchcock for help.
+
+	* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
+	`yMax' value.  Replace code with fixed Microsoft definition.
+	(tt_get_metrics): Updated.
+	(TT_LOADER_SET_PP): Add explanation how to initialize phantom
+	points, taken from both the OpenType specification and private
+	communication with Greg (which will eventually be added to the
+	standard).
+	Fix horizontal position of `pp3' and `pp4'.
+
+	* src/truetype/ttgload.h: Updated.
+
+	* src/truetype/ttdriver.c (tt_get_advances): Updated.
+
+	* docs/CHANGES: Updated.
+
+2013-11-05  Werner Lemberg  <[email protected]>
+
+	* builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
+	PlatformToolSet version 110 is for VC2012.
+
+	Problem reported (with solution) by Dave Arnold <[email protected]>.
+
+2013-11-05  Werner Lemberg  <[email protected]>
+
+	[truetype] Correctly reset point tags for glyph components.
+	Problem reported by Nigel Tao <[email protected]>.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
+
+2013-11-02  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
+	get info on subpixel hinting.
+
+	* docs/CHANGES: Updated.
+
+2013-11-02  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #40451.
+
+	Simply apply the patch from the bug report.
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h: The used #pragma directives only
+	work with gcc versions 4.6 and higher.
+
+2013-11-01  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2013-11-01  Werner Lemberg  <[email protected]>
+
+	[truetype] Minor code refactoring.
+
+	Two benefits: The allocated FDEF (and IDEF) array gets slightly
+	smaller, and the `ttdebug' demo program has access to function
+	numbers without additional costs.
+
+	Fortunately, no changes to FontForge are necessary – this is the
+	only external TrueType debugger I know of, but others may exist and
+	should check the code accordingly.
+
+	* src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
+	`Cur_End' with a pointer to the corresponding `TT_DefRecord'
+	structure.
+
+	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
+	Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
+	Updated.
+
+2013-10-27  Werner Lemberg  <[email protected]>
+
+	[sfnt] Implement support for `OS/2' table version 5.
+
+	See
+
+	  http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
+
+	for the announcement.
+
+	* include/freetype/tttables.h (TT_OS2): Add fields
+	`usLowerPointSize' and `usUpperPointSize'.  Since FreeType returns
+	this structure only as a pointer through `FT_Get_Sfnt_Table', there
+	shouldn't be any ABI problems.
+
+	* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
+
+	* docs/CHANGES: Updated.
+
+2013-10-24  Werner Lemberg  <[email protected]>
+
+	* README.git, docs/CHANGES, docs/INSTALL: Updated.
+
+2013-10-24  John Cary  <[email protected]>
+
+	Provide cmake support.
+
+	* CMakeLists.txt: New file.
+
+2013-10-23  Kenneth Miller  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	Provide support for x64 builds in Visual C++ project files.
+
+	* src/builds/win32: Renamed to...
+	* src/builds/windows: This.
+
+	* src/builds/windows/vc2010/*: Updated to handle x64 target.
+
+	* src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
+	appropriate.
+
+2013-10-22  Werner Lemberg  <[email protected]>
+
+	* src/base/md5.c, src/base/md5.h: Updated to recent version.
+
+	* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
+
+	The canonical URL to get updates for this file is
+
+	  https://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
+
+	as the author told me in private communication.
+
+2013-10-19  Werner Lemberg  <[email protected]>
+
+	[autofit] s/SMALL_TOP/X_HEIGHT/.
+
+	* src/autofit/afblue.dat: Updated.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.c, src/autofit/aflatin.h,
+	src/autofit/aflatin2.c: Updated.
+
+2013-10-19  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afblue.dat: s/MINOR/DESCENDER/.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2013-10-16  Werner Lemberg  <[email protected]>
+
+	[autofit] Add description strings to script entries.
+
+	Currently, this is unused.
+
+	* src/autofit/afscript.h: Do it.
+	* src/autofit/afglobal.c, src/autofit/afpic.c,
+	src/autofit/aftypes.h: Updated.
+
+2013-10-16  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing message for extra light flag.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
+
+2013-10-15  Chongyu Zhu  <[email protected]>
+
+	[arm] Fix thumb2 inline assembly under LLVM.
+
+	When using `ADD' with an immediate operand, the instruction is
+	actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
+	immediate operand cannot exceed 4095.  It will fail to compile with
+	LLVM.
+
+	However, in GCC, due to some legacy compatibility considerations,
+	`ADD.W' will be automatically emitted when the immediate operand is
+	larger than 4095.
+
+	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
+	(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
+
+	* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
+
+2013-10-12  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing of `latin' hinter.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
+	zone types.
+	(af_latin_metrics_scale_dim): Report scaling changes due to x height
+	alignment.
+	Report scaled stroke width and blue zone values.
+
+2013-10-03  Dave Arnold  <[email protected]>
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
+
+	Note that the old code avoided using a region of the piecewise
+	linear function where the slope was zero.  The recovery was to use a
+	different section of the function, which produced a different,
+	incorrect amount of darkening.
+
+2013-10-02  Darrell Bellert  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
+
+2013-10-02  Dave Arnold  <[email protected]>
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
+
+	This line was lost in commit 89ca1fd6 (from 2013-06-25).  The effect
+	is to use a previous darkening amount when producing an unhinted,
+	unscaled outline.  This can cause autohint samples in ftgrid and
+	ftview to be based on darkened CFF outlines instead of unhinted,
+	undarkened ones.
+
+2013-09-29  Dave Arnold  <[email protected]>
+
+	Fix Savannah bug #39295.
+
+	The bug was caused by switching to the initial hintmap (the one in
+	effect when `moveto' executes) just before drawing the final element
+	in the charstring.  This ensured that the path was closed (in both
+	Character Space and Device Space).  But if the final element was a
+	curve and if the final hintmap was different enough from the initial
+	one, then the curve was visibly distorted.
+
+	The first part of the fix is to draw the final curve using the final
+	hintmap as specified by the charstring.  This corrects the
+	distortion but does not ensure closing in Device Space.  It may
+	require the rasterizer to automatically generate an extra closing
+	line.  Depending on the hintmap differences, this line could be from
+	zero to a couple pixels in length.
+
+	The second part of the fix covers the case where the charstring
+	subpath is closed with an explicit line.  We now modify that line's
+	end point to avoid the distortion.
+
+	Some glyphs in the bug report font (TexGyreHeros-Regular) that show
+	the change are:
+
+	  25ppem    S (98)
+	  24ppem    eight (52)
+	  25.5ppem  p (85)
+
+	Curves at the *end* of a subpath are no longer distorted.  However,
+	some of these glyphs have bad hint substitutions in the middle of a
+	subpath, and these are not affected.
+
+	The patch has been tested with a set of 106 fonts that shipped with
+	Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
+	Google Fonts.  There are 1.5 million glyphs, of which some 20k are
+	changed with the fix.  A sampling of a few hundred of these changes
+	have been examined more closely, and the changes look good (or at
+	least acceptable).
+
+	* src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
+	to indicate that we synthesize a closepath line.
+
+	* src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
+	(cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
+	`lineto' operator) and adjust hint zone.
+	For synthesized closing lines, use end point in first hint zone.
+	(cf2_glyphpath_lineTo): Take care of synthesized closing lines.  In
+	particular, shift the detection of zero-length lines from character
+	space to device space.
+	(cf2_glyphpath_closeOpenPath): Remove assertion.
+	Updated.
+
+2013-09-25  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
+
+2013-09-25  suzuki toshiya  <[email protected]>
+
+	[bdf, pcf] Refuse non-zero face_index.
+
+	Suggested by Akira Tagoh, see
+
+	  https://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Return `Invalid_Argument'
+	error if the font could be opened but non-zero `face_index' is
+	given.
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
+
+	* src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
+	macro for `face_index' because it is validated later.
+
+2013-09-23  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #40090.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
+	306f8c5d (from 2013-08-25) affecting this function.
+
+2013-09-22  Werner Lemberg  <[email protected]>
+
+	[autofit] Disunify Cyrillic and Greek handling from Latin.
+
+	* src/autofit/afscript.h: Add Cyrillic and Greek.
+
+	* src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
+	AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
+	(AF_BLUE_STRINGSET_LATN): Fix typo.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
+	arrays.
+	(af_grek_script_class, af_cyrl_script_class): New scripts.
+	* src/autofit/aflatin.h: Updated.
+
+2013-09-20  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2013-09-20  Behdad Esfahbod  <[email protected]>
+
+	Fix vertical size of emboldened glyphs.
+
+	Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
+	also.
+
+2013-09-11  Alexei Podtelezhnikov  <[email protected]>
+
+	* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
+	algorithm description.
+
+2013-09-11  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve Hebrew rendering.
+
+	This change introduces a new blue zone property
+	`AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
+	top segments.
+
+	* src/autofit/afblue.dat: Fix Hebrew blue strings.
+	Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
+	`AF_LATIN_IS_LONG_BLUE'.
+
+	* src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
+
+2013-08-28  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] Fix frame access while reading WOFF table directory.
+
+	* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
+	while reading the directory entries for the whole loop.
+
+2013-08-29  Werner Lemberg  <[email protected]>
+            Behdad Esfahbod  <[email protected]>
+
+	Implement support for WOFF containers.
+
+	We simply synthesize a SFNT from the WOFF, create a memory stream
+	for the new data, and load the SFNT as usual.
+
+	Does NOT add any API to access WOFF metadata or private blocks.
+
+	* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
+	WOFF_TableRec): New structures.
+
+	* include/freetype/tttags.h (TTAG_wOFF): New macro.
+
+	* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
+	`open_face'.
+
+	* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
+	`FT_GZIP_H'.
+	(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
+	writing to a stream.
+	(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
+	(sfnt_open_font): Handle `TTAG_wOFF'.
+	(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
+
+	* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
+	`sfnt->init_face'.
+
+	* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
+	argument so that a changed stream survives.
+	Update callers.
+
+2013-08-28  Werner Lemberg  <[email protected]>
+
+	[gzip] New function `FT_Gzip_Uncompress'.
+
+	This is modeled after zlib's `uncompress' function.  We need this
+	for WOFF support.
+
+	* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
+	New function.
+
+	* src/gzip/rules.mk: Rewrite to better reflect dependencies.
+
+2013-08-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix `make multi' compilation.
+
+	* src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
+	`afblue.h' but `aftypes.h'.
+	* src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
+
+2013-08-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix C++ compilation.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics),
+	src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
+	(af_deva_script_class): Use proper casts.
+
+2013-08-27  Behdad Esfahbod  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
+
+2013-08-27  Behdad Esfahbod  <[email protected]>
+
+	FT_Open_Face: Improve external stream handling.
+
+	If the font's `clazz->init_face' function wants to swap to new
+	stream, handling of whether original stream was external could
+	result to either memory leak or double free.  Mark externality into
+	face flags before calling `init_face' such that the clazz can handle
+	external streams properly.
+
+	* src/base/ftobjs.c (FT_Open_Face): Move code to set
+	FT_FACE_FLAG_EXTERNAL_STREAM to...
+	(open_face): This function.
+
+2013-08-27  Werner Lemberg  <[email protected]>
+
+	Remove `FT_SqrtFixed' function.
+
+	It's no longer used.
+
+	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
+
+2013-08-27  Werner Lemberg  <[email protected]>
+
+	[autofit] While tracing, report script names instead of ID values.
+
+	* src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
+	New array.
+	* src/autofit/afglobal.h: Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_hint_edges): Use `af_script_names'.
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_hint_edges): Ditto.
+
+2013-08-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Report used script while hinting a glyph.
+
+	* src/autofit/afcjk.c (af_cjk_hint_edges), src/autofit/aflatin.c
+	(af_latin_hint_edges): Implement it.
+
+2013-08-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Hebrew script.
+
+	* src/autofit/afblue.dat: Add blue strings for Hebrew.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.c (af_hebr_uniranges): New array.
+	(af_hebr_script_class): New script.
+	* src/autofit/aflatin.h, src/autofit/afscript.h: Updated.
+
+2013-08-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing messages.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Mention script
+	ID in tracing message.
+	(af_cjk_metrics_init_blues): Initialize `axis' outside of the inner
+	loop.
+	Improve tracing messages.
+	(af_cjk_hint_edges) [FT_DEBUG_LEVEL_TRACE]: New variable
+	`num_actions' to count hinting actions.
+	Improve tracing messages.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Mention
+	script ID in tracing message.
+	(af_latin_metrics_init_blues, af_latin_hint_edges): Improve tracing
+	messages.
+
+2013-08-26  Werner Lemberg  <[email protected]>
+
+	Better tracing of loaded glyphs.
+
+	Previously, the loading of a glyph was traced at level 4, if at all.
+	With this change, all font loading routines emit a tracing message
+	at level 1, making it easier to select tracing output (for example
+	using F2_DEBUG="any:1 afhints:7 aflatin:7").
+
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
+	* src/cff/cffdrivr.c (cff_glyph_load): Ditto.
+	* src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
+	messages.
+	* src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
+	message.
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
+	* src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
+	* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
+	* src/type1/t1gload.c (T1_Load_Glyph): Ditto.
+	* src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
+
+2013-08-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix script selection.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Use
+	`AF_SCRIPT_DFLT', not value 0.
+	Simplify code.
+
+	* src/autofit/afscript.h: Sort by script name.
+
+2013-08-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Make `dummy' hinter work as expected.
+
+	* src/autofit/afdummy.c (af_dummy_hints_init): Properly set scaling
+	information.
+	(af_dummy_hints_apply): Scale the glyphs.
+
+2013-08-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Make `cjk' module use blue stringsets.
+
+	* src/autofit/afcjk.c (AF_CJK_MAX_TEST_CHARACTERS): Removed.
+	(af_cjk_hani_blue_chars): Removed.
+	(AF_CJK_BLUE_TYPE_*): Removed.
+	(af_cjk_metrics_init_blues): Replace AF_CJK_MAX_TEST_CHARACTERS with
+	AF_BLUE_STRING_MAX_LEN.
+	Change loops to use offsets (in file `afblue.h') into the new arrays
+	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
+	Instead of three dimensions (as used in the old blue string array)
+	we now use properties to do the same, saving one loop nesting level.
+
+	* src/autofit/afcjk.h: Remove old enumeration values superseded by
+	the new data in `afblue.h'.
+	(AF_CJK_IS_TOP_BLUE, AF_CJK_IS_HORIZ_BLUE, AF_CJK_IS_FILLED_BLUE,
+	AF_CJK_IS_RIGHT_BLUE): New macros, to be used in
+	`af_cjk_metrics_init_blues'.
+	(AF_CJK_BLUE_IS_RIGHT): Remove this now redundant enum value.
+	(AF_CJK_BLUE_IS_TOP): Renamed to...
+	(AF_CJK_BLUE_TOP): This.
+	(AF_CJK_MAX_BLUES): Remove.
+	(AF_CJKAxisRec): Updated.
+
+2013-08-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Typo.
+
+	* src/autofit/afblue.hin, src/autofit/afblue.c (GET_UTF8_CHAR): Use
+	cast.
+
+2013-08-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Synchronize `cjk' with `latin' module (and vice versa).
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Add tracing
+	messages.
+	(af_cjk_metrics_init_blues): Don't pass blue string array as
+	argument but use the global array directly.
+	Use `outline' directly.
+	Update and add tracing messages.
+	(af_cjk_metrics_init): Simplify code.
+	(af_cjk_metrics_scale_dim): Improve tracing message.
+	(af_cjk_metrics_scale): Synchronize.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues): Improve and add tracing messages.
+
+2013-08-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Make `latin' module use blue stringsets.
+
+	* src/autofit/aflatin.c (AF_LATIN_MAX_TEST_CHARACTERS): Removed.
+	(af_latin_blue_chars): Removed.
+	(af_latin_metrics_init_blues): Replace AF_LATIN_MAX_TEST_CHARACTERS
+	with AF_BLUE_STRING_MAX_LEN.
+	Change loops to use offsets (in file `afblue.h') into the new arrays
+	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
+	Use `AF_LATIN_IS_SMALL_TOP_BLUE' macro.
+
+	* src/autofit/aflatin.h: Remove old enumeration values superseded by
+	the new data in `afblue.h'.
+	(AF_LATIN_IS_TOP_BLUE): Updated definition.
+	(AF_LATIN_IS_SMALL_TOP_BLUE): New macro.
+	(AF_LATIN_MAX_BLUES): Remove.
+	(AF_LatinAxisRec): Updated.
+
+2013-08-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue stringsets.
+
+	* src/autofit/aftypes.h: Include `afblue.h'.
+	(AF_ScriptClassRec): Add `blue_stringset' field.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/autofit.c: Include `afblue.c'.
+
+	* src/autofit/afcjk.c (af_hani_script_class), src/autofit/afdummy.c
+	(af_dflt_script_class), src/autofit/afindic.c
+	(af_deva_script_class), src/autofit/aflatin.c
+	(af_latn_script_class), src/autofit/aflatin2.c
+	(af_ltn2_script_class): Updated.
+
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afblue.c'.
+
+2013-08-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce data file for blue strings.
+
+	The idea is to have a central file which gets processed by a Perl
+	script to create proper `.c' and `.h' files using templates.  There
+	are two other reasons to do that:
+
+	  . The data file should be easily readable.  We use UTF-8 encoding
+	    which then gets converted to single bytes.
+
+	  . Since the number of supported scripts will increase soon, the
+	    current usage of blue string arrays is a waste of space.  Using
+	    the Perl script it is possible to imitate jagged arrays,
+	    defining enumeration constants as offsets into the arrays.
+
+	This commit only adds files without changing any functionality.
+
+	* src/autofit/afblue.dat: New data file.
+	* src/tools/afblue.pl: New Perl script for processing `afblue.dat'.
+
+	* src/autofit/afblue.cin, src/autofit/afblue.hin: New template files
+	for...
+	* src/autofit/afblue.c, src/autofit/afblue.c: New source files.
+	To avoid a dependency on Perl, we add them too.
+
+2013-08-19  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Enable new algorithm for `BBox_Cubic_Check'.
+
+	* src/base/ftbbox.c: Enable new BBox_Cubic_Check algorithm, remove
+	the old one.
+	Improve comments.
+
+2013-08-18  Werner Lemberg  <[email protected]>
+
+	* builds/unix/unix-def.in (freetype2.pc): Don't set executable bit.
+
+2013-08-18  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #39804.
+
+	* builds/unix/configure.raw (LIBPNG): Define and export.
+	* builds/unix/freetype-config.in, builds/unix/freetype2.in: Handle
+	libpng.
+
+2013-08-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Clean up BBox_Conic_Check.
+
+	* src/base/ftbbox.c (BBox_Conic_Check): Remove redundant checks for
+	extremum at the segment ends, which are already within the bbox.
+	Slightly modify calculations.
+
+2013-08-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Finish experimental (disabled) BBox_Cubic_Check implementation.
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Scale arguments to improve
+	accuracy and avoid overflows.
+
+2013-08-13  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Refactor experimental (disabled) BBox_Cubic_Check.
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Implement the minimum search
+	as the mirror image of the maximum search implemented here...
+	(update_max): New function.
+
+2013-08-06  John Tytgat  <[email protected]>
+
+	Fix Savannah bug #39702.
+
+	* src/cff/cffload.c (cff_index_get_pointers): Check for `cur_offset
+	!= 0'; this stronger test is mandated by the CFF specification.
+	Fix test for INDEX structures which have one or more empty entries
+	at the end.
+
+2013-08-05  Werner Lemberg  <[email protected]>
+
+	Fix gcc pragmas, part 2.
+
+	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
+	TT_DotFix14_long_long): `#pragma gcc diagnostic {push,pop}' has been
+	introduced with gcc version 4.6.
+
+2013-08-05  Werner Lemberg  <[email protected]>
+
+	Fix gcc pragmas.
+
+	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
+	TT_DotFix14_long_long): Older gcc versions don't accept diagnostic
+	pragmas within a function body.
+
+2013-08-05  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #39700.
+
+	* builds/unix/ftconfig.h: Synchronize with
+	`include/freetype/config/ftconfig.h'.
+
+	* builds/vms/ftconfig.h: Ditto.
+	Make the differences to the master `ftconfig.h' file as small as
+	possible for easier maintenance.
+
+2013-08-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve handling of `near' points.
+
+	Points which are very near to each other are now marked as such.
+	The `weak' flag is then computed by using the `in' vector of the
+	first and the `out' vector of the last point of a group of near
+	points.
+
+	For example, this fixes the rendering of glyph `Oslash' in
+	`Roboto-Thin.ttf'.
+
+	* src/autofit/afhints.h (AF_Flags): New value `AF_FLAGS_NEAR'.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Introduce
+	the heuristic value `near_limit' to decide whether the current point
+	is near to the previous one, then set `AF_FLAG_NEAR' accordingly.
+	Store good `in' vector (of last non-near point) in
+	`last_good_in_{x,y}' and use it as an argument to
+	`ft_corner_is_flat' if necessary.
+
+2013-08-02  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftcffdrv.h: Improve documentation.
+	This is based on blog entries from David Lemon and Dave Arnold (both
+	from Adobe) with kind permission.  Dave also helped in
+	proof-reading.
+
+2013-08-02  Werner Lemberg  <[email protected]>
+
+	[autofit] Move declaration of scripts into separate file.
+
+	This has the benefit that we don't need to duplicate the data at
+	different places.
+
+	* src/autofit/afscript.h: New file.
+
+	* src/autofit/aftypes.h (AF_Script): Include `afscript.h' to define
+	the enumeration values.
+
+	* src/autofit/afglobal.c: Include `afscript.h' to get the script
+	specific header files.
+	(af_script_classes): Include `afscript.h' to fill this array.
+
+	* src/autofit/afpic.c: Include `afscript.h' to get the script
+	specific header files.
+	(autofit_module_class_pic_init): Include `afscript.h' for
+	initialization.
+	* src/autofit/afpic.h (AF_SCRIPT_CLASSES_COUNT,
+	AF_SCRIPT_CLASSES_REC_COUNT): Removed.  Use `AF_SCRIPT_MAX' instead.
+
+	* src/autofit/rules.mk (AUTOF_DRV_H): Updated.
+
+2013-08-02  Werner Lemberg  <[email protected]>
+
+	[autofit] Move declaration of writing systems into separate file.
+
+	This has the benefit that we don't need to duplicate the data at
+	different places.
+
+	* src/autofit/afwrtsys.h: New file.
+
+	* src/autofit/aftypes.h (AF_WritingSystem): Include `afwrtsys.h' to
+	define the enumeration values.
+
+	* src/autofit/afglobal.c: Include `afwrtsys.h' to get the writing
+	system specific header files.
+	Include `afpic.h'.
+	(af_writing_system_classes): Include `afwrtsys.h' to fill this
+	array.
+
+	* src/autofit/afpic.c: Include `afwrtsys.h' to get the writing
+	system specific header files.
+	(autofit_module_class_pic_init): Include `afwrtsys.h' for
+	initialization.
+	* src/autofit/afpic.h (AF_WRITING_SYSTEM_CLASSES_COUNT,
+	AF_WRITING_SYSTEM_CLASSES_REC_COUNT): Removed.  Use
+	`AF_WRITING_SYSTEM_MAX' instead.
+
+2013-08-02  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix compilation with g++.
+
+	* src/sfnt/pngshim.c (error_callback, read_data_from_FT_stream): Use
+	cast.
+	(Load_SBit_Png): Pacify compiler.
+
+2013-08-02  suzuki toshiya  <[email protected]>
+            Werner Lemberg  <[email protected]>
+
+	[autofit] Fix `make multi'.
+
+	* include/freetype/config/ftconfig.h (FT_LOCAL_ARRAY,
+	FT_LOCAL_ARRAY_DEF): New macros.
+
+	* src/autofit/afglobal.c (af_writing_system_classes,
+	af_script_classes): Use FT_LOCAL_ARRAY_DEF.
+	* src/autofit/afglobal.h: Declare `af_writing_system_classes' and
+	`af_script_classes'.
+	* src/autofit/afloader.c: Include `afpic.h'.
+
+2013-08-01  Werner Lemberg  <[email protected]>
+
+	Another round of cppcheck nitpicks.
+
+	The call was (from the top-level of the FreeType tree):
+
+	  cppcheck --force \
+	           --enable=all \
+	           -I /usr/include \
+	           -I /usr/local/include \
+	           -I /usr/lib/gcc/i586-suse-linux/4.7/include \
+	           -I include \
+	           -I include/freetype \
+	           -I include/freetype/config \
+	           -I include/freetype/internal \
+	           -DFT2_BUILD_LIBRARY \
+	           . &> cppcheck.log
+
+	using cppcheck git commit f7e93f99.
+
+	Note that cppcheck still can't handle `#include FOO' (with `FOO' a
+	macro).
+
+	*/* Improve variable scopes.
+	*/* Remove redundant initializations which get overwritten.
+
+	* src/gxvalid/*: Comment out redundant code or guard it with
+	FT_DEBUG_LEVEL_TRACE.
+
+2013-07-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce `writing systems'.
+
+	This patch adds a new top level to the auto-hinter's script class
+	hierarchy.  It defines `writing systems' which can contain multiple
+	scripts.
+
+	For example, the `latin' writing system (in file `aflatin.c') is
+	able to support scripts like Latin, Cyrillic, Armenian, etc., which
+	can be handled similarly.
+
+	Scripts are now named using four-letter OpenType tags.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Move relevant members
+	to...
+	(AF_WritingSystemClassRec): This new structure.  It holds pointers
+	to functions which can be shared among related scripts.
+	(AF_WritingSystem): New enumeration.
+	(AF_Script): Revised values using four-letter tags.
+	(AF_DEFINE_WRITING_SYSTEM_CLASS): New macro.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/afglobal.c (af_writing_system_classes): New global,
+	constant array.
+	(af_script_classes): Updated.
+	(af_face_globals_free): Updated.
+	Remove assertion.
+	(af_face_globals_get_metrics): Updated.
+
+	* src/autofit/afglobal.h (AF_SCRIPT_FALLBACK)
+	[!AF_CONFIG_OPTION_CJK]: Handle this case.
+
+	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+	Updated.
+
+	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated;
+	initialize structures for both writing systems and scripts.
+	* src/autofit/afpic.h: Updated.
+	(AF_WRITING_SYSTEM_CLASSES_GET): New macro.
+
+	* src/autofit/afcjk.c (af_cjk_writing_system_class): New writing
+	system.
+	(af_cjk_uniranges): Renamed to...
+	(af_hani_uniranges): This.
+	(af_cjk_script_class): Reduced and renamed to...
+	(af_hani_script_class): This.
+	* src/autofit/afcjk.h: Updated.
+
+	* src/autofit/afdummy.c (af_dummy_writing_system_class): New writing
+	system.
+	(af_dummy_script_class): Reduced and renamed to...
+	(af_dflt_script_class): This.
+	* src/autofit/afdummy.h: Updated.
+
+	* src/autofit/afindic.c (af_indic_writing_system_class): New writing
+	system.
+	(af_indic_uniranges): Renamed to...
+	(af_deva_uniranges): This.
+	(af_indic_script_class): Reduced and renamed to...
+	(af_deva_script_class): This.
+	* src/autofit/afcjk.h: Updated.
+
+	* src/autofit/aflatin.c (af_latin_writing_system_class): New writing
+	system.
+	(af_latin_uniranges): Renamed to...
+	(af_latn_uniranges): This.
+	(af_latin_script_class): Reduced and renamed to...
+	(af_latn_script_class): This.
+	* src/autofit/aflatin.h: Updated.
+
+	* src/autofit/aflatin2.c (af_latin2_writing_system_class): New
+	writing system.
+	(af_latin2_uniranges): Renamed to...
+	(af_ltn2_uniranges): This.
+	Synchronize ranges with `latin'.
+	(af_latin2_script_class): Reduced and renamed to...
+	(af_ltn2_script_class): This.
+	* src/autofit/aflatin2.h: Updated.
+
+2013-07-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Variable renaming.
+
+	* src/autofit/aftypes.h (AF_ScriptMetricsRec):
+	s/clazz/script_class/.
+	Update all users.
+
+2013-07-30  suzuki toshiya  <[email protected]>
+
+	Ignore libpng-config under cross-building configuration,
+	because it will return the flags for the hosting environment.
+
+	* builds/unix/configure.raw: Ignore libpng-config when
+	`cross_compiling' == yes.
+
+2013-07-30  Behdad Esfahbod  <[email protected]>
+
+	Prevent division by zero by a transparent color.
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra):
+	Return 0 immediately, when alpha channel is zero.
+
+2013-07-25  Behdad Esfahbod  <[email protected]>
+
+	Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR.
+
+	Also disambiguate Google's color bitmap tables.
+
+	* include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR):
+	New macros.
+
+	* include/freetype/internal/tttypes.h (TT_SbitTableType): Add
+	TT_SBIT_TABLE_TYPE_CBLC.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit,
+	tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle
+	TT_SBIT_TABLE_TYPE_CBLC.
+
+2013-07-24  suzuki toshiya  <[email protected]>
+
+	[sfnt] Fix for `make multi' target.
+
+	* src/sfnt/pngshim.c (Load_SBit_Png): Use FT_LOCAL_DEF().
+
+2013-07-20  Werner Lemberg  <[email protected]>
+
+	* docs/INSTALL.GNU: Updated.
+
+2013-07-20  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] Fix `sbix' table version handling.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
+	USHORT version numbers are to be considered as `minor'.
+
+2013-07-19  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix segment classification for blue zones.
+
+	The old code (essentially unchanged since the very beginning)
+	incorrectly handled this configuration
+
+	               x -o- x
+	                /   \
+	               /     \
+	              /       \
+	             o         o
+
+	as flat and this
+
+	                o               o
+	               /               /
+	             x|              x|
+	              |               |
+	              o---------------o
+
+	as round.  (`o' and `x' are on and off points, respectively).
+
+	This is a major change which should improve the rendering results
+	enormously for many TrueType fonts, especially in the range approx.
+	20-40ppem, fixing the appearance of many overshoots.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Look at the
+	first and last points of the segment, not the points right before
+	and after.
+
+2013-07-19  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] `sbix' fix-ups.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps
+	are rendered scaled and then the `glyf' outline rendered on top.  We
+	don't support that yet, so just ignore the `glyf' outline and
+	advertise it as a bitmap-only font.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
+	[TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units.
+	(tt_face_load_sbix_image): Typo.
+
+2013-07-18  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] Add support for Apple's `sbix' color bitmap table.
+
+	* include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen
+	fields to FT_Short and FT_UShort, respectively.
+	(TT_SbitTableType): New enumeration.
+	(TT_FaceRec): Add `sbit_table_type' field.
+
+	* include/freetype/tttags.h (TTAG_sbix): New macro.
+
+	* src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic
+	FT_GlyphSlot argument instead FT_Bitmap.
+	Add flag to control map and metrics handling.
+	Update all users.
+
+	* src/sfnt/ttsbit.c: Include `ttmtx.h'.
+	(tt_face_load_eblc): Renamed to...
+	(tt_face_load_sbit): This.
+	Handle `sbix' bitmaps.
+	(tt_face_free_eblc): Renamed to...
+	(tt_face_load_sbit): This.
+	Updated.
+	(tt_face_load_strike_metrics): Handle `sbix' bitmaps.
+	(tt_face_load_sbix_image): New function.
+	(tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image,
+	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
+	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
+	tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass
+	and handle load flags.
+	(tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better
+	handle formats 17-19.
+	Move color to grayscale conversion to...
+	(tt_face_load_sbit_image): Here.
+	Handle `sbix' bitmaps.
+
+	* src/sfnt/pngshim.h: Updated.
+	* src/sfnt/ttsbit.h: Updated.
+	* src/sfnt/sfdriver.c: Updated.
+
+2013-07-18  Werner Lemberg  <[email protected]>
+
+	[sfnt] Ignore invalid magic number in `head' or `bhed'.
+
+	Other font engines seem to ignore it also.  Problem reported by
+	Hin-Tak Leung <[email protected]>.
+
+	* src/sfnt/ttload.c (check_table_dir): Don't abort but warn only if
+	we have an invalid magic number.
+
+2013-07-16  Werner Lemberg  <[email protected]>
+
+	[smooth] Fix segfault caused by previous commit.
+
+	* src/smooth/ftgrays.c (gray_set_cell): Always compute
+	`ras.invalid'.
+
+2013-07-16  David Turner  <[email protected]>
+
+	[smooth] Improve performance.
+
+	Provide a work-around for an ARM-specific performance bug in GCC.
+	This speeds up the rasterizer by more than 5%.
+
+	Also slightly optimize `set_gray_cell' and `gray_record_cell' (which
+	also improves performance on other platforms by a tiny bit (<1%).
+
+	* src/smooth/ftgrays.c (FT_DIV_MOD): New macro.
+	Use it where appropriate.
+
+	(gray_record_cell, gray_set_cell, gray_move_to,
+	gray_convert_glyph_inner): Streamline condition handling.
+
+2013-07-16  David Turner  <[email protected]>
+
+	[truetype] Add assembler code for TT_MulFix14 and TT_DotFix14.
+
+	This patch provides slightly optimized versions for ARM, x86, and
+	x86_64 CPUs if built with GCC.
+
+	Also remove some dead code.
+
+	* src/truetype/ttinterp.c (TT_MulFix14_arm, TT_MulFix14_long_long,
+	TT_DotFix14_long_long): New functions.
+
+2013-07-16  David Turner  <[email protected]>
+
+	Optimize FT_MulFix for x86_64 GCC builds.
+
+	This patch provides an optimized `FT_MulFix' implementation for
+	x86_64 machines when FreeType is built with GCC, or compatible
+	compilers like Clang.
+
+	Example:
+	  bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
+
+	Before:
+
+	  Load                       4.863 us/op
+	  Load_Advances (Normal)     4.816 us/op
+	  Load_Advances (Fast)       0.028 us/op
+	  Render                     2.753 us/op
+	  Get_Glyph                  0.463 us/op
+	  Get_CBox                   0.077 us/op
+	  Get_Char_Index             0.023 us/op
+	  Iterate CMap              13.898 us/op
+	  New_Face                  12.368 us/op
+	  Embolden                   0.028 us/op
+	  Get_BBox                   0.302 us/op
+
+	After:
+
+	  Load                       4.617 us/op
+	  Load_Advances (Normal)     4.645 us/op
+	  Load_Advances (Fast)       0.027 us/op
+	  Render                     2.789 us/op
+	  Get_Glyph                  0.460 us/op
+	  Get_CBox                   0.077 us/op
+	  Get_Char_Index             0.024 us/op
+	  Iterate CMap              13.403 us/op
+	  New_Face                  12.278 us/op
+	  Embolden                   0.028 us/op
+	  Get_BBox                   0.301 us/op
+
+	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
+	(FT_MulFix_x86_64): New function.
+
+2013-07-16  David Turner  <[email protected]>
+
+	Speed up ARMv7 support.
+
+	When building for ARMv7 with thumb2 instructions, the optimized
+	`FT_MulFix_arm' assembly routine was not being used.
+
+	The reason for this is in the `ftconfig.h' header, namely:
+
+	- The assembly routine uses the `smull' instruction which is not
+	  available when generating Thumb-1 machine code.  It is available
+	  in Thumb-2 mode, though.
+
+	- The header was written a long time ago before Thumb-2 became
+	  widely popular (e.g. with Android).  So it simply doesn't use the
+	  assembly routine if the `__thumb__' built-in macro is defined.
+
+	- When compiling in Thumb-2 mode, the compiler will define both
+	  `__thumb__' and `__thumb2__'.
+
+	By checking for `(__thumb2__ || !__thumb__)', we ensure that the
+	assembly routine is only avoided when generating Thumb-1 code.
+
+	Given that this is performance-sensitive function, this improves
+	`ftbench' as follows on a Galaxy Nexus:
+
+	                           Before (us/op)   After (us/op)
+
+	  - loading Arial.ttf glyphs at 14 ppem [1]
+
+	      Load                   34.285          33.098
+
+	  - same operation with the light auto-hinter [2]
+
+	      Load                   31.317          29.590
+
+	  - same operation without hinting [3]
+
+	      Load                    6.143           5.376
+
+	  - loading Arial.ttf advances at 14 ppem [4]
+
+	      Load_Advances (normal) 34.216          33.016
+	      Load_Advances (fast)    0.176           0.176
+
+	  [1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf
+	  [2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf
+	  [3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf
+	  [4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf
+
+	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
+	(FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
+
+2013-06-28  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2013-06-27  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix bitmap width guard.
+
+2013-06-25  Werner Lemberg  <[email protected]>
+
+	[cff] Add darkening limit to `darkening-parameters'.
+
+	* src/cff/cffdrivr.c (cff_property_set): Add check.
+
+2013-06-25  Werner Lemberg  <[email protected]>
+
+	[cff] Add `darkening-parameters' property.
+
+	* include/freetype/ftcffdrv.h: Document it.
+
+	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
+	`darkening-parameters' property.
+
+	* src/cff/cf2font.h (CF2_FontRec): Add `darkenParams' array.
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Add `darkenParams'
+	argument and use it.
+	Update all callers.
+
+	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Copy
+	`darken_params' values.
+
+	* src/cff/cffobjs.h (CFF_DriverRec): Add `darken_params' array.
+
+	* src/cff/cffobjs.c (cff_driver_init): Set default values for
+	`darken_params'.
+
+2013-06-25  Werner Lemberg  <[email protected]>
+
+	[docmaker] Code shuffling.
+
+	* src/tools/docmaker/tohtml.py (re_url): Move regexp...
+	* src/tools/docmaker/sources.py: ... to this file.
+
+2013-06-25  Werner Lemberg  <[email protected]>
+
+	[docmaker] Remove unused functions.
+
+	* src/tools/docmaker/content.py (DocMarkup.get_start,
+	DocBlock.get_markup_name): Removed.
+	* src/tools/docmaker/tohtml.py (html_quote0, dump_html_code,
+	HtmlFormatter.make_html_words): Removed.
+
+2013-06-25  Werner Lemberg  <[email protected]>
+
+	* builds/freetype.mk (dll): Remove target.
+
+	Problem reported by Jörg Günnewig <[email protected]>.
+
+2013-06-25  Werner Lemberg  <[email protected]>
+
+	[docmaker] Recognise URLs.
+
+	* src/tools/docmaker/tohtml.py (re_url): New regular expression.
+	(make_html_para): Use it.
+
+2013-06-19  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.0.1 released.
+	===========================
+
+
+	Tag sources with `VER-2-5-0-1'.
+
+	* include/freetype/config/ftoption.h: Undefine
+	CFF_CONFIG_OPTION_OLD_ENGINE.
+	* devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE.
+
+2013-06-19  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install.mk (install): Don't create `cache' directory.
+
+	Found by Peter Breitenlohner <[email protected]>.
+
+2013-06-19  Werner Lemberg  <[email protected]>
+
+	* Version 2.5.0 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-0'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.0.
+
+	* README, Jamfile (RefDoc),
+	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproj,
+	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+	builds/win32/visualce/freetype.vcproj,
+	builds/win32/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 16:2:10.
+
+	* src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
+	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
+
+2013-06-18  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #39269.
+
+	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in
+	case of reallocation failures.
+
+2013-06-18  Andrew Church  <[email protected]>
+
+	Fix Savannah bug #39266.
+
+	If memory allocations fail at certain points while opening a font,
+	FreeType can either crash due to a NULL dereference or leak memory.
+
+	* include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
+	FT_LibraryRec): Make `refcount' a signed integer.  If, for example,
+	FT_Open_Face() fails in a memory allocation before the face's
+	reference count is set to 1, a subsequent `FT_Done_Library' call
+	would otherwise loop over `FT_Done_Face' 2^32 times before freeing
+	the face.
+
+	* src/base/ftobjs.c (open_face): Initialize `stream' and friends
+	earlier.
+	(FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
+	(FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
+
+2013-06-14  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
+
+2013-06-06  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[cff] Add code to Adobe's engine to handle ppem > 2000.
+
+	* src/cff/cffgload.c (cff_slot_load): If we get
+	FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
+
+2013-06-12  Werner Lemberg  <[email protected]>
+
+	Another try on pragmas.
+
+	* include/freetype/internal/ftdebug.h: Move pragmas to...
+	* include/freetype/internal/internal.h: ... this file since it gets
+	included by all source files.
+	* include/freetype/internal/ftserv.h: Remove pragma which has no
+	effect.
+
+2013-06-12  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.
+
+	This partially undoes commit 3f6e0e0c.
+
+2013-06-12  Werner Lemberg  <[email protected]>
+
+	More compiler warning fixes.
+
+	*/*: Use cast to `FT_Bool' (or `Bool') where appropriate.
+
+2013-06-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve handling of broken sbit advance widths.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled)
+	`linearHoriAdvance' if the sbit's `horiAdvance' value is zero.
+
+	Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem.
+
+2013-06-10  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve embedded bitmap tracing.
+
+	* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
+	bitmap strike match to...
+	(FT_Match_Size): This function.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
+	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
+	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
+	tt_sbit_decoder_load_image): Decorate with tracing messages.
+
+2013-06-10  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #39160.
+
+	* src/truetype/ttinterp.c (Ins_SDPVTL): Set projection vector too
+	for the degenerate case.
+
+2013-06-09  David Turner  <[email protected]>
+
+	* src/cache/ftcmanag.c (FTC_Manager_Reset): Add missing cache flush.
+
+	This code, present since eight(!) years in the unused `CACHE'
+	branch, has been forgotten to apply to the master branch.  It's
+	really amazing that noone has ever complained since
+	`FTC_Manager_Reset' is pretty useless without flushing the cache.
+
+2013-06-07  Werner Lemberg  <[email protected]>
+
+	Add and improve pragmas for MSVC compiler.
+
+	* include/freetype/internal/ftdebug.h: Remove pragmas.
+	* include/freetype/internal/ftserv.h: Use push and pop for pragmas.
+	* include/freetype/internal/ftvalid.h: Handle warning C4324.
+	* src/base/ftobjs.c: Use push and pop for pragmas.
+	* src/gzip/ftgzip.c: Handle warning C4244.
+
+2013-06-07  Werner Lemberg  <[email protected]>
+
+	[cff] s/cf2_getGlyphWidth/cf2_getGlyphOutline/.
+
+	* src/cff/cf2font.c, src/cff/cf2font.h, src/cff/cf2ft.c: Do it.
+
+2013-06-06  Dave Arnold  <[email protected]>
+
+	[cff] Add early exit feature for width-only calls.
+
+	This is for `FT_Get_Advance'.
+
+	There are 7 places where the spec says the width can be defined:
+
+	  hstem/hstemhm
+	  vstem/vstemhm
+	  cntrmask/hintmask
+	  hmoveto
+	  vmoveto
+	  rmoveto
+	  endchar
+
+	* src/cff/cf2intrp.c (cf2_doStems): Exit early for width-only calls,
+	if possible.
+
+	(cf2_interpT2CharString) <cf2_cmdHSTEM>, <cf2_cmdVSTEM>,
+	<cf2_cmdVMOVETO>, <cf2_cmdENDCHAR>, <cf2_cmdHINTMASK>,
+	<cf2_cmdRMOVETO>, <cf2_cmdHMOVETO>: Exit early for width-only calls.
+
+2013-06-06  Werner Lemberg  <[email protected]>
+
+	Next round of compiler fixes.
+
+	* builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
+	Add proper cast.
+
+	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
+	cast.
+	* include/freetype/internal/ftstream.h: Decorate stream and frame
+	macros with `FT_Long' and `FT_ULong' as appropriate.
+
+	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
+	raccess_guess_darwin_newvfs): Use cast.
+
+	* src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
+
+	* src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
+	* src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
+
+	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use cast.
+	* src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
+	* src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
+
+	* src/cid/cidparse.c (cid_parser_new): Use cast.
+
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
+
+	* src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
+
+	* src/raster/ftraster.c (ft_black_reset): Use cast.
+
+	* src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
+	(ALL_POINTS): Fix cast.
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
+
+2013-06-05  Dave Arnold  <[email protected]>
+
+	Fix more MSVC Win32 compiler warnings.
+
+	* src/base/ftobjs.c: Fix typo in MS pragma.
+
+	* src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
+	`lineno' is only used in debug mode.
+
+	* src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in
+	debug mode.
+
+2013-06-05  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+
+	* include/freetype/internal/ftmemory.h: Decorate memory allocation
+	macros with `FT_Long' where appropriate.
+	Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
+	cast.
+
+	* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
+	including `md5.c'.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
+	cast.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
+	(tt_sbit_decoder_load_bitmap): Beautification.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
+	variables (earlier).
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
+	where appropriate.
+
+	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
+
+2013-06-04  Werner Lemberg  <[email protected]>
+
+	* src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'.
+
+	Problem reported by Ingmar Sittl <[email protected]>.
+
+2013-06-04  Werner Lemberg  <[email protected]>
+
+	Apply fixes for cppcheck nitpicks.
+
+	  https://cppcheck.sourceforge.net/
+
+	The call was (from the top-level of the FreeType tree):
+
+	  cppcheck --force \
+	           --enable=all \
+	           -I include \
+	           -I include/freetype/ \
+	           -I include/freetype/config/ \
+	           -I include/freetype/internal/ \
+	           . &> cppcheck.log
+
+	Note that the current version heavily chokes on FreeType, delivering
+	many wrong results.  I will report those issues to the cppcheck team
+	so that a newer version gives improved results hopefully.
+
+	*/* Improve variable scopes.
+	*/* Remove redundant initializations which get overwritten.
+
+	* src/base/ftmac.c, builds/mac/ftmac.c (count_faces_scalable):
+	Remove unused variable.
+
+	* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
+
+	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
+	Remove functionless code.
+
+	* src/tools/ftrandom.c (main): Fix memory leak.
+
+2013-06-03  Werner Lemberg  <[email protected]>
+
+	Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option.
+
+	This controls whether the old FreeType CFF engine gets compiled into
+	FreeType.  It is now disabled by default.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(CFF_CONFIG_OPTION_OLD_ENGINE): New macro.
+
+	* src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c
+	(CFF_Operator, cff_argument_counts, cff_builder_add_point,
+	cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load),
+	src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use
+	CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code.
+
+	* docs/CHANGES: Updated.
+
+2013-06-02  Werner Lemberg  <[email protected]>
+
+	Fix PNG library handling.
+
+	* builds/unix/configure.raw: Don't use LIBPNG_LIBS but
+	LIBPNG_LDFLAGS.
+
+2013-05-23  Behdad Esfahbod  <[email protected]>
+
+	Add support for color embedded bitmaps (eg. color emoji).
+
+	A new load flag, FT_LOAD_COLOR, makes FreeType load color
+	embedded-bitmaps, following this draft specification
+
+	  https://color-emoji.googlecode.com/git/specification/v1.html
+
+	which defines two new SFNT tables, `CBDT' and `CBLC' (named and
+	modeled after `EBDT' and `EBLC', respectively).  The color bitmaps
+	are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
+	pre-multiplied sRGB images.  If PNG support is available, PNG color
+	images as defined in the same proposed specification are supported
+	also.
+
+	Note that color bitmaps are converted to grayscale if client didn't
+	ask for color.
+
+	* builds/unix/configure.raw: Search for libpng.
+	Add `--without-png' option.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_USE_PNG): New macro.
+
+	* include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.
+
+	* include/freetype/ftimage.h (FT_Pixel_Mode): Add
+	`FT_PIXEL_MODE_BGRA'.
+
+	* include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
+	(ft_gray_for_premultiplied_srgb_bgra): New function.
+	(FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.
+
+	* src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.
+
+	* src/sfnt/sfnt.c: Include `pngshim.c'.
+
+	* src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
+	(tt_face_load_eblc): Load `CBLC'.
+	(tt_sbit_decoder_init): Load `CBDT'.
+	(tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
+	color and grayscale bitmaps.
+	Set `num_grays'.  This is used by `ftview' to choose the blending
+	algorithm.
+	(tt_sbit_decoder_load_byte_aligned,
+	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
+	tt_sbit_decoder_load_image): Pass load flag.
+	s/write/pwrite/.
+	Don't call `tt_sbit_decoder_alloc_bitmap'.
+	Updated.
+	(tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
+	(tt_sbit_decoder_load_bitmap): Pass load flag.
+	Handle new glyph formats 17, 18, and 19.
+	Call `tt_sbit_decoder_alloc_bitmap'.
+	Flatten color bitmaps if necessary.
+	(tt_face_load_sbit_image): Updated.
+
+	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.
+
+	* docs/CHANGES: Updated.
+
+2013-05-24  Guenter  <[email protected]>
+
+	Apply Savannah patch #8055.
+
+	Make `apinames' create an import file for NetWare.
+
+	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.2.
+	(OutputFormat): Add `OUTPUT_NETWARE_IMP'.
+	(names_dump): Handle it.
+	(usage): Updated.
+	(main): Handle new command line flag `-wN'.
+
+2013-05-23  Behdad Esfahbod  <[email protected]>
+
+	Compilation fix.
+
+	* src/truetype/ttinterp.c (TT_RunIns)
+	[!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Make it work.
+
+2013-05-22  Infinality  <[email protected]>
+
+	[truetype] Formatting and an additional subpixel tweak.
+
+	* src/truetype/ttinterp.c (Ins_SHPIX): Formatting fix.
+	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules):
+	Revert previous modification for Verdana clones.
+
+2013-05-22  Infinality  <[email protected]>
+
+	[truetype] Adjust subpixel zp2 moves and tweak rules.
+
+	These modifications fix thin diagonal stems in some legacy fonts.
+
+	* src/truetype/ttinterp.c (Direct_Move_X): Remove unused macro.
+	(Move_Zp2_Point): Don't always disable x moves for subpixel rendering.
+	(Ins_SHP): Disable x moves here for subpixel rendering.
+	(Ins_SHPIX): Only disable x moves in compatibility mode.
+	Split out zp2 move reversals and reorder conditional respectively.
+
+	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): Fix oversight.
+	Only adjust Verdana clones for 17 ppem.
+	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Courier New.
+	(ALWAYS_SKIP_DELTAP_Rules): Found additional cases for Arial `s'.
+
+2013-05-20  Infinality  <[email protected]>
+
+	[truetype] Simplify and improve subpixel function detection.
+
+	Some small enhancements have allowed the removal of many macros and
+	the simplification of existing rules in `ttsubpix.c'.
+
+	* src/truetype/ttsubpix.h (SPH_TWEAK_ALLOW_X_DMOVEX,
+	SPH_TWEAK_ALLOW_X_MOVE_ZP2,
+	SPH_TWEAK_DELTAP_SKIP_EXAGGERATED_VALUES,
+	SPH_TWEAK_SKIP_INLINE_DELTAS, SPH_TWEAK_MIRP_CVT_ZERO): Removed.
+	(SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP): New rule macro.
+
+	* src/truetype/ttsubpix.c: Updated affected rules.
+
+	* src/truetype/ttinterp.c (Direct_Move_X): Updated.
+	(INS_FDEF): Add additional function detection.
+	(INS_ENDF): Set runtime flag.
+	(Ins_CALL): Skip the call under certain conditions.
+	Remove bad code.
+	(Ins_LOOPCALL): Skip the call under certain conditions.
+	Remove bad code.
+	(Move_Zp2_Point): Updated.
+	(Ins_SHPIX): Updated.
+	Skip the move under some situations.
+	(Ins_MIAP): Improve conditions.
+	(Ins_MIRP): Updated.
+	(Ins_DELTAP): Skip move under certain conditions.
+	Simplify conditions.
+	(TT_RunIns): Updated.
+	Add code to handle new function detection.
+	Trace messages.
+
+2013-05-17  Werner Lemberg  <[email protected]>
+
+	Update more FT_Err_XXX macros using FT_ERR and FT_THROW;
+
+	* builds/amiga/src/base/ftsystem.c, builds/mac/ftmac.c,
+	builds/unix/ftsystem.c, builds/vms/ftsystem.c: Do it.
+
+2013-05-15  Werner Lemberg  <[email protected]>
+
+	[truetype] Add `interpreter-version' property.
+
+	This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable
+	at runtime.
+
+	* include/freetype/ftttdrv.h: New file.
+
+	* include/freetype/config/ftheader.h (FT_TRUETYPE_DRIVER_H): New
+	macro.
+
+	* src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H.
+	(tt_property_set, tt_property_get): Fill templates.
+
+	* src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version'
+	member.
+	Remove unused `extension_component' member.
+
+	* src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H.
+	(tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph,
+	compute_glyph_metrics, tt_loader_init): Use `interpreter_version'.
+
+	* src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H.
+	(SUBPIXEL_HINTING): New macro to check `interpreter_version' flag.
+	Update all affected functions to use it.
+	Use TT_INTERPRETER_VERSION_XXX where appropriate.
+
+	* src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H.
+	(tt_driver_init): Initialize `interpreter_version'.
+
+	* src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H.
+	Use TT_INTERPRETER_VERSION_XXX where appropriate.
+
+2013-05-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Avoid empty source file.
+
+	* src/truetype/ttsubpix.c [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]:
+	Provide dummy typedef.
+
+2013-05-13  Werner Lemberg  <[email protected]>
+
+	* src/cff/cf2font.c (cf2_getGlyphWidth): Fix uninitialized variable.
+
+	Fix suggested by Vaibhav Nagarnaik <[email protected]>.
+
+2013-05-13  Brian Nixon  <[email protected]>
+
+	Fix Savannah bug #38970.
+
+	* src/base/ftdebug.c, builds/win32/ftdebug.c,
+	builds/wince/ftdebug.c, builds/amiga/src/base/ftdebug.c
+	(ft_debug_init): Don't read past the environment variable FT2_DEBUG.
+
+2013-05-12  Werner Lemberg  <[email protected]>
+
+	[truetype] Add framework for TrueType properties.
+
+	* src/truetype/ttdriver.c: Include FT_SERVICE_PROPERTIES_H.
+	(tt_property_set, tt_property_get): New functions, still empty.
+	Define `tt_service_properties' service.
+	Update `tt_services'.
+
+	* src/truetype/ttpic.h: Include FT_SERVICE_PROPERTIES_H.
+	(TT_SERVICE_PROPERTIES_GET): New macro.
+	(TTModulePIC): Add `tt_service_properties'.
+
+2013-05-12  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38967.
+
+	* src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast.
+
+2013-05-12  Werner Lemberg  <[email protected]>
+
+	Introduce unsigned 64bit type (if available).
+
+	* include/freetype/config/ftconfig.h: Define FT_UINT64 if available.
+	[FT_LONG64]: Provide FT_UInt64.
+
+	* builds/unix/ftconfig.in: Synchronized.
+
+2013-05-12  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #38968.
+
+	* include/freetype/ftmodapi.h: Add `FT_EXPORT' to
+	FT_Property_{Set,Get}.
+	* src/base/ftobjs.c: Add `FT_EXPORT_DEF' to
+	FT_Property_{Set,Get}.
+
+2013-05-10  Werner Lemberg  <[email protected]>
+
+	[sfnt] Clean up bitmap code.
+
+	* src/sfnt/ttsbit.c: Deleted.
+	* src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'.
+	* rules.mk (SFNT_DRV_H): Updated.
+
+2013-05-10  Werner Lemberg  <[email protected]>
+
+	*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2013-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.26
@@ -1,0 +1,5711 @@
+2016-07-12  Werner Lemberg  <[email protected]>
+
+	* Version 2.6.5 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-5'.
+
+	This commit immediately follows `[mac] Fix ftexport.sym target in
+	Jamfile.' on a separate branch, which was then merged with master
+	after the release.
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Comment out.
+
+	* docs/VERSION.TXT: Add entry for version 2.6.5.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.6.4/2.6.5/, s/264/265/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+	* builds/unix/configure.raw (version_info): Set to 18:5:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 5.
+
+	* docs/CHANGES: Updated.
+
+2016-07-11  Werner Lemberg  <[email protected]>
+
+	Conditionally compile environment support.
+
+	* include/freetype/internal/ftobjs.h, src/autofit/afmodule.c,
+	src/base/ftobjs.c, src/cff/cffdrivr.c, src/truetype/ttdriver.c:
+	Decorate with `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' where
+	necessary.
+
+2016-07-11  Werner Lemberg  <[email protected]>
+
+	Handle properties in `FREETYPE_PROPERTIES' environment variable.
+
+	This commit covers the most important one.
+
+	* src/autofit/afmodule.c (af_property_set): Handle `warping',
+	`darkening-parameters', and `no-stem-darkening'.
+
+	* src/cff/cffdrivr.c (cff_property_set): Handle
+	`darkening-parameters', `hinting-engine', and `no-stem-darkening'.
+
+	* src/truetype/ttdriver.c (tt_property_set): Handle
+	`interpreter-version'.
+
+2016-07-11  Werner Lemberg  <[email protected]>
+
+	Replace calls to `atol' with `strtol'.
+
+	We later on need strtol's `endptr' feature.
+
+	* include/freetype/config/ftstdlib.h (ft_atol): Replace with...
+	(ft_strtol): ... this.
+
+	* src/base/ftdbgmem.c (ft_mem_debug_init): Updated.
+	* src/cid/cidparse.c (cid_parser_new): Ditto.
+	* src/type42/t42drivr.c (t42_get_name_index), src/type42/t42objs.c
+	(T42_GlyphSlot_Load): Ditto.
+
+2016-07-10  Werner Lemberg  <[email protected]>
+
+	Implement handling of `FREETYPE_PROPERTIES' environment variable.
+
+	Recognizing properties follows in another commit.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES): New macro.
+
+	* include/freetype/config/ftstdlib.h (ft_getenv): New macro.
+
+	* src/base/ftinit.c (ft_set_default_properties): New function to
+	parse `FREETYPE_PROPERTIES' and calling `ft_property_string_set'.
+	(FT_Init_FreeType): Updated.
+
+2016-07-09  Werner Lemberg  <[email protected]>
+
+	Add function `ft_property_string_set'.
+
+	This is a preparation for handling an `FREETYPE_PROPERTIES'
+	environment variable to control (some) driver properties.
+
+	No change in functionality.
+
+	* src/base/ftobjs.c (ft_property_do): Add `value_is_string'
+	parameter.
+	(ft_property_string_set): New function.
+	(FT_Property_Set, FT_Property_Get): Updated.
+
+	* include/freetype/internal/ftobjs.h: Updated.
+
+	* include/freetype/internal/services/svprop.h
+	(FT_Properties_SetFunc): Add `value_is_string' parameter.
+
+	* src/autofit/afmodule.c (af_property_set), src/cff/cffdrivr.c
+	(cff_property_set), src/truetype/ttdriver.c (tt_property_set):
+	Updated, emitting an error currently if `value_is_string' is set.
+
+2016-07-09  suzuki toshiya  <[email protected]>
+
+	[mac] Fix ftexport.sym target in Jamfile.
+
+	* Jamfile: Update the directories of the header files scanned for
+	ftexport.sym.  They were incorrect since the migration of the
+	header files, on 2015-06-22.  Either inexisting include/cache
+	(removed on 2006-03-20) is not needed to be listed explicitly.
+	Now ftmac.h is scanned only in the case of Mac OS & Mac OS X.
+
+2016-07-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Sub-banding protocol revision.
+
+	Rasterization sub-banding is utilized at large sizes while using a
+	rather small fixed memory pool.  Indeed it is possible to make an
+	educated guess how much memory is necessary at a given size for a
+	given glyph.  It turns out that, for a large majority of European
+	glyphs, you should store about 8 times more boundary pixels than
+	their height.  Or, vice versa, if your memory pool can hold 800
+	pixels the band height should be 100 and you should sub-band
+	anything larger than that.  Should you still run out of memory,
+	FreeType bisects the band but you have wasted some time.  This is
+	what has been implemented in FreeType since the beginning.
+
+	It was overlooked, however, that the top band could grow to twice
+	the default band size leading to unnecessary memory overflows there.
+	This commit fixes that.  Now the bands are distributed more evenly
+	and cannot exceed the default size.
+
+	Now the magic number 8 is really suitable for rather simple European
+	scripts.  For complex Chinese logograms the magic number should be
+	13 but that is subject for another day.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding
+	protocol.
+
+2016-07-07  suzuki toshiya  <[email protected]>
+
+	[mac] Fix Savannah bug #48417.
+
+	Mac OS X linker throws errors when `-exported_symbol_list' input
+	file includes non-existing symbols.  Reported by Ryan Schmidt.
+
+	* builds/exports.mk: Exclude ftmac.h from the headers for apinames
+	by default.  Include it when ftmac.c would be compiled.
+
+2016-07-06  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (TInstruction_Function): Removed, unused.
+
+2016-07-05  Werner Lemberg  <[email protected]>
+
+	* Version 2.6.4 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-4'.
+
+	* docs/VERSION.TXT: Update documentation and bump version number to
+	2.6.4.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.6.3/2.6.4/, s/263/264/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+	* builds/unix/configure.raw (version_info): Set to 18:4:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 4.
+
+	* docs/CHANGES: Updated.
+
+2016-07-05  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Fix compiler warning.
+
+2016-07-04  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Variable type revision (part 2).
+
+	* src/smooth/ftgrays.c (TArea): Restore original definition as `int'.
+	(gray_render_line) [FT_LONG64]: Updated.
+	(gray_convert_glyph): 32-bit band bisection stack should be 32 bands.
+	(gray_convert_glyph_inner): Trace successes and failures.
+
+2016-07-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Handle single-point contours as segments.
+
+	Doing so allows us to link them to edges – some fonts like
+	`NotoSansGurmukhi-Regular' have such isolated points sitting exactly
+	on other outlines.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Don't
+	ignore one-point contours but handle them specially as one-point
+	segments.
+	(af_latin_hints_compute_edges): Append one-point segments to edges
+	if possible.
+
+2016-07-02  Werner Lemberg  <[email protected]>
+
+	[autofit] Remove unused structure members.
+
+	* src/autofit/afhints.h (AF_SegmentRec, AF_EdgeRec): Remove
+	`num_linked'.
+
+	* src/autofit/afcjk.c (af_cjk_hints_link_segments): Updated.
+
+2016-07-02  Werner Lemberg  <[email protected]>
+
+	[autofit] Update to Unicode 9.0.0.
+
+	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
+	af_cyrl_uniranges): Add new data.
+
+2016-07-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Variable type revision (part 1).
+
+	This patch restores original `TCoord' definition as `int' so that the
+	rendering pool is used more efficiently on LP64 platforms (unix).
+
+	* src/smooth/ftgrays.c (gray_TWorker, TCell, gray_TBand): Switch some
+	fields to `TCoord'.
+	(gray_find_cell, gray_render_scanline, gray_render_line, gray_hline,
+	gray_sweep, gray_convert_glyph): Updated.
+
+2016-06-28  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Minor clean-ups.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'.
+	(gray_sweep, gray_convert_glyph, gray_dump_cells): Updated.
+
+2016-06-27  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Minor clean-ups.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile
+	qualifier.
+	(gray_raster_render): Move span initializations from here.
+	(gray_sweep): ... to here and remove unused `target' argument.
+
+2016-06-26  Alexei Podtelezhnikov  <[email protected]>
+
+	[pcf] Fix handling of very large fonts (#47708).
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Make `encodingOffset' an
+	unsigned short.
+	Only reject `0xFFFF' as an invalid encoding offset.
+
+2016-06-25  Werner Lemberg  <[email protected]>
+
+	[truetype] Really fix deallocation in case of error (#47726).
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize
+	`outline.points' also.
+
+2016-06-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Consolidate memory management.
+
+	* src/smooth/ftgrays.c (gray_init_cells): Remove function.
+	(gray_TWorker): Remove fields that become local variables.
+	(gray_raster_render): Move rendering buffer declaration from here.
+	(gray_convert_glyph): ... to here and update accordingly.
+
+2016-06-22  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Consolidate boundary checks.
+
+	Removing the checks from `gray_hline' shaves 1% off rendering speed.
+
+	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'.
+	(gray_TWorker): No need to store `clip_box'.
+	(gray_hline): Remove unnecessary boundary checks.
+	(gray_convert_glyph): Move boundary checks from here.
+	(gray_raster_render): ... to here and consolidate.
+
+2016-06-21  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Use `FT_Outline_Get_CBox'.
+
+	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'.
+	(gray_compute_cbox): Remove this function.
+	(gray_convert_glyph): Update to use `FT_Outline_Get_CBox'.
+
+2016-06-20  Werner Lemberg  <[email protected]>
+
+	[smooth] Remove compiler warnings.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
+
+2016-06-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Sanitize memory management.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
+
+2016-06-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Remove `band_shoot' that never worked.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
+	(gray_convert_glyph): Updated.
+
+2016-06-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[raster, smooth] Handle FT_RENDER_POOL_SIZE better.
+
+	* src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro.
+	(ft_black_render): Updated.
+	* src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro.
+	(gray_raster_render): Updated.
+
+2016-06-16  Werner Lemberg  <[email protected]>
+
+	* src/base/md5.c: Updated to recent version.
+
+2016-06-14  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
+
+2016-06-13  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Cherokee script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Cherokee.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Cherokee standard characters.
+
+	* src/autofit/afranges.c: Add Cherokee data.
+
+	* src/autofit/afstyles.h: Add Cherokee data.
+
+2016-06-09  David Capello  <[email protected]>
+
+	[cmake] Avoid modifying `ftconfig.h' and `ftoption.h' files.
+
+	* CMakeLists.txt: Each time cmake is run those files are
+	modified and the whole FreeType library is recompiled.  With this
+	change we change the files only if there are real modifications, so
+	we can avoid recompilations.
+
+2016-06-09  Werner Lemberg  <[email protected]>
+
+	[bdf] Check number of properties (#48166).
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Implement.
+
+2016-06-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Re-enable new line renderer on 64-bit archs.
+
+	* src/smooth/ftgrays.c (gray_render_line): Conditionally re-enable new
+	implementation, where it is safe from overflows.
+
+2016-06-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Minor clean-ups.
+
+	* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
+	(gray_render_span): Remove spurious casts and streamline.
+
+2016-06-07  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Ethiopic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Ethiopic.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Ethiopic standard characters.
+
+	* src/autofit/afranges.c: Add Ethiopic data.
+
+	* src/autofit/afstyles.h: Add Ethiopic data.
+
+2016-06-07  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix compilation with VS2016 (#48126).
+
+	This compiler doesn't recognize the end-of-comment sequence `*/' if
+	it immediately follows non-ASCII characters.
+
+	* src/autofit/afscript.h: Ensure whitespace before `*/'.
+
+2016-06-04  Werner Lemberg  <[email protected]>
+
+	Fix a test for named instances (#48122).
+
+	This was missed while giving negative face indices an extended
+	meaning.
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Implement.
+
+2016-05-31  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] Let SHPIX move points in the twilight zone in v40.
+
+	* src/truetype/ttinterp.c (Ins_SHPIX): Allow SHPIX to move points in
+	the twilight zone.  Otherwise, treat SHPIX the same as DELTAP.
+	Unbreaks various fonts such as older versions of Rokkitt and DTL
+	Argo T Light that would glitch severely after calling ALIGNRP after a
+	blocked SHPIX.
+
+2016-05-30  Werner Lemberg  <[email protected]>
+
+	[type42] Support `CharStrings' entry format as created by LilyPond.
+
+	* src/type42/t42parse.c (t42_parse_charstrings): Handle entries
+	having the format
+
+	  (foo) cvn 12345 def
+
+2016-05-28  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afranges.c: Remove `UL' postfix from hex numbers.
+
+	Suggested by Alexei.  `UL' is only needed for 16bit compilers, but
+	it seems noone is using this anymore (and we no longer test whether
+	FreeType compiles in such an environment).  Otherwise, it is easy to
+	add the postfix to the `AF_UNICODE_RANGE' macro.
+
+2016-05-26  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Shrink bisection stack.
+
+	The convergence of Bézier flatteners is fast with the deviation
+	from straight line being asymptotically cut 4-fold on each bisection.
+	This justifies smaller bisection stack size.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'.
+	(gray_render_conic): Create and use conic `bez_stack'. Move back the
+	band analysis from...
+	(gray_conic_to): ... here.
+	(gray_render_cubic): Create and use cubic `bez_stack'. Move back the
+	band analysis from...
+	(gray_cubic_to): ... here.
+	(gray_move_to): Updated.
+
+2016-05-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Fixes for Armenian and Gujarati ranges.
+
+	* src/autofit/afranges.c (af_armn_uniranges): Corrected.
+	(af_guru_nonbase_uniranges): Make U+0A3E a base character.
+
+2016-05-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Armenian script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Armenian.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Armenian standard characters.
+
+	* src/autofit/afranges.c: Add Armenian data.
+
+	* src/autofit/afstyles.h: Add Armenian data.
+
+2016-05-23  Werner Lemberg  <[email protected]>
+
+	* builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'.
+
+	This was commented about 10 years ago – I think the reason then to
+	disable libtool's `-export-symbols' option was to give some badly
+	programmed applications access to internal FreeType functions.
+
+	I believe that we should no longer take care of such programs; the
+	number of symbols exported should be rather restricted as much as
+	possible.
+
+2016-05-22  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Gurmukhi script.
+
+	This essentially moves the Gurmukhi script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Gurmukhi.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Gurmukhi standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Gurmukhi data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Gurmukhi data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-05-21  Werner Lemberg  <[email protected]>
+
+	Minor clang++ fixes.
+
+	* src/base/ftobjs.c (FT_Add_Module), src/psaux/psobjs.c
+	(ps_parser_load_field), src/type1/t1load.c (parse_subrs): Add
+	initializer.
+
+	* src/cache/ftccache.h (FTC_CACHE_TRYLOOP_END): Avoid implicit
+	conversion from NULL to boolean.
+
+2016-05-21  Werner Lemberg  <[email protected]>
+
+	Work around a bug of the C 8.0.0.1 compiler on AIX 5.3 (#47955).
+
+	* include/freetype/internal/ftmemory.h (cplusplus_typeof): Use
+	braces for `extern "C++"'.
+
+2016-05-17  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3].
+
+	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with...
+	(tt_loader_set_pp): ... this new function.
+	Update all callers.
+
+2016-05-17  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] New implementation of v38 bytecode interpreter [2/3].
+
+	This patch actually modifies the bytecode interpreter.
+
+	See added comments in `ttinterp.h' for more information on this and
+	the following commit in the series.
+
+	* src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by...
+	(NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY,
+	SUBPIXEL_HINTING_MINIMAL): ...new macros.
+	(Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backward
+	compatibility.
+	Updated.
+	(Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD):
+	Updated.
+	(Ins_INSTCTRL): Handle native ClearType mode flag.
+	Updated.
+	(Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backward
+	compatibility.
+	(Move_Zp2_Point): Ditto.
+	(Ins_SHP): Updated.
+	(Ins_SHPIX): Handle backward compatibility.
+	Updated.
+	(Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated.
+	(Ins_ALIGNRP): Updated.
+	(Ins_IUP, Ins_DELTAP): Handle backward compatibility.
+	Updated.
+	(Ins_GETINFO): Handle v38 flags.
+	Updated.
+	(TT_RunIns): Handle backward compatibility mode.
+	Updated.
+
+2016-05-17  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] New implementation of v38 bytecode interpreter [1/3].
+
+	This patch prepares data structures and the like.
+
+	See added comments in `ttinterp.h' for more information on this and
+	the following commits in the series.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate
+	between subpixel versions.
+	(TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY,
+	TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros.
+
+	* include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
+	`subpixel_hinting_lean', `vertical_lcd_lean',
+	`backward_compatibility', `iupx_called', iupy_called', and
+	`grayscale_cleartype' for new hinting mode.
+
+	* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
+	interpreters conditionally.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
+	in v38 backward compatibility mode.
+	Updated.
+	(compute_glyph_metrics): Add v38 backward compatibility mode
+	constraint for adjusting advance widths.
+	Updated.
+	(tt_loader_init): Handle new flags `subpixel_hinting_lean',
+	`grayscale_cleartype', and `vertical_lcd_lean'.
+	Updated.
+	(tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP):
+	Updated.
+
+	* src/truetype/ttobjs.c (tt_driver_init): Conditionally set
+	default interpreter version number.
+
+	* src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated.
+
+2016-05-17  Werner Lemberg  <[email protected]>
+
+	[cff] Fix matrix scaling (#47848).
+
+	* include/freetype/config/ftstdlib.h (FT_LONG_MIN): New macro.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix): Use largest scaling
+	value of all matrix coefficients to scale matrix.
+
+	* src/cff/cffobjs.c (cff_face_init): Use `matrix->yx' member for
+	matrix normalization if `matrix->yy' is zero.
+
+2016-05-16  Werner Lemberg  <[email protected]>
+
+	[base] Reject invalid sfnt Mac resource (#47891).
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Check validity
+	of `CID ' and `TYPE1' table offset and length.
+
+2016-05-16  Werner Lemberg  <[email protected]>
+
+	[cid] Fix scanning for `StartData' and `/sfnts' (#47892).
+
+	* src/cid/cidparse.c (STARTDATA, STARTDATA_LEN, SFNTS, SFNTS_LEN):
+	New macros.
+	(cid_parser_new): Fix and document algorithm.
+
+2016-05-16  suzuki toshiya  <[email protected]>
+
+	[truetype] Improve the recursive reference detector.
+
+	The previous fix for #46372 misunderstood a composite glyph referring
+	same component twice as a recursive reference.  See the discussion
+
+	  https://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html
+
+	Thanks to Khaled Hosny for finding this issue.
+
+	* src/truetype/ttgload.c (ft_list_get_node_at): A function to get
+	the i-th node from FT_List.
+	(load_truetype_glyph): In the traversal scan of the reference tree
+	in the composite glyph, we clear the nodes filled by previous
+	sibling chain.
+
+2016-05-07  Werner Lemberg  <[email protected]>
+
+	[cache] Allow value 0 for face ID.
+
+	We never dereference `face_id', and some implementations might use a
+	running number instead of a pointer.  Additionally, disallowing
+	value zero was undocumented.
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
+	(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
+	`face_id'.
+
+2016-05-05  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] More efficient accounting of conic splits and draws.
+
+	A single decrement counter of segments to draw, instead of an array,
+	contains all the information necessary to decide when to split and
+	when to draw a conic segment. The number of splits before each draw is
+	equal to the number of trailing zeros in the counter.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'.
+	(gray_render_conic): Updated to use decrement counter of segments.
+
+2016-05-05  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Fix logic for `FT_Property_Set'.
+
+	Otherwise some properties could be set to arbitrary values, which is
+	harmless, but querying could give wrong positive results.
+
+	* src/cff/cffdrivr.c (cff_property_set) [hinting-engine],
+	* src/truetype/ttdriver.c (tt_property_set) [interpreter-version]:
+	Only allow defined values.
+
+2016-04-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Gujarati script.
+
+	This essentially moves the Gujarati script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Gujarati.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Gujarati standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Gujarati data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Gujarati data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-04-24  Werner Lemberg  <[email protected]>
+
+	Minor.
+
+	* include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Protect macro
+	argument with parentheses.
+
+2016-04-24  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix deallocation in case of error (#47726).
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in
+	`outline' that are going to be deallocated in case of error.
+
+2016-04-23  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve Georgian blue zone characters.
+
+	Suggested by Akaki Razmadze <[email protected]>.
+
+	* src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM):
+	Updated.
+
+	* src/autofit/afblue.c: Regenerated.
+
+2016-04-16  David Capello  <[email protected]>
+
+	[cmake] Honor SKIP_INSTALL_* settings (as used in zlib).
+
+	As FreeType depends on zlib, if we don't install zlib (e.g., because
+	we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too
+	(cmake triggers an error saying that FreeType cannot be installed
+	because zlib target isn't in the export set).
+
+	* CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS',
+	`SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
+
+2016-04-16  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Another fix for non-intermediate GX tuples.
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Add some missing
+	cases.
+
+2016-04-12  Alexei Podtelezhnikov  <[email protected]>
+
+	Remove forgotten macro.
+
+	* include/freetype/internal/internal.h
+	[FT_INTERNAL_POSTSCRIPT_GLOBALS_H]: Remove.
+
+2016-04-09  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Georgian scripts.
+
+	Georgian is problematic, since `uppercase' forms of Mkhedruli
+	(called Mtavruli) are not yet defined in Unicode, which means that
+	proper blue zones can't be defined.  However, there is already a
+	proposal submitted to Unicode; see
+
+	  https://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf
+
+	Additionally, due to historical reasons, Unicode treats Khutsuri as
+	the same script as Mkhedruli, and so does OpenType.  However, since
+	the two scripts have completely different shapes it can happen that
+	blue zones differ considerably.  The tag `geok' used here (derived
+	from ISO 15924) to differentiate the two scripts is not an OpenType
+	tag in use.  If we now have a font that contains both glyphs for
+	Mkhedruli and Khutsuri, and it uses OpenType features for both also,
+	HarfBuzz unavoidably treats all glyphs as `geor'.  As a consequence,
+	blue zones for `geok' are not used for glyphs involved in the
+	OpenType features.
+
+	An issue not yet resolved is which OpenType feature should be used
+	to access Mtavruli glyph shapes; right now, FreeType doesn't set up
+	support for them, but it is easy to add them later on as soon as
+	more information is available.
+
+	* src/autofit/afblue.dat: Add blue zone data for Georgian.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Georgian standard characters.
+
+	* src/autofit/afranges.c: Add Georgian data.
+
+	* src/autofit/afstyles.h: Add Georgian data.
+
+2016-04-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Provide dummy blue zone for pseudo script `none'.
+
+	Even if the dummy hinter is used as the handler for `none' (which
+	doesn't use blue zones), it is more consistent than the old value
+	(which was 0), pointing to Arabic...
+
+	* src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE.
+
+2016-03-30  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_aux_name_load): Thinko (#47567).
+
+2016-03-30  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_log_font_count): Better font size estimate.
+
+2016-03-30  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567).
+
+2016-03-29  Werner Lemberg  <[email protected]>
+
+	* src/base/ftadvanc.c (FT_Get_Advances): Fix invalid left shift.
+
+2016-03-29  Werner Lemberg  <[email protected]>
+
+	[pfr] Fix binary search (#47514).
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
+	conditions correctly.
+
+2016-03-29  Werner Lemberg  <[email protected]>
+
+	[pfr] Minor.
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left',
+	`right', and `middle' with `min', `max', and `mid' as used in other
+	FreeType binary search code.
+	(pfr_load_bitmap_metrics): Fix invalid left shift.
+
+2016-03-29  Werner Lemberg  <[email protected]>
+
+	* src/pfr/pfrtypes.h: Replace all enums with macros.
+
+	We need `~FOO' to unset bits, and only with unsigned values (which
+	`enum' isn't normally) this works cleanly.
+
+2016-03-26  Werner Lemberg  <[email protected]>
+
+	[pfr] Robustify bitmap strike handling (#47514).
+
+	We did a binary search for a charcode without ensuring that the
+	searched data is ordered.  Validating the order is now done lazily,
+	this is, the first access to a bitmap glyph triggers the order check
+	in the corresponding bitmap strike.
+
+	* src/pfr/pfrtypes.h (PFR_BitmapFlags): New values
+	`PFR_BITMAP_VALID_CHARCODES' and `PFR_BITMAP_CHARCODES_VALIDATED'.
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Make `flags' argument
+	a pointer.  Handle new PFR_BITMAP_XXX flags.
+	(pfr_slot_load_bitmap): Updated.
+
+2016-03-26  Werner Lemberg  <[email protected]>
+
+	[pfr] Fix handling of compound glyphs.
+
+	Extra items are indicated with different bit positions.
+
+	* src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace
+	`PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and
+	`PFR_GLYPH_COMPOUND_EXTRA_ITEMS'.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_simple,
+	pfr_glyph_load_compound): Use them.
+
+2016-03-25  Werner Lemberg  <[email protected]>
+
+	[pfr] Minor.
+
+	* src/pfr/pfrsbit.c, src/pfr/pfrobjs.c: Use flag names instead of
+	bare numbers.
+
+2016-03-25  Werner Lemberg  <[email protected]>
+
+	[pfr] Various clang sanitizer fixes.
+
+	* src/pfr/pfrsbit.c (pfr_load_bitmap_metrics): Correctly handle
+	signed nibbles.
+	(pfr_slot_load_bitmap): Correctly exit frame in case of error.
+	Fix invalid left shifts.
+
+2016-03-23  Werner Lemberg  <[email protected]>
+
+	Rename `VERSION.DLL' (#47472).
+
+	* docs/VERSION.DLL: Renamed to...
+	* docs/VERSIONS.TXT: ...this.
+
+2016-03-23  Werner Lemberg  <[email protected]>
+
+	[raster, smooth] Directly test outline size (#47500).
+
+	This improves stand-alone compilation.
+
+	* src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to...
+
+	* src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c
+	(gray_raster_render): ...these functions.
+
+2016-03-23  Werner Lemberg  <[email protected]>
+
+	[raster, smooth] Fix some clang sanitizer runtime issues.
+
+	* src/raster/ftraster.c (ft_black_reset, ft_black_set_mode,
+	ft_black_render): Harmonize signatures with `ftimage.h'.
+
+	* src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset):
+	Ditto.
+
+2016-03-22  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor.
+
+	This fixes an AddressSanitizer issue:
+
+	  ttgload.c:430:7: runtime error: null pointer passed as argument 1,
+	                   which is declared to never be null
+
+2016-03-21  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Thinko.
+
+	This fixes the previous commit to this file.
+
+2016-03-21  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Partly revert recent changes.
+
+	* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
+	conditions to fix rendering issues.
+
+2016-03-20  Werner Lemberg  <[email protected]>
+
+	[autofit] Show `near' points in tracing.
+
+	* src/autofit/afhints.h (AF_FLAG_NEAR): New macro.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it.
+	(af_glyph_hints_reload): Handle AF_FLAG_NEAR.
+
+2016-03-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Minor refactoring and microoptimizations.
+
+	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
+	band clipping from here.
+	(gray_conic_to, gray_cubic_to): ... to here.
+	(gray_render_line, gray_render_scanline): Initialize variables closer
+	to their use.
+
+2016-03-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Minor refactoring.
+
+	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
+	upscaling from here.
+	(gray_conic_to, gray_cubic_to): ... to here.
+
+2016-03-15  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize.
+
+2016-03-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Temporarily revert 6eb6158dd787 (#47114).
+
+	* src/smooth/ftgrays.c (gray_render_line): Old implementation.
+
+2016-03-12  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Improve coverage of rasterfuzzer.
+
+	* src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use
+	input data for `tags' array also.
+	Trim input data to get more positive hits.
+
+2016-03-11  Pavlo Denysov  <[email protected]>
+
+	Fix CMake issues for iOS (patch #8941).
+
+	* CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory.
+	* builds/cmake/iOS.cmake: No longer enforce gcc.
+
+2016-03-09  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Fix handling of non-intermediate GX tuples.
+
+	We probably did not notice this as all fonts we tested had only
+	tuple_coords[i] be +1 or -1 for non-intermediate tuples.
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Implement it.
+
+2016-03-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Refuse to render enormous outlines (#47114).
+
+	The goal is to avoid integer overflows in the rendering algorithms.
+	The limit is chosen arbitrarily at some 2^18 pixels, which should be
+	enough for modern devices including printers.
+
+	* src/base/ftoutln.c (FT_Outline_Render): Check CBox and reject
+	enormous outlines.
+
+2016-03-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Replace left shifts with multiplications (#47114).
+
+	* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
+
+2016-03-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Avoid excessive stem length rounding (#25392).
+
+	* src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument
+	to pass difference between hinted and unhinted position of base
+	point; use this to adjust the stem width depending on the PPEM so
+	that it doesn't become too large under certain circumstances.
+	Update all callers using value 0 for this argument except...
+	(af_latin_align_linked_edge): Pass position delta of base point to
+	`af_latin_compute_stem_width'.
+
+2016-03-05  J Raynor  <[email protected]>
+
+	Make FreeType compile on AIX out of the box.
+
+	* builds/unix/configure.raw (XX_ANSIFLAGS): Don't use `-ansi' on
+	AIX.
+
+2016-03-01  Werner Lemberg  <[email protected]>
+	    Kostya Serebryany  <[email protected]>
+
+	[ftfuzzer] Add unit for testing smooth and black rasterizers.
+
+	* src/tools/ftfuzzer/rasterfuzzer.cc: New file.
+
+2016-03-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix reallocation error introduced in 2016-02-27 (#47310).
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Reassign
+	`prev_segment' after reallocation.
+
+2016-03-01  Werner Lemberg  <[email protected]>
+
+	Fix clang warnings.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Use
+	FT_UShort for `min_flags' and `max_flags'.
+	Initialize `prev_*' variables.
+
+	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix
+	types of local variables.
+
+	* src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]:
+	Update `printf' format string.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast.
+	(LLVMFuzzerTestOneInput): Fix loop type.
+
+2016-02-29  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Sinhala script.
+
+	This essentially moves the Sinhala script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Sinhala.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Sinhala standard character and move data
+	out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Sinhala data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Sinhala data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-02-27  Werner Lemberg  <[email protected]>
+
+	[autofit] Properly handle spikes pointing to the x-axis.
+
+	An example that gets better rendered is glyph `uusignTaml' (glyph
+	index 2286) in font `FreeSerif.ttf' (Version 0412.2263) at 22ppem.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Properly
+	handle segments where the last point of the first segment is
+	identical to the first point in the second one.  This can happen for
+	malformed fonts or spikes.  We either merge the new segment with the
+	previous one (both segments point into the same direction), or we
+	discard the shorter segment if they point into different directions.
+
+2016-02-27  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor code clean-up.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Change
+	some local variable names to better differentiate between values
+	along a segment and values orthogonal to it.
+
+2016-02-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve BOUND action.
+
+	In complex glyph shapes, the original logic was too simple to cater
+	for situations that would actually need something similar to PS Hint
+	masks.  This fix should alleviate the worst cases.
+
+	* src/autofit/aflatin.c (af_latin_hint_edges): Don't allow
+	complete disappearance of stems.
+
+2016-02-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Tamil script.
+
+	This essentially moves the Tamil script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Tamil.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Tamil standard character and move data
+	out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Tamil data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Tamil data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-02-18  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Malayalam script.
+
+	This essentially moves the Malayalam script from the `Indic' hinter
+	to the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Malayalam.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Malayalam standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Malayalam data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Malayalam data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-02-16  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Fix integer overflow (#47114).
+
+	* src/smooth/ftgrays.c (TArea): Make it unconditionally `long'.
+
+2016-02-15  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_multiple_master): Improve tracing.
+
+2016-02-15  Werner Lemberg  <[email protected]>
+
+	[cff] Handle T2 operator only with old CFF engine (#47157).
+
+	* src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with
+	#ifdef CFF_CONFIG_OPTION_OLD_ENGINE...#endif.
+
+2016-02-15  Werner Lemberg  <[email protected]>
+
+	[cff] Partially handle `load' and `store' ops in old CFF engine.
+
+	Now all glyphs of MM CFFs like `ITCGaramondMM-It.otf' can be
+	displayed.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_store,
+	cff_op_load>: Partially implement it.
+
+	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass
+	the number of Multiple Master axes.
+	Update all callers.
+	(cff_parse_multiple_master): Get number of axes.
+	(cff_parser_run) <opcode 31>: Updated.
+	* src/cff/cffparse.h: Updated.
+	(CFF_ParserRec): Add `num_axes' field.
+
+	* src/cff/cffload.c: Updated.
+
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_axes' field.
+
+2016-02-15  Werner Lemberg  <[email protected]>
+
+	[cff] Correctly trace SIDs that contain NULL bytes.
+
+	We need this to properly trace Multiple Master CFFs, which contain
+	two SIDs that are charstrings.
+
+	This commit makes FreeType also show the last SID, omitted
+	previously due to a bug.
+
+	* src/cff/cfftypes.h (CFF_FontRec): Add `string_pool_size' field.
+
+	* src/cff/cffload.c (cff_index_get_pointers): Add argument to return
+	the pool size.
+	Update all callers.
+
+	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Directly
+	access `cff->strings' to display the non-default strings.
+
+2016-02-14  Werner Lemberg  <[email protected]>
+
+	* src/base/fthash.c: Include FT_INTERNAL_MEMORY_H.
+
+2016-02-14  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c: Include `cffgload.h'.
+
+	Problem reported by Colin Walters <[email protected]>.
+
+2016-02-14  Werner Lemberg  <[email protected]>
+
+	[cff] Make old CFF engine show MM CFFs (without variations).
+
+	The new code only displays the first master in the font.
+
+	* src/cff/cffgload.c (cff_decode_parse_charstrings): Add new
+	parameter to allow function calls from dictionaries also.
+	<cff_op_blend>: Partially implement it.
+	Update all callers.
+	* src/cff/cffgload.h: Updated.
+
+	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass the
+	number of Multiple Master designs.
+	Update all callers.
+	(cff_parse_multiple_master): New function to rudimentarily parse
+	operator.
+	(cff_parser_run): Handle `T2' operator.
+	* src/cff/cffparse.h: Updated.
+	(CFF_ParserRec): Add `num_designs' field.
+
+	* src/cff/cffload.c: Updated.
+
+	* src/cff/cfftoken.h: Handle `MultipleMaster' operator.
+
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_designs' field.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Don't handle `fvar' table for
+	MM CFFs.
+
+2016-02-09  Werner Lemberg  <[email protected]>
+
+	[docmaker] Don't emit trailing newlines.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_code):
+	Use `rstrip'.
+
+2016-02-07  Werner Lemberg  <[email protected]>
+
+	* Version 2.6.3 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-3'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.3.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.6.2/2.6.3/, s/262/263/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 18:3:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 3.
+
+	* docs/CHANGES: Updated.
+
+2016-02-07  Werner Lemberg  <[email protected]>
+
+	Fix another runtime error found by clang's sanitizer (#47082).
+
+	* src/base/ftstroke.c (ft_stroke_border_export): Properly handle
+	empty input buffer.
+
+2016-02-07  Werner Lemberg  <[email protected]>
+
+	Fix runtime errors found by clang's sanitizer (#47082).
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
+	(FT_Outline_Copy), src/cache/ftcsbits.c (ftc_sbit_copy_bitmap):
+	Properly handle empty input buffer.
+
+2016-02-07  Werner Lemberg  <[email protected]>
+
+	[cff] Minor.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_sqrt>:
+	Remove dead code.
+
+2016-02-07  Werner Lemberg  <[email protected]>
+
+	[cff] Implement missing operators in new engine (except `random').
+
+	* src/cff/cf2font.h (CF2_STORAGE_SIZE): New macro.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString): Implement the
+	following operators: abs, add, and, div, drop, dup, eq, exch, get,
+	ifelse, index, mul, neg, not, or, put, roll, sqrt, sub.
+
+	* src/cff/cf2stack.h, src/cff/cf2stack.c (cf2_stack_roll): New
+	auxiliary function for `roll' operator.
+
+2016-02-06  Werner Lemberg  <[email protected]>
+
+	[cff] Fix some Type 2 operators in old CFF engine.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Fix `eq'
+	operator, add `not' and (unsupported) `blend' operators.
+
+2016-02-05  Sebastian Rasmussen  <[email protected]>
+
+	Make direct call of `make install' work (#47072).
+
+	* builds/unix/unix-def.in (freetype-config): Make sure
+	`freetype-config' is generated for both make targets (`all' and
+	`install').
+
+2016-02-05  Werner Lemberg  <[email protected]>
+
+	[base] Fix advance width loading for MM and GX fonts (#47064).
+
+	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Return false for
+	MM and GX fonts.
+	Update callers.
+
+2016-02-03  Werner Lemberg  <[email protected]>
+
+	[cff] Fix handling of face_index == -1 for pure CFF.
+
+	* src/cff/cffobjs.c (cff_face_init): Return correct number of faces.
+
+2016-01-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor tracing improvement.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline
+	at the start of a new contour.
+
+2016-01-28  Nikolaus Waxweiler  <[email protected]>
+
+	Remove unpatented hinter (3/3).
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+	`ignore_unpatented_hinter' field.
+	Update users.
+	(FT_DEBUG_HOOK_UNPATENTED_HINTING): Remove.
+	Update users.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove
+	`unpatented_hinting' field.
+	Update users.
+
+	* src/base/ftpatent.c (_tt_check_patents_in_range,
+	_tt_check_patents_in_table, _tt_face_check_patents): Remove.
+	(FT_Face_CheckTrueTypePatents, FT_Face_SetUnpatentedHinting):
+	Replace code with dummies.
+
+	* src/truetype/ttobjs.c (tt_face_init): Remove now defunct code.
+	* src/truetype/ttobjs.h (TT_GraphicsState): Remove `both_x_axis'
+	field.
+
+2016-01-28  Nikolaus Waxweiler  <[email protected]>
+
+	Remove unpatented hinter (2/3).
+
+	* devel/ftoption.h (TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
+
+2016-01-28  Nikolaus Waxweiler  <[email protected]>
+
+	Remove unpatented hinter (1/3).
+
+	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_UNPATENTED_HINTING]:
+	Remove all code related to this macro.
+
+2016-01-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Kannada script.
+
+	This essentially moves the Kannada script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Kannada.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Kannada standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Kannada data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Kannada data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-01-22  Alexei Podtelezhnikov  <[email protected]>
+
+	Better access to 64-bit integers for C99 compilers.
+
+	* include/freetype/config/ftconfig.h [FT_LONG64]: Use
+	__STDC_VERSION__ to define 64-bit integers.
+	* builds/unix/ftconfig.in [FT_LONG64]: Ditto.
+	* builds/vms/ftconfig.h [FT_LONG64]: Ditto.
+
+2016-01-21  Werner Lemberg  <[email protected]>
+
+	[gxvalid] Remove commented out code.
+
+	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Do it.
+
+2016-01-20  Werner Lemberg  <[email protected]>
+
+	[autofit] Complete last autofit commit.
+
+	Problem reported by Kostya Serebryany <[email protected]>.
+
+	* src/autofit/afshaper.c (af_shaper_get_coverage)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Update signature.
+
+2016-01-20  Werner Lemberg  <[email protected]>
+
+	Still handle `__FTERRORS_H__'.
+
+	We need this for backward compatibility.
+
+	Problem reported by John Emmas <[email protected]>.
+
+	* include/freetype/fterrors.h: Fix inclusion guard so that
+	undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as
+	expected.
+
+2016-01-19  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix handling of default script.
+
+	Patch taken from ttfautohint, commit
+	071ae2c00e0d67f9d19418f4fade1c23d27dc185.
+
+	There were two bugs.
+
+	  - We now use non-standard script tags like `khms' for special
+	    purposes.  However, HarfBuzz maps such tags to `DFLT', and
+	    without this commit the associated lookups were incorrectly
+	    assigned to the non-standard tags.
+
+	  - Let's assume we have a Bengali font, and the font's `DFLT'
+	    script tag handles the necessary lookups for Bengali, too.
+	    Without this commit, the `DFLT' lookups were assigned to
+	    ttfautohint's default script (usually `latn') before the
+	    standard lookups for Bengali were handled.
+
+	    We now have the following order while searching for covered
+	    glyph indices.
+
+	      special features of scripts (e.g. `sups' for Cyrillic)
+	      Unicode mappings of scripts
+	      remaining features of scripts (especially important for Indic
+	        scripts)
+	      default features of default script
+
+	* src/autofit/afshaper.c, src/autofit/afshaper.h
+	(af_shaper_get_coverage): Add boolean parameter to indicate default
+	script.
+	Update all callers.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Fix search order for coverages.
+
+2016-01-19  Werner Lemberg  <[email protected]>
+
+	Various minor clang fixes.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
+	`ch'.
+
+	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast.
+
+	* src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast.
+
+	* src/base/fthash.c (hash_num_lookup): Add cast.
+
+	* src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast.
+
+	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out
+	redundant code.
+
+	* src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add
+	cast.
+
+	* src/type1/t1load.c (parse_subrs): Fix type of `count'.
+
+2016-01-19  Derek B. Noonburg  <[email protected]>
+
+	[truetype] Add another tricky font.
+
+	* src/truetype/ttobjs.c (TRICK_SFNT_IDS_NUM_FACES): Increase.
+	(sfnt_id): Add variant of `DFKaiShu'.
+
+2016-01-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Empower `FT_Library_SetLcdFilterWeights'.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): Enable filter
+	in addition to setting weights.
+	(FT_Library_SetLcdFilter): Clean out FT_FORCE_LIGHT_LCD_FILTER and
+	FT_FORCE_LEGACY_LCD_FILTER.
+	* include/freetype/ftlcdfil.h: Documentation update.
+
+2016-01-12  Werner Lemberg  <[email protected]>
+
+	Don't use macro names that start with `_[A-Z]' [3/3].
+
+	Such macro names are reserved for both C and C++.
+
+	* src/cache/ftccache.h: s/_FTC_FACE_ID_HASH/FTC_FACE_ID_HASH/.
+	Update all callers.
+	(FTC_CACHE_LOOKUP_CMP): Replace `_XXX' with `XXX_'.
+	* src/cache/ftcmru.c (FTC_MRULIST_LOOKUP_CMP): Ditto.
+
+2016-01-12  Werner Lemberg  <[email protected]>
+
+	Don't use macro names that start with `_[A-Z]' [2/3].
+
+	Such macro names are reserved for both C and C++.
+
+	* include/freetype/ftimage.h, src/raster/ftraster.c,
+	src/smooth/ftgrays.c, src/smooth/ftgrays.h:
+	s/_STANDALONE_/STANDALONE_/.
+
+2016-01-12  Werner Lemberg  <[email protected]>
+
+	Don't use macro names that start with `_[A-Z]' [1/3].
+
+	Such macro names are reserved for both C and C++.
+
+	* src/bdf/bdflib.c: Replace macros of the form `_BDF_XXX' with
+	`BDF_XXX_'.
+
+2016-01-12  Werner Lemberg  <[email protected]>
+
+	Don't use macro names that contain `__' [2/2].
+
+	Such macro names are reserved for both C and C++.
+
+	* src/cache/*: s/__/_/.
+
+2016-01-12  Werner Lemberg  <[email protected]>
+
+	Don't use macro names that contain `__' [1/2].
+
+	Such macro names are reserved for both C and C++.
+
+	* */*: Replace macros of the form `__XXX_H__' with `XXX_H_'.
+
+2016-01-10  Jered Gray  <[email protected]>
+
+	[cff] Fix usage of `|' operator.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) [cf2_cmdEXTENDEDNMBR,
+	default]: `|' is not guaranteed to be processed from left to right
+	by the compiler.  However, the code repeatedly calls
+	`cf2_buf_readByte' to get the arguments to `|' ...  Fix this.
+
+2015-12-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Make top-to-bottom hinting work in latin auto-hinter.
+
+	This improves rendering of scripts like Bengali or Devanagari.
+
+	* src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to
+	pass top-to-bottom hinting flag.  This makes the function sort edges
+	in descending vertical position.
+
+	* src/autofit/afhints.c: Updated.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_edges,
+	af_latin_hint_edges): Use `top_to_bottom_hinting' flag.
+
+	* src/autofit/afcjk.c (af_cjk_hints_compute_edges),
+	src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated.
+
+2015-12-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Add hinting direction to `AF_ScriptClassRec'.
+
+	Still unused.
+
+	* src/autofit/afglobal.c (SCRIPT): Handle hinting direction.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
+	`top_to_bottom_hinting' field.
+	(AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+2015-12-23  Werner Lemberg  <[email protected]>
+
+	[autofit] Start implementing hinting direction (up/down, down/up).
+
+	Right now, it does nothing.
+
+	* src/autofit/afscript.h: Add another parameter to `SCRIPT',
+	specifying hinting direction.
+
+	* src/autofit/afglobal.c, src/autofit/afglobal.h,
+	src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c,
+	src/autofit/aftypes.h: Extend `SCRIPT' definitions.
+
+2015-12-22  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs): Fix memory leak (#46744).
+
+2015-12-22  Werner Lemberg  <[email protected]>
+
+	[base] Make hash interface symmetric.
+
+	Use `num' and `str' infixes everywhere.
+
+	* src/base/fthash.c (ft_hash_init): Renamed to...
+	(hash_init): ... This.
+	(ft_hash_str_init, ft_hash_num_init): New functions.
+	(ft_hash_free): Renamed to...
+	(ft_hash_str_free): ... This.
+
+	* include/freetype/internal/fthash.h: Updated.
+
+	* src/bdf/bdflib.c, src/type1/t1load.c, src/type1/t1objs.c: Updated.
+
+2015-12-21  Werner Lemberg  <[email protected]>
+
+	[type1] Avoid shift of negative numbers (#46732).
+
+	* src/type1/t1load.c (parse_subrs): Do it.
+
+2015-12-20  Werner Lemberg  <[email protected]>
+
+	[type1, psaux] Handle large values of num_subrs correctly (#46692).
+
+	We now use a hash to map from subr indices to array elements holding
+	the subroutines, if necessary.
+
+	* include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H.
+	(T1_FontRec): Add `subrs_hash' field.
+
+	* include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H.
+	(T1_DecoderRec): Add `subrs_hash' field.
+
+	* src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field.
+
+	* src/type1/t1driver.c: Include FT_INTERNAL_HASH_H.
+	(t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary.
+
+	* src/type1/t1load.c: Include FT_INTERNAL_HASH_H.
+	(parse_subrs): Use hash for subr indices that exceed the allocated
+	number of subr slots.
+	(t1_init_loader): Remove unnecessary code.
+	(t1_done_loader, T1_Open_Face): Updated.
+
+	* src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances,
+	T1_Load_Glyph): Updated.
+
+	* src/type1/t1objs.c (T1_Face_Done): Updated.
+
+	* src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H.
+	(t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if
+	necessary.
+
+	* src/cid/cidgload.c (cid_load_glyph): Updated.
+
+2015-12-20  Werner Lemberg  <[email protected]>
+
+	[base] Thinko: Remove free function pointer.
+
+	We don't copy keys or values while hashing.
+
+	* include/freetype/internal/fthash.h (FT_Hash_FreeFunc): Removed.
+	(FT_HashRec): Remove `free' field.
+
+	* src/base/fthash.c (hash_str_free): Removed.
+	(ft_hash_init, ft_hash_free): Updated.
+
+2015-12-20  Werner Lemberg  <[email protected]>
+
+	[base, bdf] Don't expose `FT_Hashnode' in hash functions.
+
+	* src/base/fthash.c (hash_lookup, ft_hash_str_lookup,
+	ft_hash_num_lookup): Return pointer to `size_t' instead of
+	`FT_Hashnode'.
+
+	* include/freetype/internal/fthash.h: Updated.
+
+	* src/bdf/bdflib.c (bdf_get_property, _bdf_add_property,
+	bdf_get_font_property): Updated.
+
+2015-12-20  Werner Lemberg  <[email protected]>
+
+	[base, bdf] Add number hashing.
+
+	* src/base/fthash.c (hash_num_lookup, hash_num_compare): New
+	functions.
+	(ft_hash_init): Add argument to select between number and string
+	hashing.
+	(ft_hash_num_insert, ft_hash_num_lookup): New functions.
+
+	* include/freetype/internal/fthash.h: Updated.
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Updated.
+
+2015-12-20  Werner Lemberg  <[email protected]>
+
+	[base] Introduce hash lookup, compare, and free function pointers.
+
+	* include/freetype/internal/fthash.c (FT_Hash_LookupFunc,
+	FT_Hash_CompareFunc, FT_Hash_FreeFunc): New typedefs.
+	(FT_HashRec): Add `lookup', `compare', and `free' fields.
+
+	* src/base/fthash.c (hash_str_lookup, hash_str_compare,
+	hash_str_free): New functions.
+	(ft_hash_init): Set function pointers.
+	(hash_bucket, ft_hash_free): Use them.
+
+2015-12-20  Werner Lemberg  <[email protected]>
+
+	[base, bdf] Use a union as a hash key.
+
+	We want to support both an integer and a string key later on.
+
+	* include/freetype/internal/fthash.h (FT_Hashkey): New union.
+	(FT_HashnodeRec): Updated.
+	(ft_hash_insert, ft_hash_lookup): Renamed to ...
+	(ft_hash_str_insert, ft_hash_str_lookup): ... this.
+
+	* src/base/fthash.c (hash_bucket): Updated.
+	(ft_hash_insert, ft_hash_lookup): Renamed to ...
+	(hash_insert, hash_lookup): ... this.
+	(ft_hash_str_insert, ft_hash_str_lookup): New wrapper functions.
+
+	* src/bdf/bdflib.c: Updated.
+
+2015-12-19  Werner Lemberg  <[email protected]>
+
+	[bdf] Use new hash functions.
+
+	* src/bdf/bdf.h: Include FT_INTERNAL_HASH_H.
+	(hashnode, hashtable): Removed.
+	(bdf_font_t): Use `FT_HashRec' type for `proptbl'.
+
+	* src/bdf/bdflib.c: Remove all hash functions.
+	Update code for new hash structure and function names.
+
+2015-12-19  Werner Lemberg  <[email protected]>
+
+	[bdf, base] Lift hash functions from bdf driver to base module.
+
+	* src/base/fthash.c, include/freetype/internal/fthash.h: New files,
+	containing (massaged) code from `bdflib.c' and `bdf.h'.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H): New
+	macro.
+
+	* src/base/ftbase.c: Include `fthash.c'.
+
+	* src/base/Jamfile (_sources): Add `fthash'.
+
+	* src/base/rules.mk (BASE_SRC): Add `fthash.c'.
+
+	* docs/LICENSE.TXT: Updated.
+
+2015-12-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Bengali script.
+
+	This essentially moves the Bengali script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Bengali.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Bengali standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Bengali data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Bengali data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2015-12-14  Ben Wagner  <[email protected]>
+
+	[bdf] Remove dead code (#46625).
+
+	The BDF specification only allows decimal numbers, no octal or
+	hexadecimal decoding is needed.
+
+	* src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous,
+	_bdf_atos): Remove unused code and parameters.
+	Update all callers.
+	(odigits): Remove.
+
+2015-12-14  Werner Lemberg  <[email protected]>
+
+	[base] Fix calls to `FT_Stream_Seek'.
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource, FT_Open_Face): Set
+	`error'.
+
+2015-12-14  Ben Wagner  <[email protected]>
+
+	[base] Check error when seeking to data supplied offset (#46635).
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream):
+	`ft_lookup_PS_in_sfnt_stream' returns offset and length from
+	user supplied data.  Use of this these values must be checked.
+
+2015-12-13  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Myanmar script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Myanmar.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Myanmar standard characters.
+
+	* src/autofit/afranges.c: Add Myanmar data.
+
+	* src/autofit/afstyles.h: Add Myanmar data.
+
+2015-12-12  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Minor.
+
+2015-12-12  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afscript.h: Avoid potential crash.
+
+2015-12-10  Werner Lemberg  <[email protected]>
+
+	[autofit] Restore OpenType feature check.
+
+	This was removed while rewriting the HarfBuzz interface.
+
+	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add `hb_buf' field to
+	hold internal HarfBuzz buffer, needed for feature comparison.
+
+	* src/autofit/afglobal.c (af_face_globals_new,
+	af_face_globals_free): Initialize and destroy `hb_buf'.
+
+	* src/autofit/afshaper.c (af_shaper_get_cluster): Compare character
+	(cluster) with and without applied feature.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix tracing
+	message.
+
+2015-12-10  Werner Lemberg  <[email protected]>
+
+	[autofit] Remove redundant code.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Do it.
+
+2015-12-09  Werner Lemberg  <[email protected]>
+
+	[autofit] Thinko.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Don't count
+	empty blue zones (bug introduced 2015-12-06).
+
+2015-12-09  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce subscript top blue zones.
+
+	This feature is mainly for Khmer: The idea is to avoid a clash
+	between the top of subscript glyphs and the bottom of normal
+	baseline glyphs.
+
+	This only works for character clusters mapped to multiple glyphs.
+
+	* src/autofit/afblue.dat: Add subscript top blue zone for Khmer.
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_SUB_TOP): New
+	macro.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.h (AF_LATIN_IS_SUB_TOP_BLUE,
+	AF_LATIN_BLUE_SUB_TOP): New macros.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle new
+	blue zone property.
+	Update tracing messages.
+	(af_latin_metrics_scale_dim): Handle new blue zone property.
+	(af_latin_hints_compute_blue_edges): Updated.
+
+2015-12-09  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix tracing message.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Display
+	inactive blue zones also.
+
+2015-12-06  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afblue.dat: Add more Khmer clusters.
+
+	Some fonts have incorrect ligatures; we need more samples to get a
+	good mean value.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2015-12-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Typos.
+
+	* src/autofit/afshaper.c (af_shaper_buf_create, af_shaper_get_elem)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Make it compile.
+
+2015-12-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Khmer script.
+
+	We split Khmer into two auto-hinter scripts: `Khmer' (`khmr') and
+	`Khmer symbols' (`khms', U+19E0-U+19FF).
+
+	* src/autofit/afblue.dat: Add blue zone data for Khmer.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Khmer standard characters.
+
+	* src/autofit/afranges.c: Add Khmer data.
+
+	* src/autofit/afstyles.h: Add Khmer data.
+
+2015-12-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Rewrite HarfBuzz interface to support character clusters.
+
+	Scripts like Khmer have blue zones that can't be directly
+	represented by Unicode characters.  Instead, it is necessary to let
+	HarfBuzz convert character clusters into proper glyph representation
+	forms, then deriving the blue zone information from the resulting
+	glyphs.
+
+	* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
+	* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
+	files, providing a new API to access HarfBuzz.
+
+	The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
+	and `af_shaper_buf_destroy'.  The buffer receives a UTF8 encoded
+	string with function `af_shaper_get_cluster', and the resulting
+	glyph data (indices, advance widths, vertical offsets) can be
+	iteratively accessed with function `af_shaper_get_elem'.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
+	Updated.
+
+	* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.
+
+	* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
+	(af_face_globals_compute_style_coverage): Updated.
+
+	* src/autofit/afglobal.h: s/hbshim.h/afshaper.h/.
+
+	* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.
+
+	* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
+	Updated.
+
+2015-12-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Prepare forthcoming changes.
+
+	This makes it easier to control the commits.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Add dummy
+	loop.  No functional change.
+
+2015-12-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Use string of standard characters.
+
+	This is more flexible; additionally, it would allow character
+	clusters.
+
+	* src/autofit/aftypes.h (SCRIPT, AF_DEFINE_SCRIPT_CLASS): Updated.
+	(AF_ScriptClassRec): Replace `standard_char[123]' with
+	`standard_charstring'.
+
+	* src/autofit/afscript.h: Replace last three character arguments
+	of the `SCRIPT' calls with a string parameter, holding the standard
+	characters (in UTF-8 encoding) separated with spaces.
+
+	* src/autofit/afglobal.c, src/autofit/afglobal.h,
+	src/autofit/afpic.c, src/autofit/afranges.c, src/autofit/hbshim.c
+	(SCRIPT): Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Updated.
+
+2015-12-05  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afblue.dat: Separate blue zone characters with spaces.
+
+	Another preparation for character cluster support.
+
+	* src/autofit/afblue.c, src/autofit.afblue.h: Regenerated.
+
+2015-12-05  Werner Lemberg  <[email protected]>
+
+	* src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces.
+
+	Instead, reduce multiple spaces to a single one.  We need this later
+	for supporting character clusters in `afblue.dat'.
+
+2015-12-05  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afblue.hin (GET_UTF8_CHAR): Use `do...while(0)'.
+
+	* src/autofit/afblue.h: Regenerated.
+
+2015-12-05  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afwarp.c: s/INT_MIN/FT_INT_MIN/.
+
+2015-12-03  Werner Lemberg  <[email protected]>
+
+	* builds/unix/install.mk (install): Remove stale `ft2build.h'.
+
+2015-12-01  Werner Lemberg  <[email protected]>
+
+	[type1] Avoid dangling pointer (#46572).
+
+	* src/type1/t1afm.c (T1_Read_Metrics): Properly reset
+	`face->afm_data'.
+
+2015-11-28  Alexei Podtelezhnikov  <[email protected]>
+
+	* include/freetype/ftlcdfil.h: Documentation tweak.
+
+2015-11-28  Werner Lemberg  <[email protected]>
+
+	* Version 2.6.2 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-2'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.2.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.6.1/2.6.2/, s/261/262/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+	* builds/unix/configure.raw (version_info): Set to 18:2:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 2.
+
+	* docs/CHANGES: Updated.
+
+2015-11-28  Werner Lemberg  <[email protected]>
+
+	Fix C++ compilation.
+
+	* src/autofit/afloader.c: Include FT_INTERNAL_CALC_H.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler.
+
+2015-11-28  Nikolaus Waxweiler  <[email protected]>
+
+	Change default LCD filter to be normalized and color-balanced.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update
+	`default_filter'.
+
+2015-11-28  Werner Lemberg  <[email protected]>
+
+	[docmaker] Allow references to section names.
+
+	In the reference, we show the section's title enclosed in single
+	quotes.
+
+	* src/tools/docmaker/formatter.py (Formatter::__init__): Collect
+	section names as identifiers.
+
+	* src/tools/docmaker/tohtml.py (section_title_header): Split into...
+	(section_title_header1, section_title_header2): ... these two
+	strings.
+	(HtmlFormatter::make_block_url, make_html_word, html_source_quote):
+	Handle sections.
+	(HtmlFormatter::section_enter): Updated to add `id' HTML attribute.
+
+2015-11-27  Tamas Kenez  <[email protected]>
+
+	[cmake] Add script to test the config module.
+
+	* builds/cmake/testbuild.sh: New file.
+
+2015-11-27  Tamas Kenez  <[email protected]>
+
+	* CMakeLists.txt: Create `freetype-config.cmake' config module.
+
+2015-11-27  Tamas Kenez  <[email protected]>
+
+	* CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'.
+
+2015-11-27  Tamas Kenez  <[email protected]>
+
+	[cmake] Add better control of library dependencies.
+
+	* CMakeLists.txt: Add `WITH_*' variables to force/auto/omit
+	ZLIB/BZip2/PNG/HarfBuzz.
+
+2015-11-27  Tamas Kenez  <[email protected]>
+
+	[cmake] Make `FindHarfBuzz' observe the REQUIRED option.
+
+	* builds/cmake/FindHarfBuzz.cmake: Implement it.
+
+2015-11-27  Werner Lemberg  <[email protected]>
+
+	[cmake] Collect files specific to cmake in `builds/cmake'.
+
+	* builds/FindHarfBuzz.cmake: Move to ...
+	* builds/cmake/FindHarfBuzz.cmake: ... this place.
+
+	* CMakeLists.txt (CMAKE_MODULE_PATH): Updated.
+
+2015-11-27  Alexander Bock  <[email protected]>
+
+	CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'.
+
+2015-11-26  Werner Lemberg  <[email protected]>
+
+	[docmaker] Allow `foo[bar]' as identifier.
+
+	We need this to handle equally named properties in different
+	modules.
+
+	* src/tools/docmaker/content.py (re_identifier),
+	src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word,
+	HtmlFormatter::index_exit, HtmlFormatter::section_enter,
+	HtmlFormatter::block_enter): Handle `foo[bar]'.
+
+2015-11-25  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480).
+
+	(_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its
+	contents.
+
+2015-11-21  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftcalc.h: Don't use `register' keyword.
+
+	This fixes compiler warnings.
+
+	Reported by Behdad.
+
+2015-11-20  Werner Lemberg  <[email protected]>
+
+	Add `FT_LCD_FILTER_LEGACY1' enum value.
+
+	This does the same as `FT_LCD_FILTER_LEGACY'.
+
+	See
+
+	  https://bugs.freedesktop.org/show_bug.cgi?id=92981
+
+	for the reasoning.
+
+	* include/freetype/ftlcdfil.h (FT_LcdFilter): New value
+	`FT_LCD_FILTER_LEGACY1'.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it.
+
+2015-11-15  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afhints.c (af_get_segment_index): Fix it.
+
+	The old code was too simple, returning invalid values in most cases
+	where a segment crosses the contour start.
+
+2015-11-15  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439).
+
+2015-11-11  Werner Lemberg  <[email protected]>
+
+	[cff, autofit] Switch off stem darkening by default.
+
+	* src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c
+	(cff_driver_init): Do it.
+
+2015-11-10  Jan Alexander Steffens (heftig)  <[email protected]>
+
+	Allow native CFF hinter in FT_RENDER_MODE_LIGHT.
+
+	Both the native CFF hinter and the auto-hinter now have a very
+	similar rendering style.
+
+	* include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no
+	longer implies FT_LOAD_FORCE_AUTOHINT.
+
+	* include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New
+	macro.
+
+	* include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New
+	macro.
+
+	* src/cff/cffdrivr.c (cff_driver_class): Use it.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection
+	logic.
+
+2015-11-09  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408).
+
+2015-11-09  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove integer to pointer conversion compiler warning.
+
+	Problem reported by Alexei.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
+	in the glib library to fix the issue.
+
+2015-11-08  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] Accept version 3 of `EBLC' and `CBLC' tables also.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit): Implement it.
+
+2015-11-08  Philipp Knechtges  <[email protected]>
+
+	[autofit] Don't distort (latin) glyphs too much (#46195).
+
+	* src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and
+	`descender' fields.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect
+	ascender and descender data for blue zones.
+	(af_latin_metrics_scale_dim): Reject vertical scaling values that
+	change the result by more than two pixels.
+
+2015-11-05  Werner Lemberg  <[email protected]>
+
+	[sfnt] Ignore embedded bitmaps with zero size (#46379).
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement
+	it.
+
+2015-11-04  Werner Lemberg  <[email protected]>
+
+	[truetype] Catch infinite recursion in subglyphs (#46372).
+
+	* include/freetype/internal/tttypes.h (TT_LoaderRec): New field
+	`composites'.
+
+	* src/truetype/ttgload.c: Include FT_LIST_H.
+	(load_truetype_glyph): Add composite subglyph index to a list;
+	abort if index is already in list.
+	(tt_loader_init): Updated.
+	(tt_loader_done): New function.
+	(TT_Load_Glyph): Call `tt_loader_done'.
+
+2015-11-04  Werner Lemberg  <[email protected]>
+
+	[truetype] Better tracing of composite glyphs.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
+	load_truetype_glyph): Implement it.
+
+2015-11-03  Werner Lemberg  <[email protected]>
+
+	[sfnt] Protect against zero-size bitmaps (#46345).
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check
+	`glyph_size'.
+
+2015-11-02  Nikolaus Waxweiler  <[email protected]>
+
+	* src/autofit/afloader.c (af_loader_load_g): Implement emboldening.
+
+2015-11-02  Nikolaus Waxweiler  <[email protected]>
+
+	[autofit] Implement darkening computation function.
+
+	This is a crude adaption of the original `cf2_computeDarkening'
+	function.
+
+	* src/autofit/afloader.c (af_intToFixed, af_fixedToInt,
+	af_floatToFixed): New macros, taken from `cf2fixed.h'.
+	(af_loader_compute_darkening): New function.
+	* src/autofit/afloader.h: Updated.
+
+2015-11-02  Nikolaus Waxweiler  <[email protected]>
+
+	[autofit] Add functions to get standard widths for writing systems.
+
+	We need the computed standard horizontal and vertical widths for the
+	emboldening calculation.  This method provides a convenient way to
+	extract it from writing-system-specific metrics structures, which
+	all script definitions must implement.
+
+	* src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New
+	function type.
+	(AF_WritingSystemClassRec): New member `style_metrics_getstdw'.
+	(AF_DEFINE_WRITING_SYSTEM_CLASS): Updated.
+
+	* src/autofit/afcjk.c (af_cjk_get_standard_width): New function.
+	(af_cjk_writing_system_class): Updated.
+	* src/autofit/afdummy.c (af_dummy_writing_system_class): Updated.
+	* src/autofit/afindic.c (af_cjk_get_standard_width): New function.
+	(af_indic_writing_system_class): Updated.
+	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
+	(af_indic_writing_system_class): Updated.
+	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
+	(af_indic_writing_system_class): Updated.
+
+2015-11-02  Nikolaus Waxweiler  <[email protected]>
+
+	[autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data.
+
+	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields.
+
+	* src/autofit/afglobal.c (af_face_globals_new): Initialize new
+	fields.
+	(af_face_globals_free): Reset new fields.
+
+2015-11-02  Nikolaus Waxweiler  <[email protected]>
+
+	[autofit] Add stem-darkening properties.
+
+	Actual code follows in a later commit.
+
+	* include/freetype/ftautoh.h: Document `no-stem-darkening' and
+	`darkening-parameters'.
+
+	* src/autofit/afmodule.h: New fields `no_stem_darkening' and
+	`darken_params'.
+
+	* src/autofit/afmodule.c (af_property_set, af_property_get):
+	Handle them.
+	(af_autofitter_init): Initialize them.
+
+2015-11-02  Ben Wagner  <[email protected]>
+
+	[ftfuzzer] Add support for multiple files (patch #8779).
+
+	Currently, libFuzzer only supports mutation of a single file.  We
+	circumvent this problem by using an uncompressed tar archive as
+	multiple-file input for the fuzzer.
+
+	This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing;
+	a constructed tarball should contain a font file as the first
+	element, and files to be attached as further elements.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers.
+	(archive_read_entry_data, parse_data): New functions.
+	(LLVMFuzzerTestOneInput): Updated.
+
+	* src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom
+	mutator for libFuzzer that can mutate tarballs in a sensible way.
+
+2015-10-31  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix cmap 14 validation (#46346).
+
+	* src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before
+	accessing `numRanges' and `numMappings'.
+	Fix size check for non-default UVS table.
+
+2015-10-31  Werner Lemberg  <[email protected]>
+
+	[sfnt] Handle infinite recursion in bitmap strikes (#46344).
+
+	* src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc,
+	tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned,
+	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add
+	argument for recursion depth.
+	(tt_sbit_decoder_load_compound): Add argument for recursion depth.
+	Increase recursion counter for recursive call.
+	(tt_sbit_decoder_load_image): Add argument for recursion depth.
+	Check recurse depth.
+	(tt_face_load_sbit_image): Updated.
+
+2015-10-29  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor.
+
+2015-10-29  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Remove code to set MSVC's /FD compiler switch.
+
+	Problem reported by David Capello <[email protected]>; see
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html
+
+	for details.
+
+2015-10-27  Werner Lemberg  <[email protected]>
+
+	[pfr] Add some safety guards (#46302).
+
+	* src/pfr/pfrload.h (PFR_CHECK): Rename to...
+	(PFR_CHECK_SIZE): ... this.
+	(PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE.
+
+	* src/pfr/pfrload.c (pfr_log_font_count): Check `count'.
+	(pfr_extra_item_load_kerning_pairs): Remove tracing message.
+	(pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate.
+	Allocate `chars' after doing a size checks.
+
+	* src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid
+	bitmap format to...
+	(pfr_slot_load_bitmap): ... this function.
+	Check bitmap size.
+
+2015-10-26  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix sanitizing logic for `loca' (#46223).
+
+	* src/truetype/ttpload.c (tt_face_load_loca): A thinko caused an
+	incorrect adjustment of the number of glyphs, most often using far
+	too large values.
+
+2015-10-25  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve tracing.
+
+	* src/autofit/afhints.c (af_print_idx, af_get_segment_index,
+	af_get_edge_index): New functions.
+
+	(af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'.
+	Add segment and edge index for each point.
+	Slightly change printing order of some elements.
+	Don't print `-1' but `--' for missing elements.
+
+	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove
+	unnecessary `|', `[', and `]'.
+	Don't print `-1' but `--' for missing elements.
+
+2015-10-24  Werner Lemberg  <[email protected]>
+
+	[sfnt] Sanitize bitmap strike glyph height.
+
+	Problem reported by Nikolay Sivov <[email protected]>.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Avoid zero value
+	for `metrics->height' by applying some heuristics.
+
+2015-10-22  Werner Lemberg  <[email protected]>
+
+	[sfnt, type42] Fix clang compiler warnings.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Initialize `offset'.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Use proper cast.
+
+2015-10-22  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[cff] Avoid overflow/module arithmetic.
+
+	This modifies the addition of subroutine number to subroutine bias
+	from unsigned to signed, but does not change any results.
+
+	* src/cff/cf2ft.c (cf2_initGlobalRegionBuffer,
+	cf2_initLocalRegionBuffer): Change variable names from (unsigned)
+	`idx' to (signed) `subrNum', since it is not an index until after
+	the bias is added.
+	* src/cff/cf2ft.h: Updated.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
+	Updated similarly.
+
+2015-10-22  Werner Lemberg  <[email protected]>
+
+	[cid] Better check of `SubrCount' dictionary entry (#46272).
+
+	* src/cid/cidload.c (cid_face_open): Add more sanity tests for
+	`fd_bytes', `gd_bytes', `sd_bytes', and `num_subrs'.
+
+2015-10-21  Werner Lemberg  <[email protected]>
+
+	[base] Pacify compiler (#46266).
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Initialize `in' and
+	`anchor'.
+
+2015-10-21  Werner Lemberg  <[email protected]>
+
+	[type42] Fix heap buffer overflow (#46269).
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Fix off-by-one error in
+	bounds checking.
+
+2015-10-21  Dave Arnold  <[email protected]>
+
+	[cff] Fix limit in assert for max hints.
+
+	* src/cff/cf2interp.c (cf2_hintmask_setAll): Allow mask equal to the
+	limit (96 bits).
+
+2015-10-21  Dave Arnold  <[email protected]>
+
+	[cff] Remove an assert (#46107).
+
+	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Ignore paired edges
+	in wrong order.
+
+2015-10-21  Werner Lemberg  <[email protected]>
+
+	[sfnt] Avoid unnecessarily large allocation for WOFFs (#46257).
+
+	* src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize'
+	only after thorough checks.
+	Add tracing messages.
+
+2015-10-21  Werner Lemberg  <[email protected]>
+
+	[type42] Better check invalid `sfnts' array data (#46255).
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Table lengths must be
+	checked individually against available data size.
+
+2015-10-20  Werner Lemberg  <[email protected]>
+
+	[cid] Add a bunch of safety checks.
+
+	* src/cid/cidload.c (parse_fd_array): Check `num_dicts' against
+	stream size.
+	(cid_read_subrs): Check largest offset against stream size.
+	(cid_parse_dict): Move safety check to ...
+	(cid_face_open): ... this function.
+	Also test length of binary data and values of `SDBytes',
+	`SubrMapOffset', `SubrCount', `CIDMapOffset', and `CIDCount'.
+
+2015-10-20  Werner Lemberg  <[email protected]>
+
+	[cid] Avoid segfault with malformed input (#46250).
+
+	* src/cid/cidload.c (cid_read_subrs): Return a proper error code for
+	unsorted offsets.
+
+2015-10-20  StudioEtrange  <[email protected]>
+
+	* CMakeLists.txt: Enable shared library builds on MinGW (#46233).
+
+2015-10-20  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).
+
+2015-10-19  Ben Wagner  <[email protected]>
+
+	[cid] Better handle invalid glyph stream offsets (#46221).
+
+	* src/cid/cidgload.c (cid_load_glyph): Check minimum size of glyph
+	length.
+
+2015-10-18  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix tracing of negative numbers.
+
+	Due to incorrect casting negative numbers were shown as very large
+	(positive) integers on 64bit systems.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_none>:
+	Use division instead of shift.
+
+2015-10-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223).
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h: Surround it
+	with #ifndef ... #endif, as suggested in the tracker issue.
+
+2015-10-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Better protection against malformed `fpgm' (#46223).
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't execute a
+	malformed `fpgm' table more than once.
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidgload.c (cid_load_glyph): Fix memory leak.
+
+	Reported by Kostya Serebryany <[email protected]>.
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	[bdf] Prevent memory leak (#46217).
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <STARTCHAR>: Check
+	_BDF_GLYPH_BITS.
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	[bdf] Use stream size to adjust number of glyphs.
+
+	* src/bdf/bdflib.c (ACMSG17): New message macro.
+	(_bdf_parse_t): Add member `size'.
+	(bdf_load_font): Set `size'.
+	(_bdf_parse_glyphs): Adjust `cnt' if necessary.
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_parse_dict): Check `[FG]DBytes' size.
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidgload.c (cid_glyph_load): Check file offsets (#46222).
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix heap buffer overflow (#46221).
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstring) <operator 12>:
+	Fix limit check.
+
+2015-10-17  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_parse_dict): Handle invalid input (#46220).
+
+2015-10-15  Kostya Serebryany  <[email protected]>
+
+	[ftfuzzer] Add README.
+
+	* src/tools/ftfuzzer/README: New file.
+
+2015-10-15  Ben Wagner  <[email protected]>
+
+	[bdf] Fix memory leak (#46213).
+
+	* src/bdf/bdflib.c (bdf_load_font): Always go to label `Fail' in
+	case of error.
+
+2015-10-15  Werner Lemberg  <[email protected]>
+
+	[truetype] Add TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46208).
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES): New configuration macro.
+
+	* src/truetype/ttinterp.c (MAX_RUNNABLE_OPCODES): Removed.
+	(TT_RunIns): Updated.
+
+2015-10-15  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Fix bytecode stack tracing.
+
+	The used indices were off by 1.
+
+2015-10-15  Ben Wagner  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211).
+
+2015-10-15  Werner Lemberg  <[email protected]>
+
+	[base] Compute MD5 checksums only if explicitly requested.
+
+	This improves profiling accuracy.
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it.
+
+2015-10-14  Werner Lemberg  <[email protected]>
+
+	[base] Use `FT_' namespace for MD5 functions (#42366).
+
+	* src/base/ftobjs.c (MD5_*): Define as `FT_MD5_*'.
+	Undefine HAVE_OPENSSL.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[type1] Correctly handle missing MM axis names (#46202).
+
+	* src/type1/t1load.c (T1_Get_MM_Var): Implement it.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[pcf] Quickly exit if font index < 0.
+
+	Similar to other font formats, this commit makes the parser no
+	longer check the whole PCF file but only the header and the TOC if
+	we just want to get the number of available faces (and a proper
+	recognition of the font format).
+
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
+	Exit quickly if face_index < 0.
+
+	* src/pcfread.c (pcf_load_font): Add `face_index' argument.
+	Exit quickly if face_index < 0.
+
+	* src/pcf/pcf.h: Updated.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Handle TTCs and MM/GX variations.
+
+	This patch also contains various other improvements.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject
+	pre-C++11 compilers.
+	(FT_Global): New class.  Use it to provide a global constructor and
+	destructor for the `FT_Library' object.
+	(setIntermediateAxis): New function to select an (arbitrary)
+	instance.
+	(LLVMFuzzerTestOneInput): Loop over all faces and named instances.
+	Also call `FT_Set_Char_Size'.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Refine some GX sanity tests.
+
+	Use the `gvar' table size instead of the remaining bytes in the
+	stream.
+
+	* src/truetype/ttgxvar.h (GX_BlendRec): New field `gvar_size'.
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Set `gvar_size'.
+	(ft_var_readpackedpoints, ft_var_readpackeddeltas: New argument
+	`size'.
+	(tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Updated.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Another GX sanity test.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Check
+	`tupleCount'.
+	Add tracing message.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix memory leak for broken GX fonts (#46188).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix scope of
+	deallocation.
+
+2015-10-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix commit from 2015-10-10.
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Add missing error
+	handling body to condition.
+
+2015-10-12  Werner Lemberg  <[email protected]>
+
+	[unix] Make MKDIR_P actually work.
+
+	* builds/unix/configure.raw: Fix underquoting of `INSTALL' and
+	`MKDIR_P'.
+
+	Problem reported by Dan Liddell <[email protected]>.
+
+2015-10-11  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve extraction of number of named instances.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check number of instances against
+	`fvar' table size.
+
+2015-10-10  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow
+	(#46149).
+
+2015-10-10  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix infinite loops with broken cmaps (#46167).
+
+	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next): Take care
+	of border conditions (i.e., if the loops exit naturally).
+
+2015-10-10  Werner Lemberg  <[email protected]>
+
+	[truetype] More sanity tests for GX handling.
+
+	These tests should mainly help avoid unnecessarily large memory
+	allocations in case of malformed fonts.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
+	ft_var_readpackeddeltas): Check number of points against stream
+	size.
+	(ft_var_load_avar): Check `pairCount' against table length.
+	(ft_var_load_gvar): Check `globalCoordCount' and `glyphCount'
+	against table length.
+	(tt_face_vary_cvt): Check `tupleCount' and `offsetToData'.
+	Fix trace.
+	(TT_Vary_Apply_Glyph_Deltas): Fix trace.
+	Free `sharedpoints' to avoid memory leak.
+
+2015-10-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Better protection against malformed GX data (#46166).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Correctly
+	handle empty `localpoints' array.
+
+2015-10-10  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Check stream size (#46162).
+
+2015-10-09  Werner Lemberg  <[email protected]>
+
+	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size.
+
+2015-10-08  Werner Lemberg  <[email protected]>
+
+	[pcf] Protect against invalid number of TOC entries (#46159).
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Check number of TOC entries
+	against size of data stream.
+
+2015-10-08  Werner Lemberg  <[email protected]>
+
+	[type42] Protect against invalid number of glyphs (#46159).
+
+	* src/type42/t42parse.c (t42_parse_charstrings): Check number of
+	`CharStrings' dictionary entries against size of data stream.
+
+2015-10-08  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix some signed overflows (#46149).
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
+	<TT_SBIT_TABLE_TYPE_SBIX>: Use `FT_MulDiv'.
+
+2015-10-08  Werner Lemberg  <[email protected]>
+
+	[type1] Protect against invalid number of subroutines (#46150).
+
+	* src/type1/t1load.c (parse_subrs): Check number of
+	`Subrs' dictionary entries against size of data stream.
+
+2015-10-07  Kostya Serebryany  <[email protected]>
+
+	[ftfuzzer] Add support for LLVM's LibFuzzer.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files.
+
+2015-10-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Faster alternative line renderer.
+
+	This implementation renders the entire line segment at once without
+	subdividing it into scanlines.  The main speed improvement comes from
+	reducing the number of divisions to just two per line segment, which
+	is a bare minimum to calculate cell coverage in a smooth rasterizer.
+	Notably, the progression from cell to cell does not itself require any
+	divisions at all.  The speed improvement is more noticeable at larger
+	sizes.
+
+	* src/smooth/ftgrays.c (gray_render_line): New implementation.
+
+2015-10-06  Werner Lemberg  <[email protected]>
+
+	[cff] Return correct PS names from pure CFF (#46130).
+
+	* src/cff/cffdrivr.c (cff_get_ps_name): Use SFNT service only for
+	SFNT.
+
+2015-10-04  Werner Lemberg  <[email protected]>
+
+	[base] Replace left shifts with multiplication (#46118).
+
+	* src/base/ftglyph.c (ft_bitmap_glyph_bbox, FT_Get_Glyph): Do it.
+
+2015-10-04  Werner Lemberg  <[email protected]>
+
+	* Version 2.6.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-1'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.1.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.6/2.6.1/, s/26/261/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 18:1:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+	* src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for
+	dumping functions.
+
+2015-10-04  Werner Lemberg  <[email protected]>
+
+	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c
+	(ft_gzip_file_fill_input): In case of an error, adjust the limit to
+	avoid copying uninitialized memory.
+
+2015-10-03  Werner Lemberg  <[email protected]>
+
+	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c
+	(ft_gzip_file_fill_output): In case of an error, adjust the limit to
+	avoid copying uninitialized memory.
+
+2015-10-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Clean up worker.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
+
+2015-10-01  Werner Lemberg  <[email protected]>
+
+	[sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of
+	border conditions (i.e., if the loop exits naturally).
+
+2015-10-01  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges.
+	They should be a subset of `af_deva_uniranges'.
+
+2015-10-01  Werner Lemberg  <[email protected]>
+
+	[sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
+	reject too large glyph indices.
+
+2015-09-30  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Clean up worker.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
+	(gray_start_cell, gray_render_line): Update.
+
+2015-09-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Replace `no-base' with `non-base'.
+
+	* src/autofit/*: Do it.
+
+2015-09-30  Werner Lemberg  <[email protected]>
+
+	[sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better
+	skip invalid segments.
+	If searching the next character, provide a more efficient logic to
+	speed up the code.
+
+2015-09-30  Werner Lemberg  <[email protected]>
+
+	[truetype] Adjust number of glyphs for malformed `loca' tables.
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Implement it.
+
+2015-09-29  Werner Lemberg  <[email protected]>
+
+	[pshinter] Avoid harmless overflow (#45984).
+
+	* src/pshinter/pshglob.c (psh_blues_set_zones): Fix it.
+
+2015-09-28  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Lao script.
+
+	Thanks to Danh Hong <[email protected]> for guidance with blue zone
+	characters!
+
+	* src/autofit/afblue.dat: Add blue zone data for Lao.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Lao standard characters.
+
+	* src/autofit/afranges.c: Add Lao data.
+
+	* src/autofit/afstyles.h: Add Lao data.
+
+2015-09-27  suzuki toshiya  <[email protected]>
+
+	[base] Fix a leak by broken sfnt-PS or resource fork (#46028).
+
+	open_face_from_buffer() frees passed buffer if valid font
+	is not found.  But if copying to the buffer is failed,
+	the allocated buffer should be freed within the caller.
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free
+	the buffer `sfnt_ps' if an error caused before calling
+	open_face_from_buffer().
+	(Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if
+	an error caused before calling open_face_from_buffer();
+
+2015-09-27  suzuki toshiya  <[email protected]>
+
+	[mac] Fix buffer size calculation for LWFN font.
+
+	* src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong
+	to prevent confused copy by too large chunk size.
+
+2015-09-26  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro.
+
+2015-09-26  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor tracing improvement.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit
+	blue zones header line if there are no blue zones.
+
+2015-09-26  Werner Lemberg  <[email protected]>
+
+	[bzip2, gzip, lzw] Harmonize function signatures with prototype.
+
+	Suggested by Hin-Tak Leung.
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c
+	(ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it.
+
+2015-09-26  Hin-Tak Leung  <[email protected]>
+
+	Add new FT_LOAD_COMPUTE_METRICS load flag.
+
+	* include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro.
+	* src/truetype/ttgload.c (compute_glyph_metrics): Usage.
+
+2015-09-26  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast.
+
+2015-09-25  Werner Lemberg  <[email protected]>
+
+	[type1] Protect against invalid number of glyphs (#46029).
+
+	* src/type1/t1load.c (parse_charstrings): Check number of
+	`CharStrings' dictionary entries against size of data stream.
+
+2015-09-23  Werner Lemberg  <[email protected]>
+
+	[sfnt] Better checks for invalid cmaps (2/2) (#46019).
+
+	While the current code in `FT_Get_Next_Char' correctly rejects
+	out-of-bounds glyph indices, it can be extremely slow for malformed
+	cmaps that use 32bit values.  This commit tries to improve that.
+
+	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next,
+	tt_cmap12_char_map_binary, tt_cmap13_next,
+	tt_cmap13_char_map_binary): Reject glyph indices larger than or
+	equal to the number of glyphs.
+
+2015-09-23  Werner Lemberg  <[email protected]>
+
+	[base, sfnt] Better checks for invalid cmaps (1/2).
+
+	* src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds
+	glyph indices.
+	(FT_Get_First_Char): Updated.
+
+	* src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character
+	codes greater than 0xFFFF.
+
+	(tt_cmap8_char_index): Avoid integer overflow in computation of
+	glyph index.
+	(tt_cmap8_char_next): Avoid integer overflows in computation of
+	both next character code and glyph index.
+
+	(tt_cmap10_char_index): Fix unsigned integer logic.
+	(tt_cmap10_char_next): Avoid integer overflow in computation of
+	next character code.
+
+	(tt_cmap12_next): Avoid integer overflows in computation of both
+	next character code and glyph index.
+	(tt_cmap12_char_map_binary): Ditto.
+	(tt_cmap12_char_next): Simplify.
+
+	(tt_cmap13_char_map_binary): Avoid integer overflow in computation
+	of next character code.
+	(tt_cmap13_char_next): Simplify.
+
+2015-09-21  suzuki toshiya  <[email protected]>
+
+	[base] Check too long POST and sfnt resource (#45919).
+
+	* src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the
+	resource fork for Mac OS.  Resource forks larger than 16 MB can be
+	written but can't be handled correctly, at least in Carbon routine.
+	See https://support.microsoft.com/en-us/kb/130437.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x'
+	prefix for `%p' formatter.
+
+	* src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and
+	total size of the concatenated POST resource before buffer
+	allocation.
+	(Mac_Read_sfnt_Resource): Check the declared size of sfnt resource
+	before buffer allocation.
+
+	* src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the
+	total resource size before buffer allocation.
+
+2015-09-19  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve handling of invalid SFNT table entries (#45987).
+
+	This patch fixes weaknesses in function `tt_face_load_font_dir'.
+
+	- It incorrectly assumed that valid tables are always at the
+	  beginning.  As a consequence, some valid tables after invalid
+	  entries (which are ignored) were never seen.
+
+	- Duplicate table entries (this is, having the same tag) were not
+	  rejected.
+
+	- The number of valid tables was sometimes too large, leading to
+	  access of invalid tables.
+
+	* src/sfnt/ttload.c (check_table_dir): Add argument to return number
+	of valid tables.
+	Add another tracing message.
+	(tt_face_load_font_dir): Only allocate table array for valid
+	entries as returned by `check_table_dir'.
+	Reject duplicate tables and adjust number of valid tables
+	accordingly.
+
+2015-09-19  Werner Lemberg  <[email protected]>
+
+	[pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999).
+
+	* src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short,
+	then take the absolute value.
+	Also apply FT_ABS to `height'.
+
+2015-09-17  Werner Lemberg  <[email protected]>
+
+	[type42] Fix memory leak (#45989).
+
+	* src/type42/t42parse.c (t42_parse_charstrings): Allow only a single
+	`CharStrings' array.
+
+2015-09-17  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix memory leak (#45986).
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+	Free `temp' in case of error.
+
+2015-09-17  Werner Lemberg  <[email protected]>
+
+	[psaux] Improve tracing message.
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+	Handle plural correctly.
+
+2015-09-17  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix integer overflows (#45985).
+
+	* src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
+
+2015-09-17  Werner Lemberg  <[email protected]>
+
+	[pcf] Use FT_ABS for some property values (#45893).
+
+	* src/pcf/pcfread.c (pcf_load_font): Take absolute values for
+	AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
+	RESOLUTION_Y.  In tracing mode, add warnings.
+
+2015-09-16  Werner Lemberg  <[email protected]>
+
+	Minor fixes for some clang warnings.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing
+	initialization.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Cast.
+
+2015-09-15  Werner Lemberg  <[email protected]>
+
+	[type1, type42] Fix memory leaks (#45966).
+
+	* src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis
+	names.
+	(parse_blend_design_map): Allow only a single design map.
+	(parse_encoding): Handle multiple encoding vectors.
+
+	* src/type42/t42parse.c (t42_parse_encoding): Handle multiple
+	encoding vectors.
+
+2015-09-15  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix integer type (#45965).
+
+	* src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it.
+
+2015-09-15  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964).
+
+2015-09-15  Werner Lemberg  <[email protected]>
+
+	[type1, type42] Check encoding array size (#45961).
+
+	* src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
+	(t42_parse_encoding): Do it.
+
+2015-09-14  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve.
+
+2015-09-14  Werner Lemberg  <[email protected]>
+
+	[type1] Fix another potential buffer overflow (#45955).
+
+	* src/type1/t1parse (T1_Get_Private_Dict): Assure that check for
+	`eexec' doesn't exceed `limit'.
+
+2015-09-13  Werner Lemberg  <[email protected]>
+
+	Replace `mkinstalldirs' with AC_PROG_MKDIR_P.
+
+	* builds/unix/mkinstalldirs: Removed, no longer needed.
+
+	* builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'.
+	Update pwd call for `$INSTALL'.
+
+	* builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'.
+
+	* autogen.sh: Updated.
+
+2015-09-13  Werner Lemberg  <[email protected]>
+
+	[winfonts] Check alignment shift count for resource data (#45938).
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
+
+2015-09-13  Werner Lemberg  <[email protected]>
+
+	[type1] Fix potential buffer overflow (#45923).
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't
+	point to end of file buffer.
+
+2015-09-13  Werner Lemberg  <[email protected]>
+
+	[gzip] Fix access of small compressed files (#45937).
+
+	* src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
+
+	(ft_gzip_get_uncompressed_file): Correct byte order while reading
+	unsigned long value.  Without this change, the whole optimization of
+	accessing small files in `FT_Stream_OpenGzip' is never executed!  As
+	a consequence, access to PCF files in general (which are normally
+	small files) should be much improved now as originally intended.
+
+2015-09-11  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix potential buffer overflow (#45922).
+
+	* src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is
+	enclosed in balanced expressions, ensure that the cursor position
+	doesn't get larger than the current limit.
+
+2015-09-11  Werner Lemberg  <[email protected]>
+
+	[base] Avoid crash while tracing `load_mac_face'.
+
+	Reported in Savannah bug #45919.
+
+	* src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while
+	tracing.
+
+2015-09-11  Werner Lemberg  <[email protected]>
+
+	[type42] Fix endless loop (#45920).
+
+	* src/type42/t42parse.c (t42_parse_encoding): Synchronize with
+	type1's `parse_encoding'.
+
+2015-09-10  Werner Lemberg  <[email protected]>
+
+	[docmaker] Allow `-' in bold and italic markup.
+
+	* src/tools/docmaker/sources.py (re_italic, re_bold): Adjust
+	accordingly.
+
+2015-09-09  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c (FT_RoundFix): Improve.
+
+2015-09-09  Wojciech Mamrak  <[email protected]>
+
+	* src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
+
+	This commit makes the functions behave as expected, this is,
+	rounding towards plus or minus infinity.
+
+2015-09-07  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
+
+2015-09-04  Alexei Podtelezhnikov  <[email protected]>
+
+	[raster,smooth] Microoptimizations.
+
+	* src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
+	Bezier_Up): Use do-while loops.
+
+	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
+	gray_convert_glyph): Ditto.
+
+2015-09-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Redesign code ranges (2/2).
+
+	This commit adds two fallback scripts (`latb', `latp') and
+	implements support for the no-base character ranges introduced in
+	the previous commit.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
+	`script_uni_nobase_ranges' field.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and
+	`latp' fallback scripts.
+
+	* src/autofit/afblue.dat: Add blue zones for Latin subscript and
+	superscript fallback scripts.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base
+	characters.
+	(AF_STYLE_MASK): Updated.
+
+	* src/autofit/afglobal.c (SCRIPT): Updated.
+	(af_face_globals_compute_style_coverage): Handle new style flag.
+
+	* src/autofit/aflatin.c (af_latin_hints_apply): Handle new style
+	flag.
+
+	* src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
+
+2015-09-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Redesign code ranges (1/2).
+
+	This patch introduces auxiliary code ranges that identify no-base
+	characters; they refer to glyphs of a script that should be hinted
+	without alignments to blue zones (mostly diacritics).
+
+	It also splits off ranges for fallback scripts that handle subscript
+	and superscript characters not covered by OpenType features.  For
+	example, this greatly helps improve the hinting of various phonetic
+	alphabets, which contain a large amount characters that look like
+	superscript glyphs.
+
+	Finally, code ranges are updated to Unicode 8.0, and enclosed
+	characters are removed in general since they normally look better if
+	they stay unhinted.
+
+	* src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode
+	8.0.
+	Split off superscript-like and subscript-like glyphs into...
+
+	(af_latb_uniranges, af_latp_uniranges): ... these two new arrays.
+
+	(af_xxxx_nobase_uniranges): New arrays that hold no-base characters
+	of the corresponding character ranges.
+
+2015-09-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Pass glyph index to hinting function.
+
+	No functionality change yet.
+
+	* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass
+	glyph index.
+
+	* src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply),
+	src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c
+	(af_indic_hints_apply), src/autofit/aflatin.c
+	(af_latin_hints_apply), src/autofit/aflatin2.c
+	(af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g):
+	Updated.
+
+2015-08-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Code clean-up.
+
+	* src/autofit/afglobal.h (AF_STYLE_MASK): New macro.
+	(AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Updated.
+
+2015-08-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Make glyph style array use 16bit values.
+
+	* include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use
+	`FT_UShort' for `map' field.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
+	af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h
+	(af_get_coverage): Use FT_UShort for `glyph_styles' array.
+
+	* src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to
+	16 bits.
+	(AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
+
+2015-08-26  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828).
+
+2015-08-25  Werner Lemberg  <[email protected]>
+
+	[base] Improve kerning tracing and documentation.
+
+	* src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if
+	scaled-down kerning values differ.
+
+2015-08-18  Werner Lemberg  <[email protected]>
+
+	[raster] Remove last remnants of `raster5' driver.
+
+	* src/raster/ftrend1.h (ft_raster5_renderer_class): Removed.
+
+	* src/raster/rastpic.c, src/raster/rastpic.h
+	(ft_raster5_renderer_class_pic_init,
+	ft_raster5_renderer_class_pic_free): Removed.
+
+2015-08-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Improve emboldener (#45596).
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement
+	of zero-length segments.
+
+2015-08-16  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Reoptimize arithmetic.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
+	special cases that slow down the general use.
+
+2015-08-15  pazer  <[email protected]>
+
+	Fix C++ compilation (#45762).
+
+	* src/base/ftstroke.c (ft_outline_glyph_class): Use
+	FT_CALLBACK_TABLE.
+
+2015-08-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Clean up.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use
+	`FT_Outline_Transform' and `FT_Outline_Translate'.
+	(translate_array): Dropped.
+
+2015-08-14  Andreas Enge  <[email protected]>
+
+	* builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261).
+
+2015-08-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Introduce named instance access to GX fonts.
+
+	For functions querying a face, bits 16-30 of the face index can hold
+	the named instance index if we have a GX font.  The indices start
+	with value 1; value 0 indicates font access without GX variation
+	data.
+
+	* include/freetype/freetype.h (FT_FaceRec): Update documentation.
+	* include/freetype/internal/sfnt.h: Ditto.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and
+	do argument checks.
+	(sfnt_load_face): Updated.
+
+	* src/truetype/ttobjs.c (tt_face_init)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting
+	the style name.
+
+	* src/base/ftobjs.c (open_face_from_buffer,
+	open_face_PS_from_sfnt_stream): Updated.
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated.
+	* src/cff/cffload.c (cff_font_load): Updated.
+
+	* src/cff/cffobjs.c (cff_face_init): Make function exit early for
+	pure CFF fonts if `font_index < 0'.
+	Updated.
+
+	* src/cid/cidobjs.c (cid_face_init): Updated.
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
+	* src/pfr/pfrobjs.c (pfr_face_init): Updated.
+	* src/type1/t1objs.c (T1_Face_Init): Updated.
+	* src/type42/t42objs.c (T42_Face_Init): Updated.
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+	Updated.
+
+	* docs/CHANGES: Updated.
+
+2015-08-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[type1,cff,cid] Streamline font matrix application.
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only
+	if font matrix is not trivial.
+	* src/cff/cffgload.c (cff_slot_load): Ditto.
+	* src/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the
+	entire outline.
+
+2015-08-11  Werner Lemberg  <[email protected]>
+
+	[builds/unix] Minor.
+
+	* builds/unix/configure.raw:
+	s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with
+	similarly named uppercase variables.
+
+2015-08-10  Alexei Podtelezhnikov  <[email protected]>
+
+	[type1,cid,type42] Minor improvements.
+
+	* src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only
+	when necessary. Refresh comments.
+	* src/cid/cidload.c (cid_parse_font_matrix): Ditto.
+	* src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments.
+
+2015-08-08  Werner Lemberg  <[email protected]>
+
+	[type42] Fix glyph access.
+
+	This is a severe bug: We've missed one level of indirection, as
+	described in the Type 42 specification.  As a result, ftview
+	sometimes showed incorrect glyphs for given glyph names, and even
+	displayed `error 0x0006' (invalid argument!) in case the number of
+	glyph indices differed between the Type 42 font and the embedded
+	TTF.
+
+	Apparently, noone ever noticed it; this shows how much Type 42 fonts
+	are in use...
+
+	* src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index
+	to embedded TTF's glyph index.
+
+2015-08-08  Werner Lemberg  <[email protected]>
+
+	[type42] Minor clean-up.
+
+	* src/type42/t42parse.c (t42_parse_font_matrix): Remove unused
+	variable.
+
+2015-08-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[type42] Parse FontMatrix according to specifications.
+
+	* src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix
+	does not need scaling by 1000. Units_per_EM are taken from the
+	embedded TrueType.
+
+2015-08-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve Arabic hinting.
+
+	Problem reported by Titus Nemeth <[email protected]> (by using
+	ttfautohint).
+
+	* src/autofit/afblue.dat: Add neutral blue zone for the tatweel
+	character.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2015-08-05  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Clean up types.
+
+	* src/truetype/ttobjs.c (TT_Size): Move declaration from here.
+	* include/freetype/internal/tttypes.h (TT_Size): ... to here.
+	(TT_LoaderRec): Switch to appropriate types for `face' and `size'.
+	* src/truetype/ttgload.c: Remove corresponding type casts.
+	* src/truetype/ttsubpix.c: Ditto.
+
+2015-08-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve recognition of flat vs. rounded segments.
+
+	Lower the flatness threshold from upem/8 to upem/14, making the
+	auto-hinter accept shorter elements.
+
+	Synchronize flat/round stem selection algorithm with blue zone code.
+
+	* src/autofit/aflatin.c (FLAT_THRESHOLD): New macro.
+	(af_latin_metrics_init_blues): Use it.
+	(af_latin_hints_compute_segments): Collect information on maximum
+	and minimum coordinates of `on' points; use this to add a constraint
+	for the flat/round decision similar to
+	`af_latin_metrics_init_blues'.
+
+2015-08-04  Werner Lemberg  <[email protected]>
+
+	Another left-shift bug (#45681).
+
+	* src/base/ftobjs.c (IsMacBinary): Only accept positive values for
+	`dlen'.
+
+2015-08-03  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix `ft_corner_orientation'.
+
+	Remove casting from `FT_Long' to `FT_Int' that might change the sign
+	of the return value and make it faster too.
+
+	* src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
+	with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
+	* src/pshinter/pshalgo.c: Remove old unused code.
+
+2015-08-03  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
+	having a depth greater than 1.
+
+2015-08-03  Werner Lemberg  <[email protected]>
+
+	Fix typo in clang bug from 2015-07-31 (#45678).
+
+	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
+
+2015-08-02  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Improve shared library support.
+
+	Based on a patch from John Cary <[email protected]>.
+
+2015-08-02  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype-config.in (enable_shared): Remove.  Unused.
+
+2015-08-02  Werner Lemberg  <[email protected]>
+
+	Fix more invalid left-shifts.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication,
+	not left-shift.
+
+	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
+	tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication,
+	not left-shift.
+
+2015-07-31  Werner Lemberg  <[email protected]>
+
+	Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
+
+	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
+	positive values from header.
+	Check overflow.
+
+	* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
+	negative values.
+
+	* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
+	_bdf_clear_glyph_modified): Use unsigned long constant.
+
+	* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
+	left-shift values that can be negative.
+
+	* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
+	left-shift values that can be negative.
+
+	* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
+	negative values.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
+	values that can be negative.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
+	compute_glyph_metrics, load_sbit_image): Don't left-shift values
+	that can be negative.
+
+2015-07-31  Werner Lemberg  <[email protected]>
+
+	Define FT_LONG_MAX.
+
+	* include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro.
+	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it.
+
+2015-07-28  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
+
+2015-07-27  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
+
+2015-07-26  Matthias Clasen  <[email protected]>
+
+	[cff] Don't use `hmtx' table for LSB (#45520).
+
+	* src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance
+	width only.  Bug introduced 2015-04-10.
+
+2015-07-09  Werner Lemberg  <[email protected]>
+
+	Better support of user-supplied C++ namespaces.
+
+	See
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
+
+	for a rationale.
+
+	* src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
+	src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
+	src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
+	(FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
+	header files that contain FT_{BEGIN,END}_HEADER macros by
+	themselves.
+
+	* src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
+	FT_CONFIG_STANDARD_LIBRARY_H earlier.
+
+	* src/truetype/ttpic.h: Include FT_INTERNAL_PIC_H.
+
+2015-07-07  Werner Lemberg  <[email protected]>
+
+	[sfnt] Make `tt_face_get_name' member of the SFNT interface.
+
+	* include/freetype/internal/sfnt.h (TT_Get_Name_Func): New
+	prototype.
+	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'.
+	* src/sfnt/sfobjs.h: Add prototype for it.
+
+2015-06-30  Werner Lemberg  <[email protected]>
+
+	Fix some clang compiler warnings.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
+	(cf2_interpT2CharString), src/truetype/ttgload.c
+	(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
+	src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
+
+2015-06-29  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Speed up bytecode interpreter.
+
+	* src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'.
+
+2015-06-29  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Speed up emboldening.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use
+	`FT_Vector_NormLen'.
+
+2015-06-29  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Implement fast vector normalization.
+
+	The function uses Newton's iterations instead of dividing vector
+	components by its length, which needs a square root. This is,
+	literally, a bit less accurate but a lot faster.
+
+	* src/base/ftcalc.c (FT_Vector_NormLen): New function.
+
+2015-06-28  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Always create `ftconfig.h'.
+
+	For non-UNIX builds, the file stays unmodified.  However, it's
+	better to have the main configuration files at the same place
+	regardless of the OS.
+
+2015-06-28  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Improve MSVC support (#43737).
+
+2015-06-28  Werner Lemberg  <[email protected]>
+
+	[cmake] Check for libraries and create `ftoption.h'.
+
+	* builds/FindHarfBuzz.cmake: New file, taken from
+
+	  https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake
+
+	* CMakeLists.Txt: Add path to local cmake modules.
+	Find dependencies for zlib, bzip2, libpng, and harfbuzz.
+	Create `ftoption.h' file.
+	Set up include and linker stuff for libraries.
+
+2015-06-28  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Fix creation of `ftconfig.h'.
+	Check for UNIX header files using `check_include_file'.
+	Set up correct header include directories.
+
+2015-06-28  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Disallow in-source builds.
+
+2015-06-27  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/utils.py (check_output): Add missing `\n'.
+
+2015-06-26  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Select platform-dependent `ftdebug.c'.
+
+2015-06-25  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
+	Additionally, do this for UNIX only.
+
+2015-06-25  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
+
+2015-06-25  Werner Lemberg  <[email protected]>
+
+	Another adjustment to header locations.
+
+	This change is a result of a discussion thread on freetype-devel
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
+
+	Re-introduce the `freetype2' subdirectory for all FreeType header
+	files after installation, and rename the `freetype2' subdirectory in
+	the git repository to `freetype'.
+
+	* include/freetype2: Renamed to...
+	* include/freetype: This.
+
+	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
+	PRIVATE_HEADERS): Updated.
+	Update creation of `ftconfig.h'.
+	Install generated `ftconfig.h'.
+
+	* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
+
+	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
+	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
+	builds/unix/freetype2.in: Updated.
+
+	* builds/unix/freetype-config.in: Updated.
+	* builds/unix/configure.raw: Don't check for `rmdir'.
+	* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
+	according to the autoconf info manual.
+	* builds/unix/install.mk (install, uninstall,
+	distclean_project_unix): Update and simplify.
+
+	* builds/wince/*, builds/windows/*: Updated.
+
+	* devel/ft2build.h, include/ft2build.h: Updated.
+
+	* include/freetype2/config/ftheader.h,
+	include/freetype2/internal/ftserv.h,
+	include/freetype2/internal/internal.h: Update all header file
+	macros.
+
+	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
+
+	* docs/*: Updated.
+
+2015-06-24  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
+
+2015-06-24  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
+
+2015-06-23  Werner Lemberg  <[email protected]>
+
+	s/TYPEOF/FT_TYPEOF/ (#45376).
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.in,
+	include/freetype2/config/ftconfig.h,
+	include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
+
+2015-06-22  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #45097.
+
+	We no longer `pollute' the namespace of possible header file names;
+	instead we move `ft2build.h' up by one level so that it gets
+	installed in the default include directory (e.g.,
+	/usr/local/include).  After this commit, only `ft2build.h' stays in
+	the compiler's include path.
+
+	No visible changes for the user who follows the standard FreeType
+	header inclusion rules.
+
+	* include/*: Move to ...
+	* include/freetype2/*: This directory, except `ft2build.h'.
+
+	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
+	PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
+
+	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
+	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
+	builds/unix/install.mk (install, uninstall),
+	builds/unix/freetype2.in: Updated.
+
+	* builds/unix/freetype-config.in: Updated.
+	Emit -I directory only if it is not `/usr/include'.
+
+	* builds/wince/*, builds/windows/*: Updated.
+
+	* devel/ft2build.h, include/ft2build.h: Updated.
+
+	* include/freetype2/config/ftheader.h,
+	include/freetype2/internal/ftserv.h,
+	include/freetype2/internal/internal.h: Update all header file
+	macros.
+
+	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
+
+2015-06-21  Werner Lemberg  <[email protected]>
+
+	Make Jam support work again.
+
+	This is just very basic stuff and just a little bit tested on
+	GNU/Linux only.  I won't delve into this since I'm not a Jam user.
+
+	* Jamfile: Call `HDRMACRO' for `ftserv.h' also.
+	(DEFINES): Replace with...
+	(CCFLAGS): ... this.
+
+	* src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
+	already handled in the top-level Jamfile.
+
+	* src/autofit/Jamfile (DEFINES): Replace with...
+	(CCFLAGS): ... this.
+	(_sources): Add missing files.
+
+	* src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
+	longer contains macro header definitions.
+
+	* src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
+	src/truetype/Jamfile (_sources): Add missing files.
+
+2015-06-16  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #45326.
+
+	* src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate
+	definitions.
+
+2015-06-07  Werner Lemberg  <[email protected]>
+
+	* Version 2.6 released.
+	=======================
+
+
+	Tag sources with `VER-2-6'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.5/2.6/, s/255/26/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 6.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 18:0:12.
+	* CMakeLists.txt (VERSION_MINOR): Set to 6.
+	(VERSION_PATCH): Set to 0.
+
+	* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
+	declarations for dumping functions.
+
+	* src/truetype/ttinterp.c (TT_New_Context): Pacify compiler.
+
+	* builds/toplevel.mk: Use `freetype.mk's code to compute the version
+	string.
+	Don't include a zero patch level in version string.
+	* builds/freetype.mk: Remove code for computing the version string.
+
+2015-06-06  Ashish Azad  <[email protected]>
+
+	Fix Savannah bug #45260.
+
+	* src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo.
+
+2015-06-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix memory leak.
+
+	Problem reported by Grissiom <[email protected]>; in
+
+	  https://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html
+
+	there is an example code to trigger the bug.
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size'
+	data before allocating again.  Bug most probably introduced four
+	years ago in version 2.4.3.
+
+2015-06-02  Werner Lemberg  <[email protected]>
+
+	[raster] Add more tracing.
+
+	* src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define.
+	(Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span,
+	Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls.
+
+2015-06-01  Werner Lemberg  <[email protected]>
+
+	[truetype] While tracing opcodes, show code position and stack.
+
+	* src/truetype/ttinterp.c: Change all existing TRACE7 calls to
+	TRACE6.
+	(opcode_name): Add string lengths.
+	(TT_RunIns): Implement display of code position and stack.
+
+2015-05-31  Werner Lemberg  <[email protected]>
+
+	[truetype] In GX, make private point numbers work correctly.
+
+	This is completely missing in Apple's documentation: If a `gvar'
+	tuple uses private point numbers (this is, deltas are specified for
+	some points only), the uncovered points must be interpolated for
+	this tuple similar to the IUP bytecode instruction.  Examples that
+	need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.
+
+	* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
+	tt_handle_deltas): New functions.
+	(TT_Vary_Get_Glyph_Deltas): Renamed to...
+	(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
+	points and does no longer return an array of deltas.
+	Add tracing information.
+	Call `tt_handle_deltas' to interpolate missing deltas.
+	Also fix a minor memory leak in case of error.
+
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Updated.
+
+2015-05-31  Werner Lemberg  <[email protected]>
+
+	[truetype] In GX, make intermediate tuplets work at extrema.
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition.
+
+2015-05-31  Werner Lemberg  <[email protected]>
+
+	[truetype] Add tracing information to GX code.
+
+	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
+	ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend,
+	TT_Set_Var_Design, tt_face_vary_cvt): Do it.
+
+2015-05-28  Werner Lemberg  <[email protected]>
+
+	* src/tools/apinames.c (names_dump): Fix invalid reference.
+
+	Problem reported by Guzman Mosqueda, Jose R
+	<[email protected]>.
+
+2015-05-24  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix commit from 2015-05-22.
+
+	* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
+	with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.
+
+	Problem reported by Nikolaus Waxweiler <[email protected]>.
+
+2015-05-23  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix return values of GETINFO bytecode instruction.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
+	`vertical_lcd' and `gray_cleartype'.
+
+	* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
+	Change `symmetrical smoothing' to TRUE, since FreeType produces
+	exactly this.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
+	values for symmetrical smoothing, namely 11/18.
+	Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
+	(12/19).
+
+2015-05-23  Werner Lemberg  <[email protected]>
+
+	[truetype] Minor.
+
+	* src/truetype/ttinterp.h (TT_ExecContext):
+	 s/subpixel/subpixel_hinting.
+
+	* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
+
+2015-05-22  Werner Lemberg  <[email protected]>
+
+	[truetype] Support selector index 3 of the INSTCTRL instruction.
+
+	This flag activates `native ClearType hinting', disabling backward
+	compatibility mode as described in Greg Hitchcocks whitepaper.  In
+	other words, it enables unrestricted functionality of all TrueType
+	instructions in ClearType.
+
+	* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
+	unconditionally.
+	(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
+	`GS.instruct_control' is active.
+
+	* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
+	(Ins_GETINFO): Updated.
+
+	* docs/CHANGES: Document it.
+
+2015-05-20  Werner Lemberg  <[email protected]>
+
+	[truetype] Minor.
+
+	* src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod'
+	argument.
+
+2015-05-17  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix loading of composite glyphs.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
+	ARGS_ARE_XY_VALUES flag is not set, handle argument values as
+	unsigned.  I trust `ttx' (which has exactly such code) that it does
+	the right thing here...
+
+	The reason that noone has ever noticed this bug is probably the fact
+	that point-aligned subglyphs are rare, as are subglyphs with a
+	number of points in the range [128;255], which is quite large (or
+	even in the range [32768;65535], which is extremely unlikely).
+
+2015-05-12  Chris Liddell  <[email protected]>
+
+	[cff] Make the `*curveto' operators more tolerant.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes
+	`vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate,
+	pulling values off the stack until the stack is exhausted.
+	Implicitly the stack must be a multiple (or for subtly different
+	behaviour) a multiple plus a specific number of extra values deep.
+	If that's not the case, enforce it (as the old code did).
+
+2015-05-12  Chris Liddell  <[email protected]>
+
+	[cff] fix incremental interface with new cff code.
+
+	* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
+	interface to retrieve glyph data for a SEAC, it be left to the
+	incremental interface callback to apply the encoding to raw
+	character index (as it was in the previous code).
+
+2015-04-29  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Speed up IUP.
+
+	* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
+	the same position from true interpolation, use `scale' to reduce
+	divisions.
+
+2015-04-28  Werner Lemberg  <[email protected]>
+
+	[cff] Use `name' table for PS name if we have a SFNT-CFF.
+
+	This follows the OpenType 1.7 specification.  See
+
+	  https://tug.org/pipermail/tex-live/2015-April/036634.html
+
+	for a discussion.
+
+	* src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we
+	have an SFNT.
+
+2015-04-27  Alexei Podtelezhnikov  <[email protected]>
+
+	[truetype] Speed up IUP.
+
+	* src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial
+	snapping to the same position from true interpolation.
+
+2015-04-21  Werner Lemberg  <[email protected]>
+
+	[autofit] By default, enable warping code but switch off warping.
+
+	Suggested by Behdad.
+
+	* include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER.
+
+	* src/autofit/afmodule.c (af_autofitter_init): Initialize `warping'
+	with `false'.
+
+2015-04-21  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+2015-04-21  Werner Lemberg  <[email protected]>
+
+	[autofit] Introduce `warping' property.
+
+	This code replaces the debugging hook from the previous commit with
+	a better, more generic solution.
+
+	* include/ftautoh.h: Document it.
+
+	* src/autofit/afmodule.h (AF_ModuleRec)
+	[AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field.
+
+	* src/autofit/afmodule.c (_af_debug_disable_warper): Remove.
+	(af_property_set, af_property_get, af_autofitter_init)
+	[AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option.
+
+	* src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no
+	longer existing `_af_debug_disable_warper'.
+
+	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
+	(af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init)
+	[AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the
+	scaler flags if warping is off.
+
+	* src/autofit/aftypes.h: Updated.
+
+2015-04-16  Werner Lemberg  <[email protected]>
+
+	[autofit] Add debugging hook to disable warper.
+
+	* src/autofit/afmodule.c (_af_debug_disable_warper)
+	[FT_DEBUG_AUTOFIT]: New global variable.
+
+	* src/autofit/aftypes.h: Updated.
+	(AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet).
+
+	* src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro.
+
+	* src/autofit/aflatin.c (af_latin_hints_apply)
+	[AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use
+	of warper.
+
+	* src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply)
+	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
+
+	* src/autofit/aflatin2.c (af_latin2_hints_apply)
+	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
+
+2015-04-10  Werner Lemberg  <[email protected]>
+
+	[cff] Update advance width handling to OpenType 1.7.
+
+	Problem reported by Behdad.
+
+	* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case
+	separately.
+
+	* src/cff/cffgload.c (cff_slot_load): Use advance width and side
+	bearing values from `hmtx' table if present.
+
+2015-04-03  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
+
+2015-04-02  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
+
+2015-04-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Finish the thought.
+
+	* src/autofit/afhints.c (af_direction_compute): make sure the long arm
+	is never negative so that its `FT_ABS' is not necessary.
+
+2015-04-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Call dumper functions for tracing.
+
+	* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
+	improvement.
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
+
+2015-04-01  Werner Lemberg  <[email protected]>
+
+	[autofit] Make debugging stuff work again.
+
+	The interface to ftgrid was broken in the series of commits starting
+	with
+
+	  [autofit] Allocate AF_Loader on the stack instead of AF_Module.
+
+	from 2015-01-14.
+
+	* src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]:
+	Use a global AF_GlyphHintsRec object for debugging.
+	(af_autofitter_done, af_autofitter_load_glyph): Updated.
+
+	* src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
+
+2015-04-01  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
+
+2015-03-29  Werner Lemberg  <[email protected]>
+
+	[cff] Fix Savannah bug #44629.
+
+	* src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h
+	(CFF_MAX_SUBRS_CALLS): Set to 16.
+
+2015-03-29  Werner Lemberg  <[email protected]>
+
+	[type1, truetype] Make the MM API more flexible w.r.t. `num_coords'.
+
+	This commit allows `num_coords' to be larger or smaller than the
+	number of available axes while selecting a design instance, either
+	ignoring excess data or using defaults if data is missing.
+
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
+	Implement it.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design,
+	T1_Set_Var_Design): Ditto.
+
+2015-03-29  Werner Lemberg  <[email protected]>
+
+	[type1] Minor.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use
+	FT_THROW.
+	(T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW.
+
+2015-03-27  Werner Lemberg  <[email protected]>
+
+	[cff] Trace charstring nesting levels.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLGSUBR,
+	cf2_cmdCALLSUBR, cf2_cmdRETURN>: Implement it.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_callsubr, cff_op_callgsubr, cff_op_return>: Ditto.
+
+2015-03-21  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Optimize `FT_Angle_Diff'.
+
+	Under normal circumstances we are usually close to the desired range
+	of angle values, so that the remainder is not really necessary.
+
+	* src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder.
+
+	* src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
+
+2015-03-21  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve `gvar' handling.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle
+	single-element runs.  Cf. glyph `Q' in Skia.ttf with weights larger
+	than the default.
+
+2015-03-20  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring.
+
+2015-03-17  Alexei Podtelezhnikov  <[email protected]>
+
+	Fix Savannah bug #44412 (part 2).
+
+	* src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'.
+
+2015-03-11  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Arabic script.
+
+	Thanks to Titus Nemeth <[email protected]> for guidance!
+
+	* src/autofit/afblue.dat: Add blue zone data for Arabic.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Arabic standard characters.
+
+	* src/autofit/afranges.c: Add Arabic data.
+
+	* src/autofit/afstyles.h: Add Arabic data.
+
+	* docs/CHANGES: Document it.
+
+2015-03-11  Werner Lemberg  <[email protected]>
+
+	Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols.
+
+	* include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed
+	to...
+	(FT_SERVICE_FONT_FORMAT_H): This.
+
+	* include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed
+	to ...
+	(FT_FONT_FORMAT_*): This.
+
+	src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
+	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c,
+	src/truetype/ttdriver.c, src/type1/t1driver.c,
+	src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated.
+
+2015-03-11  Werner Lemberg  <[email protected]>
+
+	[base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'.
+
+	* include/config/ftheader.h: Implement it.
+	* src/base/ftfntfmt.c, docs/CHANGES: Updated.
+
+2015-03-11  Werner Lemberg  <[email protected]>
+
+	[base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'.
+
+	* include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it.
+
+	* docs/CHANGES: Updated.
+
+2015-03-11  Werner Lemberg  <[email protected]>
+
+	Fix automatic copyright updating.
+
+	* src/tools/update-copyright: Make scanning of `no-copyright'
+	actually work.
+
+	* src/tools/no-copyright: Don't include README in general.
+
+2015-03-11  Werner Lemberg  <[email protected]>
+
+	Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'.
+
+	CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf,
+	builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/freetype.vcxproj.filters,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY,
+	include/config/ftheader.h, include/ftfntfmt.h, modules.cfg,
+	src/base/ftfntfmt.c, vms_make.com: Updated.
+
+2015-03-10  Alexei Podtelezhnikov  <[email protected]>
+
+	Fix Savannah bug #44412 (part 1).
+
+	* src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns.
+
+2015-03-10  Werner Lemberg  <[email protected]>
+
+	[base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'.
+
+	* include/ftbitmap.h, src/base/ftbitmap.c: Implement it.
+	Update all callers.
+
+	* docs/CHANGES: Updated.
+
+2015-03-06  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
+
+	Found by Alexei.
+
+2015-03-05  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftstroke.c: Simplify.
+
+2015-03-04  Werner Lemberg  <[email protected]>
+
+	[truetype] Some fixes and code refactoring in `ttgxvar.c'.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value
+	of `point_cnt' if two bytes are read.
+	Use a more vertical coding style.
+	(ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter.
+	Use a more vertical coding style.
+
+2015-03-03  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix Savannah bug #44241.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs
+	with less than 3 points.
+
+2015-03-02  Werner Lemberg  <[email protected]>
+
+	Simplify `TYPEOF' macro.
+
+	No need for two arguments.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h (TYPEOF): Updated.
+
+	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
+	src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated.
+
+2015-03-01  Werner Lemberg  <[email protected]>
+
+	Various compiler warning fixes for `make multi'.
+
+	* src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges),
+	src/autofit/aflatin.c (af_latin_hint_compute_blue_edges,
+	af_latin_hint_edges), src/autofit/aflatin2.c
+	(af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare
+	as `static'.
+
+	* src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH):
+	Removed.  Unused.
+	* src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H.
+	* src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed.  Unused.
+
+	* src/cff/cf2intrp.c: Include `cf2intrp.h'.
+	* src/cff/cffdrivr.c (PAIR_TAG): Removed.  Unused.
+
+	* src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed.  Unused.
+
+	* src/psaux/afmparse.c (afm_parser_read_int): Declare as `static'.
+
+	* src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX):
+	Removed.  Unused.
+
+	* src/raster/ftraster.c (Render_Glyph): Declare as `static'.
+
+	* src/sfnt/ttpost.c (load_format_20): Fix signedness warning.
+
+	* src/truetype/ttdriver.c (PAIR_TAG): Removed.  Unused.
+	* src/truetype/ttsubpix.c (is_member_of_family_class,
+	is_member_of_style_class): Declare as `static'.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare
+	as `static'.
+	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as
+	`static'.
+	(T1_FIELD_COUNT): Removed.  Unused.
+	* src/type1/t1parse.h (T1_Done_Table): Removed.  Unused.
+
+	* src/type42/t42parse.c (T1_Done_Table): Removed.  Unused.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	[psaux] Signedness fixes.
+
+	* include/internal/psaux.h, src/psaux/afmparse.c,
+	src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c,
+	src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	[otvalid] Signedness fixes.
+
+	* src/otvalid/otvcommn.c, src/otvalid/otvgdef.c,
+	src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c:
+	Apply.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	[lzw] Signedness fixes.
+
+	* src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	[gxvalid] Signedness fixes.
+
+	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
+	src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c,
+	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
+	src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c,
+	src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c,
+	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c,
+	src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	[cache] Signedness fixes.
+
+	* src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c,
+	src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	Change dimension fields in `FTC_ImageTypeRec' to unsigned type.
+
+	This doesn't break ABI.
+
+	* include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for
+	`width' and `height'.
+
+	* docs/CHANGES: Document it.
+
+2015-02-25  Werner Lemberg  <[email protected]>
+
+	[cache] Don't use `labs'.
+
+	This is the only place in FreeType where this function was used.
+
+	* include/config/ftstdlib.h (ft_labs): Remove.
+
+	* src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with
+	`FT_ABS'.
+
+2015-02-23  Werner Lemberg  <[email protected]>
+
+	[cache] Replace `FT_PtrDist' with `FT_Offset'.
+
+	* src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t')
+	is a better choice for `hash' to hold a pointer than `FT_PtrDist'
+	(a.k.a. `ptrdiff_t'), especially since the latter is signed,
+	causing zillions of signedness warnings.  [Note that `hash' was of
+	type `FT_UInt32' before the change to `FT_PtrDist'.]
+	Update all users.
+
+	* src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c,
+	src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated.
+
+2015-02-23  Werner Lemberg  <[email protected]>
+
+	[smooth, raster] Re-enable standalone compilation.
+
+	* src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX)
+	[_STANDALONE_]: Define macros.
+
+	* src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS,
+	FT_HYPOT) [_STANDALONE_]: Define macros.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[smooth] Signedness fixes.
+
+	* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	* src/raster/ftraster.c: Use the file's typedefs everywhere.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttpost.c (load_format_20): Fix error tracing message.
+
+	Bug introduced 6 commits earlier.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[pshinter] Fix thinko.
+
+	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly
+	check `count'.
+	Bug introduced two commits earlier.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[raster] Signedness fixes.
+
+	* src/raster/ftraster.c, src/raster/ftrend1.c: Apply.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[pshinter] Signedness fixes.
+
+	* src/pshinter/pshalgo.c, src/pshinter/pshglob.c,
+	src/pshinter/pshrec.c: Apply.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[pshinter] Use macros for (unsigned) flags, not enumerations.
+
+	* src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros.
+	Updated.
+	* src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	* src/pshinter/pshrec.c: Simplify.
+	(ps_hints_open, ps_hints_stem): Remove switch statement.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[sfnt] Signedness fixes.
+
+	* src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c,
+	src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
+	src/sfnt/ttsbit.c: Apply.
+	* src/sfnt/sfdriver.c: Apply.
+	(sfnt_get_ps_name): Simplify.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[bdf] Signedness fixes.
+
+	* src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h,
+	src/bdf/bdflib.c: Apply.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_atous): New function.
+	(_bdf_parse_glyphs, _bdf_parse_start): Use it.
+
+2015-02-22  Werner Lemberg  <[email protected]>
+
+	[pcf] Signedness fixes.
+
+	* src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply.
+	* src/pcf/pcfread.c: Apply.
+	(pcf_get_encodings): Ignore invalid negative encoding offsets.
+
+2015-02-21  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c: Signedness fixes.
+
+2015-02-21  Werner Lemberg  <[email protected]>
+
+	[type42] Signedness fixes.
+
+	* src/type42/t42parse.c, src/type42/t42parse.h,
+	src/type42/t42types.h: Apply.
+
+2015-02-21  Werner Lemberg  <[email protected]>
+
+	[pfr] Signedness fixes.
+
+	* src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c,
+	src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c,
+	src/pfr/pfrtypes.h: Apply.
+
+2015-02-21  Werner Lemberg  <[email protected]>
+
+	[cff] Minor signedness fixes related to last commit.
+
+	* src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply.
+
+2015-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Thinkos in bias handling.
+
+	Only the final result is always positive.
+
+	Bug introduced three commits earlier.
+
+	* src/cff/cffgload.c, src/cff/cffgload.h: Apply.
+
+2015-02-20  Werner Lemberg  <[email protected]>
+
+	[cid] Fix signedness issues and emit some better error codes.
+
+	* src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c,
+	src/cid/cidparse.h: Apply.
+	* src/cid/cidload.c: Apply.
+	(parse_fd_array): Reject negative values for number of dictionaries.
+	* src/cid/cidparse.c: Apply.
+	(cid_parser_new): Reject negative values for hex data length.
+
+2015-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Signedness fixes for new engine.
+
+	* src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c,
+	src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply.
+
+2015-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Signedness fixes for basic infrastructure and old engine.
+
+	* include/internal/pshints.h, src/cff/cffdrivr.c,
+	src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c,
+	src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply.
+
+2015-02-19  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'.
+
+	This is hard-coded to value 2 in `fvar' version 1.0 (and no newer
+	version exists), but some fonts set it incorrectly.
+
+	Problem reported by Adam Twardoch <[email protected]>.
+
+2015-02-19  Werner Lemberg  <[email protected]>
+
+	[cff] Emit better error code for invalid private dict size.
+
+	* src/cff/cffparse.c (cff_parse_private_dict): Reject negative
+	values for size and offset.
+
+2015-02-19  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix signedness issues.
+
+	* src/autofit/afangles.c, src/autofit/afcjk.c,
+	src/autofit/afglobal.c, src/autofit/afhints.c,
+	src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c,
+	src/autofit/hbshim.c: Apply.
+
+2015-02-19  Werner Lemberg  <[email protected]>
+
+	[autofit] Use macros for (unsigned) flags, not enumerations.
+
+	This harmonizes with other code in FreeType (and reduces the number
+	of necessary casts to avoid compiler warnings).
+
+	* src/autofit/afblue.hin: Make flag macros unsigned.
+	* src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afcjk.h: Replace flag enumeration with macros.
+	* src/autofit/afcjk.c: Updated.
+
+	* src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with
+	macros.
+	* src/autofit/afhints.c: Updated.
+
+	* src/autofit/aflatin.h: Replace flag enumerations with macros.
+	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated.
+
+	* src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros.
+
+2015-02-18  Werner Lemberg  <[email protected]>
+
+	[type1] Fix signedness issues.
+
+	* include/internal/psaux.h, include/internal/t1types.h,
+	src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
+	src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply.
+
+2015-02-18  Werner Lemberg  <[email protected]>
+
+	[psaux, type1] Fix minor AFM issues.
+
+	* include/internal/t1types.h (AFM_KernPairRec): Make indices
+	unsigned.
+	Update users.
+	(AFM_FontInfoRec): Make element counters unsigned.
+	Update users.
+	* src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned
+	int.
+
+	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs):
+	Reject negative values for number of kerning elements.
+
+	* src/type1/t1afm.c, src/tools/test_afm.c: Updated.
+
+2015-02-18  Werner Lemberg  <[email protected]>
+
+	Don't use `FT_PtrDist' for lengths.
+
+	Use FT_UInt instead.
+
+	* include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec,
+	T1_DecoderRec): Do it.
+
+	* include/internal/t1types.h (T1_FontRec): Ditto.
+
+	* src/cid/cidload.c (cid_parse_dict): Updated.
+	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto.
+	* src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto.
+	* src/type1/t1load.c (parse_blend_axis_types, parse_encoding,
+	parse_charstrings, parse_dict): Ditto.
+	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings,
+	t42_parse_dict): Ditto.
+
+2015-02-18  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Clean up.
+	This handles negative values better, avoiding many casts.
+
+2015-02-17  Werner Lemberg  <[email protected]>
+
+	[base] Fix Savannah bug #44284.
+
+	* src/base/ftcalc.c (FT_MulFix): Typos.
+
+2015-02-17  Werner Lemberg  <[email protected]>
+
+	[truetype] Finish compiler warning fixes for signedness issues.
+
+	* src/truetype/ttgxvar.c, src/truetype/ttsubpix.c,
+	src/truetype/ttsubpix.h: Apply.
+
+2015-02-17  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttsubpix.c: Adding missing `static' keywords.
+
+2015-02-17  Werner Lemberg  <[email protected]>
+
+	[truetype] More signedness fixes.
+
+	* include/internal/tttypes.h, src/truetype/ttinterp.h,
+	src/truetype/ttobjs.h, src/truetype/ttinterp.c,
+	src/truetype/ttobjs.c: Apply.
+
+2015-02-17  Werner Lemberg  <[email protected]>
+
+	[truetype] Various signedness fixes.
+
+	* include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply.
+
+	* src/truetype/ttgload.c: Apply.
+	(TT_Get_VMetrics): Protect against invalid ascenders and descenders
+	while constructing advance height.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	[base] Finish compiler warning fixes for signedness issues.
+
+	* src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c:
+	Apply.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	* include/tttables.h (TT_OS2): `fsType' must be FT_UShort.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	More minor signedness warning fixes.
+
+	* src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c,
+	src/base/ftutil.c: Apply.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	Next round of minor compiler warning fixes.
+
+	* include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member
+	type to `FT_Long'.
+	(CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword.
+
+	* include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'.
+
+	* src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c:
+	Signedness fixes.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	Various minor signedness fixes.
+
+	* include/ftadvanc.h, include/internal/ftobjs.h,
+	src/base/ftgloadr.c, src/base/ftobjs.c: Apply.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	New `TYPEOF' macro.
+
+	This helps suppress signedness warnings, avoiding issues with
+	implicit conversion changes.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h (TYPEOF): Define.
+
+	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
+	src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	* src/base/ftsystem.c: Use casts in standard C function wrappers.
+	(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #44261.
+
+	* builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the
+	environment also while calling the configure script.
+
+2015-02-16  Werner Lemberg  <[email protected]>
+
+	* include/internal/ftmemory.h: Add some `FT_Offset' casts.
+	(FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY,
+	FT_MEM_MOVE): Do it.
+
+2015-02-15  Werner Lemberg  <[email protected]>
+
+	[base] Clean up signedness issues in `ftdbgmem.c'.
+
+	Also fix other minor issues.
+
+	* src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types
+	with FT_Long for consistency.
+	(ft_mem_primes): Change type to `FT_Int'.
+	(ft_mem_closest_prime, ft_mem_table_set): Updated.
+
+	(ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free,
+	ft_mem_debug_realloc): Use `static' keyword and fix signedness
+	warnings where necessary.
+
+	(ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy,
+	ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types
+	and add or remove casts to avoid signedness warnings.
+
+2015-02-15  Werner Lemberg  <[email protected]>
+
+	[base] Clean up signedness in arithmetic functions.
+
+	This makes the code more readable and reduces compiler warnings.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix,
+	FT_DivFix): Convert input parameters to unsigned, do the
+	computation, then convert the result back to signed.
+	(ft_corner_orientation): Fix casts.
+
+2015-02-07  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Savannah bug #44184.
+
+	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No
+	longer reject `htmx' and `vmtx' tables with invalid length but
+	sanitize them.
+
+2015-02-06  Jon Anderson  <[email protected]>
+
+	[truetype] Fix regression in the incremental glyph loader.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): For incremental
+	fonts, the glyph index may be greater than the number of glyphs
+	indicated, so guard the check with a preprocessor conditional.
+
+2015-02-06  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix potential memory leak.
+
+	While this doesn't show up with FreeType, exactly the same code
+	leaks with ttfautohint's modified auto-hinter code (which gets used
+	in a slightly different way).
+
+	It certainly doesn't harm since it is similar to already existing
+	checks in the code for embedded arrays.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours'
+	and `max_points' for all cases.
+
+2015-01-31  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Thai script.
+
+	Thanks to Ben Mitchell <[email protected]> for guidance with blue
+	zone characters!
+
+	* src/autofit/afblue.dat: Add blue zone data for Thai.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Thai standard characters.
+
+	* src/autofit/afranges.c: Add Thai data.
+
+	* src/autofit/afstyles.h: Add Thai data.
+
+2015-01-23  Behdad Esfahbod  <[email protected]>
+
+	[raster] Handle `FT_RASTER_FLAG_AA' correctly.
+
+	This fixes a breakage caused by the commit `[raster] Remove
+	5-level gray AA mode from monochrome rasterizer.'.
+
+	Problem reported by Markus Trippelsdorf <[email protected]>.
+
+	* src/raster/ftraster.c (ft_black_render): Handle
+	`FT_RASTER_FLAG_AA'.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode
+	remnants.
+
+2015-01-18  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_New_Library): Fix compiler warning.
+
+2015-01-18  Chris Liddell  <[email protected]>
+
+	[raster] Fix Savannah bug #44022.
+
+	Add fallback for glyphs with degenerate bounding boxes.
+
+	If a glyph has only one very narrow feature, the bbox can end up
+	with either the width or height of the bbox being 0, in which case
+	no raster memory is allocated and no attempt is made to render the
+	glyph.  This is less than ideal when the drop-out compensation in
+	the rendering code would actually result in the glyph being
+	rendered.
+
+	This problem can be observed with the `I' glyph (gid 47) in the
+	Autodesk RomanS TrueType font.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either
+	dimension is zero to explicitly round up/down (instead of simply
+	round).
+
+2015-01-17  Werner Lemberg  <[email protected]>
+
+	Add some tools to handle yearly copyright notice updates.
+
+	We are now following the GNU guidelines: A new release automatically
+	means that the copyright year of all affected files gets updated; it
+	is no longer used to track years of modification changes.
+
+	* src/tools/update-copyright-year: New Perl script.
+	* src/tools/update-copyright: New shell script that calls
+	`update-copyright-year' on all files.
+	* src/tools/no-copyright: Exceptions that should not be handled by
+	`update-copyright'
+
+2015-01-14  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated, using a description from Behdad.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	* src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[autofit] Add embedded array of segments and edges.
+
+	Avoids multiple mallocs per typical glyphs.
+
+	With this and recent changes to avoid mallocs, the thread-safe
+	stack-based loader is now as fast as the previous model that had one
+	cached singleton.
+
+	* src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED):
+	New macros.
+	(AF_AxisHintsRec): Add two arrays for segments and edges.
+
+	* src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate
+	data if number of segments exceeds given threshold value.
+	(af_axis_hints_new_edge):  Only allocate data if number of edges
+	exceeds given threshold value.
+	(af_glyph_hints_done): Updated.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[autofit] Add embedded arrays for points and contours.
+
+	This avoids at least two malloc calls for typical glyphs.
+
+	* src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED):
+	New macros.
+	(AF_GlyphHintsRec): Add two arrays for contours and points.
+
+	* src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done):
+	Updated.
+	(af_glyph_hints_reload): Only allocate data if number of contours or
+	points exceeds given threshold values.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[autofit] Allocate hints object on the stack.
+
+	This avoids one malloc per load.
+
+	* src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to
+	`AF_GlyphHints'.
+	Update prototype.
+
+	* src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints'
+	parameter instead of `FT_Memory'.
+	(af_loader_done): Directly reset `load_hints'.
+	(af_loader_load_g): Updated.
+
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Use local
+	`hints' object.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[autofit] Reuse slot glyph loader.
+
+	No need to create a new glyph loader; we can reuse the one from
+	`slot->internal->loader'.  It's hard to tell why it was written that
+	way originally, but new code looks sound and correct to me, and
+	avoids lots of allocations.
+
+	* src/autofit/afloader.c (af_loader_init): Change return type to
+	`void'.
+	Don't call `FT_GlyphLoader_New'.
+	(af_loader_reset): Don't call `FT_GlyphLoader_Rewind'.
+	(af_loader_load_g): Update code to use `internal->loader', which
+	doesn't need copying of data.
+
+	* src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member.
+	Update prototype.
+
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Updated.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[autofit] Remove (unused) support for composite glyphs.
+
+	We never have to deal with composite glyphs in the autohinter, as
+	those will be loaded into FORMAT_OUTLINE by the recursed
+	`FT_Load_Glyph' function.
+
+	In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply
+	FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies
+	FT_LOAD_NO_HINTING:
+
+	  /* resolve load flags dependencies */
+
+	  if ( load_flags & FT_LOAD_NO_RECURSE )
+	    load_flags |= FT_LOAD_NO_SCALE         |
+	                  FT_LOAD_IGNORE_TRANSFORM;
+
+	  if ( load_flags & FT_LOAD_NO_SCALE )
+	  {
+	    load_flags |= FT_LOAD_NO_HINTING |
+	                  FT_LOAD_NO_BITMAP;
+
+	    load_flags &= ~FT_LOAD_RENDER;
+	  }
+
+	and as such the auto-hinter is never called.  Thus, the recursion in
+	`af_loader_load_g' never actually happens.  So remove the depth
+	counter as well.
+
+	* src/autofit/afloader.c (af_loader_load_g): Remove `depth'
+	parameter.
+	<FT_GLYPH_FORMAT_COMPOSITE>: Remove associated code.
+	(af_loader_load_glyph): Updated.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[raster] Fix uninitialized memory access.
+
+	Apparently `ras.cProfile' might be uninitialized.  This will be the
+	case if `ras.top == ras.cProfile->offset', as can be seen in
+	`End_Profile'.  The overshoot code introduced in a change `Fix B/W
+	rasterization of subglyphs with different drop-out modes.' (from
+	2009-06-18) violated this, accessing `ras.cProfile->flags'
+	unconditionally just before calling `End_Profile' (which then
+	detected that `cProfile' is uninitialized and didn't touch it).
+
+	This was harmless, and was not detected by valgrind before because
+	the objects were allocated on the `raster_pool', which was always
+	initialized.  With recent change to allocate raster buffers on the
+	stack, valgrind now reported this invalid access.
+
+	* src/raster/ftraster.c (Convert_Glyph): Don't access an
+	uninitialized `cProfile'.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[smooth] Fix uninitialized memory access.
+
+	Looks like `ras.span_y' could always be used without initialization.
+	This was never detected by valgrind before because the library-wide
+	`raster_pool' was used for the worker object and `raster_pool' was
+	originally zero'ed.  But subsequent reuses of it were using `span_y'
+	uninitialized.  With the recent change to not use `render_pool' and
+	allocate worker and buffer on the stack, valgrind now detects this
+	uninitialized access.
+
+	* src/smooth/ftgrays.c (gray_raster_render): Initialize
+	`ras.span_y'.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[base] Don't initialize unused `driver->glyph_loader'.
+
+	* src/base/ftobjs.c (Destroy_Driver): Don't call
+	`FT_GlyphLoader_Done'.
+	(FT_Add_Module): Don't call `FT_GlyphLoader_New'.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[base] Don't allocate `library->raster_pool' anymore.
+
+	It's unused after the following commits:
+
+	  [raster] Allocate render pool for mono rasterizer on the stack.
+	  [raster] Remove 5-level gray AA mode from monochrome rasterizer.
+
+	The value of FT_RENDER_POOL_SIZE still serves the purpose it used to
+	serve, which is, to adjust the pool size.  But the pool is now
+	allocated on the stack on demand.
+
+	* src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[base] Do not reorder library->renderers upon use.
+
+	Instead of keeping `library->renderers' in a MRU order, just leave
+	it as-is.  The MRU machinery wasn't thread-safe.
+
+	With this patch, rasterizing glyphs from different faces from
+	different threads doesn't fail choosing rasterizer
+	(FT_Err_Cannot_Render_Glyph).
+
+	Easiest to see that crash was to add a `printf' (or otherwise let
+	thread yield in FT_Throw with debugging enabled).
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
+	(FT_Outline_Render): Don't call `FT_Set_Renderer'.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[raster] Allocate render pool for mono rasterizer on the stack.
+
+	Instead of using the `render_pool' member of `FT_Library' that is
+	provided down to the rasterizer, completely ignore that and allocate
+	needed objects on the stack instead.
+
+	With this patch, rasterizing glyphs from different faces from
+	different threads doesn't crash in the monochrome rasterizer.
+
+	* src/raster/ftraster.c (black_TRaster): Remove `buffer',
+	`buffer_size', and `worker' members.
+
+	(ft_black_render): Create `buffer' locally.
+	(ft_black_reset): Updated.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[raster] Remove 5-level gray AA mode from monochrome rasterizer.
+
+	It was off by default and couldn't be turned on at runtime.  And the
+	smooth rasterizer superseded it over ten years ago.  No point in
+	keeping.  Comments suggested that it was there for compatibility
+	with FreeType 1.
+
+	550 lines down.
+
+	* src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING,
+	RASTER_GRAY_LINES): Remove macros and all associated code.
+
+	(black_TWorker): Remove `gray_min_x' and `gray_max_x'.
+	(black_TRaster): Remove `grays' and `gray_width'.
+
+	(Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop,
+	ft_black_render): Updated.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Simplify code.
+	(ft_raster5_renderer_class): Removed.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[smooth] Allocate render pool for smooth rasterizer on the stack.
+
+	Instead of using the `render_pool' member of `FT_Library' that is
+	provided down to the rasterizer, completely ignore that and allocate
+	needed objects on the stack instead.
+
+	With this patch, rasterizing glyphs from different faces from
+	different threads doesn't crash in the smooth rasterizer.
+
+	Bugs:
+
+	  https://bugzilla.redhat.com/show_bug.cgi?id=678397
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1004315
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1165471
+	  https://bugs.freedesktop.org/show_bug.cgi?id=69034
+
+	* src/smooth/ftgrays.c (gray_TRaster): Remove `buffer',
+	`buffer_size', `band_size', and `worker' members.
+
+	(gray_raster_render): Create `buffer', `buffer_size', and
+	`band_size' locally.
+	(gray_raster_reset): Updated.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver.
+
+	Previously the code had stipulation for using a per-TT_Size exec
+	context if `size->debug' was true.  But there was no way that
+	`size->debug' could *ever* be true.  As such, the code was always
+	using the singleton `TT_ExecContext' that was stored in `TT_Driver'.
+	This was, clearly, not threadsafe.
+
+	With this patch, loading glyphs from different faces from different
+	threads doesn't crash in the bytecode loader code.
+
+	* src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member.
+	(TT_DriverRec): Remove `context' member.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove
+	`TT_ExecContext' code related to a global `TT_Driver' object.
+
+	(tt_driver_done): Don't remove `TT_ExecContext' object here but ...
+	(tt_size_done_bytecode): ... here.
+
+	(tt_driver_init): Don't create `TT_ExecContext' object here but ...
+	(tt_size_init_bytecode): ... here, only on demand.
+
+	* src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug
+	code.
+	(TT_New_Context): Remove `TT_ExecContext' code related to a global
+	`TT_Driver' object.
+
+	* src/truetype/ttinterp.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	[autofit] Allocate AF_Loader on the stack instead of AF_Module.
+
+	Stop sharing a global `AF_Loader'.  Allocate one on the stack during
+	glyph load.
+
+	Right now this results in about 25% slowdown, to be fixed in a
+	following commit.
+
+	With this patch loading glyphs from different faces from different
+	threads doesn't immediately crash in the autohinting loader code.
+
+	Bugs:
+
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1164941
+
+	* src/autofit/afloader.c (af_loader_init): Pass
+	`AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments.
+	(af_loader_reset, af_loader_load_glyph): Also pass `loader' as
+	argument.
+	(af_loader_done): Use `AF_Loader' instead of `AF_Module' as
+	argument.
+
+	* src/autofit/afmodule.c (af_autofitter_init): Don't call
+	`af_loader_init'.
+	(af_autofitter_done): Don't call `af_loader_done'.
+	(af_autofitter_load_glyph): Use a local `AF_Loader' object.
+
+	* src/autofit/afloader.h: Include `afmodule.h'.
+	Update prototypes.
+	Move typedef for `AF_Module' to...
+
+	* src/autofit/afmodule.h: ... this place.
+	No longer include `afloader.h'.
+
+2015-01-14  Behdad Esfahbod  <[email protected]>
+
+	* src/type42/t42objs.h (T42_DriverRec): Remove unused member.
+
+2015-01-12  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #43976.
+
+	Assure that FreeType's internal include directories are found before
+	`CPPFLAGS' (which might be set by the user in the environment), and
+	`CPPFLAGS' before `CFLAGS'.
+
+	* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
+	(FT_COMPILE): Make this a special variable for compiling only the
+	files handled in `freetype.mk'.
+	(.c.$O): Removed, unused.
+
+	* src/*/rules.mk (*_COMPILE): Fix order of include directories.
+
+2015-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] Prettifying.
+
+	* src/truetype/ttinterp.c (project, dualproj, fast_project,
+	fast_dualproj): Rename to...
+	(PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
+
+2015-01-11  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
+
+	Based on a patch from Behdad.
+
+2015-01-11  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call.
+
+2015-01-11  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Normalize): Remove unused argument.
+
+2015-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by
+	expansion.
+
+2015-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion,
+	adjusting function calls where necessary.
+	(FT_UNUSED_ARG): Removed, no longer needed.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	[truetype] More macro expansions.
+
+	Based on a patch from Behdad.
+
+	* src/truetype/ttinterp.c (DO_*): Expand macros into corresponding
+	`Ins_*' functions.
+	(TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls.
+	(ARRAY_BOUND_ERROR): Remove second definition, which is no longer
+	needed.
+	(Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with...
+	(Ins_SxyTCA): New function.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH.
+
+	Behdad suggested this code simplification, and nobody objected...
+
+	* include/config/ftoption.h, devel/ftoption.h
+	(TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove.
+
+	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]:
+	Remove related code.
+	(ARRAY_BOUND_ERROR): Use do-while loop.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_,
+	EXEC_ARG): Remove by replacing with expansion.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	[truetype] More macro expansions.
+
+	Based on a patch from Behdad.
+
+	* src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize,
+	SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move,
+	CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem,
+	CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt,
+	CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round,
+	COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing
+	with expansion.
+
+	(Cur_Func_project, CUR_Func_dualproj, CUR_fast_project,
+	CUR_fast_dualproj): Replace with macros `project', `dualproj',
+	`fast_project', `fast_dualproj'.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing
+	with expansion.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove code for static TrueType interpreter.
+
+	This is a follow-up patch.
+
+	* src/truetype/ttinterp.c, src/truetype/ttinterp.h
+	[TT_CONFIG_OPTION_STATIC_INTERPRETER,
+	TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code.
+
+2015-01-10  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (CUR): Remove by replacing with expansion.
+
+	This starts a series of patches that simplifies the code of the
+	bytecode interpreter.
+
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2015-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.27
@@ -1,0 +1,2106 @@
+2016-12-30  Werner Lemberg  <[email protected]>
+
+	* Version 2.7.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-7-1'.
+
+	* docs/VERSION.TXT: Add entry for version 2.7.1.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.7/2.7.1/, s/27/271/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 19:0:13.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+2016-12-30  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Replace `rand' with an xorshift algorithm.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Don't include `stdlib.h'.
+	(Random): Implement and use a 32bit `xorshift' algorithm.
+
+2016-12-30  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Restrict number of tested bitmap strikes.
+
+	Malformed fonts often have large values for the number of bitmap
+	strikes, and FreeType doesn't check the validity of all bitmap
+	strikes in advance.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=353
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Include `stdlib.h' for `rand'.
+	(Random): Small class to provide n randomly selected numbers
+	(without repetition) out of the value set [1,N].
+	(LLVMFuzzerTestOneInput): Use it to test only up to 10 bitmap
+	strikes.
+
+2016-12-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Variation font API stability issues.
+
+	Make some functions work before a call to `TT_Set_MM_Blend'.
+
+	* src/truetype/ttgxvar.c (tt_hadvance_adjust): Exit immediately if
+	we don't blend.
+	(TT_Get_MM_Blend, TT_Get_Var_Design): Return default values if we
+	don't blend.
+
+2016-12-29  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis data.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=348
+
+2016-12-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Tracing fixes.
+
+	* src/truetype/ttgxvar.c (tt_hadvance_adjust): Emit correct
+	information.
+	(TT_Set_Var_Design): Fix typo.
+	(TT_Get_Var_Design): Fix typos.
+
+2016-12-29  Werner Lemberg  <[email protected]>
+
+	*/*: Use `0.5f' for tracing 16.16 numbers.
+
+2016-12-29  Werner Lemberg  <[email protected]>
+
+	[pcf] Protect against gzip bombs.
+
+	Fix suggested by Kostya; reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=345
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Limit number of TOC entries to
+	1024.
+
+2016-12-28  Werner Lemberg  <[email protected]>
+
+	[psnames] Only declare, not define, data in `pstables.h' (#49949).
+
+	Pdfium includes `pstables.h' a second time; moving the definition
+	from `pstables.h' to `psmodule.c' saves more than 60kByte data
+	segment space for this case.
+
+	* src/tools/glnames.py (StringTable::dump,
+	StringTable::dump_sublist, dump_encoding, dump_array): Emit
+	additional code to only define tables if `DEFINE_PS_TABLES' is set.
+
+	* src/psnames/pstables.h: Regenerated.
+	* src/psnames/psmodule.c (DEFINE_PS_TABLES): Define.
+
+2016-12-28  Werner Lemberg  <[email protected]>
+
+	[cff] Catch `blend' op in non-variant fonts.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=334
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdBLEND>: Don't
+	allow `blend' op for non-variant fonts.
+
+2016-12-28  Werner Lemberg  <[email protected]>
+
+	[cff] Better check of number of blends.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdBLEND>,
+	src/cff/cffparse.c (cff_parse_blend): Compare number of blends with
+	stack size.
+
+2016-12-27  Werner Lemberg  <[email protected]>
+
+	Documentation updates.
+
+	* docs/CHANGES: Add missing information.
+
+	* docs/formats.txt: Rewritten and updated.
+
+2016-12-27  Werner Lemberg  <[email protected]>
+
+	[truetype, type1] Implement `FT_Get_Var_Design_Coordinates'.
+
+	* src/truetype/ttgxvar.c (TT_Get_Var_Design): Implement.
+	(TT_Set_Var_Design): Fix tracing.
+
+	* src/type1/t1load.c (T1_Get_Var_Design): Implement.
+
+2016-12-24  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_hdmx): Ignore `version'.
+
+	Problem reported by 張俊芝 <[email protected]>.
+
+2016-12-24  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit): Allow more version values.
+
+	Some fonts seem to have the `version' field in the wrong byte order.
+
+	Problem reported by 張俊芝 <[email protected]>.
+
+2016-12-24  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Sanitize table length.
+
+	This trivial fix allows us to accept more fonts.
+
+	Problem reported by 張俊芝 <[email protected]>.
+
+2016-12-24  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Fix tracing.
+
+2016-12-22  Werner Lemberg  <[email protected]>
+
+	* CMakeLists.txt: Make it work with cmake 2.8.11.2 (#49909).
+
+2016-12-22  Werner Lemberg  <[email protected]>
+
+	Ensure used preprocessor symbols are defined (#49790).
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h: Check `__GNUC__', `__IBMC__',
+	and `__SUNPRO_C' correctly.
+
+2016-12-22  Werner Lemberg  <[email protected]>
+
+	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Check `count'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=308
+
+2016-12-22  Werner Lemberg  <[email protected]>
+
+	[cff] Protect against invalid `vsindex' and `blend' values.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=305
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdVSINDEX,
+	cf2_cmdBLEND>: Implement it.
+
+2016-12-22  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Always use Adobe CFF engine.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (FT_Global::FT_Global): Implement
+	it.
+
+2016-12-21  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko.
+
+	I should really stop coding late in the evening...
+
+	Thanks again to Ben for checking.
+
+2016-12-21  Werner Lemberg  <[email protected]>
+
+	[autofit] Support variation fonts.
+
+	(This ChangeLog entry was added later on.)
+
+	* src/autofit/afglobal.c (af_face_globals_free): Remove useless
+	code.
+
+	* src/base/ftmm.c (FT_Set_MM_Design_Coordinates,
+	* FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
+	FT_Set_Var_Blend_Coordinates): Finalize
+	auto-hinter data to enforce recomputation.  Note that this is a
+	brute-force method which should be improved.
+
+2016-12-21  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko.
+
+	Don't apply deltas twice for non-phantom points.
+
+	Spotted by Ben Wagner.
+
+2016-12-21  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Another try for #49829.
+
+	* src/cff/cffdrivr.c: Don't include
+	`FT_SERVICE_METRICS_VARIATIONS_H'.
+	(cff_get_advances): Use `ttface->variation_support'.
+
+	* src/truetype/ttdriver.c (tt_get_advances): Use
+	`ttface->variation_support'.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Use `ttface->variation_support'.
+
+2016-12-21  Werner Lemberg  <[email protected]>
+
+	[truetype, sfnt] Introduce font variation flags to `TT_Face'.
+
+	* include/freetype/internal/tttypes.h (TT_FACE_FLAG_VAR_XXX):
+	New macros describing available functionality of various OpenType
+	tables related to font variation.
+	(TT_Face): New fields `variation_support' and `mvar_support',
+	replacing and extending `use_fvar'.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face, sfnt_load_face): Use
+	`variation_support'.
+
+	* src/truetype/ttgxvar.c (ft_var_load_hvar): Set `variation_support'
+	field.
+	(TT_Vary_Apply_Glyph_Deltas): Updated.
+
+2016-12-21  Werner Lemberg  <[email protected]>
+
+	[base] Improve sanity check for Mac resources (#49888).
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Abort if `rlen' is not
+	positive.
+
+2016-12-20  Werner Lemberg  <[email protected]>
+
+	[base] More sanity checks for Mac resources.
+
+	We use
+
+	  https://github.com/kreativekorp/ksfl/wiki/Macintosh-Resource-File-Format
+
+	and
+
+	  https://developer.apple.com/legacy/library/documentation/mac/pdf/MoreMacintoshToolbox.pdf#page=151
+
+	as references.
+
+	* include/freetype/internal/ftrfork.h (FT_RFork_Ref): Use FT_Short
+	for `res_id'.
+
+	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Extract map length
+	and use it to improve sanity checks.
+	Follow the specification more closely;in particular, all data types
+	are signed, not unsigned.
+	(FT_Raccess_Get_DataOffsets): Follow the specification more closely;
+	in particular, all data types are signed, not unsigned.
+	Add some sanity checks.
+
+2016-12-20  Werner Lemberg  <[email protected]>
+
+	[truetype] Improve logic for getting fast advance widths.
+
+	* src/cff/cffdrivr.c (cff_get_advances), src/truetype/ttdriver.c
+	(tt_get_advances): Use `is_default_instance' for test; this gets
+	recomputed after changing blend coordinates.
+
+2016-12-20  Ben Wagner  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[truetype] Fix linear metrics of GX variation fonts (#49829).
+
+	When asking for an unhinted non-default variations,
+	`linearVertAdvance' is currently the value from the `hmtx' table
+	instead of the actual value after applying the variation.  `HVAR'
+	support fixes this, but fonts will exist without that table and will
+	need sane fallback.
+
+	Problem also reported as
+
+	  https://bugs.chromium.org/p/skia/issues/detail?id=5917
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Implement linear advance adjustments if `HVAR'
+	or `VVAR' tables are missing.
+
+2016-12-20  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Fast advance width retrieval for fonts with HVAR.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Don't handle MM.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
+	(cff_get_advances): Test for HVAR and VVAR.
+
+	* src/truetype/ttdriver.c (tt_get_advances): Test for HVAR and VVAR.
+
+2016-12-18  Werner Lemberg  <[email protected]>
+
+	[base] Fix invalid mac font recursion.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=304
+
+	* src/base/ftobjs.c (FT_Open_Face): Code moved to...
+	(ft_open_face_internal): ... this function.
+	Add a parameter to control whether we try special Mac font handling
+	in case of failure.
+	(FT_Open_Face, FT_New_Face, FT_New_Memory_Face,
+	open_face_from_buffer): Use `ft_open_face_internal'.
+
+2016-12-18  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffobjs.c (cff_face_init): Make named instances work.
+
+2016-12-18  Werner Lemberg  <[email protected]>
+
+	[truetype, cff] Extend `get_var_blend' function of MM service.
+
+	In particular, we need access to named instance data.
+
+	* include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func):
+	Add argument for `FT_MM_Var'.
+
+	* src/cff/cffload.c (cff_get_var_blend): Updated.
+	* src/cff/cffload.h: Updated.
+
+	* src/cff/cf2ft.c (cf2_getNormalizedVector): Updated.
+
+	* src/truetype/ttgxvar.c (tt_get_var_blend): Updated.
+	Accept value `NULL' for arguments.
+	* src/truetype/ttgxvar.h: Updated.
+
+2016-12-18  Werner Lemberg  <[email protected]>
+
+	[sfnt] Handle `fvar' with zero axes as a non-MM font.
+
+	This is better behaviour than exiting with an error.
+
+	* include/freetype/internal/tttypes.h (TT_Face): Add `use_fvar'
+	field.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Compute `use_fvar', also
+	updating the validation code.
+	Use `use_fvar' to compute FT_FACE_FLAG_MULTIPLE_MASTERS.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Remove `fvar' validation
+	code.
+
+2016-12-18  Werner Lemberg  <[email protected]>
+
+	Minor GX code shuffling.
+
+	* include/freetype/internal/tttypes.h (TT_Face): Move
+	`is_default_instance' into TT_CONFIG_OPTION_GX_VAR_SUPPORT
+	block.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Updated.
+	* src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): New macro.
+	(TT_Load_Glyph): Use it.
+
+2016-12-18  Werner Lemberg  <[email protected]>
+
+	[cff] Better handling of non-CFF font formats.
+
+	* src/cff/cffload.c (cff_font_load): Pure CFFs don't have a
+	signature, so return `FT_Err_Unknown_File_Format' more often.
+
+2016-12-17  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_build_blend_vector): Remove redundant code.
+
+2016-12-17  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttobjs.c (tt_face_init): Simplify conditional code.
+
+2016-12-17  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] Various sanitizing fixes.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): If the axis count in `fvar' is
+	zero, set `num_instances' to zero.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Handle `fvar' table with
+	zero axes as invalid.
+
+	* src/truetype/ttobjs.c (tt_face_init): Improve logic of loading
+	`loca', `cvt', `fpgm', and `prep' table.
+
+2016-12-17  Werner Lemberg  <[email protected]>
+
+	Improve tracing of `FT_Open_Face'.
+
+	* src/base/ftobjs.c (FT_Open_Face): Return info on number of
+	available faces and numbered instances, or the indices of the
+	requested face and numbered instance.
+
+	* src/sfnt/sfobjs. (sfnt_open_font): Trace number of subfonts.
+
+2016-12-17  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_load_private_dict): Always init `blend'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=295
+
+2016-12-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix `cvar' sanity test.
+
+	Reported by Dave Arnold.
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Use tuple count mask.
+
+2016-12-16  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Remove compiler warnings; fix `make multi'.
+
+	* src/cff/cf2font.h: Include `cffload.h'.
+
+	* src/cff/cffload.c: Include FT_MULTIPLE_MASTERS_H and
+	FT_SERVICE_MULTIPLE_MASTERS_H.
+	(cff_vstore_load): Eliminate `vsSize'.
+	(cff_load_private_dict): Tag as `FT_LOCAL_DEF'.
+
+	* src/cff/cffload.h: Include `cffobjs.h'.
+	Provide declaration for `cff_load_private_dict'.
+
+	* src/truetype/ttgxvar.c (ft_var_load_hvar): Eliminate
+	`minorVersion' and `map_offset'.
+
+2016-12-16  Werner Lemberg  <[email protected]>
+
+	[cff] Fix heap buffer overflow (#49858).
+
+	* src/cff/cffparse.c (cff_parser_run): Add one more stack size
+	check.
+
+2016-12-15  Werner Lemberg  <[email protected]>
+
+	Fix clang warnings.
+
+	* src/cff/cffload.c (cff_blend_doBlend): Add cast.
+	(cff_subfont_load): Set `error' correctly.
+
+	* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
+
+2016-12-15  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[cff] Implement CFF2 support (2/2).
+
+	The font variation code.  All parts dependent on the GX code in the
+	`truetype' module are guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+	In other words, you can still compile the `cff' module without
+	defining TT_CONFIG_OPTION_GX_VAR_SUPPORT (which brings you CFF2
+	support without font variation).
+
+	* src/cff/cf2font.c (cf2_font_setup): Add support for font
+	variation.
+	* src/cff/cf2font.h (CF2_Font): Add fields for variation data.
+
+	* src/cff/cf2ft.c (cf2_free_instance): Free blend data.
+	(cf2_getVStore, cf2_getNormalizedVector): New functions.
+	* src/cff/cf2ft.h: Updated.
+
+	* src/cff/cf2intrp.c: Include `cffload.h'.
+	(cf2_cmdRESERVED_15, cf2_cmdRESERVED_16): Replace with...
+	(cf2_cmdVSINDEX, cf2_cmdBLEND): ... this new enum values.
+	(cf2_doBlend): New function.
+	(cf2_interpT2CharString): Handle `vsindex' and `blend' opcodes.
+
+	* src/cff/cffload.c (FT_fdot14ToFixed): New macro.
+	(cff_vstore_done, cff_vstore_load): New functions.
+	(cff_blend_clear, cff_blend_doBlend, cff_blend_build_vector,
+	cff_blend_check_vector): New functions.
+	(cff_load_private_dict): Add arguments for blend vector.
+	Handle blend data.
+	(cff_subfont_load, cff_subfont_done): Updated.
+	(cff_font_load): Handle CFF2 variation store data.
+	(cff_font_done): Updated.
+	* src/cff/cffload.h: Include `cffparse.h'.
+	Updated.
+
+	* src/cff/cffobjs.c (cff_face_done): Updated.
+
+	* src/cff/cffparse.c: Include `cffload.h'.
+	(cff_parse_num): Handle internal value 255.
+	(cff_parse_vsindex, cff_parse_blend): New functions.
+	(CFF_FIELD_BLEND): New macro.
+	(cff_parser_run): Updated.
+	* src/cff/cffparse.h (cff_kind_blend): New enum value.
+
+	* src/cff/cfftoken.h: Handle `vstore', `vsindex', and `blend'
+	dictionary values.
+
+	* src/cff/cfftypes.h (CFF_VarData, CFF_AxisCoords, CFF_VarRegion,
+	CFF_VStore, CFF_Blend): New structures.
+	(CFF_FontRecDict): Add `vstore_offset' field.
+	(CFF_Private): Add `vsindex' field.
+	(CFF_SubFont): Add fields for blend data.
+	(CFF_Font): Add `vstore' field.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): `CFF2' is equal to `gvar',
+	since glyph variation data is directly embedded.
+	(TT_Set_MM_Blend): Don't load `gvar' table for CFF2 fonts.
+
+2016-12-15  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[cff] Implement CFF2 support (1/2).
+
+	This commit does not contain the blend code for font variation
+	support, which follows in another commit.
+
+	You should ignore whitespace while inspecting this commit.
+
+	* include/freetype/internal/tttypes.h (TT_Face): Add `isCFF2'
+	member.
+
+	* src/cff/cf2font.h (CF2_Font): Add `isCFF2' member.
+
+	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Handle `isCFF2'
+	flag.
+	(cf2_getMaxstack): New function.
+	* src/cff/cf2ft.h: Updated.
+
+	* src/cff/cf2intrp.c (cf2_escRESERVED_38): New enum.
+	(cf2_interpT2CharString): Handle CFF2 differences.
+	Add tracing message for errors.
+
+	* src/cff/cffdrivr.c (cff_get_glyph_name, cff_get_name_index):
+	Update for CFF2.
+
+	* src/cff/cffload.c (FT_FIXED_ONE): New macro.
+	(cff_index_init, cff_index_load_offsets, cff_index_access_element,
+	cff_index_get_name, cff_ft_select_get, cff_load_private_dict,
+	cff_subfont_load, cff_font_load): Handle CFF2.
+	* src/cff/cffload.h: Updated.
+
+	* src/cff/cffobjs.c (cff_face_init): Handle CFF2.
+
+	* src/cff/cffparse.c (cff_parse_maxstack): New function.
+	(CFFCODE_TOPDICT, CFFCODE_PRIVATE): Removed
+	* src/cff/cffparse.h (CFF2_MAX_STACK, CFF2_DEFAULT_STACK): New
+	macros.
+	(CFF2_CODE_TOPDICT, CFF2_CODE_FONTDICT, CFF2_CODE_PRIVATE): New
+	macros.
+
+	* src/cff/cfftoken.h: Add fields for CFF2 dictionaries (but no blend
+	stuff).
+
+	* src/cff/cfftypes.h (CFF_Index): Add `hdr_size' field.
+	(CFF_FontRecDict): Add `maxstack' field.
+	(CFF_Private): Add `subfont' field.
+	(CFF_Font): Add `top_dict_length' and `cff2' fields.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Handle `CFF2' table.
+
+2016-12-15  Werner Lemberg  <[email protected]>
+	    Dave Arnold  <[email protected]>
+
+	[truetype] Provide HVAR advance width variation as a service.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* src/truetype/ttdriver.c (tt_service_metrics_variations): Updated.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Prevent
+	double adjustment of advance width.
+
+	* src/sfnt/ttmtx.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
+	(tt_face_get_metrics): Apply metrics variations.
+
+2016-12-15  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[truetype] Provide function to apply `HVAR' advance width variation.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* src/truetype/ttgxvar.c (tt_hadvance_adjust): New function.
+	* src/truetype/ttgxvar.h: Updated.
+
+2016-12-15  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[truetype] Add `HVAR' table parsing.
+
+	Note that this is not complete yet; it only handles advance width
+	variation.
+
+	Activation of the code follows in another commit.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* include/freetype/ftmm.h (FT_Var_Named_Style): Add `psid' member.
+
+	* src/truetype/ttgxvar.h (GX_HVarData, GX_AxisCoords, GX_HVarRegion,
+	GX_HVStore, GX_WidthMap): New auxiliary structures for...
+	(GX_HVarTable): ... HVAR main structure.
+	(GX_BlendRec): Add data for HVAR loading.
+
+	* src/truetype/ttgxvar.c (FT_FIXED_ONE, FT_fdot14ToFixed,
+	FT_intToFixed, FT_fixedToInt): New macros.
+	(ft_var_load_hvar): New function.
+	(TT_Get_MM_Var): Updated.
+	(tt_done_blend): Deallocate HVAR data.
+
+2016-12-15  Dave Arnold  <[email protected]>
+
+	[cff] Extend number parsing.
+
+	The forthcoming CFF2 support needs a dynamic parsing limit.
+
+	* src/cff/cffparse.c (cff_parse_num, do_fixed, cff_parse_fixed,
+	cff_parse_fixed_scaled, cff_parse_fixed_dynamic): Add argument for
+	parser.
+	(cff_parse_font_matrix, cff_parse_font_bbox, cff_parse_private_dict,
+	cff_parse_multiple_master, cff_parse_cid_ros, cff_parser_run): Updated.
+
+	* src/cff/cffparse.h (cff_parse_num): Export locally.
+
+2016-12-15  Dave Arnold  <[email protected]>
+
+	[cff] Implement dynamic stack size for Adobe engine.
+
+	This also adds `cf2_stack_setReal' and `cf2_stack_pop', needed for
+	the forthcoming CFF2 support.
+
+	* src/cff/cf2stack.c (cf2_stack_init): Add argument for stack size.
+	(cf2_stack_free): Deallocate stack.
+	(cf2_stack_count, cf2_stack_pushInt, cf2_stack_pushFixed,
+	cf2_stack_popInt, cf2_stack_popFixed, cf2_stack_getReal,
+	cf2_stack_clear): Updated.
+	(cf2_stack_setReal, cf2_stack_pop): New functions.
+
+	* src/cff/cf2stack.h (CF2_Stack): Add `stackSize' member.
+	Update function declarations.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString): Updated.
+
+	* src/cff/cffparse.c (cff_parser_init): Add parameter for stack
+	size; return error code.
+	(cff_parser_done): New function.
+	(cff_parser_run): Updated.
+
+	* src/cff/cffparse.h (CFF_Parser): Add `stackSize' member and make
+	`stack' a pointer.
+	Update function declarations.
+
+	* src/cff/cffload.c (cff_load_private_dict, cff_subfont_load):
+	Updated.
+
+2016-12-15  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[cff] Code shuffling.
+
+	* src/cff/cfftypes.h (CFF_Font): Add `library' and `base_offset'
+	fields.
+
+	* src/cff/cffload.c (cff_subfont_load): Change last argument to
+	`CFF_Font'
+	Split off parsing of private dictionary into...
+	(cff_load_private_dict): ...this new function.
+	(cff_font_load): Updated.
+
+2016-12-14  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] Add framework for Metrics Variations service.
+
+	No effect yet; service functions will be implemented later on.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* include/freetype/internal/services/svmetric.h: New file.
+
+	* include/freetype/internal/ftserv.h
+	(FT_SERVICE_METRICS_VARIATIONS_H): New macro.
+
+	* include/freetype/internal/tttypes.h (TT_Face): New field `var'.
+
+	* src/sfnt/sfobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
+	(sfnt_init_face): Initialize `face->var'.
+
+	* src/truetype/ttdriver.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
+	(tt_service_metrics_variations): New service.
+	(tt_services): Updated.
+
+	* src/truetype/ttpic.h: Updated.
+
+2016-12-14  Werner Lemberg  <[email protected]>
+
+	[cff] Add Multiple Masters service.
+
+	The code simply uses the MM functions from the `truetype' module.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* include/freetype/internal/tttypes.h (TT_Face): New field `mm'.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
+	(cff_set_mm_blend, cff_get_mm_blend, cff_get_mm_var,
+	cff_set_var_design, cff_get_var_design): New functions.
+	(cff_service_multi_masters): New service.
+	(cff_services): Updated.
+
+	* src/cff/cffload.c (cff_get_var_blend, cff_done_blend): New
+	functions.
+	* src/cff/cffload.h: Updated.
+
+	* src/cff/cffpic.h (CFF_SERVICE_MULTI_MASTERS_GET): New macro.
+
+	* src/sfnt/sfobjs.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
+	(sfnt_init_face): Initialize `face->mm'.
+
+2016-12-14  Werner Lemberg  <[email protected]>
+
+	Extend functionality of `ft_module_get_service'.
+
+	It can now differentiate between local and global searches.
+
+	* src/base/ftobjs.c (ft_module_get_service): Add `global' argument.
+	(FT_Get_TrueType_Engine_Type): Updated.
+
+	* src/cff/cffdrivr.c (cff_get_ps_name, cff_get_cmap_info): Updated.
+
+	* include/freetype/internal/ftobjs.h: Updated.
+	* include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE):
+	Updated.
+
+2016-12-14  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (tt_get_var_blend): Fix compiler warning.
+
+2016-12-14  Dave Arnold  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[sfnt, cff] Minor preparations.
+
+	* include/freetype/tttags.h (TTAG_CFF2, TTAG_HVAR, TTAG_MVAR,
+	TTAG_VVAR): New SFNT table tags.
+
+	* src/cff/cf2fixed.h (CF2_FIXED_ONE, CF2_FIXED_EPSILON): Add cast.
+
+2016-12-10  Werner Lemberg  <[email protected]>
+
+	[truetype, type1] Add `get_var_blend' to MM service.
+
+	For internal use; we want to share code between the forthcoming CFF2
+	support and TrueType.
+
+	* include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func):
+	New typedef.
+	(MultiMasters): Add `get_var_blend'.
+	(FT_Service_MultiMasters): Updated.
+
+	* src/truetype/ttgxvar.c (tt_get_var_blend): New function.
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
+	* src/type1/t1driver.c (t1_service_multi_masters): Updated.
+
+2016-12-10  Werner Lemberg  <[email protected]>
+
+	[truetype, type1] Add `done_blend' to MM service.
+
+	For internal use; we want to share code between the forthcoming CFF2
+	support and TrueType.
+
+	* include/freetype/internal/services/svmm.h (FT_Done_Blend_Func):
+	New typedef.
+	(MultiMasters): Add `done_blend'.
+	(FT_Service_MultiMasters): Updated.
+
+	* src/truetype/ttgxvar.c (tt_done_blend): Use `TT_Face' as argument.
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/truetype/ttobjs.c (TT_Face_Done): Updated.
+
+	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
+	* src/type1/t1driver.c (t1_service_multi_masters): Updated.
+
+2016-12-09  Werner Lemberg  <[email protected]>
+
+	[sfnt] Revert change from 2016-12-08.
+
+	I missed the functionality of `ft_module_get_service', which makes
+	the change unnecessary.
+
+2016-12-08  Werner Lemberg  <[email protected]>
+
+	Add framework to support services with 8 functions.
+
+	We will need this for CFF variation font support.
+
+	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC8):
+	New macro.
+
+2016-12-08  Werner Lemberg  <[email protected]>
+
+	[sfnt] Add `get_glyph_name' and `get_name_index' to SFNT interface.
+
+	CFF2 fonts will need access to those two functions.
+
+	* include/freetype/internal/sfnt.h: Include FT_SERVICE_GLYPH_DICT_H.
+	(SFNT_Interface): Add `get_glyph_name' and `get_name_index' members.
+	(FT_DEFINE_SFNT_INTERFACE): Updated.
+
+	* src/sfnt/sfdriver.c (sfnt_get_glyph_name, sfnt_get_name_index):
+	Fix signatures to exactly correspond to the glyph dict service
+	function typedefs.
+	(sfnt_interface): Updated.
+
+2016-12-06  Dave Arnold  <[email protected]>
+
+	Add `FT_Get_Var_Design_Coordinates' function.
+
+	Note that the low-level functions aren't implemented yet.
+
+	* include/freetype/ftmm.h: Declare.
+
+	* include/freetype/internal/services/svmm.h
+	(FT_Get_Var_Design_Func): New typedef.
+	(MultiMasters): New MM service function `get_var_design'.
+	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
+	Update all callers.
+
+	* src/base/ftmm.c (FT_Get_Var_Design_Coordinates): Implement.
+
+	* src/truetype/ttdriver.c: Updated.
+
+	* src/truetype/ttgxvar.c (TT_Get_Var_Design): New dummy function to
+	handle `get_var_design' service.
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/type1/t1driver.c: Updated.
+
+	* src/type1/t1load.c (T1_Get_Var_Design): New dump function to
+	handle `get_var_design' service.
+	* src/type1/t1load.h: Updated.
+
+2016-12-06  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs): Fix memory leak.
+
+	The `subrs' keyword might erroneously occur multiple times.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=231
+
+2016-12-01  Werner Lemberg  <[email protected]>
+
+	[gzip] Improve building with external zlib (#49673).
+
+	Building FreeType with external zlib 1.2.8 makes msvc 14 stop with
+	the following error.
+
+	  ftgzip.c
+	  zlib-1.2.8\zlib.h(86): error C2061:
+	                         syntax error: identifier 'z_const'
+	  zlib-1.2.8\zlib.h(94): error C2054:
+	                         expected '(' to follow 'z_const'
+	  zlib-1.2.8\zlib.h(94): error C2085:
+	                         'msg': not in formal parameter list
+	  ...
+	  zlib-1.2.8\zlib.h(877): fatal error C1003:
+	                          error count exceeds 100; stopping compilation
+
+	The error happens because FreeType keeps an own copy of zlib-1.1.4
+	under `src/gzip'.  When building `src/gzip/ftgzip.c' with
+	FT_CONFIG_OPTION_SYSTEM_ZLIB defined, it uses
+
+	  #include <zlib.h>
+
+	which correctly finds an external `zlib.h', but `zlib.h' itself has
+	a line
+
+	  #include "zconf.h"
+
+	which makes Visual Studio 2015 find `src/gzip/zconf.h' while
+	compiling the files in `src/gzip'.
+
+	* src/gzip/zconf.h: Rename to...
+	* src/gzip/ftzconf.h: ... this.
+	* src/gzip/zlib.h, src/gzip/rules.mk (GZIP_DRV_SRCS): Updated.
+
+2016-12-01  Oleksandr Chekhovskyi  <[email protected]>
+
+	[autofit] Fix Emscripten crash (patch #9180).
+
+	Function calls through pointers must use a matching signature to
+	work on Emscripten, since such calls are dispatched through lookup
+	tables grouped by signature.
+
+	* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Fix
+	typedef.
+
+2016-11-29  Werner Lemberg  <[email protected]>
+
+	[smooth] Revert previous commit.  Already fixed with 6ca54c64.
+
+2016-11-29  Werner Lemberg  <[email protected]>
+
+	[smooth] Avoid conditional jump on uninitialized value (#49711).
+
+	* src/smooth/ftgrays.c (gray_raster_render): Initialize `worker'.
+
+2016-11-27  Nikolaus Waxweiler  <[email protected]>
+
+	[autofit] Code shuffling.
+
+	Also improve some comments and remove unused code.
+
+	No functional change.
+
+	* src/autofit/afloader.c (af_loader_load_g): Merged with...
+	(af_loader_load_glyph): ...this function.
+	Split off emboldening code into...
+	(af_loader_embolden_glyph_in_slot): ... this function.
+
+2016-11-17  Werner Lemberg  <[email protected]>
+
+	Better support of LLP64 systems with gcc (and clang).
+
+	* builds/unix/configure.raw: Call `AC_TYPE_LONG_LONG_INT'.
+
+	* builds/unix/ftconfig.in (FT_LONG64): Enable for LLP64 systems (and
+	suppress warnings) even without `FT_CONFIG_OPTION_FORCE_INT64'.
+
+2016-11-10  Werner Lemberg  <[email protected]>
+
+	Fix `lcd_weights' array size.
+
+	* include/freetype/internal/ftobjs.h (FT_LibraryRec): Do it.
+
+	Reported by Nikolaus.
+
+2016-11-06  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Fix tracing.
+
+2016-11-06  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve FT_LOAD_BITMAP_METRICS_ONLY for `sbix' format.
+
+	It's unavoidable to call the PNG engine, but to get the metrics it
+	is sufficient to read the PNG image's header only.
+
+	* src/sfnt/pngshim.c (Load_SBit_Png): Add argument to control the
+	allocation of the glyph slot.
+	* src/sfnt/pngshim.h: Updated.
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_png,
+	tt_face_load_sbix_image, tt_face_load_sbit_image): Updated.
+
+2016-11-06  Werner Lemberg  <[email protected]>
+
+	[sfnt] Speed up `sbix' lookup.
+
+	This also fixes a bug introduced in 2016-10-01 which prevents
+	display of embedded bitmap fonts that use the `sbix' format.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit): Store `sbix' size and
+	offset also in `ebdt_size' and `ebdt_start', respectively.  This
+	makes the test for an embedded bitmap data table succeed for this
+	format.
+
+	(tt_face_load_strike_metrics) <TT_SBIT_TABLE_TYPE_SBIX>: Use
+	`ebdt_size' and `ebdt_start'
+	(tt_face_load_sbix_image): Ditto.
+
+2016-11-06  Seigo Nonaka  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	Introduce a way of quickly retrieving (embedded) bitmap metrics.
+
+	`FT_Load_Glyph' doesn't generate a bitmap for a non-bitmap glyph
+	until the user calls `FT_Render_Glyph'.  However, it always
+	allocates memory for bitmaps and copies or decodes the contents of a
+	bitmap glyph, which can be quite slow for PNG data.
+
+	* include/freetype/freetype.h (FT_LOAD_BITMAP_METRICS_ONLY): New
+	macro.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Unset FT_LOAD_RENDER if
+	FT_LOAD_BITMAP_METRICS_ONLY is used.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_alloc_bitmap,
+	tt_sbit_decoder_load_bitmap): Add argument to control allocation of
+	the glyph slot.
+	(tt_sbit_decoder_load_image, tt_sbit_decoder_load_compound,
+	tt_face_load_sbit_image): Updated.
+
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Quickly exit if
+	`FT_LOAD_BITMAP_METRICS_ONLY' is set.
+
+	* src/pfr/pfrsbit.c, src/pfr/pfrsbit.h (pfr_slot_load_bitmap): Add
+	argument to control allocation of the glyph slot.
+	* src/pfr/pfrobjs (pfr_slot_load): Updated.
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
+
+	* docs/CHANGES: Updated.
+
+2016-11-06  Werner Lemberg  <[email protected]>
+
+	Synchronize with gnulib (#49448).
+
+	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h (FT_TYPEOF): Update code to use definition in
+	current version of `intprops.h'.
+	Other minor synchronization to reduce code differences between the
+	three files.
+
+2016-11-03  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Clamp variation requests to valid range.
+
+	This is required by OpenType 1.8; it also avoids rounding surprises.
+
+	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Clamp design coordinates
+	outside of the allowed range to always stay within the range instead
+	of producing an error.
+
+2016-10-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove clang warnings.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Using `FT_ULong' for
+	loop counter handling.
+
+	* src/truetype/ttinterp.c: Updated.
+	(Ins_SCANTYPE): Use signed constant.
+	(TT_RunIns): Ensure `num_twilight_points' is 16bit.
+
+2016-10-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix commit from 2014-11-24.
+
+	Problem reported by Hin-Tak Leung  <[email protected]>.
+
+	* src/truetype/ttpload.c (tt_face_load_hdmx): Fix file checking
+	logic.
+
+2016-10-26  Werner Lemberg  <[email protected]>
+
+	Add `FT_Get_{MM,Var}_Blend_Coordinates' functions.
+
+	* include/freetype/ftmm.h: Declare.
+
+	* include/freetype/internal/services/svmm.h (FT_Get_MM_Blend_Func):
+	New typedef.
+	(MultiMasters): New MM service function `get_mm_blend'.
+	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
+	Update all callers.
+
+	* src/base/ftmm.c (FT_Get_MM_Blend_Coordinates,
+	FT_Get_Var_Blend_Coordinates): Implement.
+
+	* src/truetype/ttdriver.c: Updated.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Blend): New function to handle
+	`get_mm_blend' service.
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/type1/t1driver.c: Updated.
+
+	* src/type1/t1load.c (T1_Get_MM_Blend): New function to handle
+	`get_mm_blend' service.
+	* src/type1/t1load.h: Updated.
+
+	* docs/CHANGES: Document.
+
+2016-10-26  Werner Lemberg  <[email protected]>
+
+	* src/type1/t1load.c (parse_subrs): Fix limit check.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=81
+
+2016-10-25  Alexei Podtelezhnikov  <[email protected]>
+
+	[cff] Correct cmap format reporting (#24819).
+
+	* src/cff/cffdrivr.c (cff_get_cmap_info): Throw an error on synthetic
+	charmap instead of guessing its format and language.
+
+2016-10-22  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix SCANTYPE instruction (#49394).
+
+	* src/truetype/ttinterp.c (Ins_SCANTYPE): Only use lower 16bits.
+
+2016-10-22  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve handling of invalid post 2.5 tables [#49393].
+
+	* src/sfnt/ttpost.c (load_format_25): We need at least a single
+	table entry.
+
+2016-10-14  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix handling of `cvar' table data.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Ignore invalid CVT
+	indices.
+
+2016-10-11  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix handling of invalid flex subrs.
+
+	Problem reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<op_callothersubr>: Set `flex_state' after error checking.
+
+2016-10-11  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (tt_done_blend): Fix deallocation.
+
+2016-10-08  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_face_open): Properly propagate `error'.
+
+2016-10-08  Werner Lemberg  <[email protected]>
+
+	[cid] Fix parsing of subr offsets.
+
+	Bug introduced 2016-05-16.
+
+	* src/cid/cidparse.c (cid_parser_new): Fix off-by-one error.
+
+2016-10-01  Werner Lemberg  <[email protected]>
+
+	[sfnt] Disable bitmap strikes if we don't have a bitmap data table.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit): Check whether we have
+	a bitmap data table.
+
+2016-10-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Remove impossibility.
+
+	* src/smooth/ftgrays.c (TWorker): Rearrange fields.
+	(gray_convert_glyph): Remove impossible condition and clean up.
+
+2016-09-29  Werner Lemberg  <[email protected]>
+
+	[pcf] Enrich family name with foundry name and glyph width info.
+
+	This is a very old patch from openSuSE (from 2006, submitted to
+	FreeType in 2011) that I forgot to apply.
+
+	  https://build.opensuse.org/package/view_file/openSUSE:Factory/freetype2/freetype2-bitmap-foundry.patch
+
+	Prepend the foundry name plus a space to the family name.  There are
+	many fonts just called `Fixed' which look completely different, and
+	which have nothing to do with each other.  When selecting `Fixed' in
+	KDE or Gnome one gets results that appear rather random, the style
+	changes often if one changes the size and one cannot select some
+	fonts at all.
+
+	We also check whether we have `wide' characters; all put together,
+	we get family names like `Sony Fixed' or `Misc Fixed Wide'.
+
+	* src/pcf/pcfread.c (pcf_load_font): Implement it.
+
+	* docs/CHANGES: Document it.
+
+2016-09-29  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Speed up.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Don't
+	check for embedded bitmaps if we have a non-default instance.
+
+2016-09-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Disallow bitmap strikes for non-default instances.
+
+	Also speed up access of default instances if GX variations are
+	active.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
+	`is_default_instance' member.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Initialize
+	`is_default_instance'.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Add test for default instance.
+	(TT_Load_Glyph): Load embedded bitmaps for default instance only.
+
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Compute
+	`is_default_instance'.
+
+2016-09-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Clean up `TT_Face' structure.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
+	fields `horz_metrics' and `vert_metrics'.
+	Update documentation.
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Updated.
+
+2016-09-28  Werner Lemberg  <[email protected]>
+
+	More FT_ZERO usage.
+
+	* src/gxvalid/gxvcommn.c (gxv_ClassTable_validate):
+	s/ft_memset/FT_MEM_ZERO/.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+	s/ft_memset/FT_ARRAY_ZERO/.
+
+	* src/raster/ftraster.c (FT_ZERO): Define.
+	(ft_black_new): Use it.
+	* src/raster/ftrend1.c (ft_raster1_get_cbox):
+	s/FT_MEM_ZERO/FT_ZERO/.
+
+	* src/smooth/ftgrays.c (FT_ZERO): Define.
+	(gray_raster_new): Use it.
+	* src/smooth/ftsmooth.c (ft_smooth_get_cbox):
+	s/FT_MEM_ZERO/FT_ZERO/.
+
+2016-09-28  Werner Lemberg  <[email protected]>
+
+	*/*: s/FT_MEM_ZERO/FT_ZERO/ where appropriate.
+
+2016-09-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Trace number of executed opcodes.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Implement it.
+
+2016-09-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Speed up `TT_Load_Glyph'.
+
+	This avoids additional calls to `tt_face_lookup_table' for the
+	`glyf' table, which can be expensive.
+
+	* include/freetype/internal/tttypes.h (TT_LoaderRec): Move
+	`glyf_offset' field to ...
+	(TT_FaceRec): ... this structure.
+	* src/truetype/ttgload.c (load_truetype_glyph): Updated.
+	(tt_loader_init): Move initialization of `glyf_offset' to ...
+	* src/truetype/ttpload.c (tt_face_load_loca): ... this function.
+
+2016-09-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Introduce dynamic limits for some bytecode opcodes.
+
+	This speeds up FreeType's handling of malformed fonts.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Set up limits for the number
+	of twilight points, the total number of negative jumps, and the
+	total number of loops in LOOPCALL opcodes.  The values are based on
+	the number of points and entries in the CVT table.
+	(Ins_JMPR): Test negative jump counter.
+	(Ins_LOOPCALL): Test loopcall counter.
+
+	* src/truetype/ttinterp.h (TT_ExecContext): Updated.
+
+	* docs/CHANGES: Updated.
+
+2016-09-25  Werner Lemberg  <[email protected]>
+
+	[truetype] Sanitize only last entry of `loca' table.
+
+	Without this patch, a loca sequence like `0 100000 0 100000 ...',
+	where value 100000 is larger than the `glyf' table size, makes
+	FreeType handle the whole `glyf' table as a single glyph again and
+	again, which is certainly invalid (and can be very slow, too).
+
+	* src/truetype/ttpload.c (tt_face_get_location): Implement.
+	Improve tracing messages.
+
+2016-09-25  Werner Lemberg  <[email protected]>
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Fix typo.
+
+2016-09-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Tracing fixes.
+
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Call dumping
+	functions only if we actually do tracing.
+
+2016-09-22  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Reduce divisions in the line renderer.
+
+	We don't need some divisions if a line segments stays within a single
+	row or a single column of pixels.
+
+	* src/smooth/ftgrays.c (gray_render_line) [FT_LONG64]: Make divisions
+	conditional.
+
+2016-09-15  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_sweep): Remove check for empty table.
+
+2016-09-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Another tiny speed-up.
+
+	* src/smooth/ftgrays.c (gray_find_cell): Merge into...
+	(gray_record_cell): ... this function.
+
+2016-09-11  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_{find,set}_cell): Remove dubious code.
+
+2016-09-11  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Fix valgrind warning and reoptimize.
+
+	The algorithm calls `gray_set_cell' at the start of each new contour
+	or when the contours cross the cell boundaries. Double-checking for
+	that is wasteful.
+
+	* src/smooth/ftgrays.c (gray_set_cell): Remove check for a new cell.
+	(gray_convert_glyph): Remove initialization introduced by 44b172e88.
+
+2016-09-10  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix previous commit.
+
+	Problems reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40
+
+	We now map the strike index right before accessing the physical
+	data, not earlier.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Set `face->sbit_strike_map'
+	after creating the map so that...
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): ... this function
+	can be used before and after setting up `sbit_strike_map'.
+	(tt_face_set_sbit_strike): Revert change.
+	(tt_sbit_decoder_init, tt_face_load_sbix_image): Map strike index.
+
+	* src/truetype/ttdriver.c (tt_size_select): Revert change.
+
+2016-09-09  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Minor improvements.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Ignore
+	invalid strikes.
+	Use better values for call to `FT_Set_Char_Size'.
+
+2016-09-09  Werner Lemberg  <[email protected]>
+
+	[sfnt] Don't provide (completely) broken strike data.
+
+	FreeType tries to sanitize strike header data; we now reject
+	completely broken ones.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): New
+	`sbit_strike_map' array pointer.
+
+	* src/base/ftobjs.c (FT_Match_Size): Reject matches where either
+	width or height would be zero.
+	Add tracing message in case of error.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Populate `sbit_strike_map',
+	only using (more or less) valid strike header data for
+	FT_Face's `available_sizes' array.
+	(sfnt_done_face): Updated.
+
+	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use
+	`sbit_strike_map'.
+	(tt_face_load_strike_metrics): Improve tracing.
+
+	* src/truetype/ttdriver.c (tt_size_select): Use `sbit_strike_map'.
+
+2016-09-08  Werner Lemberg  <[email protected]>
+
+	* Version 2.7 released.
+	=======================
+
+
+	Tag sources with `VER-2-7'.
+
+	* docs/VERSION.TXT: Add entry for version 2.7.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.6.5/2.7/, s/265/27/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 7.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 18:6:12.
+	* CMakeLists.txt (VERSION_MINOR): Set to 7.
+	(VERSION_PATCH): Set to 0.
+
+	* docs/CHANGES: Updated.
+
+2016-09-08  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c: Include `ttgxvar.h'.
+
+	This fixes the `multi' build.
+
+2016-09-08  Werner Lemberg  <[email protected]>
+
+	[autofit] Another improvement to Armenian support.
+
+	Suggested by Hrant H Papazian <[email protected]>.
+
+	* src/autofit/afscript.h: Use better suited characters to derive
+	default stem widths.
+
+2016-09-07  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_hline): Micro-optimize.
+
+2016-09-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Operate in absolute bitmap coordinates.
+
+	Simpler bitmap addressing improves performance by 1.5%.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove count fields.
+	(gray_dump_cells, gray_find_cell, gray_set_cell, gray_hline,
+	gray_sweep, gray_convert_glyph, gray_raster_render): Updated.
+
+2016-09-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Improve contour start (take 2).
+
+	* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
+	instead of...
+	(gray_start_cell): ... this function, which is removed.
+	(gray_convert_glyph): Make initial y-coordinate invalid.
+
+2016-09-06  Werner Lemberg  <[email protected]>
+
+	[type1] MM fonts support exactly zero named instances (#48748).
+
+	* src/type1/t1load.c (T1_Get_MM_Var): Set `num_namedstyles' to zero.
+
+2016-09-06  Jonathan Kew  <[email protected]>
+
+	[cff] Fix uninitialized memory.
+
+	Problem reported as
+
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1270288
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString): Initialize `storage'
+	array to handle a `get' opcode without a previous `put'.
+
+2016-09-05  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert.
+
+2016-09-05  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Improve contour start.
+
+	* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
+	instead of...
+	(gray_start_cell): ... this function, which is removed.
+
+2016-09-05  Werner Lemberg  <[email protected]>
+
+	[cff] Fix memory initialization.
+
+	* src/cff/cf2stack.c (cf2_stack_init): Use `FT_NEW'.  The `Q'
+	variants of FreeType's memory allocation macros don't do zeroing.
+
+2016-09-05  Werner Lemberg  <[email protected]>
+
+	[ftrandom] Minor improvements.
+
+	* src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): New macro, set to
+	500.
+
+	* src/tools/ftrandom/Makefile (CFLAGS): Split off include
+	directories to ...
+	(INCLUDES): ... this new variable.
+	(LDFLAGS): New variable.
+	(ftrandom.o, ftrandom): Updated.
+
+2016-09-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve Armenian support.
+
+	Thanks to Hrant H Papazian <[email protected]> for help.
+
+	* src/autofit/afblue.dat (AF_BLUE_STRING_ARMENIAN_*): Improve
+	selection of characters.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2016-09-04  Werner Lemberg  <[email protected]>
+
+	[ftrandom] Improve Makefile.
+
+	It now supports both a normal build (`./configure && make') and a
+	development build (`make devel').
+
+	* src/tools/ftrandom/Makefile (VPATH): Set it so that
+	`libfreetype.a' gets searched in both `objs' (for the development
+	build) and `objs/.libs' (for a normal build which uses libtool).
+	(LIBS): Add missing libraries.
+	(ftrandom.o): New rule.
+	(ftrandom): Use automatic variables.
+
+2016-09-03  Werner Lemberg  <[email protected]>
+
+	[truetype] More fixes for handling of GX deltas.
+
+	Problems reported by Bob Taylor <[email protected]>.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix rough
+	sanity test for glyph variation array header size.
+	Always set stream position before reading packed x and y deltas.
+	Fix thinko w.r.t. `localpoints' array.
+
+2016-09-03  Werner Lemberg  <[email protected]>
+
+	[ftrandom] Various fixes.
+
+	* src/tools/ftrandom/ftrandom.c (GOOD_FONTS_DIR): Provide better
+	default.
+	(error_fraction): Make it of type `double' to work as advertized –
+	this was completely broken.
+	Update all related code.
+	(error_count, fcnt): Make it unsigned to fix compiler warnings.
+	Update all related code.
+	(fontlist): Change `len' member to `long' to fix compiler warnings.
+	(FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, abort_test): Tag
+	unused variables.
+	(TestFace, FindFonts, copyfont, do_test): Fix compiler warnings.
+	(ExecuteTest): Ditto.
+	Call `FT_Done_FreeType'.
+	(getErrorCnt): Replace `ceil' with an ordinary cast to `unsigned
+	int'.
+	(usage): Improve output.
+	(main): Fix compiler warnings.
+
+	* src/tools/ftrandom/README: Updated.
+
+2016-09-03  Werner Lemberg  <[email protected]>
+
+	[base] Avoid negative bitmap strike dimensions (#48985).
+
+	* src/base/ftobjs.c (FT_Open_Face): Check whether negation was
+	actually successful.  For example, this can fail for value
+	-32768 if the type is `signed short'.  If there are problems,
+	disable the strike.
+
+2016-09-03  Werner Lemberg  <[email protected]>
+
+	[cff] Avoid null pointer passed to FT_MEM_COPY (#48984).
+
+	* src/cff/cffload.c (cff_index_get_name): Check `byte_len'.
+
+2016-09-02  Werner Lemberg  <[email protected]>
+
+	[unix] Enable 64bit support in file system access (#48962).
+
+	* builds/unix/configure.raw: Call `AC_SYS_LARGEFILE'.
+
+2016-09-02  Werner Lemberg  <[email protected]>
+
+	[sfnt] Avoid left shift of negative value (#48980).
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned
+	constant.
+
+2016-09-02  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings.
+
+2016-09-02  Werner Lemberg  <[email protected]>
+
+	Some preparations for the next release.
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Enable.
+
+	* docs/CHANGES: Updated.
+
+2016-09-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Simplify span rendering more.
+
+	It turns out that there is significant cost associated with `FT_Span'
+	creation and calls to `gray_render_span' because it happens so
+	frequently. This removes these steps from our internal use but leaves
+	it alone for `FT_RASTER_FLAG_DIRECT" to preserve API. The speed gain
+	is about 5%.
+
+	* src/smooth/ftgrays.c (gray_render_span): Removed. The code is
+	migrated to...
+	(gray_hline): ... here.
+
+2016-08-30  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Streamline pixmap drawing a bit more.
+
+	Zero coverage is unlikely (1 out of 256) to warrant checking. This
+	gives 0.5% speed improvement in rendering simple glyphs.
+
+	* src/smooth/ftgrays.c (gray_hline, gray_render_span): Remove checks.
+
+2016-08-29  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Streamline pixmap drawing.
+
+	This gives 2% speed improvement in rendering simple glyphs.
+
+	* src/smooth/ftgrays.c (TPixmap): Reduced pixmap descriptor with a
+	pointer to its bottom-left and pitch to be used in...
+	(gray_TWorker): ... here.
+	(gray_render_span): Move pixmap flow check from here...
+	(gray_raster_render): .. to here.
+
+2016-08-27  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Reduce stack of band boundaries.
+
+	* src/smooth/ftgrays.c (gray_TBand): Removed.
+	(gray_convert_glyph): Updated to stack band boundaries concisely.
+
+2016-08-26  Werner Lemberg  <[email protected]>
+
+	* src/cid/cidload.c (cid_face_open): Improve handling of `SDBytes'.
+
+2016-08-26  Werner Lemberg  <[email protected]>
+
+	[cid] Fix commit from 2016-05-16.
+
+	* src/cid/cidparse.c (cid_parser_new): Fix off-by-one errors.
+
+2016-08-26  Werner Lemberg  <[email protected]>
+
+	[sfnt] Cache offset and size to bitmap data table.
+
+	This commit avoids `EBDT' and friends being looked up again and
+	again while loading a single embedded bitmap.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec)
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New fields `ebdt_start' and
+	`ebdt_size'.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Move table lookup to ...
+	(tt_face_load_sbit): ... this function; also store the table size
+	and offset.
+
+2016-08-26  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_raster_render): Minor tweaks.
+
+2016-08-26  Werner Lemberg  <[email protected]>
+
+	[type1] Fix heap buffer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36
+
+	* src/type1/t1load.c (parse_charstrings): Reject fonts that don't
+	contain glyph names.
+
+2016-08-25  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix previous commit (#48901).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Thinkos.
+
+2016-08-25  Werner Lemberg  <[email protected]>
+
+	[sfnt] Speed up handling of invalid format 4 cmaps.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_next, tt_cmap4_char_map_binary): Add
+	tests for `num_glyph' from `tt_cmap4_char_map_linear'.
+
+2016-08-25  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftdriver.h: Remove unused typedefs.
+
+2016-08-22  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Simplify span rendering.
+
+	This removes unnecessary complexity of span merging and buffering.
+	Instead, the spans are rendered as they come, speeding up the
+	rendering by about 5% as a result.
+
+	* src/smooth/ftgrays.c [FT_MAX_GRAY_SPANS]: Macro removed.
+	(gray_TWorker): Remove span buffer and related fields.
+	(gray_sweep, gray_hline): Updated.
+
+	* include/freetype/ftimage.h: Remove documentation note about
+	`FT_MAX_GRAY_SPANS', which was never in `ftoption.h' and is now gone.
+
+2016-08-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix `MPS' instruction.
+
+	According to Greg Hitchcock, MPS in DWrite really returns the point
+	size.
+
+	* src/truetype/ttobjs.h (TT_SizeRec): Add `point_size' member.
+
+	* src/truetype/ttdriver.c (tt_size_request): Set `point_size'.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `pointSize'
+	member.
+
+	* src/truetype/ttinterp.c (TT_Load_Context): Updated.
+	(Ins_MPS): Fix instruction.
+
+2016-08-16  Werner Lemberg  <[email protected]>
+
+	[lzw] Optimize last commit.
+
+	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into
+	conditional clause.
+
+2016-08-16  Werner Lemberg  <[email protected]>
+
+	[lzw] Avoid invalid left shift.
+
+	Reported as
+
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1295366
+
+	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'.
+
+2016-08-16  Werner Lemberg  <[email protected]>
+
+	[lzw] Avoid buffer overrun.
+
+	Reported as
+
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1273283
+
+	* src/lzw/ftzopen.c (ft_lzwstate_refill): Ensure `buf_size' doesn't
+	underflow.
+
+2016-08-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix compiler warning.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Add cast.
+
+2016-08-13  Werner Lemberg  <[email protected]>
+
+	[winfonts] Avoid zero bitmap width and height.
+
+	Reported as
+
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1272173
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Check zero pixel height.
+	(FNT_Load_Glyph): Check for zero pitch.
+
+2016-08-11  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/truetype/ttinterp.c (Pop_Push_Count): Revert changes.
+
+2016-08-11  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Minor and formatting.
+
+2016-08-11  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/truetype/ttinterp.c (Pop_Push_Count): Fix some entries.
+
+2016-08-10  Peter Klotz  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_hline): Fix uninitialized access.
+
+2016-08-10  Werner Lemberg  <[email protected]>
+
+	[sfnt] Use correct type for `italicAngle' field (#48732).
+
+	* src/sfnt/ttload.c (tt_face_load_post): Fix types.
+
+2016-08-06  Jon Spencer  <[email protected]>
+
+	[sfnt] Fix `FT_Get_Advance' for bitmap strikes.
+
+	`FT_Get_Advance' returns 0 for bitmap fonts.  It first gets the
+	advance value from the font table and then scales it by the
+	`font->size->metrics->x_scale' field.  But `FT_Select_Size' doesn't
+	set that value for bitmap fonts and the advance gets scaled to zero.
+
+	Taken from
+
+	  https://github.com/behdad/harfbuzz/issues/252
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
+	<TT_SBIT_TABLE_TYPE_EBLC>: Set scale values.
+
+2016-08-06  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Fix GX variation handling of composites.
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check `ARGS_ARE_XY_VALUES' flag.
+
+2016-08-05  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Minor refactoring.
+
+	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line):
+	Updated.
+
+2016-07-29  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] Don't abort on invalid `maxComponentDepth'.
+
+	Since 2016-05-16 we detect infinite recursion directly.
+
+	* src/sfnt/ttload.c (tt_face_load_maxp): Don't adjust
+	`maxComponentDepth'.
+	* src/truetype/ttgload.c (load_truetype_glyph): Don't abort if
+	`maxComponentDepth' is not valid.  Instead, simply adjust its value
+	and emit a tracing message.
+
+2016-07-26  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Minor.
+
+	No functional change.
+
+2016-07-22  Hin-Tak Leung  <[email protected]>
+
+	[truetype] Record the end of IDEFs.
+
+	To match the logic in FDEF.  The value of the end is only used for
+	bound-checking in `Ins_JMPR', so it may not have been obvious that
+	it was not recorded.  Tested (as part of Font Validator 2.0) all the
+	fonts on Fedora and did not see any change.
+
+	* src/truetype/ttinterp.c (Ins_IDEF): Updated.
+
+2016-07-19  Werner Lemberg  <[email protected]>
+
+	[truetype] Sanitizer fix, second try.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary
+	tests and use only one slot more.
+
+2016-07-19  Werner Lemberg  <[email protected]>
+
+	[truetype] Sanitizer fix.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
+	to fix nested loops.
+
+2016-07-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Make GETDATA work only for GX fonts.
+
+	* src/truetype/ttinterp.c (opcode_name): Updated.
+	(Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'.
+	(TT_RunIns): Updated.
+
+2016-07-17  Werner Lemberg  <[email protected]>
+
+	[truetype] Add support for Apple's
+
+	  GETDATA[], opcode 0x92
+
+	bytecode instruction.  It always returns 17, and we have absolutely
+	no idea what it is good for...
+
+	* src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated.
+	(Ins_GETDATA): New function.
+	(TT_RunIns): Add it.
+
+2016-07-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Add bytecode support for GX variation fonts.
+
+	This commit implements undocumented (but confirmed) stuff from
+	Apple's old bytecode engine.
+
+	  GETVARIATION[], opcode 0x91
+	    This opcode pushes normalized variation coordinates for all axes
+	    onto the stack (in 2.14 format).  Coordinate of first axis gets
+	    pushed first.
+
+	  GETINFO[], selector bit 3
+	    If GX variation support is enabled, bit 10 of the result is set
+	    to 1.
+
+	* src/truetype/ttinterp.c: Include FT_MULTIPLE_MASTERS_H.
+	(opcode_name) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
+	(Ins_GETINFO) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle selector
+	bit 3, checking support for variation glyph hinting.
+	(Ins_GETVARIATION) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New function
+	to implement opcode 0x91.
+	(TT_RunIns) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle opcode 0x91.
+
+2016-07-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix GETINFO bytecode instruction.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Fix return value for
+	stretching information.
+
+2016-07-16  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Make all glyphs in `Zycon' GX font work.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary
+	tests.
+
+2016-07-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix GX delta tracing.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Trace
+	relative point movements.
+
+2016-07-16  Behdad Esfahbod  <[email protected]>
+
+	[truetype] More fixes for GX.
+
+	This finally fixes the rendering of the cyclist and the lizard in
+	the `Zycon' font.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): `first' point
+	index is always cumulative.
+
+	(tt_handle_deltas): Rename to...
+	(tt_interpolate_deltas): ... This.
+	Add new parameter for output point array.
+	Update caller.
+
+	(TT_Vary_Apply_Glyph_Deltas): Add `points_out' array; it now holds
+	the intermediate results of `tt_interpolate_deltas' that are to be
+	added to `outline->points'.
+
+2016-07-15  Werner Lemberg  <[email protected]>
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Thinko.
+
+	`max_pos' is always larger than `min_pos' so `FT_ABS' is not needed.
+
+	Reported by Alexei.
+
+2016-07-16  Nikolaus Waxweiler  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_MIRP): Fix copy-and-paste error.
+
+	Problem reported by Hin-Tak Leung.
+
+2016-07-15  Werner Lemberg  <[email protected]>
+
+	[autofit] Update and improve segment and edge tracing.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Trace
+	`delta' also.
+	Don't show first point of segment as a replacement for `pos'; this
+	is (a) misleading, since the difference to `pos' can be almost
+	arbitrarily large in corner cases, and (b) it is better to have all
+	segment data in font units instead of a single value given in output
+	space coordinates.
+	Improve layout.
+	(af_glyph_hints_dump_edges): Show px->units and units->px conversion
+	values for convenience.
+	Improve layout.
+
+2016-07-15  Werner Lemberg  <[email protected]>
+
+	[autofit] For edges, reject segments wider than 1px (#41334).
+
+	* src/autofit/afhints.h (AF_SegmentRec): New member `delta'.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Compute
+	`delta'.
+	(af_latin_hints_compute_edges): Reject segments with a delta larger
+	than 0.5px.
+
+2016-07-14  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_IS_NAMED_INSTANCE): New macro.
+
+2016-07-14  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix `face_index' value in `FT_Face' for named instances.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Don't strip off higher 16bits.
+
+2016-07-14  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix tracing.
+
+2016-07-14  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Fix gxvar delta interpolation.
+
+	The coordinates of the base font should be used for interpolation
+	purposes, NOT the current points (i.e., the result of accumulation
+	of previous deltas).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize
+	`points_org' before looping over all tuples.
+
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2016-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.28
@@ -1,0 +1,3136 @@
+2017-09-16  Werner Lemberg  <[email protected]>
+
+	* Version 2.8.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-8-1'.
+
+	* docs/VERSION.TXT: Add entry for version 2.8.1.
+	* docs/CHANGES: Updated.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.8/2.8.1/, s/28/281/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 21:0:15.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+2017-09-13  suzuki toshiya  <[email protected]>
+
+	[sfnt] lowest gcc for vectors (e1d0249e) is changed to 4.7.
+
+	__builtin_shuffle() was introduced in gcc-4.7.  The lowest
+	gcc to enable vector operation is delayed from 4.6 to 4.7.
+
+	* src/sfnt/pngshim.c (premultiply_data): Fix cpp-macro to
+	enable the vector operation, to change the lowest gcc version
+	from 4.6 to 4.7.
+
+2017-09-13  suzuki toshiya  <[email protected]>
+
+	[cache] Fix a possible overflow by signed integer comparison.
+
+	Improve the code by 5d3ff05615dda6d1325ed612381a17a0df04c975 ,
+	issues are found by Behdad Esfahbod and Werner Lemberg.
+
+	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Replace
+	a subtraction to check higher bit by a bit operation,
+	and cpp-conditionalize for appropriate systems.  Add better
+	documentation to the comment.
+	(FTC_ImageCache_LookupScaler): Ditto.
+	(FTC_SBitCache_Lookup): Ditto.
+	(FTC_SBitCache_LookupScaler): Ditto.
+
+2017-09-13  Werner Lemberg  <[email protected]>
+
+	[autofit] Really fix #41334 (#52000).
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Set
+	`segment->delta' everywhere.
+
+2017-09-12  suzuki toshiya  <[email protected]>
+
+	[autofit, sfnt] Fix for `make multi'.
+
+	* src/autofit/afshaper.c: Include FT_ADVANCE_H, to use
+	FT_Get_Advance() in it.
+	* src/sfnt/ttcmap.c: Include FT_SERVICE_POSTSCRIPT_CMAPS_H
+	to use PS_Unicodes in it, also include `ttpost.h' to use
+	tt_face_get_ps_name() in it.
+
+2017-09-11  Azzuro  <[email protected]>
+
+	[build] Improve builds with different MS Visual Studio versions.
+
+	* builds/windows/vc2010/freetype.vcxproj: Switch platform toolset
+	according to the Visual Studio version.
+
+2017-09-11  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Reject format 2 tables.
+
+	Reported by Behdad.
+
+2017-09-09  Werner Lemberg  <[email protected]>
+
+	[autofit] Improve communication with ftgrid.
+
+	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset):
+	Provide values in font units.
+
+2017-09-08  suzuki toshiya  <[email protected]>
+
+	[base] Remove a check for resource ID in the resource fork driver.
+
+	LastResort.dfont has a marginal resource ID 0xFFFF for sfnt
+	resource.  Inside Macintosh: More Macintosh Toolbox, `Resource IDs'
+	(1-46), tells that some IDs are reserved and should not be used.
+	FreeType2 just uses resource ID to sort the fragmented resource.
+	To accept the marginal fonts, the checking is removed.
+
+	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Remove res_id
+	validity check, fix a trace message format.
+
+2017-09-08  suzuki toshiya  <[email protected]>
+
+	[sfnt, truetype] Register the tags for marginal fonts.
+
+	The first 32bit of standard TrueType variants is 0x00010000,
+	`OTTO', `ttcf', `true' or `typ1'.  2 marginal dfonts on legacy Mac
+	OS X, Keyboard.dfont and LastResort.dfont, have the sfnt resources
+	starting 0xA5 followed by `kbd' or `lst'.  Considering the following
+	data could be parsed as conventional TrueType fonts, the header
+	checking is updated to allow these tags.  It seems that recent Mac
+	OS X has already switched to normal TTF for these fonts.
+
+	See the discussion at
+	http://u88.n24.queensu.ca/exiftool/forum/index.php?topic=3931.0
+
+	* include/freetype/tttags.h (TTAG_0xA5kbd, TTAG_0xA5lst): New header
+	tags for Keyboard.dfont and LastResort.dfont.
+	* src/sfnt/sfobjs.c (sfnt_open_font): Accept the sfnt resource
+	starts with TTAG_0xA5kbd or TTAG_0xA5lst.
+	* src/truetype/ttobjs.c (tt_face_init): Accept the face with the
+	format tag is TTAG_0xA5kbd or TTAG_0xA5lst.
+
+2017-09-05  Werner Lemberg  <[email protected]>
+
+	Fix multiple calls of `FT_Bitmap_Convert'.
+
+	The documentation of `FT_Bitmap_Convert' says that multiple calls do
+	proper reallocation of the target FT_Bitmap object.  However, this
+	failed for the sequence
+
+	  non-empty bitmap
+	  empty bitmap
+	  non-empty bitmap
+
+	Reason was that `FT_Bitmap_Convert' only reallocated the bitmap
+	buffer if it became too small; it didn't make the buffer smaller.
+	For an empty bitmap following a non-empty one, only the buffer
+	dimension got set to zero, without deallocation.  If the next call
+	was a non-empty buffer again, an assertion in `ft_mem_qrealloc' was
+	triggered.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always reallocate target
+	buffer to the correct size.
+
+	* docs/CHANGES: Document it.
+
+2017-09-05  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix size and resolution handling.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use `SIZE' values if
+	`POINT_SIZE', `RESOLUTION_X', or `RESOLUTION_Y' properties are
+	missing.
+
+	* docs/CHANGES: Document it.
+
+2017-08-25  Alexei Podtelezhnikov  <[email protected]>
+
+	Swap `ALLOC_MULT' arguments (#51833).
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Updated.
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Updated.
+	* src/raster/ftrend1.c (ft_raster1_render): Updated.
+
+2017-08-23  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix clang compilation (#51788).
+
+	* src/sfnt/pngshim.c (premultiply_data): Use vectors instead of
+	scalars.
+	(vector_shuffle): New macro to take care of a different built-in
+	function name on clang.
+
+2017-08-22  Werner Lemberg  <[email protected]>
+
+	[base] Don't zero out allocated memory twice (#51816).
+
+	Patch applied from bug report.
+
+	* src/base/ftutil.c (ft_mem_qrealloc): Use low-level allocation to
+	avoid unnecessary overhead.
+
+2017-08-22  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow.
+
+	Changes triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3107
+
+	* src/truetype/ttinterp.c (Ins_MDRP, Ins_MIRP, Ins_ALIGNPTS): Use
+	NEG_LONG.
+
+2017-08-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[sfnt] Avoid synthetic unicode for symbol fonts with PUA.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=754574
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Check for FT_ENCODING_MS_SYMBOL.
+
+2017-08-16  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/pngshim.c (premultiply_data): Fix compiler warnings.
+
+2017-08-15  Behdad Esfahbod  <[email protected]>
+
+	[sfnt] Speed up PNG image loading.
+
+	This reduces the overhead of `premultiply_data' by 60%.
+
+	* src/sfnt/pngshim.c (premultiply_data): Provide code which uses
+	gcc's (and clang's) `vector_byte' attribute to process 4 pixels at a
+	time.
+
+2017-08-11  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] Improve handling of missing sbits.
+
+	Requested by Behdad.
+
+	Modern bitmap-only SFNTs like `NotoColorEmoji.ttf' don't contain
+	entries in the bitmap strike(s) for empty glyphs.  Instead, they
+	rely that a space glyph gets created from the font's metrics data.
+	This commit makes FreeType behave accordingly.
+
+	* include/freetype/fterrdef.h (FT_Err_Missing_Bitmap): New error
+	code.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image): Change error codes
+	to make a distinction between a missing bitmap in a composite and a
+	simple missing bitmap.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): For a missing bitmap (in a
+	bitmap-only font), synthesize an empty bitmap glyph if metrics are
+	available.
+
+2017-08-10  Werner Lemberg  <[email protected]>
+
+	[base] Minor API improvement for default variation axis setting.
+
+	* src/base/ftmm.c (FT_Set_MM_Design_Coordinates,
+	FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
+	FT_Set_Var_Blend_Coordinates): Allow coords==NULL if num_coords==0.
+
+	* docs/CHANGES: Updated.
+
+2017-08-08  Werner Lemberg  <[email protected]>
+
+	[psnames] Really fix issue #49949.
+
+	We now use a separate preprocessor macro to handle both definition
+	and declaration of the glyph name arrays.
+
+	* src/psnames/psmodule.c (DEFINE_PS_TABLE_DATA): New macro.
+
+	* src/tools/glnames.py (StringTable::dump,
+	StringTable::dump_sublist): Use `DEFINE_PS_TABLE_DATA'.
+	(dump_encoding): Ditto.
+	(main): Use `wb' mode for writing the output file, which works on
+	Windows also.
+
+	* src/psnames/pstables.h: Regenerated.
+
+2017-08-08  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Harmony LCD rendering.
+
+	This is a new technology for LCD-optimized rendering. It capitalizes
+	on the fact that each color channel grid is shifted by a third of a
+	pixel.  Therefore it is logical to render 3 separate monochrome
+	bitmaps shifting the outline by 1/3 pixel, and then combine them.
+	Importantly, the resulting output does not require additional LCD
+	filtering.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
+	[!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Implement new LCD-optimized
+	rendering.
+
+	* include/freetype/ftlcdfil.h, include/freetype/freetype.h,
+	include/freetype/config/ftoption.h, devel/ftoption.h: Updated
+	documentation.
+
+2017-08-08  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Clean up.
+
+2017-08-08  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/sfnt/ttpost.c (format): Use otspec-compliant versions.
+
+2017-08-05  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2868
+
+	* src/truetype/ttinterp.c (Ins_ALIGNRP): Use NEG_LONG.
+
+2017-08-05  Werner Lemberg  <[email protected]>
+
+	[base, truetype] New function `FT_Get_Var_Axis_Flags'.
+
+	The reserved `flags' field got a value in OpenType version 1.8.2;
+	unfortunately, the public `FT_Var_Axis' structure misses the
+	corresponding element.  Since we can't add a new field, we add an
+	access function.
+
+	* src/base/ftmm.c (FT_Get_Var_Axis_Flags): New function.
+
+	* include/freetype/ftmm.h (FT_VAR_AXIS_FLAG_HIDDEN): New macro.
+	Updated.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Increase allocated memory
+	of `mmvar' to hold axis flags.
+	Fill the axis flags array.
+
+	* docs/CHANGES: Updated.
+
+2017-08-03  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] Fix metrics of B/W hinting in v40 mode.
+
+	Phantom points are now saved outside v40 backwards compatibility
+	mode.  This fixes the jumping glyphs when switching between v35 and
+	v40 monochrome mode.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Fix inversed bool logic.
+
+2017-08-03  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] Do not set any ClearType flags in v40 monochrome mode.
+
+	This fixes weird behavior of instructions that resulted in rendering
+	differences between v35 and v40 in monochrome mode, e.g., in
+	`timesbi.ttf'.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO)
+	[TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Check
+	`subpixel_hinting_lean'.
+
+2017-08-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix thinko.
+
+2017-08-01  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Fix loading of named instances.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Preserve file position
+	while loading the `avar' table.
+
+2017-08-01  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] Minor adjustments for OpenType 1.8.2.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): The units per EM value has now
+	(tighter) limits.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): The new OpenType
+	version explicitly allows all negative values for the number of
+	contours if we have a composite glyph (this is for better backwards
+	compatibility I guess), but it still recommends value -1.
+
+2017-07-26  Werner Lemberg  <[email protected]>
+
+	[cff] Integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2738
+
+	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset,
+	cf2_glyphpath_curveTo): Use ADD_INT32.
+
+2017-07-13  Werner Lemberg  <[email protected]>
+
+	[base] Fix memory leak.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=738362
+
+	* src/base/ftglyph.c (FT_Get_Glyph): Do proper deallocation in case
+	of error.
+
+2017-07-12  Werner Lemberg  <[email protected]>
+
+	[base] Integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2573
+
+	* src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Use
+	FT_PIX_CEIL_LONG and FT_PIX_ROUND_LONG.
+
+2017-07-12  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttpload.c (tt_face_get_location): Off-by-one typo.
+
+	Also improve tracing message.
+
+	Problem reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=738919
+
+2017-07-07  Werner Lemberg  <[email protected]>
+
+	[cff] Integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2517
+
+	* src/cff/cf2blues.c (cf2_blues_capture): Use SUB_INT32.
+
+2017-07-05  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap_unicode_class_rec): Fix warning.
+
+2017-07-05  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (FT_Stream_SeekSet): Fix warning (#51395).
+
+2017-07-04  Werner Lemberg  <[email protected]>
+
+	[truetype] Prevent address overflow (#51365).
+
+	* src/truetype/ttgxvar.c (FT_Stream_SeekSet): Add guard.
+
+2017-07-03  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir): Improve code.
+
+2017-07-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2455
+
+	* src/truetype/ttinterp.c (Ins_SCFS): Use SUB_LONG.
+
+2017-07-01  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Ignore No_Unicode_Glyph_Name.
+
+2017-06-28  Ben Wagner  <[email protected]>
+
+	Avoid Microsoft compiler warnings (#51331).
+
+	While clang's sanitizer recommends a cast to unsigned for safe
+	negation (to handle -INT_MIN), both MSVC and Visualc emit warning
+	C4146 if an unsigned value gets negated.
+
+	* include/freetype/internal/ftcalc.h (NEG_LONG, NEG_INT32),
+	src/base/ftcalc.c (FT_MOVE_SIGN): Replace negation with a
+	subtraction.
+
+2017-06-27  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c (do_fixed): Fix typo.
+
+	Spotted by chris <[email protected]>.
+
+2017-06-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2384
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2391
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix): Use
+	NEG_LONG.
+
+	* src/truetype/ttinterp.c (Ins_SxVTL): Use NEG_LONG.
+
+2017-06-24  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2364
+
+	* src/truetype/ttinterp.c (Ins_ISECT): Use NEG_LONG.
+
+2017-06-22  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2323
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2328
+
+	* src/cff/cf2blues.c (cf2_blues_capture): Use ADD_INT32 and
+	SUB_INT32.
+
+	* src/truetype/ttinterp.c (Ins_SDPVTL): Use SUB_LONG and NEG_LONG.
+
+2017-06-21  Alexei Podtelezhnikov  <[email protected]>
+
+	[sfnt] Synthesize a Unicode charmap if one is missing.
+
+	* src/sfnt/ttcmap.h (tt_cmap_unicode_class_rec): Declare it.
+	* src/sfnt/ttcmap.c (tt_get_glyph_name, tt_cmap_unicode_init,
+	tt_cmap_unicode_done, tt_cmap_unicode_char_index,
+	tt_cmap_unicode_char_next, tt_cmap_unicode_class_rec): Implement
+	synthetic Unicode charmap class.
+	(tt_get_cmap_info): Make sure the callback is available.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face)
+	[FT_CONFIG_OPTION_POSTSCRIPT_NAMES]: If Unicode charmap is missing,
+	synthesize one.
+
+	* include/freetype/config/ftoption.h: Document it.
+	* devel/ftoption.h: Ditto.
+
+2017-06-20  Tony Theodore  <[email protected]>
+
+	Fix pkg-config in freetype-config for cross-compiling (#51274).
+
+	* builds/unix/unix-def.in (PKG_CONFIG): New variable.
+	(freetype-config): Use it in sed expression.
+
+	* builds/unix/freetype-config.in: s/pkg-config/%PKG_CONFIG%/.
+
+2017-06-20  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2300
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2313
+
+	* src/cff/cf2hints.c (cf2_hintmap_adjustHints): Use ADD_INT32.
+
+	* src/truetype/ttinterp.c (Ins_ABS): Avoid FT_ABS.
+
+2017-06-17  Alexei Podtelezhnikov  <[email protected]>
+
+	[base, smooth] LCD filtering cleanups.
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Clean up, start filtering from the bottom-left origin.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Updated.
+
+2017-06-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2270
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2276
+
+	* src/truetype/ttinterp.c (Ins_MDRP, _iup_worker_interpolate): Use
+	ADD_LONG and SUB_LONG.
+
+2017-06-15  Werner Lemberg  <[email protected]>
+
+	[bdf, cff] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2244
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2261
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Replace calls to FT_ABS with
+	direct code to avoid value negation.
+
+	* src/cff/cf2blues.c (cf2_blues_capture): Use SUB_INT32 and
+	ADD_INT32.
+
+2017-06-13  Werner Lemberg  <[email protected]>
+
+	* src/winfonts/winfnt.c (FNT_Face_Init): Don't set active encoding.
+
+	FreeType only sets a default active encoding for Unicode.
+
+2017-06-13  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2216
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2218
+
+	* src/cff/cf2fixed.h (cf2_fixedAbs): Use NEG_INT32.
+
+	* src/truetype/ttinterp.c (Ins_IP): Use SUB_LONG.
+
+2017-06-11  Werner Lemberg  <[email protected]>
+
+	[cff] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2200
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2210
+
+	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Use SUB_INT32 and
+	ADD_INT32.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO>: Use
+	ADD_INT32.
+
+2017-06-10  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix TT_Set_Var_Design.
+
+	Reported by Nikolaus Waxweiler <[email protected]>.
+
+	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Correctly handle the
+	case where we have less input coordinates than axes.
+
+2017-06-10  Werner Lemberg  <[email protected]>
+
+	* src/base/ftcalc.c (FT_DivFix): Fix embarrassing typo.
+
+	Bug introduced 2017-05-28.
+
+2017-06-09  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2144
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2151
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2153
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2173
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2186
+
+	* src/cff/cf2blues.c (cf2_blues_init): Use SUB_INT32.
+
+	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
+	Round_To_Half_Grid, Round_Down_To_Grid, Round_Up_To_Grid,
+	Round_To_Double_Grid, Round_Super, Round_Super_45): Use ADD_LONG,
+	SUB_LONG, NEG_LONG, FT_PIX_ROUND_LONG, FT_PIX_CEIL_LONG,
+	FT_PAD_ROUND_LONG
+	(Ins_SxVTL, Ins_MIRP): Use SUB_LONG.
+	(_iup_worker_shift): Use SUB_LONG and ADD_LONG.
+
+2017-06-09  Werner Lemberg  <[email protected]>
+
+	Provide more macros for flooring, ceiling, and rounding.
+
+	These versions don't produce run-time errors due to integer
+	overflow.
+
+	* include/freetype/internal/ftobjs.h: Include FT_INTERNAL_CALC_H.
+	(FT_PAD_ROUND_LONG, FT_PAD_CEIL_LONG, FT_PIX_ROUND_LONG,
+	FT_PIX_CEIL_LONG): New macros.
+	(FT_PAD_ROUND_INT32, FT_PAD_CEIL_INT32, FT_PIX_ROUND_INT32,
+	FT_PIX_CEIL_INT32): New macros.
+
+2017-06-09  Werner Lemberg  <[email protected]>
+
+	Remove unused macros.
+
+	* include/freetype/internal/ftcalc.h (ADD_INT, SUB_INT, MUL_INT,
+	NEG_INT): Deleted.
+
+2017-06-09  Werner Lemberg  <[email protected]>
+
+	*/*: Remove `OVERFLOW_' prefix.
+
+	This increases readability.
+
+2017-06-07  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2133
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2137
+
+	* src/cff/cf2hints.c (cf2_hint_init): Use OVERFLOW_SUB_INT32.
+
+	* src/truetype/ttinterp.c (PROJECT, DUALPROJ): Use
+	OVERFLOW_SUB_LONG.
+
+2017-06-06  Werner Lemberg  <[email protected]>
+
+	[cff] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2109
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2110
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2122
+
+	* src/cff/cf2blues.c (cf2_blues_init): Use OVERFLOW_SUB_INT32.
+
+	* src/cff/cf2hints.c (cf2_hintmap_map): Synchronize if-else
+	branches.
+
+2017-06-05  Werner Lemberg  <[email protected]>
+
+	[cff] Integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2089
+
+	* src/cff/cffload.c (cff_blend_doBlend): User OVERFLOW_ADD_INT32.
+
+2017-06-04  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2075
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2088
+
+	* src/cff/cf2font.c (cf2_font_setup): Use OVERFLOW_MUL_INT32.
+
+	* src/truetype/ttinterp.c (Ins_ISECT): Use OVERFLOW_MUL_LONG,
+	OVERFLOW_ADD_LONG, and OVERFLOW_SUB_LONG.
+
+2017-06-03  Werner Lemberg  <[email protected]>
+
+	[base, cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2060
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2062
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2063
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2068
+
+	* src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Use
+	OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG.
+
+	* src/cff/cf2blues.c (cf2_blues_capture), src/cff/cf2hints.c
+	(cf2_hintmap_adjustHints): Use OVERFLOW_SUB_INT32.
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): User
+	OVERFLOW_SUB_LONG.
+
+	* src/truetype/ttinterp.c (Direct_Move, Direct_Move_Orig,
+	Direct_Move_X, Direct_Move_Y, Direct_Move_Orig_X,
+	Direct_Move_Orig_Y, Move_Zp2_Point, Ins_MSIRP): Use
+	OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG.
+
+2017-06-03  Werner Lemberg  <[email protected]>
+
+	* builds/unix/freetype-config.in: Fix pkg-config test (#51162).
+
+	Patch directly taken from bug report.
+
+2017-06-03  Werner Lemberg  <[email protected]>
+
+	[bdf] Synchronize sanity checks with pcf driver.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2054
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2058
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Check font ascent and descent.
+	Check AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
+	RESOLUTION_Y properties.
+
+2017-06-03  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2047
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2057
+
+	* src/cff/cf2hints.c (cf2_hintmap_map): Use OVERFLOW_SUB_INT32.
+
+	* src/truetype/ttinterp.c (Ins_ADD): Use OVERFLOW_ADD_LONG.
+	(Ins_SUB): Use OVERFLOW_SUB_LONG.
+	(Ins_NEG): Use NEG_LONG.
+
+2017-06-03  Werner Lemberg  <[email protected]>
+
+	ftcalc.h: Avoid left-shift of negative numbers.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2055
+
+	* include/freetype/internal/ftcalc.h (INT_TO_F26DOT6,
+	INT_TO_F2DOT14, INT_TO_FIXED, F2DOT14_TO_FIXED): Use multiplication.
+
+2017-06-02  Werner Lemberg  <[email protected]>
+
+	[cff] Even more integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2046
+
+	* src/cff/cf2intrp.c (cf2_doStems, cf2_interpT2CharString): Use
+	OVERFLOW_ADD_INT32.
+
+2017-06-02  Werner Lemberg  <[email protected]>
+
+	[cff] More integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2032
+
+	* src/cff/cf2blues.c (cf2_blues_init): Use OVERFLOW_SUB_INT32.
+
+2017-06-02  Werner Lemberg  <[email protected]>
+
+	[bdf] Don't left-shift negative numbers.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2031
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use multiplication.
+
+2017-06-02  Werner Lemberg  <[email protected]>
+
+	[bdf] Fix integer scanning routines.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2029
+
+	* src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous, _bdf_atos):
+	Stop scanning if result would overflow.
+
+2017-06-02  Werner Lemberg  <[email protected]>
+
+	[cff] Fix integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2027
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2028
+
+	* src/cff/cf2hints.c (cf2_hintmap_insertHint), src/cff/cf2intrp.c
+	(cf2_doFlex): Use OVERFLOW_ADD_INT32 and OVERFLOW_SUB_INT32.
+
+2017-06-01  Werner Lemberg  <[email protected]>
+
+	[smooth] Some 32bit integer overflow run-time errors.
+
+	* src/smooth/ftgrays.c [STANDALONE] (OVERFLOW_ADD_LONG,
+	OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG, NEG_LONG): New macros.
+	[!STANDALONE]: Include FT_INTERNAL_CALC_H.
+	(gray_render_cubic): Use those macros where appropriate.
+
+2017-06-01  Werner Lemberg  <[email protected]>
+
+	* src/base/ftglyph.c (FT_Get_Glyph): Check `slot->advance'.
+
+2017-06-01  Werner Lemberg  <[email protected]>
+
+	[psaux] 32bit integer overflow tun-time errors (#46149).
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Use
+	OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG where appropriate.
+
+2017-06-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter again.
+
+	Problem reported by Marek Kašík <[email protected]>.
+
+	The problematic font that exceeds the old limit is Padauk-Bold,
+	version 3.002, containing bytecode generated by a buggy version of
+	ttfautohint.
+
+2017-05-31  Werner Lemberg  <[email protected]>
+
+	[cff] 32bit integer overflow run-time errors 2/2 (#46149).
+
+	This commit handles the new engine.
+
+	* include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT32,
+	OVERFLOW_SUB_INT32, OVERFLOW_MUL_INT32, NEG_INT, NEG_LONG,
+	NEG_INT32): New macros.
+
+	* src/cff/cf2ft.c (cf2_getScaleAndHintFlag): Use OVERFLOW_ADD_INT32.
+
+	* src/cff/cf2hints.c (cf2_getWindingMomentum, cf2_hint_init,
+	cf2_hintmap_map, cf2_glyphpath_hintPoint,
+	cf2_glyphpath_computeIntersection, cf2_glyphpath_computeOffset,
+	cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): Use
+	OVERFLOW_ADD_INT32, OVERFLOW_SUB_INT32, OVERFLOW_MUL_INT32, and
+	NEG_INT32 where appropriate.
+
+	* src/cff/cf2intrp.c (cf2_doFlex, cf2_doBlend,
+	cf2_interpT2CharString): Ditto.
+	Also add some other code where needed to avoid overflow.
+
+2017-05-30  Werner Lemberg  <[email protected]>
+
+	[cff] 32bit integer overflow run-time errors 1/2 (#46149).
+
+	This commit handles the old engine.
+
+	* src/cff/cffgload.c: Include FT_INTERNAL_CALC_H.
+	(cff_decoder_parse_charstrings): Use OVERFLOW_ADD_LONG and
+	OVERFLOW_SUB_LONG where needed.
+
+	* src/cff/cffparse.c: Include FT_INTERNAL_CALC_H.
+	(power_ten_limits): New static array.
+	(do_fixed): Use it to prevent multiplication overflow.
+	(cff_parser_run): Use OVERFLOW_ADD_LONG.
+
+2017-05-30  Werner Lemberg  <[email protected]>
+
+	[psaux] Correctly handle sequences of multiple number signs.
+
+	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed): Return zero
+	if we encounter more than a single sign.
+
+2017-05-29  Werner Lemberg  <[email protected]>
+
+	[pcf] 32bit integer overflow run-time errors (#46149).
+
+	* src/pcf/pcfread.c (pcf_get_accel): Add sanity checks for
+	`fontAscent' and `fontDescent'.
+	(pcf_load_font): Add sanity checks for global height.
+	Add sanity checks for AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE,
+	RESOLUTION_X, and RESOLUTION_Y properties.
+
+2017-05-29  Werner Lemberg  <[email protected]>
+
+	Handle some integer overflow run-time errors (#46149, #48979).
+
+	This commit (mainly for 32bit CPUs) is the first of a series of
+	similar commits to handle known integer overflows.  Basically, all
+	of them are harmless, since they affect rendering of glyphs only,
+	not posing security threats.  It is expected that fuzzying will show
+	up more overflows, to be fixed in due course.
+
+	The idea is to mark places where overflows can occur, using macros
+	that simply cast to unsigned integers, because overflow arithmetic
+	is well defined in this case.  Doing so suppresses run-time errors
+	of sanitizers without adding computational overhead.
+
+	* include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT,
+	OVERFLOW_SUB_INT, OVERFLOW_MUL_INT, OVERFLOW_ADD_LONG,
+	OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG): New macros.
+
+	* src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_Matrix_Multiply,
+	FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled,
+	ft_corner_orientation): Use new macros.
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use new macros.
+
+2017-05-28  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/ftcalc.h (FLOAT_TO_FIXED): Remove.
+
+	This macro is not used.
+
+2017-05-28  Werner Lemberg  <[email protected]>
+
+	[cff] s/cf2_floatToFixed/cf2_doubleToFixed/.
+
+	The new name better describes what the macro actually does;
+	additionally, we don't need a trailing `f' for literals (there was
+	only a single such instance in the code, but this caused a clang
+	warning because the macro itself uses `double' literals).
+
+	* src/cff/cf2blues.c, src/cff/cf2blues.h, src/cff/cf2fixed.h,
+	src/cff/cf2font.c, src/cff/cf2hints.c: Updated.
+
+2017-05-28  Werner Lemberg  <[email protected]>
+
+	Fix negation of INT_MIN and LONG_MIN (#46149).
+
+	* src/base/ftcalc.c (FT_MOVE_SIGN): Add argument to pass unsigned
+	value, to be used as the result.
+	(FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix, FT_MulFix,
+	FT_Vector_NormLen): Updated.
+
+2017-05-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix handling of design coordinates (#51127).
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Compute all design
+	coordinates if we have to create the `blends->coord' array.
+	(TT_Get_MM_Blend, TT_Get_Var_Design): Select default instance
+	coordinates if no instance is selected yet.
+
+2017-05-24  Werner Lemberg  <[email protected]>
+
+	[bdf, pcf] Support ISO646.1991-IRV character encoding (aka ASCII).
+
+	Problem reported by Marek Kašík <[email protected]>, cf.
+
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1451795
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdrivr.c
+	(PCF_Face_Init): Implement it.
+
+2017-05-20  Nikolaus Waxweiler  <[email protected]>
+
+	[truetype] Always use interpreter v35 for B/W rendering (#51051).
+
+	* src/truetype/ttgload.c (tt_loader_init)
+	[TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Adjust
+	`subpixel_hinting_lean', `grayscale_cleartype', and
+	`vertical_lcd_lean' accordingly.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Updated.
+	(TT_RunIns): Update `backward_compatibility' flag.
+
+2017-05-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Implement minimal dynamic padding for LCD filtering.
+
+	Extra bitmap padding for LCD filtering depends on the filter.  The
+	default 5-tap filter needs 2 extra subpixels.  The light 3-tap filter
+	needs only 1 extra subpixel.  This space could be already available
+	due to rounding.  In order to optimize the padding, we now expand
+	CBox for the given filter weights before rounding.
+
+	This change breaks current Skia (and Firefox).
+
+	* include/freetype/internal/ftobjs.h (FT_LibraryRec)
+	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Remove `lcd_extra' field.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights,
+	FT_Library_SetLcdFilter): Remove `lcd_extra' initializations.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Implement dymanic
+	LCD padding.
+
+2017-05-15  Werner Lemberg  <[email protected]>
+
+	[sfnt] Return proper scaling values for SBIX bitmaps.
+
+	Problem reported by Hin-Tak Leung <[email protected]>.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
+
+2017-05-15  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix error handling for embedded bitmaps.
+
+	Problem reported by Hin-Tak Leung <[email protected]>.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph)
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Handle error if font is not
+	scalable.
+
+2017-05-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Make autohint warping NORMAL option.
+
+	This moves warping option from LIGHT to NORMAL mode.  This makes LIGHT
+	truly void of hinting in x-direction, with left side bearing never
+	changed and right side bearing only altered by advance rounding.
+	Therefore, LIGHT is now ready to return fractional advance.  As a
+	NORMAL option, warping substitutes normal hinting.
+
+	* src/autofit/afcjk.c (af_cjk_hints_apply): Updated.
+	* src/autofit/aflatin.c (af_latin_hints_apply): Updated.
+	* src/autofit/aflatin2.c (af_latin2_hints_apply): Updated.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Handle warping
+	phantom points as normal.
+
+2017-05-14  Werner Lemberg  <[email protected]>
+
+	Remove remnants of raster pool.
+
+	* include/freetype/internal/ftobjs.h (FT_LibraryRec): Remove
+	`raster_pool' and `raster_pool_size' fields.
+
+	* src/base/ftobjs.c (FT_New_Library), src/raster/ftrend1.c
+	(ft_raster1_init), src/smooth/ftsmooth.c (ft_smooth_init): Updated.
+
+2017-05-13  Werner Lemberg  <[email protected]>
+
+	* Version 2.8 released.
+	=======================
+
+
+	Tag sources with `VER-2-8'.
+
+	* docs/VERSION.TXT: Add entry for version 2.8.
+	* docs/CHANGES: Updated.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.7.1/2.8/, s/271/28/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 8.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 20:0:14.
+	* CMakeLists.txt (VERSION_MINOR): Set to 8.
+	(VERSION_PATCH): Set to 0.
+
+2017-05-12  Hin-Tak Leung  <[email protected]>
+
+	Fix `FT_UINT_TO_POINTER' macro for Windows.
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]:
+	Fix definition.
+
+2017-05-11  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Chakma script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Chakma.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Chakma standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Chakma data.
+
+2017-05-10  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Kayah Li script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Kayah Li.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Kayah Li standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Kayah Li data.
+
+2017-05-10  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Bamum script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Bamum.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Bamum standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Bamum data.
+
+2017-05-10  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Saurashtra script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Saurashtra.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Saurashtra standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Saurashtra
+	data.
+
+2017-05-10  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Buhid script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Buhid.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Buhid standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Buhid data.
+
+2017-05-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Shavian script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Shavian.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Shavian standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Shavian data.
+
+2017-05-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Vai script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Vai.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Vai standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Vai data.
+
+2017-05-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Osmanya script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Osmanya.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Osmanya standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Osmanya data.
+
+2017-05-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Coptic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Coptic.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Coptic standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Coptic data.
+
+2017-05-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Carian script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Carian.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Carian standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Carian data.
+
+2017-05-07  Werner Lemberg  <[email protected]>
+
+	[truetype] Add tricky font `DFGirl-W6-WIN-BF' (from Dynalab).
+
+	Reported by Roy Tam <[email protected]>.
+
+	* src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
+
+2017-05-07  Roy Tam  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[truetype] More tricky fonts (mainly from Dynalab).
+
+	* src/truetype/ttobjs.c (tt_check_trickyness_family,
+	tt_check_trickyness_sfnt_ids): Add them.
+
+2017-05-07  Werner Lemberg  <[email protected]>
+
+	[truetype] Add tricky font `DLCHayMedium' (from Dynalab).
+
+	Reported by Roy Tam <[email protected]>.
+
+	* src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
+
+2017-05-03  Werner Lemberg  <[email protected]>
+
+	*/*: s/backwards compatibility/backward compatibility/.
+
+2017-05-03  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Unified Canadian Syllabics script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Unified Canadian
+	Syllabics.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Unified Canadian Syllabics standard
+	character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Unified
+	Canadian Syllabics data.
+
+2017-05-03  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	[autofit] Add blue-zone support for Sundanese script.
+
+	This essentially moves the Sundanese script from the `Indic' hinter
+	to the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Sundanese.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Sundanese standard character and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Sundanese data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Sundanese data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2017-05-03  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Avestan script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Avestan.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Avestan standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Avestan data.
+
+2017-05-02  Behdad Esfahbod  <[email protected]>
+
+	[truetype] Make `IUP' gvar deltas do the same as Apple (#50832).
+
+	When points are not touched by gvar interpolation deltas, FreeType
+	gave a slightly different result than Apple's CoreText.
+
+	The OpenType working group will update the specification to document
+	the following behaviour: If the two points with deltas to the `left'
+	and `right' of the untouched point have the same coordinate, then
+	the inferred delta for the untouched point should be zero.
+
+	* src/truetype/ttgxvar.c (tt_delta_interpolate): Implement new
+	behaviour.
+
+2017-05-02  Werner Lemberg  <[email protected]>
+
+	[autofit] Remove `slight' auto-hint mode again.
+
+	A poll on freetype-devel favoured changes directly applied to
+	`light'.
+
+	* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT,
+	FT_RENDER_MODE_SLIGHT): Removed.
+
+	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
+	(af_latin_hints_init), src/autofit/aflatin2.c
+	(af_latin2_hints_init): Revert change from 2017-04-22.
+
+	* src/autofit/afloader.c (af_loader_load_glyph) Remove references to
+	FT_RENDER_MODE_SLIGHT.
+	[AF_CONFIG_OPTION_TT_SIZE_METRICS]: Enable TrueType-like metrics
+	unconditionally.
+
+	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Revert change from
+	2017-04-22.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Revert change from 2017-04-22.
+
+	* src/pshinter/pshalgo.c (ps_hints_apply): Revert change from
+	2017-04-22.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render): Revert change from
+	2017-04-22.
+
+	* docs/CHANGES: Updated.
+
+2017-04-30  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix metrics computation.
+
+	Problem reported by Markus Trippelsdorf <[email protected]> and
+	Nikolaus Waxweiler <[email protected]>.
+
+	* src/base/ftobjs.c (FT_Request_Size): Trigger recomputation of
+	auto-hinter metrics.  Without this change, multiple size changing
+	calls for a single face fail.
+
+2017-04-29  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttdriver.c (tt_size_request): Properly check `error'.
+
+	Reported by Earnestly <[email protected]> in
+
+	  https://lists.nongnu.org/archive/html/freetype/2017-04/msg00031.html
+
+2017-04-27  Werner Lemberg  <[email protected]>
+
+	Introduce AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option.
+
+	* include/freetype/config/ftoption.h
+	(AF_CONFIG_OPTION_TT_SIZE_METRICS): New option, commented out by
+	default.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Use
+	AF_CONFIG_OPTION_TT_SIZE_METRICS to guard the corresponding code.
+
+2017-04-26  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FT_Render_Mode): Fix order.
+
+	This retains backward compatibility.
+
+	Noted by Alexei.
+
+2017-04-22  Werner Lemberg  <[email protected]>
+
+	[truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470).
+
+	* src/truetype/ttobjs.h (TT_SizeRec): Add field `hinted_metrics' to
+	hold hinted metrics.
+	Make `metrics' a pointer so that `tt_glyph_load' can easily switch
+	between metrics.
+
+	* src/truetype/ttdriver.c (tt_size_request): Updated.
+	(tt_glyph_load): Use top-level metrics if FT_LOAD_NO_HINTING is
+	used.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph, TT_Process_Simple_Glyph,
+	TT_Process_Composite_Component, load_truetype_glyph,
+	compute_glyph_metrics, TT_Load_Glyph): Updated.
+
+	* src/truetype/ttinterp.c (TT_Load_Context): Updated.
+
+	* src/truetype/ttobjs.c (tt_size_reset): Updated.
+
+	* src/truetype/ttsubpix.c (sph_set_tweaks): Updated.
+
+2017-04-22  Werner Lemberg  <[email protected]>
+
+	Add new `slight' auto-hinting mode.
+
+	This mode uses fractional advance widths and doesn't scale glyphs
+	horizontally, only applying vertical scaling and hinting.
+
+	At the same time, the behaviour of the `light' auto-hinter gets
+	restored for backward compatibility: Both vertical and horizontal
+	scaling is again based on rounded metrics values (this was changed
+	in a commit from 2017-03-30 as a side effect).  To be more precise,
+	the behaviour is restored for TrueType fonts only; for other font
+	formats like Type 1, this is a new feature of the `light' hinting
+	mode.
+
+	* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT): New macro.
+	(FT_RENDER_MODE_SLIGHT): New render mode.
+
+	* include/freetype/internal/ftobjs.h (FT_Size_InternalRec): Add
+	`autohint_mode' and `autohint_metrics' fields.
+
+	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
+	(af_latin_hints_init), src/autofit/aflatin2 (af_latin2_hints_init):
+	Updated.
+
+	* src/autofit/afloader.c (af_loader_embolden_glyph_in_slot): Use
+	`autohint_metrics'.
+	(af_loader_load_glyph): s/internal/slot_internal/.
+	Initialize `autohint_metrics' and `autohint_mode' depending on
+	current auto-hint mode.
+	Use `autohint_metrics'.
+	Updated.
+
+	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Updated.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
+	(FT_New_Size): Allocate `internal' object.
+
+	* src/pshinter/pshalgo.c (ps_hints_apply): Updated.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render): Updated.
+
+2017-04-22  Werner Lemberg  <[email protected]>
+
+	Introduce `FT_Size_InternalRec' structure.
+
+	We are going to extend this later on.
+
+	* include/freetype/internal/ftobjs.h (FT_Size_InternalRec): New
+	structure with a single field `module_data'.
+
+	* src/base/ftobjs.c (FT_New_Size): Allocate `internal' field of
+	`FT_Size' structure.
+
+	* src/cff/cffgload.c (cff_builder_init, cff_decoder_prepare): Use
+	`size->internal->module_data' instead of `size->internal'.
+
+	* src/cff/cffobjs.c (cff_size_done): Deallocate `module_data'.
+	(cff_size_init, cff_size_select, cff_size_request): Use
+	`size->internal->module_data' instead of `size->internal'.
+
+	* src/cif/cidobjs.c (cid_size_done, cid_size_init,
+	cid_size_request): Use `size->internal->module_data' instead of
+	`size->internal'.
+
+	* src/psaux/psobjs.c (t1_builder_ini): Use
+	`size->internal->module_data' instead of `size->internal'.
+
+	* src/type1/t1objs.c (T1_Size_Done, T1_Size_Init, T1_Size_Request):
+	Use `size->internal->module_data' instead of `size->internal'.
+
+2017-04-21  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftsmooth.h: Remove unused guards and declaration.
+
+2017-04-16  Hin-Tak Leung  <[email protected]>
+
+	Fix tracing messages.
+
+	* src/base/ftobjs.c (FT_Face_GetCharVariantIndex,
+	FT_Face_GetCharVariantIsDefault, FT_Face_GetVariantsOfChar): Print
+	correct function name.
+
+2017-04-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Old Turkic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Old Turkic.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Old Turkic standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Old Turkic data.
+
+2017-04-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Gothic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Gothic.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Gothic standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Gothic data.
+
+2017-04-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Cypriot script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Cypriot.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Cypriot standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Cypriot data.
+
+2017-04-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Deseret script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Deseret.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Deseret standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Deseret data.
+
+2017-04-07  Werner Lemberg  <[email protected]>
+
+	[autofit] Fix invalid character range description (#50745).
+
+	Also reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1034
+
+	* src/autofit/afranges.c (af_glag_nonbase_uniranges): Fix typo in
+	recent commit.
+
+2017-04-07  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Fix clang warnings.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Add
+	casts.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Lisu script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Lisu.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Lisu standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Lisu data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Osage script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Osage.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Osage standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Osage data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Glagolitic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Glagolitic.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Glagolitic standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Glagolitic data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Tai Viet script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Tai Viet.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Tai Viet standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Tai Viet data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Tifinagh script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Tifinagh.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Tifinagh standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Tifinagh data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for N'Ko script.
+
+	* src/autofit/afblue.dat: Add blue zone data for N'Ko.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add N'Ko standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add N'Ko data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+
+	[autofit] Add support for Adlam script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Adlam.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Adlam standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Adlam data.
+
+2017-04-06  Sascha Brawer  <[email protected]>
+
+	[autofit] Add support for Ol Chiki script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Ol Chiki.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Ol Chiki standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data.
+
+2017-04-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Avoid reexecution of `fpgm' and `prep' in case of error.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=981
+
+	* include/freetype/fterrdef.h (FT_Err_DEF_In_Glyf_Bytecode): New
+	error code.
+
+	* src/truetype/ttinterp.c (Ins_FDEF, Ins_IDEF): Prohibit execution
+	of these two opcodes in `glyf' bytecode.
+	(TT_RunIns): Don't enforce reexecution of `fpgm' and `prep' bytecode
+	in case of error since function tables can no longer be modified
+	(due to the changes in `Ins_FDEF' and `Ins_IDEF').  This change can
+	enormously speed up handling of broken fonts.
+
+2017-04-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'.
+
+	* src/autofit/aflatin.c (af_latin_hints_init): Updated.
+	* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
+
+2017-04-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c: Include FT_CONFIG_CONFIG_H.
+
+	Otherwise FT_UINT_TO_POINTER might not be defined.
+
+	Problem reported by Alexei.
+
+2017-03-31  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'.
+
+	* include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it.
+	* src/autofit/afcjk.c (af_cjk_hints_init): Updated.
+	* src/autofit/aflatin.c (af_latin_hints_init): Ditto.
+	* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
+
+2017-03-31  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04.
+
+	Allow CFFs containing a single font to have an empty font name.
+
+	Problem reported by 張俊芝 <[email protected]> in
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
+
+2017-03-30  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.h (CFF2_DEFAULT_STACK): Set to 513 also.
+
+	Requested by Dave Arnold.
+
+2017-03-30  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix HVAR and VVAR handling (#50678).
+
+	* src/truetype/ttgxvar.c (tt_hvadvance_adjust): Handle
+	glyph indices larger than `mapCount' as described in the
+	specification.
+
+2017-03-30  Werner Lemberg  <[email protected]>
+
+	[truetype] Allow linear scaling for unhinted rendering (#50470).
+
+	* src/truetype/ttdriver.c (tt_size_request): Revert change from
+	2011-07-16; the intended metrics fix seems now to be implemented in
+	a different way, making the patch unnecessary.  Note that this
+	change was usually patched out by all major GNU/Linux distributions
+	due to heavy side effects.
+
+	* src/truetype/ttgload.c (compute_glyph_metrics, TT_Load_Glyph):
+	Refer to the metrics of the `TT_Size' object.
+
+2017-03-29  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix thinko related to PS name of default named instance.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): `strid' and `psid' are
+	name ID values, not indices into the array of name entries.
+
+2017-03-27  Werner Lemberg  <[email protected]>
+
+	[cid, truetype] Don't use `index' as a variable name.
+
+	At least on FreeBSD there is a global declaration of `index' in file
+	`/usr/include/strings.h'.
+
+	* src/cff/cf2intrp.c, src/truetype/ttgload.c: s/index/idx/ where
+	appropriate.
+
+2017-03-27  Wojciech Mamrak  <[email protected]>
+
+	[sfnt] Minor improvement for handling kern tables.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Don't check for
+	cross-stream kerning tables since we reject format 2 tables later
+	on anyways.
+	Modify code for limit test...
+	(tt_face_get_kerning): ... to avoid a limit test here.
+
+2017-03-27  Werner Lemberg  <[email protected]>
+
+	[pcf] Fix compiler warnings.
+
+	Reported by Alexander Hedges <[email protected]>.
+
+	* src/pcf/pcfdrivr.c (pcf_property_set, pcf_property_get): Tag
+	`property_name' with `FT_UNUSED' where necessary.
+
+2017-03-26  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
+
+2017-03-23  Werner Lemberg  <[email protected]>
+
+	[psaux] Better protect `flex' handling.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=935
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+	<callothersubr>: Since there is not a single flex operator but a
+	series of subroutine calls, malformed fonts can call arbitrary other
+	operators after the start of a flex, possibly adding points.  For
+	this reason we have to check the available number of points before
+	inserting a point.
+
+2017-03-23  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix check for default named instance.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): A `fixed' number needs four
+	bytes, not two...
+
+2017-03-23  Werner Lemberg  <[email protected]>
+
+	Make MM fonts work (again).
+
+	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
+	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Ignore
+	return value of `ft_face_get_mvar_service'; instead, check whether a
+	service is actually returned.
+
+2017-03-20  Werner Lemberg  <[email protected]>
+
+	[truetype] Some variable renamings.
+
+	Too much local variables holding different structures were called
+	`metrics'.
+
+	* src/truetype/ttdriver.c (tt_size_select): s/metrics/size_metrics/.
+
+	* src/truetype/ttgload.c (tt_get_metrics_incr_overrides,
+	compute_glyph_metrics): s/metrics/incr_metrics/.
+	(load_sbit_image): s/metrics/sbit_metrics/.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm): s/metrics/size_metrics/.
+	(tt_size_init_bytecode): s/metrics/tt_metrics/.
+	(tt_size_reset): s/metrics/size_metrics/.
+
+2017-03-20  Werner Lemberg  <[email protected]>
+
+	[sfnt] Don't add instances to non-variation fonts.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Fix it.
+
+2017-03-20  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffgload.c (cff_builder_init): Add safety guard (#50578).
+
+2017-03-18  Werner Lemberg  <[email protected]>
+
+	Introduce FT_UINT_TO_POINTER macro (#50560).
+
+	We have to make a separate case for Windows 64's LLP64 data model.
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER): New macro.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Use it.
+
+2017-03-18  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#50573).
+
+	The problematic font that exceeds the old limit is Lato-Regular,
+	version 2.007, containing bytecode generated by a buggy version of
+	ttfautohint.
+
+2017-03-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Another limitation for bytecode loop count maximum.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=900
+
+	* src/truetype/ttinterp.c (TT_RunIns): Limit `loopcall_counter_max'
+	by number of glyphs also.
+
+2017-03-18  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Minor improvement.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Don't set intermediate axis if
+	bitmap strikes are active.
+
+2017-03-18  Werner Lemberg  <[email protected]>
+
+	Improve `make multi'.
+
+	* src/autofit/aflatin2.c: Guard file with FT_OPTION_AUTOFIT2.
+
+	* src/base/ftmac.c: Guard more parts of the file with FT_MACINTOSH.
+
+	* src/psaux/afmparse.c: Guard file with T1_CONFIG_OPTION_NO_AFM.
+
+	* src/sfnt/pngshim.c: Guard file with
+	TT_CONFIG_OPTION_EMBEDDED_BITMAPS also.
+
+	* src/sfnt/ttbdf.c: Avoid empty source file.
+	* src/sfnt/ttpost.c: Guard file with
+	TT_CONFIG_OPTION_POSTSCRIPT_NAMES.
+	* src/sfnt/ttsbit.c: Guard file with
+	TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
+
+	* src/truetype/ttgxvar.c, src/truetype/ttinterp.c: Avoid empty
+	source file.
+
+	* src/truetype/ttsubpix.c: Guard file with
+	TT_USE_BYTECODE_INTERPRETER also.
+
+	* src/type1/t1afm.c: Guard file with T1_CONFIG_OPTION_NO_AFM.
+
+	* src/autofit/autofit.c, src/base/ftbase.c, src/cache/ftcache.c,
+	src/cff/cff.c, src/cid/type1cid.c, src/gxvalid/gxvalid.c,
+	src/pcf/pcf.c, src/pfr/pfr.c, src/psaux/psaux.c,
+	src/pshinter/pshinter.c, src/psnames/psnames.c, src/raster/raster.c,
+	src/sfnt/sfnt.c, src/smooth/smooth.c, src/truetype/truetype.c,
+	src/type1/type1.c, src/type42/type42.c: Remove conditionals; sort
+	entries.
+
+2017-03-17  Werner Lemberg  <[email protected]>
+
+	Fixes for conditional compilation.
+
+	* src/autofit/afcjk.c, src/autofit/afindic.c: Include `afcjk.h'
+	earlier.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Put `memory' variable into
+	TT_CONFIG_OPTION_GX_VAR_SUPPORT block.
+	(sfnt_done_face): Protect some code with
+	TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbix_image): Remove compiler
+	warning.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Put `tmp' variable
+	into TT_USE_BYTECODE_INTERPRETER block.
+
+	(tt_loader_init): Put `error' variable into
+	TT_USE_BYTECODE_INTERPRETER block.
+
+2017-03-17  Werner Lemberg  <[email protected]>
+
+	Fix preprocessor warning.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h: Test whether
+	TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined before checking its
+	value.
+
+2017-03-17  Werner Lemberg  <[email protected]>
+
+	`make multi' fixes; compiler warnings.
+
+	* src/base/ftsnames.c: Include FT_INTERNAL_DEBUG_H.
+
+	* src/cff/cffobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H.
+
+	* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+	FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H.
+	(get_win_string, get_apple_string): Initialize `result'.
+
+2017-03-17  Dave Arnold <[email protected]>
+
+	[cff] Fix potential bugs in default NDV for CFF2.
+
+	* src/cff/cffload.c (cff_blend_build_vector): Explicitly build blend
+	vector when `lenNDV' is zero; don't rely on zero-init.
+	Save `lenNDV' as part of cache key even when `lenNDV' is zero.
+
+2017-03-17  Dave Arnold <[email protected]>
+
+	[cff] Fix CFF2 stack allocation.
+
+	* src/cff/cffparse.c (cff_parser_init) add 1 for operator.
+
+2017-03-16  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (tt_done_blend): Free `vvar_table'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=883
+
+2017-03-15  Werner Lemberg  <[email protected]>
+
+	Remove clang compiler warnings (#50548).
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Make
+	`var_postscript_prefix_len' unsigned.
+
+	* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
+	redundant assignment.
+
+	* src/cff/cffload.c (cff_subfont_load): Add casts.
+
+	* src/cff/cffparse.c (cff_parse_blend): Remove redundant assignment.
+
+	* src/sfnt/sfdriver.c (fmix32, murmur_hash_3_128): Add `static'
+	keyword.
+	Add casts.
+	(fixed2float): Add cast.
+	(sfnt_get_var_ps_name): Make `p' always initialized.
+	Add casts.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add casts.
+
+2017-03-15  Werner Lemberg  <[email protected]>
+
+	[ftfuzzer] Limit number of tested faces and instances.
+
+	This is inspired by the discussion in and analysis of
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=859
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Use only
+	up to 20 face indices.
+	Use only up to 20 instance indices.
+
+2017-03-15  Werner Lemberg  <[email protected]>
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Improve readability; formatting.
+
+2017-03-14  Werner Lemberg  <[email protected]>
+
+	[sfnt] Implement PS names for font instances [3/3].
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): New fields
+	`var_postscript_prefix' and `var_postscript_prefix_len'.
+
+	* src/sfnt/sfdriver.c: Include FT_TRUETYPE_IDS_H.
+	(sfnt_is_alphanumeric): New wrapperfunction for `ft_isalnum'.
+	(get_win_string, get_apple_string): Remove `const' from return
+	value.
+	(MAX_VALUE_DESCRIPTOR_LEN, MAX_PS_NAME_LEN): New macros.
+	(hexdigits): New array.
+	(sfnt_get_var_ps_name): New function, implementing Adobe TechNote
+	5902 to construct a PS name for a variation font instance.
+	(sfnt_get_ps_name): Call `sfnt_get_var_ps_name' for font instances.
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Updated.
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Reset
+	`face->postscript_name' to trigger recalculation for new instance
+	parameters.
+
+2017-03-14  Werner Lemberg  <[email protected]>
+
+	[sfnt] Implement PS names for font instances [2/3].
+
+	* src/sfnt/sfdriver.c (fix2float) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
+	New function to find the shortest representation of a 16.16
+	fractional number.
+
+2017-03-14  Werner Lemberg  <[email protected]>
+
+	[sfnt] Implement PS names for font instances [1/3].
+
+	Add 128bit MurmurHash 3 function.
+
+	Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
+
+	* src/sfnt/sfdriver.c (ROTL32): New macro.
+	(fmix32, murmur_hash_3_128): New functions.
+
+2017-03-13  Werner Lemberg  <[email protected]>
+
+	[truetype] Ignore invalid MVAR tags.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=838
+
+	* src/truetype/ttgxvar.c (ft_var_load_mvar): Ignore value and emit
+	warning for invalid tags.
+	(tt_apply_mvar): Ignore invalid tags.
+
+2017-03-12  Werner Lemberg  <[email protected]>
+
+	[truetype] Store and use design coordinates also.
+
+	* include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func):
+	Add `normalizedcoords' argument.
+
+	* src/truetype/ttgxvar.h (GX_BlendRec): Add `coords' field to store
+	the design coordinates of the current instance.
+	Updated.
+
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Move functionality to...
+	(tt_set_mm_blend): ... New function.
+	Convert data in `normalizedcoords' array to `coords' array on
+	demand.
+	(TT_Set_Var_Design): Store argument data in `coords' array.
+	(TT_Get_Var_Design): Get data from `coords' array.
+	(tt_get_var_blend): Updated.
+	(tt_done_blend): Updated.
+
+	* src/cff/cffload.c, src/cff/cffload.h (cff_get_var_blend): Updated.
+
+	* src/cff/cf2ft.c (cf2_getNormalizedVector): Updated.
+
+	* src/cff/cffobjs.c (cff_face_init): Updated.
+
+2017-03-12  Werner Lemberg  <[email protected]>
+
+	src/truetype/ttgxvar.[ch]: s/avar_checked/avar_loaded/.
+
+2017-03-08  Werner Lemberg  <[email protected]>
+
+	[sfnt] Another fix for buggy variation fonts.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=759
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): While setting number of
+	instances to zero for `CFF' fonts table, ensure that there is no
+	`CFF2' present also (which gets priority).
+
+2017-03-07  Werner Lemberg  <[email protected]>
+
+	[sfnt] Improve handling for buggy variation fonts.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=738
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): While setting number of
+	instances to zero for `CFF' fonts table, ensure that there is no
+	`glyf' table present also (which gets priority).
+
+2017-03-06  Werner Lemberg  <[email protected]>
+
+	[sfnt, truetype] Always provide default instance.
+
+	As documented in the OpenType specification, an entry for the
+	default instance may be omitted in the named instance table.  In
+	particular this means that even if there is no named instance table
+	in the font we actually do have a named instance, namely the default
+	instance.
+
+	For consistency, we always want the default instance in our list of
+	named instances.  If it is missing, we try to synthesize it.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Check whether the default
+	instance is in the table of named instances.  Otherwise adjust
+	number of instances.
+
+	* src/truetype/ttgxvar.c: Include FT_TRUETYPE_IDS_H.
+	(TT_Get_MM_Var): Use `face->root.style_flags' as the number of named
+	instances.
+	Sythesize a named instance entry if necessary.
+	(tt_done_blend): Free `normalized_stylecoords'.
+
+2017-03-05  Werner Lemberg  <[email protected]>
+
+	[sfnt] Remove redundant code.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Remove second test for
+	`num_instances', which will always succeed.
+
+2017-03-04  Werner Lemberg  <[email protected]>
+
+	[sfnt] Add `get_name_id' service.
+
+	* include/freetype/internal/sfnt.h (TT_Get_Name_ID_Func): New
+	typedef.
+	(SFNT_Interface): Add `get_name_id' field.
+	(FT_DEFINE_SFNT_INTERFACE): Updated.
+
+	* src/sfnt/sfdriver.c (search_name_id): Rename to...
+	(sfnt_get_name_id): ... this.
+	(sfnt_get_ps_name, sfnt_interface): Updated.
+
+2017-03-04  Werner Lemberg  <[email protected]>
+
+	[truetype] Make `TT_Set_MM_Blend' set named instance index.
+
+	* src/truetype/ttgxvar.h (GX_Blend): New array
+	`normalized_stylecoords'.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Allocate and fill
+	`normalized_stylecoords'.
+	(TT_Set_MM_Blend): Check instance tuple and adjust `face_index'
+	accordingly.
+
+2017-03-02  Werner Lemberg  <[email protected]>
+
+	[truetype] Split off designer/normalized conversion routines.
+
+	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Split off conversion
+	code designer->normalized coordinates to...
+	(ft_var_to_normalized): ... New function.
+	(TT_Get_Var_Design): Split off conversion code normalized->designer
+	coordinates to...
+	(ft_var_to_design): ... New function.
+
+2017-02-28  Werner Lemberg  <[email protected]>
+
+	[sfnt] Further generalize `sfnt_get_ps_name'; report invalid data.
+
+	* src/sfnt/sfdriver.c (sfnt_ps_map): New array.
+	(sfnt_is_postscript): New function.
+	(char_type_func): New typedef.
+	(get_win_string, get_apple_string): Add argument to specify
+	character checking function.
+	Add argument whether argument checking failures should be reported.
+	Update callers.
+	(search_name_id): Fix return value.
+
+2017-02-23  Werner Lemberg  <[email protected]>
+
+	[sfnt] Split off another bit of `sfnt_get_ps_name'.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Split off some
+	functionality into...
+	(search_name_id): ... New function.
+
+2017-02-23  Werner Lemberg  <[email protected]>
+
+	[sfnt] Modularize `sfnt_get_ps_name'.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Split off some
+	functionality into...
+	(IS_WIN, IS_APPLE): ... New macros.
+	(get_win_string, get_apple_string): ... New functions.
+
+2017-02-23  Werner Lemberg  <[email protected]>
+
+	[truetype] Minor improvement.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Remove unnecessary tests.
+
+2017-02-23  Werner Lemberg  <[email protected]>
+
+	* include/freetype/internal/tttypes.h (TT_Face): s/isCFF2/is_cff2/.
+
+	For orthogonality with other structure field names.
+
+	Update all users.
+
+2017-02-22  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_hline): Improve code.
+
+2017-02-20  Dominik Röttsches  <[email protected]>
+
+	Fix some `ttnameid.h' entries (#50313).
+
+	* include/freetype/ttnameid.h:
+	s/TT_MS_LANGID_SPANISH_INTERNATIONAL_SORT/TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT/,
+	s/TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIA/TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN/.
+
+2017-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Finish support for `random' operator.
+
+	* src/cff/cfftypes.h (CFF_SubFontRec): Add `random' field.
+
+	* src/cff/cffobjs.c: Updated.
+	(cff_driver_init): Initialize random seed value.
+
+	* src/cff/cffload.c (cff_random): New function.
+	(cff_subfont_load): Add `face' argument.
+	Update all callers.
+	Initialize random number generator with a proper seed value.
+	(cff_font_load): Add `face' argument.
+	Update all callers.
+
+	* src/cff/cffload.h: Updated.
+
+	* src/cff/cf2intrp.c (CF2_FIXME): Removed.
+	(cf2_interpT2CharString) <cf2_escRANDOM>: Implement opcode.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Don't
+	initialize random seed value.
+	<cff_op_random>: Use new random seed framework.
+
+2017-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Sanitize `initialRandomSeed'.
+
+	* src/cff/cffload.c (cff_load_private_dict): Make
+	`initial_random_seed' value always positive.
+
+2017-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Introduce `random-seed' property (2/2).
+
+	* src/base/ftobjs.c: Include `FT_CFF_DRIVER_H'.
+	(open_face): Initialize `face->internal->random_seed'.
+	(FT_Face_Properties): Handle `FT_PARAM_TAG_RANDOM_SEED'.
+
+	* src/cff/cffdrivr.c (cff_property_set): Handle `random-seed'
+	property.
+
+2017-02-20  Werner Lemberg  <[email protected]>
+
+	[cff] Introduce `random-seed' property (1/2).
+
+	We need this for support of the `random' operator.
+
+	* include/freetype/ftcffdrv.h (FT_PARAM_TAG_RANDOM_SEED): New macro.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+	field `random_seed'.
+
+	* src/cff/cffobjs.h (CFF_DriverRec): New field `random_seed'.
+
+2017-02-17  Werner Lemberg  <[email protected]>
+
+	Remove clang warnings.
+
+	* src/autofit/aflatin.c (af_latin_sort_blue): Add missing `static'
+	keyword.
+
+	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
+	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates):
+	Initialize some variables.
+
+2017-02-16  Nikolaus Waxweiler  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	Add face property for stem darkening.
+
+	* include/freetype/ftautoh.h (FT_PARAM_TAG_STEM_DARKENING): New
+	macro.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
+	`no_stem_darkening' field.
+
+	* src/autofit/afloader.c (af_loader_load_glyph),
+	src/autofit/afmodule.c (af_property_set): Updated.
+
+	* src/base/ftobjs.c: Include FT_AUTOHINTER_H.
+	(ft_open_face_internal): Updated.
+	(FT_Face_Properties): Handle FT_PARAM_TAG_STEM_DARKENING.
+
+	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Updated.
+
+	* src/cff/cffdrivr.c (cff_property_set): Updated.
+
+2017-02-16  Nikolaus Waxweiler  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	Add face property for LCD filter weights.
+
+	* include/freetype/ftlcdfil.h (FT_PARAM_TAG_LCD_FILTER_WEIGHTS,
+	FT_LCD_FILTER_FIVE_TAPS): New macros.
+	(FT_LcdFiveTapFilter): New typedef.
+
+	* include/freetype/ftobjs.h (FT_Face_InternalRec)
+	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add `lcd_weights' field.
+	(FT_Bitmap_LcdFilterFunc): Change third argument to weights array.
+	(ft_lcd_filter_fir): New prototype.
+	(FT_LibraryRec): Updated.
+
+	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Renamed to...
+	(ft_lcd_filter_fir): ... this base function.
+	Updated.
+	(_ft_lcd_filter_legacy): Updated.
+	(FT_Library_SetLcdFilterWeights, FT_Library_SetLcdFilter): Updated.
+
+	* src/base/ftobjs.c (ft_open_face_internal): Updated.
+	(FT_Face_Properties): Handle FT_PARAM_TAG_LCD_FILTER_WEIGHTS.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
+	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Handle LCD weights from
+	`FT_Face_Internal'.
+
+2017-02-14  Nikolaus Waxweiler  <[email protected]>
+	    Werner Lemberg  <[email protected]>
+
+	Add new function `FT_Face_Properties'.
+
+	This commit provides the framework, to be filled with something
+	useful in the next commits.
+
+	* include/freetype/freetype.h (FT_Face_Properties): Declare.
+
+	* src/base/ftobjs.c (FT_Face_Properties): New function.
+
+2017-02-13  Werner Lemberg  <[email protected]>
+
+	[autofit] Prevent overlapping blue zones.
+
+	Problem reported as
+
+	  https://github.com/google/fonts/issues/632
+
+	The font in question (Nunito) has values 705 and 713 for the
+	reference and overshoot values, respectively, of the first blue
+	zone.  Blue zone 2, however, has value 710 for both the reference
+	and overshoot.  At 12ppem, reference and overshoot of blue zone 0
+	becomes 8px, while blue zone 2 becomes 9px.
+
+	A peculiarity of this font is that the tops of isolated vertical
+	stems like `N' have a slight overshoot also.  The auto-hinter tries
+	to find the nearest blue zone using the *original* coordinates.  For
+	vertical stems, this is value 713.  For normal horizontal tops like
+	in character `E', this is value 710.  Since value 713 is mapped to
+	8px but value 710 to 9px, `N' and similar characters are one pixel
+	higher than `E', which looks very bad.
+
+	This commit sanitizes blue zones to avoid such a behaviour.
+
+	* src/autofit/aflatin.c (af_latin_sort_blue): New function.
+	(af_latin_metrics_init_blues): Sort blue values and remove overlaps.
+
+2017-02-12  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_sweep): Improve code.
+
+2017-02-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Implement `VVAR' table support.
+
+	* src/truetype/ttgxvar.h (GX_HVarTable): Renamed to...
+	(GX_HVVarTable): ...This.
+	(GX_Blend): Add fields for `VVAR' table handling.
+	Other minor updates.
+
+	* src/truetype/ttgxvar.c (ft_var_load_hvar): Renamed to...
+	(ft_var_load_hvvar): ...This.
+	Handle VVAR loading also (controlled by an additional parameter).
+	(tt_hadvance_adjust): Renamed to...
+	(tt_hvadvance_adjust): ...This.
+	Handle application of advance height also (controlled by an
+	additional parameter).
+	(tt_hadvance_adjust, tt_vadvance_adjust): Wrappers for
+	`tt_hvadvance_adjust'.
+
+	* src/truetype/ttdriver.c (tt_service_metrics_variations): Updated.
+
+2017-02-05  Werner Lemberg  <[email protected]>
+
+	[autofit] Use better blue zone characters for lowercase latin.
+
+	The number of lowercase characters for computing the top flat blue
+	zone value was too small (in most cases only `x' and `z').  If one
+	of the two characters has a large serif, say, it can happen that
+	FreeType must select between two different values, having a 50%
+	chance to use the wrong one.  As a result, rendering at larger PPEM
+	values could yield uneven lowercase glyph heights.
+
+	Problem reported by Christoph Koeberlin <[email protected]>.
+
+	* src/autofit/afblue.dat (AF_BLUE_STRING_LATIN_SMALL): Replaced
+	with...
+	(AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_STRING_LATIN_SMALL_BOTTOM):
+	... New, extended sets.
+	(AF_BLUE_STRINGSET_LATN): Updated.
+
+	* src/autofit/afblue.c, scr/autofit/afblue.h: Regenerated.
+
+2017-02-04  Werner Lemberg  <[email protected]>
+
+	Make `freetype-config' a wrapper of `pkg-config' if possible.
+
+	Based on ideas taken from
+
+	  https://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-multilib.patch
+	  https://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-2.5.3-freetype-config-prefix.patch
+
+	* builds/unix/freetype-config.in: Rewritten.  Use `pkg-config' to
+	set output variables if program is available.
+
+	* docs/CHANGES, docs/freetype-config.1: Updated.
+
+2017-02-04  Werner Lemberg  <[email protected]>
+
+	* builds/unix/unix-def.in (freetype-config): Fix permissions.
+
+2017-02-03  Werner Lemberg  <[email protected]>
+
+	* src/autofit/afglobal.c (af_face_globals_free): Erase useless code.
+
+2017-02-03  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ftgasp.h (FT_GASP_SYMMETRIC_GRIDFIT): Fix value.
+
+	Reported by Behdad.
+
+2017-02-02  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix MVAR post-action handling.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=509
+
+	* src/truetype/ttobjs.c (tt_size_reset): Do nothing for CFF2.  This
+	is important to make `tt_size_reset_iterator' (called in
+	`tt_apply_mvar') always work.
+
+2017-02-02  Werner Lemberg  <[email protected]>
+
+	Make compilation with FT_CONFIG_OPTION_PIC work again.
+
+	All code committed here is guarded with `FT_CONFIG_OPTION_PIC'.
+
+	* include/freetype/internal/services/svmetric.h
+	(FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Remove trailing semicolon.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_edges,
+	af_latin_hint_edges): Provide `globals' variable.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Remove shadowing
+	variable.
+
+	* src/autofit/afmodule.c (AF_SCRIPT_CLASSES_GET,
+	AF_STYLE_CLASSES_GET): Redefine.
+
+	* src/autofit/aftypes.h (AF_DEFINE_WRITING_SYSTEM_CLASS): Fix typo.
+
+	* src/cff/cffparse.c (CFF_FIELD_BLEND): Provide it.
+
+	* src/cff/cffpic.h (CffModulePIC): Fix typo.
+
+2017-01-31  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_render_scanline): Improve code.
+
+2017-01-31  Werner Lemberg  <[email protected]>
+
+	[cff] Provide metrics variation service interface (#50196).
+
+	Only now I've got an OTF with an HVAR table for testing...
+
+	The code in `ftmm.c' uses `FT_FACE_LOOKUP_SERVICE' to get the
+	metrics variations interface.  However, this didn't work with
+	`FT_FACE_FIND_GLOBAL_SERVICE' used in `sfnt_init_face'.
+
+	* src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
+	(cff_hadvance_adjust, cff_metrics_adjust): Wrapper functions for
+	metric service functions from the `truetype' module.
+	(cff_service_metrics_variations): New service.
+	(cff_services): Updated.
+
+	* src/cff/cffpic.h (CFF_SERVICE_METRICS_VAR_GET): New macro.
+	[FT_CONFIG_OPTION_PIC]: Synchronize code.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Replace call to
+	FT_FACE_FIND_GLOBAL_SERVICE with `ft_module_get_service' to always
+	load the service from the `truetype' module.
+
+2017-01-31  Werner Lemberg  <[email protected]>
+
+	Add framework to support services with 9 functions.
+
+	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC9):
+	New macro.
+
+2017-01-31  Werner Lemberg  <[email protected]>
+
+	[base] Fix error handing in MM functions.
+
+	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
+	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates):
+	Implement it.
+
+2017-01-31  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix sanity check for `gvar' table (#50184).
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): There might be missing
+	variation data for some glyphs.
+
+2017-01-31  Werner Lemberg  <[email protected]>
+
+	[autofit] Avoid uninitialized jumps (#50191).
+
+	* src/autofit/afcjk.c (af_cjk_metrics_check_digits),
+	src/autofit/aflatin.c (af_latin_metrics_check_digits): Initialize
+	`advance'.
+
+2017-01-27  Werner Lemberg  <[email protected]>
+
+	s/GB2312/PRC/.
+
+	* include/freetype/freetype.h (FT_ENCODING_PRC): New enum value.
+	(FT_ENCODING_GB2312): Deprecated.
+
+	* include/freetype/ttnameid.h (TT_MS_ID_PRC): New macro.
+	(TT_MS_ID_GB2312): Deprecated.
+
+	* src/sfnt/sfobjs.c (sfnt_find_encoding): Updated.
+
+	* docs/CHANGES: Updated.
+
+2017-01-26  Werner Lemberg  <[email protected]>
+
+	[base] Add `FT_Get_Sfnt_LangTag' function.
+
+	* include/freetype/ftsnames.h (FT_SfntLangTag): New structure.
+	(FT_Get_Sfnt_LangTag): New declaration.
+
+	* src/base/ftsnames.c (FT_Get_Sfnt_LangTag): New function.
+
+	* docs/CHANGES: Updated.
+
+2017-01-26  Werner Lemberg  <[email protected]>
+
+	[sfnt] Support `name' table format 1.
+
+	* include/freetype/internal/tttypes.h (TT_LangTagRec): New
+	structure.
+	(TT_NameTableRec): Add fields `numLangTagRecords' and `langTags'.
+
+	* src/sfnt/ttload.c (tt_face_load_name): Add support for language
+	tags.
+	Reduce array size of name strings in case of invalid entries.
+	(tt_face_free_name): Updated.
+
+	* docs/CHANGES: Updated.
+
+2017-01-25  Werner Lemberg  <[email protected]>
+
+	[sfnt] s/TT_NameEntry/TT_Name/.
+
+	* include/freetype/internal/tttypes.h (TT_NameEntryRec): Renamed
+	to...
+	(TT_NameRec): This.
+	(TT_NameTableRec): Updated.
+
+	* src/base/ftsnames.c (FT_Get_Sfnt_Name): Updated.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Updated.
+
+	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
+	tt_name_entry_ascii_from_other): Renamed to...
+	(tt_name_ascii_from_utf16, tt_name_entry_ascii_from_other): This,
+	respectively.
+	(TT_NameEntry_ConvertFunc): Renamed to...
+	(TT_Name_ConvertFunc): This.
+	(tt_face_get_name): Updated.
+
+	* src/sfnt/ttload.c (tt_face_load_name, tt_face_free_name):
+	Updated.
+
+2017-01-24  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix Postscript name service for symbol fonts.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Accept PID/EID=3/0
+	entries also.
+
+2017-01-24  Werner Lemberg  <[email protected]>
+
+	[truetype] For OpenType 1.7: s/preferred/typographic/ (sub)family.
+
+	* include/freetype/ftsnames.h
+	(FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY,
+	FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY): New macros.
+	(FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
+	FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Deprecated.
+
+	* include/freetype/ttnameid.h (TT_NAME_ID_TYPOGRAPHIC_FAMILY,
+	TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY): New macros.
+	(TT_NAME_ID_PREFERRED_FAMILY, TT_NAME_ID_PREFERRED_SUBFAMILY):
+	Deprecated.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Updated.
+
+	* docs/CHANGES: Updated.
+
+2017-01-23  Werner Lemberg  <[email protected]>
+
+	[base] Add `FT_Set_Default_Properties' (#49187).
+
+	* include/freetype/ftmodapi.h: Add declaration.
+
+	* src/base/ftinit.c (ft_set_default_properties): Renamed to...
+	(FT_Set_Default_Properties): ... this.
+	(FT_Init_FreeType): Updated.
+
+	* docs/CHANGES: Updated.
+
+2017-01-23  Werner Lemberg  <[email protected]>
+
+	[truetype] Minor updates for OpenType 1.8.1.
+
+	* src/truetype/ttgxvar.h (GX_MVarTable): `axisCount' has been
+	removed from the specification; it is now reserved.
+
+	* src/truetype/ttgxvar.c (ft_var_load_mvar): Updated.
+	(GX_FVar_Head): Remove `countSizePairs'; the corresponding data
+	field in the `MVAR' table is now reserved.
+	(fvar_fields): Updated.
+
+2017-01-23  Werner Lemberg  <[email protected]>
+
+	[truetype] Avoid segfault for invalid variation data.
+
+	* src/truetype/ttgxvar.c (ft_var_load_item_variation_store): Assure
+	`itemCount' is not zero.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=441
+
+2017-01-20  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Adjust loop detector limits.
+
+2017-01-17  Werner Lemberg  <[email protected]>
+
+	* include/freetype/ttnameid.h: Updated to OpenType 1.8.1.
+
+	(TT_APPLE_ID_FULL_UNICODE): New macro.
+
+	(TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC,
+	TT_MS_LANGID_UPPER_SORBIAN_GERMANY,
+	TT_MS_LANGID_LOWER_SORBIAN_GERMANY, TT_MS_LANGID_IRISH_IRELAND,
+	TT_MS_LANGID_INUKTITUT_CANADA_LATIN, TT_MS_LANGID_BASHKIR_RUSSIA,
+	TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG,
+	TT_MS_LANGID_GREENLANDIC_GREENLAND, TT_MS_LANGID_MAPUDUNGUN_CHILE,
+	TT_MS_LANGID_MOHAWK_MOHAWK, TT_MS_LANGID_BRETON_FRANCE,
+	TT_MS_LANGID_OCCITAN_FRANCE, TT_MS_LANGID_CORSICAN_FRANCE,
+	TT_MS_LANGID_ALSATIAN_FRANCE, TT_MS_LANGID_YAKUT_RUSSIA,
+	TT_MS_LANGID_KICHE_GUATEMALA, TT_MS_LANGID_KINYARWANDA_RWANDA,
+	TT_MS_LANGID_WOLOF_SENEGAL, TT_MS_LANGID_DARI_AFGHANISTAN): New
+	macros.
+
+	(TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC): Fix value.
+
+	(TT_MS_LANGID_GERMAN_LIECHTENSTEIN, TT_MS_LANGID_CATALAN_CATALAN,
+	TT_MS_LANGID_CHINESE_MACAO, TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT,
+	TT_MS_LANGID_KOREAN_KOREA, TT_MS_LANGID_ROMANSH_SWITZERLAND,
+	TT_MS_LANGID_SLOVENIAN_SLOVENIA, TT_MS_LANGID_BASQUE_BASQUE,
+	TT_MS_LANGID_SETSWANA_SOUTH_AFRICA,
+	TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA,
+	TT_MS_LANGID_ISIZULU_SOUTH_AFRICA, TT_MS_LANGID_KAZAKH_KAZAKHSTAN,
+	TT_MS_LANGID_KYRGYZ_KYRGYZSTAN, TT_MS_LANGID_KISWAHILI_KENYA,
+	TT_MS_LANGID_TATAR_RUSSIA, TT_MS_LANGID_ODIA_INDIA,
+	TT_MS_LANGID_MONGOLIAN_PRC, TT_MS_LANGID_TIBETAN_PRC,
+	TT_MS_LANGID_WELSH_UNITED_KINGDOM, TT_MS_LANGID_GALICIAN_GALICIAN,
+	TT_MS_LANGID_SINHALA_SRI_LANKA, TT_MS_LANGID_TAMAZIGHT_ALGERIA,
+	TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA, TT_MS_LANGID_YI_PRC,
+	TT_MS_LANGID_UIGHUR_PRC): New aliases.
+
+	Remove commented out code.
+
+	(TT_NAME_ID_LIGHT_BACKGROUND, TT_NAME_ID_DARK_BACKGROUND,
+	TT_NAME_ID_VARIATIONS_PREFIX): New macros.
+
+	(HAVE_LIMIT_ON_IDENTS): Remove macro (which was useless since many
+	years), use guarded long macros by default and define short versions
+	as aliases for the long ones.
+
+2017-01-15  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (tt_apply_var): Handle underline parameters
+	also.
+
+2017-01-11  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (ft_open_face_internal): Improve tracing.
+
+2017-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] Actually use metrics variation service.
+
+	* src/base/ftmm.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
+	(ft_face_get_mvar_service): New auxiliary function to look up
+	metrics variation service.
+	(FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
+	FT_Set_Var_Blend_Coordinates): Call metrics variation service.
+
+	* src/truetype/ttobjs.c (tt_face_init): Use metrics variations for
+	named instances.
+
+2017-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] Provide metrics variation service.
+
+	* include/freetype/internal/services/svmetric.h
+	(FT_Metrics_Adjust_Func): Reduce number of necessary parameters.
+
+	* src/truetype/ttgxvar.c: Include FT_LIST_H.
+	(tt_size_reset_iterator): New auxiliary function for...
+	(tt_apply_var): New function.
+
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/truetype/ttdriver.c (tt_service_metrics_variations): Add
+	`tt_apply_mvar'.
+
+	* include/freetype/internal/ftserv.h (FT_ServiceCache): Add metrics
+	variation service.
+
+2017-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] Parse `MVAR' table.
+
+	* src/truetype/ttgxvar.h (MVAR_TAG_XXX): New macros for MVAR tags.
+	(GX_Value, GX_MVarTable): New structures.
+	(GX_Blend): Add it.
+
+	* src/truetype/ttgxvar.c (GX_VALUE_SIZE, GX_VALUE_CASE,
+	GX_GASP_CASE): New macros.
+	(ft_var_get_value_pointer): New auxiliary function to get a pointer
+	to a value from various SFNT tables already stored in `TT_Face'.
+	(ft_var_load_mvar): New function.
+	(TT_Get_MM_Var): Call it.
+	(tt_done_blend): Updated.
+
+2017-01-11  Werner Lemberg  <[email protected]>
+
+	[truetype] More preparations for MVAR support.
+
+	* src/truetype/ttobjs.c (tt_size_reset): Add argument to make
+	function only recompute ascender, descender, and height.
+
+	* src/truetype/ttobjs.h: Updated.
+
+	* src/truetype/ttdriver.c (tt_size_select, tt_size_request):
+	Updated.
+
+2017-01-09  Werner Lemberg  <[email protected]>
+
+	[pcf] Disable long family names by default.
+
+	* include/freetype/config/ftoption.h
+	(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): Comment out.
+
+2017-01-09  Werner Lemberg  <[email protected]>
+
+	[pcf] Make long family names configurable.
+
+	The change from 2016-09-29 was too radical (except for people using
+	the openSuSE GNU/Linux distribution).  To ameliorate the situation,
+	PCF_CONFIG_OPTION_LONG_FAMILY_NAMES gets introduced which controls
+	the feature; if set, a new PCF property option
+	`no-long-family-names' can be used to switch this feature off.
+
+	* include/freetype/config/ftoption.h, devel/ftoption.h
+	(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): New option.
+
+	* include/freetype/ftpcfdrv.h: New header file (only containing
+	comments currently, used for building the documentation).
+
+	* include/freetype/config/ftheader.h (FT_PCF_DRIVER_H): New macro.
+
+	* src/pcf/pcf.h (PCF_Driver): Add `no_long_family_names' field.
+
+	* src/pcf/pcfdrivr.c: Include FT_SERVICE_PROPERTIES_H and
+	FT_PCF_DRIVER_H.
+	(pcf_property_set, pcf_property_get): New functions.
+	(pcf_service_properties): New service.
+	(pcf_services): Updated.
+	(pcf_driver_init) [PCF_CONFIG_OPTION_LONG_FAMILY_NAMES]: Handle
+	`no_long_family_names'.
+
+	* src/pcf/pcfread.c (pcf_load_font): Handle `no_long_family_names'
+	and PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
+
+	* docs/CHANGES: Updated.
+
+2017-01-09  Werner Lemberg  <[email protected]>
+
+	[pcf] Introduce a driver structure.
+
+	To be filled later on with something useful.
+
+	* src/pcf/pcf.h (PCF_Driver): New structure.
+
+	* src/pcf/pcfdrivr.c (pcf_driver_init, pcf_driver_done): New dummy
+	functions.
+	(pcf_driver_class): Updated.
+
+2017-01-08  Werner Lemberg  <[email protected]>
+
+	[truetype] Again some GX code shuffling.
+
+	We need this later on for MVAR also.
+
+	* src/truetype/ttgxvar.c (tt_hadvance_adjust): Split off computing
+	an item store variation delta into...
+	(ft_var_get_item_delta): ...new function.
+
+2017-01-08  Werner Lemberg  <[email protected]>
+
+	[truetype] Adjust font variation flags for MVAR.
+
+	* include/freetype/internal/tttypes.h (TT_FACE_FLAG_VAR_XXX):
+	Remove all flags related to MVAR; replace it with...
+	(TT_FACE_FLAG_VAR_MVAR): ...this new macro.
+	(TT_Face): Remove `mvar_support' field (which was still unused).
+
+2017-01-06  Werner Lemberg  <[email protected]>
+
+	[truetype] More GX code shuffling.
+
+	We need this later on for MVAR also.
+
+	* src/truetype/ttgxvar.c (tt_done_blend): Split off handling of item
+	variation store into...
+	(ft_var_done_item_variation_store): ...new function.
+
+2017-01-06  Werner Lemberg  <[email protected]>
+
+	[truetype] More generalization of GX stuff.
+
+	We need this later on for MVAR also.
+
+	* src/truetype/ttgxvar.c (ft_var_load_delta_set_index_mapping): Add
+	parameters for delta-set index mapping and item variation store.
+	(ft_var_load_item_variation_store): Add parameter for item variation
+	store.
+	s/hvarData/varData/.
+	Move allocation of `hvar_table' to...
+	(ft_var_load_hvar): ...this function.
+	Updated.
+
+2017-01-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Some GX structure renames for generalization.
+
+	We need this later on for MVAR also.
+
+	* src/truetype/ttgxvar.h (GX_HVarData): Renamed to...
+	(GX_ItemVarData): ...this.
+	(GX_HVarRegion): Renamed to...
+	(GX_VarRegion): ...this.
+	(GX_HVStore): Renamed to...
+	(GX_ItemVarStore): ...this.
+	(GX_WidthMap): Renamed to...
+	(GX_DeltaSetIdxMap): ...this.
+
+	(GX_HVarTable): Updated.
+
+	* src/truetype/ttgxvar.c: Updated.
+
+2017-01-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Code shuffling.
+
+	* src/truetype/ttgxvar.c (ft_var_load_hvar): Split off loading of
+	item variation store and delta set index mapping into...
+	(ft_var_load_item_variation_store,
+	ft_var_load_delta_set_index_mapping): ...new functions.
+
+2017-01-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Add HVAR access without advance width map.
+
+	* src/truetype/ttgxvar.c (ft_var_load_hvar): Handle case where
+	`offsetToAdvanceWidthMapping' is zero.
+	(tt_hadvance_adjust): Implement direct deltaSet access by glyph
+	index.
+
+2017-01-06  Werner Lemberg  <[email protected]>
+
+	[pcf] Revise driver.
+
+	This commit improves tracing and handling of malformed fonts.  In
+	particular, the changes to `pcf_get_properties' fix
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=379
+
+	* src/pcf/pcfread.c (tableNames): Use long names for better
+	readability.
+	(pcf_read_TOC): Allow at most 9 tables.
+	(pcf_get_properties): Allow at most 256 properties.
+	Limit strings array length to 256 * (65536 + 1) bytes.
+	Better tracing.
+	(pcf_get_metric): Trace metric data.
+	(pcf_get_metrics): Allow at most 65536 metrics.
+	Fix comparison of `metrics->ascent' and `metrics->descent' to avoid
+	potential overflow.
+	Better tracing.
+	(pcf_get_bitmaps): Allow at most 65536 bitmaps.
+	Better tracing.
+	(pcf_get_encodings, pcf_get_accel): Better tracing.
+
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Don't trace `format' details.
+	These are now shown by `pcf_get_bitmaps'.
+
+2017-01-04  Werner Lemberg  <[email protected]>
+
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Trace compression format.
+
+2017-01-04  Werner Lemberg  <[email protected]>
+
+	[cff] More consistency checks for pure CFFs.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=378
+
+	* src/cff/cffload.c (cff_font_load): Check element number and size
+	of Name and Top DICT indices.
+
+2017-01-04  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Minor tracing improvement.
+
+	* src/cff/cffobjs.c (cff_face_init), src/truetype/ttobjs.c
+	(tt_face_init): Indent first tracing message from SFNT driver.
+
+2017-01-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Various minor fixes.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check instruction
+	size only if we do native hinting.
+	(TT_Load_Glyph): Trace returned error code.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Trace
+	returned error code.
+	(tt_size_ready_bytecode): Don't run `prep' table if `fpgm' table is
+	invalid.
+
+2017-01-03  Werner Lemberg  <[email protected]>
+
+	[sfnt] Don't fail if PCLT, EBLC (and similar tables) are invalid.
+
+	These tables are optional.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Implement it.
+
+2017-01-03  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffparse.c (cff_parse_num): Simplify.
+
+2017-01-03  Werner Lemberg  <[email protected]>
+
+	Various fixes for clang's undefined behaviour sanitizer.
+
+	* src/cff/cffload.c (FT_fdot14ToFixed): Fix casting.
+	(cff_blend_doBlend): Don't left-shift negative numbers.
+	Handle 5-byte numbers byte by byte to avoid alignment issues.
+
+	* src/cff/cffparse.c (cff_parse_num): Handle 5-byte numbers byte by
+	byte to avoid alignment issues.
+
+	* src/cid/cidload (cid_read_subrs): Do nothing if we don't have any
+	subrs.
+
+	* src/psaux/t1decode.c (t1_decode_parse_charstring): Fix tracing.
+
+	* src/tools/glnames.py (main): Put `DEFINE_PSTABLES' guard around
+	definition of `ft_get_adobe_glyph_index'.
+
+	* src/psnames/pstables.h: Regenerated.
+
+	* src/psnames/psmodule.c: Include `pstables.h' twice to get both
+	declaration and definition.
+
+	* src/truetype/ttgxvar.c (FT_fdot14ToFixed, FT_intToFixed): Fix
+	casting.
+
+2017-01-01  Werner Lemberg  <[email protected]>
+
+	[cff] Handle multiple `blend' operators in a row correctly.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=368
+
+	* src/cff/cffload.c (cff_blend_doBlend): Adjust `parser->stack'
+	pointers into `subFont->blend_stack' after reallocation.
+
+2017-01-01  Werner Lemberg  <[email protected]>
+
+	[sfnt] Return correct number of named instances for TTCs.
+
+	Without this patch, requesting information for face index N returned
+	the data for face index N+1 (or index 0).
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Correctly adjust `face_index'
+	for negative `face_instance_index' values.
+
+2016-12-31  Werner Lemberg  <[email protected]>
+
+	*/*: Use hex numbers for errors in tracing messages.
+
+2016-12-31  Werner Lemberg  <[email protected]>
+
+	[truetype] Check axis count in HVAR table.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=362
+
+	* src/truetype/ttgxvar.c (ft_var_load_hvar): Check axis count.
+	(ft_var_load_avar): Fix tracing message.
+
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2016-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
--- /dev/null
+++ b/docs/oldlogs/ChangeLog.29
@@ -1,0 +1,2352 @@
+2018-05-01  Werner Lemberg  <[email protected]>
+
+	* Version 2.9.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-9-1'.
+
+	* docs/VERSION.TXT: Add entry for version 2.9.1.
+	* docs/CHANGES: Updated.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	src/base/ftver.rc, builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.9/2.9.1/, s/29/291/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 22:1:16.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+	* include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
+
+2018-04-26  Werner Lemberg  <[email protected]>
+
+	Another fix for handling invalid format 2 cmaps.
+
+	Sigh.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
+	an endless loop.
+
+2018-04-24  Ben Wagner  <[email protected]>
+
+	[base] Avoid undefined behaviour in lcd filtering code (#53727).
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Ensure `height > 0'.
+
+2018-04-22  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
+
+2018-04-22  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Fix bitmap emboldening.
+
+	Bug introduced after release 2.8.
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
+	`FT_QALLOC_MULT', which doesn't zero out the buffer.  Adjust the
+	bitmap copying code to take care of this fact.
+
+2018-04-22  Werner Lemberg  <[email protected]>
+
+	Another fix for handling invalid format 2 cmaps.
+
+	The previous commit was incomplete.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
+	an endless loop.
+
+2018-04-19  Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Georgian Mtavruli characters.
+
+	This will be part of the forthcoming Unicode 11.0.
+
+	* src/autofit/afblue.dat: Add blue zone data for Mtavruli.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Mtavruli standard character.
+
+2018-04-18  Werner Lemberg  <[email protected]>
+
+	Fix handling of invalid format 2 cmaps.
+
+	The problem was introduced after the last release.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
+
+2018-04-17  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
+
+	* src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
+
+2018-04-16  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
+
+	* src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
+
+2018-04-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Use `info' function of make 3.81.
+
+	* configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
+	docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
+
+	* builds/detect.mk (std_setup): Replace `echo' with `info'.
+	(dos_setup): Removed.
+	* builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
+	builds/windows/detect.mk, builds/os2/detect.mk: Updated.
+	* builds/newline: No longer needed.
+
+2018-04-15  Werner Lemberg  <[email protected]>
+
+	[truetype]: Limit `SLOOP' bytecode argument to 16 bits.
+
+	This fixes
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
+
+	* src/truetype/ttinterp.c (Ins_SLOOP): Do it.
+
+2018-04-14  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
+
+	* src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
+
+2018-04-14  Werner Lemberg  <[email protected]>
+
+	[autofit] Update to Unicode 11.0.0.
+
+	But no support new scripts (volunteers welcomed).
+
+	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
+	af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
+	af_deva_nonbase_uniranges, af_geor_uniranges,
+	af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
+	af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
+	af_hani_uniranges): Add new data.
+
+2018-04-10  Nikolaus Waxweiler  <[email protected]>
+
+	* CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
+	modernization measures.
+
+	This brings up the minimum required CMake version to 2.8.12.
+
+	The installation paths follow the GNU defaults now, e.g. installing on a
+	64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
+
+	Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
+
+	CMake will no longer look for a C++ compiler.
+
+	Library and .so version now match the Autotools build.
+
+	Comments in the build file and informational messages now use platform
+	agnostic example commands.
+
+	ftoption.h and ftconfig.h are written directly without a redundant `-new'
+	copy.
+
+	External dependencies are expressed as option()s and will turn up as such
+	in cmake-gui.
+
+	Internal: Properties such as dependencies and include directories are now
+	privately set on the freetype library instead of globally.
+
+	The CPack definitions have been cleaned up, the `make dist' has been
+	removed. Source packages generated with CPack don't contain Autotools
+	files and aren't used by the maintainers anyway.
+
+	On Windows, src/base/ftver.rc is compiled to decorate the library with
+	version and copyright information.
+
+	A pkg-config file is now generated and installed.
+
+2018-04-09  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
+
+	* src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
+	ADD_LONG and SUB_LONG.
+
+2018-04-06  Alexei Podtelezhnikov  <[email protected]>
+
+	[windows, wince] Clean up legacy project files.
+
+	* builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
+
+2018-04-04  Werner Lemberg  <[email protected]>
+
+	[cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
+
+	* src/cff/cffload.c (cff_load_private_dict): Sanitize
+	`priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
+	on.
+
+	* src/type1/t1load.c (T1_Open_Face): Ditto.
+
+2018-04-04  Ben Wagner  <[email protected]>
+
+	* src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
+	`DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
+	(tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
+	in above.
+
+2018-04-01  Werner Lemberg  <[email protected]>
+
+	* builds/toplevel.mk (work): Use $(SEP).
+
+	This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
+	platform, and this program only understands backslashes in paths.
+
+	Reported by Nikhil Ramakrishnan <[email protected]>.
+
+2018-03-30  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix memory leak (only if tracing is on).
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
+	it.
+
+2018-03-23  Ben Wagner  <[email protected]>
+
+	[sfnt] Correctly handle missing bitmaps in sbix format (#53404).
+
+	* src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
+
+2018-03-23  Ben Wagner  <[email protected]>
+
+	[truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
+	for empty bitmaps.
+
+2018-03-22  Werner Lemberg  <[email protected]>
+
+	Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
+
+	builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt,
+	builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/freetype.vcxproj.filters,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
+
+2018-03-13  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
+	overflow.
+
+2018-03-13  Werner Lemberg  <[email protected]>
+
+	Fix cmap format 2 handling (#53320).
+
+	The patch introduced for #52646 was not correct.
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
+
+2018-03-10  Nikolaus Waxweiler  <[email protected]>
+
+	* CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
+
+2018-03-09  Chun-wei Fan  <[email protected]>
+
+	* CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
+
+	Do not limit DLL builds to MinGW, since we already have
+	`__declspec(dllexport)' directives in `ftconfig.h'.
+	Also suppress more warnings for POSIX functions.
+
+2018-03-08  Hugh McMaster  <[email protected]>
+
+	Make installation of `freetype-config' optional (#53093).
+
+	* builds/unix/configure.raw: Add option `--enable-freetype-config'
+	and set `INSTALL_FT2_CONFIG'.
+	* builds/unix/unix-def.in (INSTALL_FT2_CONFIG): Define.
+	* builds/unix/install.mk (install): Handle it.
+
+2018-03-05  Werner Lemberg  <[email protected]>
+
+	Make `ftlcdfil.c' part of the `base' module.
+
+	`ftobjs.c' needs `ft_lcd_padding'.
+
+	Problem reported by duhuanpeng <[email protected]>.
+
+	* modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
+
+	* src/base/ftbase.c: Include `ftlcdfil.c'.
+	* src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
+	* src/base/Jamfile (_sources): Adjusted.
+
+	* docs/INSTALL.ANY: Updated.
+
+2018-03-05  Werner Lemberg  <[email protected]>
+
+	Make `ftfntfmt.c' part of the `base' module.
+
+	`ftobjs.c' needs `FT_Get_Font_Format'.
+
+	Problem reported by duhuanpeng <[email protected]>.
+
+	* modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
+
+	* src/base/ftbase.c: Include `ftfntfmt.c'.
+	* src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
+	* src/base/Jamfile (_sources): Adjusted.
+
+	* docs/INSTALL.ANY: Updated.
+
+2018-03-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
+
+2018-02-23  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
+
+	Problem reported by Alan Coopersmith <[email protected]>.
+
+2018-02-17  Werner Lemberg  <[email protected]>
+
+	[sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
+
+2018-02-06  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
+
+	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
+	SUB_LONG; avoid FT_ABS.
+
+2018-02-04  Alexei Podtelezhnikov  <[email protected]>
+
+	[unix] Use -fvisibility=hidden.
+
+	It is now widely recommended that ELF shared libraries hide symbols
+	except those with explicit __attribute__((visibility("default"))).
+	This is supported by all major compilers and should rather be an
+	option in libtool.
+
+	* builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
+	attribute.
+
+2018-01-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Better protection against invalid VF data.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
+
+	Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
+
+	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
+	`normalizedcoords'.
+
+2018-01-27  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
+
+2018-01-27  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
+
+2018-01-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Better trace VF instances.
+
+	* src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
+	of coordinates.
+	(TT_Get_MM_Var): Trace instance indices names.
+	(TT_Set_Var_Design): Updated.
+
+2018-01-27  Werner Lemberg  <[email protected]>
+
+	[truetype] Beautify tracing of VF axis records.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
+	table-like manner.
+
+2018-01-26  Ben Wagner  <[email protected]>
+
+	[truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
+	`face->blend->num_axis' in case we have to initialize the
+	`face->blend'.
+
+2018-01-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[apinames] Anonymous version map for GNU linker.
+
+	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
+	(OutputFormat): Add `OUTPUT_GNU_VERMAP'.
+	(names_dump): Handle it.
+	(usage): Updated.
+	(main): Handle new command line flag `-wL'.
+
+2018-01-21  Alexei Podtelezhnikov  <[email protected]>
+
+	[unix] Call libtool to clean up.
+
+	* builds/unix/install.mk (clean_project_unix, distclean_project_unix):
+	Use libtool.
+	* builds/freetype.mk: Minor.
+
+2018-01-18  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftver.rc: Fix mingw-w64 compilation.
+
+2018-01-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Enable VERSIONINFO resource for Cygwin/MinGW.
+
+	* builds/unix/configure.raw: Check for resource compiler.
+	* builds/unix/unix-cc.in: Conditionally set up resource compiler.
+	* builds/freetype.mk: Add conditional rule for `ftver.rc'.
+	* src/base/ftver.rc: Copyright notice and year update.
+
+2018-01-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Move VERSIONINFO resource.
+
+	* builds/windows/vc2010/freetype.vcxproj: Updated.
+	* builds/windows/ftver.rc: Move file from here...
+	* src/base/ftver.rc: ... to here.
+
+2018-01-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Expand dllexport/dllimport to Cygwin/MinGW.
+
+	* include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
+	s/_MSC_VER/_WIN32/.
+	* builds/unix/ftconfig.in: Replicate here.
+	* builds/vms/ftconfig.h: Replicate here.
+
+2018-01-12  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Improve and document MSVC build.
+
+	* include/freetype/config/ftconfig.h: Guard dllexport/dllimport
+	attributes with _DLL and FT2_DLLIMPORT.
+	* builds/windows/vc2010/index.html: Update documentation.
+
+2018-01-10  Steve Robinson  <[email protected]>
+
+	* CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
+
+2018-01-10  Ewald Hew  <[email protected]>
+
+	[psaux] Correctly handle Flex features (#52846).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
+	cf2_cmdHMOVETO>: Do not move if doing Flex.
+
+2018-01-09  Alexei Podtelezhnikov  <[email protected]>
+
+	* builds/windows/vc2010/freetype.sln: Synchronize with the project.
+
+2018-01-08  Werner Lemberg  <[email protected]>
+
+	* Version 2.9 released.
+	=======================
+
+
+	Tag sources with `VER-2-9'.
+
+	* docs/VERSION.TXT: Add entry for version 2.9.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/windows/ftver.rc,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.8.1/2.9/, s/281/29/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 22:0:16.
+	* CMakeLists.txt (VERSION_PATCH): Set to 0.
+
+2018-01-07  Werner Lemberg  <[email protected]>
+
+	Add check for librt, needed for `ftbench' (#52824).
+
+	* builds/unix/configure.raw (LIB_CLOCK_GETTIME): Define; this will
+	hold `-lrt' if necessary.
+
+	* builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
+
+2018-01-07  Ewald Hew  <[email protected]>
+
+	[psaux] Fix Type 1 glyphs with too many stem hints.
+
+	According to the CFF specification, charstrings can have up to 96 stem
+	hints. Due to hint replacement routines in Type 1 charstrings, some
+	glyphs are rejected by the Adobe engine, which implements the above
+	limit. This fix turns off hinting for such glyphs.
+
+	* src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
+	`cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
+	hinting.
+
+2018-01-06  Werner Lemberg  <[email protected]>
+
+	Add `FT_Done_MM_Var'.
+
+	This is necessary in case the application's memory routines differ
+	from FreeType.  A typical example is a Python application on Windows
+	that calls FreeType compiled as a DLL via the `ctypes' interface.
+
+	* include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
+	and define.
+
+	* docs/CHANGES: Updated.
+
+2018-01-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Round offsets of glyph components only if hinting is on.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
+	it.
+
+2018-01-03  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
+
+	This is a better fix than the previous commit, which is now
+	reverted.
+
+2018-01-03  Alexei Podtelezhnikov  <[email protected]>
+
+	Move internal LCD-related declarations.
+
+	* include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
+	Move from here...
+	* include/freetype/internal/ftobjs.h: ... to here.
+
+2018-01-03  Alexei Podtelezhnikov  <[email protected]>
+
+	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
+	[_MSC_VER]: Limit Visual C++ attributes.
+
+2018-01-03  Werner Lemberg  <[email protected]>
+
+	[truetype] Make blend/design coordinate round-tripping work.
+
+	Behdad reported that setting blend coordinates, then getting design
+	coordinates did incorrectly return the default instance's
+	coordinates.
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
+
+2017-12-31  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
+
+2017-12-31  Werner Lemberg  <[email protected]>
+
+	Synchronize other Windows project files.
+
+	* builds/windows/*: Add missing files.
+
+2017-12-31  Werner Lemberg  <[email protected]>
+
+	Update Visual C 2010 project files.
+
+	Problem reported by Hin-Tak.
+
+	* builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
+	`ftcid.c'.
+	Sort entries.
+	* builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
+	Fix members of `FT_MODULE' group.
+
+2017-12-30  Werner Lemberg  <[email protected]>
+
+	* builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
+
+2017-12-28  Werner Lemberg  <[email protected]>
+
+	* builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
+
+	Reported by Nikolaus.
+
+2017-12-27  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
+	`new_pitch' unsigned.
+
+	* src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
+
+2017-12-27  Werner Lemberg  <[email protected]>
+
+	Fixes for `make multi'.
+
+	* include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
+	(ps_property_get): Harmonize declaration with corresponding
+	function typedef.
+
+	* include/freety[e/internal/fttrace.h: Add `trace_psprops'.
+
+	* src/base/ftpsprop.c: Include necessary header files.
+	(FT_COMPONENT): Define.
+	(ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
+	(ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
+	Harmonize declaration with corresponding function typedef.
+
+2017-12-27  Werner Lemberg  <[email protected]>
+
+	Provide support for intra-module callback functions.
+
+	This is needed especially for `make multi' with C++.
+
+	* include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
+	FT_BASE_CALLBACK_DEF): New macros.
+
+2017-12-25  Ewald Hew  <[email protected]>
+
+	Move PostScript drivers' property handlers to `base'.
+
+	This reduces the amount of duplicated code across PostScript
+	drivers.
+
+	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
+	({cff,cid,t1}_property_{get,set}): Moved to...
+	* include/freetype/internal/ftpsprop.h: ...this new file.
+	(ps_property_{get,set}): New functions to replace moved ones.
+
+	* src/base/ftpsprop.c: New file that implements above functions.
+
+	* include/freetype/internal/internal.h
+	(FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro.
+
+	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c:
+	Updated.
+
+	* src/base/Jamfile, src/base/rules.mk (BASE_SRC), src/base/ftbase.c:
+	Updated.
+
+2017-12-20  Werner Lemberg  <[email protected]>
+
+	Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
+
+	We exit early if the current design or blend coordinates are
+	identical to the new ones.
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
+	Implement it, returning internal error code -1 if there will be no
+	variation change.
+
+	* src/type1/t1load.c (t1_set_mm_blend): Ditto.
+
+	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
+	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
+
+2017-12-18  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix charmap type 2 iterator (#52646).
+
+	The subsetted demo font of the report that exhibits the bug has a
+	very unusual type 2 cmap for Unicode(!): It contains only two
+	sub-headers, one for one-byte characters (covering the range 0x20 to
+	0xFA), and a second one for higher byte 0x01 (just for character
+	code U+0131).
+
+	Before this commit, the iterator wasn't able to correctly handle a
+	sub-header for higher byte 0x01.
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
+	for outer loop.
+
+2017-12-18  Matthias Clasen  <[email protected]>
+
+	[truetype] Fix clamping, minor tracing code beautification.
+
+	* src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
+	design coordinates.
+	Use clamped value.
+
+2017-12-18  Werner Lemberg  <[email protected]>
+
+	* src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
+
+2017-12-18  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
+
+2017-12-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix previous commit.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
+	unhinted phantom points, which must be properly scaled.
+
+2017-12-18  Werner Lemberg  <[email protected]>
+
+	[truetype] Don't apply HVAR and VVAR deltas twice (#52683).
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
+	`pp1' to `pp4', except if we have an HVAR and/or VVAR table.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
+	alternative code branch identically w.r.t. presence of an HVAR
+	and/or VVAR table.
+
+2017-12-17  Jonathan Kew  <[email protected]>
+
+	[truetype] Correctly handle variation font phantom points (#52683).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
+	point indices.
+
+2017-12-17  Jonathan Kew  <[email protected]>
+
+	Fix incorrect advance width scaling (#52683).
+
+	* src/base/ftadvance.c (FT_Get_Advances): Always respect the
+	FT_LOAD_NO_SCALE flag if present.
+
+2017-12-16  Alexei Podtelezhnikov  <[email protected]>
+
+	* builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
+	* objs/.gitignore: Ignore almost everything.
+
+2017-12-11  Werner Lemberg  <[email protected]>
+
+	Fix compiler warning (#52640).
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
+	variable.
+
+2017-12-08  Azzuro  <[email protected]>
+
+	* builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
+
+	This allows builds with different configurations in parallel.
+
+2017-12-08  Werner Lemberg  <[email protected]>
+
+	Fix `make setup dos', second try (#52622).
+
+	* builds/detect.mk (dos_setup): Don't use literal `>' character at
+	all.  Mixing the different escaping rules from make, dos, and
+	windows is too fragile.
+
+2017-12-08  Werner Lemberg  <[email protected]>
+
+	[docmaker] Fix code section parsing.
+
+	Stuff like
+
+	  {
+	    <bla>
+	  }
+
+	confused the parser, which incorrectly treated `<bla>' as a markup
+	tag.
+
+	* src/tools/docmaker/content.py (ContentProcessor::process_content):
+	Apply `re_markup_tags' only outside of code sections.
+
+2017-12-08  Werner Lemberg  <[email protected]>
+
+	New `ftdriver.h' file, covering all driver modules.
+
+	This reduces redundancy and increases synergy; it also reduces the
+	number of header files.
+
+	* include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
+	(FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
+	FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
+	FT_DRIVER_H.
+
+	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
+	include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
+	include/freetype/ftttdrv.h: Replaced with...
+	* include/freetype/ftdriver.h: ...this new file.
+	(FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
+	(FT_HINTING_ADOBE): ... this new macro.
+	(FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
+	(FT_HINTING_FREETYPE): ... this new macro.
+
+	* src/*/*: Updated accordingly.
+
+2017-12-08  Werner Lemberg  <[email protected]>
+
+	Move `ftdriver.h' to `ftdrv.h'.
+
+	* include/freetype/internal/ftdriver.h: Renamed to...
+	* include/freetype/internal/ftdrv.h: ... this name.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
+	Updated.
+
+2017-12-08  Werner Lemberg  <[email protected]>
+
+	Fix access to uninitalized memory (#52613).
+
+	Also reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=791317
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
+	bitmap size needs a larger bitmap buffer, assure that the new memory
+	areas are initialized also.
+
+2017-12-08  Werner Lemberg  <[email protected]>
+
+	Fix `make setup dos' (#52622).
+
+	* builds/detect.mk (dos_setup): Properly escape literal `>'
+	character.
+
+2017-12-07  Werner Lemberg  <[email protected]>
+
+	Fix C++ compilation.
+
+	* src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
+
+2017-12-07  Werner Lemberg  <[email protected]>
+
+	Fix `make multi'.
+
+	* include/freetype/internal/fttrace.h: Remove unused tracing macros.
+	s/pshalgo2/pshalgo/.
+	Add `trace_cffdecode'.
+	* src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
+
+	* src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	* src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
+	FT_SERVICE_CFF_TABLE_LOAD_H.
+
+	* src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+
+	* src/psaux/cffdecode.c: Include FT_FREETYPE_H and
+	FT_INTERNAL_DEBUG_H.
+	(FT_COMPONENT): Define.
+	* src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	* src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	Declare `cff_builder_funcs' and `ps_builder_funcs'.
+	* src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
+	* src/psaux/psobjs.c : Include `psauxmod.h'.
+
+2017-12-07  Werner Lemberg  <[email protected]>
+
+	* include/freetype/config/ftheader.h: Some clean-up.
+
+	This commit removes documentation of deprecated macros and does some
+	minor streamlining.
+
+2017-12-06  Werner Lemberg  <[email protected]>
+
+	* builds/symbian/bld.inf: Updated.
+
+2017-12-06  Werner Lemberg  <[email protected]>
+
+	New header file `ftparams.h' that collects all parameter tags.
+
+	* include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
+	macro.
+	(FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
+	`ftparams.h'.
+
+	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
+	include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
+	include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
+	FT_PARAMETER_TAGS_H.
+	Move FT_PARAM_TAG_XXX definitions to...
+	* include/freetype/ftparams.h: ...this new file.
+
+	* include/freetype/ttunpat.h: Remove.  No longer needed.
+
+2017-12-05  Werner Lemberg  <[email protected]>
+
+	Improve tracing messages by using singular and plural forms.
+
+	* src/*/*.c: Implement it.
+
+2017-12-04  Werner Lemberg  <[email protected]>
+
+	[truetype] Allow shared points in `cvar' table (#52532).
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
+	and adjusting the corresponding code from
+	`TT_Vary_Apply_Glyph_Deltas'.
+
+2017-11-28  Werner Lemberg  <[email protected]>
+
+	[truetype] Improving tracing of composite glyphs.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
+	[FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
+
+2017-11-27  Werner Lemberg  <[email protected]>
+
+	[type1] Allow (again) `/Encoding' with >256 elements (#52464).
+
+	In version 2.6.1, this has been disallowed to better reject
+	malformed fonts; however, this restriction was too strong.  This
+	time, we only take the first 256 elements into account, since
+	encoding arrays are always accessed with a 8bit integer, according
+	to the PostScript Language Reference.
+
+	* src/type1/t1load.c (parse_encoding): Implement it.
+
+2017-11-27  Jan Alexander Steffens (heftig)  <[email protected]>
+
+	Fix last commit (#52522).
+
+	* builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
+	properly if we have `ftoption.h' in `BUILD_DIR'.
+
+2017-11-24  Werner Lemberg  <[email protected]>
+
+	[unix] Install a massaged `ftoption.h' file (#51780).
+
+	* builds/unix/configure.raw (ftoption_set, ftoption_unset): New
+	auxiliary functions to construct...
+	(FTOPTION_H_SED): ... this new variable.
+	Apply it as a sed argument while copying `ftoption.h' to the
+	`builds/unix' directory (using `AC_CONFIG_FILES').
+	Simplify code of test that checks cpp's computation of bit length
+	(the test previously created an empty `ftoption.h' file and deleted
+	it immediately afterwards); without this change, it can happen on my
+	GNU/Linux box that `configure's execution of `config.status' doesn't
+	create `ftoption.h' (no idea why this happens).
+
+	* builds/unix/install.mk (install): Install
+	`builds/unix/ftoption.h'.
+
+	* builds/unix/unix-def.in (DISTCLEAN): Updated.
+
+	* builds/unix/.gitignore: Updated.
+
+2017-11-23  Tor Andersson  <[email protected]>
+
+	Silence unused function warnings (#52465).
+
+	Some static function declarations cause unused function warnings if
+	certain config options are turned off via `ftoption.h'.
+
+	* src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
+	src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
+
+2017-11-22  Ewald Hew  <[email protected]>
+
+	* src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
+
+2017-11-22  Ewald Hew  <[email protected]>
+
+	[psaux] Fix CFF advance widths. (#52466)
+
+	Glyph advance widths were being written to the new `PS_Decoder' but not
+	saved to the underlying format specific decoder. This caused pure CFF
+	fonts to have bad advance width.
+
+	* include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
+	field to pointer.
+	Remove unused fields.
+	* src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
+	to reference.
+	Remove unused.
+	* src/psaux/psft.c (cf2_setGlyphWidth): Update code.
+
+2017-11-15  Vlad Tsyrklevich  <[email protected]>
+
+	* include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
+
+2017-11-14  Nikolaus Waxweiler  <[email protected]>
+
+	Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
+
+	Since Ewald Hew factored the Adobe hinting engine out of the CFF
+	driver code, we can now use it on Type 1 (and CID) font formats, as
+	both have the same hinting philosophy.
+
+	This change activates the Adobe hinter when in LIGHT mode, and
+	therefore always unless explicitly asking for the auto-hinter.  This
+	makes LIGHT behavior consistent with CFF fonts.  As of this commit,
+	the hinting engine table looks as follows.
+
+	             LIGHT  NORMAL
+	  -------------------------
+	   TrueType  Auto   v40
+	   CFF       Adobe  Adobe
+	   Type 1    Adobe  Adobe
+
+2017-11-10  Yuri Levchenko  <[email protected]>
+
+	* CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
+
+2017-11-06  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
+
+2017-11-06  Alexei Podtelezhnikov  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
+
+2017-11-03  Ewald Hew  <[email protected]>
+
+	[psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251)
+
+	The interpreter in Type 1 mode rewinds the charstring after collecting
+	all hints for building the initial hintmap (commit d52dd7f). However,
+	some charstrings use `endchar' in a final subroutine call, rewinding to
+	the start of that subroutine, and only a small section of the actual
+	glyph is drawn.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>:
+	Ensure we are on the top level charstring before rewinding.
+
+2017-11-03  suzuki toshiya  <[email protected]>
+
+	[truetype] Add more tricky fonts.
+
+	See the report by Yang Yinsen.
+	https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html
+
+	* src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB',
+	`DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'.
+	(tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB,
+	DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7.  Also
+	add checksums for DLCLiShu and DLCHayBold which their family names
+	were already listed but their checksums were previously unknown.
+
+2017-11-01  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Fix complex rendering at high ppem.
+
+	We used to split large glyphs into horizontal bands and continue
+	bisecting them still horizontally if that was not enough.  This is
+	guaranteed to fail when a single scanline cannot fit into the
+	rendering memory pool.  Now we bisect the bands vertically so that
+	the smallest unit is a column of the band height, which is guranteed
+	to fit into memory.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
+
+2017-10-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Improve complex rendering at high ppem.
+
+	At large sizes almost but not exactly horizontal segments can quickly
+	drain the rendering pool. This patch at least avoids filling the pool
+	with trivial cells. Beyond this, we can only increase the pool size.
+
+	Reported, analyzed, and tested by Colin Fahey.
+
+	* src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
+
+2017-10-20  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Improve tracing in FT_Load_Glyph, FT_*_Size.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
+	function name, glyph index, and load flags.
+	(FT_Select_Metrics, FT_Request_Metrics): Remove all tracing.
+	(FT_Select_Size, FT_Request_Size): Improve tracing.
+
+2017-10-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Improve tracing in FT_Render_Glyph.
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage
+	calculations and downgrade Netpbm dump to bitmap:7.
+
+2017-10-15  Ewald Hew  <[email protected]>
+
+	[cff] Fix segfault on missing `psaux' (#52218)
+
+	* src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr.
+
+	* modules.cfg: Update dependency list.
+
+2017-10-15  Alexei Podtelezhnikov  <[email protected]>
+
+	[base, cff] Fix MSVC warnings.
+
+	* src/base/ftobjs.c (FT_New_Library): C4702: unreachable code.
+	(ft_glyphslot_preset_bitmap): C4244: possible loss of data.
+	* src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data.
+	Turn `sum' into unsigned.
+
+2017-10-14  Alexei Podtelezhnikov  <[email protected]>
+
+	[base] Netpbm image tracing.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
+	(FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.
+
+	* src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
+
+2017-10-14  Alexei Podtelezhnikov  <[email protected]>
+
+	* builds/windows/ftdebug.c (FT_Message): Print to stderr.
+	* builds/wince/ftdebug.c (FT_Message): Ditto.
+
+2017-10-14  Behdad Esfahbod  <[email protected]>
+
+	[afshaper] Delay creating `hb_set' objects until needed.
+
+	In runs on Noto Naskh Arabic, this results in 89 sets created
+	instead of 340 before.  Makes auto-hinter setup with HarfBuzz
+	enabled 20% to 30% faster.
+
+	* src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
+
+2017-10-12  Ewald Hew  <[email protected]>
+
+	[type1, cid] Add hinting engine switch.
+
+	Implement property service in `type1' and `cid' drivers to allow
+	switching between FreeType or Adobe hinting engine when both are
+	available.
+
+	* src/cid/cidriver.c (cid_property_{set,get}, cid_services),
+	src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add
+	Properties service.
+
+	* src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c
+	(T1_Driver_Init): Add default property values.
+
+2017-10-12  Ewald Hew  <[email protected]>
+
+	Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
+
+	This controls whether the old Type 1 engine gets compiled into FreeType.
+	It is disabled by default.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(T1_CONFIG_OPTION_OLD_ENGINE): New macro.
+
+	* include/freetype/internal/psaux.h (PS_Decoder): Remove unused field.
+	* include/freetype/internal/psaux.h, src/cid/cidgload.c
+	(cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c
+	(ps_builder_add_point), src/psaux/t1decode.c
+	(t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph,
+	t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h,
+	src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround
+	relevant code with macro.
+	Minor code changes.
+
+2017-10-12  Ewald Hew  <[email protected]>
+
+	Extract width parsing from Type 1 parser.
+
+	Duplicate the fast advance width calculations from the old parser.
+	This is to facilitate adding options for compiling out the old parser.
+
+	* src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function.
+	* include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry
+	`parse_metrics'.
+	* src/psaux/psauxmod.c: Set the new entry.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String),
+	src/cid/cidgload.c (cid_load_glyph): Separate
+	conditional for selecting engine.
+
+2017-10-09  Werner Lemberg  <[email protected]>
+
+	* src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=772775
+
+2017-10-08  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	[sfnt] Adjust behaviour of PS font names for variation fonts.
+
+	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
+	PS name only if no variation is applied.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	[cff, truetype] Adjust behaviour of named instances.
+
+	This commit completely separates the interaction between named
+	instances and variation functions.  In particular, resetting the
+	variation returns to the current named instance (if set) and not to
+	the base font.
+
+	As a side effect, variation functions no longer change the named
+	instance index.
+
+	* src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance'
+	function.
+	Also apply `MVAR' table to named instances.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast.
+	(tt_set_mm_blend): No longer check whether requested variation
+	coincides with a named instance.
+	(TT_Set_Var_Design): Use current named instance for default
+	coordinates.
+	* src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	Make `FT_Set_Named_Instance' work.
+
+	* src/cff/cffdrivr.c (cff_set_instance): New function.
+	(cff_service_multi_masters): Register it.
+
+	* src/truetype/ttgxvar.c (TT_Set_Named_Instance): New function.
+	* src/truetype/ttgxvar.h: Updated.
+	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Register
+	it.
+
+	* src/type1/t1load.c (T1_Reset_MM_Blend): New function.
+	* src/type1/t1load.h: Updated.
+	* src/type1/t1driver.c (t1_service_multi_masters): Register it.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	Make `FT_FACE_FLAG_VARIATION' work.
+
+	* include/freetype/internal/tttypes.h (TT_Face): Remove
+	`is_default_instance'; this can be replaced with a combination of
+	`FT_IS_VARIATION' and `FT_IS_INSTANCE'.
+
+	* src/cff/cffdrivr.c (cff_get_advances): Updated.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
+	(sfnt_init_face): Updated.
+
+	* src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
+	(TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
+	src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
+	Handle `FT_FACE_FLAG_VARIATION'.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
+	`FT_FACE_FLAG_VARIATION'.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	New function `FT_Set_Named_Instance'.
+
+	No effect yet.
+
+	* src/base/ftmm.c (FT_Set_Named_Instance): New function.
+
+	* include/freetype/ftmm.h: Updated.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	Add macros for checking whether a font variation is active.
+
+	* include/freetype/freetype.h (FT_FACE_FLAG_VARIATION,
+	FT_IS_VARIATION): New macros.
+	No effect yet.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	Add framework for setting named instance in MM service.
+
+	* include/freetype/internal/services/svmm.h (FT_Set_Instance_Func):
+	New function typedef.
+	(MultiMasters): Add `set_instance' member.
+	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
+
+	* src/cff/cffdrivr.c (cff_service_multi_masters),
+	src/truetype/ttdriver (tt_service_gx_multi_masters),
+	src/type1/t1driver.c (t1_service_multi_masters): Updated.
+
+2017-10-07  Werner Lemberg  <[email protected]>
+
+	[type1] Minor code shuffling.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend): Make it a wrapper of...
+	(t1_set_mm_blend): ...this new function.
+	(T1_Set_MM_Design): Use `t1_set_mm_blend'.
+
+2017-10-05  Werner Lemberg  <[email protected]>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer
+	overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3539
+
+2017-10-05  Werner Lemberg  <[email protected]>
+
+	Fix compiler warnings.
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_extra): Avoid code that relies
+	on numeric overflow.
+	Add cast.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix variable
+	types, add cast.
+
+2017-10-04  John Tytgat  <[email protected]>
+
+	[cff] Add support for `FSType'.
+
+	* include/freetype/internal/cfftypes.h (CFF_FontRec): Add
+	`font_extra' entry.
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_extra): New function to
+	retrieve FSType info from the embedded PostScript data.
+	(cff_service_ps_info): Register function.
+
+	* src/cff/cffload.c (cff_font_done): Free `font_extra'.
+
+2017-09-30  Alexei Podtelezhnikov  <[email protected]>
+
+	Signedness fixes in bitmap presetting.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Explicitly signed height.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
+	subtraction.
+
+2017-09-29  Alexei Podtelezhnikov  <[email protected]>
+
+	Bitmap metrics presetting [2/2].
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Preset the bitmap metrics when
+	appropriate but `FT_Render_Glyph' is not called.
+	* include/freetype/freetype.h (FT_GlyphSlotRec): Document the change.
+
+2017-09-28  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth, raster] Miscellaneous cleanups.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Clean up the exit.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Reduce
+	translations and clean up the exit.
+	(ft_smooth_render_lcd, ft_smooth_render_lcd): Remove unused `error'.
+
+2017-09-28  Ben Wagner  <[email protected]>
+
+	[truetype] Really, really fix #52082.
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
+
+2017-09-28  Werner Lemberg  <[email protected]>
+
+	* src/psaux/psintrp.c (cf2_doStems): Fix integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3510
+
+2017-09-28  Ewald Hew  <[email protected]>
+
+	* src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
+
+2017-09-28  Alexei Podtelezhnikov  <[email protected]>
+
+	Bitmap metrics presetting [1/2].
+
+	This mainly just extracts the code for presetting the bitmap metrics
+	from the monochrome, grayscale, and LCD renderers into a separate
+	function.
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): New function that
+	calculates prospective bitmap metrics for the given rendering mode.
+	* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
+	Declare it.
+
+	* src/base/ftlcdfil.c (ft_lcd_padding): New helper function that adds
+	padding to CBox taking into account pecularities of LCD rendering.
+	* include/freetype/ftlcdfil.h (ft_lcd_padding): Declare it.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Reworked to use
+	`ft_glyphslot_preset_bitmap'.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+	(ft_smooth_render_lcd, ft_smooth_render_lcd): The pixel_mode setting
+	is moved to `ft_glyphslot_preset_bitmap'.
+
+2017-09-28  Ewald Hew  <[email protected]>
+
+	[psaux] Fix compiler warning.
+
+	* src/psaux/pshints.c (cf2_hintmap_dump): Add switch for tracing
+	code.
+
+2017-09-27  Werner Lemberg  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
+
+2017-09-25  Werner Lemberg  <[email protected]>
+
+	[psaux] Fix compiler warnings.
+
+	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
+	test.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Add casts.
+
+	* src/psaux/psobjs.c (ps_decoder_init): Add cast.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Minor fixes.
+
+	* include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
+	Rearrange `ps_builder_init' arguments to conventional order.
+
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
+	notice for `SubFont' in Type 1 mode.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Move `psdecode' into `psobjs'.
+
+	As the former only contains a single procedure, move it into
+	`psobjs' for simplicity.  Also change the parameter order to the
+	conventional one.
+
+	* src/psaux/psdecode.c (ps_decoder_init): Moved to...
+	* src/psaux/psobjs.c: ...Here.
+	* src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
+
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
+	`ps_decoder_init' function signature.
+
+	* src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
+	Update calls.
+
+	* src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
+
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
+	Update file references.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Fix Type 1 hinting.
+
+	Type 1 hinting breaks sometimes when mid-charstring hints should
+	have been in the initial hintmap.  This fix adds a preprocessing
+	pass that reads all hints and builds the correct initial hintmap
+	first, before proceeding to build the glyph outline.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): New
+	`initial_map_ready' boolean flag.
+	Ignore outline commands and hint changes on first pass.
+	<cf2_cmdENDCHAR>: Add section to build hintmap and rewind.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Add tracing for hints.
+
+	* src/psaux/pshints.c (cf2_hintmap_dump): New function.
+	(cf2_hintmap_insertHint): Trace incoming and inserted hints.
+	(cf2_hintmap_build): Dump hintmap before and after hint adjustment.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Minor fixes.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): Fix check for pop
+	results.
+	s/font->decoder/decoder/ where necessary.
+	<cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_escHSTEM3, cf2_escVSTEM3>: Use
+	offset parameter in `cf2_doStems' instead of doing correction for
+	left-sidebearing.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[cid] Use the new engine.
+
+	* src/cid/cidgload.c: Update includes.
+	(cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
+	loading code as with `type1' module.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[cid] Add Adobe engine configuration.
+
+	This is similar to what was done in the `type1' module.
+
+	* src/cid/cidriver.c (t1cid_driver_class): Update declaration.
+	* src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
+	(cid_driver_init): Update code.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Change subfont synthesis for CID fonts.
+
+	Change `t1_make_subfont' to take in the Private dict record as an
+	argument.  This is because Type 1 and CID font records in FreeType
+	have this in different places.
+
+	* src/psaux/psobjs.c (t1_make_subfont): Change `T1_Face' to
+	`FT_Face' so that CID is also accepted.
+	Take `PS_Private' as an argument and let caller figure out where the
+	Private dict actually is.
+	Update references.
+
+	* include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
+	declaration.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
+	call.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[type1] Switch to Adobe engine.
+
+	* src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (seac).
+
+	This concludes the changes needed to add Type 1 support.
+
+	* src/psaux/psintrp.c: Update includes.
+	(cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
+	implied seac for CFF.
+
+	* src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
+	function to look up the glyph index.
+
+	* src/psaux/psft.c (cf2_getT1SeacComponent,
+	cf2_freeT1SeacComponent): New functions to get the charstrings for
+	seac components.
+
+	* src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (flex in callothersubr).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Fix Flex feature handling (OtherSubrs 0, 1,
+	2).
+	<cf2_cmdRMOVETO>: Do not actually move the `glyphPath' while doing
+	flex.  This is to avoid closing the current contour.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (callothersubr).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Copy code from
+	`t1_decoder_parse_charstrings' (in `t1decode.c').
+	OtherSubr 3 (change hints) should reset the hintmask, so that the
+	new hints are applied.
+	Fix function calls and stack access.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (pop).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): Change how unhandled
+	OtherSubr results are stored.  Implement the PostScript stack using
+	an array.
+	<cf2_escPOP>: Ensure that the stack is not cleared after getting
+	`OtherSubr' results.
+	Fix stack access.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (callsubr).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
+	Type 1 mode.
+
+	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (div, four-byte numbers).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_escDIV>: Add
+	Type 1 mode.  Type 1 requires large integers to be followed by
+	`div'; cf. `Adobe Type 1 Font Format', section 6.2.
+	<op == 255>: Push Type 1 four-byte numbers as `Int' always.  This is
+	to ensure `div' and `callsubr' get values they can use.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (hints).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
+	cf2_cmdVSTEM>: Add correction for left sidebearing in Type 1 mode.
+	Allow adding hints mid-charstring.
+	<cf2_escVSTEM3, cf2_escHSTEM3>: Translate into equivalent commands
+	for three normal stem hints.  This requires some recalculation of
+	stem positions.
+	Correction for left sidebearing.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (hsbw, sbw).
+
+	* src/psaux/psintrp.c (cf2_doStems): `hsbw' or `sbw' must be the
+	first operation in a Type 1 charstring.
+	(cf2_interpT2CharString): Remove unused variables.
+	<cf2_cmdHMOVETO, cf2_cmdVMOVETO, cf2_cmdRMOVETO>: `hsbw' or `sbw'
+	must be the first operation in a Type 1 charstring.
+	<cf2_cmdHSBW, cf2_escSBW>: Fix data access and add correction for
+	left sidebearing.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (setcurrentpoint).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escSETCURRENTPT>: Fix stack access.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Extend Adobe interpreter (closepath).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
+	Use the right builder function.  We can use the `haveWidth' boolean
+	already present, instead of implementing `parse_state'.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Add Type 1 operations to Adobe CFF interpreter.
+
+	The following Type 1 specific ops have been added (copied from
+	`t1decode'):
+
+	  closepath
+	  vstem3
+	  hstem3
+	  seac
+	  sbw
+	  callothersubr
+	  pop
+	  setcurrentpoint
+	  hsbw
+
+	The following require a Type 1 mode, because of differences in
+	specification:
+
+	  hstem
+	  vstem
+	  vmoveto
+	  callsubr
+	  div
+	  rmoveto
+	  hmoveto
+	  Numbers
+
+	The subsequent commits will implement these changes and adapt
+	accesses of data and objects to the new interpreter.
+
+	NOTE: Will not compile in the meantime!
+
+	* src/psaux/psintrp.c: Add opcodes to enum.
+	(cf2_interpT2CharString): Copy relevant code over from
+	`t1_decoder_parse_charstrings' (in `t1decode.c').
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[type1] Fixes for rendering.
+
+	The Type 1 advance width calculation passes null for glyph slot,
+	etc, which can cause null pointer access in the new interpreter.
+	Fall back to the old one for now.
+
+	Fix the large glyph retry code and ensure hinting and scaling flags
+	are set properly.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add a
+	check for metrics_only.
+	Set the `force_scaling' flag.
+	(T1_Parse_Glyph): Updated.
+	(T1_Load_Glyph): Add `hinting' and `scaled' flags.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Add missing objects (2/2).
+
+	Synthesize a `SubFont' object for Type 1 fonts.  This is used in the
+	interpreter to access Private dict data, which are stored in
+	different places for Type 1 and CFF.  This allows the same data to
+	be used in either mode.
+
+	* src/psaux/psobjs.c (t1_make_subfont): New procedure to copy
+	required values to a dummy `CFF_SubFont' object.  This is similar to
+	`cff_make_private_dict'.
+	* src/psaux/psobjs.h: Add the new declaration.
+
+	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
+	Add this to the PSAux Service for future use with CID fonts.
+
+	* src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
+	(T1_Parse_Glyph_And_Get_Char_String): Add the call.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Add missing objects for Type 1 (1/2).
+
+	Move `CF2_Font' instance to `PS_Decoder'.  This is the context for
+	the interpreter and since it is currently stored in `CFF_Font', is
+	unavailable in Type 1 mode.
+
+	* include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
+	`cf2_instance' field.
+
+	* src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
+	`PS_Decoder'.
+
+	* src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
+
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	Allow `type1' module to use the Adobe engine.
+
+	Add the callback and some conditionals to switch between the two
+	engines.
+
+	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
+	function declarations.
+	* src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
+	callbacks.
+
+	* src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
+	number conversion.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
+	to choose which renderer to use.
+
+	* src/cid/cidgload.c (cid_load_glyph): Update call.
+	* src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
+	includes.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[type1] Add Adobe engine configuration.
+
+	Use the previously changed PS_Driver in type1 module to store
+	hinting engine configuration.
+
+	* include/freetype/ftt1drv.h: New file.
+	Duplicate and rename config options from CFF.
+	* include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
+
+	* src/type1/t1driver.c (t1_driver_class): Update declaration.
+	* src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
+	(T1_Driver_Init): Update code.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[cff] Move and rename `CFF_Driver'.
+
+	This is so that we can use the same hinting engine parameters for
+	Type 1.
+
+	* include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
+	move to...
+	* include/freetype/internal/psaux.h (PS_Driver): ...here.
+
+	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffload.c,
+	src/cff/cffobjs.c, src/cff/cffobjs.h, src/psaux/psft.c,
+	src/psaux/psobjs.c: Update references.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux, type1] Reorganize object fields.
+
+	Make some fields more generic, so that we can access them the same
+	way regardless of Type 1 or CFF.
+
+	* include/freetype/internal/psaux.h (PS_Builder): Change `TT_Face'
+	to `FT_Face'.
+	Remove unused fields.
+
+	* src/psaux/psft.c: Update all accesses of `PS_Builder.face'.
+	Add some asserts to guard against casting `T1_Face' as `TT_Face'.
+
+	* src/type1/t1objs.h (T1_GlyphSlot): Reorder fields to follow
+	`CFF_GlyphSlot', so that we can pretend they are the same in the
+	interpreter.
+
+	* src/psaux/psobjs.c (ps_builder_init, ps_builder_add_point):
+	Updated with above changes.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux] Prepare for Type 1 mode.
+
+	Add some checks for Type 1 data passing through.
+
+	* src/psaux/psfont.h (CF2_Font): Add `isT1' flag.
+	* src/psaux/psfont.c (cf2_font_setup): Skip the variations and blend
+	code which is not applicable for Type 1.
+
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Avoid accessing
+	`decoder->cff' in Type 1 mode.
+	Copy `is_t1' flag to `CF2_Font'.
+
+2017-09-25  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Use the new objects.
+
+	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Fix
+	switching between new and old engines.
+
+	* src/cff/cffgload.c, src/cff/cffparse.c: Update calls.
+
+	* src/psaux/psblues.c, src/psaux/psfont.c, src/psaux/psfont.h,
+	src/psaux/psft.c, src/psaux/psft.h, src/psaux/psintrp.c: Update all
+	to use new objects.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux] Objects for new interpreter (part 2).
+
+	Make the new objects copy over values.  They are essentially wrapper
+	types for the different decoders/builders.
+
+	* include/freetype/internal/psaux.h: Update declarations.
+	(PS_Builder): Add `is_t1' flag.
+	(PS_Decoder_{Get,Free}_Glyph_Callback): Renamed to...
+	(CFF_Decoder_{Get,Free}_Glyph_Callback: ... this.
+	(PS_Decoder): Updated.
+	Add `t1_parse_callback' member.
+	(PSAux_ServiceRec): Add `ps_decoder_init' member.
+
+	* src/psaux/psdecode.h, src/psaux/psobjs.h: Update declarations.
+
+	* src/psaux/psdecode.c, src/psaux/psobjs.c: Implement copy with two
+	modes.
+
+	* src/psaux/psauxmod.c: Add builder and decoder functions to `PSAux'
+	service.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux] Add objects for new interpreter.
+
+	Introduce `PS_Decoder' and `PS_Builder' which include all fields
+	from either Type 1 or CFF decoders/builders.
+
+	* include/freetype/internal/psaux.h (PS_Builder, PS_Decoder): New
+	structs.
+
+	* src/psaux/psobjs.c, src/psaux/psobjs.h: Add `PS_Builder'
+	functions.
+
+	* src/psaux/psdecode.c, src/psaux/psdecode.h: New files to hold
+	`PS_Decoder' initialization functions.
+
+	* src/psaux/psaux.c, src/psaux/Jamfile (_sources),
+	src/psaux/rules.mk (PSAUX_DRV_SRC): Updated.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux] Rename files.
+
+	Replace the `cf2' file name prefix with `ps' as the Adobe engine
+	will be used for both PostScript Types 1 and 2 (CFF) instead of just
+	CFF.
+
+	s/cf2/ps/ for all following.
+
+	* src/psaux/cf2*: Rename files.
+	* src/psaux/*: Update includes.
+
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRC_SRC,
+	PSAUX_DRV_H): Update file references.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux] Minor fix.
+
+	Use `MultiMasters' service in `psaux' instead of a call to `cff'.
+	The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
+
+	* src/psaux/cf2ft.c: Update includes.
+	(cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
+	`cff_get_var_blend'.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Move `cff_random' into `psaux' service.
+
+	NOTE: Does not compile!
+
+	Minor fix to allow both `cff' and `psaux' to use `cff_random'.
+
+	* src/cff/cffload.c (cff_random): Move to...
+	* src/psaux/psobjs.c: Here.
+	* src/cff/cffload.h: Move corresponding declaration to
+	`src/psaux/psobjs.h'.
+
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the
+	function here...
+	* src/psaux/psauxmod.c: And here.
+
+	* src/cff/cffload.c, src/psaux/cf2intrp.c: Update code.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[cff] Move struct declarations to `freetype/internal'.
+
+	NOTE: Does not compile!
+
+	This is so that the CFF functions moved to `psaux' can access the
+	same structs that they need.
+
+	* src/cff/cfftypes.h: Moved to...
+	* include/freetype/internal/cfftypes.h: ...Here.
+
+	* src/cff/cffobjs.h: Moved the struct declarations to...
+	* include/freetype/internal/cffotypes.h: ... this new file.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_CFF_TYPES_H,
+	FT_INTERNAL_CFF_OBJECT_TYPES_H): New macros.
+
+	* src/cff/cffcmap.h, src/cff/cffdrivr.c, src/cff/cffgload.c,
+	src/cff/cffgload.h, src/cff/cffload.h, src/cff/cffobjs.c,
+	src/cff/cffobjs.h, src/cff/cffparse.h, src/psaux/psobjs.h,
+	include/freetype/internal/psaux.h,
+	include/freetype/internal/services/svcfftl.h: Update includes.
+
+	* src/cff/rules.mk (CFF_DRV_H): Updated.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Add new service for inter-module calls.
+
+	NOTE: Does not compile!
+
+	This is to allow CFF functions moved to `psaux' to call functions
+	declared in `src/cff/cffload.h'.
+
+	* include/freetype/internal/services/svcfftl.h: New file, setting up
+	a `CFFLoad' service.
+
+	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC10,
+	FT_DEFINE_SERVICEDESCREC): New macros.
+	(FT_SERVICE_CFF_TABLE_LOAD_H): New macro.
+
+	* src/cff/cffdrivr.c, src/cff/cffpic.h: Register the new service.
+
+	* src/cff/cfftypes.h (CFF_FontRec), src/psaux/cf2font.h
+	(CF2_FontRec): Add service interface.
+
+	* src/cff/cffobjs.c, src/psaux/cf2font.c, src/psaux/cf2ft.c,
+	src/psaux/cf2intrp.c, src/psaux/cffdecode.c: Use the new service.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Add callbacks for inter-module calls.
+
+	NOTE: Does not compile!
+
+	* include/freetype/internal/psaux.h: Add function pointer
+	declarations.
+
+	* src/psaux/cffdecode.c (cff_decoder_init): Update to take in
+	callbacks.
+	* src/psaux/cffdecode.h: Ditto.
+
+	* src/cff/cffgload.c (cff_compute_max_advance, cff_slot_load):
+	Update calls to pass in callbacks.
+	* src/psaux/cf2ft.c, src/psaux/cffdecode.c: Use them.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Create new `PSAux' service interface entries.
+
+	NOTE: Does not compile!
+
+	* include/freetype/internal/psaux.h: Include
+	FT_INTERNAL_TRUETYPE_TYPES_H.
+	(CFF_Builder_FuncsRec, CFF_Decocer_FuncsRec): New function tables.
+	(CFF_Builder): Updated.
+	Fix for forward declaration.
+	(PSAux_ServiceRec): New field `cff_decoder_funcs'.
+
+	* src/psaux/psauxmod.c (cff_builder_funcs, cff_decoder_funcs): New
+	function tables.
+	(PSAux_Interface): Updated.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `psaux'
+	service interface.
+
+	* src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffparse.c: Update
+	function calls to use psaux service.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Move CFF builder components into `psaux' module.
+
+	NOTE: Does not compile!
+
+	* src/cff/cffgload.c
+	(cff_builder_{init,done,add_point,add_point1,add_contour,start_point,close_contour},
+	cff_check_points): Move to...
+	* src/psaux/psobjs.c: Here.
+
+	* src/cff/cffgload.h: Move corresponding declarations to
+	`src/psaux/psobjs.h'.
+
+	* src/cff/cffgload.h (CFF_Builder): Move struct declaration to...
+	* include/freetype/internal/psaux.h: Here.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Move CFF decoder components into `psaux' module.
+
+	NOTE: Does not compile!
+
+	* src/cff/cffgload.c (CFF_Operator,
+	CFF_COUNT_{CHECK_WIDTH,EXACT,CLEAR_STACK}, cff_argument_counts,
+	cff_operator_seac, cff_compute_bias,
+	cff_lookup_glyph_by_stdcharcode,
+	cff_decoder_{parse_charstrings,init,prepare}): Move to...
+	* src/psaux/cffdecode.c: This new file.
+
+	* src/cff/cffgload.h: Move corresponding declarations to...
+	* src/psaux/cffdecode.h: This new file.
+
+	* src/cff/cffgload.h (CFF_MAX_{OPERANDS,SUBRS_CALLS,TRANS_ELEMENTS},
+	CFF_Decoder_Zone, CFF_Decoder): Move declarations to...
+	* include/freetype/internal/psaux.h: Here.
+
+	* src/psaux/cf2ft.h: Update include.
+
+	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Update with
+	the new file.
+
+2017-09-24  Ewald Hew  <[email protected]>
+
+	[psaux, cff] Move Adobe's engine components into `psaux' module.
+
+	This is the first patch of a sequence to move the Type 2 charstring
+	processing capability from the `cff' module to the `psaux' module.
+
+	NOTE: Does not compile!
+
+	* src/cff/cf2*: Move these files to...
+	* src/psaux/cf2*: Here.
+
+	* src/cff/Jamfile (_sources), src/cff/rules.mk (CFF_DRV_SRC,
+	CFF_DRV_H), src/cff/cff.c, src/cff/cffgload.c: Remove file
+	references.
+
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk, src/psaux/psaux.c
+	(PSAUX_DRV_SRC, PSAUX_DRV_H): Add file references.
+
+2017-09-24  Alexei Podtelezhnikov  <[email protected]>
+
+	Tweak per-face LCD filtering controls.
+
+	Thing are simpler with a NULL-function pointer.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+	pointer to the filter function.
+	(FT_LibraryRec): Remove unused `lcd_filter'.
+	(FT_Bitmap_LcdFilterFunc, ft_lcd_filter_fir):  Move from here...
+	* include/freetype/ftlcdfil.h (FT_Bitmap_LcdFilterFunc,
+	ft_lcd_filter_fir): ... to here.
+
+	* src/base/ftobjs.c (ft_open_face_internal): NULL-initialize the
+	per-face filter.
+	(FT_Face_Properties): Set it.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Simplify.
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, FT_Libary_SetLcdFilter):
+	Minor.
+
+2017-09-24  Jonathan Kew  <[email protected]>
+
+	[sfnt] Fix `premultiply_data' (#52092).
+
+	* src/sfnt/pngshim.c (premultiply_data): Don't use vector extension
+	if we have less than 16 bytes of data.
+
+2017-09-24  Werner Lemberg  <[email protected]>
+
+	[otvalid] Fix handling of ValueRecords.
+
+	For GPOS pair positioning format 1 the description of ValueRecords
+	in the OpenType specification (1.8.2, from today) is wrong – the
+	offset has to be taken from the parent structure; in this case the
+	`PairSet' table.
+
+	* src/otvalid/otvgpos.c (otv_PairSet_validate): Set `extra3'.
+	(otv_PairPos_validate): Adjust.
+
+2017-09-23  Werner Lemberg  <[email protected]>
+
+	[otvalid] Handle `GSUB' and `GPOS' v1.1 tables.
+
+	* src/otvalid/otvgsub.c (otv_GSUB_validate), src/otvalid/otvgpos.c
+	(otv_GPOS_validate): Implement it.
+
+2017-09-23  Werner Lemberg  <[email protected]>
+
+	[otvalid] Update common table handling to OpenType 1.8.2.
+
+	* src/otvalid/otvcommn.c (otv_Device_validate): Handle
+	VariationIndex subtable.
+	(otv_Lookup_validate): Handle MarkFilteringSet.
+
+2017-09-23  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Windows-style DLL versioning.
+
+	* build/windows/ftver.rc: New VERSIONINFO resource.
+	* build/windows/vc2010/freetype.vcxproj: Further improvements.
+
+2017-09-23  Ben Wagner  <[email protected]>
+
+	[truetype] Really fix #52082.
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
+
+2017-09-23  Werner Lemberg  <[email protected]>
+
+	[otvalid] Handle `GDEF' v1.2 and v1.3 tables.
+
+	No validation of variation stuff yet.
+
+	* src/otvalid/otvgdef.c (otv_MarkGlyphSets_validate): New function.
+	(otv_GDEF_validate): Implement it.
+
+2017-09-22  Werner Lemberg  <[email protected]>
+
+	[otvalid] Handle `BASE' v1.1 table.
+
+	No validation of variation stuff yet.
+
+	* src/otvalid/otvbase.c (otv_BASE_validate): Implement it.
+
+2017-09-22  Werner Lemberg  <[email protected]>
+
+	[otvalid] Macros for 32bit offset support.
+
+	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE32,
+	OTV_OPTIONAL_OFFSET32, OTV_SIZE_CHECK32): New macros.
+
+2017-09-21  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Simplify Visual C++ 2010 project.
+
+	* build/windows/vc2010/freetype.vcxproj: Remove fake singlethreaded
+	configurations and tweak.
+
+2017-09-21  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflow (#52082).
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Avoid FT_ABS.
+
+2017-09-21  Werner Lemberg  <[email protected]>
+
+	[sfnt] Fix postscript name for default instance of variation fonts.
+
+	Problem reported by Behdad.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Test
+	`is_default_instance'.
+
+2017-09-21  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix `mmvar' array pointers, part 2.
+
+	The previous commit was incomplete.
+
+	* src/truetype/ttgxvar.c: Properly initialize sub-array offsets for
+	`master' also.
+
+2017-09-21  Werner Lemberg  <[email protected]>
+
+	[truetype] Fix `mmvar' array pointers.
+
+	Without this change, clang's AddressSanitizer reports many runtime
+	errors due to misaligned addresses.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use multiples of pointer
+	size for sub-array offsets into `mmvar'.
+
+2017-09-20  Werner Lemberg  <[email protected]>
+
+	[truetype] Integer overflows.
+
+	Changes triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3429
+
+	* src/truetype/ttinterp.c (Ins_SHPIX, Ins_DELTAP): Use NEG_LONG.
+	(Ins_MIAP): Use SUB_LONG.
+
+2017-09-19  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Fix DLL builds in Visual C++ project.
+
+	* build/windows/vc2010/freetype.vcxproj: Use DynamicLibrary in Debug
+	and Release configurations.
+	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
+	[_DLL]: Use Visual C++ extensions.
+
+2017-09-19  John Tytgat  <[email protected]>
+
+	[cff] Fix family name logic of pure CFF fontdata (#52056).
+
+	1. If `FamilyName' is present in the CFF font, use this for
+	   FT_Face's `family_name'.
+	2. Otherwise, use the face name and chop off any subset prefix.
+	3. If at this point FT_Face's `family_name' is set, use this
+	   together with the full name to determine the style.
+	4. Otherwise, use `CIDFontName' as FT_Face's `family_name'.
+	5. If we don't have a valid style, use "Regular".
+
+	Previously, FT_Face's `family_name' entry for pure CFF fontdata
+	nearly always was the fontname itself, instead of the `FamilyName'
+	entry in the CFF font (assuming there is one).
+
+	* src/cff/cffobjs.c (cff_face_init) [pure_cff]: Implement it.
+
+2017-09-18  Alexei Podtelezhnikov  <[email protected]>
+
+	[build] Declutter Visual C++ 2010-2017 project.
+
+	* build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
+	optimization for Release configuration throughout the project.
+
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2017-2021 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End: