Home | History | Annotate | Download | only in freetype
      1 2005-06-08  Werner Lemberg  <wl (a] gnu.org>
      2 
      3 
      4 	* Version 2.1.10 released.
      5 	==========================
      6 
      7 
      8 	* src/pcf/readme: Renamed to...
      9 	* src/pcf/README: This.
     10 
     11 2005-06-07  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
     12 
     13 	* builds/amiga/*: Added copyright notes, reworked some comments.
     14 
     15 2005-06-05  Werner Lemberg  <wl (a] gnu.org>
     16 
     17 	* Add copyright notices to all files which don't have one.
     18 
     19 	* docs/license.txt: Renamed to...
     20 	* docs/LICENSE.TXT: This.
     21 	* docs/FTL.txt: Renamed to...
     22 	* docs/FTL.TXT: This.
     23 	* docs/GPL.txt: Renamed to...
     24 	* docs/GPL.TXT: This.
     25 
     26 	* docs/PATENTS: Slightly reworded.  Suggested by Sylvain Beucler
     27 	<beuc (a] gnu.org>.
     28 
     29 2005-06-04  Werner Lemberg  <wl (a] gnu.org>
     30 
     31 	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
     32 	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
     33 	FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
     34 	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
     35 	FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
     36 	`const' to stay compatible with FreeType 2.1.9.
     37 
     38 2005-06-01  Adam D. Moss  <adam (a] gimp.org>
     39 
     40 	* src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
     41 	2004-07-11; this gives much better results under normal
     42 	circumstances.
     43 
     44 2005-05-30  Chia I Wu  <b90201047 (a] ntu.edu.tw>
     45 
     46 	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
     47 	documentation improvements.
     48 
     49 	* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
     50 
     51 	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
     52 	of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
     53 	If xstr is larger than 8 and bitmap is of pixel_mode
     54 	FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
     55 
     56 2005-05-29  Chia I Wu  <b90201047 (a] ntu.edu.tw>
     57 
     58 	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
     59 	of mode FT_PIXEL_MODE_GRAY.  Also add support for mode
     60 	FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
     61 	(ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
     62 	should have ppb (pixel per byte) 1.
     63 	Zero the padding when there's no need to allocate memory.
     64 
     65 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
     66 	too.
     67 	More suited emboldening strength.
     68 
     69 2005-05-28  Chia I Wu  <b90201047 (a] ntu.edu.tw>
     70 
     71 	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
     72 	Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
     73 	Improve speed for FT_PIXEL_MODE_GRAY.
     74 	(ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
     75 	FT_PIXEL_MODE_LCD_V.
     76 
     77 2005-05-27  Chia I Wu  <b90201047 (a] ntu.edu.tw>
     78 
     79 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
     80 
     81 	* src/base/ftobjs.c (ft_cmap_done_internal): New function.
     82 	(FT_CMap_Done): Remove cmap from cmap list.
     83 	(destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
     84 	ft_cmap_done_internal.
     85 
     86 2005-05-26  Werner Lemberg  <wl (a] gnu.org>
     87 
     88 	* docs/GPL.txt: Update postal address of FSF.
     89 
     90 2005-05-26  Chia I Wu  <b90201047 (a] ntu.edu.tw>
     91 
     92 	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
     93 	documentation.
     94 
     95 	* src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
     96 	(FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
     97 	Always modify the metrics.
     98 
     99 2005-05-24  Werner Lemberg  <wl (a] gnu.org>
    100 
    101 	* docs/CHANGES: Updated.
    102 
    103 2005-05-24  Chia I Wu  <b90201047 (a] ntu.edu.tw>
    104 
    105 	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
    106 
    107 	* include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
    108 
    109 	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
    110 	function.
    111 	(FT_Bitmap_Embolden): New function.
    112 
    113 	* src/base/ftoutln.c (FT_Outline_Embolden): New function.
    114 
    115 	* src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
    116 	FT_TRIGONOMETRY_H but FT_BITMAP_H.
    117 	(FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
    118 	FT_Bitmap_Embolden.
    119 
    120 2005-05-24  Werner Lemberg  <wl (a] gnu.org>
    121 
    122 	* configure: Always remove config.mk, builds/unix/unix-def.mk, and
    123 	builds/unix/unix-cc.mk.  This fixes repeated calls of the script.
    124 	Reported by Nelson Beebe and Behdad Esfahbod.
    125 
    126 	* README.CVS: Mention file permissions.
    127 
    128 2005-05-23  Werner Lemberg  <wl (a] gnu.org>
    129 
    130 	* builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
    131 	(CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
    132 	-fno-strict-aliasing.
    133 
    134 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
    135 	it is currently loaded from ttsbit.c.
    136 
    137 2005-05-23  Behdad Esfahbod  <behdad (a] cs.toronto.edu>
    138 
    139 	Say you have `(Foo*)x' and want to assign, pass, or return it as
    140 	`(Bar*)'.  If you simply say `x' or `(Bar*)x', then the C compiler
    141 	would warn you that type casting incompatible pointer types breaks
    142 	strict-aliasing.  The solution is to cast to `(void*)' instead which
    143 	is the generic pointer type, so the compiler knows that it should
    144 	make no strict-aliasing assumption on `x'.  But the problem with
    145 	`(void*)x' is that seems like in C++, unlike C, `void*' is not a
    146 	generic pointer type and assigning `void*' to `Bar*' without a cast
    147 	causes an error.  The solution is to cast to `Bar*' too, with
    148 	`(Bar*)(void*)x' as the result -- this is what the patch does.
    149 
    150 	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
    151 	include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
    152 	cast on lvalue, use a temporary pointer instead.
    153 	Cast temporarily to (void*) to not break strict aliasing.
    154 
    155 	* include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
    156 	FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
    157 	src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
    158 	to not break strict aliasing.
    159 
    160 	* src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
    161 
    162 	* builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
    163 
    164 2005-05-23  David Turner  <dturner (a] freetype.org>
    165 
    166 	Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
    167 	in low-memory conditions).
    168 
    169 	* include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
    170 	FTC_CACHE_TRYLOOP_END): New macros.
    171 
    172 	* src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
    173 	(ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACHE_TRYLOOP_END.
    174 
    175 2005-05-23  Werner Lemberg  <wl (a] gnu.org>
    176 
    177 	* src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
    178 	(BASE_EXT_SRC): Here.
    179 
    180 2005-05-22  Werner Lemberg  <wl (a] gnu.org>
    181 
    182 	* src/base/ftrfork.c (raccess_guess_apple_generic): Mark
    183 	`version_number' and `entry_length' as unused.
    184 	(raccess_guess_linux_double_from_file_name): Remove `memory'.
    185 	(raccess_make_file_name): Mark `error' as unused.
    186 
    187 	* src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
    188 
    189 	* src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
    190 
    191 	* src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
    192 
    193 	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
    194 	ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
    195 
    196 	* src/base/rules.mk (BASE_SRC): Add ftsynth.c.
    197 
    198 2005-05-21  David Turner  <david (a] freetype.org>
    199 
    200 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
    201 	produced unpleasant artefacts when trying to embolden very sharp
    202 	corners.
    203 
    204 2005-05-20  Werner Lemberg  <wl (a] gnu.org>
    205 
    206 	* docs/CHANGES: Updated.
    207 
    208 2005-05-20  Chia I Wu  <b90201047 (a] ntu.edu.tw>
    209 
    210 	* src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
    211 	but FT_BITMAP_H.
    212 	(FT_Bitmap_Copy): New function (from ftglyph.c).
    213 
    214 	* include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
    215 	definition.
    216 
    217 	* src/base/ftglyph.c: Include FT_BITMAP_H.
    218 	(ft_bitmap_copy): Move to ftbitmap.c.
    219 	(ft_bitmap_glyph_init): Remove `memory' variable.
    220 	Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
    221 	(ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
    222 	(ft_bitmap_glyph_done): Use FT_Bitmap_Done.
    223 	(ft_outline_glyph_init): Use FT_Outline_Copy.
    224 
    225 	* src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
    226 	(FT_Outline_Done_Internal): Check for valid `memory' pointer.
    227 	(FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
    228 	FT_Outline_Transform): Check for valid `outline' pointer.
    229 
    230 	* src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
    231 	face->glyph, otherwise a new second glyph slot cannot be created.
    232 	(FT_Done_GlyphSlot): Fix memory leak.
    233 	(FT_Open_Face): Updated -- face->glyph is already managed by
    234 	FT_New_GlyphSlot.
    235 
    236 	* src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
    237 
    238 2005-05-20  Kirill Smelkov  <kirr (a] mns.spb.ru>
    239 
    240 	* include/freetype/ftimage.h (FT_Raster_Params),
    241 	include/freetype/ftoutln.h (FT_Outline_Translate,
    242 	FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
    243 	FT_Outline_Transform): Decorate parameters with `const' where
    244 	appropriate.
    245 	Update all callers.
    246 
    247 	* src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
    248 	(gray_raster_reset): Remove `const' from `pool_base' argument.
    249 
    250 2005-05-18  Kirill Smelkov  <kirr (a] mns.spb.ru>
    251 
    252 	* src/raster/ftmisc.h: New file.  Only needed if ftraster.c is
    253 	compiled as stand-alone.
    254 
    255 	* src/raster/ftraster.c: Add comment how to compile as stand-alone.
    256 	s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
    257 	s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
    258 	[_STANDALONE_]: Include ftimage.h and ftmisc.h.
    259 	(FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
    260 	conditionally.
    261 	(Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
    262 	Raster_Err_Unsupported).
    263 	(ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
    264 	(ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
    265 	Use `ras', not `raster'.
    266 	(ft_black_done): Use FT_UNUSED_RASTER.
    267 	(Horizontal_Sweep_Init, Horizontal_Sweep_Step,
    268 	Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
    269 
    270 2005-05-18  Werner Lemberg  <wl (a] gnu.org>
    271 
    272 	* docs/announce: Start updating.
    273 
    274 	* docs/CHANGES: Updated.
    275 
    276 2005-05-16  Vitaliy Pasternak  <v_a_pasternak (a] mail.ru>
    277 
    278 	* builds/win32/visualc/freetype.vcproj: Updated.
    279 	Exclude debug info for `Release' versions to reduce library size.
    280 
    281 2005-05-16  Werner Lemberg  <wl (a] gnu.org>
    282 
    283 	* src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
    284 	is, ignore `aface' completely if face_index < 0.  Reported by David
    285 	Osborn <spam (a] habitualhiatus.com>.
    286 
    287 2005-05-16  Kirill Smelkov  <kirr (a] mns.spb.ru>
    288 
    289 	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
    290 	FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
    291 	FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
    292 	gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
    293 	gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
    294 	with `const' where appropriate.
    295 
    296 2005-05-11  Kirill Smelkov  <kirr (a] mns.spb.ru>
    297 
    298 	* include/freetype/ftimage.h (FT_Raster_RenderFunc),
    299 	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
    300 	FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
    301 	src/base/ftglyph.c (ft_outline_glyph_transform),
    302 	src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
    303 	src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
    304 	src/smooth/ftsmooth.c (ft_smooth_transform,
    305 	ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
    306 	ft_smooth_render_lcd_v): Decorate parameters with `const' where
    307 	appropriate.
    308 
    309 	* src/raster/ftraster.c (RASTER_RENDER_POOL): Removed.  Obsolete.
    310 	(ft_black_render): Decorate parameters with `const' where
    311 	appropriate.
    312 
    313 2005-05-11  Werner Lemberg  <wl (a] gnu.org>
    314 
    315 	* src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
    316 	FT_PEEK_USHORT) which caused crashes.  Reported by Ismail Donmez
    317 	<ismail (a] kde.org.tr>.
    318 
    319 2005-05-08  Werner Lemberg  <wl (a] gnu.org>
    320 
    321 	* include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
    322 	[__cplusplus]: Fix typo.
    323 
    324 2005-05-07  Werner Lemberg  <wl (a] gnu.org>
    325 
    326 	Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
    327 	Blaskey <listtarget (a] danbala.com>).
    328 
    329 	* src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
    330 	* src/sfnt/ttcmap.c: Use SFNT_Err_Ok where appropriate.
    331 
    332 	(tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
    333 	tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
    334 	`FT_Error' as return type.
    335 	(tt_cmap4_validate): Use `FT_Error' as return type.
    336 	Return error code for unsorted cmap.
    337 	(tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
    338 	cmaps.
    339 	(tt_face_build_cmaps): Set `unsorted' variable in cmap.
    340 
    341 2005-05-07  Werner Lemberg  <wl (a] gnu.org>
    342 
    343 	* src/truetype/ttpload.c (tt_face_get_location): Fix typo.
    344 
    345 2005-05-06  Werner Lemberg  <wl (a] gnu.org>
    346 
    347 	* src/cff/cffobjs.c (cff_face_init): Set ppem value in top
    348 	dictionary for SFNT-based CFF.
    349 
    350 2005-05-05  Werner Lemberg  <wl (a] gnu.org>
    351 
    352 	Handle malformed `loca' table entries.
    353 
    354 	* docs/TODO: Add some bugs which should be fixed.
    355 
    356 	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
    357 	element.
    358 
    359 	* src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
    360 	table.
    361 	(tt_face_get_location): Fix computation of `asize' for malformed
    362 	`loca' entries.
    363 
    364 2005-05-01  David Turner  <david (a] freetype.org>
    365 
    366 	* Jamfile: Remove `otvalid' from the list of compiled modules.
    367 
    368 	* include/freetype/internal/ftserv.h: Add compiler pragmas to get
    369 	rid of annoying warnings with Visual C++ compiler in maximum warning
    370 	mode.
    371 
    372 	* src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
    373 	src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
    374 	src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
    375 	src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
    376 	src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
    377 
    378 2005-04-28  Werner Lemberg  <wl (a] gnu.org>
    379 
    380 	* docs/TODO: Updated.
    381 
    382 2005-04-24  Werner Lemberg  <wl (a] gnu.org>
    383 
    384 	* src/otvalid/otvcommn.c
    385 	(otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
    386 
    387 2005-04-16  Werner Lemberg  <wl (a] gnu.org>
    388 
    389 	* src/cff/cffobjs.c (cff_face_init): Set default upem value in top
    390 	font dict also.
    391 	Handle font matrix settings in subfonts.
    392 
    393 	* src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
    394 	for CID-keyed fonts with subfonts.
    395 
    396 	* docs/formats.txt: Updated.
    397 
    398 2005-04-14  Kirill Smelkov  <kirr (a] mns.spb.ru>
    399 
    400 	* include/freetype/freetype.h (FT_Vector_Transform),
    401 	include/freetype/ftimage.h (FT_Raster_Params),
    402 	include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
    403 	FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
    404 	FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
    405 	src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
    406 	`const' where appropriate.
    407 
    408 2005-04-14  Werner Lemberg  <wl (a] gnu.org>
    409 
    410 	* src/type1/t1load.c (parse_charstrings): Catch this non-standard
    411 	beginning of the /CharStrings dictionary:
    412 
    413 	  /CharStrings 118 dict def
    414 	  Private begin
    415 	  CharStrings begin
    416 
    417 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
    418 	to call of tt_sbit_decoder_load_bitmap.
    419 
    420 2005-04-13  Werner Lemberg  <wl (a] gnu.org>
    421 
    422 	* docs/TODO: Updated.
    423 
    424 	* autogen.sh: Use `--force' for all commands.
    425 
    426 2005-04-09  Werner Lemberg  <wl (a] gnu.org>
    427 
    428 	* src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
    429 	only if `fitted' is not zero.
    430 
    431 2005-04-06  Werner Lemberg  <wl (a] gnu.org>
    432 
    433 	* src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
    434 	Fix typo which sometimes causes wrong metrics for the last glyph.
    435 
    436 2005-04-04  David Turner  <david (a] freetype.org>
    437 
    438 	* devel/ftoption.h, include/freetype/config/ftoption.h
    439 	(FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
    440 	release.
    441 	(*_CHESTER_*): Removed.  No longer used.
    442 
    443 	* src/autofit/afhints.c (af_axis_hints_new_segment,
    444 	af_axis_hints_new_edge): Small tweak to use less heap memory.
    445 
    446 2005-04-03  Werner Lemberg  <wl (a] gnu.org>
    447 
    448 	* src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
    449 	first line in the font.
    450 
    451 2005-04-03  Werner Lemberg  <wl (a] gnu.org>
    452 
    453 	* docs/CHANGES, include/freetype/freetype.h: Improve documentation
    454 	of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
    455 
    456 2005-03-26  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
    457 
    458 	* builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
    459 	offsets after a large read.
    460 
    461 2005-03-26  Werner Lemberg  <wl (a] gnu.org>
    462 
    463 	* src/autofit/afglobal.c (af_face_globals_get_metrics):
    464 	s/index/gidx/.
    465 
    466 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
    467 	warnings.
    468 
    469 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
    470 
    471 	* src/sfnt/ttsbit0.h: Dummy file for build with `make'.
    472 
    473 2005-03-26  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
    474 
    475 	Update of the Amiga port.
    476 
    477 	* builds/amiga/makefile, builds/amiga/makefile.os4,
    478 	builds/amiga/smakefile: Included the base extension files
    479 	(ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
    480 
    481 2005-03-25  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
    482 
    483 	Update of the Amiga port.
    484 
    485 	* builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
    486 
    487 	* builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
    488 
    489 	* builds/amiga/README: Updated.
    490 
    491 	* builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
    492 	AmigaOS4.
    493 
    494 	* builds/amiga/include/freetype/config/ftmodule.h: Handle new
    495 	modules.
    496 
    497 	* builds/amiga/src/base/ftdebug.c: Updated to current version of
    498 	default ftdebug.c.
    499 	Add various include files and macros to have proper support for
    500 	both AmigaOS4 and older AmigaOS versions.
    501 	Don't declare KVPrintF explicitly.
    502 	Replace getenv with GetVar.
    503 	Actually enable debugging code.
    504 
    505 	* builds/amiga/src/base/ftsystem.c: Major rewrite.
    506 
    507 2005-03-23  Werner Lemberg  <wl (a] gnu.org>
    508 
    509 	* tests/*: Removed.
    510 
    511 2005-03-23  Werner Lemberg  <wl (a] gnu.org>
    512 
    513 	* docs/CHANGES, docs/INSTALL.ANY: Updated.
    514 
    515 	* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
    516 	Add `OTvalid'.
    517 
    518 	* src/autofit/aferrors.h: New file.
    519 
    520 	* src/autofit/afglobal.c, src/autofit/afhints.c,
    521 	src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
    522 	Include aferrors.h.
    523 
    524 	* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
    525 
    526 	* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
    527 
    528 2005-03-22  David Turner  <david (a] freetype.org>
    529 
    530 	* src/autohint/*: Removed.
    531 	* Jamfile: Updated.
    532 
    533 2005-03-15  David Turner  <david (a] freetype.org>
    534 
    535 	* src/bdf/bdflib.c: Remove compiler warnings.
    536 	(hash_rehash, hash_init): Don't call FT_MEM_ZERO.
    537 	(_bdf_list_t): Add `memory' field.
    538 	(_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
    539 	(_bdf_shift, _bdf_join): Rename to...
    540 	(_bdf_list_shift, _bdf_list_join): This.
    541 	(_bdf_split): Renamed to...
    542 	(_bdf_list_split): This.  Use new functions.
    543 	(bdf_internal_readstream): Removed.
    544 	(NO_SKIP): New macro.
    545 	(_bdf_readstream): Rewritten.
    546 	(bdf_create_property, _bdf_add_comment): Improve allocation.
    547 	(_bdf_set_default_spacing, _bdf_parse_glyphs): Updated.  Improve
    548 	allocation.
    549 	(_bdf_parse_properties, _bdf_parse_start): Updated.
    550 	(bdf_load_font): Updated to use new functions.
    551 
    552 	* src/type1/t1parse.c (check_type1_format): New function.
    553 	(T1_New_Parser): Use it to check font header before allocating
    554 	anything on the heap.
    555 
    556 	* src/type42/t42parse.c	(t42_parser_init): Modify functions to check
    557 	the font header before allocating anything on the heap.
    558 
    559 	* include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
    560 	FT_ARRAY_CHECK): New macros.
    561 
    562 	* src/base/ftstream.c (FT_Stream_TryRead): New function.
    563 	* include/freetype/internal/ftstream.h: Updated.
    564 
    565 	* src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
    566 	(BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
    567 	simplifications.  Try to protect the PCF driver from doing stupid
    568 	things with broken fonts.
    569 
    570 	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
    571 	doing anything else.  This avoids unnecessary heap allocations
    572 	(400KByte of heap memory for the LZW decoder).
    573 
    574 	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Ditto for the gzip
    575 	decoder, although the code savings are smaller.
    576 
    577 	* docs/CHANGES: Updated.
    578 
    579 2005-03-10  David Turner  <david (a] freetype.org>
    580 
    581 	* src/tools/glnames.py: Add comment to explain the compression
    582 	being used for the Adobe Glyph List.
    583 
    584 2005-03-10  Werner Lemberg  <wl (a] gnu.org>
    585 
    586 	* src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
    587 	Fix serious typo which prevented correct TT rendering.
    588 
    589 	* include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
    590 	To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
    591 
    592 2005-03-10  Werner Lemberg  <wl (a] gnu.org>
    593 
    594 	* src/tools/glnames.py: Formatted.
    595 	Format output to be in sync with other FreeType code.
    596 	Import `re' and `os.path'.
    597 	(StringTable) <__init__>: Add parameter to initialize master table
    598 	name.
    599 	(StringTable) <dump>: Don't pass master table name.
    600 	(StringTable) <dump_sublist>: Emit explanatory comment.
    601 	Simplify and make output more human readable.
    602 	(t1_bias, glyph_list, adobe_glyph_names): Removed.  Unused.
    603 	(main): Use `basename' for file name in header.
    604 
    605 	* src/psnames/pstables.h: Regenerated.
    606 
    607 2005-03-09  David Turner  <david (a] freetype.org>
    608 
    609 	* src/tools/glnames.py: Rewrite the generator for the `pstables.h'
    610 	header file which contains various constant tables related to glyph
    611 	names.  It now uses a different, more compact storage scheme that
    612 	saves about 20KB.  This also closes Savannah bug #12262.
    613 
    614 	* src/psnames/pstables.h: Regenerated.
    615 
    616 	* src/psnames/psmodule.c (ps_unicode_value): Use
    617 	`ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
    618 	(ps_get_macintosh_name, ps_get_standard_strings): Updated.
    619 
    620 	* src/base/ftobjs.c (FT_Set_Char_Size): Handle fractional sizes
    621 	more carefully.  This fixes Savannah bug #12263.
    622 
    623 2005-03-06  David Turner  <david (a] freetype.org>
    624 
    625 	* src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
    626 	constant.
    627 
    628 	* src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
    629 	#12212 (auto-hinter refuses to work if no Unicode charmap in font).
    630 
    631 2005-03-05  Werner Lemberg  <wl (a] gnu.org>
    632 
    633 	* autogen.sh: New script for bootstrapping.
    634 
    635 	* README.CVS: New file which documents bootstrapping.
    636 
    637 	* builds/unix/aclocal.m4, builds/unix/config.guess,
    638 	builds/unix/config.sub, builds/unix/configure,
    639 	builds/unix/ltmain.sh: Removed.
    640 
    641 2005-03-04  Werner Lemberg  <wl (a] gnu.org>
    642 
    643 	* src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
    644 
    645 2005-03-03  Werner Lemberg  <wl (a] gnu.org>
    646 
    647 	Various fixes for C and C++ compiling.
    648 
    649 	* src/autofit/*: Add copyright messages.
    650 
    651 	* src/autofit/afhints.c (af_glyph_hints_done): Don't use
    652 	`AF_Dimension' but `int' for loop counter.
    653 
    654 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
    655 	`AF_Dimension' but `int' for loop counter.
    656 	Use proper enumeration value for `render_mode'.
    657 	(af_latin_metrics_scale_dim): Don't shadow variables.
    658 	(af_latin_hints_compute_segments): Use proper cast for `major_dir'
    659 	and `segment_dir'.
    660 	(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
    661 	`af_latin_compute_stem_width'.
    662 	(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
    663 	counter.
    664 
    665 	* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
    666 	proper cast for memory allocation.
    667 
    668 	* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
    669 	initialization of `sfnt'.
    670 
    671 	* src/sfnt/sfdriver.c: Include `ttkern.h'.
    672 
    673 	* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
    674 
    675 	* src/truetype/ttgload.c: Include `ttpload.h'.
    676 
    677 2005-03-03  David Turner  <david (a] freetype.org>
    678 
    679 	* include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
    680 	FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
    681 	avoid compiler warnings.
    682 	(FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
    683 	FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
    684 
    685 	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
    686 	FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
    687 	Provide macro versions which avoid compiler warnings.
    688 
    689 	* src/base/ftutil.c (ft_highpow2): New utility function.
    690 
    691 	* include/freetype/internal/ftobjs.h: Updated.
    692 
    693 	* src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
    694 	pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
    695 	(pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
    696 	is set.
    697 	(pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
    698 	FT_OPTIMIZE_MEMORY is set.
    699 
    700 	* src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
    701 	doesn't work with broken fonts.
    702 	(pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
    703 
    704 	* src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
    705 	(PFR_NEXT_KPAIR): New macro.
    706 	(PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
    707 	set.
    708 
    709 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
    710 	temporary variable to avoid gcc warning.
    711 	(tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
    712 
    713 	* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
    714 	Remove redundant variable.
    715 
    716 	* include/freetype/config/ftmodule.h: Moving the order of drivers to
    717 	speed up font loading.  The PCF and BDF loaders are still slow and
    718 	consume far too much memory.
    719 
    720 2005-03-03  Werner Lemberg  <wl (a] gnu.org>
    721 
    722 	* devel/ftoption.h: Updated to recent changes.
    723 
    724 2005-03-02  Werner Lemberg  <wl (a] gnu.org>
    725 
    726 	* src/autofit/afdummy.c, src/autofit/afdummy.h
    727 	(af_dummy_script_class): Fix type.
    728 
    729 	* src/autofit/aflatin.c, src/autofit/aflatin.h
    730 	(af_latin_script_class): Fix type.
    731 
    732 	* src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
    733 
    734 2005-03-01  David Turner  <david (a] freetype.org>
    735 
    736 	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
    737 	src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
    738 	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
    739 	tt_sbit_decoder_load_image), src/sfnt/ttload.c
    740 	(tt_face_load_metrics): Remove compiler warnings
    741 	-- redundant variables, missing initializations, etc.
    742 
    743 	* src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
    744 
    745 	* src/autofit/rules.mk, src/autofit/module.mk,
    746 	src/autofit/afangles.h: New files.
    747 
    748 	* src/autofit/afhints.c (af_axis_hints_new_segment,
    749 	af_axis_hints_new_edge): New functions.
    750 	(af_glyph_hints_done): Do proper deallocation.
    751 	(af_glyph_hints_reload): Only reallocate points array.  This
    752 	drastically reduces heap usage.
    753 
    754 	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
    755 	member types and positions.
    756 	(AF_AxisHintsRec): Add `max_segments' and `max_edges'.
    757 	(af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
    758 
    759 	* src/autofit/aflatin.c (af_latin_metrics_scale): Don't call
    760 	AF_SCALER_EQUAL_SCALES.
    761 	(af_latin_hints_compute_segments): Change return type to FT_Error.
    762 	Update all callers.
    763 	Improve segment allocation.
    764 	(af_latin_hints_compute_edges): Change return type to FT_Error.
    765 	Update all callers.
    766 	Improve edge allocation and link handling.
    767 	(af_latin_hints_detect_features): Change return type to FT_Error.
    768 	Update all callers.
    769 
    770 	* src/autofit/aflatin.h: Updated.
    771 
    772 	* src/autofit/afloader.c (af_loader_load_g)
    773 	<FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1.  This fixes
    774 	a bug with certain fonts.
    775 
    776 	* include/freetype/config/ftmodule.h: The auto-fitter is now the
    777 	only supported auto-hinting module.
    778 
    779 	* include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
    780 
    781 2005-02-28  Werner Lemberg  <wl (a] gnu.org>
    782 
    783 	* src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
    784 
    785 	* src/sfnt/ttkern.c: Include `ttkern.h'.
    786 	(FT_COMPONENT): Updated.
    787 
    788 	* include/freetype/internal/fttrace.h: Add entry for `ttkern'.
    789 
    790 	* src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
    791 	Decorate constants with `U' and `L' where necessary.
    792 
    793 	* src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
    794 
    795 2005-02-28  David Turner  <david (a] freetype.org>
    796 
    797 	* src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
    798 	sources according to decreasing maximum cumulative allocations.
    799 	(ft_mem_source_compare): New auxiliary function.
    800 
    801 	* src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
    802 	embedded bitmap loader.
    803 
    804 	* src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
    805 	FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
    806 	Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
    807 	file contents.
    808 	(tt_face_load_sbit_strikes): Set up root fields to indicate the
    809 	strikes.  This fixes Savannah bug #12107.
    810 	Use `static' keyword for `sbit_line_metrics_field',
    811 	`strike_start_fields', `strike_end_fields'.
    812 
    813 	* include/freetype/internal/tttypes.h (TT_FaceRec): Define
    814 	`sbit_table', `sbit_table_size', `sbit_num_strikes' if
    815 	FT_OPTIMIZE_MEMORY is set.
    816 	Don't define `num_sbit_strikes' and `sbit_strikes' if
    817 	FT_OPTIMIZE_MEMORY is set.
    818 
    819 	* src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
    820 
    821 	* src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
    822 	loading SFNT fonts without a `kern' table.
    823 	Properly pass root->face_flags.
    824 	Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
    825 
    826 	* src/sfnt/sfdriver.c (sfnt_interface)
    827 	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
    828 	and `tt_load_sbit_metrics'.
    829 
    830 	* src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
    831 	(OPT_CMAP4): New macro.
    832 	(TT_CMap4Rec) [OPT_CMAP4]: New structure.
    833 	(tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
    834 	[OPT_CMAP4]: New functions.
    835 	(tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
    836 	`tt_cmap4_reset'.
    837 	(tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
    838 	`tt_cmap4_init'.
    839 
    840 	* src/truetype/ttobjs.c (Reset_SBit_Size): Handle
    841 	FT_OPTIMIZE_MEMORY.
    842 
    843 	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
    844 	Optimize member types.
    845 
    846 	* src/autofit/afloader.c (af_loader_done): Call
    847 	`af_glyph_hints_done'.
    848 
    849 2005-02-27  David Turner  <david (a] freetype.org>
    850 
    851 	* src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
    852 	caused invalid (random) return values for the horizontal kerning.
    853 
    854 2005-02-25  David Turner  <david (a] freetype.org>
    855 
    856 	Implement several memory optimizations to drastically reduce the
    857 	heap usage of FreeType, especially in the case of memory-mapped
    858 	files.  The idea is to avoid loading and decoding tables in the
    859 	heap, and instead access the raw data whenever possible (i.e., when
    860 	it doesn't compromise performance).
    861 
    862 	This has several benefits: For example, opening vera.ttf now uses
    863 	just a small amount of memory (even when the FT_Library footprint is
    864 	accounted for), until you start loading glyphs.  Even then, you save
    865 	at least 20KB compared to the non-optimized case.  Performance of
    866 	various operations, including open and close, has also been
    867 	dramatically improved.
    868 
    869 	More optimizations to come, especially for the auto-hinter.
    870 
    871 	* include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
    872 	function type.
    873 	(SFNT_Interface): Add it.
    874 
    875 	* include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
    876 	TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
    877 	(TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
    878 	`vert_metrics', `vert_metrics_size', `hdmx_table',
    879 	`hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
    880 	`hdmx_record_sizes', `kern_table', `kern_table_size,
    881 	`num_kern_tables', `kern_avail_bits', `kern_order_bits' if
    882 	FT_OPTIMIZE_MEMORY is set.
    883 	Don't define `hdmx', `num_kern_pairs', `kern_table_index',
    884 	`kern_pairs' if FT_OPTIMIZE_MEMORY is set.
    885 
    886 	* src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
    887 	Fix compiler warning.
    888 
    889 	* src/cff/cffdrivr.c (Get_Kerning): Renamed to...
    890 	(cff_get_kerning): This.  Simplify.
    891 	(cff_driver_class): Updated.
    892 
    893 	* src/sfnt/Jamfile (_sources): Add `ttkern'.
    894 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
    895 
    896 	* src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
    897 
    898 	* src/sfnt/sfnt.c: Include `ttkern.c'.
    899 
    900 	* src/sfnt/sfobjs.c: Include `ttkern.h'.
    901 	(sfnt_load_face): Consider the `kern' and `gasp' table as optional.
    902 	(sfnt_done_face): Call `tt_face_done_kern'.
    903 	Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
    904 
    905 	* src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files.  Code has been
    906 	taken from `ttload.c' and `ttload.h'.
    907 	Provide special versions of `tt_face_load_kern',
    908 	`tt_face_get_kerning', and `tt_face_done_kern' for
    909 	FT_OPTIMIZE_MEMORY.
    910 
    911 	* src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
    912 	tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
    913 	(tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
    914 	`ttkern.c'.
    915 
    916 	* src/sfnt/ttload.h: Updated.
    917 
    918 	* src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
    919 
    920 	* src/truetype/ttdriver.c (Get_Kerning): Renamed to...
    921 	(tt_get_kerning): This.  Simplify.
    922 	(tt_driver_class): Updated.
    923 
    924 	* src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
    925 	(tt_face_get_metrics): This.  Provide version for FT_OPTIMIZE_MEMORY.
    926 	Update all callers.
    927 	(Get_Advance_Widths): Replaced with...
    928 	(Get_Advance_WidthPtr): This.  Provide version for
    929 	FT_OPTIMIZE_MEMORY.
    930 	Update all callers.
    931 
    932 	* src/truetype/ttgload.h: Updated.
    933 
    934 2005-02-22  David Turner  <david (a] freetype.org>
    935 
    936 	* src/base/ftdbgmem.c: Partly rewritten.  Added the ability to list
    937 	all allocation sites in the memory debugger.  Also a new function
    938 	FT_DumpMemory() was added.  It is only available in builds with
    939 	FT_DEBUG_MEMORY defined, and you must declare it in your own code to
    940 	use it, i.e., with something like:
    941 
    942 	  extern void FT_DumpMemory( FT_Memory );
    943 
    944 	  ...
    945 
    946 	  FT_DumpMemory( memory );
    947 
    948 	* include/freetype/config/ftoption.h
    949 	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
    950 	again.
    951 	(FT_OPTIMIZE_MEMORY): New configuration macro to control various
    952 	optimizations for reducing the heap footprint of memory-mapped
    953 	TrueType files.
    954 
    955 	* include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
    956 	convenience macro.
    957 
    958 	* include/freetype/internal/tttypes.h (TT_FaceRec)
    959 	[FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
    960 	`glyph_locations'.
    961 
    962 	* src/truetype/ttgload.c (load_truetype_glyph): Call
    963 	`tt_face_get_location'.
    964 
    965 	* src/truetype/ttobjs.c (tt_face_init)
    966 	[FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
    967 	(tt_face_done): Call `tt_face_done_loca'.
    968 
    969 	* src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
    970 	New functions.  If FT_OPTIMIZE_MEMORY is set, the locations table is
    971 	read directly from memory-mapped streams, instead of being decoded
    972 	into the heap.
    973 	(tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
    974 	(tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
    975 	bytecode interpreter is compiled in.
    976 
    977 	* src/truetype/ttpload.h: Updated.
    978 
    979 	* src/autohint/ahglyph.c (ah_outline_load): Improve allocation
    980 	logic.
    981 
    982 2005-02-20  Werner Lemberg  <wl (a] gnu.org>
    983 
    984 	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
    985 	--copy' from libtool 1.5.14.
    986 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
    987 	automake 1.9.4.
    988 
    989 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
    990 	`config' CVS module at subversions.gnu.org.
    991 
    992 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
    993 	`texinfo' CVS module at subversions.gnu.org.
    994 
    995 2005-02-14  Werner Lemberg  <wl (a] gnu.org>
    996 
    997 	* src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
    998 	a cmap for a CID-keyed font which doesn't have SIDs.
    999 
   1000 2005-02-13  Werner Lemberg  <wl (a] gnu.org>
   1001 
   1002 	* src/type1/t1load.c (read_binary_data): Return more meaningful
   1003 	value.
   1004 	(parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
   1005 	parser error value after call to T1_Skip_PS_Token (where necessary).
   1006 
   1007 	* src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
   1008 	value after call to T1_Skip_PS_Token.
   1009 
   1010 	* src/cid/cidparse.c (cid_parser_new): Check parser error value
   1011 	after call to cid_parser_skip_PS_token.
   1012 
   1013 	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
   1014 	t42_parse_charstrings, t42_parse_dict): Check parser error value
   1015 	after call to T1_Skip_PS_Token (where necessary).
   1016 
   1017 	* src/psaux/psobjs.c (skip_string, ps_parser_skip_PS_token,
   1018 	ps_tobytes): Add error messages.
   1019 
   1020 2005-02-12  Werner Lemberg  <wl (a] gnu.org>
   1021 
   1022 	* configure: Output more variables to the created Makefile so that
   1023 	it can be used for ft2demos also (if the FT2DEMOS variable is
   1024 	defined).
   1025 
   1026 2005-02-10  David Turner  <david (a] freetype.org>
   1027 
   1028 	* src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
   1029 	dynamic array when loading a glyph from a PFR font (Savannah bug
   1030 	#11921).
   1031 
   1032 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
   1033 	conversion function (mainly stupid optimization).
   1034 
   1035 	* src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
   1036 
   1037 2005-02-10  Werner Lemberg  <wl (a] gnu.org>
   1038 
   1039 	* builds/unix/freetype-config.in: Add new flag `--ftversion' to
   1040 	return the FreeType version.  Suggested by George Williams
   1041 	<gww (a] silcom.com>.
   1042 
   1043 	* docs/CHANGES: Updated.
   1044 
   1045 2005-02-09  Werner Lemberg  <wl (a] gnu.org>
   1046 
   1047 	* src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
   1048 	of error.  Reported by YAMANO-UCHI Hidetoshi <mer (a] din.or.jp>.
   1049 
   1050 2005-02-08  Werner Lemberg  <wl (a] gnu.org>
   1051 
   1052 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
   1053 	<op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
   1054 	happen in empty glyphs.  Reported by Ian Brown
   1055 	<ian.brown (a] printsoft.de> (Savannah bug #11856).
   1056 
   1057 2005-02-04  Werner Lemberg  <wl (a] gnu.org>
   1058 
   1059 	* src/otlayout/*: Removed.  Obsolete.
   1060 
   1061 2004-12-28  Werner Lemberg  <wl (a] gnu.org>
   1062 
   1063 	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
   1064 	--copy' from libtool 1.5.10.
   1065 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
   1066 	automake 1.9.4.
   1067 	* builds/unix/configure: Regenerated with autoconf 2.59b.
   1068 
   1069 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
   1070 	`config' CVS module at subversions.gnu.org.
   1071 
   1072 	* builds/unix/install-sh: Updated from
   1073 	`texinfo' CVS module at subversions.gnu.org.
   1074 
   1075 	* builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
   1076 	ft_alloc.
   1077 	Fix compiler warning.
   1078 
   1079 2004-12-27  Dirck Blaskey  <listtarget (a] danbala.com>
   1080 
   1081 	* src/cff/cffobjs.c (cff_face_init): Improve computation of
   1082 	FT_STYLE_BOLD_FLAG.
   1083 
   1084 2004-12-27  Werner Lemberg  <wl (a] gnu.org>
   1085 
   1086 	* src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
   1087 	only a single font.  This is undocumented but has been verified on
   1088 	the opentype list.
   1089 
   1090 2004-12-26  Werner Lemberg  <wl (a] gnu.org>
   1091 
   1092 	* Jamfile (FT2_COMPONENTS): Add `otvalid'.
   1093 
   1094 2004-12-25  Werner Lemberg  <wl (a] gnu.org>
   1095 
   1096 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
   1097 
   1098 2004-12-15  Werner Lemberg  <wl (a] gnu.org>
   1099 
   1100 	* vms_make.com: Add ftbitmap.obj.
   1101 
   1102 2004-12-14  Werner Lemberg  <wl (a] gnu.org>
   1103 
   1104 	* src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
   1105 	handling various bitmap formats.
   1106 
   1107 	* include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
   1108 
   1109 	* src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
   1110 
   1111 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
   1112 	but return them as-is.
   1113 
   1114 	* docs/CHANGES: Mention new bitmap API.
   1115 	* include/freetype/ftchapters.h: Updated.
   1116 
   1117 2004-12-11  Robert Clark  <freetype (a] ratty.org.uk>
   1118 
   1119 	* src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
   1120 	dependent on ppem by scaling down for ppem < 25, then do normal
   1121 	rounding.  This gives slightly better results than rounding towards
   1122 	zero.
   1123 
   1124 2004-12-09  Werner Lemberg  <wl (a] gnu.org>
   1125 
   1126 	* src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
   1127 	for FT_KERNING_DEFAULT.  This greatly enhances the kerning for
   1128 	small ppem values.
   1129 
   1130 2004-12-08  Werner Lemberg  <wl (a] gnu.org>
   1131 
   1132 	* src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
   1133 	`rsb_delta'.
   1134 
   1135 2004-12-05  Werner Lemberg  <wl (a] gnu.org>
   1136 
   1137 	* builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
   1138 
   1139 2004-12-03  Antoine Leca  <Antoine-Freetype (a] Leca-Marti.org>
   1140 
   1141 	* include/freetype/ttnameid.h: Updated to latest
   1142 	specifications from Microsoft.
   1143 
   1144 2004-11-26  Jouk Jansen  <joukj (a] hrem.stm.tudelft.nl>
   1145 
   1146 	* vms_make.com: Include ftbbox.c.
   1147 	Fix `ccopt'.
   1148 	Handle `otvalid' module.
   1149 	Update `vmslib.dat' default values.
   1150 	Fixes to `libs.opt'.
   1151 
   1152 2004-11-23  Anders Kaseorg  <anders (a] kaseorg.com>
   1153 
   1154 	* src/base/ftoutln.c (FT_OrientationExtremumRec,
   1155 	ft_orientation_extremum_compute): Removed.
   1156 	(FT_Outline_Get_Orientation): Rewritten, simplified.
   1157 
   1158 	* src/autohint/ahglyph.c: Include FT_OUTLINE_H.
   1159 	(ah_test_extremum, ah_get_orientation): Removed.
   1160 	(ah_outline_load): Use FT_Outline_Get_Orientation.
   1161 
   1162 	* src/base/ftsynth.c (ft_test_extrema, ft_get_orientation): Removed.
   1163 	(FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
   1164 
   1165 2004-11-23  Fernando Papa  <fpapa (a] netgate.com.uy>
   1166 
   1167 	* src/truetype/ttinterp.h: Fix typo.
   1168 
   1169 2004-11-22  Antoine Leca  <Antoine-Freetype (a] Leca-Marti.org>
   1170 
   1171 	* builds/win32/detect.mk: Corrected logic that detects Windows NT to
   1172 	use the previous change even if win32 is forced.  Corrected
   1173 	detection of win32 on Win9X.
   1174 
   1175 	* builds/dos/detect.mk: Added same correction as for win32 about
   1176 	COPY on Windows NT.  Detection of plain DOS 7.x.
   1177 
   1178 2004-11-22  Werner Lemberg  <wl (a] gnu.org>
   1179 
   1180 	* builds/detect.mk: Undo change from 2004-11-20.
   1181 	* builds/win32/detect.mk: If the `OS' environment variable contains
   1182 	`Windows_NT', use `cmd.exe /c copy' for copying files.
   1183 
   1184 2004-11-20  Werner Lemberg  <wl (a] gnu.org>
   1185 
   1186 	* builds/detect.mk (dos_setup): Use `cmd.exe' for copying
   1187 	$(CONFIG_MK) to force lowercase file name under Windows.
   1188 
   1189 2004-11-19  Werner Lemberg  <wl (a] gnu.org>
   1190 
   1191 	Fix a serious bug in the TT hinter.
   1192 
   1193 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
   1194 	points vertically before hinting.
   1195 
   1196 	* docs/CHANGES: Updated.
   1197 
   1198 	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
   1199 	FTC_GCache_Lookup): A new try to fix comparison with zero.
   1200 
   1201 2004-11-16  Werner Lemberg  <wl (a] gnu.org>
   1202 
   1203 	* builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
   1204 	used.
   1205 	* builds/unix/configure: Regenerated.
   1206 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
   1207 	`config' CVS module at subversions.gnu.org.
   1208 
   1209 2004-11-16  Dr. Martin P.J. Zinser  <zinser (a] decus.de>
   1210 
   1211 	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
   1212 	FTC_GCache_Lookup): Fix comparison with zero.
   1213 
   1214 	* docs/INSTALL.VMS: Updated.
   1215 
   1216 	* vms_make.com: Updated.  All `descrip.mms' files are now created
   1217 	automatically.
   1218 
   1219 	* src/*/descrip.mms: Removed.
   1220 
   1221 2004-11-16  Owen Taylor  <otaylor (a] redhat.com>
   1222 
   1223 	* builds/unix/freetype-config.in: Suppress -L$libdir for
   1224 	/usr/lib64 as well as /usr/lib.  (Reported by Dan Winship -
   1225 	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
   1226 
   1227 2004-11-11  Werner Lemberg  <wl (a] gnu.org>
   1228 
   1229 	* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
   1230 	* src/cid/cidriver.c (cid_service_ps_info): Updated.
   1231 	* src/type42/t42drivr.c (t42_ps_get_font_private): New function.
   1232 	(t42_service_ps_info): Updated.
   1233 
   1234 	* src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
   1235 
   1236 2004-11-11  David Bevan  <dbevan (a] emtex.com>
   1237 
   1238 	Add new function FT_Get_PS_Font_Private().
   1239 
   1240 	* include/freetype/internal/services/svpsinfo.h
   1241 	(PS_GetFontPrivateFunc): New service function.
   1242 
   1243 	* include/freetype/t1tables.h, src/base/fttype1.c
   1244 	(FT_Get_PS_Font_Private): New function.
   1245 
   1246 	* src/type1/t1driver.c (t1_ps_get_font_private): New function.
   1247 	(t1_service_ps_info): Updated.
   1248 
   1249 2004-10-13  Werner Lemberg  <wl (a] gnu.org>
   1250 
   1251 	* include/freetype/config/ftstdlib.h: Include `stddef.h'.
   1252 	(ft_ptrdiff_t): Define.
   1253 
   1254 	* include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
   1255 
   1256 	* src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
   1257 	(parse_dict): Fix compiler warning.
   1258 
   1259 2004-10-11  Joshua Neal  <jneal (a] csdaily.com>
   1260 
   1261 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
   1262 	overflow.
   1263 
   1264 	* src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
   1265 	Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
   1266 	in case of failure.
   1267 
   1268 	* src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
   1269 	(tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
   1270 	frame test.
   1271 
   1272 	* src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
   1273 	`flag'.
   1274 
   1275 2004-10-09  Werner Lemberg  <wl (a] gnu.org>
   1276 
   1277 	* docs/CHANGES: Updated.
   1278 
   1279 2004-10-09  Boris Letocha  <b.letocha (a] cz.gmc.net>
   1280 
   1281 	Fix handling of NPUSHW if skipped in data stream.
   1282 
   1283 	* src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
   1284 	to -2.
   1285 	(SkipCode, TT_RunIns): Use opcode_length value for computation of
   1286 	bytes to be skipped.
   1287 
   1288 2004-09-10  Jouk Jansen  <joukj (a] hrem.stm.tudelft.nl>
   1289 
   1290 	* vms_make.com: Updated.
   1291 
   1292 2004-09-09  Werner Lemberg  <wl (a] gnu.org>
   1293 
   1294 	Adding OpenType validation module.  The code is based on the
   1295 	(unfinished) `otlayout' module but has been heavily modified to make
   1296 	it much more compact.
   1297 
   1298 	* src/otvalid/*: New module.
   1299 
   1300 	* include/freetype/ftotval.h, src/base/ftotval.c,
   1301 	include/freetype/internal/services/svotval.h: New files.
   1302 
   1303 	* include/freetype/config/ftmodule.h: Add otv_module_class.
   1304 	* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
   1305 	macro.
   1306 	* include/freetype/internal/ftserv.h
   1307 	(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
   1308 	* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
   1309 	otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
   1310 
   1311 	* include/freetype/ftchapters.h: Updated.
   1312 
   1313 	* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
   1314 	src/base/rules.mk (BASE_EXT_SRC): Updated.
   1315 
   1316 	* docs/CHANGES: Updated.
   1317 
   1318 2004-09-08  Werner Lemberg  <wl (a] gnu.org>
   1319 
   1320 	* src/tools/docmaker/sources.py (re_source_block_format2) <column>:
   1321 	Use lookahead assertion to not match `*/'.  This removes spurious
   1322 	insertions of `/' in the HTML output.
   1323 
   1324 2004-09-07  Werner Lemberg  <wl (a] gnu.org>
   1325 
   1326 	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
   1327 	FT_NEW_ARRAY.
   1328 
   1329 2004-09-04  Werner Lemberg  <wl (a] gnu.org>
   1330 
   1331 	* include/freetype/internal/ftobjs.h: Don't include
   1332 	FT_CONFIG_STANDARD_LIBRARY_H.
   1333 	(FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
   1334 	ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
   1335 	FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
   1336 	FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
   1337 
   1338 	* include/freetype/internal/ftvalid.h: New file.
   1339 	Make FT_INVALID return module-specific error codes.
   1340 
   1341 	* include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
   1342 	macro.
   1343 
   1344 	* include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
   1345 	FT_KEEP_ERR_PREFIX isn't defined.
   1346 
   1347 	* src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
   1348 
   1349 	* src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
   1350 	FT_INTERNAL_VALIDATE_H.
   1351 
   1352 	* src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
   1353 	FT_INTERNAL_VALIDATE_H.
   1354 	Include sferrors.h before FT_INTERNAL_VALIDATE_H.
   1355 	s/FT_Err_Ok/SFNT_Err_Ok/.
   1356 
   1357 	* src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
   1358 
   1359 	* src/type1/t1afm.c: Include t1errors.h.
   1360 
   1361 2004-09-03  Werner Lemberg  <wl (a] gnu.org>
   1362 
   1363 	* src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
   1364 	not 6.
   1365 	* docs/DEBUG: Updated.
   1366 
   1367 2004-08-30  Werner Lemberg  <wl (a] gnu.org>
   1368 
   1369 	* include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
   1370 	TTAG_JSTF): New tags.
   1371 
   1372 	* include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
   1373 	(FT_Int): Add `signed'.
   1374 
   1375 2004-08-29  Werner Lemberg  <wl (a] gnu.org>
   1376 
   1377 	* src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
   1378 	to pass number of lookups.
   1379 	Update all callers.
   1380 	Don't call otl_lookup_list_validate but otl_lookup_validate.
   1381 	(otl_gpos_validate): Call otl_lookup_list_validate instead of
   1382 	otl_gpos_subtable_validate.
   1383 
   1384 	* src/otlayout/otlgpos.h: Updated.
   1385 
   1386 	* src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
   1387 	pass number of lookups.
   1388 	Update all callers.
   1389 
   1390 
   1391 	* src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
   1392 	compiler warning.
   1393 
   1394 
   1395 	* src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
   1396 	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
   1397 	* src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
   1398 	src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
   1399 
   1400 
   1401 	* builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
   1402 	if compiler is g++ (v3.3.3 emits a warning otherwise).
   1403 
   1404 2004-08-28  Werner Lemberg  <wl (a] gnu.org>
   1405 
   1406 	* src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
   1407 	not number of 16bit entities.
   1408 	(otl_gpos_lookup2_validate): Check class definition tables for
   1409 	format 2.
   1410 	Fix loop for format 2.
   1411 	(otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
   1412 
   1413 2004-08-27  Werner Lemberg  <wl (a] gnu.org>
   1414 
   1415 	* src/base/ftmac.c: Don't include truetype/ttobjs.h.
   1416 	Don't include type1/t1objs.h.
   1417 	(FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
   1418 
   1419 2004-08-27  Mathieu Malaterre  <mathieu (a] malaterre.com>
   1420 
   1421 	* src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
   1422 
   1423 2004-08-27  Werner Lemberg  <wl (a] gnu.org>
   1424 
   1425 	* src/otlayout/otlayout.h: Add copyright.
   1426 	(OTL_INVALID_OFFSET): Removed.
   1427 
   1428 	* src/otlayout/otlgdef.h: Include otlayout.h.
   1429 	Comment out inclusion of otltable.h.
   1430 
   1431 	* src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
   1432 	to otl_base_array_validate.
   1433 	(otl_liga_mark2_validate): Fix `for' loop.
   1434 
   1435 	* src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
   1436 	not components array.
   1437 
   1438 	* src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
   1439 	Comment out.
   1440 	(otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
   1441 	(otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
   1442 	s/otl_lookup_get_count/otl_lookup_list_get_count/.
   1443 	(otl_script_list_validate):
   1444 	s/otl_feature_get_count/otl_feature_list_get_count/.
   1445 	(otl_script_validate): Call otl_lang_validate for default language.
   1446 
   1447 	* src/otlayout/otlcommn.h: Updated.
   1448 
   1449 2004-08-16  Werner Lemberg  <wl (a] gnu.org>
   1450 
   1451 	* src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
   1452 	otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
   1453 	otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
   1454 	otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
   1455 	otl_gpos_validate): Update
   1456 	function arguments.
   1457 	(otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
   1458 	function arguments.
   1459 	Handle NULL offsets correctly.
   1460 	Check sequence and lookup indices for format 3.
   1461 	(otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
   1462 	to pass lookup count.
   1463 	Check sequence and glyph indices.
   1464 	(otl_gpos_subtable_validate): Update function arguments.
   1465 	Update callers.
   1466 
   1467 	* src/otlayout/otlgpos.h: Updated.
   1468 
   1469 	* src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
   1470 	otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
   1471 	function arguments.
   1472 	Add glyph index checks.
   1473 	(otl_sequence_validate, otl_alternate_set_validate,
   1474 	otl_ligature_validate): Add argument to pass glyph count.
   1475 	Update callers.
   1476 	Add glyph index check.
   1477 	(otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
   1478 	function arguments.
   1479 	(otl_ligature_set_validate): Add argument to pass glyph count.
   1480 	Update caller.
   1481 	(otl_sub_class_rule_validate,
   1482 	otl_sub_class_rule_set_validate): Removed.
   1483 	(otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
   1484 	to pass lookup count.
   1485 	Update callers.
   1486 	Add lookup index check.
   1487 	(otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
   1488 	argument to pass lookup count.
   1489 	Update callers.
   1490 	(otl_gsub_lookup5_validate): Update function arguments.
   1491 	Handle NULL offsets correctly.
   1492 	Don't call otl_sub_class_rule_set_validate but
   1493 	otl_sub_rule_set_validate.
   1494 	Check sequence and lookup indices for format 3.
   1495 	(otl_gsub_lookup6_validate): Update function arguments.
   1496 	Handle NULL offsets correctly.
   1497 	Check sequence and lookup indices for format 3.
   1498 	(otl_gsub_lookup7_validate, otl_gsub_validate): Update function
   1499 	arguments.
   1500 
   1501 	* src/otlayout/otlgsub.h: Updated.
   1502 
   1503 	* src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
   1504 	correctly.
   1505 
   1506 	* src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
   1507 	compiler warning.
   1508 	(otl_coverage_get_first, otl_coverage_get_last): New functions.
   1509 	(otl_lookup_validate): Add arguments to pass lookup and glyph
   1510 	counts.
   1511 	Update callers.
   1512 	(otl_lookup_list_validate): Add argument to pass glyph count.
   1513 	Update callers.
   1514 
   1515 	* src/otlayout/otlcommn.h: Updated.
   1516 
   1517 	* src/otlayout/otljstf.c (otl_jstf_extender_validate,
   1518 	otl_jstf_max_validate, otl_jstf_script_validate,
   1519 	otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
   1520 	to validate glyph indices.
   1521 	Update callers.
   1522 	(otl_jstf_validate): Add parameter which specifies number of glyphs
   1523 	in font.
   1524 
   1525 	* src/otlayout/otljstf.h: Updated.
   1526 
   1527 2004-08-15  Werner Lemberg  <wl (a] gnu.org>
   1528 
   1529 	* src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
   1530 	to handle possible NULL values properly.
   1531 	Update all callers.
   1532 
   1533 2004-08-15  Werner Lemberg  <wl (a] gnu.org>
   1534 
   1535 	* src/otlayout/gpos.c: Rename counting variables to be more
   1536 	meaningful.
   1537 	Add copyright.
   1538 	(otl_liga_attach_validate): Renamed to...
   1539 	(otl_liga_mark2_validate): This.
   1540 	Update all callers.
   1541 	(otl_mark2_array_validate): Removed.
   1542 	(otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
   1543 	otl_mark2_array_validate.
   1544 	(otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
   1545 	(otl_gpos_lookup7_validate): Complete code for format 2.
   1546 	(otl_chain_pos_class_rule_validate,
   1547 	otl_chain_pos_class_set_validate): Removed.
   1548 	(otl_gpos_lookup8_validate): Don't call
   1549 	otl_chain_pos_class_set_validate but
   1550 	otl_chain_pos_rule_set_validate.
   1551 	Simplify some code.
   1552 
   1553 	* src/otlayout/otlgpos.h: Add copyright.
   1554 
   1555 2004-08-14  Werner Lemberg  <wl (a] gnu.org>
   1556 
   1557 	* src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
   1558 	(otl_jstf_gpos_mods_validate): Renamed to...
   1559 	(otl_jstf_gsubgpos_mods_validate): This.
   1560 	Test whether lookup_count is zero.
   1561 	(otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
   1562 	(otl_jstf_validate): Initialize gsub_lookup_count and
   1563 	gpos_lookup_count if gsub or gpos is zero.
   1564 
   1565 	* src/otlayout/otlgsub.c: Rename counting variables to be more
   1566 	meaningful.
   1567 	Add copyright.
   1568 	(otl_gsub_lookup1_validate): Simplify code.
   1569 	(otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
   1570 	otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
   1571 	variables.
   1572 	(otl_gsub_lookup5_validate): Remove unused variable.
   1573 	Fix call to otl_sub_rule_set_validate and
   1574 	otl_sub_class_rule_set_validate.
   1575 	(otl_chain_sub_class_rule_validate,
   1576 	otl_chain_sub_class_set_validate): Removed.
   1577 	(otl_gsub_lookup6_validate): Remove unused variable.
   1578 	Fix call to otl_chain_sub_rule_set_validate.
   1579 	(otl_gsub_lookup7_validate): Handle lookup type 8 also.
   1580 	(otl_gsub_lookup8_validate: New function.
   1581 	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
   1582 	otl_gsub_lookup3_apply): Commented out.
   1583 	(otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
   1584 	otl_gsub_lookup8_validate.
   1585 	(otl_gsub_validate): Updated.
   1586 
   1587 	* src/otlayout/otlgsub.h: Add copyright.
   1588 
   1589 	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
   1590 	(otl_coverage_get_index): Comment out.
   1591 
   1592 2004-08-13  Werner Lemberg  <wl (a] gnu.org>
   1593 
   1594 	* src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
   1595 	function.
   1596 	* src/otlayout/otlcommn.h: Updated.
   1597 
   1598 	* src/otlayout/otlbase.c: Rename counting variables to be more
   1599 	meaningful.
   1600 	Add copyright message.
   1601 	* src/otlayout/otlbase.h: Add copyright message.
   1602 
   1603 	* src/otlayout/otlgdef.c: Rename counting variables to be more
   1604 	meaningful.
   1605 	Add copyright message.
   1606 	Use OTL_CHECK everywhere.
   1607 	(otl_caret_value_validate): Remove unused variable.
   1608 	(otl_gdef_validate): All tables are optional.
   1609 	* src/otlayout/otlgdef.h: Add copyright message.
   1610 
   1611 	* src/otlayout/otljstf.c: Rename counting variables to be more
   1612 	meaningful.
   1613 	Add copyright message.
   1614 	(otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
   1615 	parameter to pass lookup count.
   1616 	Update all callers.
   1617 	Check lookup array.
   1618 	(otl_jstf_max_validate):
   1619 	s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
   1620 	(otl_jstf_priority_validate, otl_jstf_lang_validate,
   1621 	otl_jstf_script_validate): Add two parameters to pass lookup counts.
   1622 	Update all callers.
   1623 	(otl_jstf_validate): Add two parameters to pass GPOS and GSUB
   1624 	table offsets; use otl_gsubgpos_get_lookup_count to convert extract
   1625 	lookup counts.
   1626 	Fix typo.
   1627 	* src/otlayout/otljstf.h: Updated.
   1628 	Add copyright message.
   1629 
   1630 	* src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
   1631 	(otl_gpos_validate): Use it.
   1632 	* src/otlayout/otlgpos.h: Updated.
   1633 
   1634 2004-08-13  Werner Lemberg  <wl (a] gnu.org>
   1635 
   1636 	* src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
   1637 	(otl_coverage_validate): Initialize `p',
   1638 	s/count/num_glyphs/.
   1639 	s/start_cover/start_coverage/.
   1640 	(otl_coverage_get_index): Return OTL_Long, not OTL_Int.
   1641 	Remove unused variables.
   1642 	(otl_class_definition_validate): s/count/num_glyphs/.
   1643 	Remove unused variables.
   1644 	(otl_class_definition_get_value, otl_device_table_get_start,
   1645 	otl_device_table_get_end, otl_device_table_get_delta,
   1646 	otl_lookup_get_table, otl_lookup_list_get_count,
   1647 	otl_lookup_list_get_lookup, otl_lookup_list_get_table,
   1648 	otl_feature_get_lookups, otl_feature_list_get_count,
   1649 	otl_feature_list_get_feature, otl_lang_get_count,
   1650 	otl_lang_get_req_feature, otl_lang_get_features): Commented out
   1651 	temporarily until we really need it.
   1652 	(otl_lookup_validate): Removed.
   1653 	(otl_lookup_table_validate): Renamed to ...
   1654 	(otl_lookup_validate): This.  Update callers.
   1655 	(otl_lookup_list_validate): Remove already commented out definition
   1656 	and move the other definition up.
   1657 	(otl_feature_validate): Add parameter to pass number of lookups.
   1658 	Update callers.
   1659 	Check lookup indices.
   1660 	(otl_feature_list_validate): Add parameter to pass lookup table.
   1661 	Update callers.
   1662 	(otl_lang_validate): Add parameter to pass number of features.
   1663 	Update callers.
   1664 	Handle req_feature and check feature indices.
   1665 	(otl_script_validate): Add parameter to pass number of features.
   1666 	Update callers.
   1667 	(otl_script_list_validate): Add parameter to pass feature table.
   1668 	Update callers.
   1669 
   1670 	* src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
   1671 	Comment out the same functions as in otcommn.c.
   1672 	(otl_script_list_get_script): Removed.
   1673 
   1674 	* src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
   1675 	type OTL_Long.
   1676 	(otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
   1677 	type OTL_Long.
   1678 	Fix test.
   1679 	(otl_gsub_validate): Fix order of validation.
   1680 
   1681 	* src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
   1682 	validation.
   1683 
   1684 2004-08-12  Werner Lemberg  <wl (a] gnu.org>
   1685 
   1686 	Make otlayout module compile (without actually working).
   1687 
   1688 	* src/otlayout/*: s/OTL_Valid/OTL_Validator/.
   1689 	s/NULL/0/.
   1690 
   1691 	* src/otlayout/otlayout.h: Fix various typos.
   1692 	(OTL_Bool): New typedef.
   1693 	(OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
   1694 	(OTL_Err_InvalidArgument): Removed.
   1695 	(OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
   1696 	(OTL_MAKE_TAG): Add missing parenthesis.
   1697 	(OTL_INVALID_DATA): Use OTL_Err_InvalidData.
   1698 	(OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
   1699 	(OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
   1700 
   1701 	* src/otlayout/otlgpos.c: s/FT_/OTL_/.
   1702 	s/OTL_Short/OTL_Int16/.
   1703 	(otl_gpos_pairset_validate): Add return type.
   1704 	(otl_base_array_validate): Fix call to otl_anchor_validate.
   1705 	(otl_liga_array_validate): Fix call to otl_liga_attach_validate.
   1706 	(otl_gpos_lookup5_validate): Fix typos.
   1707 	(otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
   1708 	(otl_gpos_lookup7_validate): Comment out unfinished code.
   1709 	Fix typos.
   1710 
   1711 	* src/otlayout/otlgsub.c: Add forward declaration for
   1712 	otl_gsub_validate_funcs.
   1713 	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
   1714 	otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
   1715 	s/otl_coverage_lookup/otl_coverage_get_index/.
   1716 	(otl_ligature_validate): Add missing variable declaration.
   1717 	(otl_sub_rule_validate): Fix typo.
   1718 	(otl_sub_class_rule_validate): Add missing variable declaration.
   1719 	Fix typo.
   1720 	(otl_gsub_lookup5_validate): Fix typo.
   1721 	(otl_gsub_lookup6_validate): Fix call to
   1722 	otl_chain_sub_class_set_validate.
   1723 	(otl_gsub_validate_funcs): Don't use `const'.
   1724 
   1725 	* src/otlayout/otlcommn.c (otl_class_definition_get_value,
   1726 	otl_device_table_validate, otl_device_table_get_delta,
   1727 	otl_lookup_validate, otl_script_validate): Add missing
   1728 	variable declarations.
   1729 	(otl_lookup_list_validate): Comment out first definition.
   1730 	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
   1731 	(otl_feature_list_validate):
   1732 	s/otl_feature_table_validate/otl_feature_validate/.
   1733 	(otl_script_list_validate):
   1734 	s/otl_script_table_validate/otl_script_validate/.
   1735 
   1736 	* src/otlayout/otlcommn.h: Comment out first declaration.
   1737 	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
   1738 
   1739 	* src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
   1740 	otl_device_table_validate.
   1741 	(otl_base_script_validate): Add missing variable declarations.
   1742 	(otl_base_script_list_validate): Fix call to
   1743 	otl_base_script_validate.
   1744 	(otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
   1745 	and otl_base_script_list_validate.
   1746 	(otl_base_validate): Fix calls to otl_axis_table_validate.
   1747 
   1748 	* src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
   1749 	otl_attach_point_validate.
   1750 	(otl_caret_value_validate): Add missing variable declaration.
   1751 	Fix call to otl_device_table_validate.
   1752 	(otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
   1753 	(otl_ligature_caret_list_validate): Fix call to
   1754 	otl_ligature_glyph_validate.
   1755 	(otl_gdef_validate): Fix calls to otl_class_definition_validate,
   1756 	otl_attach_list_validate, otl_ligature_caret_list_validate, and
   1757 	otl_class_definition_validate.
   1758 
   1759 	* src/otlayout/otltable.h (otl_table_validate, otl_table_init,
   1760 	otl_table_set_script): Comment out.
   1761 
   1762 	* src/otlayout/otlparse.h (OTL_ParserRec):
   1763 	s/OTL_Alternate/OTL_GSUB_Alternate/.
   1764 	(OTL_ParseError): Add OTL_Err_Parser_Memory and
   1765 	OTL_Err_Parser_Internal.
   1766 	(otl_parser_error): Fix typo.
   1767 	(otl_parser_check_property): Remove third argument.
   1768 
   1769 	* src/otlayout/otlparse.c (otl_string_ensure):
   1770 	s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
   1771 	(OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
   1772 	otl_parser_replace_1, otl_parser_replace_n): Fix typos.
   1773 	(OTL_PARSER_UNCOVERED): Removed.
   1774 	(otl_parser_check_property): Remove third argument.
   1775 
   1776 	* src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
   1777 	variable declaration.
   1778 
   1779 	* src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
   1780 
   1781 2004-08-11  Danny  <dannyboynow (a] yahoo.com>
   1782 
   1783 	* src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
   1784 	to NULL.  This allows custom close functions to delete the FT_STREAM
   1785 	object.
   1786 
   1787 2004-08-11  Werner Lemberg  <wl (a] gnu.org>
   1788 
   1789 	Add API to get information about SFNT tables.
   1790 
   1791 	* include/freetype/internal/services/svsfnt.h
   1792 	(FT_SFNT_Table_Info_Func): New typedef.
   1793 	(SFNT_Table): Add it.
   1794 
   1795 	* src/base/ftobjs (FT_Sfnt_Table_Info): New function.
   1796 
   1797 	* include/freetype/tttables.h: Updated.
   1798 
   1799 	* src/sfnt/sfdriver.c (sfnt_table_info): New function.
   1800 	(sfnt_service_sfnt_table): Add it.
   1801 
   1802 	* docs/CHANGES: Updated.
   1803 
   1804 
   1805 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
   1806 
   1807 	* builds/unix/configure.ac (version_info): Set to 9:8:3.
   1808 	* builds/unix/configure: Updated.
   1809 
   1810 	* builds/win32/visualc/index.html,
   1811 	builds/win32/visualc/freetype.dsp,
   1812 	builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
   1813 
   1814 	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
   1815 	s/2.1.9/2.1.10/.
   1816 
   1817 	* docs/CHANGES, docs/VERSION.DLL: Updated.
   1818 
   1819 2004-08-11  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   1820 
   1821 	* src/base/ftrfork.c (FT_Raccess_Guess)
   1822 	[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK]: Remove compiler
   1823 	warnings.
   1824 
   1825 2004-08-06  Adam Piotrowski  <st_intel (a] poczta.onet.pl>
   1826 
   1827 	* src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
   1828 	adjustments are unsigned, not signed.
   1829 
   1830 2004-08-05  David Turner  <david (a] freetype.org>
   1831 
   1832 	`Activate' gray-scale specifying hinting within the TrueType
   1833 	bytecode interpreter.  This is an experimental feature which
   1834 	should probably be made optional.
   1835 
   1836 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
   1837 	load_truetype_glyph): Move the code to set the pedantic_hinting flag
   1838 	to...
   1839 	(TT_Load_Glyph): Here.
   1840 	Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
   1841 
   1842 	* src/truetype/ttinterp.c (Ins_GETINFO): Return MS rasterizer
   1843 	version 1.7.
   1844 	Return rotation and stretching info only if glyph is rotated or
   1845 	stretched, respectively.
   1846 	Handle grayscale info.
   1847 
   1848 	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
   1849 	member.
   1850 
   1851 2004-08-02  George Williams  <gww (a] silcom.com>
   1852 
   1853 	* src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
   1854 
   1855 2004-08-01  Werner Lemberg  <wl (a] gnu.org>
   1856 
   1857 	* docs/CHANGES: Updated.
   1858 
   1859 2004-08-01  George Williams  <gww (a] silcom.com>
   1860 
   1861 	FreeType now can read kerning values from PFM files.
   1862 
   1863 	* src/type1/t1afm.c (T1_Done_AFM): Renamed to...
   1864 	(T1_Done_Metrics): This.
   1865 	Update all callers.
   1866 	(T1_Read_AFM): Make it static.
   1867 	Don't enter and leave a frame.
   1868 	(LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
   1869 	(T1_Read_PFM): New function.
   1870 	(T1_Read_Metrics): New higher-level function to be used instead of
   1871 	T1_Read_AFM.
   1872 	Update all callers.
   1873 
   1874 2004-07-31  Werner Lemberg  <wl (a] gnu.org>
   1875 
   1876 	* src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
   1877 	(BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
   1878 	tt_face_vary_cvt): Fix compiler warnings.
   1879 
   1880 2004-07-26  Sren Sandmann  <sandmann (a] daimi.au.dk>
   1881 
   1882 	* src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
   1883 	face->style_name.
   1884 	* src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
   1885 
   1886 2004-07-26  Darren J Longhorn  <darren.longhorn (a] redcom.co.uk>
   1887 
   1888 	* include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
   1889 	five-byte `long' (which is avoided then).
   1890 
   1891 2004-07-25  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   1892 
   1893 	* src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
   1894 	ppem values.
   1895 	(PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
   1896 	code to compare ppem values.
   1897 	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
   1898 	ppem values.
   1899 	(BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
   1900 	code to compare ppem values.
   1901 
   1902 2004-07-25  Kornfeld Eliyahu Peter  <peter (a] e-kadmon.net>
   1903 
   1904 	* src/sfnt/sfobjs.c (sfnt_load_face): Handle
   1905 	TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
   1906 
   1907 2004-07-24  Derek B. Noonburg  <derekn (a] foolabs.com>
   1908 
   1909 	* src/cff/cffload.c (cff_font_load): Always create inverse mapping.
   1910 	Even if the charstring count is the same as the CID count, it is
   1911 	still possible that the font uses a different CID -> GID mapping.
   1912 
   1913 2004-07-23  Werner Lemberg  <wl (a] gnu.org>
   1914 
   1915 	* src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
   1916 	found in some Arphic fonts made for Chinese version of Windows 3.1.
   1917 
   1918 2004-07-17  David Turner  <david (a] freetype.org>
   1919 
   1920 	Fixed a dangling pointer bug in the cache code that happened in very
   1921 	rare cases, i.e., when a new family object was destroyed by an
   1922 	out-of-memory condition during a glyph node initialization.  The
   1923 	function FTC_Cache_Lookup would flush the cache and restart the
   1924 	lookup with a bad pointer.
   1925 
   1926 	* include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
   1927 	(FTC_GCACHE_LOOKUP_CMP): Use it.
   1928 	Handle reference count in `num_nodes' correctly.
   1929 
   1930 	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
   1931 	FTC_FAMILY_FREE.
   1932 	(FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
   1933 
   1934 	* src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
   1935 	bug.
   1936 
   1937 	* src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
   1938 	long and unnecessary delays while normalizing huge vectors.
   1939 
   1940 2004-07-15  Werner Lemberg  <wl (a] gnu.org>
   1941 
   1942 	* docs/CHANGES: Updated.
   1943 
   1944 	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
   1945 	warning.
   1946 
   1947 2004-07-15  David Turner  <david (a] freetype.org>
   1948 
   1949 	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
   1950 	are not stroked, preventing a bug with pala.ttf and other
   1951 	fonts.
   1952 
   1953 	* include/freetype/ftstroke.h: Updating documentation comments.
   1954 
   1955 2004-07-13  Werner Lemberg  <wl (a] gnu.org>
   1956 
   1957 	* src/base/ftstroke.c (ft_stroke_border_reverse): Removed.  Unused.
   1958 
   1959 2004-07-12  David Turner  <david (a] freetype.org>
   1960 
   1961 	* src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
   1962 	to indicate reversion of points.
   1963 	Update all callers.
   1964 	(ft_stroke_border_reverse): Fix initialization of `point1' and
   1965 	`tag1'.
   1966 
   1967 	* src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
   1968 	for transformed glyphs.
   1969 
   1970 2004-07-11  David Turner  <david (a] freetype.org>
   1971 
   1972 	Fix bugs that prevented the stroker to correctly generate stroked
   1973 	paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
   1974 
   1975 	The code is still _very_ buggy though; treat with special care.
   1976 
   1977 	* src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
   1978 	(ft_stroke_border_reverse): New function.
   1979 	(ft_stroker_inside): Remove local variable `sigma'; use different
   1980 	threshold.
   1981 	(ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
   1982 	(FT_Stroker_EndSubPath): Call ft_stroker_inside and
   1983 	ft_stroke_border_reverse.
   1984 
   1985 2004-06-26  Peter Kovar  <peter.kovar (a] r3.roburnet.sk>
   1986 
   1987 	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
   1988 
   1989 2004-06-25  Werner Lemberg  <wl (a] gnu.org>
   1990 
   1991 	* src/type1/t1afm.c (afm_atoindex): Fix boundary test.  Reported
   1992 	by Dirck Blaskey.
   1993 
   1994 2004-06-24  David Turner  <david (a] freetype.org>
   1995 
   1996 
   1997 	* Version 2.1.9 released.
   1998 	=========================
   1999 
   2000 
   2001 	* src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
   2002 	compiler warnings.
   2003 
   2004 2004-06-23  Werner Lemberg  <wl (a] gnu.org>
   2005 
   2006 	* include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
   2007 	FT_QAlloc_Debug and FT_QRealloc_Debug.
   2008 
   2009 	* src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
   2010 	(FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
   2011 	Fix error message.
   2012 
   2013 2004-06-23  David Turner  <david (a] freetype.org>
   2014 
   2015 	* include/freetype/internal/ftmemory.h, src/base/ftutil.c
   2016 	(FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
   2017 	FT_QRealloc_Debug): New functions that perform allocation without
   2018 	zero-ing out the corresponding blocks.
   2019 
   2020 	* include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
   2021 	FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
   2022 	FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
   2023 	FT_QRENEW_ARRAY): New macros.
   2024 
   2025 	* src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
   2026 	* src/gzip/ftgzip.c (FT_Stream_OpenGzip):  Use FT_QNEW_ARRAY.
   2027 	* src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
   2028 
   2029 	* src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
   2030 	tt_face_load_gasp): Use FT_QNEW_ARRAY.
   2031 	(tt_face_load_kern): Use FT_QNEW_ARRAY.
   2032 	Small optimization in the kerning table verifier; this speeds up
   2033 	TrueType face opening by about 7%.
   2034 	(tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
   2035 
   2036 	* include/freetype/config/ftmodule.h: Changed the order of modules,
   2037 	putting TrueType and Type 1 first.  This dramatically improves the
   2038 	performance of face open/close operations.  For example, putting the
   2039 	TrueType driver first in the list results in a 5x speedup when
   2040 	opening `Vera.ttf'.
   2041 
   2042 	The very problem is that both the PCF and BDF drivers do a lot more
   2043 	than necessary to detect that they cannot handle a font file.
   2044 
   2045 2004-06-22  Werner Lemberg  <wl (a] gnu.org>
   2046 
   2047 	* src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
   2048 	pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
   2049 	debugging messages.
   2050 
   2051 	* src/pcf/pcfdrivr.c (FT_COMPONENT): Move up.
   2052 	(PCF_Face_Init): Simplify code.
   2053 
   2054 	* src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
   2055 
   2056 	* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
   2057 	src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
   2058 
   2059 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
   2060 	Set `default_glyph'.
   2061 	(BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
   2062 
   2063 	* docs/CHANGES: Updated.
   2064 
   2065 2004-06-21  Werner Lemberg  <wl (a] gnu.org>
   2066 
   2067 	* docs/CHANGES: Updated.
   2068 
   2069 2004-06-21  David Turner  <david (a] freetype.org>
   2070 
   2071 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
   2072 	load_truetype_glyph): Don't access (unrounded)
   2073 	`TT_Size.root.metrics' but (rounded) `TT_Size.metrics'.  This fixes
   2074 	a scaling bug that caused incorrect rendering when the bytecode
   2075 	interpreter was enabled.
   2076 
   2077 2004-06-14  Huw D M Davies  <h.davies1 (a] physics.ox.ac.uk>
   2078 
   2079 	* src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
   2080 	based on pixel_width and pixel_height.
   2081 	(FNT_Size_Set_Pixels): Updated.
   2082 
   2083 2004-06-14  Werner Lemberg  <wl (a] gnu.org>
   2084 
   2085 	* src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
   2086 	Reported by Hyvrinen Jyrki Juhani.
   2087 
   2088 2004-06-11  Werner Lemberg  <wl (a] gnu.org>
   2089 
   2090 	* docs/CHANGES: Updated.
   2091 
   2092 2004-06-10  David Turner  <david (a] freetype.org>
   2093 
   2094 	* src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
   2095 	src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
   2096 	Obsolete.
   2097 
   2098 	* src/raster/ftraster.c (Alignment, PAlignment): New union to fix
   2099 	problems with 64bit systems.
   2100 	(AlignProfileSize): Use it.
   2101 
   2102 2004-06-08  David Turner  <david (a] freetype.org>
   2103 
   2104 	* include/freetype/freetype.h (FT_Glyph_Metrics): Move `lsb_delta'
   2105 	and `rsb_delta' elements to...
   2106 	(FT_GlyphSlotRec): Here to retain binary compatibility with older
   2107 	FreeType versions.
   2108 	Update all users.
   2109 
   2110 	* src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
   2111 
   2112 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
   2113 	of slot->metrics.width and slot->metrics.height when loading a
   2114 	Windows FNT glyph.  Thanks to Huw Davies.
   2115 
   2116 	* include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
   2117 	return type to FT_Bool.
   2118 
   2119 	* src/cache/ftcbasic.c (ftc_basic_family_compare): Change return
   2120 	type to FT_Bool.
   2121 
   2122 	* src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
   2123 	the former call the latter, not vice versa.
   2124 	(FTC_Cache_Done, ftc_cache_done): Ditto.
   2125 
   2126 	* src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
   2127 	the former call the latter, not vice versa.
   2128 	(FTC_GCache_Init, ftc_gcache_init): Ditto.
   2129 	(FTC_GCache_Done, ftc_gcache_done): Ditto.
   2130 
   2131 	* src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
   2132 	former call the latter, not vice versa.
   2133 	(FTC_INode_Weight, ftc_inode_weight): Ditto.
   2134 
   2135 	* src/cache/ftcmanag.c (ftc_size_node_compare,
   2136 	ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
   2137 	type to FT_Bool.
   2138 
   2139 	* src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
   2140 	former call the latter, not vice versa.
   2141 	(FTC_SNode_Weight, ftc_snode_weight): Ditto.
   2142 	(FTC_SNode_Compare, ftc_snode_compare): Ditto.
   2143 
   2144 	* src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
   2145 	sub-system.
   2146 
   2147 2004-06-05  Werner Lemberg  <wl (a] gnu.org>
   2148 
   2149 	* src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
   2150 	`rsb_delta' in slot->metrics and tune side bearings slightly.
   2151 
   2152 2004-06-04  Werner Lemberg  <wl (a] gnu.org>
   2153 
   2154 	* docs/CHANGES: Updated.
   2155 
   2156 2004-06-04  David Chester  <davidchester (a] qmx.net>
   2157 
   2158 	Improve inter-letter spacing for autohinted glyphs.
   2159 
   2160 	* include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
   2161 	`lsb_delta' and `rsb_delta'.
   2162 
   2163 	* src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
   2164 	`rsb_delta' in slot->metrics and tune side bearings slightly.
   2165 
   2166 2004-06-04  David Turner  <david (a] freetype.org>
   2167 
   2168 	* src/autofit/*: Important fixes to the auto-fitter.  The output
   2169 	now seems to be 100% equivalent to the auto-hinter, while being
   2170 	about 2% faster (which proves that script-specific algorithm
   2171 	selection isn't a performance problem).
   2172 
   2173 	To test it, change `autohint' to `autofit' in
   2174 	<freetype/config/ftmodule.h> and recompile.
   2175 
   2176 	A few more testing is needed before making this the official
   2177 	auto-hinting module.
   2178 
   2179 2004-06-02  Werner Lemberg  <wl (a] gnu.org>
   2180 
   2181 	* src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
   2182 	warnings.
   2183 
   2184 2004-06-01  Werner Lemberg  <wl (a] gnu.org>
   2185 
   2186 	* src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
   2187 	name record for the Apple platform is preferred to a non-English
   2188 	entry for the Microsoft platform.  Problem reported by HANDA
   2189 	Ken'ichi.
   2190 
   2191 2004-05-19  George Williams  <gww (a] silcom.com>
   2192 
   2193 	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
   2194 	auxiliary functions.
   2195 	(T1_Get_MM_Var): Provide axis tags.
   2196 	Use mm_axis_unmap and mm_weights_unmap to provide default values
   2197 	for design and normalized axis coordinates.
   2198 
   2199 	* include/freetype/t1tables.h (PS_DesignMapRec): Change type of
   2200 	`design_points' to FT_Long.
   2201 	Update all users.
   2202 
   2203 2004-05-17  Werner Lemberg  <wl (a] gnu.org>
   2204 
   2205 	* src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
   2206 	Reported by Mikey Anbary <manbary (a] vizrt.com>.
   2207 
   2208 2004-05-15  Werner Lemberg  <wl (a] gnu.org>
   2209 
   2210 	* src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
   2211 
   2212 2004-05-15  George Williams  <gww (a] silcom.com>
   2213 
   2214 	* src/sfnt/ttload.c (tt_face_load_max_profile): Always set
   2215 	face->root.num_glyphs.
   2216 
   2217 2004-05-14  Masatake YAMATO  <jet (a] gyve.org>
   2218 	    George Williams  <gww (a] silcom.com>
   2219 
   2220 	* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
   2221 
   2222 2004-05-14  Werner Lemberg  <wl (a] gnu.org>
   2223 
   2224 	* src/cache/ftcbasic.c (ftc_basic_family_compare,
   2225 	ftc_basic_family_init, ftc_basic_family_get_count,
   2226 	ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
   2227 	ftc_basic_gnode_compare_faceid): Adjust parameters and return types
   2228 	to prototypes given in header files from include/freetype/cache.
   2229 	Use casts to proper types locally.
   2230 	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
   2231 	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
   2232 	casts.
   2233 
   2234 	* src/cache/ftccback.h: Adjust parameters and return types to
   2235 	prototypes given in header files from include/freetype/cache.
   2236 
   2237 	* src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
   2238 	ftc_inode_weight): Adjust parameters and return types to prototypes
   2239 	given in header files from include/freetype/cache.  Use casts to
   2240 	proper types locally.
   2241 
   2242 	* src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
   2243 	ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
   2244 	types to prototypes given in header files from
   2245 	include/freetype/cache.  Use casts to proper types locally.
   2246 
   2247 	* src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
   2248 	ftc_cmap_node_weight, ftc_cmap_node_compare,
   2249 	ftc_cmap_node_remove_faceid): Adjust parameters and return types to
   2250 	prototypes given in header files from include/freetype/cache.  Use
   2251 	casts to proper types locally.
   2252 	(ftc_cmap_cache_class): Remove casts.
   2253 
   2254 	* src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
   2255 	ftc_gcache_done): Adjust parameters and return types to prototypes
   2256 	given in header files from include/freetype/cache.  Use casts to
   2257 	proper types locally.
   2258 
   2259 	* src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
   2260 	ftc_size_node_init, ftc_size_node_reset,
   2261 	ftc_size_node_compare_faceid, ftc_face_node_init,
   2262 	ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
   2263 	return types to prototypes given in header files from
   2264 	include/freetype/cache.  Use casts to proper types locally.
   2265 
   2266 	(ftc_size_list_class, ftc_face_list_class): Remove casts.
   2267 
   2268 2004-05-13  Werner Lemberg  <wl (a] gnu.org>
   2269 
   2270 	* src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
   2271 	Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
   2272 	(autohint_module_class): Remove casts.
   2273 
   2274 	* src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
   2275 	ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
   2276 	ft_outline_glyph_done, ft_outline_glyph_copy,
   2277 	ft_outline_glyph_transform, ft_outline_glyph_bbox,
   2278 	ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
   2279 	to FT_XXXGlyph locally.
   2280 	Use FT_CALLBACK_DEF throughout.
   2281 	(ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
   2282 
   2283 	* src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
   2284 	bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
   2285 	and do a cast to BDF_CMap locally.
   2286 	(bdf_cmap_class): Remove casts.
   2287 
   2288 2004-05-12  Werner Lemberg  <wl (a] gnu.org>
   2289 
   2290 	* src/cff/cffgload.h (CFF_Builder): Remove `error'.
   2291 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
   2292 	`Memory_Error' with `Fail' and update all users.
   2293 
   2294 2004-05-11  Werner Lemberg  <wl (a] gnu.org>
   2295 
   2296 	* include/freetype/internal/psaux.h (T1_ParseState): New
   2297 	enumeration.
   2298 	(T1_BuilderRec): Replace `path_begun' with `parse_state'.
   2299 	Remove `error'.
   2300 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
   2301 	`Memory_Error' with `Fail' and update all users.
   2302 	Don't use `builder->error'.
   2303 	Replace `path_begun' with `parse_state' and check parsing states.
   2304 
   2305 	* src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
   2306 	Replace `path_begun' with `parse_state' and check parsing states.
   2307 
   2308 2004-05-10  George Williams  <gww (a] silcom.com>
   2309 
   2310 	* src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
   2311 	of error -- `avar' is optional so we can't rely on tt_done_blend
   2312 	being called automatically.
   2313 
   2314 2004-05-09  George Williams  <gww (a] silcom.com>
   2315 
   2316 	* src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
   2317 	error handling.
   2318 
   2319 2004-05-07  Werner Lemberg  <wl (a] gnu.org>
   2320 
   2321 	* src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
   2322 	pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
   2323 	pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
   2324 	typecast to the proper PFR_XXX types within the function.
   2325 	Update code accordingly.
   2326 
   2327 	* src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
   2328 	pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
   2329 	arguments which are typecast to the proper PFR_XXX types within the
   2330 	function.
   2331 	Update code accordingly.
   2332 	Use FT_CALLBACK_DEF throughout.
   2333 	(pfr_metrics_service_rec, pfr_driver_class): Remove casts.
   2334 
   2335 2004-05-06  Masatake YAMATO  <jet (a] gyve.org>
   2336 
   2337 	* src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
   2338 	(*): Rename local variable OffsetToData to offsetToData.
   2339 
   2340 2004-05-06  Werner Lemberg  <wl (a] gnu.org>
   2341 
   2342 	* src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
   2343 	cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
   2344 	root fields directly.
   2345 	* src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
   2346 
   2347 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
   2348 	frame before calling TT_Vary_Get_Glyph_Deltas.
   2349 
   2350 	* src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
   2351 	consistency.
   2352 	(pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
   2353 	pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
   2354 	are typecast to the proper PCF_XXX types within the function.
   2355 	Update code accordingly.
   2356 	(pcf_cmap_class): Remove casts.
   2357 	(PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
   2358 	PCF_XXX but FT_XXX arguments which are typecast to the proper
   2359 	PCF_XXX types within the function.
   2360 	Update code accordingly.
   2361 	Use FT_CALLBACK_DEF throughout.
   2362 	(PCF_Set_Point_Size): New wrapper function.
   2363 	(PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
   2364 	(pcf_driver_class): Remove casts.
   2365 
   2366 2004-05-04  Steve Hartwell  <shspamsink (a] comcast.net>
   2367 
   2368 	* src/truetype/ttobjs.c (tt_driver_done): Fix typo.
   2369 
   2370 2004-05-04  Werner Lemberg  <wl (a] gnu.org>
   2371 
   2372 	* src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
   2373 	BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
   2374 	are typecast to the proper BDF_XXX types within the function.
   2375 	Update code accordingly.
   2376 	Use FT_CALLBACK_DEF throughout.
   2377 	(BDF_Set_Point_Size): New wrapper function.
   2378 	(bdf_driver_class): Remove casts.
   2379 
   2380 	* src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
   2381 	Don't use CFF_XXX but FT_XXX arguments which are typecast to the
   2382 	proper CFF_XXX types within the function.
   2383 	Update code accordingly.
   2384 	Use FT_CALLBACK_DEF throughout.
   2385 	(cff_driver_class): Remove casts.
   2386 
   2387 	* src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
   2388 	cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
   2389 	cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
   2390 	Don't use CFF_XXX but FT_XXX arguments which are typecast to the
   2391 	proper CFF_XXX types within the function.
   2392 	Update code accordingly.
   2393 	(cff_point_size_reset): New wrapper function.
   2394 
   2395 	* src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
   2396 	cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
   2397 	cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
   2398 	Don't use CID_XXX but FT_XXX arguments which are typecast to the
   2399 	proper CID_XXX types within the function.
   2400 	Update code accordingly.
   2401 	(cid_point_size_reset): New wrapper function.
   2402 
   2403 	* src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
   2404 	Don't use CID_XXX but FT_XXX arguments which are typecast to the
   2405 	proper CID_XXX types within the function.
   2406 	Update code accordingly.
   2407 
   2408 	* src/cid/cidriver.c (cid_get_interface):
   2409 	Don't use CID_XXX but FT_XXX arguments which are typecast to the
   2410 	proper CID_XXX types within the function.
   2411 	Update code accordingly.
   2412 	Use FT_CALLBACK_DEF.
   2413 	(t1cid_driver_class): Remove casts.
   2414 
   2415 	* src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
   2416 	* src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
   2417 	variables (this is done later).
   2418 	(ft_var_load_avar): Fix call to FT_FRAME_ENTER.
   2419 	(TT_Get_MM_Var): Fix size for `fvar_fields'.
   2420 	(TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
   2421 	correctly.
   2422 
   2423 	* src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
   2424 	current size is zero.
   2425 
   2426 2004-05-03  Steve Hartwell  <shspamsink (a] comcast.net>
   2427 
   2428 	* src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
   2429 	tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
   2430 	tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
   2431 	typecast to the proper TT_XXX types within the function.
   2432 	Update code accordingly.
   2433 
   2434 	* src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
   2435 	Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
   2436 	FT_XXX arguments which are typecast to the proper TT_XXX types
   2437 	within the function.
   2438 	Update code accordingly.
   2439 	(tt_driver_class): Remove casts.
   2440 
   2441 2004-05-02  Werner Lemberg  <wl (a] gnu.org>
   2442 
   2443 	* src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
   2444 	is not NULL.  Reported by Gordon Childs <gchilds (a] quickcut.com.au>.
   2445 
   2446 2004-04-29  Werner Lemberg  <wl (a] gnu.org>
   2447 
   2448 	* docs/formats.txt: Add more information on PFR format.
   2449 
   2450 2004-04-28  Werner Lemberg  <wl (a] gnu.org>
   2451 
   2452 	* docs/formats.txt: New file.
   2453 	* docs/CHANGES: Updated.
   2454 
   2455 2004-04-28  Masatake YAMATO  <jet (a] gyve.org>
   2456 
   2457 	* include/freetype/internal/tttypes.h (GX_BlendRec_)
   2458 	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
   2459 
   2460 	* src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
   2461 
   2462 2004-04-27  Masatake YAMATO  <jet (a] gyve.org>
   2463 
   2464 	* src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
   2465 	for function declarations.
   2466 
   2467 2004-04-25  George Williams  <gww (a] silcom.com>
   2468 
   2469 	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
   2470 
   2471 2004-04-25  Werner Lemberg  <wl (a] gnu.org>
   2472 
   2473 	* src/truetype/Jamfile, docs/CHANGES: Updated.
   2474 
   2475 2004-04-24  Werner Lemberg  <wl (a] gnu.org>
   2476 
   2477 	* src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
   2478 	* src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
   2479 	* src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
   2480 	Use FT_BEGIN_HEADER and FT_END_HEADER.
   2481 	Use FT_LOCAL.
   2482 
   2483 2004-04-24  George Williams  <gww (a] silcom.com>
   2484 
   2485 	Add support for Apple's distortable font technology (in GX fonts).
   2486 
   2487 	* devel/ftoption.h, include/freetype/config/ftoption.h
   2488 	(TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
   2489 
   2490 	* include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
   2491 	FT_MM_Var): New structures.
   2492 	(FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
   2493 	FT_Set_Var_Blend_Coordinates): New function declarations.
   2494 
   2495 	* include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
   2496 	FT_Set_Var_Design_Func): New typedefs.
   2497 	Update MultiMasters service.
   2498 
   2499 	* include/freetype/internal/tttypes.h
   2500 	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
   2501 	(GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
   2502 	(TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
   2503 	and `blend'.
   2504 
   2505 	* include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
   2506 	macros.
   2507 
   2508 	* include/freetype/internal/fttrace.h: Add `ttgxvar'.
   2509 
   2510 	* src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
   2511 	FT_Set_Var_Blend_Coordinates): New functions.
   2512 
   2513 	* src/sfnt/sfobjs.c (sfnt_load_face)
   2514 	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
   2515 	flag for GX var fonts.
   2516 
   2517 	* src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
   2518 
   2519 	* src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
   2520 	ttgxvar.c.
   2521 
   2522 	* src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
   2523 	FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
   2524 	(tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
   2525 	New service.
   2526 	(tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
   2527 
   2528 	* src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
   2529 	ttgxvar.h.
   2530 	(TT_Process_Simple_Glyph, load_truetype_glyph)
   2531 	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Support GX var fonts.
   2532 
   2533 	* src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
   2534 	ttgxvar.h.
   2535 	(tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
   2536 	tt_done_blend.
   2537 
   2538 	* src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
   2539 	ttgxvar.h.
   2540 	(tt_face_load_cvt)  [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
   2541 	tt_face_vary_cvt.
   2542 
   2543 	* src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
   2544 
   2545 	* src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
   2546 	and T1_Set_Var_Design.
   2547 
   2548 	* src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
   2549 	(T1_Get_MM_Var, T1_Set_Var_Design): New functions.
   2550 
   2551 	* src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
   2552 	function declarations.
   2553 
   2554 2004-04-23  Werner Lemberg  <wl (a] gnu.org>
   2555 
   2556 	* include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
   2557 	declaration and move to...
   2558 	* include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
   2559 	(FREETYPE_PATCH): Set to 9.
   2560 
   2561 	* src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
   2562 
   2563 	* builds/unix/configure.ac (version_info): Set to 9:7:3.
   2564 	* builds/unix/configure: Updated.
   2565 
   2566 	* builds/win32/visualc/index.html,
   2567 	builds/win32/visualc/freetype.dsp,
   2568 	builds/win32/visualc/freetype.vcproj: s/218/219/.
   2569 
   2570 	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
   2571 	s/2.1.8/2.1.9/.
   2572 
   2573 	* docs/CHANGES, docs/VERSION.DLL: Updated.
   2574 
   2575 2004-04-21  Werner Lemberg  <wl (a] gnu.org>
   2576 
   2577 	* src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
   2578 	(ps_parser_load_field): Use FT_CHAR_BIT.
   2579 
   2580 2004-04-21  David Turner  <david (a] freetype.org>
   2581 
   2582 
   2583 	* Version 2.1.8 released.
   2584 	=========================
   2585 
   2586 
   2587 	* src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
   2588 
   2589 	* src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
   2590 	(af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
   2591 	Remove compiler warnings.
   2592 
   2593 	* src/autofit/aftypes.h: Undefine AF_DEBUG.
   2594 
   2595 	* src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
   2596 	pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
   2597 	(ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
   2598 	t42_service_ps_font_name): Decorate data arrays with `const' to
   2599 	avoid populating the `.data' segment.
   2600 
   2601 	* src/lzw/Jamfile: New file.
   2602 
   2603 2004-04-20  Werner Lemberg  <wl (a] gnu.org>
   2604 
   2605 	* src/psaux/psobjs.c (T1Radix): Renamed to...
   2606 	(ps_radix): This.
   2607 	Update current cursor position.
   2608 
   2609 	* docs/CHANGES: Updated.
   2610 
   2611 2004-04-18  Werner Lemberg  <wl (a] gnu.org>
   2612 
   2613 	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
   2614 	src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
   2615 	FT_UInt.  From Lex Warners.
   2616 
   2617 2004-04-17  Chisato Yamauchi  <cyamauch (a] a.phys.nagoya-u.ac.jp>
   2618 
   2619 	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
   2620 	from 2004-03-19.
   2621 
   2622 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
   2623 
   2624 	* src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
   2625 	`static'.
   2626 	Remove unused function `RepadBitmap'.
   2627 	* src/pcf/pcfdrivr.c: Don't include pcfutil.h.
   2628 
   2629 2004-04-16  Werner Lemberg  <wl (a] gnu.org>
   2630 
   2631 	* builds/unix/freetype-config.in (usage): Fix and improve usage
   2632 	information.
   2633 
   2634 2004-04-15  Werner Lemberg  <wl (a] gnu.org>
   2635 
   2636 	* builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
   2637 	FT_CHAR_BIT.
   2638 
   2639 	* src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
   2640 	glyph is vertically distorted or mirrored.
   2641 
   2642 	* src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
   2643 	for embedded bitmaps.
   2644 
   2645 	* docs/CHANGES: Updated.
   2646 
   2647 2004-04-15  bytesoftware  <bytesoftware (a] btinternet.com>
   2648 
   2649 	* include/freetype/config/ftconfig.h, src/base/ftstream.c
   2650 	(FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
   2651 
   2652 2004-04-14  Werner Lemberg  <wl (a] gnu.org>
   2653 
   2654 	* include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
   2655 
   2656 2004-04-14  Alex Strelnikov  <ptktyrf (a] mail.ru>
   2657 
   2658 	* src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
   2659 	of error.
   2660 
   2661 2004-04-14  Werner Lemberg  <wl (a] gnu.org>
   2662 
   2663 	* src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
   2664 	* builds/unix/configure.ac: Don't try to remove `-ansi' compilation
   2665 	switch on the Mac.
   2666 
   2667 	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
   2668 	--copy' from libtool 1.5.6.
   2669 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
   2670 	automake 1.8a.
   2671 	* builds/unix/configure: Regenerated with autoconf 2.59a.
   2672 
   2673 2004-04-13  Werner Lemberg  <wl (a] gnu.org>
   2674 
   2675 	* include/freetype/config/ftconfig.h: Use CHAR_BIT to define
   2676 	size of FT_SIZEOF_xxx.
   2677 
   2678 2004-04-12  Chisato Yamauchi  <cyamauch (a] a.phys.nagoya-u.ac.jp>
   2679 
   2680 	* include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
   2681 	TT_Load_SBit_Metrics_Func): New typedefs.
   2682 	(SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
   2683 
   2684 	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
   2685 	* src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
   2686 	declarations.
   2687 	* src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
   2688 	(tt_find_sbit_image): This.
   2689 	Updated all callers.
   2690 	(load_sbit_metrics): Renamed to...
   2691 	(tt_load_sbit_metrics): This.
   2692 	Updated all callers.
   2693 
   2694 2004-04-12  Werner Lemberg  <wl (a] gnu.org>
   2695 
   2696 	* configure: Accept makepp also.
   2697 
   2698 	* builds/unix/detect.mk: Use proper path to unix-def.mk.
   2699 	* builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
   2700 	* builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
   2701 	Use BUILD_DIR.
   2702 
   2703 	* docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
   2704 	documentation on makepp.
   2705 
   2706 2004-04-11  Werner Lemberg  <wl (a] gnu.org>
   2707 
   2708 	* src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
   2709 
   2710 2004-04-10  Werner Lemberg  <wl (a] gnu.org>
   2711 
   2712 	* src/lzw/ftlzw.c: Include zopen.h dependent on
   2713 	FT_CONFIG_OPTION_USE_LZW.
   2714 
   2715 	* src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
   2716 
   2717 2004-04-02  Werner Lemberg  <wl (a] gnu.org>
   2718 
   2719 	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
   2720 	--copy' from libtool 1.5.2.
   2721 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
   2722 	automake 1.8a.
   2723 	* builds/unix/configure: Regenerated with autoconf 2.59a.
   2724 
   2725 2004-04-01  Werner Lemberg  <wl (a] gnu.org>
   2726 
   2727 	* builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
   2728 	AC_COMPILE_IFELSE.
   2729 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
   2730 	automake 1.8a.
   2731 	* builds/unix/configure: Regenerated with autoconf 2.59a.
   2732 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
   2733 	`config' CVS module at subversions.gnu.org.
   2734 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
   2735 	`texinfo' CVS module at subversions.gnu.org.
   2736 	* builds/freetype.mk (refdoc): Updated.
   2737 
   2738 2004-03-31  Werner Lemberg  <wl (a] gnu.org>
   2739 
   2740 	Handle broken FNT files which don't have a trailing NULL byte
   2741 	in the face name string.
   2742 
   2743 	* src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
   2744 	* src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
   2745 	(FNT_Face_Init): Append a final zero byte to the font face name.
   2746 
   2747 2004-03-30  Werner Lemberg  <wl (a] gnu.org>
   2748 
   2749 	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
   2750 	2004-03-19.
   2751 
   2752 2004-03-27  Werner Lemberg  <wl (a] gnu.org>
   2753 
   2754 	* src/base/descrip.mms (OBJS): Add ftbbox.obj.
   2755 
   2756 2004-03-26  George Williams  <gww (a] silcom.com>
   2757 
   2758 	Add vertical phantom points.
   2759 
   2760 	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
   2761 	`top_bearing', `vadvance', `pp3', and `pp4'.
   2762 
   2763 	* src/autofit/afloader.c (af_loader_load_g): Handle two more points.
   2764 
   2765 	* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
   2766 	* src/truetype/ttgload.c (Get_VMetrics): New function.
   2767 	(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
   2768 	points.
   2769 	(load_truetype_glyph): Use Get_VMetrics.
   2770 	Handle two more points.
   2771 	(compute_glyph_metrics): Thanks to vertical phantom points we now
   2772 	can always compute `advance_height' and `top_bearing'.
   2773 	* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
   2774 	points.
   2775 
   2776 
   2777 	* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
   2778 	`news'.
   2779 
   2780 2004-03-21  Werner Lemberg  <wl (a] gnu.org>
   2781 
   2782 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
   2783 
   2784 2004-03-20  Steve Hartwell  <shspamsink (a] comcast.net>
   2785 
   2786 	* src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
   2787 	value for `selection' as `select all'.
   2788 
   2789 2004-03-19  Steve Hartwell  <shspamsink (a] comcast.net>
   2790 
   2791 	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
   2792 	values > 0 if loading non-TTC fonts.
   2793 
   2794 	* src/base/ftmac.c (open_face_from_buffer): Set positive face_index
   2795 	to zero before calling FT_Open_Face.
   2796 
   2797 	* docs/CHANGES: Updated.
   2798 
   2799 2004-03-04  Werner Lemberg  <wl (a] gnu.org>
   2800 
   2801 	* Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
   2802 	builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
   2803 	Add LZW module.
   2804 
   2805 	* Jamfile.in: Removed.
   2806 
   2807 	* docs/CHANGES: Updated.
   2808 
   2809 	* include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
   2810 	s/ABS/FT_ABS/.  Updated all callers.
   2811 
   2812 	* src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
   2813 	(PCF_Face_Init): Use FT_ERROR_BASE.
   2814 
   2815 2004-03-04  Albert Chin  <china (a] thewrittenword.com>
   2816 
   2817 	Add support for PCF fonts compressed with LZW (extension .pcf.Z,
   2818 	created with `compress').
   2819 
   2820 	* include/freetype/config/ftoption.h, devel/ftoption.h
   2821 	(FT_CONFIG_OPTION_USE_LZW): New macro.
   2822 
   2823 	* include/freetype/ftlzw.h: New file.
   2824 	* include/freetype/config/ftheader.h (FT_LZW_H): New macro for
   2825 	ftlzw.h.
   2826 
   2827 	* src/lzw/*: New files.
   2828 
   2829 	* src/pcf/pcfdrivr.c: Include FT_LZW_H.
   2830 	(PCF_Face_Init): Try LZW also.
   2831 
   2832 	* src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
   2833 	Beautify.
   2834 
   2835 2004-03-03  Werner Lemberg  <wl (a] gnu.org>
   2836 
   2837 	* src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
   2838 
   2839 2004-03-02  Werner Lemberg  <wl (a] gnu.org>
   2840 
   2841 	Add embedded bitmap support to CFF driver.
   2842 
   2843 	* src/cff/cffobjs.h (CFF_SizeRec): New structure.
   2844 
   2845 	* src/cff/cffgload.c (cff_builder_init): Updated.
   2846 	(cff_slot_load): Updated.
   2847 	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
   2848 
   2849 	* src/cff/cffobjs.c (sbit_size_reset)
   2850 	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
   2851 	(cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
   2852 	(cff_size_reset): Updated.
   2853 	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
   2854 
   2855 	* src/cff/cffdrivr.c (Load_Glyph): Updated.
   2856 	(cff_driver_class): Use CFF_SizeRec.
   2857 
   2858 	* docs/CHANGES: Updated.
   2859 
   2860 2004-03-01  Werner Lemberg  <wl (a] gnu.org>
   2861 
   2862 	* src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
   2863 	FT_RoundFix but FT_PIX_ROUND.
   2864 	(psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
   2865 
   2866 	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
   2867 	(psh_glyph_find_strong_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
   2868 	(psh_glyph_find_blue_points): New function.  Needed for fonts like
   2869 	p052003l.pfb (URW Palladio L Roman) which have flex curves at the
   2870 	base line within blue zones, but the flex curves aren't covered by
   2871 	hints.
   2872 	(ps_hints_apply): Use psh_glyph_find_blue_points.
   2873 
   2874 2004-02-27  Garrick Meeker  <garrick (a] digitalanarchy.com>
   2875 
   2876 	* builds/unix/configure.ac: Fix compiler flags for
   2877 	`--with-old-mac-fonts'.
   2878 	* builds/unix/configure: Regenerated.
   2879 
   2880 	* src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
   2881 	(FT_New_Face_From_Resource): New function.
   2882 	(FT_New_Face): Use FT_New_Face_From_Resource.
   2883 	(FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
   2884 	[__MWERKS__]: Don't include FSp_fopen.h.
   2885 
   2886 2004-02-26  Werner Lemberg  <wl (a] gnu.org>
   2887 
   2888 	* src/pshinter/pshglob.c (psh_globals_new): Fix value of
   2889 	`dim->stdw.count'.
   2890 	Don't assign default values to blue scale and blue shift.
   2891 
   2892 2004-02-25  Werner Lemberg  <wl (a] gnu.org>
   2893 
   2894 	* docs/CHANGES: Updated.
   2895 
   2896 2004-02-25  Garrick Meeker  <garrick (a] digitalanarchy.com>
   2897 	    Steve Hartwell  <shspamsink (a] comcast.net>
   2898 
   2899 	Improve MacOS fond support.  Provide a new API
   2900 	`FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
   2901 
   2902 	* src/base/ftmac.c [__MWERKS__]: Include FSp_fopen.h.
   2903 	STREAM_FILE [__MWERKS__]: New macro.
   2904 	(ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
   2905 	(file_spec_from_path) [__MWERKS__]: Updated #if statement.
   2906 	(get_file_type, make_lwfn_spec): Use `const' for argument.
   2907 	(is_dfont) [TARGET_API_MAC_CARBON]: Removed.
   2908 	(count_face_sfnt, count_faces): New functions.
   2909 	(parse_fond): Do some range checking.
   2910 	(read_lwfn): Change type of second argument.
   2911 	No longer call FSpOpenResFile.
   2912 	(OpenFileAsResource): New function.
   2913 	(FT_New_Face_From_LWFN): Use `const' for second argument.
   2914 	Use OpenFileAsResource.
   2915 	(FT_New_Face_From_Suitcase): Change type of second argument.
   2916 	No longer call FSpOpenResFile.
   2917 	Loop over all resource indices.
   2918 	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
   2919 	(FT_GetFile_From_Mac_Name): Use `const' for first argument.
   2920 	(ResourceForkSize): Removed.
   2921 	(FT_New_Face): Updated to use new functions.
   2922 	(FT_New_Face_From_FSSpec): New function.
   2923 
   2924 	* include/freetype/ftmac.h: Updated.
   2925 
   2926 2004-02-24  Malcolm Taylor  <mtaylor (a] clear.net.nz>
   2927 
   2928 	* src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
   2929 	Handle case where outline->num_vedges is zero while computing hinted
   2930 	metrics.
   2931 
   2932 2004-02-24  Gordon Childs  <gchilds (a] quickcut.com.au>
   2933 
   2934 	* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
   2935 	for `count'.
   2936 
   2937 2004-02-24  Werner Lemberg  <wl (a] gnu.org>
   2938 
   2939 	* include/freetype/t1tables.h (PS_PrivateRec): Add
   2940 	`expansion_factor'.
   2941 
   2942 	* src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
   2943 	of blues->no_overshoots -- `blues_scale' is stored with a
   2944 	magnification of 1000, and `scale' returns fractional pixels.
   2945 
   2946 	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
   2947 	`blue_fuzz', `expansion_factor', and `blue_scale' according to the
   2948 	Type 1 specification.
   2949 
   2950 	* src/type1/t1tokens.h: Handle `ExpansionFactor'.
   2951 
   2952 	* docs/CHANGES: Updated.
   2953 
   2954 2004-02-24  Masatake YAMATO  <jet (a] gyve.org>
   2955 
   2956 	Provide generic access to MacOS resource forks.
   2957 
   2958 	* src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
   2959 	files.
   2960 
   2961 	* src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
   2962 	(Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
   2963 	`resource_listoffset' and `resource_data' and adapt code
   2964 	accordingly.  These values are calculated outside of the function
   2965 	now.
   2966 	Add new argument `offsets'.
   2967 	(IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
   2968 	`FT_Raccess_Get_DataOffsets'.
   2969 	(load_face_in_embedded_rfork): New function.
   2970 	(load_mac_face): Use load_face_in_embedded_rfork.
   2971 	(ft_input_stream_new): Renamed to...
   2972 	(FT_Stream_New): This.  Use FT_BASE_DEF.  Updated all callers.
   2973 	(ft_input_stream_free): Renamed to...
   2974 	(FT_Stream_Free): This.  Use FT_BASE_DEF.  Updated all callers.
   2975 
   2976 	* src/base/ftbase.c: Include ftrfork.c.
   2977 
   2978 	* src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
   2979 
   2980 	* include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
   2981 	New macro.
   2982 
   2983 	* include/freetype/internal/fttrace.h: Added `rfork' as a new
   2984 	trace definition.
   2985 
   2986 	* include/freetype/internal/ftstream.h: Declare FT_Stream_New and
   2987 	FT_Stream_Free.
   2988 
   2989 	* include/freetype/config/ftoption.h, devel/ftoption.h
   2990 	(FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
   2991 
   2992 	* include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
   2993 
   2994 2004-02-23  Werner Lemberg  <wl (a] gnu.org>
   2995 
   2996 	* docs/CHANGES: Updated.
   2997 
   2998 	* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
   2999 
   3000 2004-02-23  Masatake YAMATO  <jet (a] gyve.org>
   3001 
   3002 	Provide a simple API to control FreeType's tracing levels.
   3003 
   3004 	* include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
   3005 	FT_Trace_Get_Name): New declarations.
   3006 
   3007 	* src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
   3008 	functions.
   3009 
   3010 2004-02-23  David Turner  <david (a] freetype.org>
   3011 
   3012 	* src/autofit/afhints.c, src/autofit/afhints.h,
   3013 	src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
   3014 	bugs have been fixed.  The auto-fitter works, doesn't crash, but
   3015 	still produces unexpected results...
   3016 
   3017 2004-02-21  Werner Lemberg  <wl (a] gnu.org>
   3018 
   3019 	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
   3020 	the accepted shift for strong points in fractional pixels (which
   3021 	is a heuristic value).
   3022 	(psh_glyph_find_strong_points): Compute threshold for
   3023 	psh_hint_table_find_strong_points.
   3024 	(psh_hint_table_find_strong_point): Add parameter to pass threshold.
   3025 
   3026 2004-02-20  Werner Lemberg  <wl (a] gnu.org>
   3027 
   3028 	* src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
   3029 	ps_mask_table_alloc but ps_mask_table_last.
   3030 	(ps_hints_t2mask): Use correct position and number for vertical
   3031 	and horizontal hinter mask bits.
   3032 
   3033 	* docs/CHANGES: Updated.
   3034 
   3035 2004-02-19  Werner Lemberg  <wl (a] gnu.org>
   3036 
   3037 	* src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
   3038 	* src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
   3039 
   3040 2004-02-18  Werner Lemberg  <wl (a] gnu.org>
   3041 
   3042 	* include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
   3043 
   3044 	* src/base/ftglyph.c (ft_bitmap_glyph_class,
   3045 	ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
   3046 
   3047 	* src/smooth/ftsmooth.c (ft_smooth_render): Handle
   3048 	FT_RENDER_MODE_LIGHT.
   3049 
   3050 2004-02-17  Werner Lemberg  <wl (a] gnu.org>
   3051 
   3052 	Fix callback functions in cache module.
   3053 
   3054 	* src/cache/ftccback.h: New file for callback declarations.
   3055 
   3056 	* src/cache/ftcbasic.c (ftc_basic_family_compare,
   3057 	ftc_basic_family_init, ftc_basic_family_get_count,
   3058 	ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
   3059 	ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
   3060 	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
   3061 	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
   3062 	Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
   3063 
   3064 	* src/cache/ftccache.c: Include ftccback.h.
   3065 	(ftc_cache_init, ftc_cache_done): New wrapper functions which use
   3066 	FT_LOCAL_DEF.
   3067 
   3068 	* src/cache/ftccmap.c: Include ftccback.h.
   3069 	(ftc_cmap_cache_class): Use local wrapper functions.
   3070 
   3071 	* src/cache/ftcglyph.c: Include ftccback.h.
   3072 	(ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
   3073 	functions which use FT_LOCAL_DEF.
   3074 
   3075 	* src/cache/ftcimage.c: Include ftccback.h.
   3076 	(ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
   3077 	functions which use FT_LOCAL_DEF.
   3078 
   3079 	* src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
   3080 	Use FT_CALLBACK_TABLE_DEF.
   3081 
   3082 	* src/cache;/ftcsbits.c: Include ftccback.h.
   3083 	(ftc_snode_free, ftc_snode_new, ftc_snode_weight,
   3084 	ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
   3085 
   3086 	* src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
   3087 
   3088 2004-02-17  Masatake YAMATO  <jet (a] gyve.org>
   3089 
   3090 	* include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
   3091 	(FT_EXPORT_DEF -> FT_EXPORT).
   3092 
   3093 	* include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
   3094 
   3095 2004-02-15  Werner Lemberg  <wl (a] gnu.org>
   3096 
   3097 	* src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
   3098 
   3099 2004-02-14  Masatake YAMATO  <jet (a] gyve.org>
   3100 
   3101 	* builds/unix/ftsystem.c: Include errno.h.
   3102 	(ft_close_stream): Renamed to...
   3103 	(ft_close_stream_by_munmap): This.
   3104 	(ft_close_stream_by_free): New function.
   3105 	(FT_Stream_Open): Use fallback method if mmap fails.
   3106 	Use proper function for closing the stream.
   3107 
   3108 2004-02-14  Werner Lemberg  <wl (a] gnu.org>
   3109 
   3110 	* src/type1/t1load.c (parse_dict): Initialize `start_binary'.
   3111 
   3112 2004-02-13  Robert Etheridge  <roberte (a] stcc.cc.tx.us>
   3113 
   3114 	* src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
   3115 	(T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
   3116 	of underline_position and underline_thickness.
   3117 
   3118 2004-02-12  Werner Lemberg  <wl (a] gnu.org>
   3119 
   3120 	* src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
   3121 	ppem values don't change.  Suggested by Graham Asher.
   3122 
   3123 2004-02-11  Werner Lemberg  <wl (a] gnu.org>
   3124 
   3125 	* src/cid/cidload.c (cid_face_open): Always allocate
   3126 	face->cid_stream so that we can deallocate it safely.
   3127 
   3128 2004-02-10  Werner Lemberg  <wl (a] gnu.org>
   3129 
   3130 	Make the PS parser more tolerant w.r.t. non-standard font data.  In
   3131 	general, an error is only reported in case of a syntax error; a
   3132 	wrong type is now simply ignored (if possible).  To be independent
   3133 	of the order of various MM-specific keywords, the parse_shared_dict
   3134 	routine has been removed -- the PS parser is now capable to skip
   3135 	this data.  It no longer fails on parsing e.g.
   3136 
   3137 	  dup /WeightVector exch def
   3138 
   3139 	Since the token following /WeightVector isn't `[' (starting an
   3140 	array) it is simply ignored.
   3141 
   3142 	* include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
   3143 	new internal error value.
   3144 
   3145 	* src/type1/t1load.c (parse_blend_axis_types,
   3146 	parse_blend_design_positions, parse_blend_design_map): Return
   3147 	T1_Err_Ignore if no proper array is following the keyword.
   3148 	(parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
   3149 	structure, if necessary.
   3150 	Return T1_Err_Ignore if no proper array is following the keyword.
   3151 	(parse_shared_dict): Removed.
   3152 	(parse_encoding): Set parser->root.error to return T1_Err_Ignore
   3153 	if no result can be obtained.
   3154 	Check for errors before accessing `elements' array.
   3155 	(t1_keywords): Remove /shareddict.
   3156 	(parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
   3157 	Set keyword_flag only in case of success.
   3158 	Check error code if skipping an unrecognized token.
   3159 	(T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
   3160 	if blend commands haven't set up a proper MM font.
   3161 
   3162 	* src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
   3163 	code for synthetic fonts.
   3164 	Return PSaux_Err_Ignore if no proper value has been found.
   3165 
   3166 2004-02-09  Werner Lemberg  <wl (a] gnu.org>
   3167 
   3168 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
   3169 	<cff_op_endchar>: Preserve glyph width before calling
   3170 	cff_operator_seac.
   3171 
   3172 2004-02-09  Martin Muskens  <mmuskens (a] aurelon.com>
   3173 
   3174 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
   3175 	first argument for `hintmask' and `cntrmask' operators also.
   3176 
   3177 2004-02-08  Werner Lemberg  <wl (a] gnu.org>
   3178 
   3179 	* builds/unix/configure.in: Call AC_SUBST for `enable_shared',
   3180 	`hardcode_libdir_flag_spec', and `wl'.
   3181 	* builds/unix/configure: Regenerated.
   3182 
   3183 	* builds/unix/freetype-config.in: Make --prefix and --exec-prefix
   3184 	actually work.
   3185 	Report a proper --rpath (or -R) value for --libs argument if a
   3186 	shared library has been built.
   3187 
   3188 	* docs/CHANGES: Updated.
   3189 
   3190 2004-02-07  Keith Packard  <keithp (a] keithp.com>
   3191 
   3192 	* src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
   3193 	computation of various vertical and horizontal metric values.
   3194 
   3195 	* src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
   3196 	Ditto.
   3197 
   3198 2004-02-07  Werner Lemberg  <wl (a] gnu.org>
   3199 
   3200 	* builds/win32/visualc/index.html,
   3201 	builds/win32/visualc/freetype.dsp,
   3202 	builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
   3203 
   3204 2004-02-07  Vitaliy Pasternak  <v_a_pasternak (a] mail.ru>
   3205 
   3206 	* builds/win32/visualc/freetype.sln,
   3207 	builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
   3208 
   3209 2004-02-03  Werner Lemberg  <wl (a] gnu.org>
   3210 
   3211 	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
   3212 	Initialize `node'.
   3213 	* src/type1/t1load.c (parse_dict): Initialize `have_integer'.
   3214 
   3215 2004-02-02  Werner Lemberg  <wl (a] gnu.org>
   3216 
   3217 	* src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
   3218 	outside of /Subrs or /CharStrings.  This can happen if there is
   3219 	additional code manipulating those two arrays so that FreeType
   3220 	doesn't recognize them properly.
   3221 	(T1_Open_Face): Improve an error message.
   3222 
   3223 2004-02-01  Werner Lemberg  <wl (a] gnu.org>
   3224 
   3225 	* src/type1/t1load.c (parse_charstrings): Exit immediately if
   3226 	there are no elements in /CharStrings.  This is needed for fonts
   3227 	like Optima-Oblique which not only define /CharStrings but access it
   3228 	also.
   3229 
   3230 2004-02-01  David Turner  <david (a] freetype.org>
   3231 
   3232 	* src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
   3233 
   3234 	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
   3235 	<FTC_INLINE>: Provide macro version which doesn't use inline code.
   3236 	* include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
   3237 	<FTC_INLINE>: Ditto.
   3238 	Use FTC_MRULIST_LOOKUP_CMP.
   3239 	* include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
   3240 	macro.
   3241 	(FTC_MRULIST_LOOKUP): Use it.
   3242 
   3243 	* src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
   3244 	* src/cache/ftcbasic.c: Fix compiler warnings.
   3245 	* src/cache/ftcmanag.c (FTC_Manager_LookupSize,
   3246 	FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
   3247 	* src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
   3248 	heavy testing).
   3249 
   3250 	* Jamfile: Updating `refdoc' target, and adding `autohint' to the
   3251 	list of modules to build.  Both the autohinter and autofitter will
   3252 	be built by default.  But which one will be used is determined by
   3253 	the content of `ftmodule.h'.
   3254 
   3255 	* src/autofit/*: Many updates, but the code is still buggy...
   3256 
   3257 2004-01-31  Werner Lemberg  <wl (a] gnu.org>
   3258 
   3259 	* src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
   3260 	accent offset.
   3261 	Update code similarly to the seac support for Type 1 fonts.
   3262 	(cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
   3263 	of accent offset.
   3264 	Don't hint glyphs twice if seac is emulated.
   3265 	<cff_op_flex>: Assign correct point tags.
   3266 	* docs/CHANGES: Updated.
   3267 
   3268 2004-01-30  Werner Lemberg  <wl (a] gnu.org>
   3269 
   3270 	* src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
   3271 	FT_MEM_COPY, for copying the private dict.
   3272 
   3273 	* src/type1/t1load.c (parse_subrs): Assign number of subrs only
   3274 	in first run.
   3275 	(parse_charstrings): Parse /CharStrings in second run without
   3276 	assigning values.
   3277 	(parse_dict): Skip all /CharStrings arrays but the first.  We need
   3278 	this for non-standard fonts like `Optima' which have different
   3279 	outlines depending on the resolution.  Note that there is no
   3280 	guarantee that we get fitting /Subrs and /CharStrings arrays; this
   3281 	can only be done by a real PS interpreter.
   3282 
   3283 2004-01-29  Antoine Leca  <Antoine-Freetype (a] Leca-Marti.org>
   3284 
   3285 	* builds/win32/visualc/index.html: New file, giving detailed
   3286 	explanations about forcing CR+LF line endings for the VC++ project
   3287 	files.
   3288 
   3289 2004-01-22  Garrick Meeker  <garrick (a] digitalanarchy.com>
   3290 
   3291 	* src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
   3292 
   3293 2004-01-22  Werner Lemberg  <wl (a] gnu.org>
   3294 
   3295 	Add support for the hexadecimal representation of binary data
   3296 	started with `StartData' in CID-keyed Type 1 fonts.
   3297 
   3298 	* include/freetype/internal/t1types.h (CID_FaceRec): Add new
   3299 	members `binary_data' and `cid_stream'.
   3300 
   3301 	* src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
   3302 	(cid_hex_to_binary): New auxiliary function.
   3303 	(cid_face_open): Add new argument `face_index' to return quickly
   3304 	if less than zero.  Updated all callers.
   3305 	Call `cid_hex_to_binary', then open and assign memory stream to
   3306 	`face->cid_stream' if `parser->binary_length' is non-zero.
   3307 	* src/cid/cidload.h: Updated.
   3308 
   3309 	* src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
   3310 	`cid_stream'.
   3311 
   3312 	* src/cid/cidparse.c (cid_parser_new): Check arguments to
   3313 	`StartData' and set parser->binary_length accordingly.
   3314 	* src/cid/cidparse.h (CID_Parser): New member `binary_length'.
   3315 
   3316 	* src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
   3317 
   3318 	* docs/CHANGES: Updated.
   3319 
   3320 2004-01-21  Werner Lemberg  <wl (a] gnu.org>
   3321 
   3322 	include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
   3323 	(ft_atol): This.
   3324 	* src/base/ftdbgmem.c: s/atol/ft_atol/.
   3325 	* src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
   3326 
   3327 2004-01-20  Masatake YAMATO  <jet (a] gyve.org>
   3328 
   3329 	* include/freetype/ftcache.h: Delete duplicated definition of
   3330 	FTC_FaceID.
   3331 
   3332 	* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
   3333 	Info service function if the cmap comes from sfnt.  Return 0 if the
   3334 	cmap is synthesized in cff module.
   3335 
   3336 2004-01-20  David Turner  <david (a] freetype.org>
   3337 
   3338 	* src/cache/ftcmanag.c (ftc_size_node_compare): Call
   3339 	FT_Activate_Size.
   3340 
   3341 2004-01-20  Werner Lemberg  <wl (a] gnu.org>
   3342 
   3343 	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
   3344 	CR, LF, or CR/LF after `eexec'.
   3345 
   3346 2004-01-18  David Turner  <david (a] freetype.org>
   3347 
   3348 	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
   3349 	warning.
   3350 
   3351 	* src/tools/docmaker/*: Updating beautifier tool.
   3352 
   3353 2004-01-15  David Turner  <david (a] freetype.org>
   3354 
   3355 	* src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
   3356 	infinite loop bug.
   3357 
   3358 	* include/freetype/ftstroke.h: Include FT_GLYPH_H.
   3359 	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
   3360 	declarations.
   3361 
   3362 	* src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
   3363 	(FT_Outline_GetOutsideBorder): Inverse result.
   3364 	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
   3365 	functions.
   3366 	(FT_Stroker_EndSubPath): Close path if needed.
   3367 	(FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
   3368 
   3369 	* include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
   3370 	FTC_Manager_LookupSize): Moved to...
   3371 	* include/freetype/ftcache.h (FTC_ScalerRec,
   3372 	FTC_Manager_LookupSize): Here.
   3373 
   3374 	* src/tools/docmaker/docbeauty.py: New file to beautify the
   3375 	documentation comments (e.g., to convert them to single block border
   3376 	mode).
   3377 	* src/tools/docmaker/docmaker.py (file_exists, make_file_list):
   3378 	Moved to...
   3379 	* src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
   3380 
   3381 2004-01-14  David Turner  <david (a] freetype.org>
   3382 
   3383 	* include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
   3384 	FT_ARRAY_MOVE): New macros to make copying arrays easier.
   3385 	Updated all relevant code to use them.
   3386 
   3387 2004-01-14  Werner Lemberg  <wl (a] gnu.org>
   3388 
   3389 	* src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
   3390 	Use number of charstrings as argument to CFF_Load_FD_Select (as
   3391 	documented in the CFF specs).
   3392 
   3393 2004-01-13  Graham Asher  <graham.asher (a] btinternet.com>
   3394 
   3395 	* src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
   3396 	`glyph->memory' up to free arrays properly in case of failure.
   3397 
   3398 2004-01-10  Masatake YAMATO  <jet (a] gyve.org>
   3399 
   3400 	Make `FT_Get_CMap_Language_ID' work with CFF.  Bug reported by
   3401 	Steve Hartwell <shspamsink (a] comcast.net>.
   3402 
   3403 	* src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
   3404 	(cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
   3405 	(cff_get_cmap_info): New function.
   3406 	(cff_service_get_cmap_info) New entry for cff_services.
   3407 
   3408 	* src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
   3409 	Suggested by Steve Hartwell <shspamsink (a] comcast.net>.
   3410 
   3411 2004-01-03  Masatake YAMATO  <jet (a] gyve.org>
   3412 
   3413 	* src/base/ftobjs.c (destroy_charmaps): New function.
   3414 	(destroy_face, open_face): Use `destroy_charmaps'.
   3415 
   3416 2004-01-01  Werner Lemberg  <wl (a] gnu.org>
   3417 
   3418 	* docs/CHANGES: Updated.
   3419 
   3420 2004-01-01  Michael Jansson  <mjan (a] em2-solutions.com>
   3421 
   3422 	* src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
   3423 	size->metrics.descender.
   3424 
   3425 2003-12-31  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   3426 
   3427 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
   3428 	[FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
   3429 	<cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
   3430 	cast for accessing arguments.
   3431 
   3432 2003-12-31  Werner Lemberg  <wl (a] gnu.org>
   3433 
   3434 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
   3435 	change.  It's not necessary.
   3436 
   3437 2003-12-29  Smith Charles  <smith.charles (a] free.fr>
   3438 
   3439 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
   3440 	flags set' correctly.
   3441 
   3442 2003-12-29  Werner Lemberg  <wl (a] gnu.org>
   3443 
   3444 	* src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
   3445 	`full' and `weight' properly.
   3446 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
   3447 	<cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
   3448 	tracing output.
   3449 
   3450 2003-12-26  Werner Lemberg  <wl (a] gnu.org>
   3451 
   3452 	* include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
   3453 	Use FT_UInt for ppem values.
   3454 	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
   3455 	ppem values.
   3456 	* src/sfnt/ttsbit.h: Updated.
   3457 
   3458 	* src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
   3459 	larger than -0FFFF.
   3460 
   3461 2003-12-25  Werner Lemberg  <wl (a] gnu.org>
   3462 
   3463 	* src/base/fttrigon.c, src/base/ftgloadr.c: Include
   3464 	FT_INTERNAL_OBJECTS_H.
   3465 
   3466 	* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
   3467 	FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
   3468 	C++ compilers.
   3469 
   3470 	* src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
   3471 	s/select/selection/ to avoid compiler warning.
   3472 	* src/cff/cffload.h: s/select/ftselect/ to avoid potential
   3473 	compiler warning.
   3474 
   3475 2003-12-24  Werner Lemberg  <wl (a] gnu.org>
   3476 
   3477 	* src/cache/ftcsbits.c (FTC_SNode_Weight):
   3478 	s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
   3479 
   3480 2003-12-24  David Turner  <david (a] freetype.org>
   3481 
   3482 	* Fixed compilation problems in the cache sub-system.
   3483 
   3484 	* Partial updates to src/autofit.
   3485 
   3486 	* Jamfile (FT2_COMPONENTS): Add autofit module.
   3487 
   3488 2003-12-23  Werner Lemberg  <wl (a] gnu.org>
   3489 
   3490 	* src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
   3491 	CID-keyed fonts.
   3492 
   3493 2003-12-23  David Turner  <david (a] freetype.org>
   3494 
   3495 	* include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
   3496 	FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_PIX_CEIL): New macros.
   3497 	They are used to avoid compiler warnings with very pedantic compilers.
   3498 	Note that `(x) & -64' causes a warning if (x) is not signed.  Use
   3499 	`(x) & ~63' instead!
   3500 	Updated all related code.
   3501 
   3502 	Add support for extraction of `inside' and `outside' borders.
   3503 
   3504 	* src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
   3505 	(FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
   3506 	FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
   3507 	(FT_StrokeBorderRec): New boolean member `valid'.
   3508 	(ft_stroke_border_get_counts): Updated.
   3509 	* include/freetype/ftstroke.h: Updated.
   3510 
   3511 2003-12-22  Werner Lemberg  <wl (a] gnu.org>
   3512 
   3513 	* include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
   3514 	to describe the `charset' field in FT_WinFNT_HeaderRec.
   3515 	* src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
   3516 	FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
   3517 
   3518 	* include/freetype/freetype.h (FT_Encoding): Improve comment,
   3519 	based on work by Detlef Wrkner <TetiSoft (a] apg.lahn.de>.
   3520 
   3521 	* docs/CHANGES: Updated.
   3522 
   3523 2003-12-22  David Turner  <david (a] freetype.org>
   3524 
   3525 	* include/freetype/ftcache.h,
   3526 	include/freetype/cache/ftcmanag.h,
   3527 	include/freetype/cache/ftccache.h,
   3528 	include/freetype/cache/ftcmanag.h,
   3529 	include/freetype/cache/ftcmru.h (added),
   3530 	include/freetype/cache/ftlru.h (removed),
   3531 	include/freetype/cache/ftcsbits.h,
   3532 	include/freetype/cache/ftcimage.h,
   3533 	include/freetype/cache/ftcglyph.h,
   3534 	src/cache/ftcmru.c,
   3535 	src/cache/ftcmanag.c,
   3536 	src/cache/ftccache.c,
   3537 	src/cache/ftcglyph.c,
   3538 	src/cache/ftcimage.c,
   3539 	src/cache/ftcsbits.c,
   3540 	src/cache/ftccmap.c,
   3541 	src/cache/ftcbasic.c (added),
   3542 	src/cache/ftlru.c (removed):
   3543 
   3544 	  *Complete* rewrite of the cache sub-system to `solve' the
   3545 	  following points:
   3546 
   3547 	    - all public APIs have been moved to FT_CACHE_H, everything
   3548 	      under `include/freetype/cache' is only needed by client
   3549 	      applications that want to implement their own caches
   3550 
   3551 	    - a new function named FTC_Manager_RemoveFaceID to deal
   3552 	      with the uninstallation of FaceIDs
   3553 
   3554 	    - the image and sbit cache are now abstract classes, that
   3555 	      can be extended much more easily by client applications
   3556 
   3557 	    - better performance in certain areas.  Further optimizations
   3558 	      to come shortly anyway...
   3559 
   3560 	    - the FTC_CMapCache_Lookup function has changed its signature,
   3561 	      charmaps can now only be retrieved by index
   3562 
   3563 	    - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
   3564 	      FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
   3565 	      private header for the moment)
   3566 
   3567 2003-12-21  Werner Lemberg  <wl (a] gnu.org>
   3568 
   3569 	* src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
   3570 	is encountered.
   3571 
   3572 2003-12-19  Werner Lemberg  <wl (a] gnu.org>
   3573 
   3574 	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32.  For
   3575 	example, the Japanese Hiragino font already contains 15 subfonts.
   3576 
   3577 	* src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
   3578 	CID-keyed fonts.
   3579 
   3580 	* devel/ftoption.h: Define FT_DEBUG_MEMORY.
   3581 
   3582 2003-12-18  Werner Lemberg  <wl (a] gnu.org>
   3583 
   3584 	* include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
   3585 	* src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
   3586 
   3587 2003-12-18  Werner Lemberg  <wl (a] gnu.org>
   3588 
   3589 	* src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
   3590 	`cid_count' to `FT_ULong'.
   3591 
   3592 	* src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
   3593 	array.
   3594 
   3595 	* src/cff/cffload.c (cff_charset_done): Free `cids' array.
   3596 	(cff_font_load): Create cids array only for CID-keyed fonts which
   3597 	are subsetted.
   3598 
   3599 	* src/cff/cffobjs.c (cff_face_init): Check the availability of
   3600 	the PSNames modules for non-pure CFFs also.
   3601 	Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
   3602 	CID-keyed.
   3603 
   3604 	* src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
   3605 
   3606 2003-12-17  Werner Lemberg  <wl (a] gnu.org>
   3607 
   3608 	* src/sfnt/sfobjs.c (sfnt_init_face): Don't set
   3609 	FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
   3610 	table.
   3611 
   3612 	* docs/CHANGES: Updated.
   3613 
   3614 2003-12-17  Masatake YAMATO  <jet (a] gyve.org>
   3615 
   3616 	Add new function FT_Get_CMap_Language_ID to extract the language ID
   3617 	for TrueType/sfnt fonts.
   3618 
   3619 	* include/freetype/internal/services/svttcmap.h: New file.
   3620 	* include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
   3621 	svttcmap.h.
   3622 
   3623 	* src/sfnt/sfdriver.c: Include ttcmap0.h.
   3624 	(tt_service_get_cmap_info): New service.
   3625 	(sfnt_services): Updated.
   3626 
   3627 	* src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
   3628 	(tt_cmap*_class_rec): Add tt_cmap*_get_info members.
   3629 	(tt_get_cmap_info): New function.
   3630 	* src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
   3631 	(TT_CMap_ClassRec): New field `get_cmap_info'.
   3632 	(tt_get_cmap_info): New declaration.
   3633 
   3634 	* src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
   3635 	(FT_Get_CMap_Language_ID): New function implementation.
   3636 	* include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
   3637 	function declaration.
   3638 
   3639 2003-12-16  Werner Lemberg  <wl (a] gnu.org>
   3640 
   3641 	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed.  Obsolete.
   3642 
   3643 	* include/freetype/internal/sfnt.h (SFNT_Interface): Remove
   3644 	obsolete fields `load_charmap' and `free_charmap'.
   3645 	(TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
   3646 	* src/sfnt/sfnt.c: Don't include ttcmap.c.
   3647 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
   3648 	* src/sfnt/ttload.c: Don't include ttcmap.h.
   3649 	* src/sfnt/sfdriver.c: Don't include ttcmap.h.
   3650 	(sfnt_interface): Updated.
   3651 
   3652 	* include/freetype/internal/tttypes.h (TT_TableDirRec,
   3653 	TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
   3654 	TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
   3655 	TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
   3656 	TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
   3657 	Obsolete.
   3658 	* src/cff/cffobjs.h (CFF_CharMapRec): Removed.  Obsolete.
   3659 
   3660 2003-12-15  Werner Lemberg  <wl (a] gnu.org>
   3661 
   3662 	* docs/CHANGES: Updated.
   3663 
   3664 2003-12-15  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   3665 
   3666 	* builds/atari/*: New directory for building FreeType 2 on Atari
   3667 	with the PureC compiler.
   3668 
   3669 2003-12-12  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   3670 
   3671 	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
   3672 	cast.
   3673 	* src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
   3674 	value is either 0 or 1.
   3675 
   3676 2003-12-12  Werner Lemberg  <wl (a] gnu.org>
   3677 
   3678 	* src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
   3679 	(cff_get_name_index): Return if no PSNames service is available.
   3680 	(cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
   3681 	* src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
   3682 	CID-keyed fonts.  This is the inverse mapping of `sids'.
   3683 	* src/cff/cffload.c (cff_charset_load): New argument `invert'.
   3684 	Initialize charset->cids if `invert' is set.
   3685 	(cff_font_load): In call to cff_charset_load, set `invert' to true
   3686 	for CID-keyed fonts.
   3687 	* src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
   3688 	and map it to the real glyph index.
   3689 
   3690 	* docs/CHANGES: Updated.
   3691 
   3692 2003-12-11  Werner Lemberg  <wl (a] gnu.org>
   3693 
   3694 	* src/cff/cffobjs.c (cff_face_init): Don't set
   3695 	FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
   3696 	Don't construct a cmap for CID-keyed fonts.
   3697 
   3698 2003-12-10  Werner Lemberg  <wl (a] gnu.org>
   3699 
   3700 	Use implementation specific SID value 0xFFFF to indicate that
   3701 	a dictionary element is missing.
   3702 
   3703 	* src/cff/cffload.c (cff_subfont_load): Initialize all fields
   3704 	which hold SIDs to 0xFFFF.
   3705 	(cff_index_get_sid_string): Handle SID value 0xFFFF.
   3706 	Handle case where `psnames' is zero.
   3707 	(cff_font_load): Updated.
   3708 	Don't load encoding for CID-keyed CFFs.
   3709 
   3710 	* src/cff/cffobjs.c (cff_face_init): Updated.
   3711 	Don't check for PSNames module if font is CID-keyed.
   3712 	Compute style name properly (using the same algorithm as in the
   3713 	CID driver).
   3714 	Fix computation of style flags.
   3715 
   3716 	* src/cff/cfftoken.h: Comment out handling of base_font_name.
   3717 	Rename `postscript' field to `embedded_postscript'
   3718 	* src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
   3719 	and `postscript'.
   3720 
   3721 2003-12-10  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   3722 
   3723 	* src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
   3724 	of the similar BDF function).
   3725 	(pcf_service_bdf): Use it.
   3726 
   3727 2003-12-09  Werner Lemberg  <wl (a] gnu.org>
   3728 
   3729 	* src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
   3730 	only if a `post' table is present.
   3731 
   3732 2003-12-09  George Williams  <gww (a] silcom.com>
   3733 
   3734 	* src/base/ftobjs.c (load_mac_face): Recent versions of Linux
   3735 	support Mac's HFS+ file system, thus enable code to read /rsrc on
   3736 	non-Macintosh platforms also.
   3737 
   3738 2003-12-08  Werner Lemberg  <wl (a] gnu.org>
   3739 
   3740 	* include/freetype/internal/psaux.h (PS_TableRec): Change type
   3741 	of `lengths' to FT_PtrDist.
   3742 	(T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
   3743 	* include/freetype/internal/t1types.h (T1_FontRec): Change type
   3744 	of `subrs_len' and `charstrings_len' to FT_PtrDist.
   3745 
   3746 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
   3747 	variable with better solution.
   3748 	(IsMacResource): Remove unused variable `map_len'.
   3749 	Replace `junk' variable with better solution.
   3750 	(FT_Open_Face) [!FT_MACINTOSH]: Add conditional
   3751 	FT_CONFIG_OPTION_MAC_FONTS.
   3752 
   3753 2003-12-08  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   3754 
   3755 	* src/autohint/ahhint.c (ah_hinter_hint_edges,
   3756 	ah_hinter_align_strong_points): Add some casts.
   3757 
   3758 	* src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
   3759 	of `pos' to FT_Long.
   3760 
   3761 	* src/base/ftobjs.c (Mac_Read_POST_Resource,
   3762 	Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
   3763 
   3764 	* src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
   3765 
   3766 2003-12-07  Werner Lemberg  <wl (a] gnu.org>
   3767 
   3768 	* docs/raster.txt: New file, taken from FreeType 1 and completely
   3769 	revised.
   3770 
   3771 2003-12-04  Masatake YAMATO  <jet (a] gyve.org>
   3772 
   3773 	* src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
   3774 	t1_interface.  t1_interface is used.
   3775 
   3776 2003-11-27  David Turner  <david (a] freetype.org>
   3777 
   3778 	* src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
   3779 	2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
   3780 	the scaling values for outline units, not for metric units.
   3781 
   3782 2003-11-25  Werner Lemberg  <wl (a] gnu.org>
   3783 
   3784 	* src/base/ftcalc.c, include/freetype/internal/ftcalc.h
   3785 	(FT_MulDiv_No_Round): Surround code with `#ifdef
   3786 	TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
   3787 
   3788 2003-11-23  Werner Lemberg  <wl (a] gnu.org>
   3789 
   3790 	* src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
   3791 	64 bit version).
   3792 	* include/freetype/internal/ftcalc.h: Updated.
   3793 
   3794 	* src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
   3795 	(TT_INT64): Removed.
   3796 	(DO_DIV): Use TT_MULDIV_NO_ROUND.
   3797 
   3798 	* src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
   3799 	metrics->x_scale and metrics->y_scale.
   3800 
   3801 2003-11-22  Rogier van Dalen  <R.C.van.Dalen (a] umail.leidenuniv.nl>
   3802 
   3803 	* src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
   3804 	(Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
   3805 	functions.  Similar to Direct_Move, Direct_Move_X, and
   3806 	Direct_Move_Y but without touching.
   3807 	(Compute_Funcs): Use new functions.
   3808 
   3809 	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
   3810 	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
   3811 	Round_Super_45): Fix rounding of value zero.
   3812 
   3813 	(DO_DIV): Don't use TT_MULDIV.
   3814 
   3815 	(Ins_SHC): This instruction actually touches the points.
   3816 	(Ins_MSIRP): Fix undocumented behaviour.
   3817 
   3818 	* src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
   3819 
   3820 2003-11-22  Werner Lemberg  <wl (a] gnu.org>
   3821 
   3822 	* docs/VERSION.DLL, docs/CHANGES: Updated.
   3823 
   3824 	* src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
   3825 	metrics->y_scale really precise.
   3826 
   3827 	(FT_Load_Glyph): Update computation of linearHoriAdvance and
   3828 	linearVertAdvance.
   3829 
   3830 	* src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
   3831 
   3832 2003-11-22  David Turner  <david (a] freetype.org>
   3833 
   3834 	* src/autofit/*: More updates.
   3835 
   3836 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
   3837 	* builds/unix/configure.ac (version_info): Set to 9:6:3.
   3838 	* README: Updated.
   3839 
   3840 2003-11-13  John A. Boyd Jr.  <jaboydjr (a] netwalk.com>
   3841 
   3842 	* src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
   3843 	(pcf_interpret_style): Replace spaces with dashes in properties
   3844 	SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
   3845 
   3846 2003-11-11  Werner Lemberg  <wl (a] gnu.org>
   3847 
   3848 	* docs/CHANGES: Updated.
   3849 
   3850 2003-11-11  John A. Boyd Jr.  <jaboydjr (a] netwalk.com>
   3851 
   3852 	Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
   3853 	fonts.
   3854 
   3855 	* src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
   3856 	(BDF_Face_Init): Don't handle style properties but call
   3857 	bdf_interpret_style.
   3858 
   3859 	* src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
   3860 	(pcf_load_font): Don't handle style properties but call
   3861 	pcf_interpret_style.
   3862 
   3863 2003-11-07  Werner Lemberg  <wl (a] gnu.org>
   3864 
   3865 
   3866 	* Version 2.1.7 released.
   3867 	=========================
   3868 
   3869 
   3870 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
   3871 
   3872 	* builds/unix/ft2unix.h: Fix comments.
   3873 
   3874 	* builds/unix/ftconfig.in: Synchronized with ANSI version.
   3875 	Use `#undef' in templates as recommended in the autoconf
   3876 	documentation.
   3877 	Since real `#undef' lines don't survive during configuration, use
   3878 	`/undef' instead; the postprocessing facility of the
   3879 	AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.
   3880 
   3881 	* builds/unix/install.mk (install): Install Unix version of
   3882 	`ftconfig.h'.
   3883 
   3884 	* builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
   3885 	to include the correct `ftconfig.h' file.
   3886 
   3887 	* builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
   3888 	(FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.
   3889 
   3890 	* builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.
   3891 
   3892 	* builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
   3893 	AC_CONFIG_HEADER to create ftconfig.h, and use second argument
   3894 	to replace `/undef' with `#undef'.
   3895 	Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
   3896 	Use AS_HELP_STRING in AC_ARG_WITH.
   3897 	Update syntax to autoconf 2.59.
   3898 
   3899 	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
   3900 	--copy' from libtool 1.5.
   3901 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
   3902 	automake 1.7.8.
   3903 	* builds/unix/configure: Regenerated with autoconf 2.59.
   3904 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
   3905 	`config' CVS module at subversions.gnu.org
   3906 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
   3907 	`texinfo' CVS module at subversions.gnu.org.
   3908 
   3909 	* builds/vms/ftconfig.h: Synchronized with ANSI version.
   3910 
   3911 	* docs/CUSTOMIZE: Fix documentation error.
   3912 	* docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.
   3913 
   3914 	* builds/freetype.mk (refdoc): Updated --title.
   3915 
   3916 2003-11-07  David Turner  <david (a] freetype.org>
   3917 
   3918 
   3919 	* Version 2.1.6 released.
   3920 	=========================
   3921 
   3922 
   3923 	* install: Removed.  Obsolete.
   3924 
   3925 2003-11-04  Werner Lemberg  <wl (a] gnu.org>
   3926 
   3927 	* src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
   3928 	(sfnt_service_sfnt_table): New service.
   3929 	(sfnt_services): Updated.
   3930 
   3931 	* docs/license.txt: Reworded.
   3932 
   3933 2003-11-03  Werner Lemberg  <wl (a] gnu.org>
   3934 
   3935 	* include/freetype/*: Add a guard to all public header files which
   3936 	load FT_FREETYPE_H to reject freetype.h from FreeType 1.
   3937 
   3938 2003-11-02  Patrick Welche  <prlw1 (a] newn.cam.ac.uk>
   3939 
   3940 	* builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
   3941 	first argument of AC_DEFUN with brackets to avoid possible
   3942 	expansion.
   3943 
   3944 2003-11-02  Werner Lemberg  <wl (a] gnu.org>
   3945 
   3946 	* include/freetype/cache/ftcglyph.h: Don't include stddef.h.
   3947 
   3948 	* include/freetype/freetype.h: Fix check for ft2build.h.
   3949 
   3950 2003-11-01  Werner Lemberg  <wl (a] gnu.org>
   3951 
   3952 	* include/freetype/freetype.h: Check that ft2build.h has been
   3953 	loaded first.
   3954 
   3955 	* src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
   3956 	patch.
   3957 
   3958 2003-10-31  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   3959 
   3960 	* src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
   3961 	Fix parameter order in calls to FT_FACE_FIND_SERVICE.
   3962 
   3963 2003-10-31  Werner Lemberg  <wl (a] gnu.org>
   3964 
   3965 	* include/freetype/internal/ftserv.h
   3966 	(FT_SERVICE_POSTSCRIPT_NAMES_H): Removed.  Unused.
   3967 
   3968 	* src/type42/t42drivr.c (t42_services): Updated.
   3969 
   3970 2003-10-29  David Turner  <david (a] freetype.org>
   3971 
   3972 	* include/freetype/internal/bdftypes.h: Removed.  Obsolete.
   3973 	* src/base/ftbdf.c: Updated.
   3974 
   3975 	* include/freetype/internal/cfftypes.h: Moved to...
   3976 	* src/cff/cfftypes.h: This place since no other module needs to
   3977 	know about those types.
   3978 
   3979 	* include/freetype/internal/t42types.h: Moved to...
   3980 	* src/type42/t42types.h: This place since no other module needs to
   3981 	know about those types.
   3982 
   3983 	* include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
   3984 
   3985 	* include/freetype/internal/services/svpsname.h: Renamed to...
   3986 	* include/freetype/internal/services/svpscmap.h: This.
   3987 	Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
   3988 	`POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
   3989 
   3990 	* include/freetype/internal/services/svpsinfo.h: New file, providing
   3991 	PostScript info service.
   3992 
   3993 	* include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
   3994 	FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
   3995 	svpsinfo.h.
   3996 	* include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
   3997 	FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
   3998 
   3999 	* src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
   4000 	FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
   4001 	FT_SERVICE_POSTSCRIPT_INFO_H.
   4002 	(FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
   4003 	POSTSCRIPT_INFO service.
   4004 
   4005 	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
   4006 	(cff_ps_has_glyph_names): New function.
   4007 	(cff_service_ps_info): New service.
   4008 	(cff_services): Updated.
   4009 
   4010 	* src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
   4011 	include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
   4012 
   4013 	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
   4014 	(cid_ps_get_font_info): New function.
   4015 	(cid_service_ps_info): New service.
   4016 	(cid_services): Updated.
   4017 
   4018 	* src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
   4019 	(t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
   4020 	(t1_service_ps_info): New service.
   4021 	(t1_services): Updated.
   4022 
   4023 	* src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
   4024 	(t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
   4025 	(t42_service_ps_info): New service.
   4026 
   4027 	* src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
   4028 	but t42types.h directly.
   4029 
   4030 	* src/psnames/psmodule.c (psnames_interface, psnames_services):
   4031 	Renamed to...
   4032 	(pscmaps_interface, pscmaps_services): This.
   4033 	Updated all users.
   4034 
   4035 
   4036 	* src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
   4037 
   4038 2003-10-22  Werner Lemberg  <wl (a] gnu.org>
   4039 
   4040 	* src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
   4041 
   4042 	* src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
   4043 	is real.
   4044 
   4045 	* src/type42/t42parse.c (t42_parse_encoding): Improve boundary
   4046 	checking while parsing.
   4047 
   4048 	* docs/CHANGES: Updated.
   4049 
   4050 2003-10-21  Josselin Mouette  <joss (a] debian.org>
   4051 
   4052 	* include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
   4053 	and `stroke_width' aren't pointers.
   4054 
   4055 	* src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
   4056 	(T1_Face_Done): Don't free `paint_type' and `stroke_width'.
   4057 
   4058 2003-10-20  Graham Asher  <graham.asher (a] btinternet.com>
   4059 
   4060 	* src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
   4061 
   4062 2003-10-19  Werner Lemberg  <wl (a] gnu.org>
   4063 
   4064 	* src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
   4065 	2003-08-18 introduced a severe bug (FT_Render_Glyph was called
   4066 	twice under some circumstances, causing strange results).  This
   4067 	is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
   4068 
   4069 	* src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
   4070 	* src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
   4071 	* src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
   4072 
   4073 2003-10-16  Werner Lemberg  <wl (a] gnu.org>
   4074 
   4075 	Completely revised Type 42 parser.  It now handles both fonts
   4076 	produced with ttftot42 (tested version 0.3.1) and
   4077 	TrueTypeToType42.ps (tested version May 2001; it is necessary to
   4078 	fix the broken header comment to be `%!PS-TrueTypeFont...').
   4079 
   4080 	* src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
   4081 	parameter to `FT_UInt'.
   4082 	* src/type42/t42objs.h: Updated.
   4083 
   4084 	* src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
   4085 	to FT_Bool.
   4086 	(T42_Loader): Change type of `num_chars' and `num_glyphs' to
   4087 	FT_UInt.
   4088 	Add `swap_table' element.
   4089 	* src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
   4090 	T1_ToCoordArray, T1_ToTokenArray): Removed.
   4091 	(T1_ToBytes): New macro.
   4092 	(t42_is_alpha, t42_hexval): Removed.
   4093 	(t42_is_space): Handle `\0'.
   4094 	(t42_parse_encoding): Updated to use new PostScript parser routines
   4095 	from psaux.
   4096 	Handle `/Encoding [ ... ]' also.
   4097 	(T42_Load_Status): New enumeration.
   4098 	(t42_parse_sfnts): Updated to use new PostScript parser routines
   4099 	from psaux.
   4100 	(t42_parse_charstrings): Updated to use new PostScript parser
   4101 	routines from psaux.
   4102 	Handle `/CharStrings << ... >>' also.
   4103 	Don't expect that /.notdef is the first element in dictionary.  Copy
   4104 	code from type1 module to handle this.
   4105 	(t42_parse_dict): Updated to use new PostScript parser routines
   4106 	from psaux.
   4107 	Remove code for synthetic fonts (which can't occur in Type 42
   4108 	fonts).
   4109 	(t42_loader_done): Release `swap_table'.
   4110 
   4111 	* src/psaux/psobjs.c (skip_string): Increase `cur' properly.
   4112 
   4113 	* src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
   4114 	faster.
   4115 
   4116 2003-10-15  Graham Asher  <graham.asher (a] btinternet.com>
   4117 
   4118 	* src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
   4119 	(fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
   4120 	_num_bdf_properties), src/gzip/infutil.c (inflate_mask),
   4121 	src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
   4122 	src/gzip/inftrees.h (inflate_trees_fixed), src/gzip/inftrees.c
   4123 	(inflate_trees_fixed): Decorate with more `const' to avoid
   4124 	writable global variables which are disallowed on ARM.
   4125 
   4126 2003-10-08  Werner Lemberg  <wl (a] gnu.org>
   4127 
   4128 	* src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
   4129 	code specially for synthetic fonts; this is handled elsewhere.
   4130 	(parse_encoding): Remove code specially for synthetic fonts; this is
   4131 	handled elsewhere.
   4132 	Improve boundary checking while parsing.
   4133 	(parse_dict): Improve boundary checking while parsing.
   4134 	Use ft_memcmp to simplify code.
   4135 
   4136 2003-10-07  Werner Lemberg  <wl (a] gnu.org>
   4137 
   4138 	* src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
   4139 	fonts properly.
   4140 	(parse_charstrings): Copy correct number of characters into
   4141 	`name_table'.
   4142 
   4143 2003-10-06  Werner Lemberg  <wl (a] gnu.org>
   4144 
   4145 	Heavy modification of the PS parser to handle comments and strings
   4146 	correctly.  This doesn't slow down the loading of PS fonts
   4147 	significantly since charstrings aren't affected.
   4148 
   4149 	* include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
   4150 	(ft_isxdigit): This.  Updated all callers.
   4151 	(ft_isdigit): New alias to `isdigit'.
   4152 
   4153 	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
   4154 	`skip_alpha' to `skip_PS_token'.
   4155 	Add parameter to `to_bytes' and change some argument types.
   4156 
   4157 	* src/psaux/psauxmod.c (ps_parser_funcs): Updated.
   4158 	* src/psaux/psobjs.c (ft_char_table): New array to map character
   4159 	codes (ASCII and EBCDIC) of digits to numbers.
   4160 	(OP): New auxiliary macro holding either `>=' or `<' depending on
   4161 	the character encoding.
   4162 	(skip_comment): New function.
   4163 	(skip_spaces): Use it.
   4164 	(skip_alpha): Removed.
   4165 	(skip_literal_string, skip_string): New functions.
   4166 	(ps_parser_skip_PS_token): New function.  This is a better
   4167 	replacement of...
   4168 	(ps_parser_skip_alpha): Removed.
   4169 	(ps_parser_to_token, ps_parser_to_token_array): Updated.
   4170 	(T1Radix): Rewritten, using `ft_char_table'.
   4171 	(t1_toint): Renamed to...
   4172 	(ps_toint): This.  Update all callers.
   4173 	Use `ft_char_table'.
   4174 	(ps_tobytes): Add parameter to handle delimiters and change some
   4175 	argument types.
   4176 	Use `ft_char_table'.
   4177 	(t1_tofixed): Renamed to...
   4178 	(ps_tofixed): This.  Update all callers.
   4179 	Use `ft_char_table'.
   4180 	(t1_tocoordarray): Renamed and updated to...
   4181 	(ps_tocoordarray): This.  Update all callers.
   4182 	(t1_tofixedarray): Renamed and updated to...
   4183 	(ps_tofixedarray): This.  Update all callers.
   4184 	(t1_tobool): Renamed to...
   4185 	(ps_tobool): This.  Update all callers.
   4186 	(ps_parser_load_field): Updated.
   4187 	(ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
   4188 	everywhere.
   4189 	(ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
   4190 	ps_parser_to_fixed_array): Skip spaces.  Updated.
   4191 	(ps_parser_to_bytes): Add parameter to handle delimiters and change
   4192 	some argument types.  Updated.
   4193 	* src/psaux/psobjs.h: Updated.
   4194 
   4195 	* src/cid/cidload.c (cid_parse_dict): Updated.
   4196 	* src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
   4197 	token was really found.
   4198 	* src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
   4199 	to...
   4200 	(cid_parser_skip_PS_token): This.
   4201 
   4202 	* src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
   4203 	fields.
   4204 	(T1_Skip_Alpha): Replaced with...
   4205 	(T1_Skip_PS_Token): This new macro.
   4206 	* src/type1/t1parse.c (hexa_value): Removed.
   4207 	(T1_Get_Private_Dict): Use `ft_isxdigit' and
   4208 	`psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
   4209 	encoding.
   4210 	After decrypting, replace the four random bytes at the beginning
   4211 	with whitespace.
   4212 	* src/type1/t1load.c (t1_allocate_blend): Use proper error values.
   4213 	(parser_blend_design_positions, parse_blend_design_map,
   4214 	parse_weight_vector): Updated.
   4215 	(is_space): Handle `\f' also.
   4216 	(is_name_char): Removed.
   4217 	(read_binary_data): Updated.
   4218 	(parse_encoding): Use `ft_isdigit'.
   4219 	Updated.
   4220 	(parse_subrs): Updated.
   4221 	(TABLE_EXTEND): New macro.
   4222 	(parse_charstrings): Updated.
   4223 	Provide a workaround for buggy fonts which have more entries in the
   4224 	/CharStrings dictionary then expected; the function now adds some
   4225 	slots and skips entries which still exceed the new limit.
   4226 	(parse_dict): Updated.
   4227 	Terminate on the token `closefile'.
   4228 
   4229 	* src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
   4230 	(T1_Skip_PS_Token): This new macro.  Updated all callers.
   4231 	(t42_parse_encoding): Use `ft_isdigit'.
   4232 
   4233 
   4234 	* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_Ok if
   4235 	success.
   4236 
   4237 2003-10-05  Werner Lemberg  <wl (a] gnu.org>
   4238 
   4239 	* include/freetype/ftmodule.h: Renamed to...
   4240 	* include/freetype/ftmodapi.h: This to avoid duplicate file names.
   4241 	* include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
   4242 
   4243 2003-10-04  Werner Lemberg  <wl (a] gnu.org>
   4244 
   4245 	* src/base/ftoutln.c (FT_OrientationExtremumRec,
   4246 	FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
   4247 
   4248 2003-10-02  Markus F.X.J. Oberhumer  <markus (a] oberhumer.com>
   4249 
   4250 	* src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
   4251 	has four bytes, not two.
   4252 	Fix all users.
   4253 	(fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
   4254 
   4255 2003-10-01  David Turner  <david (a] freetype.org>
   4256 
   4257 	* src/autofit/*: Adding first source files of the new multi-script
   4258 	`auto-fitter'.
   4259 
   4260 	* include/freetype/ftoutln.h (FT_Orientation): New enumeration.
   4261 	(FT_Outline_Get_Orientation): New declaration.
   4262 
   4263 	* src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
   4264 	(ft_orientation_extremum_compute): New auxiliary function.
   4265 	(FT_Outline_Get_Orientation): New function to compute the fill
   4266 	orientation of a given glyph outline.
   4267 
   4268 	* include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
   4269 	trivial bug which could crash the font engine when a cached service
   4270 	pointer was retrieved.
   4271 
   4272 2003-09-30  Werner Lemberg  <wl (a] gnu.org>
   4273 
   4274 	* src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
   4275 	found.
   4276 
   4277 	* src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
   4278 	IS_T1_SPACE): Removed.
   4279 	(PFB_Tag): Removed.
   4280 	(read_pfb_tag): Don't use PFB_Tag.
   4281 
   4282 	* src/type42/t42parse.c (t42_is_space): Handle `\f' also.
   4283 	(t42_parse_encoding): Handle synthetic fonts.
   4284 
   4285 2003-09-29  Werner Lemberg  <wl (a] gnu.org>
   4286 
   4287 	* include/freetype/internal/t1types.h: Don't include
   4288 	FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
   4289 	* src/truetype/ttobjs.c: Don't include
   4290 	FT_SERVICE_POSTSCRIPT_NAMES_H.
   4291 
   4292 2003-09-29  David Turner  <david (a] freetype.org>
   4293 
   4294 	Added new service to handle glyph name dictionaries, replacing the
   4295 	old internal header named `psnames.h' by `services/svpsname.h'.
   4296 	Note that this is different from `services/svpostnm.h' which only
   4297 	handles the retrieval of PostScript font names for a given face.
   4298 	(Should we merge these two services into a single header?)
   4299 
   4300 	* include/freetype/internal/psnames.h: Removed.  Most of its
   4301 	contents is moved to...
   4302 	* include/freetype/internal/services/svpsname.h: New file.
   4303 
   4304 	* include/freetype/internal/services/svpostnm.h
   4305 	(FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
   4306 	(FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
   4307 	(PsName): Service named changed to...
   4308 	(PsFontName): This.
   4309 	Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
   4310 	`POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
   4311 
   4312 	* include/freetype/internal/internal.h
   4313 	(FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
   4314 	* include/freetype/internal/psaux.h: Include
   4315 	FT_SERVICE_POSTSCRIPT_NAMES_H.
   4316 	(T1_DecoderRec): Updated type of `psnames'.
   4317 	* include/freetype/internal/t1types.h: Don't include
   4318 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4319 	Include FT_INTERNAL_OBJECTS_H.
   4320 	* include/freetype/internal/t42types.h: Don't include
   4321 	FT_INTERNAL_POSTSCRIPT_NAMES_H.
   4322 	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
   4323 
   4324 	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
   4325 	order of parameters.  All callers updated.
   4326 	(FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
   4327 	globally, checking all modules.
   4328 	(FT_ServiceCacheRec): Updated.
   4329 	(FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
   4330 	`svpsname.h'.
   4331 
   4332 	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c
   4333 	(ft_module_get_service): New function.
   4334 
   4335 	* src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
   4336 	but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4337 	(cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
   4338 	service.
   4339 	* src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
   4340 	* src/cff/cffload.c, src/cff/cffload.h:  Don't include
   4341 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4342 	(cff_index_get_sid_string): Updated.
   4343 	* src/cff/cffobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
   4344 	but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4345 	(cff_face_init): Use new POSTSCRIPT_NAMES service.
   4346 	* src/cff/cffobjs.h:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
   4347 	but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4348 
   4349 	* src/cid/cidobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
   4350 	but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4351 	(cid_face_init): Use new POSTSCRIPT_NAMES service.
   4352 	* src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
   4353 
   4354 	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
   4355 	new POSTSCRIPT_NAMES service.
   4356 	* src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
   4357 	t1_decode_init): Use new POSTSCRIPT_NAMES service.
   4358 	* src/psaux/t1cmap.h, src/psaux/t1decode.h: Don't include
   4359 	FT_INTERNAL_POSTSCRIPT_NAMES_H.
   4360 
   4361 	* src/psnames/psmodule.c:  Don't include
   4362 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4363 	(ps_build_unicode_table): Renamed to...
   4364 	(ps_unicodes_init): This.
   4365 	(ps_lookup_unicode): Renamed to...
   4366 	(ps_unicodes_char_index): This.
   4367 	(ps_next_unicode): Renamed to...
   4368 	(ps_unicodes_char_next): This.
   4369 	(psnames_interface): Updated.
   4370 	(psnames_services): New services list.
   4371 	(psnames_get_service): New function.
   4372 	(psnames_module_class): Updated.
   4373 
   4374 	* src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
   4375 	but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4376 	(sfnt_init_face): Use new POSTSCRIPT_NAMES service.
   4377 	* src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
   4378 	but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4379 	(tt_face_get_ps_name): Updated.
   4380 
   4381 	* src/truetype/ttobjs.c:  Don't include
   4382 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4383 
   4384 	* src/type1/t1driver.c:  Don't include
   4385 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4386 	* src/type1/t1objs.c:  Don't include
   4387 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4388 	(T1_Face_Init): Use new POSTSCRIPT_NAMES service.
   4389 
   4390 	* src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
   4391 	(t42_get_ps_font_name): This.
   4392 	(t42_service_ps_name): Renamed to...
   4393 	(t42_service_ps_font_name): This.
   4394 	(t42_services): Updated.
   4395 	* src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
   4396 	service.
   4397 	* src/type42/t42objs.h:  Don't include
   4398 	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
   4399 
   4400 
   4401 	* src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
   4402 	testing its validity.  Reported by Henry Maddocks
   4403 	<maddocks (a] metservice.com>.
   4404 
   4405 2003-09-21  Werner Lemberg  <wl (a] gnu.org>
   4406 
   4407 	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
   4408 	Fix compilation warning (s/pptr/Pptr/).
   4409 
   4410 	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
   4411 	FT_INTERNAL_FNT_TYPES_H): Removed.
   4412 
   4413 2003-09-21  David Turner  <david (a] freetype.org>
   4414 
   4415 	Migrating the PFR and WINFNT drivers to the new service-based
   4416 	internal API.
   4417 
   4418 	* include/freetype/internal/fnttypes.h: Removed.  Most of its data
   4419 	are moved to winfnt.h and...
   4420 	* include/freetype/internal/services/svwinfnt.h: New file.
   4421 
   4422 	* include/freetype/internal/pfr.h: Removed.  Most of its data are
   4423 	moved to...
   4424 	* include/freetype/internal/services/svpfr.h: New file.
   4425 
   4426 	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
   4427 	FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
   4428 	pointer type argument.
   4429 	Updated all callers.
   4430 	Update macro names of services header files.
   4431 
   4432 	* src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
   4433 
   4434 	* src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
   4435 	FT_INTERNAL_PFR_H.
   4436 	(ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
   4437 	FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
   4438 
   4439 	* src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
   4440 	FT_INTERNAL_FNT_TYPES_H.
   4441 	(FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
   4442 
   4443 	* src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
   4444 	FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
   4445 	(pfr_service_bdf): Updated.
   4446 	(pfr_services): New services list.
   4447 	(pfr_get_service): New function.
   4448 	(pfr_driver_class): Updated.
   4449 
   4450 	* src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
   4451 	FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
   4452 	(winfnt_get_header, winfnt_get_service): New functions.
   4453 	(winfnt_service_rec): New structure providing WINFNT services.
   4454 	(winfnt_services): New services list.
   4455 	(winfnt_driver_class): Updated.
   4456 	* src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
   4457 
   4458 	* src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
   4459 
   4460 	* src/type1/t1driver.c (t1_service_ps_name): Fix typo.
   4461 
   4462 	* src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
   4463 	src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
   4464 	src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
   4465 	warnings.
   4466 
   4467 2003-09-19  David Bevan  <dbevan (a] emtex.com>
   4468 
   4469 	* src/type1/t1parse.c (pfb_tag_fields): Removed.
   4470 	(read_pfb_tag): Fix code so that it doesn't fail on end-of-file
   4471 	indicator (0x8003).
   4472 	* docs/CHANGES: Updated.
   4473 
   4474 2003-09-16  Werner Lemberg  <wl (a] gnu.org>
   4475 
   4476 	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
   4477 	FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
   4478 	Ugly, I know, but this is needed for compilation with C++ --
   4479 	maybe someone knows a better solution?
   4480 	Updated all callers.
   4481 
   4482 	* src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
   4483 	C++ compiler warnings.
   4484 
   4485 	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
   4486 	Fix order of arguments passed to FT_FACE_FIND_SERVICE.
   4487 
   4488 2003-09-15  Werner Lemberg  <wl (a] gnu.org>
   4489 
   4490 	Avoid header files with identical names.
   4491 
   4492 	* include/freetype/internal/services/bdf.h: Renamed to...
   4493 	* include/freetype/internal/services/svbdf.h: This.
   4494 	Add copyright notice.
   4495 	* include/freetype/internal/services/glyfdict.h: Renamed to...
   4496 	* include/freetype/internal/services/svgldict.h: This.
   4497 	Add copyright notice.
   4498 	* include/freetype/internal/services/multmast.h: Renamed to...
   4499 	* include/freetype/internal/services/svmm.h: This.
   4500 	Add copyright notice.
   4501 	Add FT_BEGIN_HEADER and FT_END_HEADER.
   4502 	* include/freetype/internal/services/sfnt.h: Renamed to...
   4503 	* include/freetype/internal/services/svsfnt.h: This.
   4504 	Add copyright notice.
   4505 	* include/freetype/internal/services/postname.h: Renamed to...
   4506 	* include/freetype/internal/services/svpostnm.h: This.
   4507 	Add copyright notice.
   4508 	* include/freetype/internal/services/xf86name.h: Renamed to...
   4509 	* include/freetype/internal/services/svxf86nm.h: This.
   4510 	Add copyright notice.
   4511 
   4512 	* include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
   4513 	FT_END_HEADER.
   4514 	Add copyright notice.
   4515 	Update macro names of services header files.
   4516 
   4517 	* builds/freetype.mk (SERVICES_DIR): New variable.
   4518 	(BASE_H): Add services header files.
   4519 
   4520 2003-09-11  Werner Lemberg  <wl (a] gnu.org>
   4521 
   4522 	* builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
   4523 
   4524 	* src/cff/cffdrivr.c: Don't load headers twice.
   4525 
   4526 	* include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
   4527 	* src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
   4528 
   4529 	* src/cff/cffcmap.c: Include `cfferrs.h'.
   4530 	* src/pfr/pfrdrivr.c: Include `pfrerror.h'.
   4531 	* src/sfnt/sfdriver.c: Include `sferrors.h'.
   4532 	* src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
   4533 
   4534 2003-09-11  David Turner  <david (a] freetype.org>
   4535 
   4536 	Introducing the concept of `module services'.  This is the first
   4537 	step towards a massive simplification of the engine's internals, in
   4538 	order to get rid of various numbers of hacks.
   4539 
   4540 	Note that these changes will break source & binary compatibility for
   4541 	authors of external font drivers.
   4542 
   4543 	* include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
   4544 	FT_DUMMY_STMNT): New macros.
   4545 
   4546 	* include/freetype/internal/ftserv.h: New file, containing the new
   4547 	structures and macros to provide `services'.
   4548 
   4549 	* include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
   4550 	FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
   4551 	Removed, obsolete.
   4552 	(FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
   4553 
   4554 	* include/freetype/internal/services/bdf.h,
   4555 	include/freetype/internal/services/glyfdict.h,
   4556 	include/freetype/internal/services/postname.h,
   4557 	include/freetype/internal/services/xf86name.h: New files.
   4558 
   4559 	* include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
   4560 	FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
   4561 	to...
   4562 	* include/freetype/internal/services/multmast.h: New file.
   4563 
   4564 	* include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
   4565 	is now of type `FT_Module_Requester'.
   4566 	(SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
   4567 	moved (in modified form) to...
   4568 	* include/freetype/internal/services/sfnt.h: New file.
   4569 
   4570 	* include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
   4571 	pointer moved (in modified form) to `services/sfnt.h'.
   4572 
   4573 	* include/freetype/ftmodule.h (FT_Module_Interface): Make it a
   4574 	a typedef to `FT_Pointer'.
   4575 
   4576 	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
   4577 	`postscript_name'.
   4578 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
   4579 	`postscript_name'.
   4580 	Add `services' element.
   4581 	(FT_LibraryRec): Remove `meta_class'.
   4582 
   4583 	* src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
   4584 	(test_font_type): Removed.
   4585 	(FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
   4586 	provided in `FT_SERVICE_ID_BDF'.
   4587 
   4588 	* src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
   4589 	(ft_face_get_mm_service): New auxiliary function to get services
   4590 	from `FT_SERVICE_ID_MULTI_MASTERS'.
   4591 	(FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
   4592 	FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
   4593 
   4594 	* src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
   4595 	FT_SERVICE_GLYPH_DICT_H.
   4596 	(ft_service_list_lookup): New function to get a specific service.
   4597 	(destroy_face): Updated.
   4598 	(Mac_Read_POST_Resource): Simplify some code.
   4599 	(IsMacResource): Fix warnings.
   4600 	(FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
   4601 	`FT_SERVICE_ID_GLYPH_DICT'.
   4602 	(FT_Get_Postscript_Name): Use service provided in
   4603 	`FT_SERVICE_ID_POSTSCRIPT_NAME'.
   4604 	(FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
   4605 	`FT_SERVICE_ID_SFNT_TABLE'.
   4606 
   4607 	* src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
   4608 	(FT_Get_X11_Font_Format): Use service provided in
   4609 	`FT_SERVICE_ID_XF86_NAME'.
   4610 
   4611 	* src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
   4612 	FT_SERVICE_XFREE86_NAME_H.
   4613 	(bdf_get_charset_id): New function.
   4614 	(bdf_service_bdf): New structure providing BDF services.
   4615 	(bdf_services): New services list.
   4616 	(bdf_driver_requester): Use `ft_service_list_lookup'.
   4617 
   4618 	* src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
   4619 	FT_SERVICE_GLYPH_DICT_H.
   4620 	(cff_service_glyph_dict): New structure providing CFF services.
   4621 	(cff_services): New services list.
   4622 	(cff_get_interface): Use `ft_service_list_lookup'.
   4623 
   4624 	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
   4625 	FT_SERVICE_XFREE86_NAME_H.
   4626 	(cid_service_ps_name): New structure providing CID services.
   4627 	(cid_services): New services list.
   4628 	(cid_get_interface): Use `ft_service_list_lookup'.
   4629 
   4630 	* src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
   4631 	FT_SERVICE_XFREE86_NAME_H.
   4632 	(pcf_service_bdf): New structure providing PCF services.
   4633 	(pcf_services): New services list.
   4634 	(pcf_driver_requester): Use `ft_service_list_lookup'.
   4635 
   4636 	* src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
   4637 	FT_SERVICE_POSTSCRIPT_NAME_H.
   4638 	(get_sfnt_glyph_name): Renamed to...
   4639 	(sfnt_get_glyph_name): This.
   4640 	(get_sfnt_postscript_name): Renamed to...
   4641 	(sfnt_get_ps_name): This.
   4642 	Updated.
   4643 	(sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
   4644 	providing services.
   4645 	(sfnt_services): New services list.
   4646 	(sfnt_get_interface): Use `ft_service_list_lookup'.
   4647 
   4648 	* src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
   4649 	(tt_services): New services list.
   4650 	(tt_get_interface): Use `ft_service_list_lookup'.
   4651 
   4652 	* src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
   4653 	FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
   4654 	FT_SERVICE_POSTSCRIPT_NAME_H.
   4655 	(t1_service_glyph_dict, t1_service_ps_name,
   4656 	t1_service_multi_masters): New structures providing Type 1 services.
   4657 	(t1_services): New services list.
   4658 	(Get_Interface): Use `ft_service_list_lookup'.
   4659 
   4660 	* src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
   4661 	FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
   4662 	(t42_service_glyph_dict, t42_service_ps_name): New structures
   4663 	providing Type 42 services.
   4664 	(t42_services): New services list.
   4665 	(T42_Get_Interface): Use `ft_service_list_lookup'.
   4666 
   4667 
   4668 	* README, docs/CHANGES: Updating version numbers for 2.1.6, and
   4669 	removing obsolete warnings in the documentation.
   4670 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
   4671 	* builds/unix/configure.ac (version_info): Set to 9:5:3.
   4672 	* builds/unix/configure: Regenerated.
   4673 
   4674 	* include/freetype/internal/ftcore.h,
   4675 	include/freetype/internal/ftexcept.h,
   4676 	include/freetype/internal/fthash.h,
   4677 	include/freetype/internal/ftobject.h: Removed.  Obsolete.
   4678 
   4679 2003-09-09  David Turner  <david (a] freetype.org>
   4680 
   4681 	Fixing PFR kerning support.  The tables within the font file contain
   4682 	(charcode,charcode) kerning pairs, we need to convert them to
   4683 	(gindex,gindex).
   4684 
   4685 	* src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
   4686 	* src/pfr/pfrload.c: Remove dead code.
   4687 	(pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
   4688 	New functions.
   4689 	(pfr_phy_font_done): Free `kern_pairs'.
   4690 	(pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
   4691 	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
   4692 	* src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
   4693 	(PFR_KernPairRec): Make `kerning' an FT_Int.
   4694 	(PFR_PhyFontRec): New element `kern_pairs'.
   4695 	(PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
   4696 	PFR_KERN_2BYTE_ADJ were erroneously reversed.
   4697 
   4698 	* include/freetype/ftoption.h: Commenting out the macro
   4699 	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
   4700 
   4701 2003-09-02  David Turner  <david (a] freetype.org>
   4702 
   4703 
   4704 	* Version 2.1.5 released.
   4705 	=========================
   4706 
   4707 
   4708 2003-08-31  Manish Singh  <yosh (a] gimp.org>
   4709 
   4710 	* src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
   4711 	FT_MEM_MOVE.
   4712 
   4713 2003-08-30  Werner Lemberg  <wl (a] gnu.org>
   4714 
   4715 	* include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
   4716 	FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
   4717 	enumerations of FT_Encoding.  The FT_ENCODING_MS_* variants except
   4718 	FT_ENCODING_MS_SYMBOL are now deprecated.
   4719 	Updated all users.
   4720 	* docs/CHANGES: Document it.
   4721 
   4722 2003-08-27  Werner Lemberg  <wl (a] gnu.org>
   4723 
   4724 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
   4725 	for spacing.
   4726 
   4727 2003-08-27  Mike FABIAN  <mfabian (a] suse.de>
   4728 
   4729 	* src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
   4730 	(BDF_Face_Init): Accept lowercase characters for slant and weight.
   4731 
   4732 2003-08-18  David Turner  <david (a] freetype.org>
   4733 
   4734 	* include/freetype/config/ftoption.h: Disabling TrueType bytecode
   4735 	interpreter until the UNPATENTED_HINTING works as advertised.
   4736 
   4737 	* src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
   4738 	setting `load_flags'.
   4739 
   4740 	* Jamfile: Adding the `refdoc' target to the Jamfile in order to
   4741 	build the API Reference in `docs/reference' automatically.
   4742 
   4743 	* include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
   4744 	src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
   4745 	`italic_angle', `underline_position', and `underline_thickness' to
   4746 	their previous values (i.e., long, short, and ushort) in order to
   4747 	avoid breaking binary compatibility.
   4748 
   4749 	* include/freetype/ttunpat.h: Fixing documentation comment.
   4750 
   4751 	* include/freetype/config/ftoption.h, devel/ftoption.h
   4752 	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING): Replaced with...
   4753 	(TT_CONFIG_OPTION_UNPATENTED_HINTING): This.  Updated all users.
   4754 	(TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
   4755 
   4756 	* include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
   4757 	(FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro.  Use this with
   4758 	`FT_Set_Debug_Hook' to get the same effect as the removed
   4759 	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
   4760 
   4761 	* src/truetype/ttobjs.c (tt_face_init): Use
   4762 	`FT_DEBUG_HOOK_UNPATENTED_HINTING'.
   4763 
   4764 2003-08-06  Werner Lemberg  <wl (a] gnu.org>
   4765 
   4766 	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
   4767 	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
   4768 	previous change.
   4769 
   4770 2003-08-05  Werner Lemberg  <wl (a] gnu.org>
   4771 
   4772 	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
   4773 	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
   4774 	font matrix to advance width also.
   4775 	* docs/CHANGES: Updated.
   4776 
   4777 2003-07-26  Werner Lemberg  <wl (a] gnu.org>
   4778 
   4779 	* builds/unix/configure.ac (version_info): Set to 9:4:3.
   4780 	* builds/unix/configure: Updated.
   4781 	* docs/CHANGES, docs/VERSION.DLL: Updated.
   4782 
   4783 	* include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
   4784 	also breaks binary compatibility.  Reintroduce an unsigned integer
   4785 	at the old position of `flags' called `reserved'.
   4786 
   4787 2003-07-25  Werner Lemberg  <wl (a] gnu.org>
   4788 
   4789 	Make API reference valid HTML 4.01 transitional.
   4790 
   4791 	* src/tools/docmaker/tohtml.py (html_header_1): Add doctype
   4792 	and charset.
   4793 	(html_header_2): Fix style elements and add some more.
   4794 	Fix syntax.
   4795 	(block_header, block_footer, description_header, description_footer,
   4796 	marker_header, marker_footer, source_header, source_footer,
   4797 	chapter_header): Don't use <center>...</center> but `align=center'
   4798 	table attribute.
   4799 	(chapter_inter, chapter_footer): Add <li> and use special <ul>
   4800 	class.
   4801 	Use double quotes around table widths given in percent.
   4802 	(keyword_prefix, keyword_suffix): Don't change font colour directly
   4803 	but use a new <span> class.
   4804 	(section_synopsis_header, section_synopsis_footer): Don't change
   4805 	colour.
   4806 	(code_header, code_footer): Don't change font colour directly but
   4807 	use a special <pre> class.
   4808 	(print_html_field): <tr> gets the `valign' attribute, not <table>.
   4809 	(print_html_field_list): Ditto.
   4810 	(index_exit): Don't use <center>...</center> but `align=center'
   4811 	table attribute.
   4812 	(section_enter): Ditto.
   4813 	(toc_exit): Don't emit </table>.
   4814 	(block_enter): Use <h4><a>, not <a><h4>.
   4815 	(__init__): Fix tag order in self.html_footer.
   4816 
   4817 2003-07-25  David Turner  <david (a] freetype.org>
   4818 
   4819 	This change reimplements fix from 2003-05-30 without breaking
   4820 	binary compatibility.
   4821 
   4822 	* include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
   4823 	`is_fixed_pitch', `underline_position', `underline_thickness' are
   4824 	reverted to be normal values.
   4825 
   4826 	* include/freetype/internal/psaux.h (T1_FieldType): Remove
   4827 	`T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
   4828 	`T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
   4829 	(T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
   4830 	T1_FIELD_FIXED_1000_P): Removed.
   4831 	(T1_FIELD_TYPE_BOOL): Renamed to...
   4832 	(T1_FIELD_BOOL): New macro.  Updated all callers.
   4833 
   4834 	* src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
   4835 	`underline_position', `underline_thickness', `paint_type',
   4836 	`stroke_width' are reverted to be normal values.
   4837 	(T42_KEYWORD_COUNT): New macro.
   4838 	(t42_parse_dict): New array `keyword_flags' to mark that a value has
   4839 	already been assigned to a dictionary entry.
   4840 	* src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
   4841 
   4842 	* src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
   4843 	`underline_position', `underline_thickness' are reverted to be
   4844 	normal values.
   4845 	* src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
   4846 
   4847 	* src/psaux/psobjs.c (ps_parser_load_field): Updated.
   4848 
   4849 	* src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
   4850 	`underline_position', `underline_thickness', `paint_type',
   4851 	`stroke_width' are reverted to be normal values.
   4852 	* src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
   4853 	* src/type1/t1load.c (T1_FIELD_COUNT): New macro.
   4854 	(parse_dict): Add parameter for keyword flags.
   4855 	Record only first instance of a field.
   4856 	(T1_Open_Face): New array `keyword_flags'.
   4857 
   4858 2003-07-24  Werner Lemberg  <wl (a] gnu.org>
   4859 
   4860 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
   4861 	* builds/unix/configure.ac (version_info): Set to 10:0:3.
   4862 	* builds/unix/configure: Updated.
   4863 	* builds/freetype.mk (refdoc): Fix --title.
   4864 
   4865 	* docs/CHANGES, docs/VERSION.DLL, README: Updated.
   4866 
   4867 	* src/tools/docmaker/sources.py (re_crossref): Fix regular
   4868 	expression to handle trailing punctuation characters.
   4869 	* src/tools/docmaker/tohtml.py (make_html_word): Updated.
   4870 
   4871 	* docs/release: New file.
   4872 
   4873 2003-07-23  YAMANO-UCHI Hidetoshi  <mer (a] din.or.jp>
   4874 
   4875 	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
   4876 	member function `to_bytes'.
   4877 
   4878 	* src/psaux/psauxmod.c (ps_parser_funcs): New member
   4879 	`ps_parser_to_bytes'.
   4880 	(psaux_module_class): Increase version to 0x20000L.
   4881 
   4882 	* src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
   4883 	(IS_T1_NULLSPACE): New macro.
   4884 	(IS_T1_SPACE): Add it.
   4885 	(skip_spaces, skip_alpha): New functions.
   4886 	(ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
   4887 	(ps_tobytes, ps_parser_to_bytes): New functions.
   4888 
   4889 2003-07-07  Werner Lemberg  <wl (a] gnu.org>
   4890 
   4891 	* builds/freetype.mk (DOC_DIR): New variable.
   4892 	(refdoc): Use *_DIR variables.
   4893 	(distclean): Remove documentation files.
   4894 
   4895 	* builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
   4896 
   4897 	* configure: Set DOC_DIR variable.
   4898 
   4899 2003-07-07  Patrik Hgglund  <patrik.hagglund (a] bredband.net>
   4900 
   4901 	* builds/freetype.mk (refdoc): New target to build the
   4902 	documentation.
   4903 	(.PHONY): Updated.
   4904 
   4905 	* include/freetype/freetype.h: Improve documentation of FT_CharMap.
   4906 	* include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
   4907 	* include/freetype/tttables.h: Document FT_Sfnt_Tag.
   4908 
   4909 2003-07-06  Werner Lemberg  <wl (a] gnu.org>
   4910 
   4911 	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
   4912 	(pcf_load_font): Fix computation of height if PIXEL_SIZE property is
   4913 	missing.
   4914 
   4915 2003-07-01  Werner Lemberg  <wl (a] gnu.org>
   4916 
   4917 	* src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
   4918 	there is no error.  Reported by Knut St. Osmundsen
   4919 	<bird-freetype (a] anduin.net>.
   4920 
   4921 2003-06-30  Werner Lemberg  <wl (a] gnu.org>
   4922 
   4923 	A new try to synchronize bitmap font access.
   4924 
   4925 	* include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
   4926 	defined to return the baseline-to-baseline distance.  This was
   4927 	already the value returned by the BDF and PCF drivers.
   4928 
   4929 	The `width' field now gives the average width.  I wasn't able to
   4930 	find something better.  It should be taken as informative only.
   4931 
   4932 	New fields `size', `x_ppem', and `y_ppem'.
   4933 
   4934 	* src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
   4935 	FT_Bitmap_Size.
   4936 	Do proper rounding and conversion from 72.27 to 72 points.
   4937 
   4938 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
   4939 	FT_Bitmap_Size.
   4940 	Do proper rounding and conversion from 72.27 to 72 points.
   4941 
   4942 	* src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
   4943 	FT_Bitmap_Size.
   4944 
   4945 	* src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
   4946 	FT_Bitmap_Size.
   4947 
   4948 2003-06-29  Werner Lemberg  <wl (a] gnu.org>
   4949 
   4950 	Redesigning the FNT driver to return multiple faces, not multiple
   4951 	strikes.  At least one font (app850.fon from WinME) contains
   4952 	different FNT charmaps for its subfonts.  Consequently, the previous
   4953 	design of having multiple bitmap strikes in a single font face fails
   4954 	since we have only one charmap per face.
   4955 
   4956 	* include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
   4957 	(FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
   4958 	`font'.
   4959 
   4960 	* src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
   4961 
   4962 	* src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
   4963 	to pixel_height.
   4964 	(fnt_face_done_fonts): Removed.
   4965 	(fnt_face_get_dll_fonts): Renamed to...
   4966 	(fnt_face_get_dll_font): This.  Add second function argument to
   4967 	select face index.
   4968 	Updated to load just one subfont.
   4969 	(fnt_font_done, FNT_Face_Done): Updated.
   4970 	(FNT_Face_Init): Handle `face_index'.
   4971 	Updated.
   4972 	(FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
   4973 	bitmap width is now ignored.
   4974 	(FNT_Load_Glyph): Updated.
   4975 	Fix glyph index computation.
   4976 	(winfnt_driver_class): Updated.
   4977 
   4978 2003-06-25  Owen Taylor  <otaylor (a] redhat.com>
   4979 
   4980 	* src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
   4981 	num_records until we actually decide to load the table,
   4982 	otherwise, we'll segfault in tt_face_free_hdmx.
   4983 
   4984 2003-06-24  Werner Lemberg  <wl (a] gnu.org>
   4985 
   4986 	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
   4987 	glyph name pointer.  Reported by Mikey Anbary <manbary (a] vizrt.com>.
   4988 
   4989 2003-06-23  Werner Lemberg  <wl (a] gnu.org>
   4990 
   4991 	* src/tools/glnames.py: Updated to AGL 2.0.
   4992 	* src/psnames/pstables.h: Regenerated.
   4993 
   4994 2003-06-22  Werner Lemberg  <wl (a] gnu.org>
   4995 
   4996 	* include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
   4997 	src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
   4998 	src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
   4999 	src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
   5000 	Decorate constants with `U' and `L' if appropriate.
   5001 
   5002 	* include/freetype/ftmoderr.h: Updated to include recent module
   5003 	additions.
   5004 
   5005 	* src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
   5006 	`FT_Mod_Err_PShinter'.
   5007 	* src/type42/t42error.h (FT_ERR_BASE): Define as
   5008 	`FT_Mod_Err_Type42'.
   5009 
   5010 	* src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed.  Not used.
   5011 
   5012 	* include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
   5013 	and FT_INT64.
   5014 
   5015 2003-06-21  Werner Lemberg  <wl (a] gnu.org>
   5016 
   5017 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
   5018 	computation of glyph_index.
   5019 	(FNT_Size_Set_Pixels): To find a strike, first check pixel_height
   5020 	only, then try to find a better hit by comparing pixel_width also.
   5021 	Without this fix it isn't possible to access all strikes.
   5022 	Also compute metrics.max_advance to be in sync with other bitmap
   5023 	drivers.
   5024 
   5025 	* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
   5026 	(FT_Set_Pixel_Sizes): Assign value to `metrics' after validation of
   5027 	arguments.
   5028 
   5029 2003-06-20  Werner Lemberg  <wl (a] gnu.org>
   5030 
   5031 	Synchronize computation of height and width for bitmap strikes.  The
   5032 	`width' field in the FT_Bitmap_Size structure is now only useful to
   5033 	enumerate different strikes.  The `max_advance' field of the
   5034 	FT_Size_Metrics structure should be used to get the (maximum) width
   5035 	of a strike.
   5036 
   5037 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
   5038 	computing `available_sizes->width' but make it always equal to
   5039 	`available_sizes->height'.
   5040 
   5041 	* src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
   5042 	computing `available_sizes->width' but make it always equal to
   5043 	`available_sizes->height'.
   5044 
   5045 	* src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
   5046 	argument to function.
   5047 
   5048 	* src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
   5049 	`uniXXXX' and `uXXXX[X[X]]'.
   5050 
   5051 2003-06-19  Werner Lemberg  <wl (a] gnu.org>
   5052 
   5053 	* src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
   5054 	* src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
   5055 	s/FT_Err_/FTC_Err_/.
   5056 	* src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
   5057 	* src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
   5058 	* src/psaux/t1cmap.c: Include psauxerr.h.
   5059 	s/FT_Err_/PSaux_Err_/.
   5060 	* src/pshinter/pshnterr.h: New file.
   5061 	* src/pshinter/rules.mk: Updated.
   5062 	* src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
   5063 	s/FT_Err_/PSH_Err_/.
   5064 	* src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
   5065 	s/FT_Err_/PFR_Err_/.
   5066 	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
   5067 	src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
   5068 	* src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
   5069 	* src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
   5070 	FT_ERR_PREFIX and FT_ERR_BASE.
   5071 	s/FT_Err_/Gzip_Err_/.
   5072 
   5073 2003-06-19  Dirck Blaskey  <listtarget (a] danbala.com>
   5074 
   5075 	* src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
   5076 	otherwise adding 1 might wrap the result.
   5077 
   5078 2003-06-18  Werner Lemberg  <wl (a] gnu.org>
   5079 
   5080 	* src/psnames/psmodule.c (ps_unicode_value): Add support to
   5081 	recognize `uXXXX[X[X]]' glyph names.
   5082 	Don't handle glyph names starting with `uni' which have more than
   5083 	four digits.
   5084 
   5085 2003-06-16  Werner Lemberg  <wl (a] gnu.org>
   5086 
   5087 	* include/freetype/freetype.h (FT_Open_Flags): Replaced with
   5088 	#defines for the constants.
   5089 	(FT_Open_Args): Change type of `flags' to FT_UInt.
   5090 	(FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
   5091 
   5092 	* include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
   5093 	Replaced with #defines for the constants.
   5094 
   5095 	* include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
   5096 	field `flags' (from FT_GlyphSlot).
   5097 	Updated all affected source files.
   5098 	(FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
   5099 
   5100 	* include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
   5101 	to ftobjs.h.
   5102 
   5103 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
   5104 	FT_GlyphSlot_Internal object.
   5105 
   5106 2003-06-15  Werner Lemberg  <wl (a] gnu.org>
   5107 
   5108 	* builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
   5109 	Add -fno-strict-aliasing to get rid of zillion warnings from gcc
   5110 	version 3.3.
   5111 
   5112 2003-06-14  Werner Lemberg  <wl (a] gnu.org>
   5113 
   5114 	* include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
   5115 	ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
   5116 	ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
   5117 	FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
   5118 	FT_GLYPH_BBOX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
   5119 	The lowercase variants are now (deprecated aliases) to the uppercase
   5120 	versions.
   5121 	Updated all other files.
   5122 
   5123 	* include/freetype/ftmodule.h (ft_module_font_driver,
   5124 	ft_module_renderer, ft_module_hinter, ft_module_styler,
   5125 	ft_module_driver_scalable, ft_module_driver_no_outlines,
   5126 	ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
   5127 	FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
   5128 	FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
   5129 	FT_MODULE_DRIVER_HAS_HINTER.
   5130 	The lowercase variants are now (deprecated aliases) to the uppercase
   5131 	versions.
   5132 	Updated all other files.
   5133 
   5134 	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
   5135 	as enumeration.
   5136 
   5137 	* src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
   5138 	(winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
   5139 	the FT_MODULE_DRIVER_NO_OUTLINES flag.
   5140 
   5141 2003-06-13  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   5142 
   5143 	* src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
   5144 
   5145 2003-06-13  Werner Lemberg  <wl (a] gnu.org>
   5146 
   5147 	* builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
   5148 
   5149 	* builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
   5150 	EMX gcc compiler.
   5151 	* builds/dos/detect.mk: Add target `emx'.
   5152 
   5153 	* builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
   5154 	like a trailing semicolon; add a dummy command.
   5155 
   5156 	* src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
   5157 	with #if 0 ... #endif).
   5158 
   5159 	* src/type1/t1tokens.h: Handle /FontName.
   5160 	* src/type1/t1load.c (parse_font_name): Removed.
   5161 	Remove parse_font_bbox code (already enclosed with #if 0 ...
   5162 	#endif).
   5163 
   5164 	* src/type42/t42parse.c (t42_parse_font_name): Removed.
   5165 	Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
   5166 	#endif).
   5167 	(t42_keywords): Handle /FontName with T1_FIELD_KEY.
   5168 
   5169 2003-06-12  Werner Lemberg  <wl (a] gnu.org>
   5170 
   5171 	* include/freetype/internal/psaux.h (T1_FieldType): Add
   5172 	T1_FIELD_TYPE_KEY.
   5173 	(T1_FIELD_KEY): New macro.
   5174 	* src/psaux/psobjs.c (ps_parser_load_field): Handle
   5175 	T1_FIELD_TYPE_KEY.
   5176 
   5177 	* src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
   5178 
   5179 2003-06-11  Alexander Malmberg  <alexander (a] malmberg.org>
   5180 
   5181 	* src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
   5182 	number of nodes.
   5183 	(FT_LruList_Lookup): Fix assertion for out-of-memory case.
   5184 
   5185 2003-06-11  Werner Lemberg  <wl (a] gnu.org>
   5186 
   5187 	* src/cid/cidload.c (cid_decrypt): Removed.
   5188 	(cid_read_subrs): Use t1_decrypt from psaux module.
   5189 	* src/cid/cidload.h: Updated.
   5190 	* src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
   5191 	module.
   5192 
   5193 2003-06-10  Werner Lemberg  <wl (a] gnu.org>
   5194 
   5195 	* src/cid/cidobjs.c: Apply change 2003-05-31 from <Ron.Dev (a] gmx.de>.
   5196 	Compute style flags.
   5197 	Fix computation of root->height.
   5198 	* src/cid/cidtoken.h: Handle FontBBox.
   5199 	* src/cid/cidload.c (cid_load_keyword): Handle
   5200 	T1_FIELD_LOCATION_BBOX.
   5201 	(parse_font_bbox): Commented out.
   5202 	(cid_field_records): Comment out element for parsing FontBBox.
   5203 
   5204 	* src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
   5205 	(t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
   5206 	T1_FIELD_CALLBACK.
   5207 	(t42_parse_font_bbox): Commented out.
   5208 	(t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
   5209 	* src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
   5210 	from <Ron.Dev (a] gmx.de>.
   5211 
   5212 2003-06-09  George Williams  <gww (a] silcom.com>
   5213 
   5214 	* src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
   5215 	TrueType specification.
   5216 	(Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
   5217 
   5218 2003-06-09  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   5219 
   5220 	* src/gzip/ftgzip.c: (inflate_mask): Replaced with...
   5221 	(NO_INFLATE_MASK): This.
   5222 	* src/gzip/infutil.h: Declare `inflate_mask' conditionally by
   5223 	NO_INFLATE_MASK.
   5224 
   5225 2003-06-09  Alexis S. L. Carvalho  <alexis (a] cecm.usp.br>
   5226 
   5227 	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
   5228 	correctly.
   5229 
   5230 2003-06-09  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   5231 
   5232 	* src/pshinter/pshglob.c (psh_globals_new): Change calculation of
   5233 	dim->stdw.count to avoid compiler problem.
   5234 
   5235 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
   5236 	variables to the beginning of the function to avoid compiler
   5237 	problems.
   5238 	Add casts necessary for 16bit compilers.
   5239 
   5240 2003-06-09  Werner Lemberg  <wl (a] gnu.org>
   5241 
   5242 	* src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
   5243 	(PFR_DRV_H): Add pfrtypes.h.
   5244 
   5245 	* include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
   5246 
   5247 2003-06-08  Karl Schultz  <kschultz (a] rsinc.com>
   5248 
   5249 	* src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
   5250 	argument to FT_Bool.
   5251 	(pfr_lookup_bitmap_data): Change type of third and fourth argument
   5252 	to FT_UInt.  Updated caller.
   5253 	(pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
   5254 
   5255 2003-06-08  Werner Lemberg  <wl (a] gnu.org>
   5256 
   5257 	Completely revised FreeType's make management.
   5258 
   5259 	. In all makefiles `/' is used as the path separator.  The
   5260 	  conversion to the real path separators is done as late as
   5261 	  possible using $(subst ...).
   5262 
   5263 	. $(HOSTSEP) no longer exists.  Now, $(SEP) gives the path separator
   5264 	  for the operating system, and the new $(COMPILER_SEP) the path
   5265 	  separator for the compiler tools.
   5266 
   5267 	. $(BUILD) has been renamed to $(BUILD_DIR).  In general, all
   5268 	  directory variables end with `_DIR'.  The variants ending in `_'
   5269 	  (like `BASE_' have been removed).
   5270 
   5271 	The following ChangeLog entries only describe changes which are
   5272 	not related to the redesign.
   5273 
   5274 	* builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
   5275 	* builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
   5276 	overlong arguments as suggested by J. Ali Harlow
   5277 	<ali (a] avrc.city.ac.uk>.
   5278 	* builds/dos/dos-wat.mk: New file.
   5279 	* builds/freetype.mk (FREETYPE_H): Include header files from the
   5280 	`devel' subdirectory.
   5281 
   5282 	* builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
   5283 	builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
   5284 	builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
   5285 
   5286 	* builds/unix/configure.ac, builds/unix/configure: Updated.
   5287 	* builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
   5288 
   5289 2003-06-07  Werner Lemberg  <wl (a] gnu.org>
   5290 
   5291 	* src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
   5292 	make it compile.
   5293 
   5294 	* devel/ftoption.h: Updated.
   5295 
   5296 2003-06-07  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   5297 
   5298 	* include/freetype/internal/psaux.h, src/truetype/ttgload.h:
   5299 	s/index/idx/ to fix compiler warnings.
   5300 
   5301 	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
   5302 	fix compiler warning.
   5303 
   5304 	* src/gzip/ftgzip.c (BUILDFIXED): Removed.
   5305 	* src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
   5306 	FT_UNUSED to remove compiler warning.
   5307 
   5308 2003-06-06  Werner Lemberg  <wl (a] gnu.org>
   5309 
   5310 	* include/freetype/ftstroker.h: Renamed to...
   5311 	* include/freetype/ftstroke.h: This.
   5312 
   5313 	* src/base/ftstroker.c: Renamed to...
   5314 	* src/base/ftstroke.c: This.
   5315 
   5316 	* include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
   5317 
   5318 	* src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
   5319 	Updated.
   5320 
   5321 	* src/pcf/pcfdriver.c: Renamed to...
   5322 	* src/pcf/pcfdrivr.c: This.
   5323 	* src/pcf/pcfdriver.h: Renamed to...
   5324 	* src/pcf/pcfdrivr.h: This.
   5325 
   5326 	* src/pcf/Jamfile, src/pcf/rules.mk: Updated.
   5327 
   5328 2003-06-05  Wenlin Institute (Tom Bishop)  <wenlin (a] wenlin.com>
   5329 
   5330 	* src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
   5331 	Add `#if !defined(__MWERKS__)'.
   5332 
   5333 2003-06-05  Werner Lemberg  <wl (a] gnu.org>
   5334 
   5335 	* include/freetype/internal/psaux.h (T1_FieldType): Add
   5336 	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
   5337 	(T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
   5338 	* src/psaux/psobjs.c (ps_parser_load_field): Handle
   5339 	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
   5340 
   5341 	* src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
   5342 	(CFF_FIELD_FIXED_1000): New macro.
   5343 	(cff_parser_run): Handle cff_kind_fixed_thousand.
   5344 	* src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
   5345 	* src/cff/cffload (cff_subfont_load): Fix default values of
   5346 	expansion_factor and blue_scale.
   5347 
   5348 	* src/cid/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
   5349 	for blue_scale.
   5350 
   5351 	* src/pshinter/pshglob.c (psh_globals_new): Fix default value of
   5352 	blue_scale.
   5353 
   5354 2003-06-04  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   5355 
   5356 	* include/freetype/internal/ftdriver.h,
   5357 	include/freetype/internal/ftobjs.h,
   5358 	include/freetype/internal/psaux.h, src/cid/cidgload.c,
   5359 	src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
   5360 	src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
   5361 	src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
   5362 	src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
   5363 	src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
   5364 	src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
   5365 	src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
   5366 	Many casts and slight argument type changes to make it work with
   5367 	a 16bit compiler.
   5368 
   5369 2003-06-04  Werner Lemberg  <wl (a] gnu.org>
   5370 
   5371 	* include/freetype/config/ftoption.h: Defining
   5372 	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
   5373 	since some fonts (e.g. Arial) produce worse results than without
   5374 	hinting.  Reverted.
   5375 
   5376 2003-06-04  Werner Lemberg  <wl (a] gnu.org>
   5377 
   5378 	* src/truetype/ttgload.c (load_truetype_glyph)
   5379 	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
   5380 	FT_GlyphLoader_CheckPoints before adding phantom points.  This fixes
   5381 	a segfault bug with fonts (e.g. htst3.ttf) which have nested
   5382 	subglyphs more than one level deep.  Reported by Anthony Fok.
   5383 
   5384 	* include/freetype/config/ftoption.h: Define
   5385 	TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
   5386 	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
   5387 	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
   5388 	default.
   5389 
   5390 2003-06-03  Werner Lemberg  <wl (a] gnu.org>
   5391 
   5392 	* src/autohint/ahhint.c (ah_hinter_hint_edges): Removed.  Just a
   5393 	wrapper for ah_hint_edges.
   5394 	(ah_hint_edges): Renamed to...
   5395 	(ah_hinter_hint_edges): This.
   5396 
   5397 	* src/base/ftobjs.c (FT_Set_Hint_Flags): Removed.  Unused.
   5398 
   5399 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
   5400 	include/freetype/internal/psaux.h (T1_DecoderRec),
   5401 	src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
   5402 	Unused.
   5403 
   5404 	* src/cff/cffgload.c (cff_builder_init): Updated.
   5405 	(cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
   5406 	with decoder->hint_mode instead of builder->hint_flags.
   5407 	* src/psaux/t1decode.c (t1_decoder_init): Updated.
   5408 
   5409 	* src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
   5410 
   5411 	* src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
   5412 	increased root->height by 15% if the line gap was zero.  There exist
   5413 	fonts (containing e.g. form drawing characters) which intentionally
   5414 	have a zero line gap value.
   5415 
   5416 	* src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
   5417 	Removed.  Unused.
   5418 	Updated all callers.
   5419 
   5420 2003-06-02  Werner Lemberg  <wl (a] gnu.org>
   5421 
   5422 	* src/cff/cffobjs.c (cff_face_init): Use symbolic names for
   5423 	Adobe specific encoding IDs (there was a wrong EID value for custom
   5424 	encoding).
   5425 
   5426 	* src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
   5427 	* src/cff/cffcmap.c (cff_cmap_encoding_init,
   5428 	cff_cmap_encoding_done): Updated.
   5429 	(cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
   5430 	256 as limit for character code.
   5431 
   5432 2003-06-01  Werner Lemberg  <wl (a] gnu.org>
   5433 
   5434 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
   5435 	2003-03-20.
   5436 
   5437 2003-05-31  Werner Lemberg  <wl (a] gnu.org>
   5438 
   5439 	* include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
   5440 
   5441 2003-05-31    <Ron.Dev (a] gmx.de>
   5442 
   5443 	* src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
   5444 	the font style by ignoring spaces and hyphens.
   5445 
   5446 	* builds/unix/freetype2.in: Fix `Version' field.
   5447 
   5448 2003-05-30  Werner Lemberg  <wl (a] gnu.org>
   5449 
   5450 	Avoid overwriting of numeric font dictionary entries for synthetic
   5451 	fonts.  Additionally, some entries were handled as `integer' instead
   5452 	of `number'.
   5453 
   5454 	* include/freetype/internal/psaux.h (T1_FieldType): Add
   5455 	T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
   5456 	T1_FIELD_TYPE_FIXED_P.
   5457 	(T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
   5458 	* src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
   5459 
   5460 	* include/freetype/internal/cfftypes.h (CFF_FontRecDict),
   5461 	src/cff/cfftoken.h: Change type of underline_position and
   5462 	underline_thickness to FT_Fixed.
   5463 	* src/cff/cffload.c (cff_subfont_load): Fix default values of
   5464 	underline_position and underline_thickness.
   5465 	* src/cff/cffobjs.c (cff_face_init): Set underline_position
   5466 	and underline_thickness in `root'.
   5467 
   5468 	* include/freetype/internal/t1types.h (T1_Font): Change point_type
   5469 	and stroke_width to pointers.
   5470 	* include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
   5471 	is_fixed_pitch, underline_position, and underline_thickness to
   5472 	pointers.
   5473 	* src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
   5474 	underline_position, and underline_thickness to pointers.  Change
   5475 	the type of the latter two to `fixed'.
   5476 	Change type of stroke_width to `fixed' and make it a pointer.
   5477 	Change paint_type to pointer.
   5478 	* src/type1/t1objs.c (T1_Face_Done): Updated.
   5479 	(T1_Face_Init): Updated.
   5480 	Fix assignment of underline_position and underline_thickness.
   5481 
   5482 	* src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
   5483 	underline_position, and underline_thickness to pointers.  Change
   5484 	the type of the latter two to `fixed'.
   5485 	Change type of stroke_width to `fixed'.
   5486 	* src/cid/cidobjs.c (cid_face_done): Updated.
   5487 	(cid_face_init): Updated.
   5488 	Fix assignment of underline_position and underline_thickness.
   5489 
   5490 	* src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
   5491 	underline_position, and underline_thickness to pointers.  Change the
   5492 	type of the latter two to `fixed'.
   5493 	Change type of stroke_width to `fixed' and make it a pointer.
   5494 	Change paint_type to pointer.
   5495 	* src/type42/t42objs.c (T42_Face_Init): Updated.
   5496 	Fix assignment of underline_position and underline_thickness.
   5497 	(T42_Face_Done): Updated.
   5498 
   5499 	* src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
   5500 	* src/pshinter/pshglob.c, src/pshinter/pshglob.h
   5501 	(psh_globals_set_scale): Make it a local function.
   5502 
   5503 	* test/gview.c: Fix renaming ps3->ps typo.
   5504 	Formatting.
   5505 
   5506 2003-05-29  Werner Lemberg  <wl (a] gnu.org>
   5507 
   5508 	* src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
   5509 	* src/pshinter/pshalgo.h: Removed.
   5510 
   5511 	* src/pshinter/pshalgo3.[ch]: Renamed to...
   5512 	* src/pshinter/pshalgo.[ch]: New files.
   5513 	s/PSH3/PSH/.
   5514 	s/psh3/psh/.
   5515 	s/ps3/ps/.
   5516 
   5517 	* src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
   5518 	* src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
   5519 
   5520 	* src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
   5521 	out.
   5522 
   5523 	* tests/gview.c: Remove code for pshalgo1 and pshalgo2.
   5524 	Updated.
   5525 
   5526 2003-05-28  Martin Zinser  <zinser (a] decus.de>
   5527 
   5528 	* vms_make.com: Reworked support for shareable images on VMS.  The
   5529 	first version was kind of a hack; the current implementation of the
   5530 	procedure to extract the required symbols is much cleaner.
   5531 
   5532 	Reworked creation of MMS files, avoiding a number of temporary files
   5533 	which were created in the previous version.
   5534 
   5535 	Further work on creating descrip.mms files on the fly.
   5536 
   5537 	* builds/vms/descrip.mms, src/autohint/descrip.mms,
   5538 	src/type1/descrip.mms: Removed.
   5539 
   5540 2003-05-28  Werner Lemberg  <wl (a] gnu.org>
   5541 
   5542 	* src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
   5543 	contours with only a single point to avoid segfault.
   5544 
   5545 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
   5546 	handling `origin'.
   5547 
   5548 2003-05-24  Werner Lemberg  <wl (a] gnu.org>
   5549 
   5550 	* src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
   5551 	Removed since unused.
   5552 
   5553 2003-05-21  Werner Lemberg  <wl (a] gnu.org>
   5554 
   5555 	* include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
   5556 	for strcat.
   5557 
   5558 	* src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
   5559 	(parse_font): s/memcpy/ft_memcpy/.
   5560 	(is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
   5561 	* src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
   5562 	s/strlen/ft_strlen/.
   5563 	s/strcat/ft_strcat/.
   5564 	s/strcpy/ft_strcpy/.
   5565 	* src/gzip/zutil.h: s/memset/ft_memset/.
   5566 	s/memcmp/ft_memcmp/.
   5567 
   5568 	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
   5569 	(PCF_Face_Init): Test for charset registry case-insensitively.
   5570 
   5571 	* src/gzip/ftgzip.c (ft_gzip_file_io): Revert change from yesterday;
   5572 	it has already been fixed differently.
   5573 
   5574 	* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
   5575 	if-clause.
   5576 
   5577 2003-05-21  Martin Zinser  <zinser (a] decus.de>
   5578 
   5579 	* t1load.c (parse_blend_axis_types): Fix compiler warning.
   5580 
   5581 	* descrip.mms: Removed.  Now created by...
   5582 
   5583 	* vms_make.com: New file.
   5584 
   5585 2003-05-21  Weiqi Gao  <weiqigao (a] networkusa.net>
   5586 
   5587 	* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
   5588 	to prevent infinite loop.
   5589 
   5590 2003-05-21  Lars Clausen  <lrclause (a] cs.uiuc.edu>
   5591 
   5592 	* docs/VERSION.DLL: Provide better autoconf snippet to check
   5593 	FreeType version.
   5594 
   5595 2003-05-21  Werner Lemberg  <wl (a] gnu.org>
   5596 
   5597 	* src/base/ftobjs.c (open_face): Free `internal' not
   5598 	`face->internal' in case of error to avoid possible segfault.
   5599 
   5600 	* src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
   5601 	actually have an outline.
   5602 
   5603 2003-05-20  David Chester  <davidchester (a] qmx.net>
   5604 
   5605 	* src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
   5606 	y_scale so that the top of non-capital letters is aligned on a pixel
   5607 	boundary whenever possible.
   5608 
   5609 	* src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
   5610 	m's maintain their symmetry.
   5611 
   5612 2003-05-20  Werner Lemberg  <wl (a] gnu.org>
   5613 
   5614 	* src/autohint/ahhint.c (ah_hinter_load_glyph): Oops!  David's
   5615 	patch from yesterday has been resolved already in a different
   5616 	way.  Reverted.
   5617 
   5618 2003-05-19  David Chester  <davidchester (a] qmx.net>
   5619 
   5620 	* src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
   5621 	y_scale locally but face->size->metrics.y_scale.
   5622 
   5623 2003-05-19  David Turner  <david (a] freetype.org>
   5624 
   5625 	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
   5626 	value for `hi' to avoid infinite loop.
   5627 
   5628 2003-05-18  Yong Sun  <sunyong (a] njstar.com>
   5629 
   5630 	* src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
   5631 
   5632 2003-05-18  Werner Lemberg  <wl (a] gnu.org>
   5633 
   5634 	* include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
   5635 	New macro.
   5636 	* src/base/ftobjs.c: Use it to control mac font support on non-mac
   5637 	platforms.
   5638 
   5639 2003-05-17  George Williams  <gww (a] silcom.com>
   5640 
   5641 	Implement partial support of Mac fonts on non-Mac platforms.
   5642 
   5643 	* src/base/ftobjs.c (memory_stream_close, new_memory_stream,
   5644 	open_face_from_buffer, Mac_Read_POST_Resource,
   5645 	Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
   5646 	[!FT_MACINTOSH]: New functions.
   5647 	(FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
   5648 
   5649 2003-05-17  Werner Lemberg  <wl (a] gnu.org>
   5650 
   5651 	* src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
   5652 	if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
   5653 	zero since FNT and friends don't define `face->units_per_EM').
   5654 
   5655 2003-05-15  David Turner  <david (a] freetype.org>
   5656 
   5657 	* src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
   5658 	for small values.
   5659 
   5660 2003-05-15  Werner Lemberg  <wl (a] gnu.org>
   5661 
   5662 	* src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
   5663 	and `out_angle' fields.
   5664 
   5665 2003-05-14  George Williams  <gww (a] silcom.com>
   5666 
   5667 	* src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
   5668 
   5669 2003-05-14  Werner Lemberg  <wl (a] gnu.org>
   5670 
   5671 	* include/freetype/freetype.h: Fix typo in comment
   5672 	(FT_HAS_FIXED_SIZES).
   5673 
   5674 2003-05-10  Dan Williams  <dan (a] bigw.org>
   5675 
   5676 	* builds/unix/aclocal.m4: Comment out definition of
   5677 	`allow_undefined_flag' for Darwin 1.3.
   5678 	* builds/unix/configure.ac: Add option --with-old-mac-fonts.
   5679 	* builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
   5680 	* builds/unix/configure: Regenerated.
   5681 
   5682 	* include/freetype/config/ftconfig.h: Fix conditions for defining
   5683 	`FT_MACINTOSH'.
   5684 	* src/base/ftbase.c: Include `ftmac.c' conditionally.
   5685 	* src/base/ftmac.c: Handle __GNUC__.
   5686 
   5687 2003-05-07  YAMANO-UCHI Hidetoshi  <mer (a] din.or.jp>
   5688 
   5689 	* src/cid/cidload.c (is_alpha): Removed.
   5690 	(cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
   5691 
   5692 2003-05-07  Werner Lemberg  <wl (a] gnu.org>
   5693 
   5694 	* src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
   5695 
   5696 2003-05-07  David Turner  <david (a] freetype.org>
   5697 
   5698 	* src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
   5699 	`switch' statement to make it run faster.
   5700 	(ah_outline_compute_segments): Reset `segment->score' and
   5701 	`segment->link'.
   5702 	(ah_outline_link_segments): Provide alternative code which does
   5703 	the same but runs much faster.
   5704 	Handle major direction also.
   5705 	(ah_outline_compute_edges): Scale `edge_distance_threshold' down
   5706 	after rounding instead of scaling comparison value in loop.
   5707 
   5708 	* src/autohint/ahhint.c (ah_hinter_align_strong_points): Provide
   5709 	alternative code which runs faster.
   5710 	Handle `before->scale == 0'.
   5711 
   5712 	* src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
   5713 	(AH_EdgeRec): Move some fields in structure.
   5714 	New field `scale'.
   5715 
   5716 	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
   5717 
   5718 2003-05-02  Werner Lemberg  <wl (a] gnu.org>
   5719 
   5720 	* src/autohint/ahoptim.c (LOG): Renamed to...
   5721 	(AH_OPTIM_LOG): This.
   5722 	(AH_Dump_Springs): Fix log message format.
   5723 
   5724 	* src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
   5725 	(ah_hint_edges): This.
   5726 
   5727 2002-05-02  Keith Packard  <keithp (a] keithp.com>
   5728 
   5729 	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
   5730 
   5731 2003-05-01  Werner Lemberg  <wl (a] gnu.org>
   5732 
   5733 	* src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
   5734 	(ah_test_extremum): This.
   5735 
   5736 2003-04-28  Werner Lemberg  <wl (a] gnu.org>
   5737 
   5738 	* builds/unix/configure.ac: Generate `freetype.pc' from
   5739 	`freetype.in'.
   5740 	* builds/unix/configure: Regenerated.
   5741 	* builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
   5742 
   5743 2003-04-28  Gustavo J. A. M. Carneiro  <gjc (a] inescporto.pt>
   5744 
   5745 	* builds/unix/freetype2.in: New file.  Contains building information
   5746 	for the `pkg-config' package.
   5747 
   5748 2003-04-28  David Turner  <david (a] freetype.org>
   5749 
   5750 	* src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
   5751 	`glyph_index'.
   5752 
   5753 2003-04-25:  Graham Asher  <graham.asher (a] btinternet.com>
   5754 
   5755 	Added the optional unpatented hinting system for TrueType.  It
   5756 	allows typefaces which need hinting to produce correct glyph forms
   5757 	(e.g., Chinese typefaces from Dynalab) to work acceptably without
   5758 	infringing Apple patents.  This system is compiled only if
   5759 	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
   5760 	ftoption.h.
   5761 
   5762 	* include/freetype/ttunpat.h: New file.  Defines
   5763 	FT_PARAM_TAG_UNPATENTED_HINTING.
   5764 
   5765 	* include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
   5766 	macro to use when including ttunpat.h.
   5767 
   5768 	* include/freetype/config/ftoption.h
   5769 	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
   5770 	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
   5771 	(not defined, but in comments) for the unpatented hinting system.
   5772 
   5773 	* include/freetype/internal/tttypes.h (TT_FaceRec)
   5774 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
   5775 	unpatented_hinting'.
   5776 
   5777 	* src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
   5778 	Removed.
   5779 	(GUESS_VECTOR): New macro.
   5780 	(TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
   5781 	Set `both_x_axis'.
   5782 	(tt_default_graphics_state)
   5783 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
   5784 	(Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
   5785 	Handle `unpatented_hinting'.
   5786 	(Direct_Move) [NO_APPLE_PATENT]: Removed.
   5787 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
   5788 	(Project, FreeProject)
   5789 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
   5790 	(Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
   5791 	Implement unpatented hinting.
   5792 	(DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
   5793 	Ins_SDPVTL): Call `GUESS_VECTOR'.
   5794 	(DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
   5795 	Handle `unpatented_hinting'.
   5796 	(Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
   5797 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
   5798 	hinting.
   5799 	(Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
   5800 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
   5801 	hinting.
   5802 	(TT_RunIns): Updated.
   5803 
   5804 	* src/truetype/ttobjs.c
   5805 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
   5806 	FT_TRUETYPE_UNPATENTED_H.
   5807 	(tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
   5808 	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
   5809 	FT_PARAM_TAG_UNPATENTED_HINTING.
   5810 
   5811 	* src/truetype/ttobjs.h (TT_GraphicsState)
   5812 	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
   5813 
   5814 2003-04-25  Werner Lemberg  <wl (a] gnu.org>
   5815 
   5816 	* src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
   5817 	argument.
   5818 	(bdf_get_font_property): Use `const' for third argument.
   5819 	Updated all callers.
   5820 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
   5821 	similar to the PCF driver.
   5822 	* src/bdf/bdf.h (_hashnode): Use `const' for `key'.
   5823 	Updated.
   5824 
   5825 	* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
   5826 	is declared twice.  It is perhaps better to modify the zlib source
   5827 	files directly instead of this hack.
   5828 	(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
   5829 	to make build with g++ successful.
   5830 
   5831 2003-04-24  Manish Singh  <yosh (a] gimp.org>
   5832 
   5833 	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
   5834 	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
   5835 	also for searching the style name.
   5836 
   5837 2003-04-24  David Turner  <david (a] freetype.org>
   5838 
   5839 	* src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
   5840 	face->num_glyphs.  We must increase the value by 1 to respect the
   5841 	convention that glyph index 0 always corresponds to the `missing
   5842 	glyph'.
   5843 
   5844 2003-04-24  Werner Lemberg  <wl (a] gnu.org>
   5845 
   5846 	* builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
   5847 
   5848 2003-04-24  Dieter Baron  <dillo (a] netbsd.org>
   5849 
   5850 	* builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
   5851 	files first.  Otherwise there are conflicts with FreeType 1
   5852 	installed simultaneously.
   5853 
   5854 2003-04-23  Werner Lemberg  <wl (a] gnu.org>
   5855 
   5856 	Fixing bugs reported by Nelson Beebe.
   5857 
   5858 	* src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
   5859 	variable `in_path'.
   5860 
   5861 	* src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
   5862 	second argument to `FT_Byte*'.
   5863 	* include/freetype/internal/ftobjs.h: Updated.
   5864 
   5865 	* src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
   5866 	(_bdf_parse_glyphs): Remove unused variable `next'.
   5867 	Mark `call_data' as unused.
   5868 
   5869 	* src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
   5870 	`plast'.
   5871 
   5872 	* src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
   5873 	actually use `error'.
   5874 	(pcf_load_font): Remove unused variable `avgw'.
   5875 
   5876 	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
   5877 	to `void'.
   5878 	Mark `error' as unused.
   5879 	* src/pfr/pfrobjs.h: Updated.
   5880 	* src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
   5881 
   5882 	* src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
   5883 	`format_tag'.
   5884 
   5885 	* src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
   5886 	unused variable `start'.
   5887 	(tt_cmap10_char_next): Remove unused variable `result'
   5888 
   5889 	* src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
   5890 
   5891 	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
   5892 	unused.
   5893 
   5894 	* src/type1/t1objs.c (T1_Face_Init): Remove unused variable
   5895 	`pshinter'.
   5896 
   5897 	* src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
   5898 	only for FT_CONFIG_OPTION_INCREMENTAL.
   5899 
   5900 2003-04-23  Akito Hirai  <akito (a] kde.gr.jp>
   5901 
   5902 	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
   5903 	of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
   5904 	Without this change, many CJK fonts from Dynalab are rejected.
   5905 
   5906 2003-04-23  Joe Marcus Clarke  <marcus (a] FreeBSD.org>
   5907 
   5908 	* src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
   5909 	`get_interface'.
   5910 
   5911 2003-04-23  Paul Miller  <paulm (a] profoundeffects.com>
   5912 
   5913 	* src/base/ftmac.c (parse_fond): Fix handling of style names.
   5914 
   5915 2003-04-23  Werner Lemberg  <wl (a] gnu.org>
   5916 
   5917 	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
   5918 	instead of FT_UInt for `len'.
   5919 
   5920 2003-04-22  Werner Lemberg  <wl (a] gnu.org>
   5921 
   5922 	* src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
   5923 	Convert K&R format to modern C usage.
   5924 	(FT_Stream_OpenGzip): Use long constant.
   5925 
   5926 2003-04-21  Werner Lemberg  <wl (a] gnu.org>
   5927 
   5928 	* src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
   5929 	of `manager'.
   5930 
   5931 2003-04-20  Werner Lemberg  <wl (a] gnu.org>
   5932 
   5933 	* doc/INSTALL.UNX: Cleaned up.
   5934 
   5935 2003-04-09  Torrey Lyons  <torrey (a] mrcla.com>
   5936 
   5937 	* src/base/ftmac.c (open_face_from_buffer): Removed a double-free
   5938 	bug that had nasty consequences when trying to open an `invalid'
   5939 	font on a Mac.
   5940 
   5941 2003-04-09  Mike Fabian  <mfabian (a] suse.de>
   5942 
   5943 	* src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
   5944 	(PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
   5945 	to access more than 32768 glyphs in fonts.
   5946 
   5947 2003-04-08  David Turner  <david (a] freetype.org>
   5948 
   5949 
   5950 	* Version 2.1.4 released.
   5951 	=========================
   5952 
   5953 
   5954 2003-04-03  Martin Muskens  <mmuskens (a] aurelon.com>
   5955 
   5956 	* src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
   5957 	handle special cases where a font only contains a `.notdef' glyph
   5958 	(happens in PDF-embedded fonts).  Otherwise, FT_Panic was called.
   5959 
   5960 2003-03-27  David Turner  <david (a] freetype.org>
   5961 
   5962 	* README: Updated.
   5963 
   5964 	* README.UNX: Removed (now replaced by docs/INSTALL.UNX).
   5965 
   5966 	* src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
   5967 	will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
   5968 	used.
   5969 	(psh3_dimension_quantize_len): Enabled.
   5970 	(psh3_hint_align): Enable commented code.
   5971 	(psh3_hint_align_light): Commented out.
   5972 
   5973 	* src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
   5974 	computations to include rounding in all cases; this is required to
   5975 	provide accurate kerning data when native TrueType hinting is
   5976 	enabled.
   5977 
   5978 	* src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
   5979 	more general names according to the PostScript specification (the
   5980 	previous one was too restrictive).
   5981 	(parse_font_name, parse_encoding, parse_charstrings, parse_dict):
   5982 	Use `is_name_char'.
   5983 	(parse_subrs): Handle empty arrays.
   5984 
   5985 2003-03-20  David Turner  <david (a] freetype.org>
   5986 
   5987 	Serious rewriting of the documentation.
   5988 
   5989 	* docs/BUGS, docs/BUILD: Removed.
   5990 	* docs/DEBUG.TXT: Renamed to...
   5991 	* docs/DEBUG: This.
   5992 	* docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
   5993 	* docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
   5994 	containing platform specific information previously in INSTALL.
   5995 	* docs/readme.vms: Renamed to...
   5996 	* docs/INSTALL.VMS: This.
   5997 
   5998 	* docs/*: Updated.
   5999 
   6000 	Introduced three new functions to deal with glyph bitmaps within
   6001 	FT_GlyphSlot objects:
   6002 
   6003 	  ft_glyphslot_free_bitmap
   6004 	  ft_glyphslot_alloc_bitmap
   6005 	  ft_glyphslot_set_bitmap
   6006 
   6007 	These functions are much more convenient to use than managing the
   6008 	FT_GLYPH_OWN_BITMAP flag manually.
   6009 
   6010 	* include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
   6011 	ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
   6012 	* src/base/ftobjs.c: Implement them.
   6013 	(ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
   6014 
   6015 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
   6016 	(PCF_Glyph_Load): Remove unused variable `memory'.
   6017 	Use `ft_glyphslot_*' functions.
   6018 	Don't set `FT_GLYPH_OWN_BITMAP'.
   6019 
   6020 	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
   6021 	`ft_glyphslot_alloc_bitmap'.
   6022 
   6023 	* src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
   6024 	`FT_GlyphSlot'.
   6025 	Adding argument `depth' to handle recursive calls.
   6026 	Use `ft_glyphslot_alloc_bitmap'.
   6027 	(tt_face_load_sbit_image): Remove unused variable `memory'.
   6028 	Don't handle `FT_GLYPH_OWN_BITMAP'.
   6029 	Update call to Load_SBit_Image.
   6030 
   6031 	* src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
   6032 	(t42_glyphslot_clear): This.  Updated caller.
   6033 	Call `ft_glyphslot_free_bitmap'.
   6034 
   6035 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use
   6036 	`ft_glyphslot_set_bitmap'.
   6037 	Don't handle `FT_GLYPH_OWN_BITMAP'.
   6038 
   6039 	* src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
   6040 	check.
   6041 
   6042 	* src/autohint/ahglyph.c (ah_outline_load): Add two scaling
   6043 	arguments.
   6044 	* src/autohint/ahglyph.h: Updated.
   6045 	* src/autohint/ahhint.c (ah_hinter_load): Updated.
   6046 	* src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
   6047 
   6048 	* src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
   6049 	crash the cache in rare circumstances (mostly with broken fonts).
   6050 
   6051 2003-03-15  David Turner  <david (a] freetype.org>
   6052 
   6053 	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
   6054 	bug.  Actually, it seems that previous versions of FreeType didn't
   6055 	perform TrueType rounding exactly as appropriate.
   6056 
   6057 2003-03-14  David Turner  <david (a] freetype.org>
   6058 
   6059 	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
   6060 	TrueType native rendering glitches; they came from a small rounding
   6061 	error.
   6062 
   6063 2003-03-13  David Turner  <david (a] freetype.org>
   6064 
   6065 	Added new environment variables to control memory debugging with
   6066 	FreeType.  See the description of `FT2_DEBUG_MEMORY',
   6067 	`FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
   6068 
   6069 	* src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
   6070 	`bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
   6071 	(ft_mem_debug_alloc): Handle new variables.
   6072 	(ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
   6073 	Handle new environment variables.
   6074 	* docs/DEBUG.TXT: Updated.
   6075 
   6076 	Fixed the cache sub-system to correctly deal with out-of-memory
   6077 	conditions.
   6078 
   6079 	* src/cache/ftccache.c (ftc_node_destroy): Comment out generic
   6080 	check.
   6081 	(ftc_cache_lookup): Implement loop.
   6082 	* src/cache/ftccmap.c: Define FT_COMPONENT.
   6083 	* src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
   6084 	FT_Err_Out_Of_Memory.
   6085 	* src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
   6086 	(FT_LruList_Lookup): Implement loop.
   6087 
   6088 	* src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
   6089 	(pfr_face_init): Fixing compiler warnings.
   6090 
   6091 	* src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
   6092 	leak) that only happened when a try to resize an array would end in
   6093 	an out-of-memory condition.
   6094 
   6095 	* src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
   6096 	warnings / volatile bug.
   6097 
   6098 	* src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
   6099 	fault that happened in tight memory environments.
   6100 
   6101 2003-02-28  Pixel  <pixel (a] mandrakesoft.com>
   6102 
   6103 	* src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
   6104 	stream was not properly finalized.
   6105 
   6106 2003-02-25  Anthony Fok  <anthony (a] thizlinux.com>
   6107 
   6108 	* src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
   6109 	(ftc_cmap_family_init): The cmap cache now
   6110 	supports UCS-4 charmaps when available in Asian fonts.
   6111 
   6112 	* src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
   6113 	in comments.
   6114 
   6115 2003-02-25  David Turner  <david (a] freetype.org>
   6116 
   6117 	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
   6118 	caused FreeType to loop endlessly when trying to read certain
   6119 	compressed gzip files.  The following test reveals the bug:
   6120 
   6121 	  touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
   6122 
   6123 	Several fixes to the PFR font driver:
   6124 
   6125 	- The list of available embedded bitmaps was not correctly set in
   6126 	  the root FT_FaceRec structure describing the face.
   6127 
   6128 	- The glyph loader always tried to load the outlines when
   6129 	  FT_LOAD_SBITS_ONLY was specified.
   6130 
   6131 	- The table loaded now scans for *undocumented* elements of a
   6132 	  physical font's auxiliary data record.  This is necessary to
   6133 	  retrieve the `real' family and style names.
   6134 
   6135 	NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
   6136 
   6137 	* src/pfr/pfrload.c (pfr_aux_name_load): New function.
   6138 	(pfr_phy_font_done): Free `family_name' and `style_name' also.
   6139 	Remove unused variables.
   6140 	(pfr_phy_font_load): Extract useful information from the auxiliary
   6141 	bytes.
   6142 
   6143 	* src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
   6144 	(pfr_face_init): Provide fallback values for `family_name' and
   6145 	`style_name'.
   6146 	Handle strikes.
   6147 	(pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
   6148 	* src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
   6149 	`descent', `leading', `family_name', and `style_name'.
   6150 
   6151 	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
   6152 	when computing the scale factors for a given character size in
   6153 	points with resolution.
   6154 
   6155 	* devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
   6156 	which are special development versions of include/ft2build.h and
   6157 	include/freetype/config/ftoption.h, respectively.
   6158 
   6159 2003-02-18  David Turner  <david (a] freetype.org>
   6160 
   6161 	Fixing the slight distortion problem that occurred due to the latest
   6162 	auto-hinter changes.
   6163 
   6164 	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
   6165 
   6166 	* src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
   6167 	[!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
   6168 
   6169 	* src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
   6170 	* src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
   6171 	`metrics'.
   6172 	[FT_CONFIG_CHESTER_ASCENDER]: Code removed.
   6173 	(Reset_SBit_Size): Fix initialization of `metrics'.
   6174 
   6175 	* src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
   6176 	`exec->metrics'.
   6177 
   6178 	* src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
   6179 	`correction' which seemed to provide more trouble than benefits.
   6180 
   6181 2003-02-13  Graham Asher  <graham.asher (a] btinternet.com>
   6182 
   6183 	Changed the incremental loading interface in a way that makes it
   6184 	simpler and allows glyph metrics to be changed (e.g., by adding a
   6185 	constant, as required by CFF fonts) rather than just overridden.
   6186 	This was required to make the GhostScript-to-FreeType bridge work.
   6187 
   6188 	* src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
   6189 	Allow metrics to be overridden.
   6190 	* src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
   6191 	Ditto.
   6192 
   6193 	* src/truetype/ttgload.c (load_truetype_glyph)
   6194 	[FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
   6195 	(compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
   6196 	moved down.
   6197 
   6198 	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
   6199 	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   6200 
   6201 	* include/freetype/ftincrem.h: Updated.
   6202 
   6203 2003-01-31  David Turner  <david (a] freetype.org>
   6204 
   6205 	* docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
   6206 	for the 2.1.4 release.
   6207 
   6208 	* builds/win32/visualc/freetype.dsp,
   6209 	builds/win32/visualc/index.html: Updating the project file for
   6210 	2.1.4.
   6211 
   6212 	* src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
   6213 	src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
   6214 	src/gzip/infutil.c: Removed old-style (K&R)function definitions.
   6215 	This avoids warnings with Visual C++ at its most pedantic mode.
   6216 
   6217 	* src/pfr/pfrsbit.c: Removed compiler warnings.
   6218 
   6219 	* src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
   6220 	into an FT_TRACE1 since it caused `ftview' and others to dump too
   6221 	much junk when trying to display a waterfall with a font without a
   6222 	Unicode charmap (e.g.  SYMBOL.TTF).
   6223 
   6224 	Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
   6225 	patch from David Chester, but with a much simpler (and saner)
   6226 	implementation.
   6227 
   6228 	* src/autohint/ahhint.c (ah_hinter_load_glyph)
   6229 	[FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
   6230 	the top of non-capital letters is aligned on a pixel boundary
   6231 	whenever possible.
   6232 
   6233 	* src/base/ftobjs.c (FT_Set_Char_Size)
   6234 	[FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
   6235 	* src/truetype/ttdriver.c (Set_Char_Sizes)
   6236 	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
   6237 	if this macro is defined.
   6238 
   6239 	* src/truetype/ttobjs.c (Reset_Outline_Size)
   6240 	[FT_CONFIG_CHESTER_ASCENDER]: Round differently.
   6241 
   6242 	* src/pshinter/pshalgo3.c: Improved the Postscript hinter.  Getting
   6243 	rid of stem snapping seems to work well here (though the stems are
   6244 	still slightly moved to increase contrast).
   6245 	(psh3_dimension_quantize_len): Commented out.
   6246 	(psh3_hint_align_light): New function.
   6247 	(psh3_hint_align): Comment out some code.
   6248 
   6249 	THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
   6250 	STILL SUCK.
   6251 
   6252 2003-01-22  David Chester  <davidchester (a] qmx.net>
   6253 
   6254 	* src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
   6255 	stem width optimization.
   6256 
   6257 2003-01-22  David Turner  <david (a] freetype.org>
   6258 
   6259 	Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
   6260 	properties of a given PCF or BDF font.
   6261 
   6262 	* include/freetype/ftbdf.h (BDF_PropertyType): New enumeration.
   6263 	(BDF_Property, BDF_PropertyRec): New structure.
   6264 	FT_Get_BDF_Property): New function.
   6265 	* include/freetype/internal/bdftypes.h: Include FT_BDF_H.
   6266 	(BDF_GetPropertyFunc): New function pointer.
   6267 
   6268 	* src/base/ftbdf.c (test_font_type): New helper function.
   6269 	(FT_Get_BDF_Charset_ID): Use `test_font_type'.
   6270 	(FT_Get_BDF_Property): New function.
   6271 
   6272 	* src/bdf/bdfdrivr.c: Include FT_BDF_H.
   6273 	(bdf_get_bdf_property, bdf_driver_requester): New functions.
   6274 	(bdf_driver_class): Use `bdf_driver_requester'.
   6275 
   6276 	* src/pcf/pcfdrivr.c: Include FT_BDF_H.
   6277 	(pcf_get_bdf_property, pcf_driver_requester): New functions
   6278 	(pcf_driver_class): Use `pcf_driver_requester'.
   6279 
   6280 	* src/pcf/pcfread.c: Include `pcfread.h'.
   6281 	(pcf_find_property): Decorate it with FT_LOCAL_DEF.
   6282 	* src/pcf/pcfread.h: New file, providing `pcf_find_property'.
   6283 
   6284 	* src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
   6285 	verification to accept a few broken fonts who pad the size
   6286 	incorrectly (the table should be padded, but its `size' field
   6287 	shouldn't according to the specification).
   6288 
   6289 2003-01-18  Werner Lemberg  <wl (a] gnu.org>
   6290 
   6291 	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
   6292 	--copy' from libtool 1.4.3.
   6293 	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
   6294 	automake 1.7.1.
   6295 	* builds/unix/configure: Regenerated with autoconf 2.54.
   6296 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
   6297 	`config' CVS module at subversions.gnu.org.
   6298 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
   6299 	`automake' CVS module at subversions.gnu.org.
   6300 
   6301 2003-01-15  David Turner  <david (a] freetype.org>
   6302 
   6303 	* include/freetype/freetype.h: Fixed documentation for
   6304 	FT_Size_Metrics.
   6305 
   6306 2003-01-15  James Su  <suzhe (a] turbolinux.com.cn>
   6307 
   6308 	* src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
   6309 	certain gzip-ed font files (typo: `&&' -> `&').
   6310 
   6311 2003-01-15  Huw D M Davies  <h.davies1 (a] physics.ox.ac.uk>
   6312 
   6313 	Added a Windows .FNT specific API (mostly for Wine).  Also fixed a
   6314 	nasty bug in the header loader which would cause invalid memory
   6315 	overwrites.
   6316 
   6317 	* include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
   6318 	for ftwinfnt.h.
   6319 	* include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
   6320 	(FNT_FontRec): Updated.
   6321 	Move Windows FNT definition to...
   6322 	* include/freetype/ftwinfnt.h: This new file.
   6323 	(FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
   6324 	* src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
   6325 	* src/winfonts/winfnt.c (winfnt_header_fields): Updated.
   6326 	Rename `reserved2' to `reserved1'.
   6327 	(fnt_font_load): Updated.
   6328 
   6329 	* src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
   6330 	Updated.
   6331 
   6332 2003-01-14  Graham Asher  <graham.asher (a] btinternet.com>
   6333 
   6334 	* include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
   6335 	the type of the first argument to FT_Matrix_Multiply, which isn't
   6336 	changed -- this adds documentation and convenience.
   6337 
   6338 2003-01-13  Graham Asher  <graham.asher (a] btinternet.com>
   6339 
   6340 	* src/sfnt/ttload.c (tt_face_load_metrics)
   6341 	[FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
   6342 	horizontal metrics (without the `hmtx' table) are now tolerated if
   6343 	an incremental interface has been specified that has a
   6344 	get_glyph_metrics function, implying that metrics will be supplied
   6345 	from outside.  This happens for certain Type 42 fonts passed from
   6346 	GhostScript.
   6347 
   6348 2003-01-11  David Chester  <davidchester (a] qmx.net>
   6349 
   6350 	Patches to the auto-hinter in order to slightly improve the output.
   6351 	Note that everything is controlled through the new
   6352 	FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'.  There are
   6353 	also individual FT_CONFIG_CHESTER_XXX macros to control individual
   6354 	`features'.
   6355 
   6356 	Note that all improvements are enabled by default, but can be
   6357 	tweaked for optimization and testing purposes.  The configuration
   6358 	macros will most likely disappear in the short future.
   6359 
   6360 	* include/freetype/config/ftoption.h
   6361 	(FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
   6362 	(FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
   6363 	[FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
   6364 	features.
   6365 
   6366 	* src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
   6367 	Add blue zone for `fijkdbh'.
   6368 	* src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
   6369 	[FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
   6370 	* src/autohint/ahglyph.c (ah_outline_compute_edges)
   6371 	[FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
   6372 	(ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
   6373 	Increase threshold for `best_dist'.
   6374 	* src/autohint/ahhint.c (ah_compute_stem_width)
   6375 	[FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
   6376 	handling.
   6377 	(ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
   6378 	version of `ah_compute_stem_width'.
   6379 	(ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
   6380 	alignment when stem widths are less than 1.5 pixels wide centers the
   6381 	stem slightly off-center of the center of a pixel (this increases
   6382 	sharpness and consistency).
   6383 	[FT_CONFIG_CHESTER_SERIF]: Use special version of
   6384 	`ah_compute_stem_width'.
   6385 	* src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
   6386 	`AH_BLUE_SMALL_F_TOP'.
   6387 
   6388 2003-01-11  David Turner  <david (a] freetype.org>
   6389 
   6390 	* include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
   6391 	size of `reserved2' to avoid memory overwrites.
   6392 
   6393 2003-01-08  Huw Davies  <huw (a] codeweavers.com>
   6394 
   6395 	* src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
   6396 	`reserved2', not `reserved'.
   6397 
   6398 	* src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
   6399 	returned when the font doesn't contain a Unicode charmap.  This
   6400 	allows FT2 to load `symbol.ttf' and a few others correctly since the
   6401 	last release.
   6402 	(open_face): Fix return value.
   6403 
   6404 2003-01-08  Owen Taylor  <owen (a] redhat.com>
   6405 
   6406 	Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
   6407 	postscript hinters.
   6408 
   6409 	* src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
   6410 	* src/autohint/ahhint.c (ah_compute_stem_width): Handle
   6411 	hinter->do_stem_adjust.
   6412 	(ah_hinter_load_glyph): Set hinter->do_stem_adjust.
   6413 
   6414 	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
   6415 	* src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
   6416 	(ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
   6417 
   6418 	* include/freetype/freetype.h (FT_Render_Mode): Add
   6419 	FT_RENDER_MODE_LIGHT.
   6420 
   6421 	* src/truetype/ttgload.c: Fixing the TrueType loader to handle
   6422 	invalid composites correctly by limiting the recursion depth.
   6423 	(TT_MAX_COMPOSITE_RECURSE): New macro.
   6424 	(load_truetype_glyph): Add argument `recurse_count'.
   6425 	Load a composite only if the numbers of contours is -1, emit error
   6426 	otherwise.
   6427 	(TT_Load_Glyph): Updated.
   6428 
   6429 2003-01-08  David Turner  <david (a] freetype.org>
   6430 
   6431 	* Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
   6432 	support the compilation of FreeType 2 as part of larger projects
   6433 	with their own configuration options (only with Jam).
   6434 
   6435 2003-01-07  David Turner  <david (a] freetype.org>
   6436 
   6437 	* src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
   6438 	the API is likely to change, however.
   6439 	(ft_stroke_border_close): Don't record empty paths.
   6440 	(ft_stroke_border_get_counts): Increase `num_points' also in for loop.
   6441 	(ft_stroke_border_export): Don't increase `write' twice in for loops.
   6442 	(ft_stroker_outside): Handle `phi' together with `theta'.
   6443 	(FT_Stroker_ParseOutline): New function.
   6444 
   6445 	* src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
   6446 	invalid values for large negative angle differences (resulting in
   6447 	incorrect stroker computations, among other things).
   6448 
   6449 	* src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
   6450 	assertion, and changing code to avoid hash table size contraction.
   6451 
   6452 	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
   6453 	`ftstroker' to default build, as optional component.
   6454 
   6455 2002-12-26  David Turner  <david (a] freetype.org>
   6456 
   6457 	* src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
   6458 	src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
   6459 	src/gzip/zutil.h: Updates to allow compilation without compiler
   6460 	warnings with LCC-Win32.
   6461 
   6462 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
   6463 	* builds/unix/configure.ac (version_info): Increased to 9:3:3.
   6464 	* builds/unix/configure: Regenerated.
   6465 	* docs/VERSION.DLL: Updated.
   6466 
   6467 2002-12-23  Anthony Fok  <anthony (a] thizlinux.com>
   6468 
   6469 	* builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
   6470 	builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
   6471 	sub-system on Unix to allow other programs to correctly link with
   6472 	zlib when needed.
   6473 
   6474 2002-12-19  David Turner  <david (a] freetype.org>
   6475 
   6476 	* include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
   6477 	function pointer.
   6478 
   6479 	* include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
   6480 	* src/base/ftobjs.c: Implement it.
   6481 
   6482 	* src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
   6483 	module request.
   6484 
   6485 2002-12-17  David Turner  <david (a] freetype.org>
   6486 
   6487 	* src/base/ftobjs.c (find_unicode_charmap): Added some comments to
   6488 	better explain what's happening there.
   6489 	(open_face): Included Graham Asher's fix to prevent faces without
   6490 	Unicode charmaps from loading.
   6491 
   6492 	* src/winfonts/winfnt.c: Included George Williams's fix to support
   6493 	version 2 fonts correctly.
   6494 	(winfnt_header_fields): Updated.
   6495 	(fnt_font_load): Handle version 2 fonts.
   6496 	(FNT_Load_Glyph): Updated.
   6497 
   6498 2002-12-16  David Turner  <david (a] freetype.org>
   6499 
   6500 	* docs/VERSION.DLL: Updating document to better explain the
   6501 	differences between the three version numbers being used on Unix, as
   6502 	well as providing an autoconf fragment provided by Lars Clausen.
   6503 
   6504 	* src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
   6505 	prevented Bzier arcs with negative vertical coordinates to be
   6506 	rendered appropriately.
   6507 
   6508 2002-12-02  Antoine Leca  <Antoine-Freetype (a] Leca-Marti.org>
   6509 
   6510 	* src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
   6511 	Now it loads UCS-4 charmaps when there is one.
   6512 	(find_unicode_charmap): New function.
   6513 	(open_face): Refer to the above one.
   6514 	(FT_Select_Charmap): Idem.
   6515 
   6516 2002-11-29  Antoine Leca  <Antoine-Freetype (a] Leca-Marti.org>
   6517 
   6518 	* include/freetype/ftgzip.h: Correct the name of the controlling
   6519 	macro (was __FTXF86_H__ ...).
   6520 
   6521 2002-11-27  Vincent Caron  <v.caron (a] zerodeux.net>
   6522 
   6523 	* builds/unix/unix-def.in, builds/unix/freetype-config.in,
   6524 	builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
   6525 	[FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
   6526 	installations if available on the target platform (Unix only).
   6527 
   6528 2002-11-23  David Turner  <david (a] freetype.org>
   6529 
   6530 	* src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
   6531 	charset loader to accept pre-defined charsets, even when the font
   6532 	contains fewer glyphs.  Also enforced more checks to ensure that we
   6533 	never overflow the character codes array in the encoding.
   6534 
   6535 2002-11-22  Antoine Leca  <Antoine-Freetype (a] Leca-Marti.org>
   6536 
   6537 	* include/freetype/ttnameid.h: Updated to latest OpenType
   6538 	specification.
   6539 
   6540 2002-11-18  David Turner  <david (a] freetype.org>
   6541 
   6542 
   6543 	* Version 2.1.3 released.
   6544 	=========================
   6545 
   6546 
   6547 2002-11-07  David Turner  <david (a] freetype.org>
   6548 
   6549 	* src/cache/ftcsbits.c (ftc_sbit_node_load): Fixed a small bug that
   6550 	caused problems with embedded bitmaps.
   6551 
   6552 	* src/otlayout/otlayout.h, src/otlayout/otlconf.h,
   6553 	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
   6554 	src/otlayout/otlparse.c, src/otlayout/otlparse.h,
   6555 	src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
   6556 	support for the first GSUB lookups.  Nothing that really compiles
   6557 	for now though.
   6558 
   6559 	* src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
   6560 	width quantization.  It produces slightly better shapes though this
   6561 	is not distinguishable with many fonts.
   6562 	Remove other dead code.
   6563 
   6564 	* src/Jamfile, src/*/Jamfile: Simplified.
   6565 	Use $(FT2_SRC_DIR).
   6566 
   6567 2002-11-06  David Turner  <david (a] freetype.org>
   6568 
   6569 	* include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
   6570 	(FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
   6571 
   6572 2002-11-05  David Turner  <david (a] freetype.org>
   6573 
   6574 	* include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
   6575 	support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
   6576 	the use of system-wide zlib.
   6577 
   6578 	Note that this macro, as well as
   6579 	TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
   6580 	This allows the build system to define them depending on the
   6581 	configuration (typically by adding -D flags at compile time).
   6582 
   6583 	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
   6584 	warnings in optimized mode relative to the `volatile' local
   6585 	variables.  This was not a compiler bug after all, but the fact that
   6586 	a pointer to a volatile variable is not the same as a volatile
   6587 	pointer to a variable :-)
   6588 
   6589 	The fix was to change
   6590 	  `volatile FT_Byte* p'
   6591 	into
   6592 	  `FT_Byte* volatile p'.
   6593 
   6594 	* src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
   6595 	(pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
   6596 	optimized modes.
   6597 
   6598 	* src/gzip/*.[hc]: Modified our zlib copy in order to prevent
   6599 	exporting any zlib function names outside of the component.  This
   6600 	prevents linking problems on some platforms, when applications want
   6601 	to link FreeType _and_ zlib together.
   6602 
   6603 2002-11-05  Juliusz  <jch (a] pps.jussieu.fr>
   6604 
   6605 	* src/psaux/psobjs.c (ps_table_add): Modified increment loop in
   6606 	order to implement exponential behaviour.
   6607 
   6608 2002-11-01  David Turner  <david (a] freetype.org>
   6609 
   6610 	Added PFR-specific public API.  Fixed the kerning retrieval routine
   6611 	(it returned invalid values when the outline and metrics resolution
   6612 	differ).
   6613 
   6614 	* include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
   6615 	files.
   6616 
   6617 	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
   6618 	macro for pfr.h.
   6619 
   6620 	* src/base/ftpfr.c: New file.
   6621 	* src/base/Jamfile, src/base/descrip.mms: Updated.
   6622 
   6623 	* src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
   6624 	(pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
   6625 	(pfr_service_rec): New format interface.
   6626 	(pfr_driver_class): Use `pfr_service_rec'.
   6627 	Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
   6628 	* src/pfr/pfrobjs.c: Remove dead code.
   6629 
   6630 	* src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
   6631 	better support bitmap-based font formats.
   6632 
   6633 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
   6634 	`scale'.
   6635 	Fix arguments to `FT_Vector_From_Polar'.
   6636 
   6637 2002-10-31  David Turner  <david (a] freetype.org>
   6638 
   6639 	Add support for automatic handling of gzip-compressed PCF files.
   6640 
   6641 	* src/gzip/*: New files, taken from the zlib package (except
   6642 	ftgzip.c).
   6643 
   6644 	* include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
   6645 	* include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
   6646 	`ftgzip.h'.
   6647 
   6648 	* src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
   6649 	(PCF_Face_Init): If normal open fails, try to open gzip stream.
   6650 	(PCF_Face_Done): Close gzip stream.
   6651 
   6652 	* include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
   6653 	src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
   6654 
   6655 	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
   6656 	New macro.
   6657 	(T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
   6658 	FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
   6659 	FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
   6660 
   6661 	(FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
   6662 	FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
   6663 	that platform specific configuration file can override.
   6664 
   6665 	* include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
   6666 
   6667 2002-10-30  David Turner  <david (a] freetype.org>
   6668 
   6669 	* FreeType 2.1.3rc3 released.
   6670 
   6671 2002-10-25  David Turner  <david (a] freetype.org>
   6672 
   6673 	* include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
   6674 	(FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
   6675 
   6676 2002-10-22  Giuseppe Ghib  <ghibo (a] mandrakesoft.com>
   6677 
   6678 	* include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
   6679 
   6680 2002-10-07  Werner Lemberg  <wl (a] gnu.org>
   6681 
   6682 	* include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
   6683 	(suggested by Graham).
   6684 	* src/base/ftobjs.c (FT_Open_Face): Updated.
   6685 	(ft_input_stream_new): Ditto.
   6686 
   6687 2002-10-05  David Turner  <david (a] freetype.org>
   6688 
   6689 	Adding support for embedded bitmaps to the PFR driver, and rewriting
   6690 	its kerning loader/handler to use all kerning pairs in a physical
   6691 	font (and not just the first item).
   6692 
   6693 	* src/pfr/pfr.c: Include `pfrsbit.c'.
   6694 	* src/pfr/pfrgload.c: Include `pfrsbit.h'.
   6695 	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
   6696 	(pfr_phy_font_done, pfr_phy_font_load): Updated.
   6697 	* src/pfr/pfrobjs.c: Include `pfrsbit.h'.
   6698 	(pfr_face_init): Handle kerning and embedded bitmaps.
   6699 	(pfr_slot_load): Load embedded bitmaps.
   6700 	(PFR_KERN_INDEX): Removed.
   6701 	(pfr_face_get_kerning): Rewritten.
   6702 	* src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
   6703 	* src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
   6704 	(PFR_KERN_INDEX): New macro.
   6705 	(PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
   6706 	* src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
   6707 
   6708 	* src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
   6709 	FT_LOAD_NO_RECURSE is set.
   6710 	Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
   6711 
   6712 	* src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
   6713 	src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
   6714 
   6715 	* src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
   6716 	sub-tables is now capable of dealing with invalid `length' fields at
   6717 	the start of the sub-table.  This allows fonts like `mg______.ttf'
   6718 	(i.e.  Marriage) to return accurate charmaps.
   6719 
   6720 	* docs/CHANGES: Updated.
   6721 
   6722 2002-10-05  Werner Lemberg  <wl (a] gnu.org>
   6723 
   6724 	* src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
   6725 	Update all callers.
   6726 	(TRUNC): Add cast to `TCoord'.
   6727 	Update all callers.
   6728 	(TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
   6729 	last_ey.
   6730 	Update all casts.
   6731 	(gray_render_line): Fix casts for `p' and `first'.
   6732 
   6733 2002-10-02  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   6734 
   6735 	* src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
   6736 	structure with FT_ALLOC instead of using the stack.
   6737 
   6738 2002-09-27  Werner Lemberg  <wl (a] gnu.org>
   6739 
   6740 	* src/include/freetype/internal/tttypes.h (num_sbit_strikes,
   6741 	num_sbit_scales): Use `FT_ULong'.
   6742 	* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
   6743 	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
   6744 	(find_sbit_image): Remove cast.
   6745 	* src/raster/ftrend1.c (ft_raster1_render): Fix cast.
   6746 
   6747 2002-09-27  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   6748 
   6749 	* src/sfnt/ttload.c (tt_face_load_names): Use cast.
   6750 	* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
   6751 	(code_to_index4): Use cast.
   6752 	(code_to_index8_12): Fix cast.
   6753 	* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
   6754 	tt_cmap12_char_index): Use cast for `result'.
   6755 	(tt_face_build_cmaps): Use cast.
   6756 	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
   6757 	`code'.
   6758 	(sfnt_load_face): Use FT_Int32 for `flags'.
   6759 
   6760 	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
   6761 	gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
   6762 	to `TCoord' and `int'.
   6763 	More 16bit fixes.
   6764 	s/FT_Pos/TPos/.
   6765 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
   6766 
   6767 2002-09-26  Werner Lemberg  <wl (a] gnu.org>
   6768 
   6769 	* src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
   6770 	tt_face_get_ps_name): Replace switch statement with if clauses to
   6771 	make it more portable.
   6772 
   6773 	* src/cff/cffobjs.c (cff_face_init): Ditto.
   6774 
   6775 	* include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
   6776 	`module_size'.
   6777 	* include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
   6778 	`glyph_size'.
   6779 
   6780 	* src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
   6781 	`FT_Render_Mode'.
   6782 	(FT_Render_Glyph_Internal): Change third parameter to
   6783 	`FT_Render_Mode'.
   6784 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
   6785 	to `FT_Render_Mode'.
   6786 
   6787 	* src/raster/ftrend1.c (ft_raster1_render): Change third parameter
   6788 	to `FT_Render_Mode'.
   6789 	* src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
   6790 	ft_smooth_render_lcd_v): Ditto.
   6791 	(ft_smooth_render_generic): Change third and fifth parameter to
   6792 	`FT_Render_Mode'.
   6793 
   6794 	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
   6795 	include/freetype/ftglyph.h: Updated.
   6796 
   6797 	* src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
   6798 	(PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
   6799 	src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
   6800 	(T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
   6801 	fourth parameter to `FT_Int32'.
   6802 
   6803 	* src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
   6804 	and declare them as unused.
   6805 
   6806 	* src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
   6807 
   6808 	* src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
   6809 	value to FT_UInt32.
   6810 	* src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
   6811 	Updated accordingly.
   6812 
   6813 2002-09-26  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   6814 
   6815 	* src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
   6816 	(cff_get_glyph_name): Use cast for result of ft_strlen.
   6817 	* src/cff/cffparse.c (cff_parse_real): User cast for assigning
   6818 	`exp'.
   6819 	* src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
   6820 	some local variables.
   6821 	(cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
   6822 	switch statements.
   6823 	(cff_font_load): Use cast in call to CFF_Load_FD_Select.
   6824 	* src/cff/cffobjs.c (cff_size_init): Use more casts.
   6825 	(cff_face_init): Use FT_Int32 for `flags'.
   6826 	* src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
   6827 	`adx' and `ady'.
   6828 	(cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
   6829 	Use more casts.
   6830 	* src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
   6831 
   6832 	* src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
   6833 	* src/cid/cidgload.c (cid_load_glyph): Add missing cast for
   6834 	`cid_get_offset'.
   6835 
   6836 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
   6837 	cast for `num_points'.
   6838 	(t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
   6839 
   6840 	* src/base/ftdebug.c (ft_debug_init): Use FT_Int.
   6841 	* include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
   6842 	`FT_Int32' for fourth parameter.
   6843 	* src/base/ftobjs.c (open_face): Use cast for calling
   6844 	clazz->init_face.
   6845 
   6846 	* src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
   6847 	`1L'.
   6848 	(Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
   6849 	* src/raster/ftrend1.c (ft_raster1_render): Ditto.
   6850 
   6851 	* src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
   6852 	constant.
   6853 
   6854 2002-09-26  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   6855 
   6856 	* builds/amiga/include/freetype/config/ftmodule.h: Updated.
   6857 
   6858 2002-09-25  David Turner  <david (a] freetype.org>
   6859 
   6860 	* src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
   6861 	hinting in the auto-hinter.  This produces much better anti-aliased
   6862 	text.
   6863 
   6864 	* docs/CHANGES: Updating the changes documentation.
   6865 
   6866 2002-09-25  Anthony Fok  <anthony (a] thizlinux.com>
   6867 
   6868 	* src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
   6869 	tt_cmap4_char_next): Added support for opens___.ttf (it contains a
   6870 	charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
   6871 	missing glyph).
   6872 
   6873 2002-09-21  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   6874 
   6875 	* src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
   6876 	FT_Int32.
   6877 	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
   6878 	Ditto.
   6879 
   6880 2002-09-19  Wolfgang Domrse  <porthos.domroese (a] harz.de>
   6881 
   6882 	More 16bit fixes.
   6883 
   6884 	* src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
   6885 	(ah_hinter_compute_widths): Use FT_Pos for `dist'.
   6886 	Use AH_MAX_WIDTHS.
   6887 	* src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
   6888 	for `delta'.
   6889 	(ah_outline_compute_edges): Replace some ints with FT_Int and
   6890 	FT_Pos.
   6891 	(ah_test_extrema): Clean up code.
   6892 	(ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
   6893 	hold indices.
   6894 	* src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
   6895 	to FT_Pos.
   6896 
   6897 2002-09-19  Werner Lemberg  <wl (a] gnu.org>
   6898 
   6899 	* builds/unix/config.guess, builds/unix/config.sub: Updated to
   6900 	recent versions.
   6901 
   6902 2002-09-18  David Turner  <david (a] freetype.org>
   6903 
   6904 	* src/base/ftobjs.c (FT_Library_Version): Bugfix.
   6905 
   6906 	* FreeType 2.1.3rc2 (release candidate 2) is released!
   6907 
   6908 2002-09-17  David Turner  <david (a] freetype.org>
   6909 
   6910 	* include/freetype/freetype.h, include/freetype/ftimage.h,
   6911 	include/freetype/ftstroker.h, include/freetype/ftsysio.h,
   6912 	include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
   6913 	the in-source documentation.
   6914 
   6915 	* src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
   6916 	DocMaker tool.
   6917 
   6918 	* src/tools/docmaker.py: Removed.
   6919 
   6920 2002-09-17  Werner Lemberg  <wl (a] gnu.org>
   6921 
   6922 	More 16bit fixes.
   6923 
   6924 	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
   6925 	second parameter.
   6926 
   6927 2002-09-16  Werner Lemberg  <wl (a] gnu.org>
   6928 
   6929 	16bit fixes from Wolfgang Domrse.
   6930 
   6931 	* src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
   6932 	and `private_len' to FT_Long.
   6933 	* src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
   6934 	`private_len'.
   6935 	* src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
   6936 	Use FT_PtrDist where appropriate.
   6937 	(parse_encoding): Use FT_Long for `count' and `n'.
   6938 	(read_binary_data): Use FT_Long* for second parameter.
   6939 	* src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
   6940 
   6941 	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
   6942 	* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
   6943 
   6944 2002-09-14  Werner Lemberg  <wl (a] gnu.org>
   6945 
   6946 	Making ftgrays.c compile stand-alone again.
   6947 
   6948 	* include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
   6949 	isn't defined.
   6950 	* src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
   6951 	FT_BEGIN_HEADER, FT_END_HEADER.
   6952 	(FT_MEM_ZERO): Define.
   6953 	(TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
   6954 	(gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
   6955 	Don't cast with `FT_Byte'.
   6956 	(grays_init_gamma): Don't use `FT_UInt'.
   6957 
   6958 2002-09-14  Werner Lemberg  <wl (a] gnu.org>
   6959 
   6960 	* src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
   6961 	* src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
   6962 	* include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
   6963 	to 32.
   6964 
   6965 2002-09-10  Werner Lemberg  <wl (a] gnu.org>
   6966 
   6967 	* builds/unix/configure.ac (version_info): Set to 9:2:3.
   6968 	* builds/unix/configure: Regenerated.
   6969 	* docs/VERSION.DLL: Updated.
   6970 
   6971 2002-09-09  David Turner  <david (a] freetype.org>
   6972 
   6973 	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
   6974 	src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
   6975 	to prevent segfault when hints are provided in an empty glyph.
   6976 
   6977 	* src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
   6978 	Removed conditional code.  This fixes a bug that prevented
   6979 	compilation in debug mode of template instantiation.
   6980 
   6981 	* include/freetype/ftimage.h: Removed incorrect `zft_' definitions
   6982 	and updated constants documentation comments.
   6983 
   6984 	* src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
   6985 	It didn't accept empty arrays, and this prevented the loading of
   6986 	certain fonts.
   6987 
   6988 	* include/freetype/freetype.h (FT_FaceRec): Updating documentation
   6989 	comment.  The `descender' value is always *negative*, not positive.
   6990 
   6991 2002-09-09  Owen Taylor  <owen (a] redhat.com>
   6992 
   6993 	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
   6994 	of bitmap metrics.
   6995 
   6996 2002-09-08  David Turner  <david (a] freetype.org>
   6997 
   6998 	Various updates to correctly support subpixel rendering.
   6999 
   7000 	* include/freetype/config/ftmodule.h: Add two renderers for LCD.
   7001 
   7002 	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
   7003 
   7004 	* src/smooth/ftsmooth.c (ft_smooth_render_lcd,
   7005 	ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
   7006 	FT_PIXEL_MODE_LCD_V, respectively.
   7007 
   7008 	* include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
   7009 	structure.
   7010 	Updated all users.
   7011 	(FTC_ImageDesc): Removed.
   7012 	(FTC_ImageCache_Lookup): Second parameter is now of type
   7013 	`FTC_ImageType'.
   7014 	Updated all users.
   7015 	(FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
   7016 	(FTC_IMAGE_TYPE_COMPARE): This.
   7017 	(FTC_IMAGE_DESC_HASH): Updated and renamed to...
   7018 	(FTC_IMAGE_TYPE_HASH): This.
   7019 
   7020 	* include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
   7021 	replaced with `max_grays'.
   7022 	`pitch' is now FT_Short.
   7023 	(FTC_SBitCache_Lookup): Second parameter is now of type
   7024 	`FTC_ImageType'.
   7025 	Updated all users.
   7026 
   7027 	* src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
   7028 	Updated.
   7029 	(ftc_image_node_init): Updated.
   7030 	Moved code to convert type flags to load flags to...
   7031 	(FTC_Image_Cache_Lookup): This function.
   7032 	(ftc_image_family_init): Updated.
   7033 
   7034 	* src/cache/ftcsbits.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
   7035 	Updated.
   7036 	(ftc_sbit_node_load): Updated.
   7037 	Moved code to convert type flags to load flags to...
   7038 	(FTC_SBitCache_Lookup): This function.
   7039 
   7040 	* src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
   7041 	`do_*_snapping'.
   7042 	Update all users (with negation).
   7043 	* src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
   7044 	`dist' for `delta' < 40.
   7045 
   7046 	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
   7047 	`do_*_snapping'.
   7048 	Update all users (with negation).
   7049 	* src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
   7050 	function.
   7051 	(psh3_hint_align): Use it.
   7052 	Improve hinting code.
   7053 	[STRONGER]: Removed.
   7054 	(STRONGER): Removed.
   7055 
   7056 	* include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
   7057 	Removed.
   7058 
   7059 2002-09-05  Werner Lemberg  <wl (a] gnu.org>
   7060 
   7061 	* src/cid/cidobjs.c (CID_Size_Init): Renamed to...
   7062 	(cid_size_init): This.
   7063 	* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
   7064 	(t1_builder_add_point1): This.
   7065 
   7066 	Updated all affected code.
   7067 
   7068 	* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
   7069 	* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
   7070 
   7071 2002-09-04  David Turner  <david (a] freetype.org>
   7072 
   7073 	* include/freetype/freetype.h: Corrected the definition of
   7074 	ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
   7075 	the erroneous FT_ENCODING_SYMBOL).
   7076 
   7077 	* builds/unix/unix-def.in (datadir): Initialize it (thanks to
   7078 	Anthony Fok).
   7079 
   7080 2002-08-29  David Turner  <david (a] freetype.org>
   7081 
   7082 	Slight modification to the Postscript hinter to slightly increase
   7083 	the contrast of smooth hinting.  This is very similar to what the
   7084 	auto-hinter does when it comes to stem width computations.  However,
   7085 	it produces better results with well-hinted fonts.
   7086 
   7087 	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
   7088 	mode to `init' member function.
   7089 	(T1_DecoderRec): Add hint mode.
   7090 	* include/freetype/internal/pshints (T1_Hints_ApplyFunc,
   7091 	T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
   7092 	* src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
   7093 	* src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
   7094 	hint flags.
   7095 	* src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
   7096 	* src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
   7097 	(STRONGER): New macro.
   7098 	(psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
   7099 	of `hint_flags'.
   7100 	Implement announced changes.
   7101 	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
   7102 	vertical and horizontal hints and snapping.
   7103 
   7104 	* README, docs/CHANGES: Updating for the 2.1.3 release.
   7105 
   7106 2002-08-27  David Turner  <david (a] freetype.org>
   7107 
   7108 	* Massive re-formatting changes to many, many source files.  I don't
   7109 	want to list them all here.  The operations performed were all
   7110 	logical transformations of the sources:
   7111 
   7112 	- trying to convert all enums and constants to CAPITALIZED_STYLE,
   7113 	  #with define definitions like
   7114 
   7115 	    #define my_old_constants   MY_NEW_CONSTANT
   7116 
   7117 	- big, big update of the documentation comments
   7118 
   7119 	* include/freetype/freetype.h, src/base/ftobjs.c,
   7120 	src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
   7121 	for LCD-optimized rendering though the new constants/enums:
   7122 
   7123 	  FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
   7124 	  FT_PIXEL_MODE_LCD,  FT_PIXEL_MODE_LCD_V
   7125 
   7126 	This is still work in progress, don't expect everything to work
   7127 	correctly though most of the features have been implemented.
   7128 
   7129 	* Adding new FT_LOAD_XXX flags, used to specify both hinting and
   7130 	rendering targets:
   7131 
   7132 	  FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
   7133 	  FT_LOAD_TARGET_MONO   :: monochrome bitmaps
   7134 	  FT_LOAD_TARGET_LCD    :: horizontal RGB/BGR decimated
   7135 	                           hinting & rendering
   7136 	  FT_LOAD_TARGET_LCD_V  :: vertical RGB/BGR decimated
   7137 	                           hinting & rendering
   7138 
   7139 	Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
   7140 	behaviour of the font engine is _unchanged_.
   7141 
   7142 	* include/freetype/ftimage.h
   7143 	(FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
   7144 	(FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
   7145 	(FT_Raster_Span_Func): Renamed to ...
   7146 	(FT_SpanFunc): This.
   7147 	(FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
   7148 	(FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
   7149 
   7150 	Updated all affected code.
   7151 
   7152 	* include/freetype/ftrender.h
   7153 	(FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
   7154 	to ...
   7155 	(FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
   7156 	(FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
   7157 	(FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SetModeFunc}):
   7158 	This.
   7159 
   7160 	Updated all affected code.
   7161 
   7162 	* src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
   7163 	AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
   7164 	pointers to the corresponding `*Rec' structures.  All source files
   7165 	have been updated accordingly.
   7166 
   7167 	* src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
   7168 	* src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
   7169 
   7170 	* src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
   7171 	(cid_face_compute_max_advance): This.
   7172 	(CID_Load_Glyph): Renamed to...
   7173 	(cid_slot_load_glyph): This.
   7174 	* src/cid/cidload.c (CID_Open_Face): Renamed to...
   7175 	(cid_face_open): This.
   7176 	* src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
   7177 	(cid_slot_{done,init}): This.
   7178 	(CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
   7179 	(cid_size_{get_globals_funcs,done,reset): This.
   7180 	(CID_Face_{Done,Init}): Renamed to...
   7181 	(cid_face_{done,init}): This.
   7182 	(CID_Driver_{Done,Init}: Renamed to...
   7183 	(cid_driver_{done,init}: This.
   7184 	* src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
   7185 	(cid_parser_{new,done}): This.
   7186 	* src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
   7187 	(cid_parser_skip_{spaces,alpha}): This.
   7188 	(CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
   7189 	to...
   7190 	(cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
   7191 	This.
   7192 	(CID_Load_{Field,Field_Table): Renamed to...
   7193 	(cid_parser_load_{field,field_table}): This.
   7194 	* src/cid/cidriver.c (CID_Get_Interface): Renamed to...
   7195 	(cid_get_interface): This.
   7196 
   7197 	Updated all affected code.
   7198 
   7199 	* src/psaux/psobjs.c (PS_Table_*): Renamed to...
   7200 	(ps_table_*): This.
   7201 	(T1_Builder_*): Renamed to...
   7202 	(t1_builder_*): This.
   7203 	* src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
   7204 	(t1_decoder_*): This.
   7205 
   7206 	* src/psnames/psmodule.c (PS_*): Renamed to...
   7207 	(ps_*): This.
   7208 
   7209 	Updated all affected code.
   7210 
   7211 	* src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
   7212 	(sfnt_get_interface): This.
   7213 	* src/sfnt/sfobjs.c (SFNT_*): Renamed to...
   7214 	(sfnt_*): This.
   7215 	* src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
   7216 	(tt_face_{load,free}_charmap): This.
   7217 	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
   7218 	(tt_face_build_cmaps): This.
   7219 	* src/sfnt/ttload.c (TT_*): Renamed to...
   7220 	(tt_face_*): This.
   7221 	* src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
   7222 	(tt_post_default_names): This.
   7223 	(Load_*): Renamed to...
   7224 	(load_*): This.
   7225 	(TT_*): Renamed to...
   7226 	(tt_face_*): This.
   7227 	* src/sfnt/ttsbit.c (TT_*): Renamed to...
   7228 	(tt_face_*): This.
   7229 	({Find,Load,Crop}_*): Renamed to...
   7230 	({find,load,crop}_*): This.
   7231 
   7232 	Updated all affected code.
   7233 
   7234 	* src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
   7235 	(ft_smooth_render_generic): This.
   7236 	Make function more generic by adding vertical and horizontal scaling
   7237 	factors.
   7238 	(ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
   7239 	New functions.
   7240 
   7241 	(ft_smooth_lcd_renderer_class, ft_smooth_lcdv_renderer_class): New
   7242 	classes.
   7243 
   7244 	* src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
   7245 	(tt_glyphzone_{done,new}): This.
   7246 	(TT_{Face,Size,Driver}_*): Renamed to...
   7247 	(tt_{face,size,driver}_*): This.
   7248 	* src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
   7249 	(tt_face_load_loca): This.
   7250 	(TT_Load_Programs): Renamed to...
   7251 	(tt_face_load_fpgm): This.
   7252 	(TT_*): Renamed to...
   7253 	(tt_face_*): This.
   7254 
   7255 2002-08-27  Werner Lemberg  <wl (a] gnu.org>
   7256 
   7257 	* docs/VERSION.DLL: New file.
   7258 
   7259 2002-08-23  Graham Asher  <graham.asher (a] btinternet.com>
   7260 
   7261 	* src/cff/cffgload.c (cff_operator_seac)
   7262 	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
   7263 	incremental in the case of CFF but just using callbacks to get glyph
   7264 	recipes) pass the character code, not the glyph index, to the
   7265 	get_glyph_data function; they have no valid charset table.
   7266 
   7267 	* src/cff/cffload.c (cff_font_load): Removed special cases for
   7268 	FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
   7269 	fonts provided via the incremental interface now have to conform
   7270 	more closely to the CFF font format.
   7271 
   7272 	* src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
   7273 
   7274 	* src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
   7275 	to conform with new signature.
   7276 
   7277 2002-08-22  David Turner  <david (a] freetype.org>
   7278 
   7279 	* src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
   7280 	src/bdf/bdfdrivr.c: Removed compiler warnings.
   7281 
   7282 2002-08-21  Werner Lemberg  <wl (a] gnu.org>
   7283 
   7284 	* src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
   7285 	psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
   7286 	compiler warnings and resolve shadowing of local variables.
   7287 
   7288 2002-08-21  David Turner  <david (a] freetype.org>
   7289 
   7290 	The automatic and Postscript hinter now automatically detect
   7291 	inflection points in glyph outlines and treats them specially.  This
   7292 	is very useful to prevent nasty effect like the disappearing
   7293 	diagonals of `S' and `s' in many, many fonts.
   7294 
   7295 	* src/autohint/ahtypes.h (ah_flag_inflection): New macro.
   7296 	* src/autohint/ahangles.c (ah_angle_diff): New function.
   7297 	* src/autohint/ahangles.h: Updated.
   7298 	* src/autohint/ahglyph.c (ah_outline_compute_inflections): New
   7299 	function.
   7300 	(ah_outline_detect_features): Use it.
   7301 	* src/autohint/ahhint.c (ah_hinter_align_strong_points)
   7302 	[!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
   7303 
   7304 	* src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
   7305 	src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
   7306 
   7307 	* include/freetype/freetype.h: Changing the type of the `load_flags'
   7308 	parameter from `FT_Int' to `FT_Int32', this in order to support more
   7309 	options.  This should only break binary and/or source compatibility
   7310 	on 16-bit platforms (Atari?).
   7311 	(FT_LOAD_NO_AUTOHINT): New macro.
   7312 
   7313 	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
   7314 	Handle FT_LOAD_NO_AUTOHINT.
   7315 	(FT_Load_Char): Updated.
   7316 
   7317 	* src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
   7318 	src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
   7319 	and removing compiler warnings.
   7320 
   7321 2002-08-20  Werner Lemberg  <wl (a] gnu.org>
   7322 
   7323 	* src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
   7324 
   7325 2002-08-20  David Turner  <david (a] freetype.org>
   7326 
   7327 	* src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
   7328 	src/pshinter/pshglob.c, src/pshinter/pshrec.c,
   7329 	src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
   7330 	(only used in development builds anyway).
   7331 
   7332 	Improve support of local extrema and stem edge points.
   7333 
   7334 	* src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
   7335 	for `zones'.
   7336 	(PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
   7337 	(PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
   7338 	(PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
   7339 	macros.
   7340 	(PSH3_POINT_INFLEX): New enum.
   7341 	(psh3_point_{is,set}_{off,inflex}): New macros.
   7342 	(PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
   7343 	enum values.
   7344 	(psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
   7345 	New macros.
   7346 	(PSH3_PointRec): New members `flags2' and `org_v'.
   7347 	(PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
   7348 
   7349 	* src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
   7350 	warnings.
   7351 	(COMPUTE_INFLEXS): New macro.
   7352 	(psh3_hint_align): Simplify some basic arithmetic computations.
   7353 	(psh3_point_is_extremum): Removed.
   7354 	(psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
   7355 	(psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
   7356 	(psh3_glyph_compute_extrema): New function.
   7357 	(PSH3_STRONG_THRESHOLD): Increased to 30.
   7358 	(psh3_hint_table_find_strong_point): Improved.
   7359 	(psh3_glyph_find_strong_points,
   7360 	psh3_glyph_interpolate_strong_points): Updated.
   7361 	(psh3_hints_apply): Use psh3_glyph_compute_extrema.
   7362 
   7363 	* test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
   7364 	functions.
   7365 	Other small updates.
   7366 
   7367 	* Jamfile: Small updates.
   7368 
   7369 2002-08-18  Arkadiusz Miskiewicz  <misiek (a] pld.ORG.PL>
   7370 
   7371 	* builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
   7372 	make life easier for package maintainers.
   7373 
   7374 2002-08-18  Werner Lemberg  <wl (a] gnu.org>
   7375 
   7376 	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
   7377 	horiBearingX.
   7378 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix computation of
   7379 	horiBearingY.
   7380 
   7381 2002-08-16  George Williams  <gww (a] silcom.com>
   7382 
   7383 	Add support for Apple composite glyphs.
   7384 
   7385 	* include/freetype/config/ftoption.h
   7386 	(TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
   7387 
   7388 	* src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
   7389 	UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
   7390 	glyph loading flags.
   7391 	(load_truetype_glyph): Implement it.
   7392 
   7393 2002-08-16  Werner Lemberg  <wl (a] gnu.org>
   7394 
   7395 	* src/cff/cffgload.c (cff_free_glyph_data),
   7396 	src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
   7397 
   7398 2002-08-15  Werner Lemberg  <wl (a] gnu.org>
   7399 
   7400 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
   7401 	* src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
   7402 
   7403 2002-08-15  Graham Asher  <graham.asher (a] btinternet.com>
   7404 
   7405 	Implemented the incremental font loading system for the CFF driver.
   7406 	Tested using the GhostScript-to-FreeType bridge (under development).
   7407 
   7408 	* src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
   7409 	functions.
   7410 	(cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
   7411 	them.
   7412 	* src/cff/cffload.c (cff_font_load): Add `face' parameter.
   7413 	Load charset and encoding only if there are glyphs.
   7414 	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
   7415 	character recipes.
   7416 	* src/cff/cffload.h, src/cff/cffobjs.c: Updated.
   7417 
   7418 	* src/cid/cidgload.c (cid_load_glyph)
   7419 	[FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
   7420 	loading implementation to use the new system introduced on
   7421 	2002-08-01.
   7422 
   7423 2002-08-06  Werner Lemberg  <wl (a] gnu.org>
   7424 
   7425 	* src/cff/cffcmap.c: Remove compiler warnings.
   7426 	* src/cache/ftccache.c, src/cache/ftccache.i,
   7427 	src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
   7428 	* src/cff/cffload.c: s/select/fdselect/.
   7429 	* src/raster/ftraster.c: s/wait/waiting/.
   7430 
   7431 2002-08-01  Graham Asher  <graham.asher (a] btinternet.com>
   7432 
   7433 	* src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
   7434 	charstrings if there is an incremental loading interface.  Type 1
   7435 	faces supplied by PostScript interpreters like GhostScript will
   7436 	typically not provide any charstrings at load time, so this is
   7437 	essential if they are to work.
   7438 
   7439 2002-08-01  Graham Asher  <graham.asher (a] btinternet.com>
   7440 
   7441 	Modified incremental loading interface to be closer to David's
   7442 	preferences.  The header freetype.h is not now affected, the
   7443 	interface is specified via an FT_Parameter, the pointer to the
   7444 	interface is hidden in an internal part of the face record, and all
   7445 	the definitions are in ftincrem.h.
   7446 
   7447 	* include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
   7448 	Removed.
   7449 	* include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
   7450 	Include FT_INCREMENTAL_H.
   7451 	(FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
   7452 	`incremental_interface'.
   7453 
   7454 	* src/base/ftobjs.c (open_face, FT_Open_Face)
   7455 	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   7456 	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
   7457 	Updated.
   7458 
   7459 	* src/truetype/ttgload.c (load_truetype_glyph)
   7460 	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   7461 	Free loaded glyph data properly.
   7462 	(compute_glyph_metrics, TT_Load_Glyph)
   7463 	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   7464 	* src/truetype/ttobjs.c (TT_Face_Init)
   7465 	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   7466 
   7467 	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
   7468 	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   7469 	(T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
   7470 	Free loaded glyph data properly.
   7471 	(T1_Load_Glyph): Updated.
   7472 	[FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
   7473 
   7474 2002-07-30  David Turner  <david (a] freetype.org>
   7475 
   7476 	* include/freetype/ftincrem.h: Adding new experimental header file
   7477 	to demonstrate a `cleaner' API to support incremental font loading.
   7478 
   7479 	* include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
   7480 
   7481 	* src/tools/docmaker/*: Adding new (more advanced) version of
   7482 	the DocMaker tool, using Python's sophisticated regexps.
   7483 
   7484 2002-07-28  Werner Lemberg  <wl (a] gnu.org>
   7485 
   7486 	s/ft_memset/FT_MEM_SET/.
   7487 	s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
   7488 
   7489 2002-07-27  Werner Lemberg  <wl (a] gnu.org>
   7490 
   7491 	* src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
   7492 
   7493 2002-07-26  Werner Lemberg  <wl (a] gnu.org>
   7494 
   7495 	* src/truetype/ttgload.c (load_truetype_glyph)
   7496 	[FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
   7497 
   7498 	* src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
   7499 	* src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
   7500 	* src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
   7501 	variable.
   7502 	* src/truetype/ttgload.c (load_truetype_glyph): Remove statement
   7503 	without effect.
   7504 	* src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
   7505 
   7506 	* src/pshinter/pshalgo3.c (psh3_hint_table_record,
   7507 	psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
   7508 	message.
   7509 
   7510 2002-07-24  Graham Asher  <graham.asher (a] btinternet.com>
   7511 
   7512 	* src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
   7513 	[sven (a] gimp.org] on the FreeType development forum: `If
   7514 	FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
   7515 	TrueType loader crashes in line 852 of src/truetype/ttgload.c when
   7516 	it tries to access face->glyph_locations.'
   7517 
   7518 2002-07-18  Graham Asher  <graham.asher (a] btinternet.com>
   7519 
   7520 	Added types and structures to support incremental typeface loading.
   7521 	The FT_Incremental_Interface structure, defined in freetype.h, is
   7522 	designed to be passed to FT_Open_Face to provide callback functions
   7523 	to obtain glyph recipes and metrics, for fonts like those passed
   7524 	from PostScript that do not necessarily provide all, or any, glyph
   7525 	information, when first opened.
   7526 
   7527 	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
   7528 	New configuration macro to enable incremental face loading.  By
   7529 	default it is not defined.
   7530 
   7531 	* include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
   7532 	FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
   7533 	FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
   7534 	[FT_CONFIG_OPTION_INCREMENTAL]: New.
   7535 	(FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
   7536 	`incremental_interface'.
   7537 	(FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
   7538 	`ft_open_incremental'.
   7539 
   7540 	* include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
   7541 	(FT_Data): New structure to represent binary data.
   7542 
   7543 	* src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
   7544 	Add parameter for incremental loading.
   7545 	(FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
   7546 	interface.
   7547 
   7548 	* src/truetype/ttgload.c (load_truetype_glyph)
   7549 	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
   7550 	for the TrueType driver.
   7551 	(compute_glyph_metrics): Return FT_Error.
   7552 	[FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
   7553 	(TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
   7554 	the glyph table while handling an incremental font.
   7555 	Get glyph offset.
   7556 
   7557 	* src/truetype/ttobjs.c (TT_Face_Init)
   7558 	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading
   7559 	system for the TrueType driver.
   7560 
   7561 	* src/cid/cidgload.c (cid_load_glyph)
   7562 	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
   7563 	for the CID driver.
   7564 
   7565 	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
   7566 	Changes to support incremental Type 42 fonts: Assume a font has
   7567 	glyphs if it has an incremental interface object.
   7568 
   7569 	* src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
   7570 	(T1_Parse_Glyph_And_Get_Char_String): This.
   7571 	[FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
   7572 	loaded Type 1 faces.
   7573 	(T1_Parse_Glyph): New function.
   7574 	(T1_Load_Glyph): Updated.
   7575 
   7576 2002-07-17  David Turner  <david (a] freetype.org>
   7577 
   7578 	Cleaning up the cache sub-system code; linear hashing is now the
   7579 	default.
   7580 
   7581 	* include/freetype/cache/ftccache.h, src/cache/ftccache.i,
   7582 	src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
   7583 	(FTC_CACHE_USE_LINEAR_HASHING): Removed also.
   7584 
   7585 	FT_CONFIG_OPTION_USE_CMAPS is now the default.
   7586 
   7587 	* include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
   7588 	`get_char_index' and `get_next_char'.
   7589 
   7590 	* include/freetype/config/ftoption.h,
   7591 	include/freetype/internal/tttypes.h, src/base/ftobjs.c,
   7592 	src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
   7593 	src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
   7594 	src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
   7595 	src/type42/t42objs.c, src/winfonts/winfnt.c
   7596 	[!FT_CONFIG_OPTION_USE_CMAPS]: Removed.  The new cmap code is now
   7597 	the default.
   7598 
   7599 	* src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
   7600 	Removed.
   7601 	* src/type42/t42objs.h: Updated.
   7602 
   7603 	* src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
   7604 	Removed.
   7605 	(t1cid_driver_class): Updated.
   7606 	* src/truetype/ttdriver.c (tt_driver_class): Updated.
   7607 	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
   7608 	(t1_driver_class): Updated.
   7609 	* src/type42/t42drivr.c (t42_driver_class): Updated.
   7610 
   7611 	* src/base/ftobjs.c (open_face): Select Unicode cmap by default.
   7612 
   7613 	* src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
   7614 	prevented OpenType fonts to be recognized by FreeType.
   7615 
   7616 2002-07-11  David Turner  <david (a] freetype.org>
   7617 
   7618 	Changing the SFNT loader to check for SFNT-based font files
   7619 	differently.  We now ignore the range `helper' fields and check the
   7620 	`head' table's magic number instead.
   7621 
   7622 	* include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
   7623 	field.
   7624 
   7625 	* src/sfnt/ttload.c (sfnt_dir_check): New function.
   7626 	(TT_Load_SFNT_HeaderRec): Renamed to...
   7627 	(TT_Load_SFNT_Header): This.
   7628 	Implement new functionality.
   7629 	* src/sfnt/ttload.h: Updated.
   7630 	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
   7631 
   7632 	* src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
   7633 	and dynamic hash table implementation (still experimental, don't
   7634 	use).
   7635 	* include/freetype/internal/fthash.h: Updated.
   7636 	* include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
   7637 	`meta_class'.
   7638 
   7639 	Fixing a bug in the Type 1 loader that prevented valid font bounding
   7640 	boxes to be loaded from multiple master fonts.
   7641 
   7642 	* include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
   7643 
   7644 	* include/freetype/internal/psaux.h (T1_FieldType): Add
   7645 	`T1_FIELD_TYPE_BBOX'.
   7646 	(T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
   7647 	(T1_FIELD_BBOX): New macro.
   7648 
   7649 	* src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
   7650 	* src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
   7651 	(T1_Done_Blend): Free blend->bboxes.
   7652 	(t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
   7653 	(parse_font_bbox): Commented out.
   7654 	(t1_keywords): Comment out `parse_font_bbox'.
   7655 	* src/type1/t1tokens.h: Define `FontBBox' field.
   7656 
   7657 2002-07-10  David Turner  <david (a] freetype.org>
   7658 
   7659 	* src/cff/cffobjs.c: Small fix to select the Unicode charmap by
   7660 	default when needed.
   7661 	Small fix to allow OpenType fonts to support Adobe charmaps when
   7662 	needed.
   7663 
   7664 	* src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
   7665 	charmaps for CFF fonts.
   7666 
   7667 	* src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
   7668 
   7669 	* include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
   7670 	fixed-length arrays for `sids' and `codes'.  Add `count' member.
   7671 	(CFF_FontRec): Add `psnames' member.
   7672 
   7673 	* src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
   7674 	src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
   7675 	src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
   7676 	support for CFF charmaps, reformatting the sources, and removing
   7677 	some bugs in the Encoding and Charset loaders.
   7678 	Many fonts renamed to use lowercase only:
   7679 
   7680 	  CFF_Builder_Init -> cff_builder_init
   7681 	  CFF_Builder_Done -> cff_builder_done
   7682 	  CFF_Init_Decoder -> cff_decoder_init
   7683 	  CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
   7684 	  CFF_Load_Glyph -> cff_slot_load
   7685 	  CFF_Init_Decoder -> cff_decoder_init
   7686 	  CFF_Prepare_Decoder -> cff_decoder_prepare
   7687 	  CFF_Get_Standard_Encoding -> cff_get_standard_encoding
   7688 	  CFF_Access_Element -> cff_index_access_element
   7689 	  CFF_Forget_Element -> cff_index_forget_element
   7690 	  CFF_Get_Name -> cff_index_get_name
   7691 	  CFF_Get_String -> cff_index_get_sid_string
   7692 	  CFF_Get_FD -> cff_fd_select_get
   7693 	  CFF_Done_Charset -> cff_charset_done
   7694 	  CFF_Load_Charset -> cff_charset_load
   7695 	  CFF_Done_Encoding -> cff_encoding_done
   7696 	  CFF_Load_Encoding -> cff_encoding_load
   7697 	  CFF_Done_SubFont -> cff_subfont_done
   7698 	  CFF_Load_Font -> cff_font_load
   7699 	  CFF_Done_Font -> cff_font_done
   7700 	  CFF_Size_Get_Globals_Funcs -> cff_size_get_globals_funcs
   7701 	  CFF_Size_Done -> cff_size_done
   7702 	  CFF_Size_Init -> cff_size_init
   7703 	  CFF_Size_Reset -> cff_size_reset
   7704 	  CFF_GlyphSlot_Done -> cff_slot_done
   7705 	  CFF_GlyphSlot_Init -> cff_slot_init
   7706 	  CFF_StrCopy -> cff_strcpy
   7707 	  CFF_Face_Init -> cff_face_init
   7708 	  CFF_Face_Done -> cff_face_done
   7709 	  CFF_Driver_Init -> cff_driver_init
   7710 	  CFF_Driver_Done -> cff_driver_done
   7711 	  CFF_Parser_Init -> cff_parser_init
   7712 	  CFF_Parser_Run -> cff_parser_run
   7713 
   7714 	  add_point -> cff_builder_add_point
   7715 	  add_point1 -> cff_builder_add_point1
   7716 	  add_contour -> cff_builder_add_contour
   7717 	  close_contour -> cff_builder_close_contour
   7718 	  cff_explicit_index -> cff_index_get_pointers
   7719 
   7720 2002-07-09  Owen Taylor  <owen (a] redhat.com>
   7721 
   7722 	* src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
   7723 	prevented the hinter from using correct standard width and height
   7724 	values, resulting in hinting bugs with certain fonts (e.g. Utopia).
   7725 
   7726 2002-07-07  David Turner  <david (a] freetype.org>
   7727 
   7728 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
   7729 	successfully when the function is called with a bitmap glyph (the
   7730 	previous code simply returned with an error).
   7731 
   7732 	* docs/DEBUG.TXT: Adding debugging support documentation.
   7733 
   7734 	* src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
   7735 	(ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
   7736 	the syntax of the FT2_DEBUG environment variable used to control
   7737 	debugging output (i.e. logging and error messages).  It must now
   7738 	look like:
   7739 
   7740 	  any:6 memory:4 io:3   or
   7741 	  any:6,memory:4,io:3   or
   7742 	  any:6;memory:4;io:3
   7743 
   7744 2002-07-07  Owen Taylor  <owen (a] redhat.com>
   7745 
   7746 	* src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
   7747 	blue fuzz.
   7748 	* src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
   7749 	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
   7750 
   7751 	Adding support for hinter-specific bit flags, and the new
   7752 	FT_Set_Hint_Flags high-level API.
   7753 
   7754 	* include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
   7755 	(FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
   7756 	FT_HINT_NO_VSTEM_ALIGN): New macros.
   7757 
   7758 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
   7759 	`hint_flags' member.
   7760 
   7761 	* src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
   7762 
   7763 	* include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
   7764 	member.
   7765 
   7766 	* include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
   7767 	T2_Hints_ApplyFunc): Add parameter to pass hint flags.
   7768 
   7769 	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
   7770 	T1_Decoder_Init): Use decoder->hint_flags.
   7771 	* src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
   7772 	* src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
   7773 	(CFF_Parse_CharStrings): Updated.
   7774 	* src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
   7775 	hint flags (unused).
   7776 	* src/pshinter/pshalgo1.h: Updated.
   7777 	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
   7778 	hint flags (unused).
   7779 	* src/pshinter/pshalgo2.h: Updated.
   7780 	* src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
   7781 	hint flags.
   7782 	* src/pshinter/pshalgo3.h: Updated.
   7783 
   7784 2002-07-04  David Turner  <david (a] freetype.org>
   7785 
   7786 	* src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
   7787 	incorrect advances when the outline resolution was different from
   7788 	the metrics resolution.
   7789 
   7790 	* src/autohint/ahhint.c: Removing compiler warnings.
   7791 
   7792 	* src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
   7793 	(ah_outline_link_segments): Slight improvements to the serif
   7794 	detection code.  More work is needed though.
   7795 
   7796 2002-07-03  David Turner  <david (a] freetype.org>
   7797 
   7798 	Small improvements to the automatic hinter.  Uneven stem-widths have
   7799 	now disappeared and everything looks much better, even if there are
   7800 	still issues with serifed fonts.
   7801 
   7802 	* src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
   7803 	* src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
   7804 	(ah_snap_width): Commented out.
   7805 	(ah_align_linked_edge): Renamed to...
   7806 	(ah_compute_stem_width): This.
   7807 	Don't allow uneven stem-widths.
   7808 	(ah_align_linked_edge): New function.
   7809 	(ah_align_serifed_edge): Don't strengthen serifs.
   7810 	(ah_hint_edges_3, ah_hinter_scale_globals): Updated.
   7811 
   7812 2002-07-03  Owen Taylor  <owen (a] redhat.com>
   7813 
   7814 	Adding new algorithm based on Owen Taylor's recent work.
   7815 
   7816 	* src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
   7817 	* src/pshinter/pshalgo.h: Updated.
   7818 	Use pshalgo3 by default.
   7819 	* src/pshinter/pshinter.c: Include pshalgo3.c.
   7820 
   7821 	* src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
   7822 
   7823 2002-07-01  Owen Taylor  <owen (a] redhat.com>
   7824 
   7825 	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
   7826 	where, if a glyph has more than hint mask, the second mask gets
   7827 	applied to points that should have been covered by the first mask.
   7828 
   7829 2002-07-01  Keith Packard  <keithp (a] keithp.com>
   7830 
   7831 	* src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
   7832 	Fixing the cmap 8 and 12 parsing routines.
   7833 
   7834 2002-07-01  David Turner  <david (a] freetype.org>
   7835 
   7836 	* src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
   7837 	(FT_Outline_Embolden): Renamed to...
   7838 	(FT_GlyphSlot_Embolden): This.
   7839 	Updated to new trigonometric functions.
   7840 	(FT_Outline_Oblique): Renamed to...
   7841 	(FT_GlyphSlot_Oblique): This.
   7842 	(ft_norm): Removed.
   7843 	* include/freetype/ftsynth.h: Updated.
   7844 
   7845 2002-06-26  David Turner  <david (a] freetype.org>
   7846 
   7847 	* include/freetype/internal/ftobject.h: Updating the object
   7848 	sub-system definitions (still experimental).
   7849 
   7850 	* src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
   7851 	bug.
   7852 
   7853 	* src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
   7854 	functions.
   7855 	* include/freetype/fttrigon.h: Updated.
   7856 
   7857 
   7858 	Adding path stroker component (work in progress).
   7859 
   7860 	* include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
   7861 	* src/base/Jamfile: Updated.
   7862 
   7863 	* include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
   7864 
   7865 
   7866 	* src/truetype/ttgload.c (TT_Load_Composite_Glyph),
   7867 	src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
   7868 	FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
   7869 
   7870 2002-06-24  Werner Lemberg  <wl (a] gnu.org>
   7871 
   7872 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
   7873 
   7874 2002-06-21  David Turner  <david (a] freetype.org>
   7875 
   7876 
   7877 	* Version 2.1.2 released.
   7878 	=========================
   7879 
   7880 
   7881 2002-06-21  Roberto Alameda  <ojancano (a] geekmail.de>.
   7882 
   7883 	* include/freetype/internal/t42types.h (T42_Font): Removed since
   7884 	it is already in t42objs.h.
   7885 	(T42_Face): Use T1_FontRec.
   7886 
   7887 	* src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
   7888 	(FT_Has_PS_Glyph_Names): Check for type42 driver name also.
   7889 	* src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
   7890 	(T42_Face): Removed since it is already in t42types.h.
   7891 
   7892 2002-06-21  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   7893 
   7894 	* src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
   7895 	glyphs.
   7896 
   7897 2002-06-21  Sven Neumann  <sven (a] convergence.de>
   7898 
   7899 	* src/pfr/pfrtypes.h (PFR_KernPair): New structure.
   7900 	(PFR_PhyFont): Use it.
   7901 	(PFR_KernFlags): New enumeration.
   7902 	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
   7903 	function.
   7904 	(pfr_phy_font_extra_items): Use it.
   7905 	(pfr_phy_font_done): Updated.
   7906 	* src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
   7907 	(pfr_face_get_kerning): New function.
   7908 	* src/pfr/pfrobjs.h: Updated.
   7909 	* src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
   7910 
   7911 2002-06-21  David Turner  <david (a] freetype.org>
   7912 
   7913 	* README, docs/CHANGES: Preparing the 2.1.2 release.
   7914 
   7915 2002-06-19  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   7916 
   7917 	* src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
   7918 	(t1_face_check_cast): Removed.
   7919 	(FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
   7920 	also.
   7921 
   7922 2002-06-19  Sebastien BARRE  <http://barre.nom.fr/contact.html#email>
   7923 
   7924 	* src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
   7925 
   7926 2002-06-19  Werner Lemberg  <wl (a] gnu.org>
   7927 
   7928 	* src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
   7929 	(xy <-> yx).
   7930 	* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
   7931 	`||' to make code easier to read.
   7932 
   7933 2002-06-18  Roberto Alameda  <ojancano (a] geekmail.de>.
   7934 
   7935 	* src/type42/t42objs.c (t42_check_size_change): Removed.
   7936 	(T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
   7937 	instead.
   7938 	(T42_GlyphSlot_Load): Remove call to t42_check_size_change.
   7939 
   7940 2002-06-18  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   7941 
   7942 	* src/psaux/t1cmap.c (t1_cmap_custom_char_index,
   7943 	t1_cmap_custom_char_next): Fix index computation -- indices start
   7944 	with 0 and not with cmap->first.
   7945 
   7946 	Provide default charmaps.
   7947 
   7948 	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
   7949 	(PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
   7950 	src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
   7951 	(FNT_Face_Init): Implement it.
   7952 
   7953 2002-06-17  Sven Neumann  <sven (a] gimp.org>
   7954 
   7955 	* src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
   7956 
   7957 2002-06-16  Leonard Rosenthol  <leonardr (a] lazerware.com>
   7958 
   7959 	Updated Win32/VC++ projects to include the new PFR driver.
   7960 
   7961 	* builds/win32/visualc/freetype.dsp: Updated.
   7962 
   7963 2002-06-16  Anthony Fok  <fok (a] debian.org>
   7964 
   7965 	Install freetype2.m4.
   7966 
   7967 	* builds/unix/install.mk (install, uninstall): Handle it.
   7968 
   7969 2002-06-16  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   7970 
   7971 	Same fix for PFR driver.
   7972 
   7973 	* src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
   7974 	Increase return value by 1.
   7975 	* src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
   7976 
   7977 2002-06-15  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   7978 
   7979 	Fix glyph indices to make index zero always the undefined glyph.
   7980 
   7981 	* src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
   7982 	cmap->num_encodings.
   7983 	(bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
   7984 	Increase result by 1 for normal cases.
   7985 	(BDF_Glyph_Load): Decrease index by 1.
   7986 
   7987 	* src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
   7988 	PCF_Char_Get_Index): Increase result by 1 for normal cases.
   7989 	(PCF_Glyph_Load): Decrease index by 1.
   7990 	* src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
   7991 	allocating `encoding'.
   7992 
   7993 	* src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
   7994 	bounding tests.
   7995 
   7996 2002-06-14  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   7997 
   7998 	Add new cmap support to BDF driver.
   7999 
   8000 	* src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
   8001 	New structure.
   8002 	(bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
   8003 	bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
   8004 	(BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
   8005 	conditionally.
   8006 	(BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
   8007 	Implement new cmap handling.
   8008 	(bdf_driver_class): Updated.
   8009 
   8010 2002-06-14  Werner Lemberg  <wl (a] gnu.org>
   8011 
   8012 	* Makefile, configure, */*.mk, builds/unix/unix-def.in,
   8013 	docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
   8014 
   8015 2002-06-12  Werner Lemberg  <wl (a] gnu.org>
   8016 
   8017 	* src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
   8018 
   8019 2002-06-11  David Turner  <david (a] freetype.org>
   8020 
   8021 	* builds/win32/ftdebug.c: Added a missing #endif.
   8022 
   8023 	* src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
   8024 
   8025 	Removed the bug in Type 42 driver that prevented un-hinted outlines
   8026 	to be loaded.
   8027 
   8028 	* src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
   8029 	(T42_Size_Init): Call FT_Activate_Size.
   8030 	(t42_check_size_change): New function.
   8031 	(T42_Size_SetChars, T42_Size_SetPixels): Use it.
   8032 	(ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
   8033 	(T42_GlyphSlot_Load): Use t42_check_size_change.
   8034 	Initialize more fields of `glyph'.
   8035 
   8036 	* builds/win32/visualc/freetype.dsp: Updated.
   8037 
   8038 2002-06-09  David Turner  <david (a] freetype.org>
   8039 
   8040 
   8041 	* Version 2.1.1 released.
   8042 	=========================
   8043 
   8044 
   8045 2002-06-08  Juliusz Chroboczek  <jch (a] pps.jussieu.fr>
   8046 
   8047 	* include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
   8048 	src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
   8049 	use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
   8050 	and `ft_jmp_buf'.
   8051 	Removed direct references to <stdio.h> and <setjmp.h> when
   8052 	appropriate, to eventually replace them with a
   8053 	FT_CONFIG_STANDARD_LIBRARY_H.  Useful for the XFree86 Font Server
   8054 	backend based on FT2.
   8055 
   8056 	* src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
   8057 
   8058 2002-06-08  David Turner  <david (a] freetype.org>
   8059 
   8060 	* src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
   8061 	the function to return invalid values.
   8062 
   8063 	* src/cache/ftccache.i: Removing a typo that prevented
   8064 	the source's compilation.
   8065 
   8066 	* src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
   8067 	bug that caused nasty memory overwrites.  The hash table's
   8068 	buckets array wasn't correctly resized when shrunk.
   8069 
   8070 2002-06-08  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   8071 
   8072 	* builds/amiga/smakefile, builds/amiga/makefile: Updated.
   8073 
   8074 2002-06-08  Werner Lemberg  <wl (a] gnu.org>
   8075 
   8076 	* src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
   8077 	[FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
   8078 	Fix debugging messages.
   8079 	* src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
   8080 	`family' and `hash' up to make it compilable with g++.
   8081 
   8082 	* src/type42/t42error.h: New file.
   8083 	* src/type42/t42drivr.c, src/type42/t42objs.c,
   8084 	src/type42/t42parse.c: Use t42 error codes.
   8085 	* src/type42/rules.mk: Updated.
   8086 
   8087 	* src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
   8088 
   8089 2002-06-08  David Turner  <david (a] freetype.org>
   8090 
   8091 	* src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
   8092 	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
   8093 	New macros.
   8094 	(ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
   8095 	ftc_cache_lookup.
   8096 	(FTC_CMapCache_Lookup): Updated.
   8097 
   8098 	Adding various experimental optimizations to the cache manager.
   8099 
   8100 	* include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
   8101 	FTC_CACHE_USE_LINEAR_HASHING): New options.
   8102 	(FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
   8103 	`mask', and `slack'.
   8104 
   8105 	* src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
   8106 	FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
   8107 	FTC_HASH_INITIAL_SIZE]: New macros.
   8108 	(ftc_node_mru_link, ftc_node_mru_up): Optimized.
   8109 	(ftc_node_hash_unlink, ftc_node_hash_link)
   8110 	[FTC_CACHE_USE_LINEAR_HASHING]: New variants.
   8111 	(FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
   8112 	FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
   8113 	[!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
   8114 	(ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
   8115 	Updated.
   8116 	(ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
   8117 
   8118 	* src/cache/ftccache.i: New file.
   8119 
   8120 	* src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
   8121 	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
   8122 	New macros.
   8123 	(ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
   8124 	ftc_cache_lookup.
   8125 	(FTC_SBitCache_Lookup): Updated.
   8126 
   8127 	* src/type42/t42parse.c: Removing duplicate function.
   8128 
   8129 2002-06-07  Graham Asher  <graham.asher (a] btinternet.com>
   8130 
   8131 	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
   8132 	from FT_EXPORT_DEF to FT_BASE_DEF.
   8133 
   8134 2002-06-07  David Turner  <david (a] freetype.org>
   8135 
   8136 	Fixed the bug that prevented the correct display of fonts with
   8137 	`ftview'.
   8138 
   8139 	* src/type42/t42drivr.c: Split into...
   8140 	* src/type42/t42drivr.h, src/type42/t42parse.c,
   8141 	src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
   8142 	src/type42/type42.c: New files.
   8143 
   8144 	(t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
   8145 	`face->type1'.
   8146 
   8147 	(Get_Interface): Renamed to...
   8148 	(T42_Get_Interface): This.
   8149 	Updated.
   8150 	(T42_Open_Face, T42_Face_Done): Updated.
   8151 	(T42_Face_Init): Add new cmap support.
   8152 	Updated.
   8153 	(T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
   8154 	T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
   8155 	(Get_Char_Index, Get_Next_Char): Renamed to...
   8156 	(T42_CMap_CharIndex, T42_CMap_CharNext): This.
   8157 	Updated.
   8158 	(T42_Char_Size, T42_Pixel_Size): Renamed to...
   8159 	(T42_Size_SetChars, T42_Size_SetPixels): This.
   8160 	(T42_Load_Glyph): Renamed to...
   8161 	(T42_GlyphSlot_Load): This.
   8162 
   8163 	(t42_init_loader, t42_done_loader): Renamed to...
   8164 	(t42_loader_init, t42_loader_done): This.
   8165 	(T42_New_Parser, T42_Finalize_Parser): Renamed to...
   8166 	(t42_parser_init, t42_parser_done): This.
   8167 	(parse_dict): Renamed to...
   8168 	(t42_parse_dict): This.
   8169 	(is_alpha, is_space, hexval): Renamed to...
   8170 	(t42_is_alpha, t42_is_space, t42_hexval): This.
   8171 	(parse_font_name, parse_font_bbox, parse_font_matrix,
   8172 	parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
   8173 	Renamed to...
   8174 	(t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
   8175 	t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
   8176 	t42_parse_dict): This.
   8177 	Updated.
   8178 
   8179 	(t42_keywords): Updated.
   8180 
   8181 	* src/type42/Jamfile, src/type42/descrip.mms: Updated.
   8182 
   8183 2002-06-03  Werner Lemberg  <wl (a] gnu.org>
   8184 
   8185 	Add 8bpp support to BDF driver.
   8186 
   8187 	* src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
   8188 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
   8189 	* src/bdf/README: Updated.
   8190 
   8191 2002-06-02  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   8192 
   8193 	* src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
   8194 
   8195 2002-05-29  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   8196 
   8197 	* src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
   8198 	(_bdf_parse_glyphs): Use correct size for allocating
   8199 	`font->unencoded'.
   8200 	(bdf_load_font): Free array conditionally.
   8201 	Return proper error code in case of failure.
   8202 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
   8203 	unusual fonts.
   8204 
   8205 2002-05-29  Werner Lemberg  <wl (a] gnu.org>
   8206 
   8207 	* src/bdf/descrip.mms, src/type42/descrip.mms: New files.
   8208 	* descrip.mms (all): Updated.
   8209 
   8210 	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
   8211 	compilation.
   8212 	* src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
   8213 
   8214 2002-05-28  Detlef Wrkner  <TetiSoft (a] apg.lahn.de>
   8215 
   8216 	* builds/amiga/makefile, builds/amiga/smakefile,
   8217 	amiga/include/freetype/config/ftmodule.h: Updated to include
   8218 	support for BDF and Type42 drivers.
   8219 
   8220 	* docs/modules.txt: Updated.
   8221 
   8222 2005-05-28  David Turner  <david (a] freetype.org>
   8223 
   8224 	* docs/CHANGES: Updating file for next release (2.1.1).
   8225 
   8226 	* src/bdf/bdflib.c: Removing compiler warnings.
   8227 
   8228 	* include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
   8229 	They provide a new API (FT_Get_X11_Font_Format) to retrieve an
   8230 	X11-compatible string describing the font format of a given face.
   8231 	This was put in a new optional base source file, corresponding to a
   8232 	new public header (named FT_XFREE86_H since this function should
   8233 	only be used within the XFree86 font server IMO).
   8234 
   8235 	* include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
   8236 	documented yet).
   8237 
   8238 	* src/base/fttype1.c: New file, providing two new API functions
   8239 	(FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
   8240 	* include/freetype/t1tables.h: Updated.
   8241 
   8242 	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
   8243 	Updating build control files for the new files `ftxf86.c' and
   8244 	`fttype1.c' in src/base.
   8245 
   8246 	* src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
   8247 	prevented family blue zones substitution from happening correctly.
   8248 
   8249 	* include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
   8250 	documentation comment.
   8251 
   8252 2002-05-28  Werner Lemberg  <wl (a] gnu.org>
   8253 
   8254 	* src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
   8255 	but FT_STREAM_READ.
   8256 	Declare `stream' variable.
   8257 
   8258 	* src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
   8259 	with calls to `FT_MulDiv'.
   8260 
   8261 2002-05-28  David Turner  <david (a] freetype.org>
   8262 
   8263 	Fixing the SFNT name table loader to support various buggy fonts.
   8264 	It now ignores empty name entries, entries with invalid pointer
   8265 	Offsets and certain fonts containing tables with broken
   8266 	`storageOffset' fields.
   8267 
   8268 	Name strings are now loaded on demand, which reduces the memory
   8269 	requirements for a given FT_Face tremendously (for example, the name
   8270 	table of Arial.ttf is about 10Kb and contains 70 names).
   8271 
   8272 	This is a temporary fix.  The whole name table loader and interface
   8273 	will be rewritten in a much more cleanly way shortly, once CSEH have
   8274 	been introduced in the sources.
   8275 
   8276 	* include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
   8277 	type of `stringOffset' to FT_ULong.
   8278 	(TT_NameTableRec): Change type of `numNameRecords' and
   8279 	`storageOffset' to FT_UInt.
   8280 	Replace `storage' with `stream'.
   8281 	* src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
   8282 	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
   8283 	Make code more robust.
   8284 	* src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
   8285 	(tt_face_get_name): Use it.
   8286 	Make code more robust.
   8287 	* src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
   8288 	Handle invalid `storageOffset' data better.
   8289 	Set length fields to zero for invalid or ignored data.
   8290 	Remove code within FT_DEBUG_LEVEL_TRACE.
   8291 	(TT_Free_Names): Updated.
   8292 
   8293 2002-05-24  Tim Mooney  <enchanter (a] users.sourceforge.net>
   8294 
   8295 	* builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
   8296 	FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
   8297 	rebuilt from sources.  Set macro serial to 1, and use third argument
   8298 	to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
   8299 	be rebuilt with autoheader (not recommended now, ftconfig.in is a
   8300 	custom source file)
   8301 
   8302 2002-05-22  Werner Lemberg  <wl (a] gnu.org>
   8303 
   8304 	* include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
   8305 	(FT_BDF_H): New macro for accessing `ftbdf.h'.
   8306 
   8307 	* src/type42/t42drivr.c (hexval): Fix typo.
   8308 
   8309 2002-05-21  Martin Muskens  <mmuskens (a] aurelon.com>
   8310 
   8311 	* src/psaux/psobjs.c (T1Radix): New function.
   8312 	(t1_toint): Use it to handle numbers in radix format.
   8313 
   8314 	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
   8315 	for undocumented, obsolete opcode 15.
   8316 
   8317 2002-05-21  David Turner  <david (a] freetype.org>
   8318 
   8319 	* src/bdf/bdflib.c: Removed compiler warning, and changed all tables
   8320 	to the `static const' storage specifier (instead of simply
   8321 	`static').
   8322 
   8323 	* src/type42/t42drivr.c (hexval): Use more efficient code.
   8324 	Removing compiler warnings.
   8325 	* src/bdf/bdfdrivr.c: Removing compiler warnings.
   8326 
   8327 	* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
   8328 	src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
   8329 	(FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
   8330 	from a face.  This is much cleaner than accessing the internal types
   8331 	`BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
   8332 
   8333 2002-05-21  Werner Lemberg  <wl (a] gnu.org>
   8334 
   8335 	* src/bdf/README: Mention Microsoft's SBIT tool.
   8336 
   8337 	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
   8338 	src/truetype/ttdriver.c, src/type1/t1driver.c,
   8339 	src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
   8340 	[FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed.  It has
   8341 	been never used.
   8342 
   8343 2002-05-21  Roberto Alameda  <ojancano (a] geekmail.de>.
   8344 
   8345 	* src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
   8346 	(parse_font_matrix): Remove unnecessary code.
   8347 	(parse_sfnts): Initialize some variables.
   8348 	(t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
   8349 	ft_module_driver_has_hinter conditionally.
   8350 	Moved some type 42 specific structure definitions to...
   8351 	* include/freetype/internal/t42types.h: New file.
   8352 	* include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
   8353 	New macro.
   8354 
   8355 2002-05-20  Werner Lemberg  <wl (a] gnu.org>
   8356 
   8357 	* include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
   8358 	`num_grays' for specifying the number of used gray levels.
   8359 	* src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
   8360 
   8361 2002-05-19  Werner Lemberg  <wl (a] gnu.org>
   8362 
   8363 	Adding a driver for BDF fonts written by Francesco Zappa Nardelli
   8364 	<Francesco.Zappa.Nardelli (a] ens.fr>.  Heavily modified by me to
   8365 	better adapt it to FreeType, removing unneeded stuff.  Additionally,
   8366 	it now supports Mark Leisher's BDF extension for anti-aliased
   8367 	bitmap glyphs with 2 and 4 bpp.
   8368 
   8369 	* src/bdf/*: New driver.
   8370 	* include/freetype/internal/bdftypes.h: New file.
   8371 	* include/freetype/internal/fttrace.h: Added BDF driver components.
   8372 	* include/freetype/fterrdef.h: Added error codes for BDF driver.
   8373 	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
   8374 	* include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
   8375 	New macro.
   8376 
   8377 	* include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
   8378 	sprintf.
   8379 
   8380 2002-05-18  Werner Lemberg  <wl (a] gnu.org>
   8381 
   8382 	* include/freetype/internal/fttrace.h: Added Type 42 driver
   8383 	component.
   8384 	* src/type42/t42drivr.c: Use it.
   8385 
   8386 	* include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
   8387 	New macro.
   8388 
   8389 2002-05-17  Werner Lemberg  <wl (a] gnu.org>
   8390 
   8391 	* src/type42/Jamfile: New file.
   8392 
   8393 2002-05-14  Werner Lemberg  <wl (a] gnu.org>
   8394 
   8395 	Adding a driver for Type42 fonts written by Roberto Alameda
   8396 	<ojancano (a] geekmail.de>.
   8397 
   8398 	* src/type42/*: New driver.
   8399 	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
   8400 	* include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
   8401 	ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
   8402 
   8403 2002-05-12  Owen Taylor  <otaylor (a] redhat.com>
   8404 
   8405 	* src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
   8406 	with a zero length value.
   8407 
   8408 2002-05-12  Michael Pfeiffer  <michael.pfeiffer (a] utanet.at>
   8409 
   8410 	* builds/beos/beos.mk: Include `link-std.mk'.
   8411 
   8412 2002-05-12  Werner Lemberg  <wl (a] gnu.org>
   8413 
   8414 	* src/type1/t1load.h (T1_Loader): Renamed to...
   8415 	(T1_LoaderRec): This.
   8416 	(T1_Loader): Now pointer to T1_LoaderRec.
   8417 	* src/type1/t1load.c: Updated.
   8418 
   8419 	* include/freetype/internal/t1types.h, src/type1/t1load.c,
   8420 	src/type1/t1objs.c:
   8421 	s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
   8422 
   8423 2002-05-06  Werner Lemberg  <wl (a] gnu.org>
   8424 
   8425 	* README: Add a note regarding libttf vs. libfreetype.
   8426 
   8427 2002-05-05  Werner Lemberg  <wl (a] gnu.org>
   8428 
   8429 	FreeType 2 can now be built in an external directory with the
   8430 	configure script also.
   8431 
   8432 	* builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
   8433 
   8434 	* builds/unix/detect.mk (have_mk): New variable to test for
   8435 	external build.
   8436 	(unix-def.mk): Defined according to value of `have_mk'.
   8437 	* builds/unix/unix.mk (have_mk): New variable to test for
   8438 	external build.
   8439 	Select include paths for unix-def.mk and unix-cc.mk according
   8440 	to value of `have_mk'.
   8441 	* builds/unix/unix-def.in (OBJ_BUILD): New variable.
   8442 	(DISTCLEAN): Use it.
   8443 	* builds/unix/unix-cc.in (LIBTOOL): Define default value only
   8444 	if not yet defined.
   8445 	* builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
   8446 	freetype-config.
   8447 
   8448 	* configure: Don't depend on bash features.
   8449 	(ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
   8450 	partially taken from Autoconf).
   8451 	Build a dummy Makefile if not building in source tree.
   8452 
   8453 	* docs/INSTALL: Document it.
   8454 
   8455 2002-05-04  David Turner  <david (a] freetype.org>
   8456 
   8457 	* src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
   8458 	bug that prevented FreeType 2.x and FreeType 1.x to produce
   8459 	bit-by-bit identical monochrome glyph bitmaps with native TrueType
   8460 	hinting.  The culprit was a single-bit flag that wasn't set
   8461 	correctly by the TrueType glyph loader.
   8462 
   8463 	* src/otlayout/otlayout.h, src/otlayout/otlbase.c,
   8464 	src/otlayout/otlbase.h, src/otlayout/otlconf.h,
   8465 	src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
   8466 	src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
   8467 	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
   8468 	src/otlayout/otljstf.c, src/otlayout/otljstf.h,
   8469 	src/otlayout/otltable.c, src/otlayout/otltable.h,
   8470 	src/otlayout/otltags.h: New OpenType Layout source files.  The
   8471 	module is still incomplete.
   8472 
   8473 2002-05-02  Werner Lemberg  <wl (a] gnu.org>
   8474 
   8475 	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
   8476 	(0xFFFU -> 0xFFFFU).
   8477 
   8478 2002-05-01  Werner Lemberg  <wl (a] gnu.org>
   8479 
   8480 	* docs/INSTALL: Fix URL of makepp.
   8481 
   8482 2002-05-01  David Turner  <david (a] freetype.org>
   8483 
   8484 	* src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
   8485 	FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
   8486 	were opened.
   8487 
   8488 	* src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
   8489 	manage fonts containing a broken name table (e.g. `hya6gb.ttf').
   8490 
   8491 	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
   8492 	validation test.  The charmap validator now accepts overlapping
   8493 	ranges in format 4 charmaps.
   8494 
   8495 	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
   8496 	search algorithm.  Certain fonts contain more than 170 distinct
   8497 	segments!
   8498 
   8499 	* include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
   8500 	function.  This will be used in the near future to panic in case of
   8501 	unexpected exception (which shouldn't happen in theory).
   8502 
   8503 	* include/freetype/internal/fthash.h, src/base/fthash.c: New files.
   8504 	This is generic implementation of dynamic hash tables using a linear
   8505 	algorithm (to get rid of `stalls' during resizes).  In the future
   8506 	this will be used in at least three parts of the library: the cache
   8507 	sub-system, the object sub-system, and the memory debugger.
   8508 
   8509 	* src/base/Jamfile: Updated.
   8510 
   8511 	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
   8512 	FT_INTERNAL_OBJECT_H): New macros.
   8513 
   8514 	* include/freetype/internal/ftcore.h: New file to group all new
   8515 	definitions related to exception handling and memory management.  It
   8516 	is very likely that this file will disappear or be renamed in the
   8517 	future.
   8518 
   8519 	* include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
   8520 	Adding comments to better explain the object sub-system as well as
   8521 	the new memory manager interface.
   8522 
   8523 2002-04-30  Wenlin Institute (Tom Bishop)  <wenlin (a] wenlin.com>
   8524 
   8525 	* src/base/ftmac.c (p2c_str): Removed.
   8526 	(file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
   8527 	OS X.
   8528 	(is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
   8529 	Handle `nameLen' <= 6 also.
   8530 	(parse_fond): Remove unused variable `name_table'.
   8531 	Use functionality of old p2c_str directly.
   8532 	Add safety checks.
   8533 	(read_lwfn): Initialize `size_p'.
   8534 	Check for size_p == NULL.
   8535 	(new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
   8536 	(FT_New_Face_From_LWFN): Remove unused variable `memory'.
   8537 	Remove some dead code.
   8538 	(FT_New_Face_From_SFNT): Remove unused variable `stream'.
   8539 	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
   8540 	OS X.
   8541 	(FT_New_Face_From_FOND): Remove unused variable `error'.
   8542 	(ResourceForkSize): New function.
   8543 	(FT_New_Face): Use it.
   8544 	Handle empty resource forks.
   8545 	Conditionalize some code for OS X.
   8546 	Add code to call normal loader as a fallback.
   8547 
   8548 2002-04-30  Werner Lemberg  <wl (a] gnu.org>
   8549 
   8550 	`interface' is reserved on the Mac.
   8551 
   8552 	* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
   8553 	src/base/ftoutln.c: s/interface/func_interface/.
   8554 	* src/base/ftbbox.c (FT_Outline_Get_BBox):
   8555 	s/interface/bbox_interface/.
   8556 	* src/cff/cffdrivr.c: s/interface/module_interface/.
   8557 	* src/cff/cffload.c, src/cff/cffload.h:
   8558 	s/interface/psnames_interface/.
   8559 	* src/cid/cidriver.c: s/interface/cid_interface/.
   8560 	* src/sfnt/sfdriver.c: s/interface/module_interface/.
   8561 	* src/smooth/ftgrays.c: s/interface/func_interface/.
   8562 	* src/truetype/ttdriver.c: s/interface/tt_interface/.
   8563 	* src/type1/t1driver.c: s/interface/t1_interface/.
   8564 
   8565 	Some more variable renames to avoid troubles on the Mac.
   8566 
   8567 	* src/raster/ftraster.c:
   8568 	s/Unknown|Ascending|Descending|Flat/\1_State/.
   8569 	* src/smooth/ftgrays.c: s/TScan/TCoord/.
   8570 
   8571 	Other changes for the Mac.
   8572 
   8573 	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
   8574 	Mac platforms.
   8575 	* src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
   8576 
   8577 	* src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
   8578 	an even number.
   8579 
   8580 2002-04-29  Jouk Jansen  <joukj (a] hrem.stm.tudelft.nl>
   8581 
   8582 	* descrip.mms (all): Add pfr driver.
   8583 
   8584 2002-04-28  Werner Lemberg  <wl (a] gnu.org>
   8585 
   8586 	* src/pfr/pfrerror.h: New file.
   8587 	* include/freetype/ftmoderr.h: Add PFR error codes.
   8588 	* src/pfr/pfrgload.c: Include pfrerror.h.
   8589 	Use PCF error codes.
   8590 	(pfr_extra_item_load_stem_snaps): Fix debug message.
   8591 	* src/pfr/pfrgload.c: Include pfrerror.h.
   8592 	Use PCF error codes.
   8593 	(pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
   8594 	pfr_glyph_load_compound): Fix debug message.
   8595 	* src/pfr/pfrobjs.c: Include pfrerror.h.
   8596 	Use PCF error codes.
   8597 	(pfr_face_init): Return PFR_Err_Unknown_File_Format.
   8598 	* src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
   8599 
   8600 	* src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
   8601 	`root' -> `face->root'.
   8602 	* src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
   8603 	Removed.
   8604 	* src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
   8605 	FT_CONFIG_OPTION_USE_CMAPS.
   8606 
   8607 2002-04-27  Werner Lemberg  <wl (a] gnu.org>
   8608 
   8609 	* src/cache/ftccache.c (ftc_cache_lookup),
   8610 	src/cache/ftccmap.c (ftc_cmap_family_init),
   8611 	src/cache/ftcmanag.c (ftc_family_table_alloc),
   8612 	src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
   8613 	src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
   8614 	(FTC_ImageCache_Lookup): Fix handling of invalid arguments.
   8615 
   8616 2002-04-22  Werner Lemberg  <wl (a] gnu.org>
   8617 
   8618 	* builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
   8619 	version 2.0.9 has 9:0:3).
   8620 	* builds/unix/configure: Regenerated (using autoconf 2.53).
   8621 
   8622 2002-04-19  Werner Lemberg  <wl (a] gnu.org>
   8623 
   8624 	* src/pfr/pfrload.c (pfr_extra_items_parse): Fix debug message.
   8625 	(pfr_phy_font_load): s/size/Size/ for local variable to avoid
   8626 	compiler warning.
   8627 	* src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
   8628 	(pfr_slot_load): Remove redundant local variable.
   8629 
   8630 2002-04-19  David Turner  <david (a] freetype.org>
   8631 
   8632 	Adding a PFR font driver to the FreeType sources.  Note that it
   8633 	doesn't support embedded bitmaps or kerning tables yet.
   8634 
   8635 	src/pfr/*: New files.
   8636 
   8637 	* include/freetype/config/ftmodule.h,
   8638 	include/freetype/internal/fttrace.h, src/Jamfile: Updated.
   8639 
   8640 	* src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
   8641 	(T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
   8642 	function.
   8643 
   8644 	* include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
   8645 	macros.
   8646 
   8647 	* include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
   8648 	FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
   8649 	24-bit integers.
   8650 
   8651 2002-04-18  David Turner  <david (a] freetype.org>
   8652 
   8653 	* src/base/ftobjs.c, builds/win32/ftdebug.c,
   8654 	builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
   8655 	against applications in Win32 and Amiga builds due to changes to
   8656 	`src/base/ftdebug.c' that were not properly propagated to
   8657 	`builds/win32' and `builds/amiga'.  This has been fixed.
   8658 
   8659 	* include/freetype/internal/ftobject.h,
   8660 	include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
   8661 	include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
   8662 	New experimental files.
   8663 
   8664 2002-04-17  David Turner  <david (a] freetype.org>
   8665 
   8666 
   8667 	* Version 2.1.0 released.
   8668 	=========================
   8669 
   8670 
   8671 2002-04-17  Michael Jansson  <mjan (a] em2-solutions.com>
   8672 
   8673 	* src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
   8674 	that prevented the function to return the correct value.
   8675 
   8676 2002-04-16  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli (a] ens.fr>
   8677 
   8678 	* src/pcf/pcfread.c (pcf_get_accel): Fix parsing of accelerator
   8679 	tables.
   8680 
   8681 2002-04-15  David Turner  <david (a] freetype.org>
   8682 
   8683 	* docs/FTL.txt: Formatting.
   8684 
   8685 	* include/freetype/config/ftoption.h: Reduce the size of the
   8686 	render pool from 32kByte to 16kByte.
   8687 
   8688 	* src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
   8689 	warning.
   8690 
   8691 	* include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
   8692 
   8693 	* docs/CHANGES: Preparing 2.1.0 release.
   8694 
   8695 2002-04-13  Werner LEMBERG  <wl (a] gnu.org>
   8696 
   8697 	* src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
   8698 	compiler warning.
   8699 
   8700 2002-04-12  David Turner  <david (a] freetype.org>
   8701 
   8702 	* README.UNX: Updated the Unix-specific quick-compilation guide to
   8703 	warn about the GNU Make requirement at compile time.
   8704 
   8705 	* include/freetype/config/ftstdlib.h,
   8706 	include/freetype/config/ftconfig.h,
   8707 	include/freetype/config/ftheader.h,
   8708 	include/freetype/internal/ftmemory.h,
   8709 	include/freetype/internal/ftobjs.h,
   8710 
   8711 	src/autohint/ahoptim.c,
   8712 
   8713 	src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
   8714 	src/base/ftobjs.c, src/base/ftsystem.c,
   8715 
   8716 	src/cache/ftcimage.c, src/cache/ftcsbits.c,
   8717 
   8718 	src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c,
   8719 
   8720 	src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
   8721 
   8722 	src/pcf/pcfdriver.c, src/pcf/pcfread.c,
   8723 
   8724 	src/psaux/t1cmap.c, src/psaux/t1decode.c,
   8725 
   8726 	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
   8727 	src/pshinter/pshrec.c,
   8728 
   8729 	src/psnames/psmodule.c,
   8730 
   8731 	src/raster/ftraster.c,
   8732 
   8733 	src/sfnt/sfdriver.c, src/sfnt/ttload.c,
   8734 
   8735 	src/smooth/ftgrays.c,
   8736 
   8737 	src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
   8738 	src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
   8739 
   8740 	builds/unix/ftconfig.in, builds/vms/ftconfig.h,
   8741 
   8742 	builds/amiga/src/base/ftdebug.c:
   8743 
   8744 	Added the new configuration file `ftstdlib.h' used to define
   8745 	aliases for all ISO C library functions used by the engine
   8746 	(e.g. strlen, qsort, setjmp, etc.).
   8747 
   8748 	This eases the porting of FreeType 2 to environments like
   8749 	XFree86 modules/extensions.
   8750 
   8751 	Also removed many #include <string.h>, #include <stdlib.h>, etc.
   8752 	from the engine's sources where they are not needed.
   8753 
   8754 	* src/sfnt/ttpost.c: Use macro name for psnames.h.
   8755 
   8756 2002-04-12  Vincent Caron  <v.caron (a] zerodeux.net>
   8757 
   8758 	* configure, builds/detect.mk: Updated the build system to print
   8759 	a warning message in case GNU Make isn't used to build the library.
   8760 
   8761 2002-04-11  David Turner  <david (a] freetype.org>
   8762 
   8763 	* README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
   8764 
   8765 	* docs/FTL.txt: Updated license text to provide a preferred
   8766 	disclaimer and adjust copyright dates/extents.
   8767 
   8768 	* include/freetype/cache/ftcglyph.h: Removing obsolete (and
   8769 	confusing) comment.
   8770 
   8771 	* Jamfile.in: New file.
   8772 
   8773 2002-04-11  Maxim Shemanarev  <mcseemagg (a] yahoo.com>
   8774 
   8775 	* src/smooth/ftgrays.c (gray_hline): Minor optimization.
   8776 
   8777 2002-04-02  Werner Lemberg  <wl (a] gnu.org>
   8778 
   8779 	Fixes from the stable branch:
   8780 
   8781 	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
   8782 	Removed.
   8783 	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
   8784 	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
   8785 	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
   8786 
   8787 	* src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
   8788 	output of FreeType 1.
   8789 
   8790 	* src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
   8791 	bug that created un-even stem widths when hinting Postscript fonts.
   8792 
   8793 	* src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
   8794 
   8795 2002-04-01  Werner Lemberg  <wl (a] gnu.org>
   8796 
   8797 	* src/truetype/ttgload.c: 16bit fixes.
   8798 	(TT_Load_Simple_Glyph): Improve debug messages.
   8799 	(load_truetype_glyph): Remove dead code.
   8800 	* src/truetype/ttinterp.c: 16bit fixes.
   8801 	* src/truetype/ttobjs.c: Ditto.
   8802 
   8803 	* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
   8804 	src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
   8805 	src/sfnt/ttpost.h: s/index/idx/.
   8806 
   8807 2002-03-31  Yao Zhang  <yaoz (a] vidar.niaaa.nih.gov>
   8808 
   8809 	* src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
   8810 
   8811 2002-03-31  Werner Lemberg  <wl (a] gnu.org>
   8812 
   8813 	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
   8814 	* src/psaux/t1cmap.c: Ditto.
   8815 	* src/sfnt/ttcmap0.c: Ditto.
   8816 
   8817 	* include/freetype/internal/tttypes.h,
   8818 	include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
   8819 	(TT_Loader_GotoTableFunc): This.
   8820 	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
   8821 	messages.
   8822 	* src/psnames/psmodule.c (psnames_interface)
   8823 	[!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
   8824 	* src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
   8825 	* src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
   8826 	* src/sfnt/ttcmap0.c: 16bit fixes.
   8827 	(TT_Build_CMaps): Simplify debug messages.
   8828 	(tt_cmap12_char_next): Fix offset.
   8829 	* src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
   8830 	messages.
   8831 	(TT_Load_OS2): 16bit fix.
   8832 
   8833 2002-03-30  David Turner  <david (a] freetype.org>
   8834 
   8835 	* include/freetype/internal/tttypes.h: Adding comments to some of
   8836 	the TT_FaceRec fields.
   8837 
   8838 	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
   8839 
   8840 	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
   8841 	New functions.
   8842 	(tt_face_get_name): Use them to properly extract an ascii font name.
   8843 
   8844 2002-03-30  Werner Lemberg  <wl (a] gnu.org>
   8845 
   8846 	* include/freetype/t1tables.h (t1_blend_max): Fix typo.
   8847 	* src/base/ftstream.c: Simplify FT_ERROR calls.
   8848 	* src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
   8849 
   8850 	* src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
   8851 	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
   8852 	* src/cff/sfobjs.c (SFNT_Load_Face)
   8853 	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
   8854 	* src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
   8855 	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
   8856 
   8857 	* src/truetype/ttdriver.c, src/truetype/ttobjs.c,
   8858 	src/truetype/ttobjs.h: Renaming driver functions to the
   8859 	FT_<Subject>_<Action> scheme:
   8860 
   8861 	  TT_Init_Driver => TT_Driver_Init
   8862 	  TT_Done_Driver => TT_Driver_Done
   8863 	  TT_Init_Face   => TT_Face_Init
   8864 	  TT_Done_Face   => TT_Face_Done
   8865 	  TT_Init_Size   => TT_Size_Init
   8866 	  TT_Done_Size   => TT_Size_Done
   8867 	  TT_Reset_Size  => TT_Size_Reset
   8868 
   8869 2002-03-29  Werner Lemberg  <wl (a] gnu.org>
   8870 
   8871 	* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
   8872 	FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
   8873 	files.
   8874 	* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
   8875 	FT_LOCAL_DEF.
   8876 	* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
   8877 	* builds/unix/configure.ac: Temporarily deactivate creation of
   8878 	../../Jamfile.
   8879 	* builds/unix/configure: Updated.
   8880 
   8881 2002-03-28  KUSANO Takayuki  <AE5T-KSN (a] asahi-net.or.jp>
   8882 
   8883 	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
   8884 
   8885 2002-03-28  Werner Lemberg  <wl (a] gnu.org>
   8886 
   8887 	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
   8888 	compiler warnings.
   8889 	* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
   8890 	some members.
   8891 	* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
   8892 	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
   8893 	cast.
   8894 	(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
   8895 	`FT_CALLBACK_TABLE_DEF'.
   8896 	* src/psaux/t1cmap.h: Updated.
   8897 	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
   8898 	instead of zero.
   8899 	* src/type1/t1objs.c (T1_Face_Init): Use casts.
   8900 
   8901 2002-03-26  David Turner  <david (a] freetype.org>
   8902 
   8903 	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
   8904 	Fixed a small bug in the FT_CMaps support code.
   8905 
   8906 2002-03-25  David Turner  <david (a] freetype.org>
   8907 
   8908 	* src/truetype/ttinterp.c (Norm): Replaced with...
   8909 	(TT_VecLen): This.
   8910 	(TT_MulFix14, TT_DotFix14): New functions.
   8911 	(Project, Dual_Project, Free_Project, Compute_Point_Displacement,
   8912 	Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
   8913 	[FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
   8914 
   8915 2002-03-22  David Turner  <david (a] freetype.org>
   8916 
   8917 	* src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
   8918 	Various fixes to make the FT_CMaps support work correctly (more
   8919 	tests are still needed).
   8920 
   8921 	* include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
   8922 	src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
   8923 	src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
   8924 	the SFNT charmap support to use FT_CMaps.
   8925 
   8926 	* include/freetype/fterrdef.h: New file.
   8927 	* include/freetype/fterrors.h: Include it.  It contains all error
   8928 	codes.
   8929 	* include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
   8930 	macro.
   8931 
   8932 	* include/freetype/internal/ftmemory.h, and a lot of other files:
   8933 	Changed the names of memory macros.  Examples:
   8934 
   8935 	  MEM_Set   => FT_MEM_SET
   8936 	  MEM_Copy  => FT_MEM_COPY
   8937 	  MEM_Move  => FT_MEM_MOVE
   8938 
   8939 	  ALLOC     => FT_ALLOC
   8940 	  FREE      => FT_FREE
   8941 	  REALLOC   = >FT_REALLOC
   8942 
   8943 	FT_NEW was introduced to allocate a new object from a _typed_
   8944 	pointer.
   8945 
   8946 	Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
   8947 	FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
   8948 	arguments.
   8949 
   8950 	This results in _lots_ of sources being changed, but makes the code
   8951 	more generic and less error-prone.
   8952 
   8953 	* include/freetype/internal/ftstream.h, src/base/ftstream.c,
   8954 	src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
   8955 	src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
   8956 	src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
   8957 	src/winfonts/winfnt.c: Changed the definitions of stream macros.
   8958 	Examples:
   8959 
   8960 	  NEXT_Byte     => FT_NEXT_BYTE
   8961 	  NEXT_Short    => FT_NEXT_SHORT
   8962 	  NEXT_UShortLE => FT_NEXT_USHORT_LE
   8963 	  READ_Short    => FT_READ_SHORT
   8964 	  GET_Long      => FT_GET_LONG
   8965 	  etc.
   8966 
   8967 	Also introduced the FT_PEEK_XXXX functions.
   8968 
   8969 	* src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
   8970 	out function.
   8971 	(find_encoding): Removed.
   8972 	(CFF_Face_Init): Remove charmap support.
   8973 
   8974 	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
   8975 	TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
   8976 	support of cmaps.
   8977 
   8978 2002-03-21  David Turner  <david (a] freetype.org>
   8979 
   8980 	* src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
   8981 	to new FT_CMap definitions.
   8982 
   8983 	* src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
   8984 	src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
   8985 	from `src/type1' to `src/psaux' since it is going to be shared by
   8986 	the Type 1 and CID font drivers.
   8987 
   8988 	* src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
   8989 	src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
   8990 	for Type 1 FT_CMaps.
   8991 
   8992 2002-03-20  David Turner  <david (a] freetype.org>
   8993 
   8994 	* src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
   8995 	memory allocation bug that was due to un-careful renaming of the
   8996 	FT_SubGlyph type.
   8997 
   8998 	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
   8999 	caused the library to crash with Electric Fence when memory
   9000 	debugging is used.
   9001 
   9002 	* Renaming stream macros.  Examples:
   9003 
   9004 	  FILE_Skip    => FT_STREAM_SKIP
   9005 	  FILE_Read    => FT_STREAM_READ
   9006 	  ACCESS_Frame => FT_FRAME_ENTER
   9007 	  FORGET_Frame => FT_FRAME_EXIT
   9008 	  etc.
   9009 
   9010 	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
   9011 
   9012 	* include/freetype/internal/ftobjs.h: Changing the definition of
   9013 	FT_CMap_CharNextFunc slightly.
   9014 
   9015 	* src/cff/*.c: Updating CFF type definitions.
   9016 
   9017 2002-03-14  David Turner  <david (a] freetype.org>
   9018 
   9019 	* include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
   9020 	src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
   9021 	for the auto-hinter module.
   9022 
   9023 	  FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec
   9024 	  FT_AutoHinter_Interface* => FT_AutoHinter_Service
   9025 	  etc.
   9026 
   9027 	  FT_AutoHinter_Get_Global_Func  => FT_AutoHinter_GlobalGetFunc
   9028 	  FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
   9029 	  etc.
   9030 
   9031 	* ahloader.h [_STANDALONE_]: Removed all conditional code.
   9032 
   9033 	* include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
   9034 	type definitions of the CFF font driver.
   9035 
   9036 	  CFF_Font  => CFF_FontRec
   9037 	  CFF_Font* => CFF_Font
   9038 	  etc.
   9039 
   9040 	* include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
   9041 	type definitions of the Windows FNT font driver.
   9042 
   9043 	* include/freetype/internal/ftdriver.h,
   9044 	include/freetype/internal/ftobjs.h, src/base/ftapi.c,
   9045 	src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
   9046 	src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
   9047 	src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
   9048 	src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
   9049 	src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
   9050 	definitions for font drivers.
   9051 
   9052 	  FTDriver_initFace      => FT_Face_InitFunc
   9053 	  FTDriver_initGlyphSlot => FT_Slot_InitFunc
   9054 	  etc.
   9055 
   9056 	* src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
   9057 
   9058 	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
   9059 	few face method definitions:
   9060 
   9061 	  FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
   9062 	  FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
   9063 	  FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
   9064 
   9065 	* src/base/ftapi.c: New file.  It contains backward compatibility
   9066 	functions.
   9067 
   9068 	* include/freetype/internal/psaux.h, src/cid/cidload.c,
   9069 	src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
   9070 	src/psaux/t1decode.c, src/type1/t1load.c, src/type1/t1tokens.h:
   9071 	Updated common PostScript type definitions.
   9072 	Renamed all enumeration values like to uppercase variants:
   9073 
   9074 	  t1_token_any      => T1_TOKEN_TYPE_ANY
   9075 	  t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
   9076 	  etc.
   9077 
   9078 	* include/freetype/internal/psglobal.h: Removed.
   9079 	* include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
   9080 	Updated.
   9081 
   9082 	* include/freetype/internal/tttypes.h,
   9083 	include/freetype/internal/sfnt.h, src/base/ftnames.c,
   9084 	src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
   9085 	SFNT/TrueType type definitions.
   9086 
   9087 	* include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
   9088 	Updating type definitions for the glyph loader.
   9089 
   9090 2002-03-13  Antoine Leca  <antoine (a] oriolnet.com>
   9091 
   9092 	* include/freetype/config/ftoption.h: Changed the automatic
   9093 	detection of Microsoft C compilers to automatically support 64-bit
   9094 	integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
   9095 
   9096 2002-03-08  Werner Lemberg  <wl (a] gnu.org>
   9097 
   9098 	* src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
   9099 
   9100 2002-03-07  Werner Lemberg  <wl (a] gnu.org>
   9101 
   9102 	* src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
   9103 	ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
   9104 	ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
   9105 	FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
   9106 	* src/base/ftcalc.c (FT_MulFix): Ditto.
   9107 	* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
   9108 	* src/cff/cffobjs.c (CFF_Size_Get_Globals_Funcs, CFF_Size_Init,
   9109 	CFF_GlyphSlot_Init): Ditto.
   9110 	* src/cid/cidobjs.c (CID_GlyphSlot_Init,
   9111 	CID_Size_Get_Globals_Funcs): Ditto.
   9112 	* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
   9113 	Ditto.
   9114 	* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
   9115 	* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
   9116 	variables.
   9117 
   9118 	* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
   9119 	to...
   9120 	(T1_Builder_FuncsRec): This.
   9121 	(T1_Builder_Funcs): New typedef.
   9122 	(PSAux_Interface): Remove compiler warnings.
   9123 	* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
   9124 	(t1_builder_funcs): Updated.
   9125 
   9126 	* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
   9127 	(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
   9128 	(PSH_AlignmentRec): Updated.
   9129 
   9130 	* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
   9131 	typo.
   9132 	* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
   9133 	* src/base/ftstream (FT_Get_Char): Rename to...
   9134 	(FT_Stream_Get_Char): This.
   9135 
   9136 	* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
   9137 	a built-in function in gcc, causing warning messages with gcc 3.0.
   9138 	* src/autohint/ahglyph.c (ah_outline_load): Ditto.
   9139 	* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
   9140 	* src/cache/ftcmanag.c (ftc_family_table_alloc,
   9141 	ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
   9142 	Ditto.
   9143 	* src/cff/cffload.c (cff_new_index, cff_done_index,
   9144 	cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
   9145 	CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
   9146 	CFF_Done_Font): Ditto.
   9147 	* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
   9148 	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
   9149 	* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
   9150 	ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
   9151 	* src/pshinter/pshalgo1.c (psh1_hint_table_record,
   9152 	psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
   9153 	* src/pshinter/pshalgo2.c (psh2_hint_table_record,
   9154 	psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
   9155 	* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
   9156 	TT_Get_PS_Name): Ditto.
   9157 	* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
   9158 	load_truetype_glyph): Ditto.
   9159 	* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
   9160 	* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
   9161 	* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
   9162 
   9163 2002-03-06  David Turner  <david (a] freetype.org>
   9164 
   9165 	* src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
   9166 	(CID_Face_Init): Fixed another bug related to the
   9167 	ascender/descender/text height of Postscript fonts.
   9168 
   9169 	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
   9170 	(psh2_print_zone): This.
   9171 	* src/pshinter/pshalgo1.c (print_zone): Renamed to ...
   9172 	(psh1_print_zone): This.
   9173 
   9174 	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
   9175 	src/base/ftobjs.c: Adding the new FT_Library_Version API to return
   9176 	the library's current version in dynamic links.
   9177 	* src/base/ftinit.c (FT_Init_FreeType): Updated.
   9178 
   9179 2002-03-06  Werner Lemberg  <wl (a] gnu.org>
   9180 
   9181 	* src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
   9182 	* src/pshinter/pshglob.c (psh_global_scale_widths,
   9183 	psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
   9184 	Ditto.
   9185 
   9186 2002-03-05  David Turner  <david (a] freetype.org>
   9187 
   9188 	* src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
   9189 	(CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
   9190 	that returned global BBox values in 16.16 fixed format (instead of
   9191 	integer font units).
   9192 
   9193 	* src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
   9194 	caused the CID driver to return Postscript font names with a leading
   9195 	slash (`/') as in `/MOEKai-Regular'.
   9196 
   9197 	* src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
   9198 	src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
   9199 	that it accepts broken fonts like `foxjump.ttf', which made FreeType
   9200 	crash when trying to load them.
   9201 
   9202 	Also improved the name table parser to be able to load
   9203 	Windows-encoded entries before Macintosh or Unicode ones, since it
   9204 	seems some fonts don't have reliable values here anyway.
   9205 
   9206 	* include/freetype/internal/psnames.h: Add typedef for
   9207 	`PSNames_Service'.
   9208 
   9209 2002-03-05  Werner Lemberg  <wl (a] gnu.org>
   9210 
   9211 	* builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
   9212 	1.4.2.
   9213 	Apply a small patch for AIX to make shared libraries work (this
   9214 	patch is already in the CVS version of libtool).
   9215 
   9216 	* builds/unix/config.sub, builds/unix/config.guess: Updated to
   9217 	recent versions.
   9218 
   9219 	* builds/unix/configure.ac: Fix typo
   9220 	(AC_CONFIG_FILE->AC_CONFIG_FILES).
   9221 
   9222 	* builds/unix/configure: Regenerated.
   9223 
   9224 2002-02-28  David Turner  <david (a] freetype.org>
   9225 
   9226 	* include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
   9227 	`FT_LOCAL( xxxx )' everywhere in the source.  The same goes for
   9228 	`FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
   9229 
   9230 	* include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
   9231 	Changing version to 2.1.0 to indicate an unstable branch.
   9232 	Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
   9233 
   9234 	* src/base/ftobjs.c: Implement FT_Get_First_Char and
   9235 	FT_Get_Next_Char.
   9236 
   9237 	* include/freetype/t1tables.h: Renaming structure types.  This
   9238 
   9239 	  typedef  T1_Struct_
   9240 	  {
   9241 	  } T1_Struct;
   9242 
   9243 	becomes
   9244 
   9245 	  typedef  PS_StructRec_
   9246 	  {
   9247 	  } PS_StructRec, *PS_Struct;
   9248 
   9249 	  typedef PS_StructRec  T1_Struct;  /* backward compatibility */
   9250 
   9251 	Hence, we increase the coherency of the source code by effectively
   9252 	using the `Rec' prefix for structure types.
   9253 
   9254 2002-02-27  David Turner  <david (a] freetype.org>
   9255 
   9256 	* src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
   9257 	names table loader.  Invalid individual name entries are now handled
   9258 	correctly.  This allows the loading of very buggy fonts like
   9259 	`foxjump.ttf' without allocating tons of memory and causing crashes.
   9260 
   9261 	* src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
   9262 	experimental) code for OpenType Layout tables validation and
   9263 	parsing.
   9264 
   9265 	* src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
   9266 	experimental) code for Type 1 charmap processing.
   9267 
   9268 	* src/sfnt/ttcmap0.c: New file.  It contains a new, still
   9269 	experimental SFNT charmap processing support.
   9270 
   9271 	* include/freetype/internal/ftobjs.h: Adding validation support as
   9272 	well as internal charmap object definitions (FT_CMap != FT_CharMap).
   9273 
   9274 2002-02-24  David Turner  <david (a] freetype.org>
   9275 
   9276 	* Renaming stream functions to the FT_<Subject>_<Action> scheme:
   9277 
   9278 	  FT_Seek_Stream    => FT_Stream_Seek
   9279 	  FT_Skip_Stream    => FT_Stream_Skip
   9280 	  FT_Read_Stream    => FT_Stream_Read
   9281 	  FT_Read_Stream_At => FT_Stream_Read_At
   9282 	  FT_Access_Frame   => FT_Stream_Enter_Frame
   9283 	  FT_Forget_Frame   => FT_Stream_Exit_Frame
   9284 	  FT_Extract_Frame  => FT_Stream_Extract_Frame
   9285 	  FT_Release_Frame  => FT_Stream_Release_Frame
   9286 	  FT_Get_XXXX       => FT_Stream_Get_XXXX
   9287 	  FT_Read_XXXX      => FT_Stream_Read_XXXX
   9288 
   9289 	  FT_New_Stream( filename, stream ) =>
   9290 	    FT_Stream_Open( stream, filename )
   9291 
   9292 	    (The function doesn't create the FT_Stream structure, it simply
   9293 	    initializes it for reading.)
   9294 
   9295 	  FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
   9296 	    FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
   9297 
   9298 	  FT_Done_Stream  => FT_Stream_Close
   9299 	  FT_Stream_IO    => FT_Stream_IOFunc
   9300 	  FT_Stream_Close => FT_Stream_CloseFunc
   9301 
   9302 	  ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
   9303 	  ft_io_stream    => ft_ansi_stream_io    (in base/ftsystem.c only)
   9304 
   9305 	* src/base/ftutil.c: New file.  Contains all memory and list
   9306 	management code (previously in `ftobjs.c' and `ftlist.c',
   9307 	respectively).
   9308 
   9309 	* include/freetype/internal/ftobjs.h: Moving all code related to
   9310 	glyph loaders to ...
   9311 	* include/freetype/internal/ftgloadr.h: This new file.
   9312 	`FT_GlyphLoader' is now a pointer to the structure
   9313 	`FT_GlyphLoaderRec'.
   9314 	(ft_glyph_own_bitmap): Renamed to ...
   9315 	(FT_GLYPH_OWN_BITMAP): This.
   9316 	* src/base/ftobjs.c: Moving all code related to glyph loaders
   9317 	to ...
   9318 	* src/base/ftgloadr.c: This new file.
   9319 
   9320 2002-02-22  Werner Lemberg  <wl (a] gnu.org>
   9321 
   9322 	* include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
   9323 	enum to avoid compiler warnings.
   9324 
   9325 2002-02-21  David Turner  <david (a] freetype.org>
   9326 
   9327 	Modified the debug sub-system initialization.  Trace levels can now
   9328 	be specified within the `FT2_DEBUG' environment variable.  See the
   9329 	comments within `ftdebug.c' for more details.
   9330 
   9331 	* src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
   9332 	(ft_debug_init): New function.
   9333 	(ft_debug_dummy): Removed.
   9334 	Updated to changes in ftdebug.h
   9335 
   9336 	* include/freetype/internal/ftdebug.h: Always define
   9337 	FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
   9338 	(FT_Assert): Renamed to ...
   9339 	(FT_ASSERT): This.
   9340 	Some stuff from ftdebug.h has been moved to ...
   9341 
   9342 	* include/freetype/internal/fttrace.h: New file, to define the trace
   9343 	levels used for debugging.  It is used both to define enums and
   9344 	toggle names for FT2_DEBUG.
   9345 
   9346 	* include/freetype/internal/internal.h: Updated.
   9347 
   9348 	* src/base/ftobjs.c, src/base/ftstream.c: Updated.
   9349 
   9350 	* include/freetype/internal/ftextend.h, src/base/ftextend.c:
   9351 	Removed.  Both files are now completely obsolete.
   9352 	* src/base/Jamfile, src/base/rules.mk: Updated.
   9353 
   9354 	* include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
   9355 	`#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
   9356 	LCC).
   9357 
   9358 	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
   9359 	(psh2_print_zone): This to avoid errors during compilation of debug
   9360 	library.
   9361 
   9362 	* src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
   9363 	`trace_smooth'.
   9364 
   9365 2002-02-20  David Turner  <david (a] freetype.org>
   9366 
   9367 	* README: Adding `devel (a] freetype.org' address for bug reports.
   9368 
   9369 2002-02-20  Werner Lemberg  <wl (a] gnu.org>
   9370 
   9371 	* builds/unix/install.mk (check): New dummy target.
   9372 	(.PHONY): Add it.
   9373 
   9374 2002-02-19  Werner Lemberg  <wl (a] gnu.org>
   9375 
   9376 	* builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
   9377 
   9378 	* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
   9379 	to avoid compiler warning.
   9380 	* src/cff/cffload.c (CFF_Get_String): Ditto.
   9381 	* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
   9382 	* src/psaux/psobjs.c (PS_Table_Done): Ditto.
   9383 	* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
   9384 	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
   9385 	(pcf_get_bitmaps): The same for `sizebitmaps'.
   9386 	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): The same for
   9387 	`orig_y'.
   9388 	(t1operator_seac): Comment out more dead code.
   9389 	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
   9390 	conditional.
   9391 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
   9392 	load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
   9393 	conditional.
   9394 
   9395 2002-02-18  Werner Lemberg  <wl (a] gnu.org>
   9396 
   9397 	* src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
   9398 	variables.
   9399 	* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
   9400 	of UNUSED.
   9401 	* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
   9402 	* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
   9403 	swapping code.
   9404 	* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
   9405 	* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
   9406 	* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
   9407 	* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
   9408 	* include/freetype/internal/ftobjs.h (UNUSED): Removed.
   9409 
   9410 2002-02-10  Roberto Alameda  <ojancano (a] geekmail.de>
   9411 
   9412 	Add support for ISOLatin1 PS encoding.
   9413 
   9414 	* include/freetype/freetype.h (ft_encoding_latin_1): New tag
   9415 	(`lat1').
   9416 	* include/freetype/internal/t1types.h (T1_Encoding_Type): Add
   9417 	`t1_encoding_isolatin1'.
   9418 	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
   9419 	ft_encoding_latin_1.
   9420 	* src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
   9421 	* src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
   9422 
   9423 ----------------------------------------------------------------------------
   9424 
   9425 Copyright 2002-2018 by
   9426 David Turner, Robert Wilhelm, and Werner Lemberg.
   9427 
   9428 This file is part of the FreeType project, and may only be used, modified,
   9429 and distributed under the terms of the FreeType project license,
   9430 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
   9431 indicate that you have read the license and understand and accept it
   9432 fully.
   9433 
   9434 
   9435 Local Variables:
   9436 version-control: never
   9437 coding: utf-8
   9438 End:
   9439