"Fossies" - the Fresh Open Source Software Archive

Member "firefox-69.0.1/modules/freetype2/ChangeLog.21" (17 Sep 2019, 329145 Bytes) of package /linux/www/firefox-69.0.1.source.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "ChangeLog.21": 68.0.2_vs_69.0.

    1 2005-06-08  Werner Lemberg  <wl@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 Würkner  <TetiSoft@apg.lahn.de>
   12 
   13 	* builds/amiga/*: Added copyright notes, reworked some comments.
   14 
   15 2005-06-05  Werner Lemberg  <wl@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@gnu.org>.
   28 
   29 2005-06-04  Werner Lemberg  <wl@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@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@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@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@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@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@gnu.org>
   87 
   88 	* docs/GPL.txt: Update postal address of FSF.
   89 
   90 2005-05-26  Chia I Wu  <b90201047@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@gnu.org>
  100 
  101 	* docs/CHANGES: Updated.
  102 
  103 2005-05-24  Chia I Wu  <b90201047@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@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@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@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@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@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@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@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@gnu.org>
  205 
  206 	* docs/CHANGES: Updated.
  207 
  208 2005-05-20  Chia I Wu  <b90201047@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@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@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@gnu.org>
  271 
  272 	* docs/announce: Start updating.
  273 
  274 	* docs/CHANGES: Updated.
  275 
  276 2005-05-16  Vitaliy Pasternak  <v_a_pasternak@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@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@habitualhiatus.com>.
  286 
  287 2005-05-16  Kirill Smelkov  <kirr@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@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@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@kde.org.tr>.
  318 
  319 2005-05-08  Werner Lemberg  <wl@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@gnu.org>
  325 
  326 	Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
  327 	Blaskey <listtarget@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@gnu.org>
  342 
  343 	* src/truetype/ttpload.c (tt_face_get_location): Fix typo.
  344 
  345 2005-05-06  Werner Lemberg  <wl@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@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@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@gnu.org>
  379 
  380 	* docs/TODO: Updated.
  381 
  382 2005-04-24  Werner Lemberg  <wl@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@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@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@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@gnu.org>
  421 
  422 	* docs/TODO: Updated.
  423 
  424 	* autogen.sh: Use `--force' for all commands.
  425 
  426 2005-04-09  Werner Lemberg  <wl@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@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@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@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@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 Würkner  <TetiSoft@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@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 Würkner  <TetiSoft@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 Würkner  <TetiSoft@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@gnu.org>
  508 
  509 	* tests/*: Removed.
  510 
  511 2005-03-23  Werner Lemberg  <wl@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@freetype.org>
  529 
  530 	* src/autohint/*: Removed.
  531 	* Jamfile: Updated.
  532 
  533 2005-03-15  David Turner  <david@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@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@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@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@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@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@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@gnu.org>
  642 
  643 	* src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
  644 
  645 2005-03-03  Werner Lemberg  <wl@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@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@gnu.org>
  721 
  722 	* devel/ftoption.h: Updated to recent changes.
  723 
  724 2005-03-02  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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@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@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@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@silcom.com>.
 1042 
 1043 	* docs/CHANGES: Updated.
 1044 
 1045 2005-02-09  Werner Lemberg  <wl@gnu.org>
 1046 
 1047 	* src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
 1048 	of error.  Reported by YAMANO-UCHI Hidetoshi <mer@din.or.jp>.
 1049 
 1050 2005-02-08  Werner Lemberg  <wl@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@printsoft.de> (Savannah bug #11856).
 1056 
 1057 2005-02-04  Werner Lemberg  <wl@gnu.org>
 1058 
 1059 	* src/otlayout/*: Removed.  Obsolete.
 1060 
 1061 2004-12-28  Werner Lemberg  <wl@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@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@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@gnu.org>
 1091 
 1092 	* Jamfile (FT2_COMPONENTS): Add `otvalid'.
 1093 
 1094 2004-12-25  Werner Lemberg  <wl@gnu.org>
 1095 
 1096 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
 1097 
 1098 2004-12-15  Werner Lemberg  <wl@gnu.org>
 1099 
 1100 	* vms_make.com: Add ftbitmap.obj.
 1101 
 1102 2004-12-14  Werner Lemberg  <wl@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@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@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@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@gnu.org>
 1136 
 1137 	* builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
 1138 
 1139 2004-12-03  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
 1140 
 1141 	* include/freetype/ttnameid.h: Updated to latest
 1142 	specifications from Microsoft.
 1143 
 1144 2004-11-26  Jouk Jansen  <joukj@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@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@netgate.com.uy>
 1166 
 1167 	* src/truetype/ttinterp.h: Fix typo.
 1168 
 1169 2004-11-22  Antoine Leca  <Antoine-Freetype@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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 1276 
 1277 	* docs/CHANGES: Updated.
 1278 
 1279 2004-10-09  Boris Letocha  <b.letocha@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@hrem.stm.tudelft.nl>
 1289 
 1290 	* vms_make.com: Updated.
 1291 
 1292 2004-09-09  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@malaterre.com>
 1420 
 1421 	* src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
 1422 
 1423 2004-08-27  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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 Würkner  <TetiSoft@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@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@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@silcom.com>
 1852 
 1853 	* src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
 1854 
 1855 2004-08-01  Werner Lemberg  <wl@gnu.org>
 1856 
 1857 	* docs/CHANGES: Updated.
 1858 
 1859 2004-08-01  George Williams  <gww@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@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  Søren Sandmann  <sandmann@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@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 Würkner  <TetiSoft@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@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@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@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@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@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@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@gnu.org>
 1956 
 1957 	* src/base/ftstroke.c (ft_stroke_border_reverse): Removed.  Unused.
 1958 
 1959 2004-07-12  David Turner  <david@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@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@r3.roburnet.sk>
 1986 
 1987 	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
 1988 
 1989 2004-06-25  Werner Lemberg  <wl@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@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@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@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@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@gnu.org>
 2066 
 2067 	* docs/CHANGES: Updated.
 2068 
 2069 2004-06-21  David Turner  <david@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@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@gnu.org>
 2084 
 2085 	* src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
 2086 	Reported by Hyvärinen Jyrki Juhani.
 2087 
 2088 2004-06-11  Werner Lemberg  <wl@gnu.org>
 2089 
 2090 	* docs/CHANGES: Updated.
 2091 
 2092 2004-06-10  David Turner  <david@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@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@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@gnu.org>
 2153 
 2154 	* docs/CHANGES: Updated.
 2155 
 2156 2004-06-04  David Chester  <davidchester@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@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@gnu.org>
 2180 
 2181 	* src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
 2182 	warnings.
 2183 
 2184 2004-06-01  Werner Lemberg  <wl@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@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@gnu.org>
 2204 
 2205 	* src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
 2206 	Reported by Mikey Anbary <manbary@vizrt.com>.
 2207 
 2208 2004-05-15  Werner Lemberg  <wl@gnu.org>
 2209 
 2210 	* src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
 2211 
 2212 2004-05-15  George Williams  <gww@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@gyve.org>
 2218 	    George Williams  <gww@silcom.com>
 2219 
 2220 	* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
 2221 
 2222 2004-05-14  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@comcast.net>
 2367 
 2368 	* src/truetype/ttobjs.c (tt_driver_done): Fix typo.
 2369 
 2370 2004-05-04  Werner Lemberg  <wl@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@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@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@quickcut.com.au>.
 2445 
 2446 2004-04-29  Werner Lemberg  <wl@gnu.org>
 2447 
 2448 	* docs/formats.txt: Add more information on PFR format.
 2449 
 2450 2004-04-28  Werner Lemberg  <wl@gnu.org>
 2451 
 2452 	* docs/formats.txt: New file.
 2453 	* docs/CHANGES: Updated.
 2454 
 2455 2004-04-28  Masatake YAMATO  <jet@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@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@silcom.com>
 2468 
 2469 	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
 2470 
 2471 2004-04-25  Werner Lemberg  <wl@gnu.org>
 2472 
 2473 	* src/truetype/Jamfile, docs/CHANGES: Updated.
 2474 
 2475 2004-04-24  Werner Lemberg  <wl@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@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@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@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@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@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@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.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@gnu.org>
 2630 
 2631 	* builds/unix/freetype-config.in (usage): Fix and improve usage
 2632 	information.
 2633 
 2634 2004-04-15  Werner Lemberg  <wl@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@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@gnu.org>
 2653 
 2654 	* include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
 2655 
 2656 2004-04-14  Alex Strelnikov  <ptktyrf@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@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@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.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@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@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@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@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@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@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@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@gnu.org>
 2753 
 2754 	* src/base/descrip.mms (OBJS): Add ftbbox.obj.
 2755 
 2756 2004-03-26  George Williams  <gww@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@gnu.org>
 2781 
 2782 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
 2783 
 2784 2004-03-20  Steve Hartwell  <shspamsink@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@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@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@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@gnu.org>
 2836 
 2837 	* src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
 2838 
 2839 2004-03-02  Werner Lemberg  <wl@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@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@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@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@gnu.org>
 2893 
 2894 	* docs/CHANGES: Updated.
 2895 
 2896 2004-02-25  Garrick Meeker  <garrick@digitalanarchy.com>
 2897 	    Steve Hartwell  <shspamsink@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@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@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@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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 3096 
 3097 	* src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
 3098 
 3099 2004-02-14  Masatake YAMATO  <jet@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@gnu.org>
 3109 
 3110 	* src/type1/t1load.c (parse_dict): Initialize `start_binary'.
 3111 
 3112 2004-02-13  Robert Etheridge  <roberte@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@digitalanarchy.com>
 3290 
 3291 	* src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
 3292 
 3293 2004-01-22  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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@gyve.org>
 3399 
 3400 	Make `FT_Get_CMap_Language_ID' work with CFF.  Bug reported by
 3401 	Steve Hartwell <shspamsink@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@comcast.net>.
 3410 
 3411 2004-01-03  Masatake YAMATO  <jet@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@gnu.org>
 3417 
 3418 	* docs/CHANGES: Updated.
 3419 
 3420 2004-01-01  Michael Jansson  <mjan@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 Domröse  <porthos.domroese@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@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@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@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@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@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@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@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@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@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@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 Würkner <TetiSoft@apg.lahn.de>.
 3520 
 3521 	* docs/CHANGES: Updated.
 3522 
 3523 2003-12-22  David Turner  <david@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@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@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@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@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@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@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@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@gnu.org>
 3661 
 3662 	* docs/CHANGES: Updated.
 3663 
 3664 2003-12-15  Wolfgang Domröse  <porthos.domroese@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 Domröse  <porthos.domroese@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@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@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@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 Würkner  <TetiSoft@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@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@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@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 Domröse  <porthos.domroese@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@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@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@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@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@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@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@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@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@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@gnu.org>
 3847 
 3848 	* docs/CHANGES: Updated.
 3849 
 3850 2003-11-11  John A. Boyd Jr.  <jaboydjr@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@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@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@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@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@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@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@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 Würkner  <TetiSoft@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@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@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@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@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@btinternet.com>
 4059 
 4060 	* src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
 4061 
 4062 2003-10-19  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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@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@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@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@metservice.com>.
 4404 
 4405 2003-09-21  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@freetype.org>
 4702 
 4703 
 4704 	* Version 2.1.5 released.
 4705 	=========================
 4706 
 4707 
 4708 2003-08-31  Manish Singh  <yosh@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@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@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@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@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@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@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@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@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@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@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@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@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 Hägglund  <patrik.hagglund@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@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@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@anduin.net>.
 4920 
 4921 2003-06-30  Werner Lemberg  <wl@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@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@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@gnu.org>
 4985 
 4986 	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
 4987 	glyph name pointer.  Reported by Mikey Anbary <manbary@vizrt.com>.
 4988 
 4989 2003-06-23  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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 Würkner  <TetiSoft@apg.lahn.de>
 5142 
 5143 	* src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
 5144 
 5145 2003-06-13  Werner Lemberg  <wl@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@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@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@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@gnu.org>
 5194 
 5195 	* src/cid/cidobjs.c: Apply change 2003-05-31 from <Ron.Dev@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@gmx.de>.
 5211 
 5212 2003-06-09  George Williams  <gww@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 Würkner  <TetiSoft@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@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 Domröse  <porthos.domroese@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@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@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@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@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@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 Würkner  <TetiSoft@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@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@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@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 Domröse  <porthos.domroese@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@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@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@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@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@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@gnu.org>
 5438 
 5439 	* include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
 5440 
 5441 2003-05-31    <Ron.Dev@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@njstar.com>
 5629 
 5630 	* src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
 5631 
 5632 2003-05-18  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@gnu.org>
 5693 
 5694 	* src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
 5695 
 5696 2003-05-07  David Turner  <david@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@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@keithp.com>
 5728 
 5729 	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
 5730 
 5731 2003-05-01  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@gnu.org>
 5845 
 5846 	* builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
 5847 
 5848 2003-04-24  Dieter Baron  <dillo@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@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@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@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@profoundeffects.com>
 5912 
 5913 	* src/base/ftmac.c (parse_fond): Fix handling of style names.
 5914 
 5915 2003-04-23  Werner Lemberg  <wl@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@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@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@gnu.org>
 5932 
 5933 	* doc/INSTALL.UNX: Cleaned up.
 5934 
 5935 2003-04-09  Torrey Lyons  <torrey@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@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@freetype.org>
 5948 
 5949 
 5950 	* Version 2.1.4 released.
 5951 	=========================
 5952 
 5953 
 5954 2003-04-03  Martin Muskens  <mmuskens@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@freetype.org>
 6302 
 6303 	* include/freetype/freetype.h: Fixed documentation for
 6304 	FT_Size_Metrics.
 6305 
 6306 2003-01-15  James Su  <suzhe@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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 Bézier arcs with negative vertical coordinates to be
 6506 	rendered appropriately.
 6507 
 6508 2002-12-02  Antoine Leca  <Antoine-Freetype@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@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@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@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@Leca-Marti.org>
 6536 
 6537 	* include/freetype/ttnameid.h: Updated to latest OpenType
 6538 	specification.
 6539 
 6540 2002-11-18  David Turner  <david@freetype.org>
 6541 
 6542 
 6543 	* Version 2.1.3 released.
 6544 	=========================
 6545 
 6546 
 6547 2002-11-07  David Turner  <david@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@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@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@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@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@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@freetype.org>
 6668 
 6669 	* FreeType 2.1.3rc3 released.
 6670 
 6671 2002-10-25  David Turner  <david@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@mandrakesoft.com>
 6677 
 6678 	* include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
 6679 
 6680 2002-10-07  Werner Lemberg  <wl@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@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@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 Würkner  <TetiSoft@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@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 Domröse  <porthos.domroese@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@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 Domröse  <porthos.domroese@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 Würkner  <TetiSoft@apg.lahn.de>
 6855 
 6856 	* builds/amiga/include/freetype/config/ftmodule.h: Updated.
 6857 
 6858 2002-09-25  David Turner  <david@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@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 Domröse  <porthos.domroese@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 Domröse  <porthos.domroese@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@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@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@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@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@gnu.org>
 6928 
 6929 	16bit fixes from Wolfgang Domröse.
 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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 7256 
 7257 	* docs/VERSION.DLL: New file.
 7258 
 7259 2002-08-23  Graham Asher  <graham.asher@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@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@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@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@gnu.org>
 7322 
 7323 	* src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
 7324 
 7325 2002-08-20  David Turner  <david@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@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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 7490 
 7491 	* src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
 7492 
 7493 2002-07-26  Werner Lemberg  <wl@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@btinternet.com>
 7511 
 7512 	* src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
 7513 	[sven@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 7871 
 7872 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
 7873 
 7874 2002-06-21  David Turner  <david@freetype.org>
 7875 
 7876 
 7877 	* Version 2.1.2 released.
 7878 	=========================
 7879 
 7880 
 7881 2002-06-21  Roberto Alameda  <ojancano@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 Würkner  <TetiSoft@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@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@freetype.org>
 7912 
 7913 	* README, docs/CHANGES: Preparing the 2.1.2 release.
 7914 
 7915 2002-06-19  Detlef Würkner  <TetiSoft@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@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@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 Würkner  <TetiSoft@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@gimp.org>
 7954 
 7955 	* src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
 7956 
 7957 2002-06-16  Leonard Rosenthol  <leonardr@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@debian.org>
 7964 
 7965 	Install freetype2.m4.
 7966 
 7967 	* builds/unix/install.mk (install, uninstall): Handle it.
 7968 
 7969 2002-06-16  Detlef Würkner  <TetiSoft@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 Würkner  <TetiSoft@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 Würkner  <TetiSoft@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@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@gnu.org>
 8016 
 8017 	* src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
 8018 
 8019 2002-06-11  David Turner  <david@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@freetype.org>
 8039 
 8040 
 8041 	* Version 2.1.1 released.
 8042 	=========================
 8043 
 8044 
 8045 2002-06-08  Juliusz Chroboczek  <jch@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@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 Würkner  <TetiSoft@apg.lahn.de>
 8071 
 8072 	* builds/amiga/smakefile, builds/amiga/makefile: Updated.
 8073 
 8074 2002-06-08  Werner Lemberg  <wl@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@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@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@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@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 Würkner  <TetiSoft@apg.lahn.de>
 8192 
 8193 	* src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
 8194 
 8195 2002-05-29  Detlef Würkner  <TetiSoft@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@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 Würkner  <TetiSoft@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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 8362 
 8363 	Adding a driver for BDF fonts written by Francesco Zappa Nardelli
 8364 	<Francesco.Zappa.Nardelli@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@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@gnu.org>
 8390 
 8391 	* src/type42/Jamfile: New file.
 8392 
 8393 2002-05-14  Werner Lemberg  <wl@gnu.org>
 8394 
 8395 	Adding a driver for Type42 fonts written by Roberto Alameda
 8396 	<ojancano@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@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@utanet.at>
 8409 
 8410 	* builds/beos/beos.mk: Include `link-std.mk'.
 8411 
 8412 2002-05-12  Werner Lemberg  <wl@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@gnu.org>
 8424 
 8425 	* README: Add a note regarding libttf vs. libfreetype.
 8426 
 8427 2002-05-05  Werner Lemberg  <wl@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@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@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@gnu.org>
 8479 
 8480 	* docs/INSTALL: Fix URL of makepp.
 8481 
 8482 2002-05-01  David Turner  <david@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@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@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@hrem.stm.tudelft.nl>
 8581 
 8582 	* descrip.mms (all): Add pfr driver.
 8583 
 8584 2002-04-28  Werner Lemberg  <wl@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@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@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@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@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@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@freetype.org>
 8665 
 8666 
 8667 	* Version 2.1.0 released.
 8668 	=========================
 8669 
 8670 
 8671 2002-04-17  Michael Jansson  <mjan@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@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@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@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@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@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@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@yahoo.com>
 8774 
 8775 	* src/smooth/ftgrays.c (gray_hline): Minor optimization.
 8776 
 8777 2002-04-02  Werner Lemberg  <wl@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@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@vidar.niaaa.nih.gov>
 8808 
 8809 	* src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
 8810 
 8811 2002-03-31  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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@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@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@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@gnu.org>
 9097 
 9098 	* src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
 9099 
 9100 2002-03-07  Werner Lemberg  <wl@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@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@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@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@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@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@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@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@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@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@freetype.org>
 9366 
 9367 	* README: Adding `devel@freetype.org' address for bug reports.
 9368 
 9369 2002-02-20  Werner Lemberg  <wl@gnu.org>
 9370 
 9371 	* builds/unix/install.mk (check): New dummy target.
 9372 	(.PHONY): Add it.
 9373 
 9374 2002-02-19  Werner Lemberg  <wl@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@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@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 (C) 2002-2019 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: