shithub: freetype+ttf2subf

Download patch

ref: 8e6c56f99e17c5f882dc11dda1444d7c12fe0325
parent: 6d24acb9a598e5153ee5a8ea6784de3b817d29a5
author: Werner Lemberg <[email protected]>
date: Tue Oct 18 02:09:13 EDT 2005

Formatting, CR/LF issues.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,610 +1,611 @@
 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're opening a face with face_index < 0 (which is only
-  used for testing the format).
-
-  * src/gxvalid/gxvmort0.c: removed compiler warning
-
-2005-10-16  David Turner  <[email protected]>
-
-  * src/tools/apinames.c: adding 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]>
-
-	* freetype2/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 necessariy 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 functionaliy 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:
-
-	  http://www.adobe.com/products/indesign/sing_gaiji.html
-
-	* freetype2/include/freetype/ttags.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.
-
-	* 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.
-
-	* 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.
-
-	* gxvalid/gxvfeat.c: Split off predefined registry stuff to...
-	* gxvalid/gxvfeat.h: New file.
-
-	* gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
-	message.
-
-	* 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_UNKWOWN.
-	Improve trace message.
-	(gxv_kern_validate_generic): Fix C++ compiler error.
-	Improve trace message.
-	(gxv_kern_validate_classic): Fix C++ compiler error.
-
-	* gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* 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.
-
-	* 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.
-
-	* gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* 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.
-
-	* 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.
-
-	* gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
-
-	* gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* 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.
-
-	* 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.
-
-	* gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
-	with FT_LOCAL_DEF.
-
-	* 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.
-
-	* gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
-	gxv_morx_validate): Improve trace message.
-
-	* gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
-	warnings.
-	(gxv_opbd_validate): Improve trace message.
-
-	* gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
-	appropriate.
-	(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
-	message.
-
-	* 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/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
-	src/gxvalid/gxmort2.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 funcion 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
-	backwards 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 iss 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 2005 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: latin-1
-End:
+	* 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]>
+
+	* freetype2/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 necessariy 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 functionaliy 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:
+
+	  http://www.adobe.com/products/indesign/sing_gaiji.html
+
+	* freetype2/include/freetype/ttags.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.
+
+	* 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.
+
+	* 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.
+
+	* gxvalid/gxvfeat.c: Split off predefined registry stuff to...
+	* gxvalid/gxvfeat.h: New file.
+
+	* gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
+	message.
+
+	* 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_UNKWOWN.
+	Improve trace message.
+	(gxv_kern_validate_generic): Fix C++ compiler error.
+	Improve trace message.
+	(gxv_kern_validate_classic): Fix C++ compiler error.
+
+	* gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* 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.
+
+	* 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.
+
+	* gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* 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.
+
+	* 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.
+
+	* gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
+
+	* gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* 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.
+
+	* 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.
+
+	* gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
+	with FT_LOCAL_DEF.
+
+	* 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.
+
+	* gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
+	gxv_morx_validate): Improve trace message.
+
+	* gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
+	warnings.
+	(gxv_opbd_validate): Improve trace message.
+
+	* gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
+	appropriate.
+	(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
+	message.
+
+	* 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/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
+	src/gxvalid/gxmort2.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 funcion 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
+	backwards 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 iss 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 2005 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: latin-1
+End:
--- a/Jamfile
+++ b/Jamfile
@@ -60,7 +60,7 @@
 # Define FT2_BUILD_INCLUDE to point to your build-specific directory.
 # This is prepended to FT2_INCLUDE_DIR.  It can be used to specify
 # the location of a custom <ft2build.h> which will point to custom
-# versions of "ftmodule.h" and "ftoption.h", for example.
+# versions of `ftmodule.h' and `ftoption.h', for example.
 #
 FT2_BUILD_INCLUDE ?= ;
 
@@ -67,7 +67,7 @@
 # The list of modules to compile on any given build of the library.
 # By default, this will contain _all_ modules defined in FT2_SRC_DIR.
 #
-# IMPORTANT: You'll need to change the content of "ftmodule.h" as well
+# IMPORTANT: You'll need to change the content of `ftmodule.h' as well
 #            if you modify this list or provide your own.
 #
 FT2_COMPONENTS ?= autofit    # auto-fitter
@@ -122,7 +122,7 @@
 }
 
 
-# We need "freetype2/include" in the current include path in order to
+# We need `freetype2/include' in the current include path in order to
 # compile any part of FreeType 2.
 #
 HDRS += $(FT2_INCLUDE) ;
@@ -143,13 +143,13 @@
 HDRMACRO  [ FT2_SubDir  include freetype internal internal.h ] ;
 
 
-# Now include the Jamfile in "freetype2/src", used to drive the compilation
+# Now include the Jamfile in `freetype2/src', used to drive the compilation
 # of each FreeType 2 component and/or module.
 #
 SubInclude  FT2_TOP $(FT2_SRC_DIR) ;
 
-# handle the generation of the "ftexport.sym" file which contain the list
-# of exported symbols. This can be used on Unix by libtool
+# Handle the generation of the `ftexport.sym' file which contain the list
+# of exported symbols.  This can be used on Unix by libtool.
 #
 SubInclude FT2_TOP $(FT2_SRC_DIR) tools ;
 
--- a/src/tools/apinames.c
+++ b/src/tools/apinames.c
@@ -1,17 +1,21 @@
-/* this little program is used to parse the FreeType headers and
- * find the declaration of all public API. This is easy, because
+/*
+ * This little program is used to parse the FreeType headers and
+ * find the declaration of all public API.  This is easy, because
  * they all look like the following:
  *
  *   FT_EXPORT( return_type )
  *   function_name( function arguments );
  *
- * you must pass it the list of header files as arguments, wildcards
- * accepted if you're using GCC on Windows
+ * You must pass the list of header files as arguments.  Wildcards are
+ * accepted if you are using GCC for compilation (and probably by
+ * other compilers too).
  *
- * Author: David Turner
+ * Author: David Turner, 2005
  *
- * This code is explicitely placed in the public domain
+ * This code is explicitly placed into the public domain.
+ *
  */
+
 #include <stdio.h>
 #include <stdlib.h>