Edit

kc3-lang/freetype/ChangeLog

Branch :

  • Show log

    Commit

  • Author : Werner Lemberg
    Date : 2006-02-25 16:56:04
    Hash : 20a8d0cf
    Message : * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h.

  • ChangeLog
  • 2006-02-25  Werner Lemberg  <wl@gnu.org>
    
    	* devel/ftoption.h: Synchronize with
    	include/freetype/config/ftoption.h.
    
    2006-02-25  David Turner  <david@freetype.org>
    
    	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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <david@freetype.org>
    
    	* Release candidate VER-2-2-0-RC3.
    	----------------------------------
    
    	* src/cache/ftcbasic.c: Correct compatibility hack bug.
    
    2006-02-24  Chia-I Wu  <b90201047@ntu.edu.tw>
    
    	* 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  <david@freetype.org>
    
    	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.
    
    2006-02-23  Chia-I Wu  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <david@freetype.org>
    
    	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  <david@freetype.org>
    
    	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  <david@freetype.org>
    
    	* 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_OldImage_Desc, 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  <wl@gnu.org>
    
    	* devel/ftoption.h: Synchronize with
    	include/freetype/config/ftoption.h.
    
    2006-02-16  David Turner  <david@freetype.org>
    
    	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  <b90201047@ntu.edu.tw>
    
    	* 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  <wl@gnu.org>
    
    	* 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/sfobjc.s: Inckude 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  <b90201047@ntu.edu.tw>
    
    	* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
    
    2006-02-14  Chia-I Wu  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	Clean up the SFNT_Interface.  In this final pass, `load_hmtx' is
    	splitted 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  <b90201047@ntu.edu.tw>
    
    	* src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
    	code...
    
    2006-02-13  Chia-I Wu  <b90201047@ntu.edu.tw>
    
    	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  <b90201047@ntu.edu.tw>
    
    	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' splitted 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	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  <wl@gnu.org>
    
    	* src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
    
    2006-02-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
    
    	* 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  <mpsuzuki@hiroshima-u.ac.jp>
    
    	* 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  <wl@gnu.org>
    
    	* 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  <wl@gnu.org>
    
    	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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <wl@gnu.org>
    
    	* src/*/module.mk (.PHONY): Add.
    
    2006-01-27  Werner Lemberg  <wl@gnu.org>
    
    	* 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  <david@freetype.org>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <wl@gnu.org>
    
    	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
    	`texinfo' CVS module at savannah.gnu.org.
    
    2006-01-21  Werner Lemberg  <wl@gnu.org>
    
    	* 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  <david@freetype.org>
    
    	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  <david@freetype.org>
    
    	* 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  <bw@imaginengine.com>
    
    	* builds/win32/visualc/freetype.dsp: Updated.
    
    2006-01-17  Werner Lemberg  <wl@gnu.org>
    
    	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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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 positve?) 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	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  <b90201047@ntu.edu.tw>
    
    	* 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  <wl@gnu.org>
    
    	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  <mpsuzuki@hiroshima-u.ac.jp>
    
    	* 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  <wl@gnu.org>
    
    	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  <mpsuzuki@hiroshima-u.ac.jp>
    
    	Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
    	Intel, as reported by Sean McBride <sean@rogue-research.com> 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  <wl@gnu.org>
    
    	* docs/CHANGES: Updated.
    
    2006-01-08  Huw D M Davies  <h.davies1@physics.ox.ac.uk>
    
    	* 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  <wl@gnu.org>
    
    	* src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
    	`bitmaps'.  Reported by Yu Lei <yulei0@gmail.com>.
    
    	* src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
    	Reported by Niels Boldt <nielsboldt@gmail.com>.
    
    2005-12-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
    
    	* src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
    	MPW compiler.
    
    2005-12-23  David Turner  <david@freetype.org>
    
    	* 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  <mpsuzuki@hiroshima-u.ac.jp>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* 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  <david@freetype.org>
    
    	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_fiags 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/ttags.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_servives) [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  <wl@gnu.org>
    
    	* src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
    	* src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
    
    2005-12-06  Chia-I Wu  <b90201047@ntu.edu.tw>
    
    	* 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  <taeklee@gmail.com>
    
    	* 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  <wl@gnu.org>
    
    	* 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  <b90201047@ntu.edu.tw>
    
    	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
    	tt_cmap12_char_map_binary): Fix compiler warnings.
    
    2005-11-29  Chia-I Wu  <b90201047@ntu.edu.tw>
    
    	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  <b90201047@ntu.edu.tw>
    
    	* 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