summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2005-06-16 19:07:08 +0000
committerWerner Lemberg <wl@gnu.org>2005-06-16 19:07:08 +0000
commit246cfccc82a5d85685bd4a052892f64c4ae1aff5 (patch)
tree4e64e4b95b93cd5565d25fa252d8bc085ad6d6bd
parent5355161b0be8a3cd84c47f50cdd315d0d46561de (diff)
downloadfreetype2-246cfccc82a5d85685bd4a052892f64c4ae1aff5.tar.gz
* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
halved. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default strength. Don't increase slot->advance.y. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.ac (version_info): Set to 9:9:3. Currently, we are still binary compatible. * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/. * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): s/2.1.9/2.1.10/. * docs/CHANGES, docs/VERSION.DLL: Updated. * ChangeLog: Split off older entries into... * ChangeLog.20, ChangeLog.21: These new files. The next release will be 2.2.0, so don't worry about source code backwards compatibility. * include/freetype/ftimage.h (FT_Outline_MoveToFunc, FT_Outline_LineToFunc, FT_Outline_ConicToFunc, FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc), include/freetype/ftrender.h (FT_Glyph_TransformFunc, FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate parameters with `const' where appropriate. * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY to make glyphs centered vertically. * src/truetype/ttgload.c (compute_glyph_metrics): Compute vertBearingY to make glyphs centered vertically. Fix some bugs in vertical metrics: . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font units. . As we use the glyph's cbox to calculate the top bearing now there iss no need to adjust `top'. * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake. * docs/release: Update.
-rw-r--r--ChangeLog12047
-rw-r--r--ChangeLog.202613
-rw-r--r--ChangeLog.219439
-rw-r--r--builds/unix/configure.ac2
-rw-r--r--builds/win32/visualc/freetype.dsp12
-rw-r--r--builds/win32/visualc/freetype.vcproj12
-rw-r--r--builds/win32/visualc/index.html10
-rw-r--r--docs/CHANGES29
-rw-r--r--docs/VERSION.DLL3
-rw-r--r--docs/release34
-rw-r--r--include/freetype/freetype.h4
-rw-r--r--include/freetype/ftimage.h34
-rw-r--r--include/freetype/ftrender.h22
-rw-r--r--src/base/ftoutln.c1
-rw-r--r--src/base/ftsynth.c4
-rw-r--r--src/otvalid/otvcommn.h6
-rw-r--r--src/sfnt/ttsbit.c2
-rw-r--r--src/truetype/ttgload.c60
18 files changed, 12225 insertions, 12109 deletions
diff --git a/ChangeLog b/ChangeLog
index 015faa97e..742241d54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,1811 +1,19 @@
-2005-06-08 Werner Lemberg <wl@gnu.org>
+2005-06-16 Chia I Wu <b90201047@ntu.edu.tw>
+ * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
+ halved.
- * Version 2.1.10 released.
- ==========================
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
+ strength.
+ Don't increase slot->advance.y.
+2005-06-16 Werner Lemberg <wl@gnu.org>
- * src/pcf/readme: Renamed to...
- * src/pcf/README: This.
+ * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
+ (FREETYPE_PATCH): Set to 0.
-2005-06-07 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/*: Added copyright notes, reworked some comments.
-
-2005-06-05 Werner Lemberg <wl@gnu.org>
-
- * Add copyright notices to all files which don't have one.
-
- * docs/license.txt: Renamed to...
- * docs/LICENSE.TXT: This.
- * docs/FTL.txt: Renamed to...
- * docs/FTL.TXT: This.
- * docs/GPL.txt: Renamed to...
- * docs/GPL.TXT: This.
-
- * docs/PATENTS: Slightly reworded. Suggested by Sylvain Beucler
- <beuc@gnu.org>.
-
-2005-06-04 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
- FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
- FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
- include/freetype/ftrender.h (FT_Glyph_TransformFunc,
- FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
- `const' to stay compatible with FreeType 2.1.9.
-
-2005-06-01 Adam D. Moss <adam@gimp.org>
-
- * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
- 2004-07-11; this gives much better results under normal
- circumstances.
-
-2005-05-30 Chia I Wu <b90201047@ntu.edu.tw>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
- documentation improvements.
-
- * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
- of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
- If xstr is larger than 8 and bitmap is of pixel_mode
- FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
-
-2005-05-29 Chia I Wu <b90201047@ntu.edu.tw>
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
- of mode FT_PIXEL_MODE_GRAY. Also add support for mode
- FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
- (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
- should have ppb (pixel per byte) 1.
- Zero the padding when there's no need to allocate memory.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
- too.
- More suited emboldening strength.
-
-2005-05-28 Chia I Wu <b90201047@ntu.edu.tw>
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
- Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
- Improve speed for FT_PIXEL_MODE_GRAY.
- (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
- FT_PIXEL_MODE_LCD_V.
-
-2005-05-27 Chia I Wu <b90201047@ntu.edu.tw>
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
-
- * src/base/ftobjs.c (ft_cmap_done_internal): New function.
- (FT_CMap_Done): Remove cmap from cmap list.
- (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
- ft_cmap_done_internal.
-
-2005-05-26 Werner Lemberg <wl@gnu.org>
-
- * docs/GPL.txt: Update postal address of FSF.
-
-2005-05-26 Chia I Wu <b90201047@ntu.edu.tw>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
- documentation.
-
- * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
- (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
- Always modify the metrics.
-
-2005-05-24 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2005-05-24 Chia I Wu <b90201047@ntu.edu.tw>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
-
- * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
- function.
- (FT_Bitmap_Embolden): New function.
-
- * src/base/ftoutln.c (FT_Outline_Embolden): New function.
-
- * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
- FT_TRIGONOMETRY_H but FT_BITMAP_H.
- (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
- FT_Bitmap_Embolden.
-
-2005-05-24 Werner Lemberg <wl@gnu.org>
-
- * configure: Always remove config.mk, builds/unix/unix-def.mk, and
- builds/unix/unix-cc.mk. This fixes repeated calls of the script.
- Reported by Nelson Beebe and Behdad Esfahbod.
-
- * README.CVS: Mention file permissions.
-
-2005-05-23 Werner Lemberg <wl@gnu.org>
-
- * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
- (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
- -fno-strict-aliasing.
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
- it is currently loaded from ttsbit.c.
-
-2005-05-23 Behdad Esfahbod <behdad@cs.toronto.edu>
-
- Say you have `(Foo*)x' and want to assign, pass, or return it as
- `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler
- would warn you that type casting incompatible pointer types breaks
- strict-aliasing. The solution is to cast to `(void*)' instead which
- is the generic pointer type, so the compiler knows that it should
- make no strict-aliasing assumption on `x'. But the problem with
- `(void*)x' is that seems like in C++, unlike C, `void*' is not a
- generic pointer type and assigning `void*' to `Bar*' without a cast
- causes an error. The solution is to cast to `Bar*' too, with
- `(Bar*)(void*)x' as the result -- this is what the patch does.
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
- include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
- cast on lvalue, use a temporary pointer instead.
- Cast temporarily to (void*) to not break strict aliasing.
-
- * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
- FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
- src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
- to not break strict aliasing.
-
- * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
-
- * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
-
-2005-05-23 David Turner <dturner@freetype.org>
-
- Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
- in low-memory conditions).
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
- FTC_CACHE_TRYLOOP_END): New macros.
-
- * src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
- (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END.
-
-2005-05-23 Werner Lemberg <wl@gnu.org>
-
- * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
- (BASE_EXT_SRC): Here.
-
-2005-05-22 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftrfork.c (raccess_guess_apple_generic): Mark
- `version_number' and `entry_length' as unused.
- (raccess_guess_linux_double_from_file_name): Remove `memory'.
- (raccess_make_file_name): Mark `error' as unused.
-
- * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
-
- * src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
-
- * src/truetype/ttgxvar.c (ft_var_readpackedpoints,
- ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
-
- * src/base/rules.mk (BASE_SRC): Add ftsynth.c.
-
-2005-05-21 David Turner <david@freetype.org>
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
- produced unpleasant artefacts when trying to embolden very sharp
- corners.
-
-2005-05-20 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2005-05-20 Chia I Wu <b90201047@ntu.edu.tw>
-
- * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
- but FT_BITMAP_H.
- (FT_Bitmap_Copy): New function (from ftglyph.c).
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
- definition.
-
- * src/base/ftglyph.c: Include FT_BITMAP_H.
- (ft_bitmap_copy): Move to ftbitmap.c.
- (ft_bitmap_glyph_init): Remove `memory' variable.
- Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
- (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
- (ft_bitmap_glyph_done): Use FT_Bitmap_Done.
- (ft_outline_glyph_init): Use FT_Outline_Copy.
-
- * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
- (FT_Outline_Done_Internal): Check for valid `memory' pointer.
- (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
- FT_Outline_Transform): Check for valid `outline' pointer.
-
- * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
- face->glyph, otherwise a new second glyph slot cannot be created.
- (FT_Done_GlyphSlot): Fix memory leak.
- (FT_Open_Face): Updated -- face->glyph is already managed by
- FT_New_GlyphSlot.
-
- * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
-
-2005-05-20 Kirill Smelkov <kirr@mns.spb.ru>
-
- * include/freetype/ftimage.h (FT_Raster_Params),
- include/freetype/ftoutln.h (FT_Outline_Translate,
- FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
- FT_Outline_Transform): Decorate parameters with `const' where
- appropriate.
- Update all callers.
-
- * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
- (gray_raster_reset): Remove `const' from `pool_base' argument.
-
-2005-05-18 Kirill Smelkov <kirr@mns.spb.ru>
-
- * src/raster/ftmisc.h: New file. Only needed if ftraster.c is
- compiled as stand-alone.
-
- * src/raster/ftraster.c: Add comment how to compile as stand-alone.
- s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
- s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
- [_STANDALONE_]: Include ftimage.h and ftmisc.h.
- (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
- conditionally.
- (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
- Raster_Err_Unsupported).
- (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
- (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
- Use `ras', not `raster'.
- (ft_black_done): Use FT_UNUSED_RASTER.
- (Horizontal_Sweep_Init, Horizontal_Sweep_Step,
- Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
-
-2005-05-18 Werner Lemberg <wl@gnu.org>
-
- * docs/announce: Start updating.
-
- * docs/CHANGES: Updated.
-
-2005-05-16 Vitaliy Pasternak <v_a_pasternak@mail.ru>
-
- * builds/win32/visualc/freetype.vcproj: Updated.
- Exclude debug info for `Release' versions to reduce library size.
-
-2005-05-16 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
- is, ignore `aface' completely if face_index < 0. Reported by David
- Osborn <spam@habitualhiatus.com>.
-
-2005-05-16 Kirill Smelkov <kirr@mns.spb.ru>
-
- * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
- FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
- FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
- gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
- gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
- with `const' where appropriate.
-
-2005-05-11 Kirill Smelkov <kirr@mns.spb.ru>
-
- * include/freetype/ftimage.h (FT_Raster_RenderFunc),
- include/freetype/ftrender.h (FT_Glyph_TransformFunc,
- FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
- src/base/ftglyph.c (ft_outline_glyph_transform),
- src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
- src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
- src/smooth/ftsmooth.c (ft_smooth_transform,
- ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
- ft_smooth_render_lcd_v): Decorate parameters with `const' where
- appropriate.
-
- * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete.
- (ft_black_render): Decorate parameters with `const' where
- appropriate.
-
-2005-05-11 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
- FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez
- <ismail@kde.org.tr>.
-
-2005-05-08 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
- [__cplusplus]: Fix typo.
-
-2005-05-07 Werner Lemberg <wl@gnu.org>
-
- Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
- Blaskey <listtarget@danbala.com>).
-
- * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
- * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
-
- (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
- tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
- `FT_Error' as return type.
- (tt_cmap4_validate): Use `FT_Error' as return type.
- Return error code for unsorted cmap.
- (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
- cmaps.
- (tt_face_build_cmaps): Set `unsorted' variable in cmap.
-
-2005-05-07 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttpload.c (tt_face_get_location): Fix typo.
-
-2005-05-06 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_face_init): Set ppem value in top
- dictionary for SFNT-based CFF.
-
-2005-05-05 Werner Lemberg <wl@gnu.org>
-
- Handle malformed `loca' table entries.
-
- * docs/TODO: Add some bugs which should be fixed.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
- element.
-
- * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
- table.
- (tt_face_get_location): Fix computation of `asize' for malformed
- `loca' entries.
-
-2005-05-01 David Turner <david@freetype.org>
-
- * Jamfile: Remove `otvalid' from the list of compiled modules.
-
- * include/freetype/internal/ftserv.h: Add compiler pragmas to get
- rid of annoying warnings with Visual C++ compiler in maximum warning
- mode.
-
- * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
- src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
- src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
- src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
- src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
-
-2005-04-28 Werner Lemberg <wl@gnu.org>
-
- * docs/TODO: Updated.
-
-2005-04-24 Werner Lemberg <wl@gnu.org>
-
- * src/otvalid/otvcommn.c
- (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
-
-2005-04-16 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_face_init): Set default upem value in top
- font dict also.
- Handle font matrix settings in subfonts.
-
- * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
- for CID-keyed fonts with subfonts.
-
- * docs/formats.txt: Updated.
-
-2005-04-14 Kirill Smelkov <kirr@mns.spb.ru>
-
- * include/freetype/freetype.h (FT_Vector_Transform),
- include/freetype/ftimage.h (FT_Raster_Params),
- include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
- FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
- FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
- src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
- `const' where appropriate.
-
-2005-04-14 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_charstrings): Catch this non-standard
- beginning of the /CharStrings dictionary:
-
- /CharStrings 118 dict def
- Private begin
- CharStrings begin
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
- to call of tt_sbit_decoder_load_bitmap.
-
-2005-04-13 Werner Lemberg <wl@gnu.org>
-
- * docs/TODO: Updated.
-
- * autogen.sh: Use `--force' for all commands.
-
-2005-04-09 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
- only if `fitted' is not zero.
-
-2005-04-06 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
- Fix typo which sometimes causes wrong metrics for the last glyph.
-
-2005-04-04 David Turner <david@freetype.org>
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
- release.
- (*_CHESTER_*): Removed. No longer used.
-
- * src/autofit/afhints.c (af_axis_hints_new_segment,
- af_axis_hints_new_edge): Small tweak to use less heap memory.
-
-2005-04-03 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
- first line in the font.
-
-2005-04-03 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES, include/freetype/freetype.h: Improve documentation
- of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
-
-2005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
- offsets after a large read.
-
-2005-03-26 Werner Lemberg <wl@gnu.org>
-
- * src/autofit/afglobal.c (af_face_globals_get_metrics):
- s/index/gidx/.
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
- warnings.
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
-
- * src/sfnt/ttsbit0.h: Dummy file for build with `make'.
-
-2005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- Update of the Amiga port.
-
- * builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile: Included the base extension files
- (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
-
-2005-03-25 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- Update of the Amiga port.
-
- * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
-
- * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
-
- * builds/amiga/README: Updated.
-
- * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
- AmigaOS4.
-
- * builds/amiga/include/freetype/config/ftmodule.h: Handle new
- modules.
-
- * builds/amiga/src/base/ftdebug.c: Updated to current version of
- default ftdebug.c.
- Add various include files and macros to have proper support for
- both AmigaOS4 and older AmigaOS versions.
- Don't declare KVPrintF explicitly.
- Replace getenv with GetVar.
- Actually enable debugging code.
-
- * builds/amiga/src/base/ftsystem.c: Major rewrite.
-
-2005-03-23 Werner Lemberg <wl@gnu.org>
-
- * tests/*: Removed.
-
-2005-03-23 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES, docs/INSTALL.ANY: Updated.
-
- * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
- Add `OTvalid'.
-
- * src/autofit/aferrors.h: New file.
-
- * src/autofit/afglobal.c, src/autofit/afhints.c,
- src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
- Include aferrors.h.
-
- * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
-
- * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
-
-2005-03-22 David Turner <david@freetype.org>
-
- * src/autohint/*: Removed.
- * Jamfile: Updated.
-
-2005-03-15 David Turner <david@freetype.org>
-
- * src/bdf/bdflib.c: Remove compiler warnings.
- (hash_rehash, hash_init): Don't call FT_MEM_ZERO.
- (_bdf_list_t): Add `memory' field.
- (_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
- (_bdf_shift, _bdf_join): Rename to...
- (_bdf_list_shift, _bdf_list_join): This.
- (_bdf_split): Renamed to...
- (_bdf_list_split): This. Use new functions.
- (bdf_internal_readstream): Removed.
- (NO_SKIP): New macro.
- (_bdf_readstream): Rewritten.
- (bdf_create_property, _bdf_add_comment): Improve allocation.
- (_bdf_set_default_spacing, _bdf_parse_glyphs): Updated. Improve
- allocation.
- (_bdf_parse_properties, _bdf_parse_start): Updated.
- (bdf_load_font): Updated to use new functions.
-
- * src/type1/t1parse.c (check_type1_format): New function.
- (T1_New_Parser): Use it to check font header before allocating
- anything on the heap.
-
- * src/type42/t42parse.c (t42_parser_init): Modify functions to check
- the font header before allocating anything on the heap.
-
- * include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
- FT_ARRAY_CHECK): New macros.
-
- * src/base/ftstream.c (FT_Stream_TryRead): New function.
- * include/freetype/internal/ftstream.h: Updated.
-
- * src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
- (BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
- simplifications. Try to protect the PCF driver from doing stupid
- things with broken fonts.
-
- * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
- doing anything else. This avoids unnecessary heap allocations
- (400KByte of heap memory for the LZW decoder).
-
- * src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip
- decoder, although the code savings are smaller.
-
- * docs/CHANGES: Updated.
-
-2005-03-10 David Turner <david@freetype.org>
-
- * src/tools/glnames.py: Add comment to explain the compression
- being used for the Adobe Glyph List.
-
-2005-03-10 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
- Fix serious typo which prevented correct TT rendering.
-
- * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
- To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
-
-2005-03-10 Werner Lemberg <wl@gnu.org>
-
- * src/tools/glnames.py: Formatted.
- Format output to be in sync with other FreeType code.
- Import `re' and `os.path'.
- (StringTable) <__init__>: Add parameter to initialize master table
- name.
- (StringTable) <dump>: Don't pass master table name.
- (StringTable) <dump_sublist>: Emit explanatory comment.
- Simplify and make output more human readable.
- (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused.
- (main): Use `basename' for file name in header.
-
- * src/psnames/pstables.h: Regenerated.
-
-2005-03-09 David Turner <david@freetype.org>
-
- * src/tools/glnames.py: Rewrite the generator for the `pstables.h'
- header file which contains various constant tables related to glyph
- names. It now uses a different, more compact storage scheme that
- saves about 20KB. This also closes Savannah bug #12262.
-
- * src/psnames/pstables.h: Regenerated.
-
- * src/psnames/psmodule.c (ps_unicode_value): Use
- `ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
- (ps_get_macintosh_name, ps_get_standard_strings): Updated.
-
- * src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes
- more carefully. This fixes Savannah bug #12263.
-
-2005-03-06 David Turner <david@freetype.org>
-
- * src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
- constant.
-
- * src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
- #12212 (auto-hinter refuses to work if no Unicode charmap in font).
-
-2005-03-05 Werner Lemberg <wl@gnu.org>
-
- * autogen.sh: New script for bootstrapping.
-
- * README.CVS: New file which documents bootstrapping.
-
- * builds/unix/aclocal.m4, builds/unix/config.guess,
- builds/unix/config.sub, builds/unix/configure,
- builds/unix/ltmain.sh: Removed.
-
-2005-03-04 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
-
-2005-03-03 Werner Lemberg <wl@gnu.org>
-
- Various fixes for C and C++ compiling.
-
- * src/autofit/*: Add copyright messages.
-
- * src/autofit/afhints.c (af_glyph_hints_done): Don't use
- `AF_Dimension' but `int' for loop counter.
-
- * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
- `AF_Dimension' but `int' for loop counter.
- Use proper enumeration value for `render_mode'.
- (af_latin_metrics_scale_dim): Don't shadow variables.
- (af_latin_hints_compute_segments): Use proper cast for `major_dir'
- and `segment_dir'.
- (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
- `af_latin_compute_stem_width'.
- (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
- counter.
-
- * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
- proper cast for memory allocation.
-
- * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
- initialization of `sfnt'.
-
- * src/sfnt/sfdriver.c: Include `ttkern.h'.
-
- * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
-
- * src/truetype/ttgload.c: Include `ttpload.h'.
-
-2005-03-03 David Turner <david@freetype.org>
-
- * include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
- FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
- avoid compiler warnings.
- (FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
- FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
- FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cpluscplus]:
- Provide macro versions which avoid compiler warnings.
-
- * src/base/ftutil.c (ft_highpow2): New utility function.
-
- * include/freetype/internal/ftobjs.h: Updated.
-
- * src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
- pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
- (pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
- is set.
- (pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
- FT_OPTIMIZE_MEMORY is set.
-
- * src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
- doesn't work with broken fonts.
- (pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
-
- * src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
- (PFR_NEXT_KPAIR): New macro.
- (PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
- set.
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
- temporary variable to avoid gcc warning.
- (tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
-
- * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
- Remove redundant variable.
-
- * include/freetype/config/ftmodule.h: Moving the order of drivers to
- speed up font loading. The PCF and BDF loaders are still slow and
- consume far too much memory.
-
-2005-03-03 Werner Lemberg <wl@gnu.org>
-
- * devel/ftoption.h: Updated to recent changes.
-
-2005-03-02 Werner Lemberg <wl@gnu.org>
-
- * src/autofit/afdummy.c, src/autofit/afdummy.h
- (af_dummy_script_class): Fix type.
-
- * src/autofit/aflatin.c, src/autofit/aflatin.h
- (af_latin_script_class): Fix type.
-
- * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
-
-2005-03-01 David Turner <david@freetype.org>
-
- * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
- src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
- tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
- tt_sbit_decoder_load_image), src/sfnt/ttload.c
- (tt_face_load_metrics): Remove compiler warnings
- -- redundant variables, missing initializations, etc.
-
- * src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
-
- * src/autofit/rules.mk, src/autofit/module.mk,
- src/autofit/afangles.h: New files.
-
- * src/autofit/afhints.c (af_axis_hints_new_segment,
- af_axis_hints_new_edge): New functions.
- (af_glyph_hints_done): Do proper deallocation.
- (af_glyph_hints_reload): Only reallocate points array. This
- drastically reduces heap usage.
-
- * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
- member types and positions.
- (AF_AxisHintsRec): Add `max_segments' and `max_edges'.
- (af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
-
- * src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call
- AF_SCALER_EQUAL_SCALES.
- (af_latin_hints_compute_segments): Change return type to FT_Error.
- Update all callers.
- Improve segment allocation.
- (af_latin_hints_compute_edges): Change return type to FT_Error.
- Update all callers.
- Improve edge allocation and link handling.
- (af_latin_hints_detect_features): Change return type to FT_Error.
- Update all callers.
-
- * src/autofit/aflatin.h: Updated.
-
- * src/autofit/afloader.c (af_loader_load_g)
- <FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1. This fixes
- a bug with certain fonts.
-
- * include/freetype/config/ftmodule.h: The auto-fitter is now the
- only supported auto-hinting module.
-
- * include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
-
-2005-02-28 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
-
- * src/sfnt/ttkern.c: Include `ttkern.h'.
- (FT_COMPONENT): Updated.
-
- * include/freetype/internal/fttrace.h: Add entry for `ttkern'.
-
- * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
- Decorate constants with `U' and `L' where necessary.
-
- * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
-
-2005-02-28 David Turner <david@freetype.org>
-
- * src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
- sources according to decreasing maximum cumulative allocations.
- (ft_mem_source_compare): New auxiliary function.
-
- * src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
- embedded bitmap loader.
-
- * src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
- FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
- Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
- file contents.
- (tt_face_load_sbit_strikes): Set up root fields to indicate the
- strikes. This fixes Savannah bug #12107.
- Use `static' keyword for `sbit_line_metrics_field',
- `strike_start_fields', `strike_end_fields'.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Define
- `sbit_table', `sbit_table_size', `sbit_num_strikes' if
- FT_OPTIMIZE_MEMORY is set.
- Don't define `num_sbit_strikes' and `sbit_strikes' if
- FT_OPTIMIZE_MEMORY is set.
-
- * src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
- loading SFNT fonts without a `kern' table.
- Properly pass root->face_flags.
- Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
-
- * src/sfnt/sfdriver.c (sfnt_interface)
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
- and `tt_load_sbit_metrics'.
-
- * src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
- (OPT_CMAP4): New macro.
- (TT_CMap4Rec) [OPT_CMAP4]: New structure.
- (tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
- [OPT_CMAP4]: New functions.
- (tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
- `tt_cmap4_reset'.
- (tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
- `tt_cmap4_init'.
-
- * src/truetype/ttobjs.c (Reset_SBit_Size): Handle
- FT_OPTIMIZE_MEMORY.
-
- * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
- Optimize member types.
-
- * src/autofit/afloader.c (af_loader_done): Call
- `af_glyph_hints_done'.
-
-2005-02-27 David Turner <david@freetype.org>
-
- * src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
- caused invalid (random) return values for the horizontal kerning.
-
-2005-02-25 David Turner <david@freetype.org>
-
- Implement several memory optimizations to drastically reduce the
- heap usage of FreeType, especially in the case of memory-mapped
- files. The idea is to avoid loading and decoding tables in the
- heap, and instead access the raw data whenever possible (i.e., when
- it doesn't compromise performance).
-
- This has several benefits: For example, opening vera.ttf now uses
- just a small amount of memory (even when the FT_Library footprint is
- accounted for), until you start loading glyphs. Even then, you save
- at least 20KB compared to the non-optimized case. Performance of
- various operations, including open and close, has also been
- dramatically improved.
-
- More optimizations to come, especially for the auto-hinter.
-
- * include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
- function type.
- (SFNT_Interface): Add it.
-
- * include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
- TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
- (TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
- `vert_metrics', `vert_metrics_size', `hdmx_table',
- `hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
- `hdmx_record_sizes', `kern_table', `kern_table_size,
- `num_kern_tables', `kern_avail_bits', `kern_order_bits' if
- FT_OPTIMIZE_MEMORY is set.
- Don't define `hdmx', `num_kern_pairs', `kern_table_index',
- `kern_pairs' if FT_OPTIMIZE_MEMORY is set.
-
- * src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
- Fix compiler warning.
-
- * src/cff/cffdrivr.c (Get_Kerning): Renamed to...
- (cff_get_kerning): This. Simplify.
- (cff_driver_class): Updated.
-
- * src/sfnt/Jamfile (_sources): Add `ttkern'.
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
-
- * src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
-
- * src/sfnt/sfnt.c: Include `ttkern.c'.
-
- * src/sfnt/sfobjs.c: Include `ttkern.h'.
- (sfnt_load_face): Consider the `kern' and `gasp' table as optional.
- (sfnt_done_face): Call `tt_face_done_kern'.
- Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
-
- * src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files. Code has been
- taken from `ttload.c' and `ttload.h'.
- Provide special versions of `tt_face_load_kern',
- `tt_face_get_kerning', and `tt_face_done_kern' for
- FT_OPTIMIZE_MEMORY.
-
- * src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
- tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
- (tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
- `ttkern.c'.
-
- * src/sfnt/ttload.h: Updated.
-
- * src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
-
- * src/truetype/ttdriver.c (Get_Kerning): Renamed to...
- (tt_get_kerning): This. Simplify.
- (tt_driver_class): Updated.
-
- * src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
- (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
- Update all callers.
- (Get_Advance_Widths): Replaced with...
- (Get_Advance_WidthPtr): This. Provide version for
- FT_OPTIMIZE_MEMORY.
- Update all callers.
-
- * src/truetype/ttgload.h: Updated.
-
-2005-02-22 David Turner <david@freetype.org>
-
- * src/base/ftdbgmem.c: Partly rewritten. Added the ability to list
- all allocation sites in the memory debugger. Also a new function
- FT_DumpMemory() was added. It is only available in builds with
- FT_DEBUG_MEMORY defined, and you must declare it in your own code to
- use it, i.e., with something like:
-
- extern void FT_DumpMemory( FT_Memory );
-
- ...
-
- FT_DumpMemory( memory );
-
- * include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
- again.
- (FT_OPTIMIZE_MEMORY): New configuration macro to control various
- optimizations for reducing the heap footprint of memory-mapped
- TrueType files.
-
- * include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
- convenience macro.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec)
- [FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
- `glyph_locations'.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Call
- `tt_face_get_location'.
-
- * src/truetype/ttobjs.c (tt_face_init)
- [FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
- (tt_face_done): Call `tt_face_done_loca'.
-
- * src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
- New functions. If FT_OPTIMIZE_MEMORY is set, the locations table is
- read directly from memory-mapped streams, instead of being decoded
- into the heap.
- (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
- (tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
- bytecode interpreter is compiled in.
-
- * src/truetype/ttpload.h: Updated.
-
- * src/autohint/ahglyph.c (ah_outline_load): Improve allocation
- logic.
-
-2005-02-20 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.14.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.9.4.
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
-
- * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
- `texinfo' CVS module at subversions.gnu.org.
-
-2005-02-14 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
- a cmap for a CID-keyed font which doesn't have SIDs.
-
-2005-02-13 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (read_binary_data): Return more meaningful
- value.
- (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
- parser error value after call to T1_Skip_PS_Token (where necessary).
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
- value after call to T1_Skip_PS_Token.
-
- * src/cid/cidparse.c (cid_parser_new): Check parser error value
- after call to cid_parser_skip_PS_token.
-
- * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
- t42_parse_charstrings, t42_parse_dict): Check parser error value
- after call to T1_Skip_PS_Token (where necessary).
-
- * src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
- ps_tobytes): Add error messages.
-
-2005-02-12 Werner Lemberg <wl@gnu.org>
-
- * configure: Output more variables to the created Makefile so that
- it can be used for ft2demos also (if the FT2DEMOS variable is
- defined).
-
-2005-02-10 David Turner <david@freetype.org>
-
- * src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
- dynamic array when loading a glyph from a PFR font (Savannah bug
- #11921).
-
- * src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
- conversion function (mainly stupid optimization).
-
- * src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
-
-2005-02-10 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/freetype-config.in: Add new flag `--ftversion' to
- return the FreeType version. Suggested by George Williams
- <gww@silcom.com>.
-
- * docs/CHANGES: Updated.
-
-2005-02-09 Werner Lemberg <wl@gnu.org>
-
- * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
- of error. Reported by YAMANO-UCHI Hidetoshi <mer@din.or.jp>.
-
-2005-02-08 Werner Lemberg <wl@gnu.org>
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
- happen in empty glyphs. Reported by Ian Brown
- <ian.brown@printsoft.de> (Savannah bug #11856).
-
-2005-02-04 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/*: Removed. Obsolete.
-
-2004-12-28 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.10.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.9.4.
- * builds/unix/configure: Regenerated with autoconf 2.59b.
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
-
- * builds/unix/install-sh: Updated from
- `texinfo' CVS module at subversions.gnu.org.
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
- ft_alloc.
- Fix compiler warning.
-
-2004-12-27 Dirck Blaskey <listtarget@danbala.com>
-
- * src/cff/cffobjs.c (cff_face_init): Improve computation of
- FT_STYLE_BOLD_FLAG.
-
-2004-12-27 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
- only a single font. This is undocumented but has been verified on
- the opentype list.
-
-2004-12-26 Werner Lemberg <wl@gnu.org>
-
- * Jamfile (FT2_COMPONENTS): Add `otvalid'.
-
-2004-12-25 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
-
-2004-12-15 Werner Lemberg <wl@gnu.org>
-
- * vms_make.com: Add ftbitmap.obj.
-
-2004-12-14 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
- handling various bitmap formats.
-
- * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
-
- * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
- but return them as-is.
-
- * docs/CHANGES: Mention new bitmap API.
- * include/freetype/ftchapter.s: Updated.
-
-2004-12-11 Robert Clark <freetype@ratty.org.uk>
-
- * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
- dependent on ppem by scaling down for ppem < 25, then do normal
- rounding. This gives slightly better results than rounding towards
- zero.
-
-2004-12-09 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
- for FT_KERNING_DEFAULT. This greatly enhances the kerning for
- small ppem values.
-
-2004-12-08 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
- `rsb_delta'.
-
-2004-12-05 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
-
-2004-12-03 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * include/freetype/ttnameid.h: Updated to latest
- specifications from Microsoft.
-
-2004-11-26 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
-
- * vms_make.com: Include ftbbox.c.
- Fix `ccopt'.
- Handle `otvalid' module.
- Update `vmslib.dat' default values.
- Fixes to `libs.opt'.
-
-2004-11-23 Anders Kaseorg <anders@kaseorg.com>
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec,
- ft_orientation_extremum_compute): Removed.
- (FT_Outline_Get_Orientation): Rewritten, simplified.
-
- * src/autohint/ahglyph.c: Include FT_OUTLINE_H.
- (ah_test_extremum, ah_get_orientation): Removed.
- (ah_outline_load): Use FT_Outline_Get_Orientation.
-
- * src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
- (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
-
-2004-11-23 Fernando Papa <fpapa@netgate.com.uy>
-
- * src/truetype/ttinterp.h: Fix typo.
-
-2004-11-22 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * builds/win32/detect.mk: Corrected logic that detects Windows NT to
- use the previous change even if win32 is forced. Corrected
- detection of win32 on Win9X.
-
- * builds/dos/detect.mk: Added same correction as for win32 about
- COPY on Windows NT. Detection of plain DOS 7.x.
-
-2004-11-22 Werner Lemberg <wl@gnu.org>
-
- * builds/detect.mk: Undo change from 2004-11-20.
- * builds/win32/detect.mk: If the `OS' environment variable contains
- `Windows_NT', use `cmd.exe /c copy' for copying files.
-
-2004-11-20 Werner Lemberg <wl@gnu.org>
-
- * builds/detect.mk (dos_setup): Use `cmd.exe' for copying
- $(CONFIG_MK) to force lowercase file name under Windows.
-
-2004-11-19 Werner Lemberg <wl@gnu.org>
-
- Fix a serious bug in the TT hinter.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
- points vertically before hinting.
-
- * docs/CHANGES: Updated.
-
- * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
- FTC_GCache_Lookup): A new try to fix comparison with zero.
-
-2004-11-16 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
- used.
- * builds/unix/configure: Regenerated.
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
-
-2004-11-16 Dr. Martin P.J. Zinser <zinser@decus.de>
-
- * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
- FTC_GCache_Lookup): Fix comparison with zero.
-
- * docs/INSTALL.VMS: Updated.
-
- * vms_make.com: Updated. All `descrip.mms' files are now created
- automatically.
-
- * src/*/descrip.mms: Removed.
-
-2004-11-16 Owen Taylor <otaylor@redhat.com>
-
- * builds/unix/freetype-config.in: Supress -L$libdir for
- /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
- https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
-
-2004-11-11 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
- * src/cid/cidriver.c (cid_service_ps_info): Updated.
- * src/type42/t42drivr.c (t42_ps_get_font_private): New function.
- (t42_service_ps_info): Updated.
-
- * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
-
-2004-11-11 David Bevan <dbevan@emtex.com>
-
- Add new function FT_Get_PS_Font_Private().
-
- * include/freetype/internal/services/svpsinfo.h
- (PS_GetFontPrivateFunc): New service function.
-
- * include/freetype/t1tables.h, src/base/fttype1.c
- (FT_Get_PS_Font_Private): New function.
-
- * src/type1/t1driver.c (t1_ps_get_font_private): New function.
- (t1_service_ps_info): Updated.
-
-2004-10-13 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftstdlib.h: Include `stddef.h'.
- (ft_ptrdiff_t): Define.
-
- * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
-
- * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
- (parse_dict): Fix compiler warning.
-
-2004-10-11 Joshua Neal <jneal@csdaily.com>
-
- * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
- overflow.
-
- * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
- Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
- in case of failure.
-
- * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
- (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
- frame test.
-
- * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
- `flag'.
-
-2004-10-09 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-10-09 Boris Letocha <b.letocha@cz.gmc.net>
-
- Fix handling of NPUSHW if skipped in data stream.
-
- * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
- to -2.
- (SkipCode, TT_RunIns): Use opcode_length value for computation of
- bytes to be skipped.
-
-2004-09-10 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
-
- * vms_make.com: Updated.
-
-2004-09-09 Werner Lemberg <wl@gnu.org>
-
- Adding OpenType validation module. The code is based on the
- (unfinished) `otlayout' module but has been heavily modified to make
- it much more compact.
-
- * src/otvalid/*: New module.
-
- * include/freetype/ftotval.h, src/base/ftotval.c,
- include/freetype/internal/services/svotval.h: New files.
-
- * include/freetype/config/ftmodule.h: Add otv_module_class.
- * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
- macro.
- * include/freetype/internal/ftserv.h
- (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
- * include/freetype/internal/fttrace.h (otvmodule, otvcommon,
- otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
-
- * include/freetype/ftchapters.h: Updated.
-
- * src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
- src/base/rules.mk (BASE_EXT_SRC): Updated.
-
- * docs/CHANGES: Updated.
-
-2004-09-08 Werner Lemberg <wl@gnu.org>
-
- * src/tools/docmaker/sources.py (re_source_block_format2) <column>:
- Use lookahead assertion to not match `*/'. This removes spurious
- insertions of `/' in the HTML output.
-
-2004-09-07 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
- FT_NEW_ARRAY.
-
-2004-09-04 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftobjs.h: Don't include
- FT_CONFIG_STANDARD_LIBRARY_H.
- (FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
- ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
- FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
- FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
-
- * include/freetype/internal/ftvalid.h: New file.
- Make FT_INVALID return module-specific error codes.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
- macro.
-
- * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
- FT_KEEP_ERR_PREFIX isn't defined.
-
- * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
-
- * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
- FT_INTERNAL_VALIDATE_H.
-
- * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
- FT_INTERNAL_VALIDATE_H.
- Include sferrors.h before FT_INTERNAL_VALIDATE_H.
- s/FT_Err_Ok/SFNT_Err_Ok/.
-
- * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
-
- * src/type1/t1afm.c: Include t1errors.h.
-
-2004-09-03 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
- not 6.
- * docs/DEBUG: Updated.
-
-2004-08-30 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
- TTAG_JSTF): New tags.
-
- * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
- (FT_Int): Add `signed'.
-
-2004-08-29 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
- to pass number of lookups.
- Update all callers.
- Don't call otl_lookup_list_validate but otl_lookup_validate.
- (otl_gpos_validate): Call otl_lookup_list_validate instead of
- otl_gpos_subtable_validate.
-
- * src/otlayout/otlgpos.h: Updated.
-
- * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
- pass number of lookups.
- Update all callers.
-
-
- * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
- compiler warning.
-
-
- * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
- * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
- * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
- src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
-
-
- * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
- if compiler is g++ (v3.3.3 emits a warning otherwise).
-
-2004-08-28 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
- not number of 16bit entities.
- (otl_gpos_lookup2_validate): Check class definition tables for
- format 2.
- Fix loop for format 2.
- (otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
-
-2004-08-27 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftmac.c: Don't include truetype/ttobjs.h.
- Don't include type1/t1objs.h.
- (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
-
-2004-08-27 Mathieu Malaterre <mathieu@malaterre.com>
-
- * src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
-
-2004-08-27 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlayout.h: Add copyright.
- (OTL_INVALID_OFFSET): Removed.
-
- * src/otlayout/otlgdef.h: Include otlayout.h.
- Comment out inclusion of otltable.h.
-
- * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
- to otl_base_array_validate.
- (otl_liga_mark2_validate): Fix `for' loop.
-
- * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
- not components array.
-
- * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
- Comment out.
- (otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
- (otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
- s/otl_lookup_get_count/otl_lookup_list_get_count/.
- (otl_script_list_validate):
- s/otl_feature_get_count/otl_feature_list_get_count/.
- (otl_script_validate): Call otl_lang_validate for default language.
-
- * src/otlayout/otlcommn.h: Updated.
-
-2004-08-16 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
- otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
- otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
- otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
- otl_gpos_validate): Update
- function arguments.
- (otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
- function arguments.
- Handle NULL offsets correctly.
- Check sequence and lookup indices for format 3.
- (otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
- to pass lookup count.
- Check sequence and glyph indices.
- (otl_gpos_subtable_validate): Update function arguments.
- Update callers.
-
- * src/otlayout/otlgpos.h: Updated.
-
- * src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
- otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
- function arguments.
- Add glyph index checks.
- (otl_sequence_validate, otl_alternate_set_validate,
- otl_ligature_validate): Add argument to pass glyph count.
- Update callers.
- Add glyph index check.
- (otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
- function arguments.
- (otl_ligature_set_validate): Add argument to pass glyph count.
- Update caller.
- (otl_sub_class_rule_validate,
- otl_sub_class_rule_set_validate): Removed.
- (otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
- to pass lookup count.
- Update callers.
- Add lookup index check.
- (otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
- argument to pass lookup count.
- Update callers.
- (otl_gsub_lookup5_validate): Update function arguments.
- Handle NULL offsets correctly.
- Don't call otl_sub_class_rule_set_validate but
- otl_sub_rule_set_validate.
- Check sequence and lookup indices for format 3.
- (otl_gsub_lookup6_validate): Update function arguments.
- Handle NULL offsets correctly.
- Check sequence and lookup indices for format 3.
- (otl_gsub_lookup7_validate, otl_gsub_validate): Update function
- arguments.
-
- * src/otlayout/otlgsub.h: Updated.
-
- * src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
- correctly.
-
- * src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
- compiler warning.
- (otl_coverage_get_first, otl_coverage_get_last): New functions.
- (otl_lookup_validate): Add arguments to pass lookup and glyph
- counts.
- Update callers.
- (otl_lookup_list_validate): Add argument to pass glyph count.
- Update callers.
-
- * src/otlayout/otlcommn.h: Updated.
-
- * src/otlayout/otljstf.c (otl_jstf_extender_validate,
- otl_jstf_max_validate, otl_jstf_script_validate,
- otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
- to validate glyph indices.
- Update callers.
- (otl_jstf_validate): Add parameter which specifies number of glyphs
- in font.
-
- * src/otlayout/otljstf.h: Updated.
-
-2004-08-15 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
- to handle possible NULL values properly.
- Update all callers.
-
-2004-08-15 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/gpos.c: Rename counting variables to be more
- meaningful.
- Add copyright.
- (otl_liga_attach_validate): Renamed to...
- (otl_liga_mark2_validate): This.
- Update all callers.
- (otl_mark2_array_validate): Removed.
- (otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
- otl_mark2_array_validate.
- (otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
- (otl_gpos_lookup7_validate): Complete code for format 2.
- (otl_chain_pos_class_rule_validate,
- otl_chaim_pos_class_set_validate): Removed.
- (otl_gpos_lookup8_validate): Don't call
- otl_chain_pos_class_set_validate but
- otl_chain_pos_rule_set_validate.
- Simplify some code.
-
- * src/otlayout/otlgpos.h: Add copyright.
-
-2004-08-14 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
- (otl_jstf_gpos_mods_validate): Renamed to...
- (otl_jstf_gsubgpos_mods_validate): This.
- Test whether lookup_count is zero.
- (otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
- (otl_jstf_validate): Initialize gsub_lookup_count and
- gpos_lookup_count if gsub or gpos is zero.
-
- * src/otlayout/otlgsub.c: Rename counting variables to be more
- meaningful.
- Add copyright.
- (otl_gsub_lookup1_validate): Simplify code.
- (otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
- otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
- variables.
- (otl_gsub_lookup5_validate): Remove unused variable.
- Fix call to otl_sub_rule_set_validate and
- otl_sub_class_rule_set_validate.
- (otl_chain_sub_class_rule_validate,
- otl_chain_sub_class_set_validate): Removed.
- (otl_gsub_lookup6_validate): Remove unused variable.
- Fix call to otl_chain_sub_rule_set_validate.
- (otl_gsub_lookup7_validate): Handle lookup type 8 also.
- (otl_gsub_lookup8_validate: New function.
- (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
- otl_gsub_lookup3_apply): Commented out.
- (otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
- otl_gsub_lookup8_validate.
- (otl_gsub_validate): Updated.
-
- * src/otlayout/otlgsub.h: Add copyright.
-
- * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
- (otl_coverage_get_index): Comment out.
-
-2004-08-13 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
- function.
- * src/otlayout/otlcommn.h: Updated.
-
- * src/otlayout/otlbase.c: Rename counting variables to be more
- meaningful.
- Add copyright message.
- * src/otlayout/otlbase.h: Add copyright message.
-
- * src/otlayout/otlgdef.c: Rename counting variables to be more
- meaningful.
- Add copyright message.
- Use OTL_CHECK everywhere.
- (otl_caret_value_validate): Remove unused variable.
- (otl_gdef_validate): All tables are optional.
- * src/otlayout/otlgdef.h: Add copyright message.
-
- * src/otlayout/otljstf.c: Rename counting variables to be more
- meaningful.
- Add copyright message.
- (otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
- parameter to pass lookup count.
- Update all callers.
- Check lookup array.
- (otl_jstf_max_validate):
- s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
- (otl_jstf_priority_validate, otl_jstf_lang_validate,
- otl_jstf_script_validate): Add two parameters to pass lookup counts.
- Update all callers.
- (otl_jstf_validate): Add two parameters to pass GPOS and GSUB
- table offsets; use otl_gsubgpos_get_lookup_count to convert extract
- lookup counts.
- Fix typo.
- * src/otlayout/otljstf.h: Updated.
- Add copyright message.
-
- * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
- (otl_gpos_validate): Use it.
- * src/otlayout/otlgpos.h: Updated.
-
-2004-08-13 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
- (otl_coverage_validate): Initialize `p',
- s/count/num_glyphs/.
- s/start_cover/start_coverage/.
- (otl_coverage_get_index): Return OTL_Long, not OTL_Int.
- Remove unused variables.
- (otl_class_definition_validate): s/count/num_glyphs/.
- Remove unused variables.
- (otl_class_definition_get_value, otl_device_table_get_start,
- otl_device_table_get_end, otl_device_table_get_delta,
- otl_lookup_get_table, otl_lookup_list_get_count,
- otl_lookup_list_get_lookup, otl_lookup_list_get_table,
- otl_feature_get_lookups, otl_feature_list_get_count,
- otl_feature_list_get_feature, otl_lang_get_count,
- otl_lang_get_req_feature, otl_lang_get_features): Commented out
- temporarily until we really need it.
- (otl_lookup_validate): Removed.
- (otl_lookup_table_validate): Renamed to ...
- (otl_lookup_validate): This. Update callers.
- (otl_lookup_list_validate): Remove already commented out definition
- and move the other definition up.
- (otl_feature_validate): Add parameter to pass number of lookups.
- Update callers.
- Check lookup indices.
- (otl_feature_list_validate): Add parameter to pass lookup table.
- Update callers.
- (otl_lang_validate): Add parameter to pass number of features.
- Update callers.
- Handle req_feature and check feature indices.
- (otl_script_validate): Add parameter to pass number of features.
- Update callers.
- (otl_script_list_validate): Add parameter to pass feature table.
- Update callers.
-
- * src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
- Comment out the same functions as in otcommn.c.
- (otl_script_list_get_script): Removed.
-
- * src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
- type OTL_Long.
- (otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
- type OTL_Long.
- Fix test.
- (otl_gsub_validate): Fix order of validation.
-
- * src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
- validation.
-
-2004-08-12 Werner Lemberg <wl@gnu.org>
-
- Make otlayout module compile (without actually working).
-
- * src/otlayout/*: s/OTL_Valid/OTL_Validator/.
- s/NULL/0/.
-
- * src/otlayout/otlayout.h: Fix various typos.
- (OTL_Bool): New typedef.
- (OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
- (OTL_Err_InvalidArgument): Removed.
- (OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
- (OTL_MAKE_TAG): Add missing parenthesis.
- (OTL_INVALID_DATA): Use OTL_Err_InvalidData.
- (OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
- (OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
-
- * src/otlayout/otlgpos.c: s/FT_/OTL_/.
- s/OTL_Short/OTL_Int16/.
- (otl_gpos_pairset_validate): Add return type.
- (otl_base_array_validate): Fix call to otl_anchor_validate.
- (otl_liga_array_validate): Fix call to otl_liga_attach_validate.
- (otl_gpos_lookup5_validate): Fix typos.
- (otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
- (otl_gpos_lookup7_validate): Comment out unfinished code.
- Fix typos.
-
- * src/otlayout/otlgsub.c: Add forward declaration for
- otl_gsub_validate_funcs.
- (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
- otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
- s/otl_coverage_lookup/otl_coverage_get_index/.
- (otl_ligature_validate): Add missing variable declaration.
- (otl_sub_rule_validate): Fix typo.
- (otl_sub_class_rule_validate): Add missing variable declaration.
- Fix typo.
- (otl_gsub_lookup5_validate): Fix typo.
- (otl_gsub_lookup6_validate): Fix call to
- otl_chain_sub_class_set_validate.
- (otl_gsub_validate_funcs): Don't use `const'.
-
- * src/otlayout/otlcommn.c (otl_class_definition_get_value,
- otl_device_table_validate, otl_device_table_get_delta,
- otl_lookup_validate, otl_script_validate): Add missing
- variable declarations.
- (otl_lookup_list_validate): Comment out first definition.
- (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
- (otl_feature_list_validate):
- s/otl_feature_table_validate/otl_feature_validate/.
- (otl_script_list_validate):
- s/otl_script_table_validate/otl_script_validate/.
-
- * src/otlayout/otlcommn.h: Comment out first declaration.
- (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
-
- * src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
- otl_device_table_validate.
- (otl_base_scsript_validate): Add missing variable declarations.
- (otl_base_script_list_validate): Fix call to
- otl_base_script_validate.
- (otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
- and otl_base_script_list_validate.
- (otl_base_validate): Fix calls to otl_axis_table_validate.
-
- * src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
- otl_attach_point_validate.
- (otl_caret_value_validate): Add missing variable declaration.
- Fix call to otl_device_table_validate.
- (otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
- (otl_ligature_caret_list_validate): Fix call to
- otl_ligature_glyph_validate.
- (otl_gdef_validate): Fix calls to otl_class_definition_validate,
- otl_attach_list_validate, otl_ligature_caret_list_validate, and
- otl_class_definition_validate.
-
- * src/otlayout/otltable.h (otl_table_validate, otl_table_init,
- otl_table_set_script): Comment out.
-
- * src/otlayout/otlparse.h (OTL_ParserRec):
- s/OTL_Alternate/OTL_GSUB_Alternate/.
- (OTL_ParseError): Add OTL_Err_Parser_Memory and
- OTL_Err_Parser_Internal.
- (otl_parser_error): Fix typo.
- (otl_parser_check_property): Remove third argument.
-
- * src/otlayout/otlparse.c (otl_string_ensure):
- s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
- (OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
- otl_parser_replace_1, otl_parser_replace_n): Fix typos.
- (OTL_PARSER_UNCOVERED): Removed.
- (otl_parser_check_property): Remove third argument.
-
- * src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
- variable declaration.
-
- * src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
-
-2004-08-11 Danny <dannyboynow@yahoo.com>
-
- * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
- to NULL. This allows custom close functions to delete the FT_STREAM
- object.
-
-2004-08-11 Werner Lemberg <wl@gnu.org>
-
- Add API to get information about SFNT tables.
-
- * include/freetype/internal/services/svsfnt.h
- (FT_SFNT_Table_Info_Func): New typedef.
- (SFNT_Table): Add it.
-
- * src/base/ftobjs (FT_Sfnt_Table_Info): New function.
-
- * include/freetype/tttables.h: Updated.
-
- * src/sfnt/sfdriver.c (sfnt_table_info): New function.
- (sfnt_service_sfnt_table): Add it.
-
- * docs/CHANGES: Updated.
-
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
-
- * builds/unix/configure.ac (version_info): Set to 9:8:3.
- * builds/unix/configure: Updated.
+ * builds/unix/configure.ac (version_info): Set to 9:9:3.
+ Currently, we are still binary compatible.
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
@@ -1816,10221 +24,40 @@
* docs/CHANGES, docs/VERSION.DLL: Updated.
-2004-08-11 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/base/ftrfork.c (FT_Raccess_Guess)
- [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
- warnings.
-
-2004-08-06 Adam Piotrowski <st_intel@poczta.onet.pl>
-
- * src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
- adjustments are unsigned, not signed.
-
-2004-08-05 David Turner <david@freetype.org>
-
- `Activate' gray-scale specifing hinting within the TrueType
- bytecode interpreter. This is an experimental feature which
- should probably be made optional.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
- load_truetype_glyph): Move the code to set the pedantic_hinting flag
- to...
- (TT_Load_Glyph): Here.
- Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
-
- * src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
- version 1.7.
- Return rotation and stretching info only if glyph is rotated or
- stretched, respectively.
- Handle grayscale info.
-
- * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
- member.
-
-2004-08-02 George Williams <gww@silcom.com>
-
- * src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
-
-2004-08-01 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-08-01 George Williams <gww@silcom.com>
-
- FreeType now can read kerning values from PFM files.
-
- * src/type1/t1afm.c (T1_Done_AFM): Renamed to...
- (T1_Done_Metrics): This.
- Update all callers.
- (T1_Read_AFM): Make it static.
- Don't enter and leave a frame.
- (LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
- (T1_Read_PFM): New function.
- (T1_Read_Metrics): New higher-level function to be used instead of
- T1Read_AFM.
- Update all callers.
-
-2004-07-31 Werner Lemberg <wl@gnu.org>
-
- * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
- (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
- tt_face_vary_cvt): Fix compiler warnings.
-
-2004-07-26 Søren Sandmann <sandmann@daimi.au.dk>
-
- * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
- face->style_name.
- * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
-
-2004-07-26 Darren J Longhorn <darren.longhorn@redcom.co.uk>
-
- * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
- five-byte `long' (which is avoided then).
-
-2004-07-25 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
- ppem values.
- (PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
- code to compare ppem values.
- * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
- ppem values.
- (BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
- code to compare ppem values.
-
-2004-07-25 Kornfeld Eliyahu Peter <peter@e-kadmon.net>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Handle
- TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
-
-2004-07-24 Derek B. Noonburg <derekn@foolabs.com>
-
- * src/cff/cffload.c (cff_font_load): Always create inverse mapping.
- Even if the charstring count is the same as the CID count, it is
- still possible that the font uses a different CID -> GID mapping.
-
-2004-07-23 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
- found in some Arphic fonts made for Chinese version of Windows 3.1.
-
-2004-07-17 David Turner <david@freetype.org>
-
- Fixed a dangling pointer bug in the cache code that happened in very
- rare cases, i.e., when a new family object was destroyed by an
- out-of-memory condition during a glyph node initialization. The
- function FTC_Cache_Lookup would flush the cache and restart the
- lookup with a bad pointer.
-
- * include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
- (FTC_GCACHE_LOOKUP_CMP): Use it.
- Handle reference count in `num_nodes' correctly.
-
- * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
- FTC_FAMILY_FREE.
- (FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
-
- * src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
- bug.
-
- * src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
- long and unnecessary delays while normalizing huge vectors.
-
-2004-07-15 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
- * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
- warning.
-
-2004-07-15 David Turner <david@freetype.org>
-
- * src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
- are not stroked, preventing a bug with pala.ttf and other
- fonts.
-
- * include/freetype/ftstroke.h: Updating documentation comments.
-
-2004-07-13 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused.
-
-2004-07-12 David Turner <david@freetype.org>
-
- * src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
- to indicate reversion of points.
- Update all callers.
- (ft_stroke_border_reverse): Fix initialization of `point1' and
- `tag1'.
-
- * src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
- for transformed glyphs.
-
-2004-07-11 David Turner <david@freetype.org>
-
- Fix bugs that prevented the stroker to correctly generate stroked
- paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
-
- The code is still _very_ buggy though; treat with special care.
-
- * src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
- (ft_stroke_border_reverse): New function.
- (ft_stroker_inside): Remove local variable `sigma'; use different
- threshold.
- (ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
- (FT_Stroker_EndSubPath): Call ft_stroker_inside and
- ft_stroke_border_reverse.
-
-2004-06-26 Peter Kovar <peter.kovar@r3.roburnet.sk>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
-
-2004-06-25 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported
- by Dirck Blaskey.
-
-2004-06-24 David Turner <david@freetype.org>
-
-
- * Version 2.1.9 released.
- =========================
-
-
- * src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
- compiler warnings.
-
-2004-06-23 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
- FT_QAlloc_Debug and FT_QRealloc_Debug.
-
- * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
- (FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
- Fix error message.
-
-2004-06-23 David Turner <david@freetype.org>
-
- * include/freetype/internal/ftmemory.h, src/base/ftutil.c
- (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
- FT_QRealloc_Debug): New functions that perform allocation without
- zero-ing out the corresponding blocks.
-
- * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
- FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
- FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
- FT_QRENEW_ARRAY): New macros.
-
- * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
- * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY.
- * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
-
- * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
- tt_face_load_gasp): Use FT_QNEW_ARRAY.
- (tt_face_load_kern): Use FT_QNEW_ARRAY.
- Small optimization in the kerning table verifier; this speeds up
- TrueType face opening by about 7%.
- (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
-
- * include/freetype/config/ftmodule.h: Changed the order of modules,
- putting TrueType and Type 1 first. This dramatically improves the
- performance of face open/close operations. For example, putting the
- TrueType driver first in the list results in a 5x speedup when
- opening `Vera.ttf'.
-
- The very problem is that both the PCF and BDF drivers do a lot more
- than necessary to detect that they cannot handle a font file.
-
-2004-06-22 Werner Lemberg <wl@gnu.org>
-
- * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
- pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
- debugging messages.
-
- * src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
- (PCF_Face_Init): Simplify code.
-
- * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
-
- * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
- src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
- Set `default_glyph'.
- (BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
-
- * docs/CHANGES: Updated.
-
-2004-06-21 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-06-21 David Turner <david@freetype.org>
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
- load_truetype_glyph): Don't access (unrounded)
- `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes
- a scaling bug that caused incorrect rendering when the bytecode
- interpreter was enabled.
-
-2004-06-14 Huw D M Davies <h.davies1@physics.ox.ac.uk>
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
- based on pixel_width and pixel_height.
- (FNT_Size_Set_Pixels): Updated.
-
-2004-06-14 Werner Lemberg <wl@gnu.org>
-
- * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
- Reported by Hyvärinen Jyrki Juhani.
-
-2004-06-11 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-06-10 David Turner <david@freetype.org>
-
- * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
- src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
- Obsolete.
-
- * src/raster/ftraster.c (Alignment, PAlignment): New union to fix
- problems with 64bit systems.
- (AlignProfileSize): Use it.
-
-2004-06-08 David Turner <david@freetype.org>
-
- * include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta'
- and `rsb_delta' elements to...
- (FT_GlyphSlotRec): Here to retain binary compatibility with older
- FreeType versions.
- Update all users.
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
- of slot->metrics.width and slot->metrics.height when loading a
- Windows FNT glyph. Thanks to Huw Davies.
-
- * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
- return type to FT_Bool.
-
- * src/cache/ftbasic.c (ftc_basic_family_compare): Change return
- type to FT_Bool.
-
- * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
- the former call the latter, not vice versa.
- (FTC_Cache_Done, ftc_cache_done): Ditto.
-
- * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
- the former call the latter, not vice versa.
- (FTC_GCache_Init, ftc_gcache_init): Ditto.
- (FTC_GCache_Done, ftc_gcache_done): Ditto.
-
- * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
- former call the latter, not vice versa.
- (FTC_INode_Weight, ftc_inode_weight): Ditto.
-
- * src/cache/ftcmanag.c (ftc_size_node_compare,
- ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
- type to FT_Bool.
-
- * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
- former call the latter, not vice versa.
- (FTC_SNode_Weight, ftc_snode_weight): Ditto.
- (FTC_SNode_Compare, ftc_snode_compare): Ditto.
-
- * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
- sub-system.
-
-2004-06-05 Werner Lemberg <wl@gnu.org>
-
- * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
- `rsb_delta' in slot->metrics and tune side bearings slightly.
-
-2004-06-04 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-06-04 David Chester <davidchester@gmx.net>
-
- Improve inter-letter spacing for autohinted glyphs.
-
- * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
- `lsb_delta' and `rsb_delta'.
-
- * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
- `rsb_delta' in slot->metrics and tune side bearings slightly.
-
-2004-06-04 David Turner <david@freetype.org>
-
- * src/autofit/*: Important fixes to the auto-fitter. The output
- now seems to be 100% equivalent to the auto-hinter, while being
- about 2% faster (which proves that script-specific algorithm
- selection isn't a performance problem).
-
- To test it, change `autohint' to `autofit' in
- <freetype/config/ftmodule.h> and recompile.
-
- A few more testing is needed before making this the official
- auto-hinting module.
-
-2004-06-02 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
- warnings.
-
-2004-06-01 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
- name record for the Apple platform is preferred to a non-English
- entry for the Microsoft platform. Problem reported by HANDA
- Ken'ichi.
-
-2004-05-19 George Williams <gww@silcom.com>
-
- * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
- auxiliary functions.
- (T1_Get_MM_Var): Provide axis tags.
- Use mm_axis_unmap and mm_weights_unmap to provide default values
- for design and normalized axis coordinates.
-
- * include/freetype/t1tables.h (PS_DesignMapRec): Change type of
- `design_points' to FT_Long.
- Update all users.
-
-2004-05-17 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
- Reported by Mikey Anbary <manbary@vizrt.com>.
-
-2004-05-15 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
-
-2004-05-15 George Williams <gww@silcom.com>
-
- * src/sfnt/ttload.c (tt_face_load_max_profile): Always set
- face->root.num_glyphs.
-
-2004-05-14 Masatake YAMATO <jet@gyve.org>
- George Williams <gww@silcom.com>
-
- * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
-
-2004-05-14 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftcbasic.c (ftc_basic_family_compare,
- ftc_basic_family_init, ftc_basic_family_get_count,
- ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
- ftc_basic_gnode_compare_faceid): Adjust parameters and return types
- to prototypes given in header files from include/freetype/cache.
- Use casts to proper types locally.
- (ftc_basic_image_family_class, ftc_basic_image_cache_class,
- ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
- casts.
-
- * src/cache/ftccback.h: Adjust parameters and return types to
- prototypes given in header files from include/freetype/cache.
-
- * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
- ftc_inode_weight): Adjust parameters and return types to prototypes
- given in header files from include/freetype/cache. Use casts to
- proper types locally.
-
- * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
- ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
- types to prototypes given in header files from
- include/freetype/cache. Use casts to proper types locally.
-
- * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
- ftc_cmap_node_weight, ftc_cmap_node_compare,
- ftc_cmap_node_remove_faceid): Adjust parameters and return types to
- prototypes given in header files from include/freetype/cache. Use
- casts to proper types locally.
- (ftc_cmap_cache_class): Remove casts.
-
- * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
- ftc_gcache_done): Adjust parameters and return types to prototypes
- given in header files from include/freetype/cache. Use casts to
- proper types locally.
-
- * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
- ftc_size_node_init, ftc_size_node_reset,
- ftc_size_node_compare_faceid, ftc_face_node_init,
- ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
- return types to prototypes given in header files from
- include/freetype/cache. Use casts to proper types locally.
-
- (ftc_size_list_class, ftc_face_list_class): Remove casts.
-
-2004-05-13 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
- Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
- (autohint_module_class): Remove casts.
-
- * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
- ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
- ft_outline_glyph_done, ft_outline_glyph_copy,
- ft_outline_glyph_transform, ft_outline_glyph_bbox,
- ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
- to FT_XXXGlyph locally.
- Use FT_CALLBACK_DEF throughout.
- (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
-
- * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
- bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
- and do a cast to BDF_CMap locally.
- (bdf_cmap_class): Remove casts.
-
-2004-05-12 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffgload.h (CFF_Builder): Remove `error'.
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
- `Memory_Error' with `Fail' und update all users.
-
-2004-05-11 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/psaux.h (T1_ParseState): New
- enumeration.
- (T1_BuilderRec): Replace `path_begun' with `parse_state'.
- Remove `error'.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
- `Memory_Error' with `Fail' and update all users.
- Don't use `builder->error'.
- Replace `path_begun' with `parse_state' and check parsing states.
-
- * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
- Replace `path_begun' with `parse_state' and check parsing states.
-
-2004-05-10 George Williams <gww@silcom.com>
-
- * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
- of error -- `avar' is optional so we can't rely on tt_done_blend
- being called automatically.
-
-2004-05-09 George Williams <gww@silcom.com>
-
- * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
- error handling.
-
-2004-05-07 Werner Lemberg <wl@gnu.org>
-
- * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
- pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
- pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
- typecast to the proper PFR_XXX types within the function.
- Update code accordingly.
-
- * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
- pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
- arguments which are typecast to the proper PFR_XXX types within the
- function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (pfr_metrics_service_rec, pfr_driver_class): Remove casts.
-
-2004-05-06 Masatake YAMATO <jet@gyve.org>
-
- * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
- (*): Rename local variable OffsetToData to offsetToData.
-
-2004-05-06 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
- cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
- root fields directly.
- * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
- frame before calling TT_Vary_Get_Glyph_Deltas.
-
- * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
- consistency.
- (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
- pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
- are typecast to the proper PCF_XXX types within the function.
- Update code accordingly.
- (pcf_cmap_class): Remove casts.
- (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
- PCF_XXX but FT_XXX arguments which are typecast to the proper
- PCF_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (PCF_Set_Point_Size): New wrapper function.
- (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
- (pcf_driver_class): Remove casts.
-
-2004-05-04 Steve Hartwell <shspamsink@comcast.net>
-
- * src/truetype/ttobjs.c (tt_driver_done): Fix typo.
-
-2004-05-04 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
- BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
- are typecast to the proper BDF_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (BDF_Set_Point_Size): New wrapper function.
- (bdf_driver_class): Remove casts.
-
- * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
- Don't use CFF_XXX but FT_XXX arguments which are typecast to the
- proper CFF_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (cff_driver_class): Remove casts.
-
- * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
- cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
- cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
- Don't use CFF_XXX but FT_XXX arguments which are typecast to the
- proper CFF_XXX types within the function.
- Update code accordingly.
- (cff_point_size_reset): New wrapper function.
-
- * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
- cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
- cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
- Don't use CID_XXX but FT_XXX arguments which are typecast to the
- proper CID_XXX types within the function.
- Update code accordingly.
- (cid_point_size_reset): New wrapper function.
-
- * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
- Don't use CID_XXX but FT_XXX arguments which are typecast to the
- proper CID_XXX types within the function.
- Update code accordingly.
-
- * src/cid/cidriver.c (cid_get_interface):
- Don't use CID_XXX but FT_XXX arguments which are typecast to the
- proper CID_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF.
- (t1cid_driver_class): Remove casts.
-
- * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
- * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
- variables (this is done later).
- (ft_var_load_avar): Fix call to FT_FRAME_ENTER.
- (TT_Get_MM_Var): Fix size for `fvar_fields'.
- (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
- correctly.
-
- * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
- current size is zero.
-
-2004-05-03 Steve Hartwell <shspamsink@comcast.net>
-
- * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
- tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
- tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
- typecast to the proper TT_XXX types within the function.
- Update code accordingly.
-
- * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
- Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
- FT_XXX arguments which are typecast to the proper TT_XXX types
- within the function.
- Update code accordingly.
- (tt_driver_class): Remove casts.
-
-2004-05-02 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
- is not NULL. Reported by Gordon Childs <gchilds@quickcut.com.au>.
-
-2004-04-29 Werner Lemberg <wl@gnu.org>
-
- * docs/formats.txt: Add more information on PFR format.
-
-2004-04-28 Werner Lemberg <wl@gnu.org>
-
- * docs/formats.txt: New file.
- * docs/CHANGES: Updated.
-
-2004-04-28 Masatake YAMATO <jet@gyve.org>
-
- * include/freetype/internal/tttypes.h (GX_BlendRec_)
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
-
- * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
-
-2004-04-27 Masatake YAMATO <jet@gyve.org>
-
- * src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
- for function declarations.
-
-2004-04-25 George Williams <gww@silcom.com>
-
- * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
-
-2004-04-25 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/Jamfile, docs/CHANGES: Updated.
-
-2004-04-24 Werner Lemberg <wl@gnu.org>
-
- * src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
- * src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
- * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
- Use FT_BEGIN_HEADER and FT_END_HEADER.
- Use FT_LOCAL.
-
-2004-04-24 George Williams <gww@silcom.com>
-
- Add support for Apple's distortable font technology (in GX fonts).
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
-
- * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
- FT_MM_Var): New structures.
- (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
- FT_Set_Var_Blend_Coordinates): New function declarations.
-
- * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
- FT_Set_Var_Design_Func): New typedefs.
- Update MultiMasters service.
-
- * include/freetype/internal/tttypes.h
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
- (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
- (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
- and `blend'.
-
- * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
- macros.
-
- * include/freetype/internal/fttrace.h: Add `ttgxvar'.
-
- * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
- FT_Set_Var_Blend_Coordinates): New functions.
-
- * src/sfnt/sfobjs.c (sfnt_load_face)
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
- flag for GX var fonts.
-
- * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
-
- * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.c.
-
- * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
- (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
- New service.
- (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
-
- * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.h.
- (TT_Process_Simple_Glyph, load_truetype_glyph)
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.
-
- * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.h.
- (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
- tt_done_blend.
-
- * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.h.
- (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
- tt_face_vary_cvt.
-
- * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
-
- * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
- and T1_Set_Var_Design.
-
- * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
- (T1_Get_MM_Var, T1_Set_Var_Design): New functions.
-
- * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
- function declarations.
-
-2004-04-23 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
- declaration and move to...
- * include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
- (FREETYPE_PATCH): Set to 9.
-
- * src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
-
- * builds/unix/configure.ac (version_info): Set to 9:7:3.
- * builds/unix/configure: Updated.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: s/218/219/.
-
- * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
- s/2.1.8/2.1.9/.
-
- * docs/CHANGES, docs/VERSION.DLL: Updated.
-
-2004-04-21 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
- (ps_parser_load_field): Use FT_CHAR_BIT.
-
-2004-04-21 David Turner <david@freetype.org>
-
-
- * Version 2.1.8 released.
- =========================
-
-
- * src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
-
- * src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
- (af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
- Remove compiler warnings.
-
- * src/autofit/aftypes.h: Undefine AF_DEBUG.
-
- * src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
- pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
- (ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
- t42_service_ps_font_name): Decorate data arrays with `const' to
- avoid populating the `.data' segment.
-
- * src/lzw/Jamfile: New file.
-
-2004-04-20 Werner Lemberg <wl@gnu.org>
-
- * src/psaux/psobjs.c (T1Radix): Renamed to...
- (ps_radix): This.
- Update current cursor position.
-
- * docs/CHANGES: Updated.
-
-2004-04-18 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
- src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
- FT_UInt. From Lex Warners.
-
-2004-04-17 Chisato Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp>
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
- from 2004-03-19.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
-
- * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
- `static'.
- Remove unused function `RepadBitmap'.
- * src/pcf/pcfdrivr.c: Don't include pcfutil.h.
-
-2004-04-16 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/freetype-config.in (usage): Fix and improve usage
- information.
-
-2004-04-15 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
- FT_CHAR_BIT.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
- glyph is vertically distorted or mirrored.
-
- * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
- for embedded bitmaps.
-
- * docs/CHANGES: Updated.
-
-2004-04-15 bytesoftware <bytesoftware@btinternet.com>
-
- * include/freetype/config/ftconfig.h, src/base/ftstream.c
- (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
-
-2004-04-14 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
-
-2004-04-14 Alex Strelnikov <ptktyrf@mail.ru>
-
- * src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
- of error.
-
-2004-04-14 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
- * builds/unix/configure.ac: Don't try to remove `-ansi' compilation
- switch on the Mac.
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.6.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.8a.
- * builds/unix/configure: Regenerated with autoconf 2.59a.
-
-2004-04-13 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftconfig.h: Use CHAR_BIT to define
- size of FT_SIZEOF_xxx.
-
-2004-04-12 Chisato Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp>
-
- * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
- TT_Load_SBit_Metrics_Func): New typedefs.
- (SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
-
- * src/sfnt/sfdriver.c (sfnt_interface): Updated.
- * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
- declarations.
- * src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
- (tt_find_sbit_image): This.
- Updated all callers.
- (load_sbit_metrics): Renamed to...
- (tt_load_sbit_metrics): This.
- Updated all callers.
-
-2004-04-12 Werner Lemberg <wl@gnu.org>
-
- * configure: Accept makepp also.
-
- * builds/unix/detect.mk: Use proper path to unix-def.mk.
- * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
- * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
- Use BUILD_DIR.
-
- * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
- documentation on makepp.
-
-2004-04-11 Werner Lemberg <wl@gnu.org>
-
- * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
-
-2004-04-10 Werner Lemberg <wl@gnu.org>
-
- * src/lzw/ftlzw.c: Include zopen.h dependent on
- FT_CONFIG_OPTION_USE_LZW.
-
- * src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
-
-2004-04-02 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.2.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.8a.
- * builds/unix/configure: Regenerated with autoconf 2.59a.
-
-2004-04-01 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
- AC_COMPILE_IFELSE.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.8a.
- * builds/unix/configure: Regenerated with autoconf 2.59a.
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
- * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
- `texinfo' CVS module at subversions.gnu.org.
- * builds/freetype.mk (refdoc): Updated.
-
-2004-03-31 Werner Lemberg <wl@gnu.org>
-
- Handle broken FNT files which don't have a trailing NULL byte
- in the face name string.
-
- * src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
- * src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
- (FNT_Face_Init): Append a final zero byte to the font face name.
-
-2004-03-30 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
- 2004-03-19.
-
-2004-03-27 Werner Lemberg <wl@gnu.org>
-
- * src/base/descrip.mms (OBJS): Add ftbbox.obj.
-
-2004-03-26 George Williams <gww@silcom.com>
-
- Add vertical phantom points.
-
- * include/freetype/internal/tttypes.h (TT_LoaderRec): Add
- `top_bearing', `vadvance', `pp3, and `pp4'.
-
- * src/autofit/afloader.c (af_loader_load_g): Handle two more points.
-
- * src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
- * src/truetype/ttgload.c (Get_VMetrics): New function.
- (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
- points.
- (load_truetype_glyph): Use Get_VMetrics.
- Handle two more points.
- (compute_glyph_metrics): Thanks to vertical phantom points we now
- can always compute `advance_height' and `top_bearing'.
- * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
- points.
-
-
- * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
- `news'.
-
-2004-03-21 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
-
-2004-03-20 Steve Hartwell <shspamsink@comcast.net>
-
- * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
- value for `selection' as `select all'.
-
-2004-03-19 Steve Hartwell <shspamsink@comcast.net>
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
- values > 0 if loading non-TTC fonts.
-
- * src/base/ftmac.c (open_face_from_buffer): Set positive face_index
- to zero before calling FT_Open_Face.
-
- * docs/CHANGES: Updated.
-
-2004-03-04 Werner Lemberg <wl@gnu.org>
-
- * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
- Add LZW module.
-
- * Jamfile.in: Removed.
-
- * docs/CHANGES: Updated.
-
- * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
- s/ABS/FT_ABS/. Updated all callers.
-
- * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
- (PCF_Face_Init): Use FT_ERROR_BASE.
-
-2004-03-04 Albert Chin <china@thewrittenword.com>
-
- Add support for PCF fonts compressed with LZW (extension .pcf.Z,
- created with `compress').
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (FT_CONFIG_OPTION_USE_LZW): New macro.
-
- * include/freetype/ftlzw.h: New file.
- * include/freetype/config/ftheader.h (FT_LZW_H): New macro for
- ftlzw.h.
-
- * src/lzw/*: New files.
-
- * src/pcf/pcfdrivr.c: Include FT_LZW_H.
- (PCF_Face_Init): Try LZW also.
-
- * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
- Beautify.
-
-2004-03-03 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
-
-2004-03-02 Werner Lemberg <wl@gnu.org>
-
- Add embedded bitmap support to CFF driver.
-
- * src/cff/cffobjs.h (CFF_SizeRec): New structure.
-
- * src/cff/cffgload.c (cff_builder_init): Updated.
- (cff_slot_load): Updated.
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
-
- * src/cff/cffobjs.c (sbit_size_reset)
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
- (cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
- (cff_size_reset): Updated.
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
-
- * src/cff/cffdrivr.c (Load_Glyph): Updated.
- (cff_driver_class): Use CFF_SizeRec.
-
- * docs/CHANGES: Updated.
-
-2004-03-01 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
- FT_RoundFix but FT_PIX_ROUND.
- (psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
-
- * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
- (psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
- (psh_glyph_find_blue_points): New function. Needed for fonts like
- p052003l.pfb (URW Palladio L Roman) which have flex curves at the
- base line within blue zones, but the flex curves aren't covered by
- hints.
- (ps_hints_apply): Use psh_glyph_find_blue_points.
-
-2004-02-27 Garrick Meeker <garrick@digitalanarchy.com>
-
- * builds/unix/configure.ac: Fix compiler flags for
- `--with-old-mac-fonts'.
- * builds/unix/configure: Regenerated.
-
- * src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
- (FT_New_Face_From_Resource): New function.
- (FT_New_Face): Use FT_New_Face_From_Resource.
- (FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
- [__MWERKS__]: Don't include FSp_fopen.h.
-
-2004-02-26 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshglob.c (psh_globals_new): Fix value of
- `dim->stdw.count'.
- Don't assign default values to blue scale and blue shift.
-
-2004-02-25 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-02-25 Garrick Meeker <garrick@digitalanarchy.com>
- Steve Hartwell <shspamsink@comcast.net>
-
- Improve MacOS fond support. Provide a new API
- `FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
-
- * src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
- STREAM_FILE [__MWERKS__]: New macro.
- (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
- (file_spec_from_path) [__MWERKS__]: Updated #if statement.
- (get_file_type, make_lwfn_spec): Use `const' for argument.
- (is_dfont) [TARGET_API_MAC_CARBON]: Removed.
- (count_face_sfnt, count_faces): New functions.
- (parse_fond): Do some range checking.
- (read_lwfn): Change type of second argument.
- No longer call FSpOpenResFile.
- (OpenFileAsResource): New function.
- (FT_New_Face_From_LWFN): Use `const' for second argument.
- Use OpenFileAsResource.
- (FT_New_Face_From_Suitcase): Change type of second argument.
- No longer call FSpOpenResFile.
- Loop over all resource indices.
- (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
- (FT_GetFile_From_Mac_Name): Use `const' for first argument.
- (ResourceForkSize): Removed.
- (FT_New_Face): Updated to use new functions.
- (FT_New_Face_From_FSSpec): New function.
-
- * include/freetype/ftmac.h: Updated.
-
-2004-02-24 Malcolm Taylor <mtaylor@clear.net.nz>
-
- * src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
- Handle case where outline->num_vedges is zero while computing hinted
- metrics.
-
-2004-02-24 Gordon Childs <gchilds@quickcut.com.au>
-
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
- for `count'.
-
-2004-02-24 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/t1tables.h (PS_PrivateRec): Add
- `expansion_factor'.
-
- * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
- of blues->no_overshoots -- `blues_scale' is stored with a
- magnification of 1000, and `scale' returns fractional pixels.
-
- * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
- `blue_fuzz', `expansion_factor', and `blue_scale' according to the
- Type 1 specification.
-
- * src/type1/t1tokens.h: Handle `ExpansionFactor'.
-
- * docs/CHANGES: Updated.
-
-2004-02-24 Masatake YAMATO <jet@gyve.org>
-
- Provide generic access to MacOS resource forks.
-
- * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
- files.
-
- * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
- (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
- `resource_listoffset' and `resource_data' and adapt code
- accordingly. These values are calculated outside of the function
- now.
- Add new argument `offsets'.
- (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
- `FT_Raccess_Get_DataOffsets'.
- (load_face_in_embedded_rfork): New function.
- (load_mac_face): Use load_face_in_embedded_rfork.
- (ft_input_stream_new): Renamed to...
- (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers.
- (ft_input_stream_free): Renamed to...
- (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers.
-
- * src/base/ftbase.c: Include ftrfork.c.
-
- * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
- New macro.
-
- * include/freetype/internal/fttrace.h: Added `rfork' as a new
- trace definition.
-
- * include/freetype/internal/ftstream.h: Declare FT_Stream_New and
- FT_Stream_Free.
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
-
- * include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
-
-2004-02-23 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
- * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
-
-2004-02-23 Masatake YAMATO <jet@gyve.org>
-
- Provide a simple API to control FreeType's tracing levels.
-
- * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
- FT_Trace_Get_Name): New declarations.
-
- * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
- functions.
-
-2004-02-23 David Turner <david@freetype.org>
-
- * src/autofit/afhints.c, src/autofit/afhints.h,
- src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
- bugs have been fixed. The auto-fitter works, doesn't crash, but
- still produces unexpected results...
-
-2004-02-21 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
- the accepted shift for strong points in fractional pixels (which
- is a heuristic value).
- (psh_glyph_find_strong_points): Compute threshold for
- psh_hint_table_find_strong_points.
- (psh_hint_table_find_strong_point): Add parameter to pass threshold.
-
-2004-02-20 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
- ps_mask_table_alloc but ps_mask_table_last.
- (ps_hints_t2mask): Use correct position and number for vertical
- and horizontal hinter mask bits.
-
- * docs/CHANGES: Updated.
-
-2004-02-19 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
- * src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
-
-2004-02-18 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
-
- * src/base/ftglyph.c (ft_bitmap_glyph_class,
- ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
-
- * src/smooth/ftsmooth.c (ft_smooth_render): Handle
- FT_RENDER_MODE_LIGHT.
-
-2004-02-17 Werner Lemberg <wl@gnu.org>
-
- Fix callback functions in cache module.
-
- * src/cache/ftccback.h: New file for callback declarations.
-
- * src/cache/ftcbasic.c (ftc_basic_family_compare,
- ftc_basic_family_init, ftc_basic_family_get_count,
- ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
- ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
- (ftc_basic_image_family_class, ftc_basic_image_cache_class,
- ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
- Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
-
- * src/cache/ftccache.c: Include ftccback.h.
- (ftc_cache_init, ftc_cache_done): New wrapper functions which use
- FT_LOCAL_DEF.
-
- * src/cache/ftccmap.c: Include ftccback.h.
- (ftc_cmap_cache_class): Use local wrapper functions.
-
- * src/cache/ftcglyph.c: Include ftccback.h.
- (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
- functions which use FT_LOCAL_DEF.
-
- * src/cache/ftcimage.c: Include ftccback.h.
- (ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
- functions which use FT_LOCAL_DEF.
-
- * src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
- Use FT_CALLBACK_TABLE_DEF.
-
- * src/cache;/ftcsbits.c: Include ftccback.h.
- (ftc_snode_free, ftc_snode_new, ftc_snode_weight,
- ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
-
- * src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
-
-2004-02-17 Masatake YAMATO <jet@gyve.org>
-
- * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
- (FT_EXPORT_DEF -> FT_EXPORT).
-
- * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
-
-2004-02-15 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
-
-2004-02-14 Masatake YAMATO <jet@gyve.org>
-
- * builds/unix/ftsystem.c: Include errno.h.
- (ft_close_stream): Renamed to...
- (ft_close_stream_by_munmap): This.
- (ft_close_stream_by_free): New function.
- (FT_Stream_Open): Use fallback method if mmap fails.
- Use proper function for closing the stream.
-
-2004-02-14 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_dict): Initialize `start_binary'.
-
-2004-02-13 Robert Etheridge <roberte@stcc.cc.tx.us>
-
- * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
- (T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
- of underline_position and underline_thickness.
-
-2004-02-12 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
- ppem values don't change. Suggested by Graham Asher.
-
-2004-02-11 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidload.c (cid_face_open): Always allocate
- face->cid_stream so that we can deallocate it safely.
-
-2004-02-10 Werner Lemberg <wl@gnu.org>
-
- Make the PS parser more tolerant w.r.t. non-standard font data. In
- general, an error is only reported in case of a syntax error; a
- wrong type is now simply ignored (if possible). To be independent
- of the order of various MM-specific keywords, the parse_shared_dict
- routine has been removed -- the PS parser is now capable to skip
- this data. It no longer fails on parsing e.g.
-
- dup /WeightVector exch def
-
- Since the token following /WeightVector isn't `[' (starting an
- array) it is simply ignored.
-
- * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
- new internal error value.
-
- * src/type1/t1load.c (parse_blend_axis_types,
- parse_blend_design_positions, parse_blend_design_map): Return
- T1_Err_Ignore if no proper array is following the keyword.
- (parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
- structure, if necessary.
- Return T1_Err_Ignore if no proper array is following the keyword.
- (parse_shared_dict): Removed.
- (parse_encoding): Set parser->root.error to return T1_Err_Ignore
- if no result can be obtained.
- Check for errors before accessing `elements' array.
- (t1_keywords): Remove /shareddict.
- (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
- Set keyword_flag only in case of success.
- Check error code if skipping an unrecognized token.
- (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
- if blend commands haven't set up a proper MM font.
-
- * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
- code for synthetic fonts.
- Return PSaux_Err_Ignore if no proper value has been found.
-
-2004-02-09 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- <cff_op_endchar>: Preserve glyph width before calling
- cff_operator_seac.
-
-2004-02-09 Martin Muskens <mmuskens@aurelon.com>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
- first argument for `hintmask' and `cntrmask' operators also.
-
-2004-02-08 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.in: Call AC_SUBST for `enable_shared',
- `hardcode_libdir_flag_spec', and `wl'.
- * builds/unix/configure: Regenerated.
-
- * builds/unix/freetype-config.in: Make --prefix and --exec-prefix
- actually work.
- Report a proper --rpath (or -R) value for --libs argument if a
- shared library has been built.
-
- * docs/CHANGES: Updated.
-
-2004-02-07 Keith Packard <keithp@keithp.com>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
- computation of various vertical and horizontal metric values.
-
- * src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
- Ditto.
-
-2004-02-07 Werner Lemberg <wl@gnu.org>
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
-
-2004-02-07 Vitaliy Pasternak <v_a_pasternak@mail.ru>
-
- * builds/win32/visualc/freetype.sln,
- builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
-
-2004-02-03 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
- Initialize `node'.
- * src/type1/t1load.c (parse_dict): Initialize `have_integer'.
-
-2004-02-02 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
- outside of /Subrs or /CharStrings. This can happen if there is
- additional code manipulating those two arrays so that FreeType
- doesn't recognize them properly.
- (T1_Open_Face): Improve an error message.
-
-2004-02-01 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_charstrings): Exit immediately if
- there are no elements in /CharStrings. This is needed for fonts
- like Optima-Oblique which not only define /CharStrings but access it
- also.
-
-2004-02-01 David Turner <david@freetype.org>
-
- * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
- <FTC_INLINE>: Provide macro version which doesn't use inline code.
- * include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
- <FTC_INLINE>: Ditto.
- Use FTC_MRULIST_LOOKUP_CMP.
- * include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
- macro.
- (FTC_MRULIST_LOOKUP): Use it.
-
- * src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
- * src/cache/ftcbasic.c: Fix compiler warnings.
- * src/cache/ftcmanag.c (FTC_Manager_LookupSize,
- FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
- * src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
- heavy testing).
-
- * Jamfile: Updating `refdoc' target, and adding `autohint' to the
- list of modules to build. Both the autohinter and autofitter will
- be built by default. But which one will be used is determined by
- the content of `ftmodule.h'.
-
- * src/autofit/*: Many updates, but the code is still buggy...
-
-2004-01-31 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
- accent offset.
- Update code similarly to the seac support for Type 1 fonts.
- (cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
- of accent offset.
- Don't hint glyphs twice if seac is emulated.
- <cff_op_flex>: Assign correct point tags.
- * docs/CHANGES: Updated.
-
-2004-01-30 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
- FT_MEM_COPY, for copying the private dict.
-
- * src/type1/t1load.c (parse_subrs): Assign number of subrs only
- in first run.
- (parse_charstrings): Parse /CharStrings in second run without
- assigning values.
- (parse_dict): Skip all /CharStrings arrays but the first. We need
- this for non-standard fonts like `Optima' which have different
- outlines depending on the resolution. Note that there is no
- guarantee that we get fitting /Subrs and /CharStrings arrays; this
- can only be done by a real PS interpreter.
-
-2004-01-29 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * builds/win32/visualc/index.html: New file, giving detailed
- explanations about forcing CR+LF line endings for the VC++ project
- files.
-
-2004-01-22 Garrick Meeker <garrick@digitalanarchy.com>
-
- * src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
-
-2004-01-22 Werner Lemberg <wl@gnu.org>
-
- Add support for the hexadicimal representation of binary data
- started with `StartData' in CID-keyed Type 1 fonts.
-
- * include/freetype/internal/t1types.h (CID_FaceRec): Add new
- members `binary_data' and `cid_stream'.
-
- * src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
- (cid_hex_to_binary): New auxiliary function.
- (cid_face_open): Add new argument `face_index' to return quickly
- if less than zero. Updated all callers.
- Call `cid_hex_to_binary', then open and assign memory stream to
- `face->cid_stream' if `parser->binary_length' is non-zero.
- * src/cid/cidload.h: Updated.
-
- * src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
- `cid_stream'.
-
- * src/cid/cidparse.c (cid_parser_new): Check arguments to
- `StartData' and set parser->binary_length accordingly.
- * src/cid/cidparse.h (CID_Parser): New member `binary_length'.
-
- * src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
-
- * docs/CHANGES: Updated.
-
-2004-01-21 Werner Lemberg <wl@gnu.org>
-
- include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
- (ft_atol): This.
- * src/base/ftdbgmem.c: s/atol/ft_atol/.
- * src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
-
-2004-01-20 Masatake YAMATO <jet@gyve.org>
-
- * include/freetype/ftcache.h: Delete duplicated definition of
- FTC_FaceID.
-
- * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
- Info service function if the cmap comes from sfnt. Return 0 if the
- cmap is sythesized in cff module.
-
-2004-01-20 David Turner <david@freetype.org>
-
- * src/cache/ftcmanag.c (ftc_size_node_compare): Call
- FT_Activate_Size.
-
-2004-01-20 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
- CR, LF, or CR/LF after `eexec'.
-
-2004-01-18 David Turner <david@freetype.org>
-
- * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
- warning.
-
- * src/tools/docmaker/*: Updating beautifier tool.
-
-2004-01-15 David Turner <david@freetype.org>
-
- * src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
- infinite loop bug.
-
- * include/freetype/ftstroke.h: Include FT_GLYPH_H.
- (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
- declarations.
-
- * src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
- (FT_Outline_GetOutsideBorder): Inverse result.
- (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New
- functions.
- (FT_Stroker_EndSubPath): Close path if needed.
- (FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
-
- * include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
- FTC_Manager_LookupSize): Moved to...
- * include/freetype/ftcache.h (FTC_ScalerRec,
- FTC_Manager_LookupSize): Here.
-
- * src/tools/docmaker/docbeauty.py: New file to beautify the
- documentation comments (e.g., to convert them to single block border
- mode).
- * src/tools/docmaker/docmaker.py (file_exists, make_file_list):
- Moved to...
- * src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
-
-2004-01-14 David Turner <david@freetype.org>
-
- * include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
- FT_ARRAY_MOVE): New macros to make copying arrays easier.
- Updated all relevant code to use them.
-
-2004-01-14 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
- Use number of charstrings as argument to CFF_Load_FD_Select (as
- documented in the CFF specs).
-
-2004-01-13 Graham Asher <graham.asher@btinternet.com>
-
- * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
- `glyph->memory' up to free arrays properly in case of failure.
-
-2004-01-10 Masatake YAMATO <jet@gyve.org>
-
- Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by
- Steve Hartwell <shspamsink@comcast.net>.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
- (cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
- (cff_get_cmap_info): New function.
- (cff_service_get_cmap_info) New entry for cff_services.
-
- * src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
- Suggested by Steve Hartwell <shspamsink@comcast.net>.
-
-2004-01-03 Masatake YAMATO <jet@gyve.org>
-
- * src/base/ftobjs.c (destroy_charmaps): New function.
- (destroy_face, open_face): Use `destroy_charmaps'.
-
-2004-01-01 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2004-01-01 Michael Jansson <mjan@em2-solutions.com>
-
- * src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
- size->metrics.descender.
-
-2003-12-31 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- [FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
- <cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
- cast for accessing arguments.
-
-2003-12-31 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
- change. It's not necessary.
-
-2003-12-29 Smith Charles <smith.charles@free.fr>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
- flags set' correctly.
-
-2003-12-29 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
- `full' and `weight' properly.
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- <cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
- tracing output.
-
-2003-12-26 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
- Use FT_UInt for ppem values.
- * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
- ppem values.
- * src/sfnt/ttsbit.h: Updated.
-
- * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
- larger than -0FFFF.
-
-2003-12-25 Werner Lemberg <wl@gnu.org>
-
- * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
- FT_INTERNAL_OBJECTS_H.
-
- * src/base/ftstroke.c (FT_Outline_GetInsideBorder,
- FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
- C++ compilers.
-
- * src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
- s/select/selection/ to avoid compiler warning.
- * src/cff/cffload.h: s/select/ftselect/ to avoid potential
- compiler warning.
-
-2003-12-24 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftcsbits.c (FTC_SNode_Weight):
- s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
-
-2003-12-24 David Turner <david@freetype.org>
-
- * Fixed compilation problems in the cache sub-system.
-
- * Partial updates to src/autofit.
-
- * Jamfile (FT2_COMPONENTS): Add autofit module.
-
-2003-12-23 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
- CID-keyed fonts.
-
-2003-12-23 David Turner <david@freetype.org>
-
- * include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
- FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros. They
- are used to avoid compiler warnings with very pedantic compilers.
- Note that `(x) & -64' causes a warning if (x) is not signed. Use
- `(x) & ~63' instead!
- Updated all related code.
-
- Add support for extraction of `inside' and `outside' borders.
-
- * src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
- (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
- FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
- (FT_StrokeBorderRec): New boolean member `valid'.
- (ft_stroke_border_get_counts): Updated.
- * include/freetype/ftstroke.h: Updated.
-
-2003-12-22 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
- to describe the `charset' field in FT_WinFNT_HeaderRec.
- * src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
- FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
-
- * include/freetype/freetype.h (FT_Encoding): Improve comment,
- based on work by Detlef Würkner <TetiSoft@apg.lahn.de>.
-
- * docs/CHANGES: Updated.
-
-2003-12-22 David Turner <david@freetype.org>
-
- * include/freetype/ftcache.h,
- include/freetype/cache/ftcmanag.h,
- include/freetype/cache/ftccache.h,
- include/freetype/cache/ftcmanag.h,
- include/freetype/cache/ftcmru.h (added),
- include/freetype/cache/ftlru.h (removed),
- include/freetype/cache/ftcsbits.h,
- include/freetype/cache/ftcimage.h,
- include/freetype/cache/ftcglyph.h,
- src/cache/ftcmru.c,
- src/cache/ftcmanag.c,
- src/cache/ftccache.c,
- src/cache/ftcglyph.c,
- src/cache/ftcimage.c,
- src/cache/ftcsbits.c,
- src/cache/ftccmap.c,
- src/cache/ftcbasic.c (added),
- src/cache/ftclru.c (removed):
-
- *Complete* rewrite of the cache sub-system to `solve' the
- following points:
-
- - all public APIs have been moved to FT_CACHE_H, everything
- under `include/freetype/cache' is only needed by client
- applications that want to implement their own caches
-
- - a new function named FTC_Manager_RemoveFaceID to deal
- with the uninstallation of FaceIDs
-
- - the image and sbit cache are now abstract classes, that
- can be extended much more easily by client applications
-
- - better performance in certain areas. Further optimizations
- to come shortly anyway...
-
- - the FTC_CMapCache_Lookup function has changed its signature,
- charmaps can now only be retrieved by index
-
- - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
- FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
- private header for the moment)
-
-2003-12-21 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
- is encountered.
-
-2003-12-19 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For
- example, the Japanese Hiragino font already contains 15 subfonts.
-
- * src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
- CID-keyed fonts.
-
- * devel/ftoption.h: Define FT_DEBUG_MEMORY.
-
-2003-12-18 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
- * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
-
-2003-12-18 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
- `cid_count' to `FT_ULong'.
-
- * src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
- array.
-
- * src/cff/cffload.c (cff_charset_done): Free `cids' array.
- (cff_font_load): Create cids array only for CID-keyed fonts which
- are subsetted.
-
- * src/cff/cffobjs.c (cff_face_init): Check the availability of
- the PSNames modules for non-pure CFFs also.
- Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
- CID-keyed.
-
- * src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
-
-2003-12-17 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/sfobjs.c (sfnt_init_face): Don't set
- FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
- table.
-
- * docs/CHANGES: Updated.
-
-2003-12-17 Masatake YAMATO <jet@gyve.org>
-
- Add new function FT_Get_CMap_Language_ID to extract the language ID
- for TrueType/sfnt fonts.
-
- * include/freetype/internal/services/svttcmap.h: New file.
- * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
- svttcmap.h.
-
- * src/sfnt/sfdriver.c: Include ttcmap0.h.
- (tt_service_get_cmap_info): New service.
- (sfnt_services): Updated.
-
- * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
- (tt_cmap*_class_rec): Add tt_cmap*_get_info members.
- (tt_get_cmap_info): New function.
- * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
- (TT_CMap_ClassRec): New field `get_cmap_info'.
- (tt_get_cmap_info): New declaration.
-
- * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
- (FT_Get_CMap_Language_ID): New function implementation.
- * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
- function declaration.
-
-2003-12-16 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete.
-
- * include/freetype/internal/sfnt.h (SFNT_Interface): Remove
- obsolete fields `load_charmap' and `free_charmap'.
- (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
- * src/sfnt/sfnt.c: Don't include ttcmap.c.
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
- * src/sfnt/ttload.c: Don't include ttcmap.h.
- * src/sfnt/sfdriver.c: Don't include ttcmap.h.
- (sfnt_interface): Updated.
-
- * include/freetype/internal/tttypes.h (TT_TableDirRec,
- TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
- TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
- TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
- TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
- Obsolete.
- * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete.
-
-2003-12-15 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2003-12-15 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * builds/atari/*: New directory for building FreeType 2 on Atari
- with the PureC compiler.
-
-2003-12-12 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
- cast.
- * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
- value is either 0 or 1.
-
-2003-12-12 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
- (cff_get_name_index): Return if no PSNames service is available.
- (cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
- * src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
- CID-keyed fonts. This is the inverse mapping of `sids'.
- * src/cff/cffload.c (cff_charset_load): New argument `invert'.
- Initialize charset->cids if `invert' is set.
- (cff_font_load): In call to cff_charset_load, set `invert' to true
- for CID-keyed fonts.
- * src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
- and map it to the real glyph index.
-
- * docs/CHANGES: Updated.
-
-2003-12-11 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_face_init): Don't set
- FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
- Don't construct a cmap for CID-keyed fonts.
-
-2003-12-10 Werner Lemberg <wl@gnu.org>
-
- Use implementation specific SID value 0xFFFF to indicate that
- a dictionary element is missing.
-
- * src/cff/cffload.c (cff_subfont_load): Initialize all fields
- which hold SIDs to 0xFFFF.
- (cff_index_get_sid_string): Handle SID value 0xFFFF.
- Handle case where `psnames' is zero.
- (cff_font_load): Updated.
- Don't load encoding for CID-keyed CFFs.
-
- * src/cff/cffobjs.c (cff_face_init): Updated.
- Don't check for PSNames module if font is CID-keyed.
- Compute style name properly (using the same algorithm as in the
- CID driver).
- Fix computation of style flags.
-
- * src/cff/cfftoken.h: Comment out handling of base_font_name.
- Rename `postscript' field to `embedded_postscript'
- * src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
- and `postscript'.
-
-2003-12-10 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
- of the similar BDF function).
- (pcf_service_bdf): Use it.
-
-2003-12-09 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
- only if a `post' table is present.
-
-2003-12-09 George Williams <gww@silcom.com>
-
- * src/base/ftobjs.c (load_mac_face): Recent versions of Linux
- support Mac's HFS+ file system, thus enable code to read /rsrc on
- non-Macintosh platforms also.
-
-2003-12-08 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/psaux.h (PS_TableRec): Change type
- of `lengths' to FT_PtrDist.
- (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
- * include/freetype/internal/t1types.h (T1_FontRec): Change type
- of `subrs_len' and `charstrings_len' to FT_PtrDist.
-
- * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
- variable with better solution.
- (IsMacResource): Remove unused variable `map_len'.
- Replace `junk' variable with better solution.
- (FT_Open_Face) [!FT_MACINTOSH]: Add conditional
- FT_CONFIG_OPTION_MAC_FONTS.
-
-2003-12-08 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/autohint/ahhint.c (ah_hinter_hint_edges,
- ah_hinter_align_strong_points): Add some casts.
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
- of `pos' to FT_Long.
-
- * src/base/ftobjs.c (Mac_Read_POST_Resource,
- Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
-
- * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
-
-2003-12-07 Werner Lemberg <wl@gnu.org>
-
- * docs/raster.txt: New file, taken from FreeType 1 and completely
- revised.
-
-2003-12-04 Masatake YAMATO <jet@gyve.org>
-
- * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
- t1_interface. t1_interface is used.
-
-2003-11-27 David Turner <david@freetype.org>
-
- * src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
- 2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
- the scaling values for outline units, not for metric units.
-
-2003-11-25 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftcalc.c, include/freetype/internal/ftcalc.h
- (FT_MulDiv_No_Round): Surround code with `#ifdef
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
-
-2003-11-23 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
- 64 bit version).
- * include/freetype/internal/ftcalc.h: Updated.
-
- * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
- (TT_INT64): Removed.
- (DO_DIV): Use TT_MULDIV_NO_ROUND.
-
- * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
- metrics->x_scale and metrics->y_scale.
-
-2003-11-22 Rogier van Dalen <R.C.van.Dalen@umail.leidenuniv.nl>
-
- * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
- (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
- functions. Similar to Direct_Move, Direct_Move_X, and
- Direct_Move_Y but without touching.
- (Compute_Funcs): Use new functions.
-
- (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
- Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
- Round_Super_45): Fix rounding of value zero.
-
- (DO_DIV): Don't use TT_MULDIV.
-
- (Ins_SHC): This instruction actually touches the points.
- (Ins_MSIRP): Fix undocumented behaviour.
-
- * src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
-
-2003-11-22 Werner Lemberg <wl@gnu.org>
-
- * docs/VERSION.DLL, docs/CHANGES: Updated.
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
- metrics->y_scale really precise.
-
- (FT_Load_Glyph): Update computation of linearHoriAdvance and
- linearVertAdvance.
-
- * src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
-
-2003-11-22 David Turner <david@freetype.org>
-
- * src/autofit/*: More updates.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
- * builds/unix/configure.ac (version_info): Set to 9:6:3.
- * README: Updated.
-
-2003-11-13 John A. Boyd Jr. <jaboydjr@netwalk.com>
-
- * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
- (pcf_interpret_style): Replace spaces with dashes in properties
- SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
-
-2003-11-11 Werner Lemberg <wl@gnu.org>
-
- * docs/CHANGES: Updated.
-
-2003-11-11 John A. Boyd Jr. <jaboydjr@netwalk.com>
-
- Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
- fonts.
-
- * src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
- (BDF_Face_Init): Don't handle style properties but call
- bdf_interpret_style.
-
- * src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
- (pcf_load_font): Don't handle style properties but call
- pcf_interpret_style.
-
-2003-11-07 Werner Lemberg <wl@gnu.org>
-
-
- * Version 2.1.7 released.
- =========================
-
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
-
- * builds/unix/ft2unix.h: Fix comments.
-
- * builds/unix/ftconfig.in: Synchronized with ANSI version.
- Use `#undef' in templates as recommended in the autoconf
- documentation.
- Since real `#undef' lines don't survive during configuration, use
- `/undef' instead; the postprocessing facility of the
- AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.
-
- * builds/unix/install.mk (install): Install Unix version of
- `ftconfig.h'.
-
- * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
- to include the correct `ftconfig.h' file.
-
- * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
- (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.
-
- * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.
-
- * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
- AC_CONFIG_HEADER to create ftconfig.h, and use second argument
- to replace `/undef' with `#undef'.
- Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
- Use AS_HELP_STRING in AC_ARG_WITH.
- Update syntax to autoconf 2.59.
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.7.8.
- * builds/unix/configure: Regenerated with autoconf 2.59.
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org
- * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
- `texinfo' CVS module at subversions.gnu.org.
-
- * builds/vms/ftconfig.h: Synchronized with ANSI version.
-
- * docs/CUSTOMIZE: Fix documentation error.
- * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.
-
- * builds/freetype.mk (refdoc): Updated --title.
-
-2003-11-07 David Turner <david@freetype.org>
-
-
- * Version 2.1.6 released.
- =========================
-
-
- * install: Removed. Obsolete.
-
-2003-11-04 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
- (sfnt_service_sfnt_table): New service.
- (sfnt_services): Updated.
-
- * docs/license.txt: Reworded.
-
-2003-11-03 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/*: Add a guard to all public header files which
- load FT_FREETYPE_H to reject freetype.h from FreeType 1.
-
-2003-11-02 Patrick Welche <prlw1@newn.cam.ac.uk>
-
- * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
- first argument of AC_DEFUN with brackets to avoid possible
- expansion.
-
-2003-11-02 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/cache/ftcglyph.h: Don't include stddef.h.
-
- * include/freetype/freetype.h: Fix check for ft2build.h.
-
-2003-11-01 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h: Check that ft2build.h has been
- loaded first.
-
- * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
- patch.
-
-2003-10-31 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
- Fix parameter order in calls to FT_FACE_FIND_SERVICE.
-
-2003-10-31 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftserv.h
- (FT_SERVICE_POSTSCRIPT_NAMES_H): Removed. Unused.
-
- * src/type42/t42drivr.c (t42_services): Updated.
-
-2003-10-29 David Turner <david@freetype.org>
-
- * include/freetype/internal/bdftypes.h: Removed. Obsolete.
- * src/base/ftbdf.c: Updated.
-
- * include/freetype/internal/cfftypes.h: Moved to...
- * src/cff/cfftypes.h: This place since no other module needs to
- know about those types.
-
- * include/freetype/internal/t42types.h: Moved to...
- * src/type42/t42types.h: This place since no other module needs to
- know about those types.
-
- * include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
-
- * include/freetype/internal/services/svpsname.h: Renamed to...
- * include/freetype/internal/services/svpscmap.h: This.
- Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
- `POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
-
- * include/freetype/internal/services/svpsinfo.h: New file, providing
- PostScript info service.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
- FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
- svpsinfo.h.
- * include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
- FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
-
- * src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
- FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
- FT_SERVICE_POSTSCRIPT_INFO_H.
- (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
- POSTSCRIPT_INFO service.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (cff_ps_has_glyph_names): New function.
- (cff_service_ps_info): New service.
- (cff_services): Updated.
-
- * src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
- include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
-
- * src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (cid_ps_get_font_info): New function.
- (cid_service_ps_info): New service.
- (cid_services): Updated.
-
- * src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
- (t1_service_ps_info): New service.
- (t1_services): Updated.
-
- * src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
- (t42_service_ps_info): New service.
-
- * src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
- but t42types.h directly.
-
- * src/psnames/psmodule.c (psnames_interface, psnames_services):
- Renamed to...
- (pscmaps_interface, pscmaps_services): This.
- Updated all users.
-
-
- * src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
-
-2003-10-22 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
- is real.
-
- * src/type42/t42parse.c (t42_parse_encoding): Improve boundary
- checking while parsing.
-
- * docs/CHANGES: Updated.
-
-2003-10-21 Josselin Mouette <joss@debian.org>
-
- * include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
- and `stroke_width' aren't pointers.
-
- * src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
- (T1_Face_Done): Don't free `paint_type' and `stroke_width'.
-
-2003-10-20 Graham Asher <graham.asher@btinternet.com>
-
- * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
-
-2003-10-19 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
- 2003-08-18 introduced a severe bug (FT_Render_Glyph was called
- twice under some circumstances, causing strange results). This
- is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
-
- * src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
- * src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
- * src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
-
-2003-10-16 Werner Lemberg <wl@gnu.org>
-
- Completely revised Type 42 parser. It now handles both fonts
- produced with ttftot42 (tested version 0.3.1) and
- TrueTypeToType42.ps (tested version May 2001; it is necessary to
- fix the broken header comment to be `%!PS-TrueTypeFont...').
-
- * src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
- parameter to `FT_UInt'.
- * src/type42/t42objs.h: Updated.
-
- * src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
- to FT_Bool.
- (T42_Loader): Change type of `num_chars' and `num_glyphs' to
- FT_UInt.
- Add `swap_table' element.
- * src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
- T1_ToCoordArray, T1_ToTokenArray): Removed.
- (T1_ToBytes): New macro.
- (t42_is_alpha, t42_hexval): Removed.
- (t42_is_space): Handle `\0'.
- (t42_parse_encoding): Updated to use new PostScript parser routines
- from psaux.
- Handle `/Encoding [ ... ]' also.
- (T42_Load_Status): New enumeration.
- (t42_parse_sfnts): Updated to use new PostScript parser routines
- from psaux.
- (t42_parse_charstrings): Updated to use new PostScript parser
- routines from psaux.
- Handle `/CharStrings << ... >>' also.
- Don't expect that /.notdef is the first element in dictionary. Copy
- code from type1 module to handle this.
- (t42_parse_dict): Updated to use new PostScript parser routines
- from psaux.
- Remove code for synthetic fonts (which can't occur in Type 42
- fonts).
- (t42_loader_done): Release `swap_table'.
-
- * src/psaux/psobjs.c (skip_string): Increase `cur' properly.
-
- * src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
- faster.
-
-2003-10-15 Graham Asher <graham.asher@btinternet.com>
-
- * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
- (fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
- _num_bdf_properties), src/gzip/infutil.c (inflate_mask),
- src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
- src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
- (inflate_trees_fixed): Decorate with more `const' to avoid
- writable global variables which are disallowed on ARM.
-
-2003-10-08 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
- code specially for synthetic fonts; this is handled elsewhere.
- (parse_encoding): Remove code specially for synthetic fonts; this is
- handled elsewhere.
- Improve boundary checking while parsing.
- (parse_dict): Improve boundary checking while parsing.
- Use ft_memcmp to simplify code.
-
-2003-10-07 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
- fonts properly.
- (parse_charstrings): Copy correct number of characters into
- `name_table'.
-
-2003-10-06 Werner Lemberg <wl@gnu.org>
-
- Heavy modification of the PS parser to handle comments and strings
- correctly. This doesn't slow down the loading of PS fonts
- significantly since charstrings aren't affected.
-
- * include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
- (ft_isxdigit): This. Updated all callers.
- (ft_isdigit): New alias to `isdigit'.
-
- * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
- `skip_alpha' to `skip_PS_token'.
- Add parameter to `to_bytes' and change some argument types.
-
- * src/psaux/psauxmod.c (ps_parser_funcs): Updated.
- * src/psaux/psobjs.c (ft_char_table): New array to map character
- codes (ASCII and EBCDIC) of digits to numbers.
- (OP): New auxiliary macro holding either `>=' or `<' depending on
- the character encoding.
- (skip_comment): New function.
- (skip_spaces): Use it.
- (skip_alpha): Removed.
- (skip_literal_string, skip_string): New functions.
- (ps_parser_skip_PS_token): New function. This is a better
- replacement of...
- (ps_parser_skip_alpha): Removed.
- (ps_parser_to_token, ps_parser_to_token_array): Updated.
- (T1Radix): Rewritten, using `ft_char_table'.
- (t1_toint): Renamed to...
- (ps_toint): This. Update all callers.
- Use `ft_char_table'.
- (ps_tobytes): Add parameter to handle delimiters and change some
- argument types.
- Use `ft_char_table'.
- (t1_tofixed): Renamed to...
- (ps_tofixed): This. Update all callers.
- Use `ft_char_table'.
- (t1_tocoordarray): Renamed and updated to...
- (ps_tocoordarray): This. Update all callers.
- (t1_tofixedarray): Renamed and updated to...
- (ps_tofixedarray): This. Update all callers.
- (t1_tobool): Renamed to...
- (ps_tobool): This. Update all callers.
- (ps_parser_load_field): Updated.
- (ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
- everywhere.
- (ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
- ps_parser_to_fixed_array): Skip spaces. Updated.
- (ps_parser_to_bytes): Add parameter to handle delimiters and change
- some argument types. Updated.
- * src/psaux/psobjs.h: Updated.
-
- * src/cid/cidload.c (cid_parse_dict): Updated.
- * src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
- token was really found.
- * src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
- to...
- (cid_parser_skip_PS_token): This.
-
- * src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
- fields.
- (T1_Skip_Alpha): Replaced with...
- (T1_Skip_PS_Token): This new macro.
- * src/type1/t1parse.c (hexa_value): Removed.
- (T1_Get_Private_Dict): Use `ft_isxdigit' and
- `psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
- encoding.
- After decrypting, replace the four random bytes at the beginning
- with whitespace.
- * src/type1/t1load.c (t1_allocate_blend): Use proper error values.
- (parser_blend_design_positions, parse_blend_design_map,
- parse_weight_vector): Updated.
- (is_space): Handle `\f' also.
- (is_name_char): Removed.
- (read_binary_data): Updated.
- (parse_encoding): Use `ft_isdigit'.
- Updated.
- (parse_subrs): Updated.
- (TABLE_EXTEND): New macro.
- (parse_charstrings): Updated.
- Provide a workaround for buggy fonts which have more entries in the
- /CharStrings dictionary then expected; the function now adds some
- slots and skips entries which still exceed the new limit.
- (parse_dict): Updated.
- Terminate on the token `closefile'.
-
- * src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
- (T1_Skip_PS_Token): This new macro. Updated all callers.
- (t42_parse_encoding): Use `ft_isdigit'.
-
-
- * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
- success.
-
-2003-10-05 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftmodule.h: Renamed to...
- * include/freetype/ftmodapi.h: This to avoid duplicate file names.
- * include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
-
-2003-10-04 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec,
- FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
-
-2003-10-02 Markus F.X.J. Oberhumer <markus@oberhumer.com>
-
- * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
- has four bytes, not two.
- Fix all users.
- (fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
-
-2003-10-01 David Turner <david@freetype.org>
-
- * src/autofit/*: Adding first source files of the new multi-script
- `auto-fitter'.
-
- * include/freetype/ftoutln.h (FT_Orientation): New enumeration.
- (FT_Outline_Get_Orientation): New declaration.
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
- (ft_orientation_extremum_compute): New auxiliary function.
- (FT_Outline_Get_Orientation): New function to compute the fill
- orientation of a given glyph outline.
-
- * include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
- trivial bug which could crash the font engine when a cached service
- pointer was retrieved.
-
-2003-09-30 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
- found.
-
- * src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
- IS_T1_SPACE): Removed.
- (PFB_Tag): Removed.
- (read_pfb_tag): Don't use PFB_Tag.
-
- * src/type42/t42parse.c (t42_is_space): Handle `\f' also.
- (t42_parse_encoding): Handle synthetic fonts.
-
-2003-09-29 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/t1types.h: Don't include
- FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
- * src/truetype/ttobjs.c: Don't include
- FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-2003-09-29 David Turner <david@freetype.org>
-
- Added new service to handle glyph name dictionaries, replacing the
- old internal header named `psnames.h' by `services/svpsname.h'.
- Note that this is different from `services/svpostnm.h' which only
- handles the retrieval of PostScript font names for a given face.
- (Should we merge these two services into a single header?)
-
- * include/freetype/internal/psnames.h: Removed. Most of its
- contents is moved to...
- * include/freetype/internal/services/svpsname.h: New file.
-
- * include/freetype/internal/services/svpostnm.h
- (FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
- (FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
- (PsName): Service named changed to...
- (PsFontName): This.
- Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
- `POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
-
- * include/freetype/internal/internal.h
- (FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
- * include/freetype/internal/psaux.h: Include
- FT_SERVICE_POSTSCRIPT_NAMES_H.
- (T1_DecoderRec): Updated type of `psnames'.
- * include/freetype/internal/t1types.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- Include FT_INTERNAL_OBJECTS_H.
- * include/freetype/internal/t42types.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H.
- * include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
- order of parameters. All callers updated.
- (FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
- globally, checking all modules.
- (FT_ServiceCacheRec): Updated.
- (FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
- `svpsname.h'.
-
- * include/freetype/internal/ftobjs.h, src/base/ftobjs.c
- (ft_module_get_service): New function.
-
- * src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
- service.
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
- * src/cff/cffload.c, src/cff/cffload.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cff_index_get_sid_string): Updated.
- * src/cff/cffobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cff_face_init): Use new POSTSCRIPT_NAMES service.
- * src/cff/cffobjs.h: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
- * src/cid/cidobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cid_face_init): Use new POSTSCRIPT_NAMES service.
- * src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
-
- * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
- new POSTSCRIPT_NAMES service.
- * src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
- t1_decode_init): Use new POSTSCRIPT_NAMES service.
- * src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include
- FT_INTERNAL_POSTSCRIPT_NAMES_H.
-
- * src/psnames/psmodule.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (ps_build_unicode_table): Renamed to...
- (ps_unicodes_init): This.
- (ps_lookup_unicode): Renamed to...
- (ps_unicodes_char_index): This.
- (ps_next_unicode): Renamed to...
- (ps_unicodes_char_next): This.
- (psnames_interface): Updated.
- (psnames_services): New services list.
- (psnames_get_service): New function.
- (psnames_module_class): Updated.
-
- * src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (sfnt_init_face): Use new POSTSCRIPT_NAMES service.
- * src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (tt_face_get_ps_name): Updated.
-
- * src/truetype/ttobjs.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
- * src/type1/t1driver.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- * src/type1/t1objs.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (T1_Face_Init): Use new POSTSCRIPT_NAMES service.
-
- * src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
- (t42_get_ps_font_name): This.
- (t42_service_ps_name): Renamed to...
- (t42_service_ps_font_name): This.
- (t42_services): Updated.
- * src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
- service.
- * src/type42/t42objs.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-
- * src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
- testing its validity. Reported by Henry Maddocks
- <maddocks@metservice.com>.
-
-2003-09-21 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
- Fix compilation warning (s/pptr/Pptr/).
-
- * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
- FT_INTERNAL_FNT_TYPES_H): Removed.
-
-2003-09-21 David Turner <david@freetype.org>
-
- Migrating the PFR and WINFNT drivers to the new service-based
- internal API.
-
- * include/freetype/internal/fnttypes.h: Removed. Most of its data
- are moved to winfnt.h and...
- * include/freetype/internal/services/svwinfnt.h: New file.
-
- * include/freetype/internal/pfr.h: Removed. Most of its data are
- moved to...
- * include/freetype/internal/services/svpfr.h: New file.
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
- FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
- pointer type argument.
- Updated all callers.
- Update macro names of services header files.
-
- * src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
-
- * src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
- FT_INTERNAL_PFR_H.
- (ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
- FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
-
- * src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
- FT_INTERNAL_FNT_TYPES_H.
- (FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
-
- * src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
- FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
- (pfr_service_bdf): Updated.
- (pfr_services): New services list.
- (pfr_get_service): New function.
- (pfr_driver_class): Updated.
-
- * src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
- FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
- (winfnt_get_header, winfnt_get_service): New functions.
- (winfnt_service_rec): New structure providing WINFNT services.
- (winfnt_services): New services list.
- (winfnt_driver_class): Updated.
- * src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
-
- * src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
-
- * src/type1/t1driver.c (t1_service_ps_name): Fix typo.
-
- * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
- src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
- src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
- warnings.
-
-2003-09-19 David Bevan <dbevan@emtex.com>
-
- * src/type1/t1parse.c (pfb_tag_fields): Removed.
- (read_pfb_tag): Fix code so that it doesn't fail on end-of-file
- indicator (0x8003).
- * docs/CHANGES: Updated.
-
-2003-09-16 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
- FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
- Ugly, I know, but this is needed for compilation with C++ --
- maybe someone knows a better solution?
- Updated all callers.
-
- * src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
- C++ compiler warnings.
-
- * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
- Fix order of arguments passed to FT_FACE_FIND_SERVICE.
-
-2003-09-15 Werner Lemberg <wl@gnu.org>
-
- Avoid header files with identical names.
-
- * include/freetype/internal/services/bdf.h: Renamed to...
- * include/freetype/internal/services/svbdf.h: This.
- Add copyright notice.
- * include/freetype/internal/services/glyfdict.h: Renamed to...
- * include/freetype/internal/services/svgldict.h: This.
- Add copyright notice.
- * include/freetype/internal/services/multmast.h: Renamed to...
- * include/freetype/internal/services/svmm.h: This.
- Add copyright notice.
- Add FT_BEGIN_HEADER and FT_END_HEADER.
- * include/freetype/internal/services/sfnt.h: Renamed to...
- * include/freetype/internal/services/svsfnt.h: This.
- Add copyright notice.
- * include/freetype/internal/services/postname.h: Renamed to...
- * include/freetype/internal/services/svpostnm.h: This.
- Add copyright notice.
- * include/freetype/internal/services/xf86name.h: Renamed to...
- * include/freetype/internal/services/svxf86nm.h: This.
- Add copyright notice.
-
- * include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
- FT_END_HEADER.
- Add copyright notice.
- Update macro names of services header files.
-
- * builds/freetype.mk (SERVICES_DIR): New variable.
- (BASE_H): Add services header files.
-
-2003-09-11 Werner Lemberg <wl@gnu.org>
-
- * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
-
- * src/cff/cffdrivr.c: Don't load headers twice.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
- * src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
-
- * src/cff/cffcmap.c: Include `cfferrs.h'.
- * src/pfr/pfrdrivr.c: Include `pfrerror.h'.
- * src/sfnt/sfdriver.c: Include `sferrors.h'.
- * src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
-
-2003-09-11 David Turner <david@freetype.org>
-
- Introducing the concept of `module services'. This is the first
- step towards a massive simplification of the engine's internals, in
- order to get rid of various numbers of hacks.
-
- Note that these changes will break source & binary compatibility for
- authors of external font drivers.
-
- * include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
- FT_DUMMY_STMNT): New macros.
-
- * include/freetype/internal/ftserv.h: New file, containing the new
- structures and macros to provide `services'.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
- FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
- Removed, obsolete.
- (FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
-
- * include/freetype/internal/services/bdf.h,
- include/freetype/internal/services/glyfdict.h,
- include/freetype/internal/services/postname.h,
- include/freetype/internal/services/xf86name.h: New files.
-
- * include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
- FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
- to...
- * include/freetype/internal/services/multmast.h: New file.
-
- * include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
- is now of type `FT_Module_Requester'.
- (SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
- moved (in modified form) to...
- * include/freetype/internal/servies/sfnt.h: New file.
-
- * include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
- pointer moved (in modified form) to `services/sfnt.h'.
-
- * include/freetype/ftmodule.h (FT_Module_Interface): Make it a
- a typedef to `FT_Pointer'.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Add
- `postscript_name'.
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
- `postscript_name'.
- Add `services' element.
- (FT_LibraryRec): Remove `meta_class'.
-
- * src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
- (test_font_type): Removed.
- (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
- provided in `FT_SERVICE_ID_BDF'.
-
- * src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
- (ft_face_get_mm_service): New auxiliary function to get services
- from `FT_SERVICE_ID_MULTI_MASTERS'.
- (FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
- FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
-
- * src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
- FT_SERVICE_GLYPH_DICT_H.
- (ft_service_list_lookup): New function to get a specific service.
- (destroy_face): Updated.
- (Mac_Read_POST_Resource): Simplify some code.
- (IsMacResource): Fix warnings.
- (FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
- `FT_SERVICE_ID_GLYPH_DICT'.
- (FT_Get_Postscript_Name): Use service provided in
- `FT_SERVICE_ID_POSTSCRIPT_NAME'.
- (FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
- `FT_SERVICE_ID_SFNT_TABLE'.
-
- * src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
- (FT_Get_X11_Font_Format): Use service provided in
- `FT_SERVICE_ID_XF86_NAME'.
-
- * src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
- FT_SERVICE_XFREE86_NAME_H.
- (bdf_get_charset_id): New function.
- (bdf_service_bdf): New structure providing BDF services.
- (bdf_services): New services list.
- (bdf_driver_requester): Use `ft_service_list_lookup'.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
- FT_SERVICE_GLYPH_DICT_H.
- (cff_service_glyph_dict): New structure providing CFF services.
- (cff_services): New services list.
- (cff_get_interface): Use `ft_service_list_lookup'.
-
- * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
- FT_SERVICE_XFREE86_NAME_H.
- (cid_service_ps_name): New structure providing CID services.
- (cid_services): New services list.
- (cid_get_interface): Use `ft_service_list_lookup'.
-
- * src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
- FT_SERVICE_XFREE86_NAME_H.
- (pcf_service_bdf): New structure providing PCF services.
- (pcf_services): New services list.
- (pcf_driver_requester): Use `ft_service_list_lookup'.
-
- * src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
- FT_SERVICE_POSTSCRIPT_NAME_H.
- (get_sfnt_glyph_name): Renamed to...
- (sfnt_get_glyph_name): This.
- (get_sfnt_postscript_name): Renamed to...
- (sfnt_get_ps_name): This.
- Updated.
- (sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
- providing services.
- (sfnt_services): New services list.
- (sfnt_get_interface): Use `ft_service_list_lookup'.
-
- * src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
- (tt_services): New services list.
- (tt_get_interface): Use `ft_service_list_lookup'.
-
- * src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
- FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
- FT_SERVICE_POSTSCRIPT_NAME_H.
- (t1_service_glyph_dict, t1_service_ps_name,
- t1_service_multi_masters): New structures providing Type 1 services.
- (t1_services): New services list.
- (Get_Interface): Use `ft_service_list_lookup'.
-
- * src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
- FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
- (t42_service_glyph_dict, t42_service_ps_name): New strucures
- providing Type 42 services.
- (t42_services): New services list.
- (T42_Get_Interface): Use `ft_service_list_lookup'.
-
-
- * README, docs/CHANGES: Updating version numbers for 2.1.6, and
- removing obsolete warnings in the documentation.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
- * builds/unix/configure.ac (version_info): Set to 9:5:3.
- * builds/unix/configure: Regenerated.
-
- * include/freetype/internal/ftcore.h,
- include/freetype/internal/ftexcept.h,
- include/freetype/internal/fthash.h,
- include/freetype/internal/ftobject.h: Removed. Obsolete.
-
-2003-09-09 David Turner <david@freetype.org>
-
- Fixing PFR kerning support. The tables within the font file contain
- (charcode,charcode) kerning pairs, we need to convert them to
- (gindex,gindex).
-
- * src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
- * src/pfr/prfload.c: Remove dead code.
- (pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
- New functions.
- (pfr_phy_font_done): Free `kern_pairs'.
- (pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
- * src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
- * src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
- (PFR_KernPairRec): Make `kerning' an FT_Int.
- (PFR_PhyFontRec): New element `kern_pairs'.
- (PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
- PFR_KERN_2BYTE_ADJ were erroneously reversed.
-
- * include/freetype/ftoption.h: Commenting out the macro
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
-
-2003-09-02 David Turner <david@freetype.org>
-
-
- * Version 2.1.5 released.
- =========================
-
-
-2003-08-31 Manish Singh <yosh@gimp.org>
-
- * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
- FT_MEM_MOVE.
-
-2003-08-30 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
- FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
- enumerations of FT_Encoding. The FT_ENCODING_MS_* variants except
- FT_ENCODING_MS_SYMBOL are now deprecated.
- Updated all users.
- * docs/CHANGES: Document it.
-
-2003-08-27 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
- for spacing.
-
-2003-08-27 Mike FABIAN <mfabian@suse.de>
-
- * src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
- (BDF_Face_Init): Accept lowercase characters for slant and weight.
-
-2003-08-18 David Turner <david@freetype.org>
-
- * include/freetype/config/ftoption.h: Disabling TrueType bytecode
- interpreter until the UNPATENTED_HINTING works as advertised.
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
- setting `load_flags'.
-
- * Jamfile: Adding the `refdoc' target to the Jamfile in order to
- build the API Reference in `docs/reference' automatically.
-
- * include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
- src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
- `italic_angle', `underline_position', and `underline_thickness' to
- their previous values (i.e., long, short, and ushort) in order to
- avoid breaking binary compatibility.
-
- * include/freetype/ttunpat.h: Fixing documentation comment.
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced
- with...
- (TT_CONFIG_OPTION_UNPATENTED_HINTING): This. Updated all users.
- (TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
-
- * include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
- (FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro. Use this with
- `FT_Set_Debug_Hook' to get the same effect as the removed
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
-
- * src/truetype/ttobjs.c (tt_face_init): Use
- `FT_DEBUG_HOOK_UNPATENTED_HINTING'.
-
-2003-08-06 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
- (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
- previous change.
-
-2003-08-05 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
- (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
- font matrix to advance width also.
- * docs/CHANGES: Updated.
-
-2003-07-26 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.ac (version_info): Set to 9:4:3.
- * builds/unix/configure: Updated.
- * docs/CHANGES, docs/VERSION.DLL: Updated.
-
- * include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
- also breaks binary compatibility. Reintroduce an unsigned integer
- at the old position of `flags' called `reserved'.
-
-2003-07-25 Werner Lemberg <wl@gnu.org>
-
- Make API reference valid HTML 4.01 transitional.
-
- * src/tools/docmaker/tohtml.py (html_header_1): Add doctype
- and charset.
- (html_header_2): Fix style elements and add some more.
- Fix syntax.
- (block_header, block_footer, description_header, description_footer,
- marker_header, marker_footer, source_header, source_footer,
- chapter_header): Don't use <center>...</center> but `align=center'
- table attribute.
- (chapter_inter, chapter_footer): Add <li> and use special <ul>
- class.
- Use double quotes around table widths given in percent.
- (keyword_prefix, keyword_suffix): Don't change font colour directly
- but use a new <span> class.
- (section_synopsis_header, section_synopsis_footer): Don't change
- colour.
- (code_header, code_footer): Don't change font colour directly but
- use a special <pre> class.
- (print_html_field): <tr> gets the `valign' attribute, not <table>.
- (print_html_field_list): Ditto.
- (index_exit): Don't use <center>...</center> but `align=center'
- table attribute.
- (section_enter): Ditto.
- (toc_exit): Don't emit </table>.
- (block_enter): Use <h4><a>, not <a><h4>.
- (__init__): Fix tag order in self.html_footer.
-
-2003-07-25 David Turner <david@freetype.org>
-
- This change reimplements fix from 2003-05-30 without breaking
- binary compatibility.
-
- * include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
- `is_fixed_pitch', `underline_position', `underline_thickness' are
- reverted to be normal values.
-
- * include/freetype/internal/psaux.h (T1_FieldType): Remove
- `T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
- `T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
- (T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
- T1_FIELD_FIXED_1000_P): Removed.
- (T1_FIELD_TYPE_BOOL): Renamed to...
- (T1_FIELD_BOOL): New macro. Updated all callers.
-
- * src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
- `underline_position', `underline_thickness', `paint_type',
- `stroke_width' are reverted to be normal values.
- (T42_KEYWORD_COUNT): New macro.
- (t42_parse_dict): New array `keyword_flags' to mark that a value has
- already been assigned to a dictionary entry.
- * src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
-
- * src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
- `underline_position', `underline_thickness' are reverted to be
- normal values.
- * src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
-
- * src/psaux/psobjs.c (ps_parser_load_field): Updated.
-
- * src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
- `underline_position', `underline_thickness', `paint_type',
- `stroke_width' are reverted to be normal values.
- * src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
- * src/type1/t1load.c (T1_FIELD_COUNT): New macro.
- (parse_dict): Add parameter for keyword flags.
- Record only first instance of a field.
- (T1_Open_Face): New array `keyword_flags'.
-
-2003-07-24 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
- * builds/unix/configure.ac (version_info): Set to 10:0:3.
- * builds/unix/configure: Updated.
- * builds/freetype.mk (refdoc): Fix --title.
-
- * docs/CHANGES, docs/VERSION.DLL, README: Updated.
-
- * src/tools/docmaker/sources.py (re_crossref): Fix regular
- expression to handle trailing punctuation characters.
- * src/tools/docmaker/tohtml.py (make_html_word): Updated.
-
- * docs/release: New file.
-
-2003-07-23 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
-
- * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
- member function `to_bytes'.
-
- * src/psaux/psauxmod.c (ps_parser_funcs): New member
- `ps_parser_to_bytes'.
- (psaux_module_class): Increase version to 0x20000L.
-
- * src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
- (IS_T1_NULLSPACE): New macro.
- (IS_T1_SPACE): Add it.
- (skip_spaces, skip_alpha): New functions.
- (ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
- (ps_tobytes, ps_parser_to_bytes): New functions.
-
-2003-07-07 Werner Lemberg <wl@gnu.org>
-
- * builds/freetype.mk (DOC_DIR): New variable.
- (refdoc): Use *_DIR variables.
- (distclean): Remove documentation files.
-
- * builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
-
- * configure: Set DOC_DIR variable.
-
-2003-07-07 Patrik Hägglund <patrik.hagglund@bredband.net>
-
- * builds/freetype.mk (refdoc): New target to build the
- documentation.
- (.PHONY): Updated.
-
- * include/freetype/freetype.h: Improve documentation of FT_CharMap.
- * include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
- * include/freetype/tttables.h: Document FT_Sfnt_Tag.
-
-2003-07-06 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
- (pcf_load_font): Fix computation of height if PIXEL_SIZE property is
- missing.
-
-2003-07-01 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
- there is no error. Reported by Knut St. Osmundsen
- <bird-freetype@anduin.net>.
-
-2003-06-30 Werner Lemberg <wl@gnu.org>
-
- A new try to synchronize bitmap font access.
-
- * include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
- defined to return the baseline-to-baseline distance. This was
- already the value returned by the BDF and PCF drivers.
-
- The `width' field now gives the average width. I wasn't able to
- find something better. It should be taken as informative only.
-
- New fields `size', `x_ppem', and `y_ppem'.
-
- * src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
- FT_Bitmap_Size.
- Do proper rounding and conversion from 72.27 to 72 points.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
- FT_Bitmap_Size.
- Do proper rounding and conversion from 72.27 to 72 points.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
- FT_Bitmap_Size.
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
- FT_Bitmap_Size.
-
-2003-06-29 Werner Lemberg <wl@gnu.org>
-
- Redesigning the FNT driver to return multiple faces, not multiple
- strikes. At least one font (app850.fon from WinME) contains
- different FNT charmaps for its subfonts. Consequently, the previous
- design of having multiple bitmap strikes in a single font face fails
- since we have only one charmap per face.
-
- * include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
- (FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
- `font'.
-
- * src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
-
- * src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
- to pixel_height.
- (fnt_face_done_fonts): Removed.
- (fnt_face_get_dll_fonts): Renamed to...
- (fnt_face_get_dll_font): This. Add second function argument to
- select face index.
- Updated to load just one subfont.
- (fnt_font_done, FNT_Face_Done): Updated.
- (FNT_Face_Init): Handle `face_index'.
- Updated.
- (FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
- bitmap width is now ignored.
- (FNT_Load_Glyph): Updated.
- Fix glyph index computation.
- (winfnt_driver_class): Updated.
-
-2003-06-25 Owen Taylor <otaylor@redhat.com>
-
- * src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
- num_records until we actually decide to load the table,
- otherwise, we'll segfault in tt_face_free_hdmx.
-
-2003-06-24 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
- glyph name pointer. Reported by Mikey Anbary <manbary@vizrt.com>.
-
-2003-06-23 Werner Lemberg <wl@gnu.org>
-
- * src/tools/glnames.py: Updated to AGL 2.0.
- * src/psnames/pstables.h: Regenerated.
-
-2003-06-22 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
- src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
- src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
- src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
- Decorate constants with `U' and `L' if appropriate.
-
- * include/freetype/ftmoderr.h: Updated to include recent module
- additions.
-
- * src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
- `FT_Mod_Err_PShinter'.
- * src/type42/t42error.h (FT_ERR_BASE): Define as
- `FT_Mod_Err_Type42'.
-
- * src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used.
-
- * include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
- and FT_INT64.
-
-2003-06-21 Werner Lemberg <wl@gnu.org>
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
- computation of glyph_index.
- (FNT_Size_Set_Pixels): To find a strike, first check pixel_height
- only, then try to find a better hit by comparing pixel_width also.
- Without this fix it isn't possible to access all strikes.
- Also compute metrics.max_advance to be in sync with other bitmap
- drivers.
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
- (FT_Set_Pixel_Size): Assign value to `metrics' after validation of
- arguments.
-
-2003-06-20 Werner Lemberg <wl@gnu.org>
-
- Synchronize computation of height and width for bitmap strikes. The
- `width' field in the FT_Bitmap_Size structure is now only useful to
- enumerate different strikes. The `max_advance' field of the
- FT_Size_Metrics structure should be used to get the (maximum) width
- of a strike.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
- computing `available_sizes->width' but make it always equal to
- `available_sizes->height'.
-
- * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
- computing `available_sizes->width' but make it always equal to
- `available_sizes->height'.
-
- * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
- argument to function.
-
- * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
- `uniXXXX' and `uXXXX[X[X]]'.
-
-2003-06-19 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
- * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
- s/FT_Err_/FTC_Err_/.
- * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
- * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
- * src/psaux/t1cmap.c: Include psauxerr.h.
- s/FT_Err_/PSaux_Err_/.
- * src/pshinter/pshnterr.h: New file.
- * src/pshinter/rules.mk: Updated.
- * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
- s/FT_Err_/PSH_Err_/.
- * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
- s/FT_Err_/PFR_Err_/.
- * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
- src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
- * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
- * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
- FT_ERR_PREFIX and FT_ERR_BASE.
- s/FT_Err_/Gzip_Err_/.
-
-2003-06-19 Dirck Blaskey <listtarget@danbala.com>
-
- * src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
- otherwise adding 1 might wrap the result.
-
-2003-06-18 Werner Lemberg <wl@gnu.org>
-
- * src/psnames/psmodule.c (ps_unicode_value): Add support to
- recognize `uXXXX[X[X]]' glyph names.
- Don't handle glyph names starting with `uni' which have more than
- four digits.
-
-2003-06-16 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h (FT_Open_Flags): Replaced with
- #defines for the constants.
- (FT_Open_Args): Change type of `flags' to FT_UInt.
- (FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
-
- * include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
- Replaced with #defines for the constants.
-
- * include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
- field `flags' (from FT_GlyphSlot).
- Updated all affected source files.
- (FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
-
- * include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
- to ftobjs.h.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
- FT_GlyphSlot_Internal object.
-
-2003-06-15 Werner Lemberg <wl@gnu.org>
-
- * builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
- Add -fno-strict-aliasing to get rid of zillion warnings from gcc
- version 3.3.
-
-2003-06-14 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
- ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
- ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
- FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
- FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
- The lowercase variants are now (deprecated aliases) to the uppercase
- versions.
- Updated all other files.
-
- * include/freetype/ftmodule.h (ft_module_font_driver,
- ft_module_renderer, ft_module_hinter, ft_module_styler,
- ft_module_driver_scalable, ft_module_driver_no_outlines,
- ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
- FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
- FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
- FT_MODULE_DRIVER_HAS_HINTER.
- The lowercase variants are now (deprecated aliases) to the uppercase
- versions.
- Updated all other files.
-
- * src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
- as enumeration.
-
- * src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
- (winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
- the FT_MODULE_DRIVER_NO_OUTLINES flag.
-
-2003-06-13 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
-
-2003-06-13 Werner Lemberg <wl@gnu.org>
-
- * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
-
- * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
- EMX gcc compiler.
- * builds/dos/detect.mk: Add target `emx'.
-
- * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
- like a trailing semicolon; add a dummy command.
-
- * src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
- with #if 0 ... #endif).
-
- * src/type1/t1tokens.h: Handle /FontName.
- * src/type1/t1load.c (parse_font_name): Removed.
- Remove parse_font_bbox code (already enclosed with #if 0 ...
- #endif).
-
- * src/type42/t42parse.c (t42_parse_font_name): Removed.
- Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
- #endif).
- (t42_keywords): Handle /FontName with T1_FIELD_KEY.
-
-2003-06-12 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- T1_FIELD_TYPE_KEY.
- (T1_FIELD_KEY): New macro.
- * src/psaux/psobjs.c (ps_parser_load_field): Handle
- T1_FIELD_TYPE_KEY.
-
- * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
-
-2003-06-11 Alexander Malmberg <alexander@malmberg.org>
-
- * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
- number of nodes.
- (FT_LruList_Lookup): Fix assertion for out-of-memory case.
-
-2003-06-11 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidload.c (cid_decrypt): Removed.
- (cid_read_subrs): Use t1_decrypt from psaux module.
- * src/cid/cidload.h: Updated.
- * src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
- module.
-
-2003-06-10 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidobjs.c: Apply change 2003-05-31 from <Ron.Dev@gmx.de>.
- Compute style flags.
- Fix computation of root->height.
- * src/cid/cidtoken.h: Handle FontBBox.
- * src/cid/cidload.c (cid_load_keyword): Handle
- T1_FIELD_LOCATION_BBOX.
- (parse_font_bbox): Commented out.
- (cid_field_record): Comment out element for parsing FontBBox.
-
- * src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
- (t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
- T1_FIELD_CALLBACK.
- (t42_parse_font_bbox): Commented out.
- (t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
- * src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
- from <Ron.Dev@gmx.de>.
-
-2003-06-09 George Williams <gww@silcom.com>
-
- * src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
- TrueType specification.
- (Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
-
-2003-06-09 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/gzip/ftgzip.c: (inflate_mask): Replaced with...
- (NO_INFLATE_MASK): This.
- * src/gzip/infutil.h: Declare `inflate_mask' conditionally by
- NO_INFLATE_MASK.
-
-2003-06-09 Alexis S. L. Carvalho <alexis@cecm.usp.br>
-
- * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
- correctly.
-
-2003-06-09 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/pshinter/pshglob.c (psh_globals_new): Change calculation of
- dim->stdw.count to avoid compiler problem.
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
- variables to the beginning of the function to avoid compiler
- problems.
- Add casts necessary for 16bit compilers.
-
-2003-06-09 Werner Lemberg <wl@gnu.org>
-
- * src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
- (PFR_DRV_H): Add pfrtypes.h.
-
- * include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
-
-2003-06-08 Karl Schultz <kschultz@rsinc.com>
-
- * src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
- argument to FT_Bool.
- (pfr_lookup_bitmap_data): Change type of third and fourth argument
- to FT_UInt. Updated caller.
- (pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
-
-2003-06-08 Werner Lemberg <wl@gnu.org>
-
- Completely revised FreeType's make management.
-
- . In all makefiles `/' is used as the path separator. The
- conversion to the real path separators is done as late as
- possible using $(subst ...).
-
- . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator
- for the operating system, and the new $(COMPILER_SEP) the path
- separator for the compiler tools.
-
- . $(BUILD) has been renamed to $(BUILD_DIR). In general, all
- directory variables end with `_DIR'. The variants ending in `_'
- (like `BASE_' have been removed).
-
- The following ChangeLog entries only describe changes which are
- not related to the redesign.
-
- * builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
- * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
- overlong arguments as suggested by J. Ali Harlow
- <ali@avrc.city.ac.uk>.
- * builds/dos/dos-wat.mk: New file.
- * builds/freetype.mk (FREETYPE_H): Include header files from the
- `devel' subdirectory.
-
- * builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
- builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
- builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
-
- * builds/unix/configure.ac, builds/unix/configure: Updated.
- * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
-
-2003-06-07 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
- make it compile.
-
- * devel/ftoption.h: Updated.
-
-2003-06-07 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * include/freetype/internal/psaux.h, src/truetype/ttgload.h:
- s/index/idx/ to fix compiler warnings.
-
- * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
- fix compiler warning.
-
- * src/gzip/ftgzip.c (BUILDFIXED): Removed.
- * src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
- FT_UNUSED to remove compiler warning.
-
-2003-06-06 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftstroker.h: Renamed to...
- * include/freetype/ftstroke.h: This.
-
- * src/base/ftstroker.c: Renamed to...
- * src/base/ftstroke.c: This.
-
- * include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
-
- * src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
- Updated.
-
- * src/pcf/pcfdriver.c: Renamed to...
- * src/pcf/pcfdrivr.c: This.
- * src/pcf/pcfdriver.h: Renamed to...
- * src/pcf/pcfdrivr.h: This.
-
- * src/pcf/Jamfile, src/pcf/rules.mk: Updated.
-
-2003-06-05 Wenlin Institute (Tom Bishop) <wenlin@wenlin.com>
-
- * src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
- Add `#if !defined(__MWERKS__)'.
-
-2003-06-05 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
- (T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
- * src/psaux/psobjs.c (ps_parser_load_field): Handle
- T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
-
- * src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
- (CFF_FIELD_FIXED_1000): New macro.
- (cff_parser_run): Handle cff_kind_fixed_thousand.
- * src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
- * src/cff/cffload (cff_subfont_load): Fix default values of
- expansion_factor and blue_scale.
-
- * src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
- for blue_scale.
-
- * src/pshinter/pshglob.c (psh_globals_new): Fix default value of
- blue_scale.
-
-2003-06-04 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * include/freetype/internal/ftdriver.h,
- include/freetype/internal/ftobjs.h,
- include/freetype/internal/psaux.h, src/cid/cidgload.c,
- src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
- src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
- src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
- src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
- src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
- src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
- src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
- Many casts and slight argument type changes to make it work with
- a 16bit compiler.
-
-2003-06-04 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftoption.h: Defining
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
- since some fonts (e.g. Arial) produce worse results than without
- hinting. Reverted.
-
-2003-06-04 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
- FT_GlyphLoader_CheckPoints before adding phantom points. This fixes
- a segfault bug with fonts (e.g. htst3.ttf) which have nested
- subglyphs more than one level deep. Reported by Anthony Fok.
-
- * include/freetype/config/ftoption.h: Define
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
- TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
- default.
-
-2003-06-03 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a
- wrapper for ah_hint_edges.
- (ah_hint_edges): Renamed to...
- (ah_hinter_hint_edges): This.
-
- * src/base/ftobjs.c (FT_Set_Hint_Flags): Removed. Unused.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
- include/freetype/internal/psaux.h (T1_DecoderRec),
- src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
- Unused.
-
- * src/cff/cffgload.c (cff_builder_init): Updated.
- (cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
- with decoder->hint_mode instead of builder->hint_flags.
- * src/psaux/t1decode.c (t1_decoder_init): Updated.
-
- * src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
- increased root->height by 15% if the line gap was zero. There exist
- fonts (containing e.g. form drawing characters) which intentionally
- have a zero line gap value.
-
- * src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
- Removed. Unused.
- Updated all callers.
-
-2003-06-02 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffobjs.c (cff_face_init): Use symbolic names for
- Adobe specific encoding IDs (there was a wrong EID value for custom
- encoding).
-
- * src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
- * src/cff/cffcmap.c (cff_cmap_encoding_init,
- cff_cmap_encoding_done): Updated.
- (cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
- 256 as limit for character code.
-
-2003-06-01 Werner Lemberg <wl@gnu.org>
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
- 2003-03-20.
-
-2003-05-31 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
-
-2003-05-31 <Ron.Dev@gmx.de>
-
- * src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
- the font style by ignoring spaces and hyphens.
-
- * builds/unix/freetype2.in: Fix `Version' field.
-
-2003-05-30 Werner Lemberg <wl@gnu.org>
-
- Avoid overwriting of numeric font dictionary entries for synthetic
- fonts. Additionally, some entries were handled as `integer' instead
- of `number'.
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
- T1_FIELD_TYPE_FIXED_P.
- (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
- * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
-
- * include/freetype/internal/cfftypes.h (CFF_FontRecDict),
- src/cff/cfftoken.h: Change type of underline_position and
- underline_thickness to FT_Fixed.
- * src/cff/cffload.c (cff_subfont_load): Fix default values of
- underline_position and underline_thickness.
- * src/cff/cffobjs.c (cff_face_init): Set underline_position
- and underline_thickness in `root'.
-
- * include/freetype/internal/t1types.h (T1_Font): Change point_type
- and stroke_width to pointers.
- * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
- is_fixed_pitch, underline_position, and underline_thickness to
- pointers.
- * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
- underline_position, and underline_thickness to pointers. Change
- the type of the latter two to `fixed'.
- Change type of stroke_width to `fixed' and make it a pointer.
- Change paint_type to pointer.
- * src/type1/t1objs.c (T1_Face_Done): Updated.
- (T1_Face_Init): Updated.
- Fix assignment of underline_position and underline_thickness.
-
- * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
- underline_position, and underline_thickness to pointers. Change
- the type of the latter two to `fixed'.
- Change type of stroke_width to `fixed'.
- * src/cid/cidobjs.c (cid_face_done): Updated.
- (cid_face_init): Updated.
- Fix assignment of underline_position and underline_thickness.
-
- * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
- underline_position, and underline_thickness to pointers. Change the
- type of the latter two to `fixed'.
- Change type of stroke_width to `fixed' and make it a pointer.
- Change paint_type to pointer.
- * src/type42/t42objs.c (T42_Face_Init): Updated.
- Fix assignment of underline_position and underline_thickness.
- (T42_Face_Done): Updated.
-
- * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
- * src/pshinter/pshglob.c, src/pshinter/pshglob.h
- (psh_globals_set_scale): Make it a local function.
-
- * test/gview.c: Fix renaming ps3->ps typo.
- Formatting.
-
-2003-05-29 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
- * src/pshinter/pshalgo.h: Removed.
-
- * src/pshinter/pshalgo3.[ch]: Renamed to...
- * src/pshinter/pshalgo.[ch]: New files.
- s/PSH3/PSH/.
- s/psh3/psh/.
- s/ps3/ps/.
-
- * src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
- * src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
-
- * src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
- out.
-
- * tests/gview.c: Remove code for pshalgo1 and pshalgo2.
- Updated.
-
-2003-05-28 Martin Zinser <zinser@decus.de>
-
- * vms_make.com: Reworked support for shareable images on VMS. The
- first version was kind of a hack; the current implementation of the
- procedure to extract the required symbols is much cleaner.
-
- Reworked creation of MMS files, avoiding a number of temporary files
- which were created in the previous version.
-
- Further work on creating descrip.mms files on the fly.
-
- * builds/vms/descrip.mms, src/autohint/descrip.mms,
- src/type1/descrip.mms: Removed.
-
-2003-05-28 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
- contours with only a single point to avoid segfault.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
- handling `origin'.
-
-2003-05-24 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
- Removed since unused.
-
-2003-05-21 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
- for strcat.
-
- * src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
- (parse_font): s/memcpy/ft_memcpy/.
- (is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
- * src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
- s/strlen/ft_strlen/.
- s/strcat/ft_strcat/.
- s/strcpy/ft_strcpy/.
- * src/gzip/zutil.h: s/memset/ft_memset/.
- s/memcmp/ft_memcmp/.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
- (PCF_Face_Init): Test for charset registry case-insensitively.
-
- * src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
- it has already been fixed differently.
-
- * src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
- if-clause.
-
-2003-05-21 Martin Zinser <zinser@decus.de>
-
- * t1load.c (parse_blend_axis_types): Fix compiler warning.
-
- * descrip.mms: Removed. Now created by...
-
- * vms_make.com: New file.
-
-2003-05-21 Weiqi Gao <weiqigao@networkusa.net>
-
- * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
- to prevent infinite loop.
-
-2003-05-21 Lars Clausen <lrclause@cs.uiuc.edu>
-
- * docs/VERSION.DLL: Provide better autoconf snippet to check
- FreeType version.
-
-2003-05-21 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (open_face): Free `internal' not
- `face->internal' in case of error to avoid possible segfault.
-
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
- actually have an outline.
-
-2003-05-20 David Chester <davidchester@qmx.net>
-
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
- y_scale so that the top of non-capital letters is aligned on a pixel
- boundary whenever possible.
-
- * src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
- m's maintain their symmetry.
-
-2003-05-20 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Oops! David's
- patch from yesterday has been resolved already in a different
- way. Reverted.
-
-2003-05-19 David Chester <davidchester@qmx.net>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
- y_scale locally but face->size->metrics.y_scale.
-
-2003-05-19 David Turner <david@freetype.org>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
- value for `hi' to avoid infinite loop.
-
-2003-05-18 Yong Sun <sunyong@njstar.com>
-
- * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
-
-2003-05-18 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
- New macro.
- * src/base/ftobjs.c: Use it to control mac font support on non-mac
- platforms.
-
-2003-05-17 George Williams <gww@silcom.com>
-
- Implement partial support of Mac fonts on non-Mac platforms.
-
- * src/base/ftobjs.c (memory_stream_close, new_memory_stream,
- open_face_from_buffer, Mac_Read_POST_Resource,
- Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
- [!FT_MACINTOSH]: New functions.
- (FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
-
-2003-05-17 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
- if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
- zero since FNT and friends don't define `face->units_per_EM').
-
-2003-05-15 David Turner <david@freetype.org>
-
- * src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
- for small values.
-
-2003-05-15 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
- and `out_angle' fields.
-
-2003-05-14 George Williams <gww@silcom.com>
-
- * src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
-
-2003-05-14 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h: Fix typo in comment
- (FT_HAS_FIXED_SIZES).
-
-2003-05-10 Dan Williams <dan@bigw.org>
-
- * builds/unix/aclocal.m4: Comment out definition of
- `allow_undefined_flag' for Darwin 1.3.
- * builds/unix/configure.ac: Add option --with-old-mac-fonts.
- * builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
- * builds/unix/configure: Regenerated.
-
- * include/freetype/config/ftconfig.h: Fix conditions for defining
- `FT_MACINTOSH'.
- * src/base/ftbase.c: Include `ftmac.c' conditionally.
- * src/base/ftmac.c: Handle __GNUC__.
-
-2003-05-07 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
-
- * src/cid/cidload.c (is_alpha): Removed.
- (cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
-
-2003-05-07 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
-
-2003-05-07 David Turner <david@freetype.org>
-
- * src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
- `switch' statement to make it run faster.
- (ah_outline_compute_segments): Reset `segment->score' and
- `segment->link'.
- (ah_outline_link_segments): Provide alternative code which does
- the same but runs much faster.
- Handle major direction also.
- (ah_outline_compute_edges): Scale `edge_distance_threshold' down
- after rounding instead of scaling comparison value in loop.
-
- * src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
- alternative code which runs faster.
- Handle `before->scale == 0'.
-
- * src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
- (AH_EdgeRec): Move some fields in structure.
- New field `scale'.
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
-
-2003-05-02 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahoptim.c (LOG): Renamed to...
- (AH_OPTIM_LOG): This.
- (AH_Dump_Springs): Fix log message format.
-
- * src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
- (ah_hint_edges): This.
-
-2002-05-02 Keith Packard <keithp@keithp.com>
-
- * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
-
-2003-05-01 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
- (ah_test_extremum): This.
-
-2003-04-28 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.ac: Generate `freetype.pc' from
- `freetype.in'.
- * builds/unix/configure: Regenerated.
- * builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
-
-2003-04-28 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
-
- * builds/unix/freetype2.in: New file. Contains building information
- for the `pkg-config' package.
-
-2003-04-28 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
- `glyph_index'.
-
-2003-04-25: Graham Asher <graham.asher@btinternet.com>
-
- Added the optional unpatented hinting system for TrueType. It
- allows typefaces which need hinting to produce correct glyph forms
- (e.g., Chinese typefaces from Dynalab) to work acceptably without
- infringing Apple patents. This system is compiled only if
- TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
- ftoption.h.
-
- * include/freetype/ttunpat.h: New file. Defines
- FT_PARAM_TAG_UNPATENTED_HINTING.
-
- * include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
- macro to use when including ttunpat.h.
-
- * include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
- (not defined, but in comments) for the unpatented hinting system.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
- unpatented_hinting'.
-
- * src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
- Removed.
- (GUESS_VECTOR): New macro.
- (TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Set `both_x_axis'.
- (tt_default_graphics_state)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
- (Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Handle `unpatented_hinting'.
- (Direct_Move) [NO_APPLE_PATENT]: Removed.
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
- (Project, FreeProject)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
- (Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Implement unpatented hinting.
- (DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
- Ins_SDPVTL): Call `GUESS_VECTOR'.
- (DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Handle `unpatented_hinting'.
- (Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
- hinting.
- (Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
- hinting.
- (TT_RunIns): Updated.
-
- * src/truetype/ttobjs.c
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
- FT_TRUETYPE_UNPATENTED_H.
- (tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
- FT_PARAM_TAG_UNPATENTED_HINTING.
-
- * src/truetype/ttobjs.h (TT_GraphicsState)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
-
-2003-04-25 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
- argument.
- (bdf_get_font_property): Use `const' for third argument.
- Updated all callers.
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
- similar to the PCF driver.
- * src/bdf/bdf.h (_hashnode): Use `const' for `key'.
- Updated.
-
- * src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
- is declared twice. It is perhaps better to modify the zlib source
- files directly instead of this hack.
- (zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
- to make build with g++ successful.
-
-2003-04-24 Manish Singh <yosh@gimp.org>
-
- * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
- (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
- also for searching the style name.
-
-2003-04-24 David Turner <david@freetype.org>
-
- * src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
- face->num_glyphs. We must increase the value by 1 to respect the
- convention that glyph index 0 always corresponds to the `missing
- glyph'.
-
-2003-04-24 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
-
-2003-04-24 Dieter Baron <dillo@netbsd.org>
-
- * builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
- files first. Otherwise there are conflicts with FreeType 1
- installed simultaneously.
-
-2003-04-23 Werner Lemberg <wl@gnu.org>
-
- Fixing bugs reported by Nelson Beebe.
-
- * src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
- variable `in_path'.
-
- * src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
- second argument to `FT_Byte*'.
- * include/freetype/internal/ftobjs.h: Updated.
-
- * src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
- (_bdf_parse_glyphs): Remove unused variable `next'.
- Mark `call_data' as unused.
-
- * src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
- `plast'.
-
- * src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
- actually use `error'.
- (pcf_load_font): Remove unused variable `avgw'.
-
- * src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
- to `void'.
- Mark `error' as unused.
- * src/pfr/pfrobjs.h: Updated.
- * src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
-
- * src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
- `format_tag'.
-
- * src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
- unused variable `start'.
- (tt_cmap10_char_next): Remove unused variable `result'
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
- unused.
-
- * src/type1/t1objs.c (T1_Face_Init): Remove unused variable
- `pshinter'.
-
- * src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
- only for FT_CONFIG_OPTION_INCREMENTAL.
-
-2003-04-23 Akito Hirai <akito@kde.gr.jp>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
- of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
- Without this change, many CJK fonts from Dynalab are rejected.
-
-2003-04-23 Joe Marcus Clarke <marcus@FreeBSD.org>
-
- * src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
- `get_interface'.
-
-2003-04-23 Paul Miller <paulm@profoundeffects.com>
-
- * src/base/ftmac.c (parse_fond): Fix handling of style names.
-
-2003-04-23 Werner Lemberg <wl@gnu.org>
-
- * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
- instead of FT_Uint for `len'.
-
-2003-04-22 Werner Lemberg <wl@gnu.org>
-
- * src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
- Convert K&R format to modern C usage.
- (FT_Stream_OpenGzip): Use long constant.
-
-2003-04-21 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
- of `manager'.
-
-2003-04-20 Werner Lemberg <wl@gnu.org>
-
- * doc/INSTALL.UNX: Cleaned up.
-
-2003-04-09 Torrey Lyons <torrey@mrcla.com>
-
- * src/base/ftmac.c (open_face_from_buffer): Removed a double-free
- bug that had nasty consequences when trying to open an `invalid'
- font on a Mac.
-
-2003-04-09 Mike Fabian <mfabian@suse.de>
-
- * src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
- (PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
- to access more than 32768 glyphs in fonts.
-
-2003-04-08 David Turner <david@freetype.org>
+ * ChangeLog: Split off older entries into...
+ * ChangeLog.20, ChangeLog.21: These new files.
+2005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
- * Version 2.1.4 released.
- =========================
+ The next release will be 2.2.0, so don't worry about source code
+ backwards compatibility.
+ * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+ FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
+ FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
+ include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+ FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
+ parameters with `const' where appropriate.
-2003-04-03 Martin Muskens <mmuskens@aurelon.com>
-
- * src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
- handle special cases where a font only contains a `.notdef' glyph
- (happens in PDF-embedded fonts). Otherwise, FT_Panic was called.
-
-2003-03-27 David Turner <david@freetype.org>
-
- * README: Udpated.
-
- * README.UNX: Removed (now replaced by docs/INSTALL.UNX).
-
- * src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
- will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
- used.
- (psh3_dimension_quantize_len): Enabled.
- (psh3_hint_align): Enable commented code.
- (psh3_hint_align_light): Commented out.
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
- computations to include rounding in all cases; this is required to
- provide accurate kerning data when native TrueType hinting is
- enabled.
-
- * src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
- more general names according to the PostScript specification (the
- previous one was too restrictive).
- (parse_font_name, parse_encoding, parse_charstrings, parse_dict):
- Use `is_name_char'.
- (parse_subrs): Handle empty arrays.
-
-2003-03-20 David Turner <david@freetype.org>
-
- Serious rewriting of the documentation.
-
- * docs/BUGS, docs/BUILD: Removed.
- * docs/DEBUG.TXT: Renamed to...
- * docs/DEBUG: This.
- * docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
- * docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
- containing platform specific information previously in INSTALL.
- * docs/readme.vms: Renamed to...
- * docs/INSTALL.VMS: This.
-
- * docs/*: Updated.
-
- Introduced three new functions to deal with glyph bitmaps within
- FT_GlyphSlot objects:
-
- ft_glyphslot_free_bitmap
- ft_glyphslot_alloc_bitmap
- ft_glyphslot_set_bitmap
-
- These functions are much more convenient to use than managing the
- FT_GLYPH_OWN_BITMAP flag manually.
-
- * include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
- ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
- * src/base/ftobjs.c: Implement them.
- (ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
- (PCF_Glyph_Load): Remove unused variable `memory'.
- Use `ft_glyphslot_*' functions.
- Don't set `FT_GLYPH_OWN_BITMAP'.
-
- * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
- `ft_glyphslot_alloc_bitmap'.
-
- * src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
- `FT_GlyphSlot'.
- Adding argument `depth' to handle recursive calls.
- Use `ft_glyphslot_alloc_bitmap'.
- (tt_face_load_sbit_image): Remove unused variable `memory'.
- Don't handle `FT_GLYPH_OWN_BITMAP'.
- Update call to Load_SBit_Image.
-
- * src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
- (t42_glyphslot_clear): This. Updated caller.
- Call `ft_glyphslot_free_bitmap'.
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Use
- `ft_glyphslot_set_bitmap'.
- Don't handle `FT_GLYPH_OWN_BITMAP'.
-
- * src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
- check.
-
- * src/autohint/ahglyph.c (ah_outline_load): Add two scaling
- arguments.
- * src/autohint/ahglyph.h: Updated.
- * src/autohint/ahhint.c (ah_hinter_load): Updated.
- * src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
-
- * src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
- crash the cache in rare circumstances (mostly with broken fonts).
-
-2003-03-15 David Turner <david@freetype.org>
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
- bug. Actually, it seems that previous versions of FreeType didn't
- perform TrueType rounding exactly as appropriate.
-
-2003-03-14 David Turner <david@freetype.org>
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
- TrueType native rendering glitches; they came from a small rounding
- error.
-
-2003-03-13 David Turner <david@freetype.org>
-
- Added new environment variables to control memory debugging with
- FreeType. See the description of `FT2_DEBUG_MEMORY',
- `FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
-
- * src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
- `bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
- (ft_mem_debug_alloc): Handle new variables.
- (ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
- Handle new environment variables.
- * docs/DEBUG.TXT: Updated.
-
- Fixed the cache sub-system to correctly deal with out-of-memory
- conditions.
-
- * src/cache/ftccache.c (ftc_node_destroy): Comment out generic
- check.
- (ftc_cache_lookup): Implement loop.
- * src/cache/ftccmap.c: Define FT_COMPONENT.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
- FT_Err_Out_Of_Memory.
- * src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
- (FT_LruList_Lookup): Implement loop.
-
- * src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
- (pfr_face_init): Fixing compiler warnings.
-
- * src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
- leak) that only happened when a try to resize an array would end in
- an out-of-memory condition.
-
- * src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
- warnings / volatile bug.
-
- * src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
- fault that happened in tight memory environments.
-
-2003-02-28 Pixel <pixel@mandrakesoft.com>
-
- * src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
- stream was not properly finalized.
-
-2003-02-25 Anthony Fok <anthony@thizlinux.com>
-
- * src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
- (ftc_cmap_family_init): The cmap cache now
- supports UCS-4 charmaps when available in Asian fonts.
-
- * src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
- in comments.
-
-2003-02-25 David Turner <david@freetype.org>
-
- * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
- caused FreeType to loop endlessly when trying to read certain
- compressed gzip files. The following test reveals the bug:
-
- touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
-
- Several fixes to the PFR font driver:
-
- - The list of available embedded bitmaps was not correctly set in
- the root FT_FaceRec structure describing the face.
-
- - The glyph loader always tried to load the outlines when
- FT_LOAD_SBITS_ONLY was specified.
-
- - The table loaded now scans for *undocumented* elements of a
- physical font's auxiliary data record. This is necessary to
- retrieve the `real' family and style names.
-
- NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
-
- * src/pfr/pfrload.c (pfr_aux_name_load): New function.
- (pfr_phy_font_done): Free `family_name' and `style_name' also.
- Remove unused variables.
- (pfr_phy_font_load): Extract useful information from the auxiliary
- bytes.
-
- * src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
- (pfr_face_init): Provide fallback values for `family_name' and
- `style_name'.
- Handle strikes.
- (pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
- * src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
- `descent', `leading', `family_name', and `style_name'.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
- when computing the scale factors for a given character size in
- points with resolution.
-
- * devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
- which are special development versions of include/ft2build.h and
- include/freetype/config/ftoption.h, respectively.
-
-2003-02-18 David Turner <david@freetype.org>
-
- Fixing the slight distortion problem that occurred due to the latest
- auto-hinter changes.
-
- * src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
- [!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
-
- * src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
- * src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
- `metrics'.
- [FT_CONFIG_CHESTER_ASCENDER]: Code removed.
- (Reset_SBit_Size): Fix initialization of `metrics'.
-
- * src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
- `exec->metrics'.
-
- * src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
- `correction' which seemed to provide more trouble than benefits.
-
-2003-02-13 Graham Asher <graham.asher@btinternet.com>
-
- Changed the incremental loading interface in a way that makes it
- simpler and allows glyph metrics to be changed (e.g., by adding a
- constant, as required by CFF fonts) rather than just overridden.
- This was required to make the GhostScript-to-FreeType bridge work.
-
- * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
- Allow metrics to be overridden.
- * src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
- Ditto.
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
- (compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
- moved down.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-
- * include/freetype/ftincrem.h: Updated.
-
-2003-01-31 David Turner <david@freetype.org>
-
- * docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
- for the 2.1.4 release.
-
- * builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/index.html: Updating the project file for
- 2.1.4.
-
- * src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
- src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
- src/gzip/infutil.c: Removed old-style (K&R)function definitions.
- This avoids warnings with Visual C++ at its most pedantic mode.
-
- * src/pfr/pfrsbit.c: Removed compiler warnings.
-
- * src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
- into an FT_TRACE1 since it caused `ftview' and others to dump too
- much junk when trying to display a waterfall with a font without a
- Unicode charmap (e.g. SYMBOL.TTF).
-
- Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
- patch from David Chester, but with a much simpler (and saner)
- implementation.
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph)
- [FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
- the top of non-capital letters is aligned on a pixel boundary
- whenever possible.
-
- * src/base/ftobjs.c (FT_Set_Char_Size)
- [FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
- * src/truetype/ttdriver.c (Set_Char_Sizes)
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
- if this macro is defined.
-
- * src/truetype/ttobjs.c (Reset_Outline_Size)
- [FT_CONFIG_CHESTER_ASCENDER]: Round differently.
-
- * src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting
- rid of stem snapping seems to work well here (though the stems are
- still slightly moved to increase contrast).
- (psh3_dimension_quantize_len): Commented out.
- (psh3_hint_align_light): New function.
- (psh3_hint_align): Comment out some code.
-
- THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
- STILL SUCK.
-
-2003-01-22 David Chester <davidchester@qmx.net>
-
- * src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
- stem width optimization.
-
-2003-01-22 David Turner <david@freetype.org>
-
- Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
- properties of a given PCF or BDF font.
-
- * include/freetype/ftbdf.h (FT_PropertyType): New enumeration.
- (BDF_Property, BDF_PropertyRec): New structure.
- FT_Get_BDF_Property): New function.
- * include/freetype/internal/bdftypes.h: Include FT_BDF_H.
- (BDF_GetPropertyFunc): New function pointer.
-
- * src/base/ftbdf.c (test_font_type): New helper function.
- (FT_Get_BDF_Charset_ID): Use `test_font_type'.
- (FT_Get_BDF_Property): New function.
-
- * src/bdf/bdfdrivr.c: Include FT_BDF_H.
- (bdf_get_bdf_property, bdf_driver_requester): New functions.
- (bdf_driver_class): Use `bdf_driver_requester'.
-
- * src/pcf/pcfdrivr.c: Include FT_BDF_H.
- (pcf_get_bdf_property, pdc_driver_requester): New functions
- (pcf_driver_class): Use `pcf_driver_requester'.
-
- * src/pcf/pcfread.c: Include `pcfread.h'.
- (pcf_find_property): Decorate it with FT_LOCAL_DEF.
- * src/pcf/pcfread.h: New file, providing `pcf_find_property'.
-
- * src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
- verification to accept a few broken fonts who pad the size
- incorrectly (the table should be padded, but its `size' field
- shouldn't according to the specification).
-
-2003-01-18 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.4.3.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.7.1.
- * builds/unix/configure: Regenerated with autoconf 2.54.
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
- * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
- `automake' CVS module at subversions.gnu.org.
-
-2003-01-15 David Turner <david@freetype.org>
-
- * include/freetype/freetype.h: Fixed documentation for
- FT_Size_Metrics.
-
-2003-01-15 James Su <suzhe@turbolinux.com.cn>
-
- * src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
- certain gzip-ed font files (typo: `&&' -> `&').
-
-2003-01-15 Huw D M Davies <h.davies1@physics.ox.ac.uk>
-
- Added a Windows .FNT specific API (mostly for Wine). Also fixed a
- nasty bug in the header loader which would cause invalid memory
- overwrites.
-
- * include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
- for ftwinfnt.h.
- * include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
- (FNT_FontRec): Updated.
- Move Windows FNT definition to...
- * include/freetype/ftwinfnt.h: This new file.
- (FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
- * src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
- * src/winfonts/winfnt.c (winfnt_header_fields): Updated.
- Rename `reserved2' to `reserved1'.
- (fnt_font_load): Updated.
-
- * src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
- Updated.
-
-2003-01-14 Graham Asher <graham.asher@btinternet.com>
-
- * include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
- the type of the first argument to FT_Matrix_Multiply, which isn't
- changed -- this adds documentation and convenience.
-
-2003-01-13 Graham Asher <graham.asher@btinternet.com>
-
- * src/sfnt/ttload.c (tt_face_load_metrics)
- [FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
- horizontal metrics (without the `hmtx' table) are now tolerated if
- an incremental interface has been specified that has a
- get_glyph_metrics function, implying that metrics will be supplied
- from outside. This happens for certain Type 42 fonts passed from
- GhostScript.
-
-2003-01-11 David Chester <davidchester@qmx.net>
-
- Patches to the auto-hinter in order to slightly improve the output.
- Note that everything is controlled through the new
- FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'. There are
- also individual FT_CONFIG_CHESTER_XXX macros to control individual
- `features'.
-
- Note that all improvements are enabled by default, but can be
- tweaked for optimization and testing purposes. The configuration
- macros will most likely disappear in the short future.
-
- * include/freetype/config/ftoption.h
- (FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
- (FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
- [FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
- features.
-
- * src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
- Add blue zone for `fijkdbh'.
- * src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
- [FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
- * src/autohint/ahglyph.c (ah_outline_compute_edges)
- [FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
- (ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
- Increase threshold for `best_dist'.
- * src/autohint/ahhint.c (ah_compute_stem_width)
- [FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
- handling.
- (ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
- version of `ah_compute_stem_width'.
- (ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
- alignment when stem widths are less than 1.5 pixels wide centers the
- stem slightly off-center of the center of a pixel (this increases
- sharpness and consistency).
- [FT_CONFIG_CHESTER_SERIF]: Use special version of
- `ah_compute_stem_width'.
- * src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
- `AH_BLUE_SMALL_F_TOP'.
-
-2003-01-11 David Turner <david@freetype.org>
-
- * include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
- size of `reserved2' to avoid memory overwrites.
-
-2003-01-08 Huw Dawies <huw@codeweavers.com>
-
- * src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
- `reserved2', not `reserved'.
-
- * src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
- returned when the font doesn't contain a Unicode charmap. This
- allows FT2 to load `symbol.ttf' and a few others correctly since the
- last release.
- (open_face): Fix return value.
-
-2003-01-08 Owen Taylor <owen@redhat.com>
-
- Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
- postscript hinters.
-
- * src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
- * src/autohint/ahhint.c (ah_compute_stem_width): Handle
- hinter->do_stem_adjust.
- (ah_hinter_load_glyph): Set hinter->do_stem_adjust.
-
- * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
- * src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
- (ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
-
- * include/freetype/freetype.h (FT_Render_Mode): Add
- FT_RENDER_MODE_LIGHT.
-
- * src/truetype/ttgload.c: Fixing the TrueType loader to handle
- invalid composites correctly by limiting the recursion depth.
- (TT_MAX_COMPOSITE_RECURSE): New macro.
- (load_truetype_glyph): Add argument `recurse_count'.
- Load a composite only if the numbers of contours is -1, emit error
- otherwise.
- (TT_Load_Glyph): Updated.
-
-2003-01-08 David Turner <david@freetype.org>
-
- * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
- support the compilation of FreeType 2 as part of larger projects
- with their own configuration options (only with Jam).
-
-2003-01-07 David Turner <david@freetype.org>
-
- * src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
- the API is likely to change, however.
- (ft_stroke_border_close): Don't record empty paths.
- (ft_stroke_border_get_counts): Increase `num_points' also in for loop.
- (ft_stroke_border_export): Don't increase `write' twice in for loops.
- (ft_stroker_outside): Handle `phi' together with `theta'.
- (FT_Stroker_ParseOutline): New function.
-
- * src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
- invalid values for large negative angle differences (resulting in
- incorrect stroker computations, among other things).
-
- * src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
- assertion, and changing code to avoid hash table size contraction.
-
- * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
- `ftstroker' to default build, as optional component.
-
-2002-12-26 David Turner <david@freetype.org>
-
- * src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
- src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
- src/gzip/zutil.h: Updates to allow compilation without compiler
- warnings with LCC-Win32.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
- * builds/unix/configure.ac (version_info): Increased to 9:3:3.
- * builds/unix/configure: Regenerated.
- * docs/VERSION.DLL: Updated.
-
-2002-12-23 Anthony Fok <anthony@thizlinux.com>
-
- * builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
- builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
- sub-system on Unix to allow other programs to correctly link with
- zlib when needed.
-
-2002-12-19 David Turner <david@freetype.org>
-
- * include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
- function pointer.
-
- * include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
- * src/base/ftobjs.c: Implement it.
-
- * src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
- module request.
-
-2002-12-17 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c (find_unicode_charmap): Added some comments to
- better explain what's happening there.
- (open_face): Included Graham Asher's fix to prevent faces without
- Unicode charmaps from loading.
-
- * src/winfonts/winfnt.c: Included George Williams's fix to support
- version 2 fonts correctly.
- (winfnt_header_fields): Updated.
- (fnt_font_load): Handle version 2 fonts.
- (FNT_Load_Glyph): Updated.
-
-2002-12-16 David Turner <david@freetype.org>
-
- * docs/VERSION.DLL: Updating document to better explain the
- differences between the three version numbers being used on Unix, as
- well as providing an autoconf fragment provided by Lars Clausen.
-
- * src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
- prevented bezier arcs with negative vertical coordinates to be
- rendered appropriately.
-
-2002-12-02 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
- Now it loads UCS-4 charmaps when there is one.
- (find_unicode_charmap): New function.
- (open_face): Refer to the above one.
- (FT_Select_Charmap): Idem.
-
-2002-11-29 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * include/freetype/ftgzip.h: Correct the name of the controlling
- macro (was __FTXF86_H__ ...).
-
-2002-11-27 Vincent Caron <v.caron@zerodeux.net>
-
- * builds/unix/unix-def.in, builds/unix/freetype-config.in,
- builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
- [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
- installations if available on the target platform (Unix only).
-
-2002-11-23 David Turner <david@freetype.org>
-
- * src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
- charset loader to accept pre-defined charsets, even when the font
- contains fewer glyphs. Also enforced more checks to ensure that we
- never overflow the character codes array in the encoding.
-
-2002-11-22 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * include/freetype/ttnameid.h: Updated to latest OpenType
- specification.
-
-2002-11-18 David Turner <david@freetype.org>
-
-
- * Version 2.1.3 released.
- =========================
-
-
-2002-11-07 David Turner <david@freetype.org>
-
- * src/cache/ftcsbit.c (ftc_sbit_node_load): Fixed a small bug that
- caused problems with embedded bitmaps.
-
- * src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
- src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
- src/otlayout/otlparse.c, src/otlayout/otlparse.h,
- src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
- support fot the first GSUB lookups. Nothing that really compiles
- for now though.
-
- * src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
- width quantization. It produces slightly better shapes though this
- is not distinguishable with many fonts.
- Remove other dead code.
-
- * src/Jamfile, src/*/Jamfile: Simplified.
- Use $(FT2_SRC_DIR).
-
-2002-11-06 David Turner <david@freetype.org>
-
- * include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
- (FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
-
-2002-11-05 David Turner <david@freetype.org>
-
- * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
- support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
- the use of system-wide zlib.
-
- Note that this macro, as well as
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
- This allows the build system to define them depending on the
- configuration (typically by adding -D flags at compile time).
-
- * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
- warnings in optimized mode relative to the `volatile' local
- variables. This was not a compiler bug after all, but the fact that
- a pointer to a volatile variable is not the same as a volatile
- pointer to a variable :-)
-
- The fix was to change
- `volatile FT_Byte* p'
- into
- `FT_Byte* volatile p'.
-
- * src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
- (pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
- optimized modes.
-
- * src/gzip/*.[hc]: Modified our zlib copy in order to prevent
- exporting any zlib function names outside of the component. This
- prevents linking problems on some platforms, when applications want
- to link FreeType _and_ zlib together.
-
-2002-11-05 Juliusz <jch@pps.jussieu.fr>
-
- * src/psaux/psobjs.c (ps_table_add): Modified increment loop in
- order to implement exponential behaviour.
-
-2002-11-01 David Turner <david@freetype.org>
-
- Added PFR-specific public API. Fixed the kerning retrievel routine
- (it returned invalid values when the outline and metrics resolution
- differ).
-
- * include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
- files.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
- macro for pfr.h.
-
- * src/base/ftpfr.c: New file.
- * src/base/Jamfile, src/base/descrip.mms: Updated.
-
- * src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
- (pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
- (pfr_service_rec): New format interface.
- (pfr_driver_class): Use `pfr_service_rec'.
- Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
- * src/pfr/pfrobjs.c: Remove dead code.
-
- * src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
- better support bitmap-based font formats.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
- `scale'.
- Fix arguments to `FT_Vector_From_Polar'.
-
-2002-10-31 David Turner <david@freetype.org>
-
- Add support for automatic handling of gzip-compressed PCF files.
-
- * src/gzip/*: New files, taken from the zlib package (except
- ftgzip.c).
-
- * include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
- * include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
- `ftgzip.h'.
-
- * src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
- (PCF_Face_Init): If normal open fails, try to open gzip stream.
- (PCF_Face_Done): Close gzip stream.
-
- * include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
- src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
- New macro.
- (T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
- FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
- FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
-
- (FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
- FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
- that platform specific configuration file can override.
-
- * include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
-
-2002-10-30 David Turner <david@freetype.org>
-
- * FreeType 2.1.3rc3 released.
-
-2002-10-25 David Turner <david@freetype.org>
-
- * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
- (FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
-
-2002-10-22 Giuseppe Ghibò <ghibo@mandrakesoft.com>
-
- * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
-
-2002-10-07 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
- (suggested by Graham).
- * src/base/ftobjs.c (FT_Open_Face): Updated.
- (ft_input_stream_new): Ditto.
-
-2002-10-05 David Turner <david@freetype.org>
-
- Adding support for embedded bitmaps to the PFR driver, and rewriting
- its kerning loader/handler to use all kerning pairs in a physical
- font (and not just the first item).
-
- * src/pfr/pfr.c: Include `pfrsbit.c'.
- * src/pfr/pfrgload.c: Include `pfrsbit.h'.
- * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
- (pfr_phy_font_done, pfr_phy_font_load): Updated.
- * src/pfr/pfrobks.c: Include `pfrsbit.h'.
- (pfr_face_init): Handle kerning and embedded bitmaps.
- (pfr_slot_load): Load embedded bitmaps.
- (PFR_KERN_INDEX): Removed.
- (pfr_face_get_kerning): Rewritten.
- * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
- * src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
- (PFR_KERN_INDEX): New macro.
- (PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
- * src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
- FT_LOAD_NO_RECURSE is set.
- Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
-
- * src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
- src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
- sub-tables is now capable of dealing with invalid `length' fields at
- the start of the sub-table. This allows fonts like `mg______.ttf'
- (i.e. Marriage) to return accurate charmaps.
-
- * docs/CHANGES: Updated.
-
-2002-10-05 Werner Lemberg <wl@gnu.org>
-
- * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
- Update all callers.
- (TRUNC): Add cast to `TCoord'.
- Update all callers.
- (TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
- last_ey.
- Update all casts.
- (gray_render_line): Fix casts for `p' and `first'.
-
-2002-10-02 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
- structure with FT_ALLOC instead of using the stack.
-
-2002-09-27 Werner Lemberg <wl@gnu.org>
-
- * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
- num_sbit_scales): Use `FT_ULong'.
- * src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
- * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
- (find_sbit_image): Remove cast.
- * src/raster/ftrend1.c (ft_raster1_render): Fix cast.
-
-2002-09-27 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/sfnt/ttload.c (tt_face_load_names): Use cast.
- * src/sfnt/ttcmap.c (code_to_next2): Use long constant.
- (code_to_index4): Use cast.
- (code_to_index8_12): Fix cast.
- * src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
- tt_cmap12_char_index): Use cast for `result'.
- (tt_face_build_cmaps): Use cast.
- * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
- `code'.
- (sfnt_load_face): Use FT_Int32 for `flags'.
-
- * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
- gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
- to `TCoord' and `int'.
- More 16bit fixes.
- s/FT_Pos/TPos/.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
-
-2002-09-26 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
- tt_face_get_ps_name): Replace switch statement with if clauses to
- make it more portable.
-
- * src/cff/cffobjs.c (cff_face_init): Ditto.
-
- * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
- `module_size'.
- * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
- `glyph_size'.
-
- * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
- `FT_Render_Mode'.
- (FT_Render_Glyph_Internal): Change third parameter to
- `FT_Render_Mode'.
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
- to `FT_Render_Mode'.
-
- * src/raster/ftrend1.c (ft_raster1_render): Change third parameter
- to `FT_Render_Mode'.
- * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
- ft_smooth_render_lcd_v): Ditto.
- (ft_smooth_render_generic): Change third and fifth parameter to
- `FT_Render_Mode'.
-
- * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
- include/freetype/ftglyph.h: Updated.
-
- * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
- (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
- src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
- (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
- fourth parameter to `FT_Int32'.
-
- * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
- and declare them as unused.
-
- * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
-
- * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
- value to FT_UInt32.
- * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
- Updated accordingly.
-
-2002-09-26 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
- (cff_get_glyph_name): Use cast for result of ft_strlen.
- * src/cff/cffparse.c (cff_parse_real): User cast for assigning
- `exp'.
- * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
- some local variables.
- (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
- switch statements.
- (cff_font_load): Use cast in call to CFF_Load_FD_Select.
- * src/cff/cffobjs.c (cff_size_init): Use more casts.
- (cff_face_init): Use FT_Int32 for `flags'.
- * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
- `adx' and `ady'.
- (cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
- Use more casts.
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
-
- * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
- * src/cid/cidgload.c (cid_load_glyph): Add missing cast for
- `cid_get_offset'.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
- cast for `num_points'.
- (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
-
- * src/base/ftdebug.c (ft_debug_init): Use FT_Int.
- * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
- `FT_Int32' for fourth parameter.
- * src/base/ftobjs.c (open_face): Use cast for calling
- clazz->init_face.
-
- * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
- `1L'.
- (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
- * src/raster/ftrend1.c (ft_raster1_render): Ditto.
-
- * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
- constant.
-
-2002-09-26 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/include/freetype/config/ftmodule.h: Updated.
-
-2002-09-25 David Turner <david@freetype.org>
-
- * src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
- hinting in the auto-hinter. This produces much better anti-aliased
- text.
-
- * docs/CHANGES: Updating the changes documentation.
-
-2002-09-25 Anthony Fok <anthony@thizlinux.com>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
- tt_cmap4_char_next): Added support for opens___.ttf (it contains a
- charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
- missing glyph).
-
-2002-09-21 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
- FT_Int32.
- * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
- Ditto.
-
-2002-09-19 Wolfgang Domröse <porthos.domroese@harz.de>
-
- More 16bit fixes.
-
- * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
- (ah_hinter_compute_widths): Use FT_Pos for `dist'.
- Use AH_MAX_WIDTHS.
- * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
- for `delta'.
- (ah_outline_compute_edges): Replace some ints with FT_Int and
- FT_Pos.
- (ah_test_extrema): Clean up code.
- (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
- hold indices.
- * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
- to FT_Pos.
-
-2002-09-19 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated to
- recent versions.
-
-2002-09-18 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c (FT_Library_Version): Bugfix.
-
- * FreeType 2.1.3rc2 (release candidate 2) is released!
-
-2002-09-17 David Turner <david@freetype.org>
-
- * include/freetype/freetype.h, include/freetype/ftimage.h,
- include/freetype/ftstroker.h, include/freetype/ftsysio.h,
- include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
- the in-source documentation.
-
- * src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
- DocMaker tool.
-
- * src/tools/docmaker.py: Removed.
-
-2002-09-17 Werner Lemberg <wl@gnu.org>
-
- More 16bit fixes.
-
- * src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
- second parameter.
-
-2002-09-16 Werner Lemberg <wl@gnu.org>
-
- 16bit fixes from Wolfgang Domröse.
-
- * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
- and `private_len' to FT_Long.
- * src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
- `private_len'.
- * src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
- Use FT_PtrDist where appropriate.
- (parse_encoding): Use FT_Long for `count' and `n'.
- (read_binary_data): Use FT_Long* for second parameter.
- * src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
-
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
- * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
-
-2002-09-14 Werner Lemberg <wl@gnu.org>
-
- Making ftgrays.c compile stand-alone again.
-
- * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
- isn't defined.
- * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
- FT_BEGIN_HEADER, FT_END_HEADER.
- (FT_MEM_ZERO): Define.
- (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
- (gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
- Don't cast with `FT_Byte'.
- (grays_init_gamma): Don't use `FT_UInt'.
-
-2002-09-14 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
- * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
- * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
- to 32.
-
-2002-09-10 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.ac (version_info): Set to 9:2:3.
- * builds/unix/configure: Regenerated.
- * docs/VERSION.DLL: Updated.
-
-2002-09-09 David Turner <david@freetype.org>
-
- * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
- src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
- to prevent seg fault when hints are provided in an empty glyph.
-
- * src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
- Removed conditional code. This fixes a bug that prevented
- compilation in debug mode of template instantiation.
-
- * include/freetype/ftimage.h: Removed incorrect `zft_' definitions
- and updated constants documentation comments.
-
- * src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
- It didn't accept empty arrays, and this prevented the loading of
- certain fonts.
-
- * include/freetype/freetype.h (FT_FaceRec): Updating documentation
- comment. The `descender' value is always *negative*, not positive.
-
-2002-09-09 Owen Taylor <owen@redhat.com>
-
- * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
- of bitmap metrics.
-
-2002-09-08 David Turner <david@freetype.org>
-
- Various updates to correctly support sub-pixel rendering.
-
- * include/freetype/config/ftmodule.h: Add two renderers for LCD.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Updated.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_lcd,
- ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
- FT_PIXEL_MODE_LCD_V, respectively.
-
- * include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
- structure.
- Updated all users.
- (FTC_ImageDesc): Removed.
- (FTC_ImageCache_Lookup): Second parameter is now of type
- `FTC_ImageType'.
- Updated all users.
- (FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
- (FTC_IMAGE_TYPE_COMPARE): This.
- (FTC_IMAGE_DESC_HASH): Updated and renamed to...
- (FTC_IMAGE_TYPE_HASH): This.
-
- * include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
- replaced with `max_grays'.
- `pitch' is now FT_Short.
- (FTC_SBitCache_Lookup): Second parameter is now of type
- `FTC_ImageType'.
- Updated all users.
-
- * src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
- Updated.
- (ftc_image_node_init): Updated.
- Moved code to convert type flags to load flags to...
- (FTC_Image_Cache_Lookup): This function.
- (ftc_image_family_init): Updated.
-
- * src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
- Updated.
- (ftc_sbit_node_load): Updated.
- Moved code to convert type flags to load flags to...
- (FTC_SBitCache_Lookup): This function.
-
- * src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
- `do_*_snapping'.
- Update all users (with negation).
- * src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
- `dist' for `delta' < 40.
-
- * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
- `do_*_snapping'.
- Update all users (with negation).
- * src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
- function.
- (psh3_hint_align): Use it.
- Improve hinting code.
- [STRONGER]: Removed.
- (STRONGER): Removed.
-
- * include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
- Removed.
-
-2002-09-05 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
- (cid_size_init): This.
- * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
- (t1_builder_add_point1): This.
-
- Updated all affected code.
-
- * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
- * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
-
-2002-09-04 David Turner <david@freetype.org>
-
- * include/freetype/freetype.h: Corrected the definition of
- ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
- the erroneous FT_ENCODING_SYMBOL).
-
- * builds/unix/unix-def.in (datadir): Initialize it (thanks to
- Anthony Fok).
-
-2002-08-29 David Turner <david@freetype.org>
-
- Slight modification to the Postscript hinter to slightly increase
- the contrast of smooth hinting. This is very similar to what the
- auto-hinter does when it comes to stem width computations. However,
- it produces better results with well-hinted fonts.
-
- * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
- mode to `init' member function.
- (T1_DecoderRec): Add hint mode.
- * include/freetype/internal/pshints (T1_Hints_ApplyFunc,
- T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
- * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
- * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
- hint flags.
- * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
- (STRONGER): New macro.
- (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
- of `hint_flags'.
- Implement announced changes.
- * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
- vertical and horizontal hints and snapping.
-
- * README, docs/CHANGES: Updating for the 2.1.3 release.
-
-2002-08-27 David Turner <david@freetype.org>
-
- * Massive re-formatting changes to many, many source files. I don't
- want to list them all here. The operations performed were all
- logical transformations of the sources:
-
- - trying to convert all enums and constants to CAPITALIZED_STYLE,
- #with define definitions like
-
- #define my_old_constants MY_NEW_CONSTANT
-
- - big, big update of the documentation comments
-
- * include/freetype/freetype.h, src/base/ftobjs.c,
- src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
- for LCD-optimized rendering though the new constants/enums:
-
- FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
- FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V
-
- This is still work in progress, don't expect everything to work
- correctly though most of the features have been implemented.
-
- * Adding new FT_LOAD_XXX flags, used to specify both hinting and
- rendering targets:
-
- FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
- FT_LOAD_TARGET_MONO :: monochrome bitmaps
- FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated
- hinting & rendering
- FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated
- hinting & rendering
-
- Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
- behaviour of the font engine is _unchanged_.
-
- * include/freetype/ftimage.h
- (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
- (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
- (FT_Raster_Span_Func): Renamed to ...
- (FT_SpanFunc): This.
- (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
- (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
-
- Updated all affected code.
-
- * include/freetype/ftrender.h
- (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
- to ...
- (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
- (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
- (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
- This.
-
- Updated all affected code.
-
- * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
- AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
- pointers to the corresponding `*Rec' structures. All source files
- have been updated accordingly.
-
- * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
- * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
-
- * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
- (cid_face_compute_max_advance): This.
- (CID_Load_Glyph): Renamed to...
- (cid_slot_load_glyph): This.
- * src/cid/cidload.c (CID_Open_Face): Renamed to...
- (cid_face_open): This.
- * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
- (cid_slot_{done,init}): This.
- (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
- (cid_size_{get_globals_funcs,done,reset): This.
- (CID_Face_{Done,Init}): Renamed to...
- (cid_face_{done,init}): This.
- (CID_Driver_{Done,Init}: Renamed to...
- (cid_driver_{done,init}: This.
- * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
- (cid_parser_{new,done}): This.
- * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
- (cid_parser_skip_{spaces,alpha}): This.
- (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
- to...
- (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
- This.
- (CID_Load_{Field,Field_Table): Renamed to...
- (cid_parser_load_{field,field_table}): This.
- * src/cid/cidriver.c (CID_Get_Interface): Renamed to...
- (cid_get_interface): This.
-
- Updated all affected code.
-
- * src/psaux/psobjs.c (PS_Table_*): Renamed to...
- (ps_table_*): This.
- (T1_Builder_*): Renamed to...
- (t1_builder_*): This.
- * src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
- (t1_decoder_*): This.
-
- * src/psnames/psmodule.c (PS_*): Renamed to...
- (ps_*): This.
-
- Updated all affected code.
-
- * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
- (sfnt_get_interface): This.
- * src/sfnt/sfobjs.c (SFNT_*): Renamed to...
- (sfnt_*): This.
- * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
- (tt_face_{load,free}_charmap): This.
- * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
- (tt_face_build_cmaps): This.
- * src/sfnt/ttload.c (TT_*): Renamed to...
- (tt_face_*): This.
- * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
- (tt_post_default_names): This.
- (Load_*): Renamed to...
- (load_*): This.
- (TT_*): Renamed to...
- (tt_face_*): This.
- * src/sfnt/ttsbit.c (TT_*): Renamed to...
- (tt_face_*): This.
- ({Find,Load,Crop}_*): Renamed to...
- ({find,load,crop}_*): This.
-
- Updated all affected code.
-
- * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
- (ft_smooth_render_generic): This.
- Make function more generic by adding vertical and horizontal scaling
- factors.
- (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
- New functions.
-
- (ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
- classes.
-
- * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
- (tt_glyphzone_{done,new}): This.
- (TT_{Face,Size,Driver}_*): Renamed to...
- (tt_{face,size,driver}_*): This.
- * src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
- (tt_face_load_loca): This.
- (TT_Load_Programs): Renamed to...
- (tt_face_load_fpgm): This.
- (TT_*): Renamed to...
- (tt_face_*): This.
-
-2002-08-27 Werner Lemberg <wl@gnu.org>
-
- * docs/VERSION.DLL: New file.
-
-2002-08-23 Graham Asher <graham.asher@btinternet.com>
-
- * src/cff/cffgload.c (cff_operator_seac)
- [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
- incremental in the case of CFF but just using callbacks to get glyph
- recipes) pass the character code, not the glyph index, to the
- get_glyph_data function; they have no valid charset table.
-
- * src/cff/cffload.c (cff_font_load): Removed special cases for
- FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
- fonts provided via the incremental interface now have to conform
- more closely to the CFF font format.
-
- * src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
-
- * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
- to conform with new signature.
-
-2002-08-22 David Turner <david@freetype.org>
-
- * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
- src/bdf/bdfdrivr.c: Removed compiler warnings.
-
-2002-08-21 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
- psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
- compiler warnings and resolve shadowing of local variables.
-
-2002-08-21 David Turner <david@freetype.org>
-
- The automatic and Postscript hinter now automatically detect
- inflection points in glyph outlines and treats them specially. This
- is very useful to prevent nasty effect like the disappearing
- diagonals of `S' and `s' in many, many fonts.
-
- * src/autohint/ahtypes.h (ah_flag_inflection): New macro.
- * src/autohint/ahangles.c (ah_angle_diff): New function.
- * src/autohint/ahangles.h: Updated.
- * src/autohint/ahglyph.c (ah_outline_compute_inflections): New
- function.
- (ah_outline_detect_features): Use it.
- * src/autohint/ahhint.c (ah_hinter_align_strong_points)
- [!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
-
- * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
- src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
-
- * include/freetype/freetype.h: Changing the type of the `load_flags'
- parameter from `FT_Int' to `FT_Int32', this in order to support more
- options. This should only break binary and/or source compatibility
- on 16-bit platforms (Atari?).
- (FT_LOAD_NO_AUTOHINT): New macro.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Updated.
- Handle FT_LOAD_NO_AUTOHINT.
- (FT_Load_Char): Updated.
-
- * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
- src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
- and removing compiler warnings.
-
-2002-08-20 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
-
-2002-08-20 David Turner <david@freetype.org>
-
- * src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
- src/pshinter/pshglob.c, src/pshinter/pshrec.c,
- src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
- (only used in development builds anyway).
-
- Improve support of local extrema and stem edge points.
-
- * src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
- for `zones'.
- (PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
- (PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
- (PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
- macros.
- (PSH3_POINT_INFLEX): New enum.
- (psh3_point_{is,set}_{off,inflex}): New macros.
- (PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
- enum values.
- (psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
- New macros.
- (PSH3_PointRec): New members `flags2' and `org_v'.
- (PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
-
- * src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
- warnings.
- (COMPUTE_INFLEXS): New macro.
- (psh3_hint_align): Simplify some basic arithmetic computations.
- (psh3_point_is_extremum): Removed.
- (psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
- (psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
- (psh3_glyph_compute_extrema): New function.
- (PSH3_STRONG_THRESHOLD): Increased to 30.
- (psh3_hint_table_find_strong_point): Improved.
- (psh3_glyph_find_strong_points,
- psh3_glyph_interpolate_strong_points): Updated.
- (psh3_hints_apply): Use psh3_glyph_compute_extrema.
-
- * test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
- functions.
- Other small updates.
-
- * Jamfile: Small updates.
-
-2002-08-18 Arkadiusz Miskiewicz <misiek@pld.ORG.PL>
-
- * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
- make life easier for package maintainers.
-
-2002-08-18 Werner Lemberg <wl@gnu.org>
-
- * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
- horiBearingX.
- * src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
- horiBearingY.
-
-2002-08-16 George Williams <gww@silcom.com>
-
- Add support for Apple composite glyphs.
-
- * include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
-
- * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
- UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
- glyph loading flags.
- (load_truetype_glyph): Implement it.
-
-2002-08-16 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffgload.c (cff_free_glyph_data),
- src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
-
-2002-08-15 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
-
-2002-08-15 Graham Asher <graham.asher@btinternet.com>
-
- Implemented the incremental font loading system for the CFF driver.
- Tested using the GhostScript-to-FreeType bridge (under development).
-
- * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
- functions.
- (cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
- them.
- * src/cff/cffload.c (cff_font_load): Add `face' parameter.
- Load charset and encoding only if there are glyphs.
- [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
- character recipes.
- * src/cff/cffload.h, src/cff/cffobjs.c: Updated.
-
- * src/cid/cidgload.c (cid_load_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
- loading implementation to use the new system introduced on
- 2002-08-01.
-
-2002-08-06 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffcmap.c: Remove compiler warnings.
- * src/cache/ftccache.c, src/cache/ftccache.i,
- src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
- * src/cff/cffload.c: s/select/fdselect/.
- * src/raster/ftraster.c: s/wait/waiting/.
-
-2002-08-01 Graham Asher <graham.asher@btinternet.com>
-
- * src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
- charstrings if there is an incremental loading interface. Type 1
- faces supplied by PostScript interpreters like GhostScript will
- typically not provide any charstrings at load time, so this is
- essential if they are to work.
-
-2002-08-01 Graham Asher <graham.asher@btinternet.com>
-
- Modified incremental loading interface to be closer to David's
- preferences. The header freetype.h is not now affected, the
- interface is specified via an FT_Parameter, the pointer to the
- interface is hidden in an internal part of the face record, and all
- the definitions are in ftincrem.h.
-
- * include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
- Removed.
- * include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
- Include FT_INCREMENTAL_H.
- (FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
- `incremental_interface'.
-
- * src/base/ftobjs.c (open_face, FT_Open_Face)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Updated.
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- Free loaded glyph data properly.
- (compute_glyph_metrics, TT_Load_Glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- * src/truetype/ttobjs.c (TT_Face_Init)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- (T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- Free loaded glyph data properly.
- (T1_Load_Glyph): Updated.
- [FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
-
-2002-07-30 David Turner <david@freetype.org>
-
- * include/freetype/ftincrem.h: Adding new experimental header file
- to demonstrate a `cleaner' API to support incremental font loading.
-
- * include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
-
- * src/tools/docmaker/*: Adding new (more advanced) version of
- the DocMaker tool, using Python's sophisticated regexps.
-
-2002-07-28 Werner Lemberg <wl@gnu.org>
-
- s/ft_memset/FT_MEM_SET/.
- s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
-
-2002-07-27 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
-
-2002-07-26 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
-
- * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
- * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
- * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
- variable.
- * src/truetype/ttgload.c (load_truetype_glyph): Remove statement
- without effect.
- * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
-
- * src/pshinter/pshalgo3.c (psh3_hint_table_record,
- psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
- message.
-
-2002-07-24 Graham Asher <graham.asher@btinternet.com>
-
- * src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
- [sven@gimp.org] on the FreeType development forum: `If
- FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
- TrueType loader crashes in line 852 of src/truetype/ttgload.c when
- it tries to access face->glyph_locations.'
-
-2002-07-18 Graham Asher <graham.asher@btinternet.com>
-
- Added types and structures to support incremental typeface loading.
- The FT_Incremental_Interface structure, defined in freetype.h, is
- designed to be passed to FT_Open_Face to provide callback functions
- to obtain glyph recipes and metrics, for fonts like those passed
- from PostScript that do not necessarily provide all, or any, glyph
- information, when first opened.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
- New configuration macro to enable incremental face loading. By
- default it is not defined.
-
- * include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
- FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
- FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
- [FT_CONFIG_OPTION_INCREMENTAL]: New.
- (FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
- `incremental_interface'.
- (FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
- `ft_open_incremental'.
-
- * include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
- (FT_Data): New structure to represent binary data.
-
- * src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Add parameter for incremental loading.
- (FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
- interface.
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
- for the TrueType driver.
- (compute_glyph_metrics): Return FT_Error.
- [FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
- (TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
- the glyph table while handling an incremental font.
- Get glyph offset.
-
- * src/truetype/ttobjs.c (TT_Face_Init)
- [FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
- system for the TrueType driver.
-
- * src/cid/cidgload.c (cid_load_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
- for the CID driver.
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Changes to support incremental Type 42 fonts: Assume a font has
- glyphs if it has an incremental interface object.
-
- * src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
- (T1_Parse_Glyph_And_Get_Char_String): This.
- [FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
- loaded Type 1 faces.
- (T1_Parse_Glyph): New function.
- (T1_Load_Glyph): Updated.
-
-2002-07-17 David Turner <david@freetype.org>
-
- Cleaning up the cache sub-system code; linear hashing is now the
- default.
-
- * include/freetype/cache/ftccache.h, src/cache/ftccache.i,
- src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
- (FTC_CACHE_USE_LINEAR_HASHING: Removed also.
-
- FT_CONFIG_OPTION_USE_CMAPS is now the default.
-
- * include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
- `get_char_index' and `get_next_char'.
-
- * include/freetype/config/ftoption.h,
- include/freetype/internal/tttypes.h, src/base/ftobjs.c,
- src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
- src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
- src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
- src/type42/t42objs.c, src/winfonts/winfnt.c
- [!FT_CONFIG_OPTION_USE_CMAPS]: Removed. The new cmap code is now
- the default.
-
- * src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
- Removed.
- * src/type42/t42objs.h: Updated.
-
- * src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
- Removed.
- (t1_cid_driver_class): Updated.
- * src/truetype/ttdriver.c (tt_driver_class): Updated.
- * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
- (t1_driver_class): Updated.
- * src/type42/t42drivr.c (t42_driver_class): Updated.
-
- * src/base/ftobjs.c (open_face): Select Unicode cmap by default.
-
- * src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
- prevented OpenType fonts to be recognized by FreeType.
-
-2002-07-11 David Turner <david@freetype.org>
-
- Changing the SFNT loader to check for SFNT-based font files
- differently. We now ignore the range `helper' fields and check the
- `head' table's magic number instead.
-
- * include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
- field.
-
- * src/sfnt/ttload.c (sfnt_dir_check): New function.
- (TT_Load_SFNT_HeaderRec): Renamed to...
- (TT_Load_SFNT_Header): This.
- Implement new functionality.
- * src/sfnt/ttload.h: Updated.
- * src/sfnt/sfdriver.c (sfnt_interface): Updated.
-
- * src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
- and dynamic hash table implementation (still experimental, don't
- use).
- * include/freetype/internal/fthash.h: Updated.
- * include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
- `meta_class'.
-
- Fixing a bug in the Type 1 loader that prevented valid font bounding
- boxes to be loaded from multiple master fonts.
-
- * include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- `T1_FIELD_TYPE_BBOX'.
- (T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
- (T1_FIELD_BBOX): New macro.
-
- * src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
- * src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
- (T1_Done_Blend): Free blend->bboxes.
- (t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
- (parse_font_bbox): Commented out.
- (t1_keywords): Comment out `parse_font_bbox'.
- * src/type1/t1tokens.h: Define `FontBBox' field.
-
-2002-07-10 David Turner <david@freetype.org>
-
- * src/cff/cffobjs.c: Small fix to select the Unicode charmap by
- default when needed.
- Small fix to allow OpenType fonts to support Adobe charmaps when
- needed.
-
- * src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
- charmaps for CFF fonts.
-
- * src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
-
- * include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
- fixed-length arrays for `sids' and `codes'. Add `count' member.
- (CFF_FontRec): Add `psnames' member.
-
- * src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
- src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
- src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
- support for CFF charmaps, reformatting the sources, and removing
- some bugs in the Encoding and Charset loaders.
- Many fonts renamed to use lowercase only:
-
- CFF_Builder_Init -> cff_builder_init
- CFF_Builder_Done -> cff_builder_done
- CFF_Init_Decoder -> cff_decoder_init
- CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
- CFF_Load_Glyph -> cff_slot_load
- CFF_Init_Decoder -> cff_decoder_init
- CFF_Prepare_Decoder -> cff_decoder_prepare
- CFF_Get_Standard_Encoding -> cff_get_standard_encoding
- CFF_Access_Element -> cff_index_access_element
- CFF_Forget_Element -> cff_index_forget_element
- CFF_Get_Name -> cff_index_get_name
- CFF_Get_String -> cff_index_get_sid_string
- CFF_Get_FD -> cff_fd_select_get
- CFF_Done_Charset -> cff_charset_done
- CFF_Load_Charset -> cff_charset_load
- CFF_Done_Encoding -> cff_encoding_done
- CFF_Load_Encoding -> cff_encoding_load
- CFF_Done_SubFont -> cff_subfont_done
- CFF_Load_Font -> cff_font_load
- CFF_Done_Font -> cff_font_done
- CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
- CFF_Size_Done -> cff_size_done
- CFF_Size_Init -> cff_size_init
- CFF_Size_Reset -> cff_size_reset
- CFF_GlyphSlot_Done -> cff_slot_done
- CFF_GlyphSlot_Init -> cff_slot_init
- CFF_StrCopy -> cff_strcpy
- CFF_Face_Init -> cff_face_init
- CFF_Face_Done -> cff_face_done
- CFF_Driver_Init -> cff_driver_init
- CFF_Driver_Done -> cff_driver_done
- CFF_Parser_Init -> cff_parser_init
- CFF_Parser_Run -> cff_parser_run
-
- add_point -> cff_builder_add_point
- add_point1 -> cff_builder_add_point1
- add_contour -> cff_builder_add_contour
- close_contour -> cff_builder_close_contour
- cff_explicit_index -> cff_index_get_pointers
-
-2002-07-09 Owen Taylor <owen@redhat.com>
-
- * src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
- prevented the hinter from using correct standard width and height
- values, resulting in hinting bugs with certain fonts (e.g. Utopia).
-
-2002-07-07 David Turner <david@freetype.org>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
- successfully when the function is called with a bitmap glyph (the
- previous code simply returned with an error).
-
- * docs/DEBUG.TXT: Adding debugging support documentation.
-
- * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
- (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
- the syntax of the FT2_DEBUG environment variable used to control
- debugging output (i.e. logging and error messages). It must now
- look like:
-
- any:6 memory:4 io:3 or
- any:6,memory:4,io:3 or
- any:6;memory:4;io:3
-
-2002-07-07 Owen Taylor <owen@redhat.com>
-
- * src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
- blue fuzz.
- * src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
- * src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
-
- Adding support for hinter-specific bit flags, and the new
- FT_Set_Hint_Flags high-level API.
-
- * include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
- (FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
- FT_HINT_NO_VSTEM_ALIGN): New macros.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
- `hint_flags' member.
-
- * src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
-
- * include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
- member.
-
- * include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
- T2_Hints_ApplyFunc): Add parameter to pass hint flags.
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
- T1_Decoder_Init): Use decoder->hint_flags.
- * src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
- * src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
- (CFF_Parse_CharStrings): Updated.
- * src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
- hint flags (unused).
- * src/pshinter/pshalgo1.h: Updated.
- * src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
- hint flags (unused).
- * src/pshinter/pshalgo2.h: Updated.
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
- hint flags.
- * src/pshinter/pshalgo3.h: Updated.
-
-2002-07-04 David Turner <david@freetype.org>
-
- * src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
- incorrect advances when the outline resolution was different from
- the metrics resolution.
-
- * src/autohint/ahhint.c: Removing compiler warnings.
-
- * src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
- (ah_outline_link_segments): Slight improvements to the serif
- detection code. More work is needed though.
-
-2002-07-03 David Turner <david@freetype.org>
-
- Small improvements to the automatic hinter. Uneven stem-widths have
- now disappeared and everything looks much better, even if there are
- still issues with serifed fonts.
-
- * src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
- * src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
- (ah_snap_width): Commented out.
- (ah_align_linked_edge): Renamed to...
- (ah_compute_stem_width): This.
- Don't allow uneven stem-widths.
- (ah_align_linked_edge): New function.
- (ah_align_serifed_edge): Don't strengthen serifs.
- (ah_hint_edges_3, ah_hinter_scale_globals): Updated.
-
-2002-07-03 Owen Taylor <owen@redhat.com>
-
- Adding new algorithm based on Owen Taylor's recent work.
-
- * src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
- * src/pshinter/pshalgo.h: Updated.
- Use pshalgo3 by default.
- * src/pshinter/pshinter.c: Include pshalgo3.c.
-
- * src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
-
-2002-07-01 Owen Taylor <owen@redhat.com>
-
- * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
- where, if a glyph has more than hint mask, the second mask gets
- applied to points that should have been covered by the first mask.
-
-2002-07-01 Keith Packard <keithp@keithp.com>
-
- * src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
- Fixing the cmap 8 and 12 parsing routines.
-
-2002-07-01 David Turner <david@freetype.org>
-
- * src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
- (FT_Outline_Embolden): Renamed to...
- (FT_GlyphSlot_Embolden): This.
- Updated to new trigonometric functions.
- (FT_Outline_Oblique): Renamed to...
- (FT_GlyphSlot_Oblique): This.
- (ft_norm): Removed.
- * include/freetype/ftsynth.h: Updated.
-
-2002-06-26 David Turner <david@freetype.org>
-
- * include/freetype/internal/ftobject.h: Updating the object
- sub-system definitions (still experimental).
-
- * src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
- bug.
-
- * src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
- functions.
- * include/freetype/fttrigon.h: Updated.
-
-
- Adding path stroker component (work in progress).
-
- * include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
- * src/base/Jamfile: Updated.
-
- * include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
-
-
- * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
- src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
- FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
-
-2002-06-24 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-2002-06-21 David Turner <david@freetype.org>
-
-
- * Version 2.1.2 released.
- =========================
-
-
-2002-06-21 Roberto Alameda <ojancano@geekmail.de>.
-
- * include/freetype/internal/t42types.h (T42_Font): Removed since
- it is already in t42objs.h.
- (T42_Face): Use T1_FontRec.
-
- * src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
- (FT_Has_PS_Glyph_Names): Check for type42 driver name also.
- * src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
- (T42_Face): Removed since it is already in t42types.h.
-
-2002-06-21 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
- glyphs.
-
-2002-06-21 Sven Neumann <sven@convergence.de>
-
- * src/prf/pfrtypes.h (PFR_KernPair): New structure.
- (PFR_PhyFont): Use it.
- (PFR_KernFlags): New enumeration.
- * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
- function.
- (pfr_phy_font_extra_items): Use it.
- (pfr_phy_font_done): Updated.
- * src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
- (pfr_face_get_kerning): New function.
- * src/pfr/pfrobjs.h: Updated.
- * src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
-
-2002-06-21 David Turner <david@freetype.org>
-
- * README, docs/CHANGES: Preparing the 2.1.2 release.
-
-2002-06-19 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
- (t1_face_check_cast): Removed.
- (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
- also.
-
-2002-06-19 Sebastien BARRE <http://barre.nom.fr/contact.html#email>
-
- * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
-
-2002-06-19 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
- (xy <-> yx).
- * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
- `||' to make code easier to read.
-
-2002-06-18 Roberto Alameda <ojancano@geekmail.de>.
-
- * src/type42/t42objs.c (t42_check_size_change): Removed.
- (T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
- instead.
- (T42_GlyphSlot_Load): Remove call to t42_check_size_change.
-
-2002-06-18 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/psaux/t1cmap.c (t1_cmap_custom_char_index,
- t1_cmap_custom_char_next): Fix index computation -- indices start
- with 0 and not with cmap->first.
-
- Provide default charmaps.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
- (PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
- src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
- (FNT_Face_Init): Implement it.
-
-2002-06-17 Sven Neumann <sven@gimp.org>
-
- * src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
-
-2002-06-16 Leonard Rosenthol <leonardr@lazerware.com>
-
- Updated Win32/VC++ projects to include the new PFR driver.
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-06-16 Anthony Fok <fok@debian.org>
-
- Install freetype2.m4.
-
- * builds/unix/install.mk (install, uninstall): Handle it.
-
-2002-06-16 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- Same fix for PFR driver.
-
- * src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
- Increase return value by 1.
- * src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
-
-2002-06-15 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- Fix glyph indices to make index zero always the undefined glyph.
-
- * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
- cmap->num_encodings.
- (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
- Increase result by 1 for normal cases.
- (BDF_Glyph_Load): Decrease index by 1.
-
- * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
- PCF_Char_Get_Index): Increase result by 1 for normal cases.
- (PCF_Glyph_Load): Decrease index by 1.
- * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
- allocating `encoding'.
-
- * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
- bounding tests.
-
-2002-06-14 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- Add new cmap support to BDF driver.
-
- * src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
- New structure.
- (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
- bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
- (BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
- conditionally.
- (BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
- Implement new cmap handling.
- (bdf_driver_class): Updated.
-
-2002-06-14 Werner Lemberg <wl@gnu.org>
-
- * Makefile, configure, */*.mk, builds/unix/unix-def.in,
- docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
-
-2002-06-12 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
-
-2002-06-11 David Turner <david@freetype.org>
-
- * builds/win32/ftdebug.c: Added a missing #endif.
-
- * src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
-
- Removed the bug in Type 42 driver that prevented un-hinted outlines
- to be loaded.
-
- * src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
- (T42_Size_Init): Call FT_Activate_Size.
- (t42_check_size_change): New function.
- (T42_Size_SetChars, T42_Size_SetPixels): Use it.
- (ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
- (T42_GlyphSlot_Load): Use t42_check_size_change.
- Initialize more fields of `glyph'.
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-06-09 David Turner <david@freetype.org>
-
-
- * Version 2.1.1 released.
- =========================
-
-
-2002-06-08 Juliusz Chroboczek <jch@pps.jussieu.fr>
-
- * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
- src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
- use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
- and `ft_jmp_buf'.
- Removed direct references to <stdio.h> and <setjmp.h> when
- appropriate, to eventually replace them with a
- FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server
- backend based on FT2.
-
- * src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
-
-2002-06-08 David Turner <david@freetype.org>
-
- * src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
- the function to return invalid values.
-
- * src/cache/ftccache.i: Removing a typo that prevented
- the source's compilation.
-
- * src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
- bug that caused nasty memory overwrites. The hash table's
- buckets array wasn't correctly resized when shrinked.
-
-2002-06-08 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/smakefile, builds/amiga/makefile: Updated.
-
-2002-06-08 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
- [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
- Fix debugging messages.
- * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
- `family' and `hash' up to make it compilable with g++.
-
- * src/type42/t42error.h: New file.
- * src/type42/t42drivr.c, src/type42/t42objs.c,
- src/type42/t42parse.c: Use t42 error codes.
- * src/type42/rules.mk: Updated.
-
- * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
-
-2002-06-08 David Turner <david@freetype.org>
-
- * src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
- GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
- New macros.
- (ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
- ftc_cache_lookup.
- (FTC_CMapCache_Lookup): Updated.
-
- Adding various experimental optimizations to the cache manager.
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
- FTC_CACHE_USE_LINEAR_HASHING): New options.
- (FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
- `mask', and `slack'.
-
- * src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
- FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
- FTC_HASH_INITIAL_SIZE]: New macros.
- (ftc_node_mru_link, ftc_node_mru_up): Optimized.
- (ftc_node_hash_unlink, ftc_node_hash_link)
- [FTC_CACHE_USE_LINEAR_HASHING]: New variants.
- (FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
- FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
- [!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
- (ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
- Updated.
- (ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
-
- * src/cache/ftccache.i: New file.
-
- * src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
- GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
- New macros.
- (ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
- ftc_cache_lookup.
- (FTC_SBitCache_Lookup): Updated.
-
- * src/type42/t42parse.c: Removing duplicate function.
-
-2002-06-07 Graham Asher <graham.asher@btinternet.com>
-
- * src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
- from FT_EXPORT_DEF to FT_BASE_DEF.
-
-2002-06-07 David Turner <david@freetype.org>
-
- Fixed the bug that prevented the correct display of fonts with
- `ftview'.
-
- * src/type42/t42drivr.c: Split into...
- * src/type42/t42drivr.h, src/type42/t42parse.c,
- src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
- src/type42/type42.c: New files.
-
- (t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
- `face->type1'.
-
- (Get_Interface): Renamed to...
- (T42_Get_Interface): This.
- Updated.
- (T42_Open_Face, T42_Face_Done): Updated.
- (T42_Face_Init): Add new cmap support.
- Updated.
- (T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
- T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
- (Get_Char_Index, Get_Next_Char): Renamed to...
- (T42_CMap_CharIndex, T42_CMap_CharNext): This.
- Updated.
- (T42_Char_Size, T42_Pixel_Size): Renamed to...
- (T42_Size_SetChars, T42_Size_SetPixels): This.
- (T42_Load_Glyph): Renamed to...
- (T42_GlyphSlot_Load): This.
-
- (t42_init_loader, t42_done_loader): Renamed to...
- (t42_loader_init, t42_loader_done): This.
- (T42_New_Parser, T42_Finalize_Parser): Renamed to...
- (t42_parser_init, t42_parser_done): This.
- (parse_dict): Renamed to...
- (t42_parse_dict): This.
- (is_alpha, is_space, hexval): Renamed to...
- (t42_is_alpha, t42_is_space, t42_hexval): This.
- (parse_font_name, parse_font_bbox, parse_font_matrix,
- parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
- Renamed to...
- (t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
- t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
- t42_parse_dict): This.
- Updated.
-
- (t42_keywords): Updated.
-
- * src/type42/Jamfile, src/type42/descrip.mms: Updated.
-
-2002-06-03 Werner Lemberg <wl@gnu.org>
-
- Add 8bpp support to BDF driver.
-
- * src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
- * src/bdf/README: Updated.
-
-2002-06-02 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
-
-2002-05-29 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
- (_bdf_parse_glyphs): Use correct size for allocating
- `font->unencoded'.
- (bdf_load_font): Free array conditionally.
- Return proper error code in case of failure.
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
- unusual fonts.
-
-2002-05-29 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/descrip.mms, src/type42/descrip.mms: New files.
- * descrip.mms (all): Updated.
-
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
- compilation.
- * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
-
-2002-05-28 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/makefile, builds/amiga/smakefile,
- amiga/include/freetype/config/ftmodule.h: Updated to include
- support for BDF and Type42 drivers.
-
- * docs/modules.txt: Updated.
-
-2005-05-28 David Turner <david@freetype.org>
-
- * docs/CHANGES: Updating file for next release (2.1.1).
-
- * src/bdf/bdflib.c: Removing compiler warnings.
-
- * include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
- They provide a new API (FT_Get_X11_Font_Format) to retrieve an
- X11-compatible string describing the font format of a given face.
- This was put in a new optional base source file, corresponding to a
- new public header (named FT_XFREE86_H since this function should
- only be used within the XFree86 font server IMO).
-
- * include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
- documented yet).
-
- * src/base/fttype1.c: New file, provoding two new API functions
- (FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
- * include/freetype/t1tables.h: Updated.
-
- * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
- Updating build control files for the new files `ftxf86.c' and
- `fttype1.c' in src/base.
-
- * src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
- prevented family blue zones substitution from hapenning correctly.
-
- * include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
- documentation comment.
-
-2002-05-28 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
- but FT_STREAM_READ.
- Declare `stream' variable.
-
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
- with calls to `FT_MulDiv'.
-
-2002-05-28 David Turner <david@freetype.org>
-
- Fixing the SFNT name table loader to support various buggy fonts.
- It now ignores empty name entries, entries with invalid pointer
- Offsets and certain fonts containing tables with broken
- `storageOffset' fields.
-
- Name strings are now loaded on demand, which reduces the memory
- requirements for a given FT_Face tremendously (for example, the name
- table of Arial.ttf is about 10Kb and contains 70 names).
-
- This is a temporary fix. The whole name table loader and interface
- will be rewritten in a much more cleanly way shortly, once CSEH have
- been introduced in the sources.
-
- * include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
- type of `stringOffset' to FT_ULong.
- (TT_NameTableRec): Change type of `numNameRecords' and
- `storageOffset' to FT_UInt.
- Replace `storage' with `stream'.
- * src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
- Make code more robust.
- * src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
- (tt_face_get_name): Use it.
- Make code more robust.
- * src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
- Handle invalid `storageOffset' data better.
- Set length fields to zero for invalid or ignored data.
- Remove code within FT_DEBUG_LEVEL_TRACE.
- (TT_Free_Names): Updated.
-
-2002-05-24 Tim Mooney <enchanter@users.sourceforge.net>
-
- * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
- FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
- rebuilt from sources. Set macro serial to 1, and use third argument
- to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
- be rebuilt with autoheader (not recommended now, ftconfig.in is a
- custom source file)
-
-2002-05-22 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
- (FT_BDF_H): New macro for accessing `ftbdf.h'.
-
- * src/type42/t42drivr.c (hexval): Fix typo.
-
-2002-05-21 Martin Muskens <mmuskens@aurelon.com>
-
- * src/psaux/psobjs.c (T1Radix): New function.
- (t1_toint): Use it to handle numbers in radix format.
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
- for undocumented, obsolete opcode 15.
-
-2002-05-21 David Turner <david@freetype.org>
-
- * src/bdf/bdflib.c: Removed compiler warning, and changed all tables
- to the `static const' storage specifier (instead of simply
- `static').
-
- * src/type42/t42drivr.c (hexval): Use more efficient code.
- Removing compiler warnings.
- * src/bdf/bdfdrivr.c: Removing compiler warnings.
-
- * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
- src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
- (FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
- from a face. This is much cleaner than accessing the internal types
- `BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
-
-2002-05-21 Werner Lemberg <wl@gnu.org>
-
- * src/bdf/README: Mention Microsoft's SBIT tool.
-
- * src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
- src/truetype/ttdriver.c, src/type1/t1driver.c,
- src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
- [FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed. It has
- been never used.
-
-2002-05-21 Roberto Alameda <ojancano@geekmail.de>.
-
- * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
- (parse_font_matrix): Remove unnecessary code.
- (parse_sfnts): Initialize some variables.
- (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
- ft_module_driver_has_hinter conditionally.
- Moved some type 42 specific structure definitions to...
- * include/freetype/internal/t42types.h: New file.
- * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
- New macro.
-
-2002-05-20 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
- `num_grays' for specifying the number of used gray levels.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
-
-2002-05-19 Werner Lemberg <wl@gnu.org>
-
- Adding a driver for BDF fonts written by Francesco Zappa Nardelli
- <Francesco.Zappa.Nardelli@ens.fr>. Heavily modified by me to
- better adapt it to FreeType, removing unneeded stuff. Additionally,
- it now supports Mark Leisher's BDF extension for anti-aliased
- bitmap glyphs with 2 and 4 bpp.
-
- * src/bdf/*: New driver.
- * include/freetype/internal/bdftypes.h: New file.
- * include/freetype/internal/fttrace.h: Added BDF driver components.
- * include/freetype/fterrdef.h: Added error codes for BDF driver.
- * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
- * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
- New macro.
-
- * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
- sprintf.
-
-2002-05-18 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/fttrace.h: Added Type 42 driver
- component.
- * src/type42/t42drivr.c: Use it.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
- New macro.
-
-2002-05-17 Werner Lemberg <wl@gnu.org>
-
- * src/type42/Jamfile: New file.
-
-2002-05-14 Werner Lemberg <wl@gnu.org>
-
- Adding a driver for Type42 fonts written by Roberto Alameda
- <ojancano@geekmail.de>.
-
- * src/type42/*: New driver.
- * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
- * include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
- ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
-
-2002-05-12 Owen Taylor <otaylor@redhat.com>
-
- * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
- with a zero length value.
-
-2002-05-12 Michael Pfeiffer <michael.pfeiffer@utanet.at>
-
- * builds/beos/beos.mk: Include `link-std.mk'.
-
-2002-05-12 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.h (T1_Loader): Renamed to...
- (T1_LoaderRec): This.
- (T1_Loader): Now pointer to T1_LoaderRec.
- * src/type1/t1load.c: Updated.
-
- * include/freetype/internal/t1types.h, src/type1/t1load.c,
- src/type1/t1objs.c:
- s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
-
-2002-05-06 Werner Lemberg <wl@gnu.org>
-
- * README: Add a note regarding libttf vs. libfreetype.
-
-2002-05-05 Werner Lemberg <wl@gnu.org>
-
- FreeType 2 can now be built in an external directory with the
- configure script also.
-
- * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
-
- * builds/unix/detect.mk (have_mk): New variable to test for
- external build.
- (unix-def.mk): Defined according to value of `have_mk'.
- * builds/unix/unix.mk (have_mk): New variable to test for
- external build.
- Select include paths for unix-def.mk and unix-cc.mk according
- to value of `have_mk'.
- * builds/unix/unix-def.in (OBJ_BUILD): New variable.
- (DISTCLEAN): Use it.
- * builds/unix/unix-cc.in (LIBTOOL): Define default value only
- if not yet defined.
- * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
- freetype-config.
-
- * configure: Don't depend on bash features.
- (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
- partially taken from Autoconf).
- Build a dummy Makefile if not building in source tree.
-
- * docs/INSTALL: Document it.
-
-2002-05-04 David Turner <david@freetype.org>
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
- bug that prevented FreeType 2.x and FreeType 1.x to produce
- bit-by-bit identical monochrome glyph bitmaps with native TrueType
- hinting. The culprit was a single-bit flag that wasn't set
- correctly by the TrueType glyph loader.
-
- * src/otlayout/otlayout.h, src/otlayout/otlbase.c,
- src/otlayout/otlbase.h, src/otlayout/otlconf.h,
- src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
- src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
- src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
- src/otlayout/otljstf.c, src/otlayout/otljstf.h,
- src/otlayout/otltable.c, src/otlayout/otltable.h,
- src/otlayout/otltags.h: New OpenType Layout source files. The
- module is still incomplete.
-
-2002-05-02 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
- (0xFFFU -> 0xFFFFU).
-
-2002-05-01 Werner Lemberg <wl@gnu.org>
-
- * docs/INSTALL: Fix URL of makepp.
-
-2002-05-01 David Turner <david@freetype.org>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
- FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
- were opened.
-
- * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
- manage fonts containing a broken name table (e.g. `hya6gb.ttf').
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
- validation test. The charmap validator now accepts overlapping
- ranges in format 4 charmaps.
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
- search algorithm. Certain fonts contain more than 170 distinct
- segments!
-
- * include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
- function. This will be used in the near future to panic in case of
- unexpected exception (which shouldn't happen in theory).
-
- * include/freetype/internal/fthash.h, src/base/fthash.c: New files.
- This is generic implementation of dynamic hash tables using a linear
- algorithm (to get rid of `stalls' during resizes). In the future
- this will be used in at least three parts of the library: the cache
- sub-system, the object sub-system, and the memory debugger.
-
- * src/base/Jamfile: Updated.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
- FT_INTERNAL_OBJECT_H): New macros.
-
- * include/freetype/internal/ftcore.h: New file to group all new
- definitions related to exception handling and memory management. It
- is very likely that this file will disappear or be renamed in the
- future.
-
- * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
- Adding comments to better explain the object sub-system as well as
- the new memory manager interface.
-
-2002-04-30 Wenlin Institute (Tom Bishop) <wenlin@wenlin.com>
-
- * src/base/ftmac.c (p2c_str): Removed.
- (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
- OS X.
- (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
- Handle `nameLen' <= 6 also.
- (parse_fond): Remove unused variable `name_table'.
- Use functionality of old p2c_str directly.
- Add safety checks.
- (read_lwfn): Initialize `size_p'.
- Check for size_p == NULL.
- (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
- (FT_New_Face_From_LWFN): Remove unused variable `memory'.
- Remove some dead code.
- (FT_New_Face_From_SFNT): Remove unused variable `stream'.
- (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
- OS X.
- (FT_New_Face_From_FOND): Remove unused variable `error'.
- (ResourceForkSize): New function.
- (FT_New_Face): Use it.
- Handle empty resource forks.
- Conditionalize some code for OS X.
- Add code to call normal loader as a fallback.
-
-2002-04-30 Werner Lemberg <wl@gnu.org>
-
- `interface' is reserved on the Mac.
-
- * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
- src/base/ftoutln.c: s/interface/func_interface/.
- * src/base/ftbbox.c (FT_Outline_Get_BBox):
- s/interface/bbox_interface/.
- * src/cff/cffdrivr.c: s/interface/module_interface/.
- * src/cff/cffload.c, src/cff/cffload.h:
- s/interface/psnames_interface/.
- * src/cid/cidriver.c: s/interface/cid_interface/.
- * src/sfnt/sfdriver.c: s/interface/module_interface/.
- * src/smooth/ftgrays.c: s/interface/func_interface/.
- * src/truetype/ttdriver.c: s/interface/tt_interface/.
- * src/type1/t1driver.c: s/interface/t1_interface/.
-
- Some more variable renames to avoid troubles on the Mac.
-
- * src/raster/ftraster.c:
- s/Unknown|Ascending|Descending|Flat/\1_State/.
- * src/smooth/ftgrays.c: s/TScan/TCoord/.
-
- Other changes for the Mac.
-
- * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
- Mac platforms.
- * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
-
- * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
- an even number.
-
-2002-04-29 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
-
- * descrip.mms (all): Add pfr driver.
-
-2002-04-28 Werner Lemberg <wl@gnu.org>
-
- * src/pfr/pfrerror.h: New file.
- * include/freetype/ftmoderr.h: Add PFR error codes.
- * src/pfr/pfrgload.c: Include pfrerror.h.
- Use PCF error codes.
- (pfr_extra_item_load_stem_snaps): Fix debug message.
- * src/pfr/pfrgload.c: Include pfrerror.h.
- Use PCF error codes.
- (pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
- pfr_glyph_load_compound): Fix debug message.
- * src/pfr/pfrobjs.c: Include pfrerror.h.
- Use PCF error codes.
- (pfr_face_init): Return PFR_Err_Unknown_File_Format.
- * src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
-
- * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
- `root' -> `face->root'.
- * src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
- Removed.
- * src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
- FT_CONFIG_OPTION_USE_CMAPS.
-
-2002-04-27 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftccache.c (ftc_cache_lookup),
- src/cache/ftccmap.c (ftc_cmap_family_init),
- src/cache/ftcmanag.c (ftc_family_table_alloc),
- src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
- src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
- (FTC_ImageCache_Lookup): Fix handling of invalid arguments.
-
-2002-04-22 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
- version 2.0.9 has 9:0:3).
- * builds/unix/configure: Regenerated (using autoconf 2.53).
-
-2002-04-19 Werner Lemberg <wl@gnu.org>
-
- * src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
- (pfr_phy_font_load): s/size/Size/ for local variable to avoid
- compiler warning.
- * src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
- (pfr_slot_load): Remove redundant local variable.
-
-2002-04-19 David Turner <david@freetype.org>
-
- Adding a PFR font driver to the FreeType sources. Note that it
- doesn't support embedded bitmaps or kerning tables yet.
-
- src/pfr/*: New files.
-
- * include/freetype/config/ftmodule.h,
- include/freetype/internal/fttrace.h, src/Jamefile: Updated.
-
- * src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
- (T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
- function.
-
- * include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
- macros.
-
- * include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
- FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
- 24-bit integers.
-
-2002-04-18 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c, builds/win32/ftdebug.c,
- builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
- against applications in Win32 and Amiga builds due to changes to
- `src/base/ftdebug.c' that were not properly propagated to
- `builds/win32' and `builds/amiga'. This has been fixed.
-
- * include/freetype/internal/ftobject.h,
- include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
- include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
- New experimental files.
-
-2002-04-17 David Turner <david@freetype.org>
-
-
- * Version 2.1.0 released.
- =========================
-
-
-2002-04-17 Michael Jansson <mjan@em2-solutions.com>
-
- * src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
- that prevented the function to return the correct value.
-
-2002-04-16 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
-
- * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
- tables.
-
-2002-04-15 David Turner <david@freetype.org>
-
- * docs/FTL.txt: Formatting.
-
- * include/freetype/config/ftoption.h: Reduce the size of the
- render pool from 32kByte to 16kByte.
-
- * src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
- warning.
-
- * include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
-
- * docs/CHANGES: Preparing 2.1.0 release.
-
-2002-04-13 Werner LEMBERG <wl@gnu.org>
-
- * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
- compiler warning.
-
-2002-04-12 David Turner <david@freetype.org>
-
- * README.UNX: Updated the Unix-specific quick-compilation guide to
- warn about the GNU Make requirement at compile time.
-
- * include/freetype/config/ftstdlib.h,
- include/freetype/config/ftconfig.h,
- include/freetype/config/ftheader.h,
- include/freetype/internal/ftmemory.h,
- include/freetype/internal/ftobjs.h,
-
- src/autohint/ahoptim.c,
-
- src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
- src/base/ftobjs.c, src/base/ftsystem.c,
-
- src/cache/ftcimage.c, src/cache/ftcsbits.c,
-
- src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
-
- src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
-
- src/pcf/pcfdriver.c, src/pcf/pcfread.c,
-
- src/psaux/t1cmap.c, src/psaux/t1decode.c,
-
- src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
- src/pshinter/pshrec.c,
-
- src/psnames/psmodule.c,
-
- src/raster/ftraster.c,
-
- src/sfnt/sfdriver.c, src/sfnt/ttload.c,
-
- src/smooth/ftgrays.c,
-
- src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
- src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
-
- builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-
- builds/amiga/src/base/ftdebug.c:
-
- Added the new configuration file `ftstdlib.h' used to define
- aliases for all ISO C library functions used by the engine
- (e.g. strlen, qsort, setjmp, etc.).
-
- This eases the porting of FreeType 2 to environments like
- XFree86 modules/extensions.
-
- Also removed many #include <string.h>, #include <stdlib.h>, etc.
- from the engine's sources where they are not needed.
-
- * src/sfnt/ttpost.c: Use macro name for psnames.h.
-
-2002-04-12 Vincent Caron <v.caron@zerodeux.net>
-
- * configure, builds/detect.mk: Updated the build system to print
- a warning message in case GNU Make isn't used to build the library.
-
-2002-04-11 David Turner <david@freetype.org>
-
- * README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
-
- * docs/FTL.txt: Updated license text to provide a preferred
- disclaimer and adjust copyright dates/extents.
-
- * include/freetype/cache/ftcglyph.h: Removing obsolete (and
- confusing) comment.
-
- * Jamfile.in: New file.
-
-2002-04-11 Maxim Shemanarev <mcseemagg@yahoo.com>
-
- * src/smooth/ftgrays.c (gray_hline): Minor optimization.
-
-2002-04-02 Werner Lemberg <wl@gnu.org>
-
- Fixes from the stable branch:
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
- Removed.
- [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
- * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
- [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
-
- * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
- output of FreeType 1.
-
- * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
- bug that created un-even stem widths when hinting Postscript fonts.
-
- * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
-
-2002-04-01 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c: 16bit fixes.
- (TT_Load_Simple_Glyph): Improve debug messages.
- (load_truetype_glyph): Remove dead code.
- * src/truetype/ttinterp.c: 16bit fixes.
- * src/truetype/ttobjs.c: Ditto.
-
- * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
- src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
- src/sfnt/ttpost.h: s/index/idx/.
-
-2002-03-31 Yao Zhang <yaoz@vidar.niaaa.nih.gov>
-
- * src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
-
-2002-03-31 Werner Lemberg <wl@gnu.org>
-
- * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
- * src/psaux/t1cmap.c: Ditto.
- * src/sfnt/ttcmap0.c: Ditto.
-
- * include/freetype/internal/tttypes.h,
- include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
- (TT_Loader_GotoTableFunc): This.
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
- messages.
- * src/psnames/psmodule.c (psnames_interface)
- [!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
- * src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
- * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
- * src/sfnt/ttcmap0.c: 16bit fixes.
- (TT_Build_CMaps): Simplify debug messages.
- (tt_cmap12_char_next): Fix offset.
- * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
- messages.
- (TT_Load_OS2): 16bit fix.
-
-2002-03-30 David Turner <david@freetype.org>
-
- * include/freetype/internal/tttypes.h: Adding comments to some of
- the TT_FaceRec fields.
-
- * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
-
- * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
- New functions.
- (tt_face_get_name): Use them to properly extract an ascii font name.
-
-2002-03-30 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/t1tables.h (t1_blend_max): Fix typo.
- * src/base/ftstream.c: Simplify FT_ERROR calls.
- * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
-
- * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
- [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
- * src/cff/sfobjs.c (SFNT_Load_Face)
- [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
- * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
- [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
-
- * src/truetype/ttdriver.c, src/truetype/ttobjs.c,
- src/truetype/ttobjs.h: Renaming driver functions to the
- FT_<Subject>_<Action> scheme:
-
- TT_Init_Driver => TT_Driver_Init
- TT_Done_Driver => TT_Driver_Done
- TT_Init_Face => TT_Face_Init
- TT_Done_Face => TT_Face_Done
- TT_Init_Size => TT_Size_Init
- TT_Done_Size => TT_Size_Done
- TT_Reset_Size => TT_Size_Reset
-
-2002-03-29 Werner Lemberg <wl@gnu.org>
-
- * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
- FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
- files.
- * builds/unix/ftconfig.in: Add argument to FT_LOCAL and
- FT_LOCAL_DEF.
- * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
- * builds/unix/configure.ac: Temporarily deactivate creation of
- ../../Jamfile.
- * builds/unix/configure: Updated.
-
-2002-03-28 KUSANO Takayuki <AE5T-KSN@asahi-net.or.jp>
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
-
-2002-03-28 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
- compiler warnings.
- * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
- some members.
- * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
- * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
- cast.
- (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
- `FT_CALLBACK_TABLE_DEF'.
- * src/psaux/t1cmap.h: Updated.
- * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
- instead of zero.
- * src/type1/t1objs.c (T1_Face_Init): Use casts.
-
-2002-03-26 David Turner <david@freetype.org>
-
- * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
- Fixed a small bug in the FT_CMaps support code.
-
-2002-03-25 David Turner <david@freetype.org>
-
- * src/truetype/ttinterp.c (Norm): Replaced with...
- (TT_VecLen): This.
- (TT_MulFix14, TT_DotFix14): New functions.
- (Project, Dual_Project, Free_Project, Compute_Point_Displacement,
- Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
- [FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
-
-2002-03-22 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
- Various fixes to make the FT_CMaps support work correctly (more
- tests are still needed).
-
- * include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
- src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
- src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
- the SFNT charmap support to use FT_CMaps.
-
- * include/freetype/fterrdef.h: New file.
- * include/freetype/fterrors.h: Include it. It contains all error
- codes.
- * include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
- macro.
-
- * include/freetype/internal/ftmemory.h, and a lot of other files:
- Changed the names of memory macros. Examples:
-
- MEM_Set => FT_MEM_SET
- MEM_Copy => FT_MEM_COPY
- MEM_Move => FT_MEM_MOVE
-
- ALLOC => FT_ALLOC
- FREE => FT_FREE
- REALLOC = >FT_REALLOC
-
- FT_NEW was introduced to allocate a new object from a _typed_
- pointer.
-
- Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
- FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
- arguments.
-
- This results in _lots_ of sources being changed, but makes the code
- more generic and less error-prone.
-
- * include/freetype/internal/ftstream.h, src/base/ftstream.c,
- src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
- src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
- src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
- src/winfonts/winfnt.c: Changed the definitions of stream macros.
- Examples:
-
- NEXT_Byte => FT_NEXT_BYTE
- NEXT_Short => FT_NEXT_SHORT
- NEXT_UShortLE => FT_NEXT_USHORT_LE
- READ_Short => FT_READ_SHORT
- GET_Long => FT_GET_LONG
- etc.
-
- Also introduced the FT_PEEK_XXXX functions.
-
- * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
- out function.
- (find_encoding): Removed.
- (CFF_Face_Init): Remove charmap support.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
- TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
- support of cmaps.
-
-2002-03-21 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
- to new FT_CMap definitions.
-
- * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
- src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
- from `src/type1' to `src/psaux' since it is going to be shared by
- the Type 1 and CID font drivers.
-
- * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
- src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
- for Type 1 FT_CMaps.
-
-2002-03-20 David Turner <david@freetype.org>
-
- * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
- memory allocation bug that was due to un-careful renaming of the
- FT_SubGlyph type.
-
- * src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
- caused the library to crash with Electric Fence when memory
- debugging is used.
-
- * Renaming stream macros. Examples:
-
- FILE_Skip => FT_STREAM_SKIP
- FILE_Read => FT_STREAM_READ
- ACCESS_Frame => FT_FRAME_ENTER
- FORGET_Frame => FT_FRAME_EXIT
- etc.
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
-
- * include/freetype/internal/ftobjs.h: Changing the definition of
- FT_CMap_CharNextFunc slightly.
-
- * src/cff/*.c: Updating CFF type definitions.
-
-2002-03-14 David Turner <david@freetype.org>
-
- * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
- src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
- for the auto-hinter module.
-
- FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec
- FT_AutoHinter_Interface* => FT_AutoHinter_Service
- etc.
-
- FT_AutoHinter_Get_Global_Func => FT_AutoHinter_GlobalGetFunc
- FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
- etc.
-
- * ahloader.h [_STANDALONE_]: Removed all conditional code.
-
- * include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
- type definitions of the CFF font driver.
-
- CFF_Font => CFF_FontRec
- CFF_Font* => CFF_Font
- etc.
-
- * include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
- type definitions of the Windows FNT font driver.
-
- * include/freetype/internal/ftdriver.h,
- include/freetype/internal/ftobjs.h, src/base/ftapi.c,
- src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
- src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
- src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
- src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
- src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
- definitions for font drivers.
-
- FTDriver_initFace => FT_Face_InitFunc
- FTDriver_initGlyphSlot => FT_Slot_InitFunc
- etc.
-
- * src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
-
- * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
- few face method definitions:
-
- FT_PSName_Requester => FT_Face_GetPostscriptNameFunc
- FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
- FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
-
- * src/base/ftapi.c: New file. It contains backwards compatibility
- functions.
-
- * include/freetype/internal/psaux.h, src/cid/cidload.c,
- src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
- src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
- Updated common PostScript type definitions.
- Renamed all enumeration values like to uppercase variants:
-
- t1_token_any => T1_TOKEN_TYPE_ANY
- t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
- etc.
-
- * include/freetype/internal/psglobals.h: Removed.
- * include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
- Updated.
-
- * include/freetype/internal/tttypes.h,
- include/freetype/internal/sfnt.h, src/base/ftnames.c,
- src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
- SFNT/TrueType type definitions.
-
- * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
- Updating type defintiions for the glyph loader.
-
-2002-03-13 Antoine Leca <antoine@oriolnet.com>
-
- * include/freetype/config/ftoption.h: Changed the automatic
- detection of Microsoft C compilers to automatically support 64-bit
- integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
-
-2002-03-08 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
-
-2002-03-07 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
- ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
- ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
- FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
- * src/base/ftcalc.c (FT_MulFix): Ditto.
- * src/cff/cffdrivr.c (cff_get_name_index): Ditto.
- * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
- CFF_GlyphSlot_Init): Ditto.
- * src/cid/cidobjs.c (CID_GlyphSlot_Init,
- CID_Size_Get_Globals_Funcs): Ditto.
- * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
- Ditto.
- * src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
- * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
- variables.
-
- * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
- to...
- (T1_Builder_FuncsRec): This.
- (T1_Builder_Funcs): New typedef.
- (PSAux_Interface): Remove compiler warnings.
- * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
- (t1_builder_funcs): Updated.
-
- * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
- (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
- (PSH_AlignmentRec): Updated.
-
- * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
- typo.
- * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
- * src/base/ftstream (FT_Get_Char): Rename to...
- (FT_Stream_Get_Char): This.
-
- * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
- a built-in function in gcc, causing warning messages with gcc 3.0.
- * src/autohint/ahglyph.c (ah_outline_load): Ditto.
- * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
- * src/cache/ftcmanag.c (ftc_family_table_alloc,
- ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
- Ditto.
- * src/cff/cffload.c (cff_new_index, cff_done_index,
- cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
- CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
- CFF_Done_Font): Ditto.
- * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
- * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
- ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
- * src/pshinter/pshalgo1.c (psh1_hint_table_record,
- psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
- * src/pshinter/pshalgo2.c (psh2_hint_table_record,
- psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
- * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
- TT_Get_PS_Name): Ditto.
- * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
- load_truetype_glyph): Ditto.
- * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
- * src/type1/t1afm.c (T1_Get_Kerning): Ditto.
- * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
-
-2002-03-06 David Turner <david@freetype.org>
-
- * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
- (CID_Face_Init): Fixed another bug related to the
- ascender/descender/text height of Postscript fonts.
-
- * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
- (psh2_print_zone): This.
- * src/pshinter/pshalgo1.c (print_zone): Renamed to ...
- (psh1_print_zone): This.
-
- * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
- src/base/ftobjs.c: Adding the new FT_Library_Version API to return
- the library's current version in dynamic links.
- * src/base/ftinit.c (FT_Init_FreeType): Updated.
-
-2002-03-06 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
- * src/pshinter/pshglob.c (psh_global_scale_widths,
- psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
- Ditto.
-
-2002-03-05 David Turner <david@freetype.org>
-
- * src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
- (CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
- that returned global BBox values in 16.16 fixed format (instead of
- integer font units).
-
- * src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
- caused the CID driver to return Postscript font names with a leading
- slash (`/') as in `/MOEKai-Regular'.
-
- * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
- src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
- that it accepts broken fonts like `foxjump.ttf', which made FreeType
- crash when trying to load them.
-
- Also improved the name table parser to be able to load
- Windows-encoded entries before Macintosh or Unicode ones, since it
- seems some fonts don't have reliable values here anyway.
-
- * include/freetype/internal/psnames.h: Add typedef for
- `PSNames_Service'.
-
-2002-03-05 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
- 1.4.2.
- Apply a small patch for AIX to make shared libraries work (this
- patch is already in the CVS version of libtool).
-
- * builds/unix/config.sub, builds/unix/config.guess: Updated to
- recent versions.
-
- * builds/unix/configure.ac: Fix typo
- (AC_CONFIG_FILE->AC_CONFIG_FILES).
-
- * builds/unix/configure: Regenerated.
-
-2002-02-28 David Turner <david@freetype.org>
-
- * include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
- `FT_LOCAL( xxxx )' everywhere in the source. The same goes for
- `FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
-
- * include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
- Changing version to 2.1.0 to indicate an unstable branch.
- Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
-
- * src/base/ftobjs.c: Implement FT_Get_First_Char and
- FT_Get_Next_Char.
-
- * include/freetype/t1tables.h: Renaming structure types. This
-
- typedef T1_Struct_
- {
- } T1_Struct;
-
- becomes
-
- typedef PS_StructRec_
- {
- } PS_StructRec, *PS_Struct;
-
- typedef PS_StructRec T1_Struct; /* backwards-compatibility */
-
- Hence, we increase the coherency of the source code by effectively
- using the `Rec' prefix for structure types.
-
-2002-02-27 David Turner <david@freetype.org>
-
- * src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
- names table loader. Invalid individual name entries are now handled
- correctly. This allows the loading of very buggy fonts like
- `foxjump.ttf' without allocating tons of memory and causing crashes.
-
- * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
- experimental) code for OpenType Layout tables validation and
- parsing.
-
- * src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
- experimental) code for Type 1 charmap processing.
-
- * src/sfnt/ttcmap0.c: New file. It contains a new, still
- experimental SFNT charmap processing support.
-
- * include/freetype/internal/ftobjs.h: Adding validation support as
- well as internal charmap object definitions (FT_CMap != FT_CharMap).
-
-2002-02-24 David Turner <david@freetype.org>
-
- * Renaming stream functions to the FT_<Subject>_<Action> scheme:
-
- FT_Seek_Stream => FT_Stream_Seek
- FT_Skip_Stream => FT_Stream_Skip
- FT_Read_Stream => FT_Stream_Read
- FT_Read_Stream_At => FT_Stream_Read_At
- FT_Access_Frame => FT_Stream_Enter_Frame
- FT_Forget_Frame => FT_Stream_Exit_Frame
- FT_Extract_Frame => FT_Stream_Extract_Frame
- FT_Release_Frame => FT_Stream_Release_Frame
- FT_Get_XXXX => FT_Stream_Get_XXXX
- FT_Read_XXXX => FT_Stream_Read_XXXX
-
- FT_New_Stream( filename, stream ) =>
- FT_Stream_Open( stream, filename )
-
- (The function doesn't create the FT_Stream structure, it simply
- initializes it for reading.)
-
- FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) =>
- FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
-
- FT_Done_Stream => FT_Stream_Close
- FT_Stream_IO => FT_Stream_IOFunc
- FT_Stream_Close => FT_Stream_CloseFunc
-
- ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
- ft_io_stream => ft_ansi_stream_io (in base/ftsystem.c only)
-
- * src/base/ftutil.c: New file. Contains all memory and list
- management code (previously in `ftobjs.c' and `ftlist.c',
- respectively).
-
- * include/freetype/internal/ftobjs.h: Moving all code related to
- glyph loaders to ...
- * include/freetype/internal/ftgloadr.h: This new file.
- `FT_GlyphLoader' is now a pointer to the structure
- `FT_GlyphLoaderRec'.
- (ft_glyph_own_bitmap): Renamed to ...
- (FT_GLYPH_OWN_BITMAP): This.
- * src/base/ftobjs.c: Moving all code related to glyph loaders
- to ...
- * src/base/ftgloadr.c: This new file.
-
-2002-02-22 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
- enum to avoid compiler warnings.
-
-2002-02-21 David Turner <david@freetype.org>
-
- Modified the debug sub-system initialization. Trace levels can now
- be specified within the `FT2_DEBUG' environment variable. See the
- comments within `ftdebug.c' for more details.
-
- * src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
- (ft_debug_init): New function.
- (ft_debug_dummy): Removed.
- Updated to changes in ftdebug.h
-
- * include/freetype/internal/ftdebug.h: Always define
- FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
- (FT_Assert): Renamed to ...
- (FT_ASSERT): This.
- Some stuff from ftdebug.h has been moved to ...
-
- * include/freetype/internal/fttrace.h: New file, to define the trace
- levels used for debugging. It is used both to define enums and
- toggle names for FT2_DEBUG.
-
- * include/freetype/internal/internal.h: Updated.
-
- * src/base/ftobjs.c, src/base/ftstream.c: Updated.
-
- * include/freetype/internal/ftextend.h, src/base/ftextend.c:
- Removed. Both files are now completely obsolete.
- * src/base/Jamfile, src/base/rules.mk: Updated.
-
- * include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
- `#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
- LCC).
-
- * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
- (psh2_print_zone): This to avoid errors during compilation of debug
- library.
-
- * src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
- `trace_smooth'.
-
-2002-02-20 David Turner <david@freetype.org>
-
- * README: Adding `devel@freetype.org' address for bug reports.
-
-2002-02-20 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/install.mk (check): New dummy target.
- (.PHONY): Add it.
-
-2002-02-19 Werner Lemberg <wl@gnu.org>
-
- * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
-
- * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
- to avoid compiler warning.
- * src/cff/cffload.c (CFF_Get_String): Ditto.
- * src/cff/cffobjs.c (CFF_StrCopy): Ditto.
- * src/psaux/psobjs.c (PS_Table_Done): Ditto.
- * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
- (pcf_get_bitmaps): The same for `sizebitmaps'.
- * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
- `orig_y'.
- (t1operator_seac): Comment out more dead code.
- * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
- conditional.
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
- load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
- conditional.
-
-2002-02-18 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
- variables.
- * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
- of UNUSED.
- * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
- * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
- swapping code.
- * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
- * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
- * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
- * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
- * include/freetype/internal/ftobjs.h (UNUSED): Removed.
-
-2002-02-10 Roberto Alameda <ojancano@geekmail.de>
-
- Add support for ISOLatin1 PS encoding.
-
- * include/freetype/freetype.h (ft_encoding_latin_1): New tag
- (`lat1').
- * include/freetype/internal/t1types.h (T1_Encoding_Type): Add
- `t1_encoding_isolatin1'.
- * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
- ft_encoding_latin_1.
- * src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
- * src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
-
-2002-02-09 Werner Lemberg <wl@gnu.org>
-
- * README: Fix typo.
- * docs/CHANGES: Minor fixes.
-
-
- * Version 2.0.8 released.
- =========================
-
-
-2002-02-08 David Turner <david@freetype.org>
-
- * docs/CHANGES: Updating for 2.0.8.
-
- * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
- removing `FT_Get_Next_Char' from the API (temporarily).
-
- * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
- note that this function might temporarily be removed for the 2.0.8
- release.
-
-2002-02-07 David Turner <david@freetype.org>
-
- * src/pcf/pcfread.c (pcf_load_font): Removed immature support of
- the AVERAGE_WIDTH property.
-
-2002-02-06 David Turner <david@freetype.org>
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
- PDF documents do not include 'cmap', 'post' and 'name' tables, the
- SFNT face loader has been changed to not immediately report an
- error if these are not present.
-
- Note that the specification _requires_ these tables, but Adobe
- seems to ignore it completely.
-
- * src/sfnt/ttcmap.c: Removing compiler warnings.
-
- * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
- (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code
- is now in ...
- (pcf_get_metric): Here.
- (pcfSeekToType): Renamed to ...
- (pcf_seek_to_table_type): This.
- Use FT_Int.
- (pcfHasType): Renamed to ...
- (pcf_has_table_type): This.
- Use FT_Int.
- (find_property): Renamed to ...
- (pcf_find_property): This.
- Use FT_Int.
- (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
- better (delaying format checks out of FT_Access_Frame ..
- FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
- state when encountering an invalid PCF font).
-
- * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
- (PCF_Face_Done): This.
- (PCF_Init_Face): Renamed to ...
- (PCF_Face_Init): This.
- (PCF_Get_Char_Index): Renamed to ...
- (PCF_Char_Get_Index): This.
- (PCF_Get_Next_Char): Renamed to ...
- (PCF_Char_Get_Next): This.
- (pcf_driver_class): Updated.
-
- * src/pcf/pcf.h (PCF_Done_Face): Removed.
-
-2002-02-06 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
-
- * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
- property to return correct character pixel (width/height) pairs for
- embedded bitmaps.
-
-2002-02-04 Keith Packard <keithp@keithp.com>
-
- Adding the function `FT_Get_Next_Char', doing the obvious thing
- w.r.t. the selected charmap.
-
- * include/freetype/freetype.h: Add prototype.
- * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
- typedef.
- (FT_Driver_Class): Use it.
- * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
- typedef.
- (PSNames_Interface): Use it.
- * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
- typedef.
- (TT_CMapTable): Use it.
-
- * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
- high-level API.
- * src/cff/cffdrivr.c (cff_get_next_char): New function.
- (cff_driver_class): Add it.
- * src/cid/cidriver.c (Cid_Get_Next_Char): New function.
- (t1cid_driver_class): Add it.
- * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
- (pcf_driver_class): Add it.
- * src/psnames/psmodule.c (PS_Next_Unicode): New function.
- (psnames_interface): Add it.
- * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
- code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
- functions.
- (TT_CharMap_Load): Use them.
- * src/truetype/ttdriver.c (Get_Next_Char): New function.
- (tt_driver_class): Add it.
- * src/type1/t1driver.c (Get_Next_Char): New function.
- (t1_driver_class): Add it.
- * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
- (winfnt_driver_class): Add it.
-
- * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
- Unicode and Latin 1 encodings.
-
-2002-02-02 Keith Packard <keithp@keithp.com>
-
- * builds/unix/freetype-config.in: Add missing `fi'.
-
-
- * Version 2.0.7 released.
- =========================
-
-
-2002-02-01 David Turner <david@freetype.org>
-
- * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
- for the new release.
-
-2002-01-31 David Turner <david@freetype.org>
-
- * README, README.UNX, docs/CHANGES: Updating documentation for the
- 2.0.7 release.
-
-2002-01-30 David Turner <david@freetype.org>
-
- * INSTALL: Moved to ...
- * docs/INSTALL: Here to avoid conflicts with the `install' script on
- Windows, where the filesystem doesn't preserve case.
-
-2002-01-29 David Turner <david@freetype.org>
-
- * configure: Fixed the script. It previously didn't accept more
- than one argument correctly. For example, when typing:
-
- ./configure --disable-shared --disable-nls
-
- the `--disable-nls' was incorrectly sent to the `make' program.
-
-2002-01-29 Werner Lemberg <wl@gnu.org>
-
- * README.UNX: Fix typo.
- * builds/unix/install.mk (uninstall): Fix library name for libtool.
-
-2002-01-28 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
-
- * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
- the face object (face->toc.tables, face->root.family_name,
- face->root.available_size, face->charset_encoding,
- face->charset_registry are now freed). Thanks to Niels Moseley.
-
-2002-01-28 Roberto Alameda <ojancano@geekmail.de>
-
- * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
-
-2002-01-28 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
- of `base' string for decrypting to not modify the original data.
- Based on a patch by Jakub Bogusz <qboosh@pld.org.pl>.
-
-2002-01-27 Giuliano Pochini <pochini@shiny.it>
-
- * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
- bad rendering of thin lines (less than one pixel thick).
-
-2002-01-25 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
- actually.
-
-2002-01-25 Martin Zinser <zinser@decus.de>
-
- * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
- compilation warnings.
- * src/base/descrip.mms (OBJS): Add `ftmm.obj'.
- * src/cache/descrip.mms (ftcache.obj): Dependencies added.
-
-2002-01-25 WANG Yi <wangyi@founder.com.cn>
-
- * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
-
-2002-01-21 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
- the URL for the online resource.
-
-2002-01-18 Ian Brown <ian.brown@printsoft.de>
-
- * builds/win32/ftdebug.c: New file.
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-01-18 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
- * builds/amiga/README: Updated.
-
-2002-01-18 Ian Brown <ian.brown@printsoft.de>
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-01-13 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/freetype2.a4: The script was still buggy.
- * builds/unix/freetype-config.in: Make it really work for any install
- prefix.
-
-2002-01-10 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/freetype2.a4: Fix some serious bugs.
-
-2002-01-09 David Turner <david@freetype.org>
-
- * builds/unix/configure.ac: Build top-level Jamfile.
-
-2002-01-09 Maxim Shemanarev <mcseemagg@yahoo.com>
-
- * src/smooth/ftgrays.c (gray_render_line): Small optimization to
- the smooth anti-aliased renderer that deals with vertical segments.
- This results in a 5-7% speedup in rendering speed.
-
-2002-01-08 David Turner <david@freetype.org>
-
- Added some wrapper scripts to make the installation more
- Unix-friendly.
-
- * configure, install: New files.
-
- * INSTALL, README.UNX: Updated installation documentation to use the
- new 'configure' and 'install' scripts.
-
-2002-01-07 David Turner <david@freetype.org>
-
-
- * Version 2.0.6 released.
- =========================
-
-
- * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
-
- * src/tools/docmaker.py: Fixed HTML quoting in sources.
- (html_format): Replaced with ...
- (html_quote): New function.
- (html_quote0): New function.
- (DocCode::dump_html): Small improvement.
- (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
-
- * include/freetype/config/ftoption.h: Setting default options for
- a release build (debugging off, bytecode interpreter off).
-
- * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
- src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
- src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
- warnings (in pedantic compilation modes).
-
-2002-01-05 David Turner <david@freetype.org>
-
- * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
- of auto-hinted stem widths; this avoids color fringes in
- `ClearType-like' rendering.
-
- * src/truetype/ttgload.c (TT_Load_Glyph_Header,
- TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
- Modified the TrueType loader to make it more paranoid; this avoids
- nasty buffer overflows in the case of invalid glyph data (as
- encountered in the output of some buggy font converters).
-
-2002-01-04 David Turner <david@freetype.org>
-
- * README.UNX: Added special README file for Unix users.
-
- * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
-
- * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
- of compiler warnings.
-
- * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
-
-2002-01-03 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
- warning.
-
-2002-01-03 Keith Packard <keithp@keithp.com>
-
- * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
- all FreeType input streams are closed in child processes of a `fork'
- on Unix systems. This is important to avoid (potential) access
- control issues.
-
-2002-01-03 David Turner <david@freetype.org>
-
- * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
- library when dealing with certain weird fonts like `Stalingrad', in
- `sadn.pfb' (this font has no full font name entry).
-
- * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
- New function to check the consistency of outline data.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
- ensure that loaded glyphs are valid. This allows certain fonts like
- `tt1095m_.ttf' to be loaded even though it appears they contain
- really funky glyphs.
-
- There still is a bug there, though.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
-
-2001-12-30 David Turner <david@freetype.org>
-
- * src/autohint/ahhint.c (ah_hinter_load): Fix advance width
- computation of auto-hinted glyphs. This noticeably improves the
- spacing of letters in KDE and Gnome.
-
-2001-12-25 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
-
- * builds/dos/detect.mk: Correcting the order for Borland compilers:
- 16-bit bcc was never selected, always overridden by 32-bit bcc32.
-
-2001-12-22 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
-
- * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
- and fix incorrect computation of `available_sizes'.
-
-2001-12-22 David Turner <david@freetype.org>
-
- * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
- incorrect glyph advance in the case of mono-width fonts (like
- Courier, Andale Mono, and others).
-
-2001-12-22 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/*: Adaptations to latest changes.
- Support added for MorphOS.
-
-2001-12-22 Werner Lemberg <wl@gnu.org>
-
- * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
- (ps_mask_table_merge, ps_hints_open, ps_hints_stem,
- ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
- FT_ERROR messages.
- * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
- `trace_pshalgo1'.
- * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
- `trace_pshalgo2'.
- * include/freetype/internal/ftdebug.h (FT_Trace): Updated.
-
- * docs/modules.txt: New file.
-
-2001-12-21 David Turner <david@freetype.org>
-
- * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
- Ignore invalid `hintmask' and `cntrmask' operators (instead of
- returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro'
- couldn't be rendered otherwise (it seems its charstring is buggy,
- though this requires more analysis).
- (FT_COMPONENT): Define.
-
- * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
- (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
- bug where the X and Y axis where inversed in the postscript hinter.
- This caused problem when displaying on non-square surfaces.
-
- * src/pshinter/pshalgo2.c: s/vertical/dimension/.
-
- * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
- point constant with a fixed-float equivalent. For some reasons not
- all compilers are capable of directly computing a floating pointer
- constant casted to FT_Fixed, and will link a math library instead.
-
-2001-12-20 Werner Lemberg <wl@gnu.org>
-
- * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
- tracing strings.
- * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
- * src/cache/ftcmanag.c (ftc_family_table_alloc,
- ftc_family_table_free, FTC_Manager_Check): Ditto.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
-
- * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
-
-2001-12-20 David Turner <david@freetype.org>
-
- Added PostScript hinter support to the CFF and CID drivers.
-
- * include/freetype/internal/cfftypes.h (CFF_Font): New member
- `pshinter'.
- * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
- * src/cff/cffload.h: Updated.
- * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
- (CFF_Builder_Init): This.
- Added new argument `hinting'.
- (CFF_Done_Builder): Renamed to ...
- (CFF_Builder_Done): This.
- (CFF_Init_Decoder): Added new argument `hinting'.
- (CFF_Parse_CharStrings): Implement vstem support.
- (CFF_Load_Glyph): Updated.
- Add hinting support.
- (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
- (cff_argument_counts): Updated.
- * src/cff/cffgload.h: Updated.
- * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
- (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
- CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
- functions.
- (CFF_Init_Face): Renamed to ...
- (CFF_Face_Init): This.
- Add hinter support.
- (CFF_Done_Face): Renamed to ...
- (CFF_Face_Done): This.
- (CFF_Init_Driver): Renamed to ...
- (CFF_Driver_Init): This.
- (CFF_Done_Driver): Renamed to ...
- (CFF_Driver_Done): This.
- * src/cff/cffobjs.h: Updated.
- * src/cff/cffdrivr.c (cff_driver_class): Updated.
-
- * include/freetype/internal/t1types.h (CID_FaceRec): New member
- `pshinter'.
- * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
- * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
- (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
- CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
- (CID_Done_Face): Renamed to ...
- (CID_Face_Done): This.
- (CID_Init_Face): Renamed to ...
- (CID_Face_Init): This.
- Add hinting support.
- (CID_Init_Driver): Renamed to ...
- (CID_Driver_Init): This.
- (CID_Done_Driver): Renamed to ...
- (CID_Driver_Done): This.
- * src/cid/cidobjs.h: Updated.
- * src/cidriver.c: Updated.
-
- * src/pshinter/pshrec.c (t2_hint_stems): Fixed.
-
- * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
- crashed the library on exit.
-
- * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
- transformation of hinted glyphs.
-
- * src/cid/cidload.c (cid_read_subrs): Fix error condition.
-
- * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
- routines were never released when CID faces were destroyed.
-
- * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
- to move the definition of encoding tables back within `cffload.c'
- instead of making them part of a shared header (causing problems in
- `multi' builds). This reverts change 2001-08-08.
-
- * docs/CHANGES: Updated for 2.0.6 release.
- * docs/TODO: Added `stem3 and counter hints support' to the TODO
- list for the Postscript hinter.
- * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
-
-2001-12-19 David Turner <david@freetype.org>
-
- * include/freetype/cache/ftcache.h: Added comments to indicate that
- some of the exported functions should only be used by applications
- that need to implement custom cache types.
-
- * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
- that prevented composites from loading correctly, due to missing
- parentheses around macro parameters.
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
- tables optional to load PCL fonts properly.
-
- * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
- (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
- `Fixed' the bug that prevented embedded bitmaps to be loaded when
- the auto-hinter is used. This actually is a hack but will be enough
- until the internal re-design scheduled for FreeType 2.1.
-
- * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
- shifting bug in the monochrome renderer.
-
- * README: Updated version numbers to 2.0.6.
-
-2001-12-17 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
- glyph header.
-
-2001-12-15 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
- * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
- already in ftcmanag.h.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
- `gfam'.
- * src/cache/ftcmanag.c (ftc_family_table_alloc,
- * ftc_family_table_free): Use FT_EXPORT_DEF.
- * include/freetype/cache/ftcmanag.h: Updated.
- * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
- * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
- `cfam'.
- Remove compiler warning.
- (FTC_CMapCache_Lookup): Remove compiler warnings.
- (ftc_cmap_family_init): Ditto.
- (FTC_CMapCache_Lookup): Ditto.
-
- * builds/unix/configure.ac: Increase `version_info' to 8:0:2.
- * builds/unix/configure: Regenerated.
-
-2001-12-14 Werner Lemberg <wl@gnu.org>
-
- * builds/mac/README: Updated.
-
-2001-12-14 Scott Long <scott@swiftview.com>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
- dealing with invalid fonts (i.e. glyph size < 10 bytes).
-
-2001-12-14 Sam Latinga <slouken@devolution.com>
-
- * builds/mac/freetype.make: A new Makefile to build with MPW on
- MacOS classic.
-
-2001-12-14 David Turner <david@freetype.org>
-
- * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
- (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
- src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
- all font drivers (the advance width was never hinted when it
- should).
-
- * include/freetype/freetype.h (FREETYPE_PATCH): New macro.
- * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
- use `extern' keyword.
-
-2001-12-12 David Turner <david@freetype.org>
-
- * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
- psh_globals_new): Adding correct BlueScale/BlueShift support, plus
- family blues processing.
- * src/pshinter/pshglob.h (PSH_BluesRec): Updated.
-
- Started adding support for the Postscript hinter in the CFF module.
-
- * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
- (CFF_Parse_CharStrings): Implement it.
- * src/cff/cffgload.h: Updated.
-
-2001-12-12 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/freetype2.m4: Some portability fixes.
-
-2001-12-11 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
-
- * src/base/descrip.mms (OBJS): Add ftdebug.obj.
-
-2001-12-11 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
-
-2001-12-11 David Turner <david@freetype.org>
-
- * builds/unix/freetype-config.in: Modified the script to prevent
- passing `-L/usr/lib' to gcc.
-
- * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
-
- * builds/unix/freetype2.m4: New file for checking configure paths.
- We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
- didn't modify builds/unix/install.mk yet.
-
- * INSTALL: Updated the instructions to build shared libraries with
- Jam. They were simply wrong.
-
- * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
- slightly improper results for `FT_Cos' and `FT_Sin' (example:
- FT_Sin(0) == -1!).
-
-2001-12-11 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
- Fixed incorrect argument types.
-
-2001-12-10 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
-
- * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
- by setting the `face->metrics.max_advance' correctly.
-
-2001-12-07 David Turner <david@freetype.org>
-
- * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
- charmap cache.
- * src/cache/ftcache.c: Updated.
-
- * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
-
-2001-12-06 Leonard Rosenthol <leonardr@lazerware.com>
-
- Added support for reading .dfont files on Mac OS X. Also added a
- new routine which looks up a given font by name in the Mac OS and
- returns the disk file where it resides.
-
- * src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
- (is_dfont): New auxiliary function.
- (FT_New_Face_From_dfont): New function.
- (FT_GetFile_From_Mac_Name): New exported function.
- (FT_New_Face): Updated.
- * include/freetype/ftmac.h: Updated.
-
-2001-12-06 David Turner <david@freetype.org>
-
- * src/cache/Jamfile, src/cache/rules.mk: Updated.
-
-2001-12-06 Werner Lemberg <wl@gnu.org>
-
- * INSTALL: Small update.
-
-2001-12-05 David Turner <david@freetype.org>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
- debugging purposes.
- Comment out use of `origin'.
-
- * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
- where outline shifting wasn't correctly undone after bitmap
- rasterization. This created problems with certain glyphs (like '"'
- of certain fonts) and the cache system.
-
- * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
- * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
- (ps2_hints_apply): Small fix.
-
-2001-12-05 David Turner <david@freetype.org>
-
- * src/pshinter/pshalgo2.c (psh2_hint_table_init),
- src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
- warnings.
-
- * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
- Yet another massive rewrite of the caching sub-system in order to
- both increase performance and allow simpler cache sub-classing. As
- an example, the code for the image and sbit caches is now much
- simpler.
-
- I still need to update the documentation in
- www/freetype2/docs/cache.html to reflect the new design though.
-
- * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
- macro.
- (FT_CACHE_INTERNAL_CACHE_H): Updated.
-
-2001-12-05 David Krause <freetype@davidkrause.com>
-
- * docs/license.txt: s/X Windows/X Window System/.
-
-2001-12-04 Werner Lemberg <wl@gnu.org>
-
- * src/raster/ftraster.c: Fix definition condition of MEM_Set().
- * src/smooth/ftgrays.c (M_Y): Change value to 192.
- * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
- Remove unused variable.
- * src/cache/ftcimage.c (ftc_image_node_init,
- ftc_image_node_compare): Remove unused variables.
- * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
- variable.
- * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
- compiler warning.
- * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
- avoid compiler warnings.
- * src/pcf/pcfread.c (tableNames): Use `const'.
- (pcf_read_TOC): Change counter name to avoid compiler warning.
- Use `const'.
- * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
- declaration.
- * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
- to avoid shadowing.
- * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
- * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
- and `T1_Size_Done()'.
-
-2001-11-20 Antoine Leca <antoineleca@multimania.com>
-
- * include/freetype/ttnameid.h: Added some new Microsoft language
- codes and LCIDs as found in MSDN (Passport SDK). Also added
- comments about the meaning of bit 57 of the `OS/2' table
- (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
- a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner
- <TetiSoft@apg.lahn.de> for noticing this.
-
-2001-11-20 David Turner <david@freetype.org>
-
- * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
- routine that created nasty alignment artefacts.
-
- * src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
-
- * src/smooth/ftgrays.c: De-activated experimental gamma support.
- Apparently, `optimal' gamma tables depend on the monitor type,
- resolution and general karma, so it's better to compute them outside
- of the rasterizer itself.
- (gray_convert_glyph): Use `volatile' keyword.
-
-2001-10-29 David Turner <david@freetype.org>
-
- Adding experimental `gamma' support. This produces smoother glyphs
- at small sizes for very little cost.
-
- * src/smooth/ftgrays.c (grays_init_gamma): New function.
- (gray_raster_new): Use it.
-
- Various fixes to the auto-hinter. They merely improve the output of
- sans-serif fonts. Note that there are still problems with serifed
- fonts and composites (accented characters).
-
- * src/autohint/ahglyph.c (ah_outline_load,
- ah_outline_link_segments): Implement it.
- Fix typos.
- (ah_outline_save, ah_outline_compute_segments): Fix typos.
- * src/autohint/ahhint.c (ah_align_serif_edge): New argument
- `vertical'. Implement improvement.
- (ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
- Fix typos.
- (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
- typos.
- (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
- * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
- * src/autohint/ahtypes.h: Ditto.
- (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
- (making them global as `ah_debug_disable_horz' and
- `ah_debug_disable_vert').
- Fix typos.
-
- * tests/gview.c: Updated the debugging glyph viewer to show the
- hints generated by the `autohint' module.
-
-2001-10-27 David Turner <david@freetype.org>
-
- * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
- considerably lowered the performance of the abstract chunk cache.
-
-2001-10-26 David Turner <david@freetype.org>
-
- * include/freetype/ftcache.h, include/freetype/cache/*.h,
- src/cache/*.c: Major re-design of the cache sub-system to provide
- better performance as well as an `Acquire'/`Release' API. Seems to
- work well here, but probably needs a bit more testing.
-
-2001-10-26 Leonard Rosenthol <leonardr@lazerware.com>
-
- * builds/mac/README: Updated to reflect my taking over the project
- and that is now being actively maintained.
-
- * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
- <paulm@profoundeffects.com> to support loading a face other than the
- first from a FOND resource.
- (FT_New_Face_From_FOND): Updated.
-
-2001-10-25 Leonard Rosenthol <leonardr@lazerware.com>
-
- * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
- OS for latest version (7) of CWPro and for recent changes to the FT
- source tree.
-
-2001-10-25 David Turner <david@freetype.org>
-
- * include/freetype/config/ftoption.h: Updated comments to explain
- precisely how to use project-specific macro definitions without
- modifying this file manually.
-
- (FT_CONFIG_FORCE_INT64): Define.
-
- (FT_DEBUG_MEMORY): New macro.
-
-2001-10-24 Tom Kacvinsky <tkacvins@freetype.org>
-
- * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
-
-2001-10-23 David Turner <david@freetype.org>
-
- * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
- Improvements to the memory debugger to report more information in
- case of errors. Also, some allocations that occurred through REALLOC
- couldn't be previously catched correctly.
-
- * src/autohint/ahglyph.c (ah_outline_compute_segments,
- ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
- src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
- liberal uses of memset() by the MEM_Set() macro.
-
-2001-10-23 David Turner <david@freetype.org>
-
- * src/raster/ftraster.c (Update): Removed to be inlined in ...
- (Sort): Updated.
-
-2001-10-22 David Turner <david@freetype.org>
-
- * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
- builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
- builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
- src/base/ftdbgmem.c: Updated the memory debugger and
- platform-specific implementations of `ftsystem' in order to be able
- to debug memory allocations on Unix, VMS and Amiga too!
-
- * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
- some bogus warnings.
-
- * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
- Modified the debugging memory manager to report the location (source
- file name + line number) where leaked memory blocks are allocated in
- the source file.
-
- * src/base/ftdbgmem.c: New debugging memory manager. You must
- define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It
- will record every memory block allocated and report simple errors
- like memory leaks and double deletes.
-
- * src/base/Jamfile: Include ftdbgmem.
- * src/base/rules.mk: Ditto.
- * src/base/ftbase.c: Include ftdbgmem.c.
-
- * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
- macro definition.
-
- * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
- base component to use the debugging memory manager when the macro
- FT_DEBUG_MEMORY is defined.
-
-2001-10-21 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
- we are working with a CID keyed CFF font. Otherwise, a variable
- that was never allocated memory might freed. This is a correction
- to the previous patch for freeing subfonts.
-
-2001-10-21 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
- avoid a memory leak.
-
-2001-10-21 David Turner <david@freetype.org>
-
- * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
- src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
- (in multi-object compilation mode, mainly).
-
-2001-10-20 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/type1/t1load.c (parse_encoding): Add a test to make sure
- that custom encodings (i.e., neither StandardEncoding nor
- ExpertEncoding) are not loaded twice when the Type 1 font is
- synthetic.
-
- * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
- for when loading synthetic fonts to make sure that the font name
- and subrotuines are not loaded twice. This is to remove a memory
- leak that occurred because the original memory blocks for these
- objects were not deallocated when the objects were parsed the
- second time.
-
-2001-10-19 David Turner <david@freetype.org>
-
- * src/smooth/ftgrays.c, src/pshinter/pshglob.h,
- src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
- compiler warnings.
-
- * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
- files to build the PostScript hinter with the `old' build system.
-
-2001-10-19 Jacob Jansen <joukj@hrem.stm.tudelft.nl>
-
- * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
- files.
-
-2001-10-18 David Turner <david@freetype.org>
-
- * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
- `glnames.py' script used to generate the `pstables.h' header file.
- The old one contained a serious bug that made FreeType return
- incorrect glyph names for certain glyphs.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
- pixel size from character size to use rounding. This is an
- experiment to see whether this gives values similar to Windows for
- scaled ascent/descent/etc.
-
- * src/base/ftcalc.c (FT_Div64by32): Changed the implementation
- slightly since the original code was mis-compiled on Mac machines
- using the MPW C compiler.
-
- * src/base/ftobjs.c (FT_Realloc): When a memory block was grown
- through FT_Realloc(), the new bytes were not set to 0, which created
- some strange bugs in the PostScript hinter.
- (destroy_face): Don't deallocate unconditionally.
-
- * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
- Adding support to new PostScript hinter.
-
- * include/freetype/internal/psglobal.h,
- include/freetype/internal/pshints.h,
- include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
- src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
- src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
- src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
- src/pshinter/pshglob.c, src/pshinter/pshinter.c,
- src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
- src/pshinter/pshrec.h: Adding new PostScript hinter module.
-
- * include/freetype/internal/ftobjs.h,
- include/freetype/internal/internal.h,
- include/freetype/internal/psaux.h,
- include/freetype/internal/t1types.h, src/psaux/psobjs.c,
- src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
- src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
- src/type1/t1objs.h: Updates to use the new PostScript hinter.
-
- * tests/Jamfile, tests/gview.c: Adding a new glyph hinting
- viewer/debugger to the source tree. Note that you will _not_ be
- able to compile it since it depends on an unavailable graphics
- library named `Nirvana' to render vector images.
-
-2001-10-17 David Turner <david@freetype.org>
-
-
- * Version 2.0.5 released.
- =========================
-
-
- * include/freetype/freetype.h, include/internal/ftobjs.h,
- src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
- 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
- font. Should work with all formats except pure CFF/CEF fonts (this
- will be added soon).
-
- * src/cid/cidriver (cid_get_postscript_name): New function.
- (CID_Get_Interface): Handle `postscript_name' interface.
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
- (SFNT_Get_Interface): Handle `postscript_name' interface.
-
- * src/type1/t1driver.c (t1_get_ps_name): New function.
- (Get_Interface): Handle `postscript_name' interface.
-
- * README, docs/CHANGES: Updated for 2.0.5 release.
-
-2001-10-08 David Turner <david@freetype.org>
-
- Fixed a bug in `glnames.py' that prevented it from generating
- correct glyph names tables. This resulted in the unavailability of
- certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
- charmaps, even if these were present in the font (causing problems
- for Polish users).
-
- * src/tools/glnames.py (mac_standard_names): Fixed.
- (t1_standard_strings): Some fixes and renamed to ...
- (sid_standard_names): This.
- (t1_expert_encoding): Fixed.
- (the_adobe_glyph_list): Renamed to ...
- (adobe_glyph_names): This.
- (the_adobe_glyphs): Renamed to ...
- (adobe_glyph_values): This.
- (dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
- Updated.
- * src/psnames/pstables.h: Regenerated.
- * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
- Fix return value.
- Use `sid_standard_table' and `ps_names_to_unicode' instead of
- `t1_standard_glyphs' and `names_to_unicode'.
- (PS_Macintosh_Name): Use `ps_glyph_names' instead of
- `standard_glyph_names'.
- (PS_Standard_Strings): Use `sid_standard_names' instead of
- `t1_standard_glyphs'.
-
- * doc/BUGS, doc/TODO: New documents.
-
-2001-10-07 Richard Barber <rich@solutionuk.com>
-
- * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
- correct LRU behaviour.
-
-2001-10-07 David Turner <david@freetype.org>
-
- setjmp() and longjmp() are now used for rollback (i.e. when memory
- pool overflow occurs).
-
- Function names are now all uniformly prefixed with `gray_'.
-
- * src/smooth/ftgrays.c: Include <setjmp.h>.
- (ErrRaster_MemoryOverflow): New macro.
- (TArea): New type to store area values in each cell (using `int' was
- too small on 16-bit systems). <limits.h> is included to properly
- get the needed data type.
- (TCell, TRaster): Use it.
- (TRaster): New element `jump_buffer'.
- (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
- `outline' from it.
- (gray_record_cell): Use longjmp().
- (gray_set_cell): Use gray_record_cell() for error handling.
- (gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
- (gray_convert_glyph_inner): New function, using setjmp().
- (gray_convert_glyph): Use it.
-
-2001-10-07 David Turner <david@freetype.org>
-
- Provide a public API to manage multiple size objects for a given
- FT_Face in the new header file `ftsizes.h'.
-
- * include/freetype/ftsizes.h: New header file,
- * include/freetype/internal/ftobjs.h: Use it.
- Remove declarations of FT_New_Size and FT_Done_Size (moved to
- ftsizes.h).
- * include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
- * src/base/ftobjs.c (FT_Activate_Size): New function.
- * src/cache/ftcmanag.c: Include ftsizes.h.
- (ftc_manager_init_size, ftc_manager_flush_size): Use
- FT_Activate_Size.
-
-2001-09-20 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
-
-2001-09-15 Detlef Würkner <TetiSoft@apg.lahn.de>
-
- * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
-
-2001-09-10 Yao Zhang <yzhang@sharemedia.com>
-
- * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
- hi-byte == 0 correctly.
-
-2001-09-10 Werner Lemberg <wl@gnu.org>
-
- * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
-
-2001-08-30 Martin Muskens <mmuskens@aurelon.com>
-
- * src/type1/t1load.c (parse_font_matrix): A new way to compute the
- units per EM with greater accuracy (important for embedded T1 fonts
- in PDF documents that were automatically generated from TrueType
- ones).
-
- * src/type1/t1load.c (is_alpha): Now supports `+' in font names;
- this is used in embedded fonts.
-
- * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
- generated a dangling pointer reference.
-
-2001-08-30 Anthony Feik <afeick@hotmail.com>
-
- * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
- FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
-
-2001-08-25 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
- `cmap_rec_fields'.
-
- * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
- Undefine FT_ERR_BASE before defining again.
-
-2001-08-22 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
-
-2001-08-21 Werner Lemberg <wl@gnu.org>
-
- * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
-
-2001-08-21 David Turner <david@freetype.org>
-
- * include/freetype/config/ftoption.h: Changed the default setting
- for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
- source compatibility in a few cases. Updated the comment to explain
- that too.
-
-2001-08-17 Martin Muskens <mmuskens@aurelon.com>
-
- * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
-
-2001-08-12 Werner Lemberg <wl@gnu.org>
-
- Updating to OpenType 1.3.
-
- * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
- TT_CMap6): Adding field `language'.
- (TT_CMapTable): Removing field `language'.
- Type of `length' field changed to FT_ULong.
- Adding fields for cmaps format 8, 10, and 12.
- (TT_CMapGroup): New auxiliary structure.
- (TT_CMap8_12, TT_CMap10): New structures.
- * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
- Removed last element of `Reserved' array.
- * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
- TT_NAME_ID_CID_FINDFONT_NAME): New macros.
-
- * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
- field to the new structures.
- Fixed freeing of arrays in case of unsuccessful loads.
- Added support for loading format 8, 10, and 12 cmaps.
- (TT_CharMap_Free): Added support for freeing format 8, 10, and 12
- cmaps.
- (code_to_index4): Small improvement.
- (code_to_index6): Ditto.
- (code_to_index8_12, code_to_index10): New functions.
- * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
- structure.
- (TT_Load_CMap): Ditto.
-
- * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
- Unicode).
-
-2001-08-11 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
-
-2001-08-09 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
- cff_get_glyph_name for consistency.
-
- (cff_get_glyph_index): Minor documentation change.
-
- * src/type1/t1driver.c (t1_get_name_index): New function used in
- Get_Interface as the function returned when the `name_index'
- function is requested.
-
- (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
-
-2001-08-08 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
- cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
- and cff_expert_encoding arrays to cffload.h.
-
- * src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
- cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
- and cff_expert_encoding arrays.
-
- * src/cff/cffdrivr.c (cff_get_name_index): New function, returned
- when `cff_get_interface' is called with a request for the
- `name_index' function.
-
- (cff_get_interface): Modified so that it returns the function
- `cff_get_name_index' when the `name_index' function is requested.
-
- * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
- return a glyph index for a given glyph name only if the driver
- supports glyph names.
-
- * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
- New function pointer type defintion used in the function
- FT_Get_Name_Index.
-
- * include/freetype/freetype.h (FT_Get_Name_Index): Added
- documentation and prototype.
-
-2001-07-26 Werner Lemberg <wl@gnu.org>
-
- * builds/cygwin/*: Removed. Use the unix stuff instead.
-
-2001-07-26 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
-
- * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
- 2001-06-27.
-
-2001-07-17 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
- `cursor' and `capacity'.
- * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
- parameter.
- (PS_Table_Add): Use FT_Offset for `new_size'.
-
- Add support for version 0.5 maxp tables.
-
- * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
- (TT_Load_OS2): Initialize some values.
-
-2001-07-13 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftsynth.c: Include ftcalc.h unconditionally.
-
-2001-07-07 David Turner <david@freetype.org>
-
- * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
- Removed pedantic compiler warnings when the bytecode interpreter is
- compiled in.
-
-2001-07-03 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
- unused variable `edges'.
- (ah_hinter_load): Remove unused variables `old_width' and
- `new_width'.
- * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
- * src/psaux/psobjs.c (T1_Decrypt): Ditto.
- * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
-
-2001-06-28 David Turner <david@freetype.org>
-
- * include/internal/ftstream.h: Modified the definitions
- of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
-
-2001-06-26 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
- instead of FT_Int as type for `length' parameter.
- * include/freetype/internal/psaux.h (PSAux_Interface): Updated.
-
-2001-06-27 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
- instead of FT_Int as type for `length' parameter.
-
-
- * Version 2.0.4 released.
- =========================
-
-
-2001-06-27 David Turner <david@freetype.org>
-
- * builds/unix/ftconfig.in: Changed the definition of the
- FT_CALLBACK_DEF macro.
-
- * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
- use of the FT_CALLBACK_DEF macro in order to support 16-bit
- compilers.
-
- * builds/unix/ftconfig.in: Changed the definition of the
- FT_CALLBACK_DEF macro.
-
- * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
- that the kerning table is correctly sorted (some problem fonts don't
- have a correct kern table).
-
-2001-06-26 Wolfgang Domröse <porthos.domroese@harz.de>
-
- * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
-
-2001-06-24 David Turner <david@freetype.org>
-
- * src/base/ftcalc.c (ft_div64by32): Fixed the source to work
- correctly on 16-bit systems.
-
-2001-06-23 Anthony Fok <fok@debian.org>
-
- * debian/*: Added Debian package build directory for 2.0.4.
-
-2001-06-22 David Turner <david@freetype.org>
-
- * docs/PATENTS: Added patents disclaimer. This one was missing!
-
- * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
-
-2001-06-20 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftconfig.h: Add two more `L's to
- constants.
- Add missing semicolons.
-
- * builds/toplevel.mk: Do similar change as for
- builds/unix/detect.mk.
-
- * include/freetype/freetype.h (FT_ENC_TAG): New version to make it
- easier to redefine.
- * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
-
- * src/pcf/pcfread.c (pcf_get_encodings): Add cast.
-
-2001-06-19 David Turner <david@freetype.org>
-
- * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
- Updated the Visual C++ project (for the 2.0.4 release).
-
- * builds/unix/detect.mk: Added rule for AIX detection (which uses
- /usr/sbin/init instead of /sbin/init).
-
- * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
- error macros to simplify handling of new error scheme.
-
-2001-06-19 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
-
-2001-06-19 David Turner <david@freetype.org>
-
- Removing _lots_ of compiler warnings when the most pedantic warning
- levels of Visual C++ and Borland C++ are used. Too many files to be
- listed here, but FT2 now compiles without warnings with VC++ and the
- `/W4' warning level (lint-style).
-
- * include/freetype/freetype.h (FT_New_Memory_Face): Updated
- documentation.
- * include/freetype/fttypes.h (FT_BOOL): New macro.
- * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
- to suppress warning.
- * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
- FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
- (NEXT_*): Use them.
- * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
- (FT_New_Memory_Face): Add `const' to function declaration.
-
-2001-06-18 Werner Lemberg <wl@gnu.org>
-
- Minor cleanups to remove compiler warnings.
-
- * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
- `L' for constant.
- * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
- * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
- * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
- * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
- * src/base/ftobjs.c (FT_Done_Size): Fix return value.
- (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
- unused `memory' variable.
- * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
- * src/autohint/ahhint.c (ah_hint_edges_3,
- ah_hinter_align_edge_points): Remove unused `before' and `after'
- variables.
- (ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
- (ah_hinter_load): Remove unused `new_advance', `start_contour',
- and `metrics' variables.
- * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
- compiler warning.
- * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
- variable.
- * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
- `outline' variable.
- (cff_compute_bias): Use `U' for constant.
- * src/cid/cidload.c (cid_decrypt): Ditto.
- * src/psaux/psobjs.c (T1_Decrypt): Ditto.
- * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
- * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
- variable.
- * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
- variable.
- * src/truetype/ttgload.c (load_truetype_glyph): Remove unused
- `num_contours' and `ins_offset' variables.
- (compute_glyph_metrics): Remove unused `Top' and `x_scale'
- variables.
- (TT_Load_Glyph): Remove unused `memory' variable.
- * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
-
-2001-06-18 Werner Lemberg <wl@gnu.org>
-
- Make the new error scheme source compatible with older FT versions
- by introducing another layer.
-
- * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
- macros.
- (FT_NOERRORDEF): Removed.
- * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
-
-2001-06-16 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/freetype.h (FT_ENC_TAG): New macro.
- (FT_Encoding_): Use it.
- * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
- conditionally.
-
-2001-06-14 David Turner <david@freetype.org>
-
- Modified the TrueType interpreter to let it use the new
- trigonometric functions provided in `fttrigon.h'. This gets rid of
- some old 64-bit computation routines, as well as many warnings when
- compiling the library with the `long long' 64-bit integer type.
-
- * include/freetype/config/ftoption.h: Undefine
- FT_CONFIG_OPTION_OLD_CALCS.
- * include/freetype/internal/ftcalc.h: Rearrange use of
- FT_CONFIG_OPTION_OLD_CALCS.
- * src/base/ftcalc.c: Add declaration of FT_Int64 if
- FT_CONFIG_OPTION_OLD_CALCS isn't defined.
- * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
- (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
- defined.
- (Current_Ratio, Normalize): Simplify code.
-
-2001-06-11 Mike Owens <MOwens@amtdatasouth.com>
-
- * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
- compiler warnings.
-
-2001-06-08 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.in: Renamed to ...
- * builds/unix/configure.ac: This to make sure that autoconf 2.50 is
- needed.
- Run `autoupdate' on it.
- Increase `version_info' to 7:0:1.
- * builds/unix/configure: Regenerated.
-
-2001-06-08 David Turner <david@freetype.org>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
- corrupted transformed glyphs that were auto-hinted (the transform
- was applied twice).
-
- Fixed a bug that returned an invalid linear width for composite
- TrueType glyphs.
-
- * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
- and `linear_def'.
- * src/truetype/ttgload.c (load_truetype_glyph,
- compute_glyph_metrics): Use it.
-
- * include/fttypes.h (FT_ERROR_BASE): New macro.
- * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
- to make source code work with the new error scheme implemented by
- Werner.
- * src/base/ftoutln.c (FT_Outline_Render): Ditto.
-
-2001-06-07 Werner Lemberg <wl@gnu.org>
-
- Updating to libtool 1.4.0 and autoconf 2.50.
-
- * builds/unix/ltconfig: Removed.
- * builds/unix/ltmain.sh, builds/unix/configure.in,
- builds/unix/aclocal.m4: Updated.
- * builds/unix/configure: Regenerated.
-
-2001-06-06 Werner Lemberg <wl@gnu.org>
-
- Complete redesign of error codes. Please check ftmoderr.h for more
- details.
-
- * include/freetype/internal/cfferrs.h,
- include/freetype/internal/tterrors.h,
- include/freetype/internal/t1errors.h: Removed. Replaced with files
- local to the module. All extra error codes have been moved to
- `fterrors.h'.
-
- * src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
-
- * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
- src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
- src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
- src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
- src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
- error names for the module it belongs to.
-
- * include/freetype/ftmoderr.h: New file, defining the module error
- offsets. Its structure is similar to `fterrors.h'.
-
- * include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
- (FT_ERRORDEF): Redefined to use module error offsets.
- All internal error codes are now public; unused error codes have
- been removed, some are new.
-
- * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
- macro.
- * include/freetype/config/ftoption.h
- (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
-
- All other source files have been updated to use the new error codes;
- some already existing (internal) error codes local to a module have
- been renamed to give them the same name as in the base module.
-
- All make files have been updated to include the local error files.
-
-2001-06-06 Werner Lemberg <wl@gnu.org>
-
- * src/cid/cidtokens.h: Replaced with...
- * src/cid/cidtoken.h: This file for 8+3 consistency.
-
- * src/raster/ftraster.c: Use macros for header file names.
-
- * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
- Fix length of `Reserved' array. Note that this isn't the real fix
- since recent OpenType specs have introduced a `CaretOffset' field
- instead of the first reserved byte.
-
-2001-05-29 Werner Lemberg <wl@gnu.org>
-
- * INSTALL: Minor fixes.
-
-
- * Version 2.0.3 released.
- =========================
-
-
-2001-05-29 David Turner <david@freetype.org>
-
- * INSTALL, docs/CHANGES: Updated.
-
-2001-05-25 David Turner <david@freetype.org>
-
- Moved several documents from the top-level to the `docs' directory.
-
- * src/base/ftcalc.c (FT_DivFix): Small fix to return value.
-
-2001-05-16 David Turner <david@freetype.org>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
- composite loader. Spotted by Keith Packard.
- * src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
- FT_GlyphLoader_Check_Subglyphs): Ditto.
-
-2001-05-14 David Turner <david@freetype.org>
-
- Fixed the incorrect blue zone computations, and improved the
- composite support. Note that these changes result in improved
- rendering, while sometimes introducing their own artefacts. This is
- probably the last big change to the autohinter before the
- introduction of a complete replacement.
-
- * src/autohint/ahglobal.c (sort_values): Fix loop.
- * src/autohint/ahglyph.c: Removed some obsolete code.
- (ah_outline_compute_edges): Modify code to set the ah_edge_round
- flag.
- (ah_outline_compute_blue_edges): Add code to compute active blue
- zones.
- * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
- value.
-
- * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
- created incorrect scale factors!
- (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
-
-2001-05-12 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
- * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
- __FTTRIGON_H__.
- Include FT_FREETYPE_H.
- Beautified; added copyright.
- * src/base/fttrigon.c: Beautified; added copyright.
-
-2001-05-11 David Turner <david@freetype.org>
-
- * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
- (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
- the incorrect EM size computation.
-
- * include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
- adding trigonometric functions to the core API (using Cordic
- algorithms).
- * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
-
- * builds/newline: New file.
- * builds/top_level.mk, builds/detect.mk: Use it. This fixes
- problems with Make on Windows 2000, as well as problems when `make
- distclean' is invoked on a non-Unix platform when there is no
- `config.mk' in the current directory.
-
- * builds/freetype.mk: Fixed a problem with object deletions under
- Dos/Windows/OS/2 systems.
-
- Added new directory to hold tools and test programs.
-
- * docs/docmaker.py, docs/glnames.py: Moved to...
- * src/tools/docmaker.py, src/tools/glnames.py: This place.
- * src/tools/cordic.py: New file used to compute arctangent table
- needed by fttrigon.c.
- * src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
-
- * src/tools/docmaker.py: Improved the script to add the current date
- at the footer of each web page (useful to distinguish between
- versions).
-
- * Jamfile: Fixed incorrect HDRMACRO argument.
-
- * TODO: Removed the cubic arc bbox computation note, since it has been
- fixed recently.
- * src/base/ftbbox.c (test_cubic_zero): Renamed to...
- (test_cubic_extrema): This function. Use `UL' for unsigned long
- constants.
-
- * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
- Formatting.
-
-2001-05-10 David Turner <david@freetype.org>
-
- * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
- which happened when trying to open 0-size font files!
-
-2001-05-09 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/internal/ftcalc.h: Move declaration of
- FT_SqrtFixed() out of `#ifdef FT_LONG64'.
-
-2001-05-08 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
-
- * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
- computation.
-
-2001-05-08 David Turner <david@freetype.org>
-
- * docs/docmaker.py: Updated the DocMaker script in order to add
- command line options (--output,--prefix,--title), fix the erroneous
- line numbers reported during errors and warnings, and other
- formatting issues.
-
- * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
- fixes related to rounding in 64-bits routines and
- pseudo-`optimizations'.
-
-2001-04-27 David Turner <david@freetype.org>
-
- * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
- normalization algorithm (invalid final bit position, and invalid
- shift computation).
-
-2001-04-26 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated to
- latest versions from gnu.org.
-
- * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
-
- * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
- uncoditionally.
- * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
- Fix compiler warnings.
- * src/base/ftcalc.c: Fix (potential) compiler warnings.
-
-2001-04-26 David Turner <david@freetype.org>
-
- * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
- fixed-point square root computation. It is now used even with
- 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
-
- * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
-
-2001-04-25 David Turner <david@freetype.org>
-
- * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
- direct computations with 16.16 values instead of sub-divisions. It
- is now slower, but proves a point :-)
-
- * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
- Fixed the bezier stack depths.
-
- * src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
-
- * builds/beos: Added BeOS-specific files to the old build system
- (no changes were necessary to support BeOS in the Jamfile though).
-
-2001-04-20 David Turner <david@freetype.org>
-
- * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
- types on platforms where Autoconf is not available). Also removed
- FTCALC_USE_LONG_LONG and replaced it with
- FT_CONFIG_OPTION_FORCE_INT64.
-
- * builds/win32/freetype.dsp: Updated the Visual C++ project file.
- Doesn't create a DLL yet.
-
- * cffgload.c: Removed a compilation warning.
-
-2001-04-10 Tom Kacvinsky <tkacvins@freetype.org>
-
- * t1load.c (parse_charstrings): Changed code for placing .notdef
- glyph into slot 0 so that we no longer have a memory access
- violation.
-
- * t1load.h: In structure T1_Loader, added swap_table (of type
- PS_Table) to facilitate placing the .notdef glyph into slot 0.
-
-2001-04-10 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
-
- * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
-
-2001-04-09 Laurence Withers <lwithers@lwithers.demon.co.uk>
-
- * builds/dos/detect.mk: Add support for bash.
-
-2001-04-05 Werner Lemberg <wl@gnu.org>
-
- * builds/os2/*.mk: These files have been forgotten to update to
- the structure of similar makefiles.
- * builds/dos/*.mk: Ditto.
- * builds/ansi/*.mk: Ditto.
-
- * builds/win32/win32-def.mk (BUILD): Fix typo.
-
- * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
- This is already used in the link_*.mk files.
-
-2001-04-03 Werner Lemberg <wl@gnu.org>
-
- * src/*/Jamfile: Slight changes to make files more cryptic.
-
-2001-04-03 Werner Lemberg <wl@gnu.org>
-
- * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes
- to give files identical structure.
-
-2001-04-02 Werner Lemberg <wl@gnu.org>
-
- * CHANGES: Reformatted, minor fixes.
- * TODO: Updated.
- * README: Formatting.
- * include/freetype/freetype.h: Formatting.
-
- * Jamfile: Fix typo.
-
- * src/cff/cffparse.c: Move error code #defines to...
- * include/freetype/internal/cfferrs.h: This file.
- * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
- `FT_Err_*' with `CFF_Err_*'.
- * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
- * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
- * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
- `TT_Err_*'.
- * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
- * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
- src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
-
- * include/freetype/internal/cfferrs.h: Add
- `CFF_Err_Unknown_File_Format'.
- * include/freetype/internal/t1errors.h: Add
- `T1_Err_Unknown_File_Format'.
- * include/freetype/internal/tterrors.h: Add
- `TT_Err_Unknown_File_Format'.
-
- * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
- references.
- * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
-
- * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
- FT_LOCAL_DEF.
- * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
- * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
- Ditto.
- * src/type1/t1objs.c (T1_Done_Driver): Ditto.
- * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
- * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
-
-2001-04-02 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
- dereference. Submitted by Herbert Duerr <duerr@sun.com>.
-
-2001-03-26 Tom Kacvinsky <tkacvins@freetype.org>
-
- * include/freetype/config/ftconfig.h: Changed hexadecimal
- constants to use suffix U to avoid problems with HP-UX's c89
- compiler. Submitted by G.W. Lucas <glucas@sonalysts.com>.
-
-2001-03-24 David Turner <david.turner@freetype.org>
-
- * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
- the source tree. See www.freetype.org/jam/index.html for details.
-
-
- * Version 2.0.2 released.
- =========================
-
-
-2001-03-20 Werner Lemberg <wl@gnu.org>
-
- * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
-
-2001-03-20 David Turner <david.turner@freetype.org>
-
- * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
- Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
- FT_SFNT_NAMES_H.
-
- * docs/docmaker.py: Added generation of INDEX link in table of
- contents.
-
- * INSTALL, docs/BUILD: Updated documentation to indicate that the
- compilation process has changed slightly (no more `src' required in
- the include path).
-
- * builds/*/*-def.mk: Changed the objects directory from `obj' to
- `objs'.
-
- * include/freetype/config/ftheader.h: Removed obsolete macros like
- FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
- were previously defined in <freetype/ftcache.h>. Added comments to
- be included in a new API Reference section.
-
- * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
- component needs to add its own directory to the include path at
- compile time. Modified all `rules.mk' and `descrip.mms'
- accordingly.
-
-2001-03-20 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.in: Add $ft_version.
- * builds/unix/freetype-config.in: Use it.
- * builds/unix/configure: Updated.
-
-2001-03-19 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/type1/t1load.c (parse_font_matrix): Assign the units per em
- value an unsigned short value, first by shifting right 16 bits,
- then by casting the results to FT_UShort.
-
- * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
- value an unsigned short value, first by shifting right 16 bits,
- then by casting the results to FT_UShort.
-
-2001-03-17 David Turner <david.turner@freetype.org>
-
- * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
- src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
- compiler warnings in pedantic modes.
-
- * include/config/ft2build.h, include/config/ftheader.h: The file
- `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
- top-level <ft2build.h>.
-
- * include/config/ftheader.h: Added new section describing the #include
- macros.
-
-2001-03-17 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
- values for the bounding box numbers.
-
- * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
- set `root->ascender' (`root->descender') to the integer part of
- `root->bbox.yMax' (`root->bbox.yMin', respectively).
-
-2001-03-16 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
- cff_get_interface to facilitate getting a glyph name for glyph index
- via FT_Get_Glyph_Name().
-
- (cff_get_interface): Added support for getting a glyph name via the
- `glyph_name' module interface. Uses the new function
- get_cff_glyph_name().
- Submitted by Sander van der Wal <svdwal@xs4all.nl>.
-
- * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
- FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
- not defined. This is to add support for getting a glyph name from a
- glyph index via FT_Get_Glyph_Name().
- Submitted by Sander van der Wal <svdwal@xs4all.nl>.
-
- * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
- deprecated operator `dotsection'.
- Submitted by Sander van der Wal <svdwal@xs4all.nl>.
-
-2001-03-12 Werner Lemberg <wl@gnu.org>
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
- messages.
-
- * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
-
-2001-03-12 Tom Kacvinsky <tkacvins@freetype.org>
-
- * include/freetype/internal/psaux.h: Changed the lenIV member of
- the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust
- for lenIV seed bytes at the start of a decrypted subroutine.
-
- * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
- if lenIV >= 0.
-
- * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
- if lenIV >= 0.
-
-2001-03-11 Werner Lemberg <wl@gnu.org>
-
- * TODO: Updated.
-
- * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
- avoid compiler warnings.
-
-2001-03-10 Tom Kacvinsky <tkacvins@freetype.org>
-
- * TODO: New file.
-
- * include/freetype/freetype.h: Added prototypes and notes for
- three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
- * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
- implementation code.
-
- * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
- and if that is not available, default to 1000 units per EM. Changed
- assignment code for ascender and descender values.
- * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
- processing.
- (parse_font_bbox): Changed to use FT_Fixed number handling.
-
- * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
- for ascender, descender, and max_advance_width.
- * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
- number handling.
-
-2001-03-10 Henrik Grubbström <grubba@roxen.com>
-
- * src/*/*.c: Added many casts to make code more 64bit-safe.
-
-2001-03-07 Werner Lemberg <wl@gnu.org>
-
- * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
-
-2001-03-07 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
- until parse_font_bbox is changed before we use logical shift rights
- in the assignments of `root->ascender', `root->descender', and
- `root->max_advance_width'.
-
- (T1_Done_Face): Free `char_name' table to avoid a memory leak.
- Submitted by Sander van der Wal <svdwal@xs4all.nl>.
-
-2001-03-05 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
- the Type 2 glyph charstring (used by conversion programs).
- Submitted by Ha Shao <hashao@chinese.com>.
-
-2001-03-04 Antoine Leca <Antoine.Leca@renault.fr>
-
- * include/freetype/ttnameid.h: Correct a stupid typo which prevented
- correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
-
-2001-03-04 Werner Lemberg <wl@gnu.org>
-
- * src/autohint/ahtypes.h (AH_Hinter): Add elements
- `disable_horz_edges', `disable_vert_edges'.
- * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
- them (and remove static variables with the same names).
- * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
- * docs/glnames.py: Updated to latest pstables.h changes.
-
- * builds/unix/detect.mk: Add test for Hurd.
- * builds/hurd/detect.mk: Removed.
-
-2001-03-04 Sander van der Wal <svdwal@xs4all.nl>
-
- * src/psnames/pstables.h: Add more `const'.
- * src/pcf/pcfutil.c: Ditto.
-
-2001-03-04 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
- (FT_Glyph_Done -> FT_Done_Glyph).
-
-2001-03-01 Antoine Leca <Antoine.Leca@renault.fr>
-
- * include/freetype/ttnameid.h: Added some new Microsoft language
- codes and LCIDs as found in Office Xp.
-
-2001-02-28 David Turner <david.turner@freetype.org>
-
- * builds/hurd/detect.mk: New file. Added support to detect the GNU
- Hurd operating system as Unix-like. Fix submitted by Anthony Fok
- <foka@debian.org>.
-
- * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
- the Type 1 glyph charstring (used by conversion programs).
- Submitted by Ha Shao <hashao@chinese.com>.
-
-2001-02-22 David Turner <david.turner@freetype.org>
-
- * src/base/ftgrays.c (grays_sweep): The function didn't exit
- immediately if `num_cells' was 0 as it should. Thanks to Boris for
- finding this out.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
- bitmap rendering fails (thanks to Graham Asher).
-
-2001-02-13 Werner Lemberg <wl@gnu.org>
-
- * docs/docmaker.py (DocSection::add_element): Use
- `self.print_error()'.
-
- * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
-
-2001-02-13 David Turner <david.turner@freetype.org>
-
- * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
- script to support chapters and section block ordering. Updated the
- public header files accordingly.
-
- * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
- were not correctly copied.
-
-2001-02-08 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
- unnecessary fprintf( stderr, ... ).
-
-2001-02-07 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/type1/t1objs.c (T1_Init_Face): Added code to get the
- units_per_EM from the value assigned in parse_font_matrix, if
- available. Default to 1000 if not available.
-
- * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
- the units_per_EM from the FontMatrix.
-
- (cff_parse_fixed_thousand): New function. Gets a real number from
- the CFF font, but multiplies by 1000 (this is to avoid rounding
- errors when placing this real number into a 16.16 fixed number).
-
- (cff_parse_real): Added code so that the integer part is moved
- into the high sixteen bits of the 16.16 fixed number.
-
- * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
- per EM from the CFF dictionary, if available.
-
- * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
- added a units_per_em member to facilitate passing of units_per_em
- from function cff_parse_font_matrix.
-
- * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
- character. This is so that font names with `-' are fully parsed,
- etc...
-
-2001-02-02 Werner Lemberg <wl@gnu.org>
-
- * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
- obsolete now).
-
- (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
- + MEM_Copy() to avoid a memory bug.
-
-2001-02-01 David Turner <david.turner@freetype.org>
-
- * docs/docmaker.py: Improved the index sorting routine to place
- capital letters before small ones. Added the `<order>' marker to
- section blocks in order to give the order of blocks.
-
-2001-01-30 Antoine Leca <Antoine.Leca@renault.fr>
-
- * include/freetype/ttnameid.h: Latest updates to Microsoft language
- ID codes.
-
-2001-01-24 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
- units_per_EM from the font matrix.
-
- (parse_dict): Deleted test to see whether the FontInfo keyword has
- been seen. Deletion of this test allows fonts without FontInfo
- dictionaries to be parsed by the Type 1 driver.
-
- (T1_Open_Face): Deleted empty subroutines array test to make sure
- fonts with no subroutines still are parsed.
-
-2001-01-17 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
-
- * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
- pcf_get_bitmaps): Fix compiler errors.
-
-2001-01-11 David Turner <david.turner@freetype.org>
-
- * src/pcf/pcfread.c: Removed some compilation warnings related
- to comparison of signed vs. unsigned integers.
-
- * include/freetype/internal/ftdebug.h: Changed the debug trace
- constants from trace_t2xxxx to trace_cffxxxx to be able to compile
- the CFF driver in debug mode.
-
-2001-01-11 Matthew Crosby <mcrosby@marthon.org>
-
- * builds/unix/freetype-config.in: Fix problems with separate
- --prefix and --exec-prefix.
-
-2001-01-11 David Turner <david.turner@freetype.org>
-
- * docs/docmaker.py: Added cross-references generation as well as
- more robust handling of pathname wildcard matching.
-
-2001-01-10 Werner Lemberg <wl@gnu.org>
-
- * docs/docmaker.py: Minor improvements to reduce unwanted spaces
- and empty lines in output.
-
-2001-01-09 David Turner <david.turner@freetype.org>
-
- * docs/docmaker.py: Improved script to generate table of contents
- and index pages. It also supports wildcards on non Unix systems.
-
- * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
- to include section definitions/delimitations for the API Reference
- generator.
-
- * include/freetype/freetype.h: Moved declaration of
- `FT_Generic_Finalizer' and the `FT_Generic' structure to...
- * include/freetype/fttypes.h: here.
-
-2001-01-04 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/ttnameid.h: Updated Unicode code range comments.
-
-2001-01-03 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
-
- * include/freetype/internal/internal.h: Changed to use cfftypes.h
- (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
-
- * include/freetype/internal/cfftypes.h: Merged in changes from
- t2types.h and made this the canonical `types' header for the CFF
- driver.
-
- * include/freetype/internal/t2types.h: This file was merged with
- cfftypes.h and is no longer necessary.
-
- * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
-
- * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
- src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
- src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
- cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_
- (T2_) were replaced with cff_ (CFF_, respectively).
-
- * src/cff/t2gload.h: Renamed cffgload.h.
-
- * src/cff/t2gload.c: Renamed cffgload.c
-
-2000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
-
- * builds/vms: Support files for VMS architecture added.
- * descrip.mms, src/*/descrip.mms: VMS makefiles added.
- * README.VMS: New file.
-
-2000-01-01 Werner Lemberg <wl@gnu.org>
-
- * LICENSE.TXT: Added info about PCF driver license.
-
-2001-01-01 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
-
- * src/pcf/*: New driver module for PCF font format (used in
- X Window System).
- * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
- PCF driver.
- * include/freetype/internal/pcftypes.h: New file.
- * include/freetype/config/ftmodule.h: Added PCF driver module.
-
-2001-01-01 Werner Lemberg <wl@gnu.org>
-
- * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
-
-2000-12-31 Werner Lemberg <wl@gnu.org>
-
- * builds/modules.mk (clean_module_list): Fixed deletion of module
- file in case `make make_module_list' is called before `make setup'.
-
-2000-12-30 Werner Lemberg <wl@gnu.org>
-
- * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
- (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
- definition.
-
-2000-12-30 Tom Kacvinsky <tkacvins@freetype.org>
-
- * include/freetype/internal/t2types.h,
- include/freetype/internal/cfftypes.h: Changed the structures for
- CFF_Encoding and CFF_Encoding for the new implementations of the
- charset and encoding parsers in the CFF driver.
-
- * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
- t2_operator_seac): Added these functions for use in implementing the
- seac emulation provided by the Type 2 endchar operator.
- (T2_Parse_CharStrings): Added seac emulation for the endchar
- operator.
-
- * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
- CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
- charset/encoding tables, and free the memory used by them when the
- CFF driver is finished with them. Added tables
-
- cff_isoadobe_charset
- cff_expert_charset
- cff_expertsubset_charset
- cff_standard_encoding
- cff_expert_encoding
-
- so that the encoding/charset parser can handle predefined encodings and
- charsets.
-
-2000-12-24 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
- transform is applied.
-
- * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
- the font matrix numbers are scaled by 1/(matrix->yy). Also, the
- offset vector now contains integer values instead of 16.16 fixed
- numbers.
-
-2000-12-22 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph):
- Removed unnecessary comments and commented-out code.
-
-2000-12-21 David Turner <david.turner@freetype.org>
-
- * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
- we'll work on supporting CID AFM files later I guess :-)
-
-2000-12-21 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
- Changed so that fonts with a non-standard FontMatrix render
- correctly. Previously, the first glyph rendered from such a
- font did not have the tranformation matrix applied.
-
-2000-12-17 Werner Lemberg <wl@gnu.org>
-
- * *.mk: Added lots of `.PHONY' targets.
-
-2000-12-17 Karsten Fleischer <kfleisc1@ford.com>
-
- * *.mk: Implemented `platform' target to disable auto-detection.
-
-2000-12-14 Werner Lemberg <wl@gnu.org>
-
- * docs/design/modules.html: Removed. Covered by design-*.html.
-
- * INSTALL: Added info about makepp.
-
-2000-12-14 David Turner <david.turner@freetype.org>
-
- Added support for clipped direct rendering in the smooth renderer.
- This should not break binary compatibility of existing applications.
-
- * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
- definition of the FT_BBox structure from the former to the latter.
- * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
- FT_Raster_Flag enumeration.
- Add `clip_box' element to FT_Raster_Params structure.
- * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
-
- * INSTALL: Updated installation instructions on Win32, listing the
- new `make setup list' target used to list supported
- compilers/targets.
-
- * src/raster/ftraster.c (ft_black_render): Test for unsupported
- direct rendering before testing arguments.
-
-2000-12-13 David Turner <david.turner@freetype.org>
-
- * include/freetype/config/ft2build.h,
- include/freetype/internal/internal.h: Fixed header inclusion macros
- to use direct definitions. This is the only way to do these things
- in a portable way :-( The rest of the code should follow shortly
- though everything compiles now.
-
- * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
-
- * builds/win32/detect.mk: Added support for the Intel C/C++
- compiler, as well as _preliminary_ (read: doesn't work!) support for
- Watcom. Also added a new setup target. Type `make setup list' for
- a list of supported command-line compilers on Win32.
-
- * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
- conditionals are off.
-
-2000-12-13 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong
- ftconfig.h file.
-
-2000-12-12 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
- Removed. ANSI C doesn't (explicitly) allow macro expansion in
- arguments using `##'.
- (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
- names directly. Make them configurable. Use `##' to strip leading
- and trailing spaces from arguments.
-
- * builds/unix/ft2unix.h: Adapted.
-
- * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
- ft_close_stream): Use FT_CALLBACK_DEF.
-
- * builds/unix/ftsystem.c: Use new header scheme.
- (FT_Done_Memory): Use free() from FT_Memory structure.
-
- * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
-
-2000-12-11 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
- FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
- FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
-
-2000-12-09 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
-
-2000-12-08 Werner Lemberg <wl@gnu.org>
-
- * */*.h: Changed body inclusion macro names to start and end with
- `__' (those which haven't converted yet). Fixed minor conversion
- issues.
-
- * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
-
- * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
-
-2000-12-07 David Turner <david.turner@freetype.org>
-
- * */*.[ch]: Changed source files to adhere to the new
- header inclusion scheme. Not completely tested but works for now
- here.
-
- * src/cff/t2driver.c: Renamed and updated to...
- * src/cff/cffdrivr.c: New file.
- * src/cff/t2driver.h: Renamed and updated to...
- * src/cff/cffdrivr.h: New file.
- * src/cff/t2load.c: Renamed and updated to...
- * src/cff/cffload.c: New file.
- * src/cff/t2load.h: Renamed and updated to...
- * src/cff/cffload.h: New file.
- * src/cff/t2objs.c: Renamed and updated to...
- * src/cff/cffobjs.c: New file.
- * src/cff/t2objs.h: Renamed and updated to...
- * src/cff/cffobjs.h: New file.
- * src/cff/t2parse.c: Renamed and updated to...
- * src/cff/cffparse.c: New file.
- * src/cff/t2parse.h: Renamed and updated to...
- * src/cff/cffparse.h: New file.
- * src/cff/t2tokens.h: Renamed and updated to...
- * src/cff/cfftoken.h: New file.
-
- * src/cff/cff.c, src/cff/rules.mk: Updated.
-
-2000-12-06 David Turner <david.turner@freetype.org>
-
- * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
-
-2000-12-06 Werner Lemberg <wl@gnu.org>
-
- * builds/module.mk: Replaced `xxx #' with `xxx$(space).
- * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
- avoid trailing spaces in variable.
- * builds/freetype.mk: Use $(D) instead of $D to make statement more
- readable.
-
- * docs/docmaker.py: Formatting.
-
-2000-12-05 David Turner <david.turner@freetype.org>
-
- * src/psaux/psauxmod.c: Fixed a broken inclusion of component
- header files (an FT_FLAT_COMPILE test was missing).
-
- * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
- an occasional crash when the function was called (due to a dangling
- pointer).
-
- * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
- The ANSI `free()' function was called instead of `memory->free()'.
-
- * docs/docmaker.py: Added section filtering, multi-page generation
- (index page generation is still missing though).
-
-2000-12-04 David Turner <david.turner@freetype.org>
-
- * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
- is now installed as <ft2build.h> for Unix systems. Note that we
- still use the `freetype2/freetype' installation path for now.
-
- * */*.[ch]: Now using <ft2build.h> as the default build and setup
- configuration file in all public headers. Internal source files
- still need some changes though.
-
- * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
- directory to hold all development options for both the Unix and
- Win32 developer builds.
-
- * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
- builds/win32/w32-dev.mk: Changed the developer build targets to
- `devel-gcc' and `devel-bcc' in order to be able to develop with the
- Borland C++ compiler.
-
-2000-12-01 David Turner <david.turner@freetype.org>
-
-
- * Version 2.0.1 released.
- =========================
-
-
- * builds/unix/configure.in, builds/unix/configure,
- builds/cygwin/configure.in, builds/cygwin/configure: Setting
- `version_info' to 6:1:0 for the 2.0.1 release.
-
- * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
-
- * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
- to allow compilation under Unix with the Unix-specific config
- files.
-
-2000-12-01 Werner Lemberg <wl@gnu.org>
-
- * INSTALL: Revised.
- * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
- builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
- builds/win32/w32-bccd.mk: Revised.
- * include/freetype/config/ftbuild.h,
- include/freetype/internal/internal.h: Revised.
- * include/freetype/ftimage.h: Updated to new header inclusion scheme.
-
-2000-11-30 Werner Lemberg <wl@gnu.org>
-
- * builds/toplevel.mk (.PHONY): Adding `distclean'.
- * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
- `setup'.
-
-2000-11-30 David Turner <david.turner@freetype.ogr>
-
- * INSTALL: Slightly updated the quick starter documentation to
- include IDE compilation, prevent against BSD Make, and specify `make
- setup' instead of a single `make' for build configuration.
-
- * include/config/ftbuild.h, include/internal/internal.h: Added new
- configuration files used to determine the location of all public,
- configuration, and internal header files for FreeType 2. Modified
- all headers under `include/freetype' to reflect this change. Note
- that we still need to change the library source files themselves
- though.
-
- * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
- builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
- builds/win32/detect.mk: Added new files to support compilation with
- the free Borland C++ command-line compiler. Modified the detection
- rules to recognize the new `bcc32' target in `make setup bcc32'.
-
- * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
- src/truetype/ttobjs.c, src/truetype/ttgload.c,
- src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
- didn't really like. Basically, this compiler complains when FT_UInt
- is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
- in these cases).
-
-2000-11-30 Tom Kacvinsky <tkacvins@freetype.org>
-
- * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
- pure CFF fonts.
-
- * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
-
-2000-11-29 David Turner <david.turner@freetype.org>
-
- * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
- bug in the formula used to compute the conic Bézier extrema
- of non-monotonous arcs.
-
-2000-11-29 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
- (FT_Set_Renderer): Use FT_EXPORT_DEF.
- * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
- src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
- FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
- FTC_Manager_Register_Cache), src/cache/ftcsbits.c
- (FTC_SBit_Cache_Lookup): Ditto.
-
- * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
- src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
-
-2000-11-29 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
- conditionally.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
- `size->strike_index' only conditionally.
-
- * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
- conditionally.
-
- * src/winfonts/winfnt.h: Move all type definitions to...
- * src/include/freetype/internal/fnttypes.h: New file.
- * src/winfonts/winfnt.c: Use it.
-
-2000-11-29 ??? ??? <darin@eazel.com>
-
- * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
- with a direct solution (which also satifies picky compilers).
-
-2000-11-28 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
-
- * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
- disabled interpreter also.
-
- * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
- parentheses.
-
-2000-11-26 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
- width setting code to take into account even/odd argument counts
- and glyph width operand before endchar/hmoveto/vmoveto.
-
-2000-11-26 Werner Lemberg <wl@gnu.org>
-
- * builds/ansi/ansi.mk: Fix inclusion order of files.
-
-2000-11-26 Keith Packard <keithp@keithp.com>
-
- * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
-
-2000-11-26 Werner Lemberg <wl@gnu.org>
-
- * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
- conditional.
-
-2000-11-23 Werner Lemberg <wl@gnu.org>
-
- * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
- function from PSAux module.
-
- * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
- (T1_Finalize_Parser): New function (to avoid name clash with a
- function in the PSAux module).
- (T1_Decrypt): Removed since it is duplicated in the PSAux module.
- (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
- function from PSAux module.
-
- * src/type1/t1parse.h: Adapted.
-
-2000-11-22 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
- `root->num_faces' to `cff->num_faces' and set `units_per_EM'
- to 1000.
-
- * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
- loop.
-
- * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
- sid that was off by one.
-
-2000-11-16 David Turner <david@freetype.org>
-
- * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
- auto-hinting of synthetic Type 1 fonts.
-
- * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
- Added auto-hinting support of synthetic Type 1 fonts.
-
-2000-11-12 Tom Kacvinsky <tkacvins@freetype.org>
-
- * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
- tracing output.
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
- `has-outline' to true only if the font has a `glyf' or `CFF ' table.
-
-2000-11-11 Werner Lemberg <wl@gnu.org>
-
- * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
- type1z->type1.
-
-2000-11-11 Tom Kacvinsky <tkacvins@freetype.org>
-
- * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
- Added a --libtool option. When freetype-config --libtool is
- invoked, the absolute path to the libtool convenience library
- is returned.
-
-2000-11-11 Werner Lemberg <wl@gnu.org>
-
- * builds/cygwin/cygwin-def.in: Same fix as previous.
-
-2000-11-10 Tom Kacvinsky <tkacvins@freetype.org>
-
- * builds/unix/unix-def.in: Add
-
- INSTALL_PROGRAM := @INSTALL_PROGRAM@
- INSTALL_SCRIPT := @INSTALL_SCRIPT@
-
- so that installation of freetype-config does not fail.
-
-2000-11-10 Werner Lemberg <wl@gnu.org>
-
- * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
- Move test down for empty --exec-prefix.
- Fix --version.
-
- * builds/cygwin/install.mk, builds/unix/install.mk: Use
- $(INSTALL_SCRIPT) for installation of freetype-config.
-
- * builds/cygwin/install.mk: Fix clean target names.
-
-2000-11-09 David Turner <david@freetype.org>
+2005-06-15 Chia I Wu <b90201047@ntu.edu.tw>
+ * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
+ to make glyphs centered vertically.
- * Version 2.0 released.
- =======================
+ * src/truetype/ttgload.c (compute_glyph_metrics): Compute
+ vertBearingY to make glyphs centered vertically.
+ Fix some bugs in vertical metrics:
-----------------------------------------------------------------------------
+ . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
+ units.
+ . As we use the glyph's cbox to calculate the top bearing now
+ there iss no need to adjust `top'.
-Copyright 2000, 2001, 2002, 2003, 2004, 2005 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
+2005-06-15 Werner Lemberg <wl@gnu.org>
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT. By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
+ * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
+ in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
+2005-06-13 Werner Lemberg <wl@gnu.org>
-Local Variables:
-version-control: never
-coding: latin-1
-End:
+ * docs/release: Update.
diff --git a/ChangeLog.20 b/ChangeLog.20
new file mode 100644
index 000000000..8171af0eb
--- /dev/null
+++ b/ChangeLog.20
@@ -0,0 +1,2613 @@
+2002-02-09 Werner Lemberg <wl@gnu.org>
+
+ * README: Fix typo.
+ * docs/CHANGES: Minor fixes.
+
+
+ * Version 2.0.8 released.
+ =========================
+
+
+2002-02-08 David Turner <david@freetype.org>
+
+ * docs/CHANGES: Updating for 2.0.8.
+
+ * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
+ removing `FT_Get_Next_Char' from the API (temporarily).
+
+ * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
+ note that this function might temporarily be removed for the 2.0.8
+ release.
+
+2002-02-07 David Turner <david@freetype.org>
+
+ * src/pcf/pcfread.c (pcf_load_font): Removed immature support of
+ the AVERAGE_WIDTH property.
+
+2002-02-06 David Turner <david@freetype.org>
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
+ PDF documents do not include 'cmap', 'post' and 'name' tables, the
+ SFNT face loader has been changed to not immediately report an
+ error if these are not present.
+
+ Note that the specification _requires_ these tables, but Adobe
+ seems to ignore it completely.
+
+ * src/sfnt/ttcmap.c: Removing compiler warnings.
+
+ * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
+ (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code
+ is now in ...
+ (pcf_get_metric): Here.
+ (pcfSeekToType): Renamed to ...
+ (pcf_seek_to_table_type): This.
+ Use FT_Int.
+ (pcfHasType): Renamed to ...
+ (pcf_has_table_type): This.
+ Use FT_Int.
+ (find_property): Renamed to ...
+ (pcf_find_property): This.
+ Use FT_Int.
+ (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
+ better (delaying format checks out of FT_Access_Frame ..
+ FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
+ state when encountering an invalid PCF font).
+
+ * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
+ (PCF_Face_Done): This.
+ (PCF_Init_Face): Renamed to ...
+ (PCF_Face_Init): This.
+ (PCF_Get_Char_Index): Renamed to ...
+ (PCF_Char_Get_Index): This.
+ (PCF_Get_Next_Char): Renamed to ...
+ (PCF_Char_Get_Next): This.
+ (pcf_driver_class): Updated.
+
+ * src/pcf/pcf.h (PCF_Done_Face): Removed.
+
+2002-02-06 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
+
+ * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
+ property to return correct character pixel (width/height) pairs for
+ embedded bitmaps.
+
+2002-02-04 Keith Packard <keithp@keithp.com>
+
+ Adding the function `FT_Get_Next_Char', doing the obvious thing
+ w.r.t. the selected charmap.
+
+ * include/freetype/freetype.h: Add prototype.
+ * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
+ typedef.
+ (FT_Driver_Class): Use it.
+ * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
+ typedef.
+ (PSNames_Interface): Use it.
+ * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
+ typedef.
+ (TT_CMapTable): Use it.
+
+ * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
+ high-level API.
+ * src/cff/cffdrivr.c (cff_get_next_char): New function.
+ (cff_driver_class): Add it.
+ * src/cid/cidriver.c (Cid_Get_Next_Char): New function.
+ (t1cid_driver_class): Add it.
+ * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
+ (pcf_driver_class): Add it.
+ * src/psnames/psmodule.c (PS_Next_Unicode): New function.
+ (psnames_interface): Add it.
+ * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
+ code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
+ functions.
+ (TT_CharMap_Load): Use them.
+ * src/truetype/ttdriver.c (Get_Next_Char): New function.
+ (tt_driver_class): Add it.
+ * src/type1/t1driver.c (Get_Next_Char): New function.
+ (t1_driver_class): Add it.
+ * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
+ (winfnt_driver_class): Add it.
+
+ * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
+ Unicode and Latin 1 encodings.
+
+2002-02-02 Keith Packard <keithp@keithp.com>
+
+ * builds/unix/freetype-config.in: Add missing `fi'.
+
+
+ * Version 2.0.7 released.
+ =========================
+
+
+2002-02-01 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
+ for the new release.
+
+2002-01-31 David Turner <david@freetype.org>
+
+ * README, README.UNX, docs/CHANGES: Updating documentation for the
+ 2.0.7 release.
+
+2002-01-30 David Turner <david@freetype.org>
+
+ * INSTALL: Moved to ...
+ * docs/INSTALL: Here to avoid conflicts with the `install' script on
+ Windows, where the filesystem doesn't preserve case.
+
+2002-01-29 David Turner <david@freetype.org>
+
+ * configure: Fixed the script. It previously didn't accept more
+ than one argument correctly. For example, when typing:
+
+ ./configure --disable-shared --disable-nls
+
+ the `--disable-nls' was incorrectly sent to the `make' program.
+
+2002-01-29 Werner Lemberg <wl@gnu.org>
+
+ * README.UNX: Fix typo.
+ * builds/unix/install.mk (uninstall): Fix library name for libtool.
+
+2002-01-28 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
+
+ * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
+ the face object (face->toc.tables, face->root.family_name,
+ face->root.available_size, face->charset_encoding,
+ face->charset_registry are now freed). Thanks to Niels Moseley.
+
+2002-01-28 Roberto Alameda <ojancano@geekmail.de>
+
+ * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
+
+2002-01-28 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
+ of `base' string for decrypting to not modify the original data.
+ Based on a patch by Jakub Bogusz <qboosh@pld.org.pl>.
+
+2002-01-27 Giuliano Pochini <pochini@shiny.it>
+
+ * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
+ bad rendering of thin lines (less than one pixel thick).
+
+2002-01-25 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
+ actually.
+
+2002-01-25 Martin Zinser <zinser@decus.de>
+
+ * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
+ compilation warnings.
+ * src/base/descrip.mms (OBJS): Add `ftmm.obj'.
+ * src/cache/descrip.mms (ftcache.obj): Dependencies added.
+
+2002-01-25 WANG Yi <wangyi@founder.com.cn>
+
+ * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
+
+2002-01-21 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
+ the URL for the online resource.
+
+2002-01-18 Ian Brown <ian.brown@printsoft.de>
+
+ * builds/win32/ftdebug.c: New file.
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-01-18 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
+ * builds/amiga/README: Updated.
+
+2002-01-18 Ian Brown <ian.brown@printsoft.de>
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-01-13 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype2.a4: The script was still buggy.
+ * builds/unix/freetype-config.in: Make it really work for any install
+ prefix.
+
+2002-01-10 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype2.a4: Fix some serious bugs.
+
+2002-01-09 David Turner <david@freetype.org>
+
+ * builds/unix/configure.ac: Build top-level Jamfile.
+
+2002-01-09 Maxim Shemanarev <mcseemagg@yahoo.com>
+
+ * src/smooth/ftgrays.c (gray_render_line): Small optimization to
+ the smooth anti-aliased renderer that deals with vertical segments.
+ This results in a 5-7% speedup in rendering speed.
+
+2002-01-08 David Turner <david@freetype.org>
+
+ Added some wrapper scripts to make the installation more
+ Unix-friendly.
+
+ * configure, install: New files.
+
+ * INSTALL, README.UNX: Updated installation documentation to use the
+ new 'configure' and 'install' scripts.
+
+2002-01-07 David Turner <david@freetype.org>
+
+
+ * Version 2.0.6 released.
+ =========================
+
+
+ * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
+
+ * src/tools/docmaker.py: Fixed HTML quoting in sources.
+ (html_format): Replaced with ...
+ (html_quote): New function.
+ (html_quote0): New function.
+ (DocCode::dump_html): Small improvement.
+ (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
+
+ * include/freetype/config/ftoption.h: Setting default options for
+ a release build (debugging off, bytecode interpreter off).
+
+ * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
+ src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
+ src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
+ warnings (in pedantic compilation modes).
+
+2002-01-05 David Turner <david@freetype.org>
+
+ * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
+ of auto-hinted stem widths; this avoids color fringes in
+ `ClearType-like' rendering.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph_Header,
+ TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
+ Modified the TrueType loader to make it more paranoid; this avoids
+ nasty buffer overflows in the case of invalid glyph data (as
+ encountered in the output of some buggy font converters).
+
+2002-01-04 David Turner <david@freetype.org>
+
+ * README.UNX: Added special README file for Unix users.
+
+ * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
+
+ * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
+ of compiler warnings.
+
+ * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
+
+2002-01-03 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
+ warning.
+
+2002-01-03 Keith Packard <keithp@keithp.com>
+
+ * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
+ all FreeType input streams are closed in child processes of a `fork'
+ on Unix systems. This is important to avoid (potential) access
+ control issues.
+
+2002-01-03 David Turner <david@freetype.org>
+
+ * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
+ library when dealing with certain weird fonts like `Stalingrad', in
+ `sadn.pfb' (this font has no full font name entry).
+
+ * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
+ New function to check the consistency of outline data.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
+ ensure that loaded glyphs are valid. This allows certain fonts like
+ `tt1095m_.ttf' to be loaded even though it appears they contain
+ really funky glyphs.
+
+ There still is a bug there, though.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
+
+2001-12-30 David Turner <david@freetype.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load): Fix advance width
+ computation of auto-hinted glyphs. This noticeably improves the
+ spacing of letters in KDE and Gnome.
+
+2001-12-25 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * builds/dos/detect.mk: Correcting the order for Borland compilers:
+ 16-bit bcc was never selected, always overridden by 32-bit bcc32.
+
+2001-12-22 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
+
+ * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
+ and fix incorrect computation of `available_sizes'.
+
+2001-12-22 David Turner <david@freetype.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
+ incorrect glyph advance in the case of mono-width fonts (like
+ Courier, Andale Mono, and others).
+
+2001-12-22 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/*: Adaptations to latest changes.
+ Support added for MorphOS.
+
+2001-12-22 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
+ (ps_mask_table_merge, ps_hints_open, ps_hints_stem,
+ ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
+ FT_ERROR messages.
+ * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
+ `trace_pshalgo1'.
+ * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
+ `trace_pshalgo2'.
+ * include/freetype/internal/ftdebug.h (FT_Trace): Updated.
+
+ * docs/modules.txt: New file.
+
+2001-12-21 David Turner <david@freetype.org>
+
+ * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
+ Ignore invalid `hintmask' and `cntrmask' operators (instead of
+ returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro'
+ couldn't be rendered otherwise (it seems its charstring is buggy,
+ though this requires more analysis).
+ (FT_COMPONENT): Define.
+
+ * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
+ (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
+ bug where the X and Y axis where inversed in the postscript hinter.
+ This caused problem when displaying on non-square surfaces.
+
+ * src/pshinter/pshalgo2.c: s/vertical/dimension/.
+
+ * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
+ point constant with a fixed-float equivalent. For some reasons not
+ all compilers are capable of directly computing a floating pointer
+ constant casted to FT_Fixed, and will link a math library instead.
+
+2001-12-20 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
+ tracing strings.
+ * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
+ * src/cache/ftcmanag.c (ftc_family_table_alloc,
+ ftc_family_table_free, FTC_Manager_Check): Ditto.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
+
+ * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
+
+2001-12-20 David Turner <david@freetype.org>
+
+ Added PostScript hinter support to the CFF and CID drivers.
+
+ * include/freetype/internal/cfftypes.h (CFF_Font): New member
+ `pshinter'.
+ * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
+ * src/cff/cffload.h: Updated.
+ * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
+ (CFF_Builder_Init): This.
+ Added new argument `hinting'.
+ (CFF_Done_Builder): Renamed to ...
+ (CFF_Builder_Done): This.
+ (CFF_Init_Decoder): Added new argument `hinting'.
+ (CFF_Parse_CharStrings): Implement vstem support.
+ (CFF_Load_Glyph): Updated.
+ Add hinting support.
+ (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
+ (cff_argument_counts): Updated.
+ * src/cff/cffgload.h: Updated.
+ * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
+ CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
+ functions.
+ (CFF_Init_Face): Renamed to ...
+ (CFF_Face_Init): This.
+ Add hinter support.
+ (CFF_Done_Face): Renamed to ...
+ (CFF_Face_Done): This.
+ (CFF_Init_Driver): Renamed to ...
+ (CFF_Driver_Init): This.
+ (CFF_Done_Driver): Renamed to ...
+ (CFF_Driver_Done): This.
+ * src/cff/cffobjs.h: Updated.
+ * src/cff/cffdrivr.c (cff_driver_class): Updated.
+
+ * include/freetype/internal/t1types.h (CID_FaceRec): New member
+ `pshinter'.
+ * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
+ * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
+ CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
+ (CID_Done_Face): Renamed to ...
+ (CID_Face_Done): This.
+ (CID_Init_Face): Renamed to ...
+ (CID_Face_Init): This.
+ Add hinting support.
+ (CID_Init_Driver): Renamed to ...
+ (CID_Driver_Init): This.
+ (CID_Done_Driver): Renamed to ...
+ (CID_Driver_Done): This.
+ * src/cid/cidobjs.h: Updated.
+ * src/cidriver.c: Updated.
+
+ * src/pshinter/pshrec.c (t2_hint_stems): Fixed.
+
+ * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
+ crashed the library on exit.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
+ transformation of hinted glyphs.
+
+ * src/cid/cidload.c (cid_read_subrs): Fix error condition.
+
+ * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
+ routines were never released when CID faces were destroyed.
+
+ * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
+ to move the definition of encoding tables back within `cffload.c'
+ instead of making them part of a shared header (causing problems in
+ `multi' builds). This reverts change 2001-08-08.
+
+ * docs/CHANGES: Updated for 2.0.6 release.
+ * docs/TODO: Added `stem3 and counter hints support' to the TODO
+ list for the Postscript hinter.
+ * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
+
+2001-12-19 David Turner <david@freetype.org>
+
+ * include/freetype/cache/ftcache.h: Added comments to indicate that
+ some of the exported functions should only be used by applications
+ that need to implement custom cache types.
+
+ * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
+ that prevented composites from loading correctly, due to missing
+ parentheses around macro parameters.
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
+ tables optional to load PCL fonts properly.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
+ (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
+ `Fixed' the bug that prevented embedded bitmaps to be loaded when
+ the auto-hinter is used. This actually is a hack but will be enough
+ until the internal re-design scheduled for FreeType 2.1.
+
+ * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
+ shifting bug in the monochrome renderer.
+
+ * README: Updated version numbers to 2.0.6.
+
+2001-12-17 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
+ glyph header.
+
+2001-12-15 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
+ * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
+ already in ftcmanag.h.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
+ `gfam'.
+ * src/cache/ftcmanag.c (ftc_family_table_alloc,
+ * ftc_family_table_free): Use FT_EXPORT_DEF.
+ * include/freetype/cache/ftcmanag.h: Updated.
+ * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
+ * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
+ `cfam'.
+ Remove compiler warning.
+ (FTC_CMapCache_Lookup): Remove compiler warnings.
+ (ftc_cmap_family_init): Ditto.
+ (FTC_CMapCache_Lookup): Ditto.
+
+ * builds/unix/configure.ac: Increase `version_info' to 8:0:2.
+ * builds/unix/configure: Regenerated.
+
+2001-12-14 Werner Lemberg <wl@gnu.org>
+
+ * builds/mac/README: Updated.
+
+2001-12-14 Scott Long <scott@swiftview.com>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
+ dealing with invalid fonts (i.e. glyph size < 10 bytes).
+
+2001-12-14 Sam Latinga <slouken@devolution.com>
+
+ * builds/mac/freetype.make: A new Makefile to build with MPW on
+ MacOS classic.
+
+2001-12-14 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
+ (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
+ src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
+ all font drivers (the advance width was never hinted when it
+ should).
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): New macro.
+ * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
+ use `extern' keyword.
+
+2001-12-12 David Turner <david@freetype.org>
+
+ * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
+ psh_globals_new): Adding correct BlueScale/BlueShift support, plus
+ family blues processing.
+ * src/pshinter/pshglob.h (PSH_BluesRec): Updated.
+
+ Started adding support for the Postscript hinter in the CFF module.
+
+ * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ (CFF_Parse_CharStrings): Implement it.
+ * src/cff/cffgload.h: Updated.
+
+2001-12-12 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype2.m4: Some portability fixes.
+
+2001-12-11 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * src/base/descrip.mms (OBJS): Add ftdebug.obj.
+
+2001-12-11 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
+
+2001-12-11 David Turner <david@freetype.org>
+
+ * builds/unix/freetype-config.in: Modified the script to prevent
+ passing `-L/usr/lib' to gcc.
+
+ * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
+
+ * builds/unix/freetype2.m4: New file for checking configure paths.
+ We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
+ didn't modify builds/unix/install.mk yet.
+
+ * INSTALL: Updated the instructions to build shared libraries with
+ Jam. They were simply wrong.
+
+ * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
+ slightly improper results for `FT_Cos' and `FT_Sin' (example:
+ FT_Sin(0) == -1!).
+
+2001-12-11 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
+ Fixed incorrect argument types.
+
+2001-12-10 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
+
+ * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
+ by setting the `face->metrics.max_advance' correctly.
+
+2001-12-07 David Turner <david@freetype.org>
+
+ * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
+ charmap cache.
+ * src/cache/ftcache.c: Updated.
+
+ * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
+
+2001-12-06 Leonard Rosenthol <leonardr@lazerware.com>
+
+ Added support for reading .dfont files on Mac OS X. Also added a
+ new routine which looks up a given font by name in the Mac OS and
+ returns the disk file where it resides.
+
+ * src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
+ (is_dfont): New auxiliary function.
+ (FT_New_Face_From_dfont): New function.
+ (FT_GetFile_From_Mac_Name): New exported function.
+ (FT_New_Face): Updated.
+ * include/freetype/ftmac.h: Updated.
+
+2001-12-06 David Turner <david@freetype.org>
+
+ * src/cache/Jamfile, src/cache/rules.mk: Updated.
+
+2001-12-06 Werner Lemberg <wl@gnu.org>
+
+ * INSTALL: Small update.
+
+2001-12-05 David Turner <david@freetype.org>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
+ debugging purposes.
+ Comment out use of `origin'.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
+ where outline shifting wasn't correctly undone after bitmap
+ rasterization. This created problems with certain glyphs (like '"'
+ of certain fonts) and the cache system.
+
+ * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
+ * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
+ (ps2_hints_apply): Small fix.
+
+2001-12-05 David Turner <david@freetype.org>
+
+ * src/pshinter/pshalgo2.c (psh2_hint_table_init),
+ src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
+ warnings.
+
+ * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
+ Yet another massive rewrite of the caching sub-system in order to
+ both increase performance and allow simpler cache sub-classing. As
+ an example, the code for the image and sbit caches is now much
+ simpler.
+
+ I still need to update the documentation in
+ www/freetype2/docs/cache.html to reflect the new design though.
+
+ * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
+ macro.
+ (FT_CACHE_INTERNAL_CACHE_H): Updated.
+
+2001-12-05 David Krause <freetype@davidkrause.com>
+
+ * docs/license.txt: s/X Windows/X Window System/.
+
+2001-12-04 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c: Fix definition condition of MEM_Set().
+ * src/smooth/ftgrays.c (M_Y): Change value to 192.
+ * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
+ Remove unused variable.
+ * src/cache/ftcimage.c (ftc_image_node_init,
+ ftc_image_node_compare): Remove unused variables.
+ * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
+ variable.
+ * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
+ compiler warning.
+ * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
+ avoid compiler warnings.
+ * src/pcf/pcfread.c (tableNames): Use `const'.
+ (pcf_read_TOC): Change counter name to avoid compiler warning.
+ Use `const'.
+ * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
+ declaration.
+ * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
+ to avoid shadowing.
+ * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
+ * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
+ and `T1_Size_Done()'.
+
+2001-11-20 Antoine Leca <antoineleca@multimania.com>
+
+ * include/freetype/ttnameid.h: Added some new Microsoft language
+ codes and LCIDs as found in MSDN (Passport SDK). Also added
+ comments about the meaning of bit 57 of the `OS/2' table
+ (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
+ a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner
+ <TetiSoft@apg.lahn.de> for noticing this.
+
+2001-11-20 David Turner <david@freetype.org>
+
+ * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
+ routine that created nasty alignment artefacts.
+
+ * src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
+
+ * src/smooth/ftgrays.c: De-activated experimental gamma support.
+ Apparently, `optimal' gamma tables depend on the monitor type,
+ resolution and general karma, so it's better to compute them outside
+ of the rasterizer itself.
+ (gray_convert_glyph): Use `volatile' keyword.
+
+2001-10-29 David Turner <david@freetype.org>
+
+ Adding experimental `gamma' support. This produces smoother glyphs
+ at small sizes for very little cost.
+
+ * src/smooth/ftgrays.c (grays_init_gamma): New function.
+ (gray_raster_new): Use it.
+
+ Various fixes to the auto-hinter. They merely improve the output of
+ sans-serif fonts. Note that there are still problems with serifed
+ fonts and composites (accented characters).
+
+ * src/autohint/ahglyph.c (ah_outline_load,
+ ah_outline_link_segments): Implement it.
+ Fix typos.
+ (ah_outline_save, ah_outline_compute_segments): Fix typos.
+ * src/autohint/ahhint.c (ah_align_serif_edge): New argument
+ `vertical'. Implement improvement.
+ (ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
+ Fix typos.
+ (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
+ typos.
+ (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
+ * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
+ * src/autohint/ahtypes.h: Ditto.
+ (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
+ (making them global as `ah_debug_disable_horz' and
+ `ah_debug_disable_vert').
+ Fix typos.
+
+ * tests/gview.c: Updated the debugging glyph viewer to show the
+ hints generated by the `autohint' module.
+
+2001-10-27 David Turner <david@freetype.org>
+
+ * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
+ considerably lowered the performance of the abstract chunk cache.
+
+2001-10-26 David Turner <david@freetype.org>
+
+ * include/freetype/ftcache.h, include/freetype/cache/*.h,
+ src/cache/*.c: Major re-design of the cache sub-system to provide
+ better performance as well as an `Acquire'/`Release' API. Seems to
+ work well here, but probably needs a bit more testing.
+
+2001-10-26 Leonard Rosenthol <leonardr@lazerware.com>
+
+ * builds/mac/README: Updated to reflect my taking over the project
+ and that is now being actively maintained.
+
+ * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
+ <paulm@profoundeffects.com> to support loading a face other than the
+ first from a FOND resource.
+ (FT_New_Face_From_FOND): Updated.
+
+2001-10-25 Leonard Rosenthol <leonardr@lazerware.com>
+
+ * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
+ OS for latest version (7) of CWPro and for recent changes to the FT
+ source tree.
+
+2001-10-25 David Turner <david@freetype.org>
+
+ * include/freetype/config/ftoption.h: Updated comments to explain
+ precisely how to use project-specific macro definitions without
+ modifying this file manually.
+
+ (FT_CONFIG_FORCE_INT64): Define.
+
+ (FT_DEBUG_MEMORY): New macro.
+
+2001-10-24 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
+
+2001-10-23 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
+ Improvements to the memory debugger to report more information in
+ case of errors. Also, some allocations that occurred through REALLOC
+ couldn't be previously catched correctly.
+
+ * src/autohint/ahglyph.c (ah_outline_compute_segments,
+ ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
+ src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
+ liberal uses of memset() by the MEM_Set() macro.
+
+2001-10-23 David Turner <david@freetype.org>
+
+ * src/raster/ftraster.c (Update): Removed to be inlined in ...
+ (Sort): Updated.
+
+2001-10-22 David Turner <david@freetype.org>
+
+ * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+ builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+ builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+ src/base/ftdbgmem.c: Updated the memory debugger and
+ platform-specific implementations of `ftsystem' in order to be able
+ to debug memory allocations on Unix, VMS and Amiga too!
+
+ * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
+ some bogus warnings.
+
+ * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
+ Modified the debugging memory manager to report the location (source
+ file name + line number) where leaked memory blocks are allocated in
+ the source file.
+
+ * src/base/ftdbgmem.c: New debugging memory manager. You must
+ define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It
+ will record every memory block allocated and report simple errors
+ like memory leaks and double deletes.
+
+ * src/base/Jamfile: Include ftdbgmem.
+ * src/base/rules.mk: Ditto.
+ * src/base/ftbase.c: Include ftdbgmem.c.
+
+ * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
+ macro definition.
+
+ * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
+ base component to use the debugging memory manager when the macro
+ FT_DEBUG_MEMORY is defined.
+
+2001-10-21 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
+ we are working with a CID keyed CFF font. Otherwise, a variable
+ that was never allocated memory might freed. This is a correction
+ to the previous patch for freeing subfonts.
+
+2001-10-21 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
+ avoid a memory leak.
+
+2001-10-21 David Turner <david@freetype.org>
+
+ * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
+ src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
+ (in multi-object compilation mode, mainly).
+
+2001-10-20 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/type1/t1load.c (parse_encoding): Add a test to make sure
+ that custom encodings (i.e., neither StandardEncoding nor
+ ExpertEncoding) are not loaded twice when the Type 1 font is
+ synthetic.
+
+ * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
+ for when loading synthetic fonts to make sure that the font name
+ and subrotuines are not loaded twice. This is to remove a memory
+ leak that occurred because the original memory blocks for these
+ objects were not deallocated when the objects were parsed the
+ second time.
+
+2001-10-19 David Turner <david@freetype.org>
+
+ * src/smooth/ftgrays.c, src/pshinter/pshglob.h,
+ src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
+ compiler warnings.
+
+ * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
+ files to build the PostScript hinter with the `old' build system.
+
+2001-10-19 Jacob Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
+ files.
+
+2001-10-18 David Turner <david@freetype.org>
+
+ * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
+ `glnames.py' script used to generate the `pstables.h' header file.
+ The old one contained a serious bug that made FreeType return
+ incorrect glyph names for certain glyphs.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
+ pixel size from character size to use rounding. This is an
+ experiment to see whether this gives values similar to Windows for
+ scaled ascent/descent/etc.
+
+ * src/base/ftcalc.c (FT_Div64by32): Changed the implementation
+ slightly since the original code was mis-compiled on Mac machines
+ using the MPW C compiler.
+
+ * src/base/ftobjs.c (FT_Realloc): When a memory block was grown
+ through FT_Realloc(), the new bytes were not set to 0, which created
+ some strange bugs in the PostScript hinter.
+ (destroy_face): Don't deallocate unconditionally.
+
+ * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
+ Adding support to new PostScript hinter.
+
+ * include/freetype/internal/psglobal.h,
+ include/freetype/internal/pshints.h,
+ include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
+ src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
+ src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
+ src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
+ src/pshinter/pshglob.c, src/pshinter/pshinter.c,
+ src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
+ src/pshinter/pshrec.h: Adding new PostScript hinter module.
+
+ * include/freetype/internal/ftobjs.h,
+ include/freetype/internal/internal.h,
+ include/freetype/internal/psaux.h,
+ include/freetype/internal/t1types.h, src/psaux/psobjs.c,
+ src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
+ src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
+ src/type1/t1objs.h: Updates to use the new PostScript hinter.
+
+ * tests/Jamfile, tests/gview.c: Adding a new glyph hinting
+ viewer/debugger to the source tree. Note that you will _not_ be
+ able to compile it since it depends on an unavailable graphics
+ library named `Nirvana' to render vector images.
+
+2001-10-17 David Turner <david@freetype.org>
+
+
+ * Version 2.0.5 released.
+ =========================
+
+
+ * include/freetype/freetype.h, include/internal/ftobjs.h,
+ src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
+ 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
+ font. Should work with all formats except pure CFF/CEF fonts (this
+ will be added soon).
+
+ * src/cid/cidriver (cid_get_postscript_name): New function.
+ (CID_Get_Interface): Handle `postscript_name' interface.
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
+ (SFNT_Get_Interface): Handle `postscript_name' interface.
+
+ * src/type1/t1driver.c (t1_get_ps_name): New function.
+ (Get_Interface): Handle `postscript_name' interface.
+
+ * README, docs/CHANGES: Updated for 2.0.5 release.
+
+2001-10-08 David Turner <david@freetype.org>
+
+ Fixed a bug in `glnames.py' that prevented it from generating
+ correct glyph names tables. This resulted in the unavailability of
+ certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
+ charmaps, even if these were present in the font (causing problems
+ for Polish users).
+
+ * src/tools/glnames.py (mac_standard_names): Fixed.
+ (t1_standard_strings): Some fixes and renamed to ...
+ (sid_standard_names): This.
+ (t1_expert_encoding): Fixed.
+ (the_adobe_glyph_list): Renamed to ...
+ (adobe_glyph_names): This.
+ (the_adobe_glyphs): Renamed to ...
+ (adobe_glyph_values): This.
+ (dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
+ Updated.
+ * src/psnames/pstables.h: Regenerated.
+ * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
+ Fix return value.
+ Use `sid_standard_table' and `ps_names_to_unicode' instead of
+ `t1_standard_glyphs' and `names_to_unicode'.
+ (PS_Macintosh_Name): Use `ps_glyph_names' instead of
+ `standard_glyph_names'.
+ (PS_Standard_Strings): Use `sid_standard_names' instead of
+ `t1_standard_glyphs'.
+
+ * doc/BUGS, doc/TODO: New documents.
+
+2001-10-07 Richard Barber <rich@solutionuk.com>
+
+ * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
+ correct LRU behaviour.
+
+2001-10-07 David Turner <david@freetype.org>
+
+ setjmp() and longjmp() are now used for rollback (i.e. when memory
+ pool overflow occurs).
+
+ Function names are now all uniformly prefixed with `gray_'.
+
+ * src/smooth/ftgrays.c: Include <setjmp.h>.
+ (ErrRaster_MemoryOverflow): New macro.
+ (TArea): New type to store area values in each cell (using `int' was
+ too small on 16-bit systems). <limits.h> is included to properly
+ get the needed data type.
+ (TCell, TRaster): Use it.
+ (TRaster): New element `jump_buffer'.
+ (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
+ `outline' from it.
+ (gray_record_cell): Use longjmp().
+ (gray_set_cell): Use gray_record_cell() for error handling.
+ (gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
+ (gray_convert_glyph_inner): New function, using setjmp().
+ (gray_convert_glyph): Use it.
+
+2001-10-07 David Turner <david@freetype.org>
+
+ Provide a public API to manage multiple size objects for a given
+ FT_Face in the new header file `ftsizes.h'.
+
+ * include/freetype/ftsizes.h: New header file,
+ * include/freetype/internal/ftobjs.h: Use it.
+ Remove declarations of FT_New_Size and FT_Done_Size (moved to
+ ftsizes.h).
+ * include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
+ * src/base/ftobjs.c (FT_Activate_Size): New function.
+ * src/cache/ftcmanag.c: Include ftsizes.h.
+ (ftc_manager_init_size, ftc_manager_flush_size): Use
+ FT_Activate_Size.
+
+2001-09-20 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
+
+2001-09-15 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
+
+2001-09-10 Yao Zhang <yzhang@sharemedia.com>
+
+ * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
+ hi-byte == 0 correctly.
+
+2001-09-10 Werner Lemberg <wl@gnu.org>
+
+ * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
+
+2001-08-30 Martin Muskens <mmuskens@aurelon.com>
+
+ * src/type1/t1load.c (parse_font_matrix): A new way to compute the
+ units per EM with greater accuracy (important for embedded T1 fonts
+ in PDF documents that were automatically generated from TrueType
+ ones).
+
+ * src/type1/t1load.c (is_alpha): Now supports `+' in font names;
+ this is used in embedded fonts.
+
+ * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
+ generated a dangling pointer reference.
+
+2001-08-30 Anthony Feik <afeick@hotmail.com>
+
+ * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
+ FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
+
+2001-08-25 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
+ `cmap_rec_fields'.
+
+ * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
+ Undefine FT_ERR_BASE before defining again.
+
+2001-08-22 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
+
+2001-08-21 Werner Lemberg <wl@gnu.org>
+
+ * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
+
+2001-08-21 David Turner <david@freetype.org>
+
+ * include/freetype/config/ftoption.h: Changed the default setting
+ for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
+ source compatibility in a few cases. Updated the comment to explain
+ that too.
+
+2001-08-17 Martin Muskens <mmuskens@aurelon.com>
+
+ * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
+
+2001-08-12 Werner Lemberg <wl@gnu.org>
+
+ Updating to OpenType 1.3.
+
+ * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
+ TT_CMap6): Adding field `language'.
+ (TT_CMapTable): Removing field `language'.
+ Type of `length' field changed to FT_ULong.
+ Adding fields for cmaps format 8, 10, and 12.
+ (TT_CMapGroup): New auxiliary structure.
+ (TT_CMap8_12, TT_CMap10): New structures.
+ * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
+ Removed last element of `Reserved' array.
+ * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
+ TT_NAME_ID_CID_FINDFONT_NAME): New macros.
+
+ * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
+ field to the new structures.
+ Fixed freeing of arrays in case of unsuccessful loads.
+ Added support for loading format 8, 10, and 12 cmaps.
+ (TT_CharMap_Free): Added support for freeing format 8, 10, and 12
+ cmaps.
+ (code_to_index4): Small improvement.
+ (code_to_index6): Ditto.
+ (code_to_index8_12, code_to_index10): New functions.
+ * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
+ structure.
+ (TT_Load_CMap): Ditto.
+
+ * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
+ Unicode).
+
+2001-08-11 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
+
+2001-08-09 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
+ cff_get_glyph_name for consistency.
+
+ (cff_get_glyph_index): Minor documentation change.
+
+ * src/type1/t1driver.c (t1_get_name_index): New function used in
+ Get_Interface as the function returned when the `name_index'
+ function is requested.
+
+ (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
+
+2001-08-08 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
+ cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
+ and cff_expert_encoding arrays to cffload.h.
+
+ * src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
+ cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
+ and cff_expert_encoding arrays.
+
+ * src/cff/cffdrivr.c (cff_get_name_index): New function, returned
+ when `cff_get_interface' is called with a request for the
+ `name_index' function.
+
+ (cff_get_interface): Modified so that it returns the function
+ `cff_get_name_index' when the `name_index' function is requested.
+
+ * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
+ return a glyph index for a given glyph name only if the driver
+ supports glyph names.
+
+ * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
+ New function pointer type defintion used in the function
+ FT_Get_Name_Index.
+
+ * include/freetype/freetype.h (FT_Get_Name_Index): Added
+ documentation and prototype.
+
+2001-07-26 Werner Lemberg <wl@gnu.org>
+
+ * builds/cygwin/*: Removed. Use the unix stuff instead.
+
+2001-07-26 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
+ 2001-06-27.
+
+2001-07-17 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
+ `cursor' and `capacity'.
+ * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
+ parameter.
+ (PS_Table_Add): Use FT_Offset for `new_size'.
+
+ Add support for version 0.5 maxp tables.
+
+ * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
+ (TT_Load_OS2): Initialize some values.
+
+2001-07-13 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftsynth.c: Include ftcalc.h unconditionally.
+
+2001-07-07 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
+ Removed pedantic compiler warnings when the bytecode interpreter is
+ compiled in.
+
+2001-07-03 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
+ unused variable `edges'.
+ (ah_hinter_load): Remove unused variables `old_width' and
+ `new_width'.
+ * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
+ * src/psaux/psobjs.c (T1_Decrypt): Ditto.
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
+
+2001-06-28 David Turner <david@freetype.org>
+
+ * include/internal/ftstream.h: Modified the definitions
+ of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
+
+2001-06-26 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
+ instead of FT_Int as type for `length' parameter.
+ * include/freetype/internal/psaux.h (PSAux_Interface): Updated.
+
+2001-06-27 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
+ instead of FT_Int as type for `length' parameter.
+
+
+ * Version 2.0.4 released.
+ =========================
+
+
+2001-06-27 David Turner <david@freetype.org>
+
+ * builds/unix/ftconfig.in: Changed the definition of the
+ FT_CALLBACK_DEF macro.
+
+ * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
+ use of the FT_CALLBACK_DEF macro in order to support 16-bit
+ compilers.
+
+ * builds/unix/ftconfig.in: Changed the definition of the
+ FT_CALLBACK_DEF macro.
+
+ * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
+ that the kerning table is correctly sorted (some problem fonts don't
+ have a correct kern table).
+
+2001-06-26 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
+
+2001-06-24 David Turner <david@freetype.org>
+
+ * src/base/ftcalc.c (ft_div64by32): Fixed the source to work
+ correctly on 16-bit systems.
+
+2001-06-23 Anthony Fok <fok@debian.org>
+
+ * debian/*: Added Debian package build directory for 2.0.4.
+
+2001-06-22 David Turner <david@freetype.org>
+
+ * docs/PATENTS: Added patents disclaimer. This one was missing!
+
+ * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
+
+2001-06-20 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftconfig.h: Add two more `L's to
+ constants.
+ Add missing semicolons.
+
+ * builds/toplevel.mk: Do similar change as for
+ builds/unix/detect.mk.
+
+ * include/freetype/freetype.h (FT_ENC_TAG): New version to make it
+ easier to redefine.
+ * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
+
+ * src/pcf/pcfread.c (pcf_get_encodings): Add cast.
+
+2001-06-19 David Turner <david@freetype.org>
+
+ * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
+ Updated the Visual C++ project (for the 2.0.4 release).
+
+ * builds/unix/detect.mk: Added rule for AIX detection (which uses
+ /usr/sbin/init instead of /sbin/init).
+
+ * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
+ error macros to simplify handling of new error scheme.
+
+2001-06-19 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
+
+2001-06-19 David Turner <david@freetype.org>
+
+ Removing _lots_ of compiler warnings when the most pedantic warning
+ levels of Visual C++ and Borland C++ are used. Too many files to be
+ listed here, but FT2 now compiles without warnings with VC++ and the
+ `/W4' warning level (lint-style).
+
+ * include/freetype/freetype.h (FT_New_Memory_Face): Updated
+ documentation.
+ * include/freetype/fttypes.h (FT_BOOL): New macro.
+ * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
+ to suppress warning.
+ * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
+ FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
+ (NEXT_*): Use them.
+ * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
+ (FT_New_Memory_Face): Add `const' to function declaration.
+
+2001-06-18 Werner Lemberg <wl@gnu.org>
+
+ Minor cleanups to remove compiler warnings.
+
+ * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
+ `L' for constant.
+ * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
+ * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
+ * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
+ * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
+ * src/base/ftobjs.c (FT_Done_Size): Fix return value.
+ (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
+ unused `memory' variable.
+ * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
+ * src/autohint/ahhint.c (ah_hint_edges_3,
+ ah_hinter_align_edge_points): Remove unused `before' and `after'
+ variables.
+ (ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
+ (ah_hinter_load): Remove unused `new_advance', `start_contour',
+ and `metrics' variables.
+ * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
+ compiler warning.
+ * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
+ variable.
+ * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
+ `outline' variable.
+ (cff_compute_bias): Use `U' for constant.
+ * src/cid/cidload.c (cid_decrypt): Ditto.
+ * src/psaux/psobjs.c (T1_Decrypt): Ditto.
+ * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
+ * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
+ variable.
+ * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
+ variable.
+ * src/truetype/ttgload.c (load_truetype_glyph): Remove unused
+ `num_contours' and `ins_offset' variables.
+ (compute_glyph_metrics): Remove unused `Top' and `x_scale'
+ variables.
+ (TT_Load_Glyph): Remove unused `memory' variable.
+ * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
+
+2001-06-18 Werner Lemberg <wl@gnu.org>
+
+ Make the new error scheme source compatible with older FT versions
+ by introducing another layer.
+
+ * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
+ macros.
+ (FT_NOERRORDEF): Removed.
+ * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
+
+2001-06-16 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h (FT_ENC_TAG): New macro.
+ (FT_Encoding_): Use it.
+ * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
+ conditionally.
+
+2001-06-14 David Turner <david@freetype.org>
+
+ Modified the TrueType interpreter to let it use the new
+ trigonometric functions provided in `fttrigon.h'. This gets rid of
+ some old 64-bit computation routines, as well as many warnings when
+ compiling the library with the `long long' 64-bit integer type.
+
+ * include/freetype/config/ftoption.h: Undefine
+ FT_CONFIG_OPTION_OLD_CALCS.
+ * include/freetype/internal/ftcalc.h: Rearrange use of
+ FT_CONFIG_OPTION_OLD_CALCS.
+ * src/base/ftcalc.c: Add declaration of FT_Int64 if
+ FT_CONFIG_OPTION_OLD_CALCS isn't defined.
+ * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
+ (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
+ defined.
+ (Current_Ratio, Normalize): Simplify code.
+
+2001-06-11 Mike Owens <MOwens@amtdatasouth.com>
+
+ * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
+ compiler warnings.
+
+2001-06-08 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.in: Renamed to ...
+ * builds/unix/configure.ac: This to make sure that autoconf 2.50 is
+ needed.
+ Run `autoupdate' on it.
+ Increase `version_info' to 7:0:1.
+ * builds/unix/configure: Regenerated.
+
+2001-06-08 David Turner <david@freetype.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
+ corrupted transformed glyphs that were auto-hinted (the transform
+ was applied twice).
+
+ Fixed a bug that returned an invalid linear width for composite
+ TrueType glyphs.
+
+ * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
+ and `linear_def'.
+ * src/truetype/ttgload.c (load_truetype_glyph,
+ compute_glyph_metrics): Use it.
+
+ * include/fttypes.h (FT_ERROR_BASE): New macro.
+ * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
+ to make source code work with the new error scheme implemented by
+ Werner.
+ * src/base/ftoutln.c (FT_Outline_Render): Ditto.
+
+2001-06-07 Werner Lemberg <wl@gnu.org>
+
+ Updating to libtool 1.4.0 and autoconf 2.50.
+
+ * builds/unix/ltconfig: Removed.
+ * builds/unix/ltmain.sh, builds/unix/configure.in,
+ builds/unix/aclocal.m4: Updated.
+ * builds/unix/configure: Regenerated.
+
+2001-06-06 Werner Lemberg <wl@gnu.org>
+
+ Complete redesign of error codes. Please check ftmoderr.h for more
+ details.
+
+ * include/freetype/internal/cfferrs.h,
+ include/freetype/internal/tterrors.h,
+ include/freetype/internal/t1errors.h: Removed. Replaced with files
+ local to the module. All extra error codes have been moved to
+ `fterrors.h'.
+
+ * src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
+
+ * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
+ src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
+ src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
+ src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
+ src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
+ error names for the module it belongs to.
+
+ * include/freetype/ftmoderr.h: New file, defining the module error
+ offsets. Its structure is similar to `fterrors.h'.
+
+ * include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
+ (FT_ERRORDEF): Redefined to use module error offsets.
+ All internal error codes are now public; unused error codes have
+ been removed, some are new.
+
+ * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
+ macro.
+ * include/freetype/config/ftoption.h
+ (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
+
+ All other source files have been updated to use the new error codes;
+ some already existing (internal) error codes local to a module have
+ been renamed to give them the same name as in the base module.
+
+ All make files have been updated to include the local error files.
+
+2001-06-06 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidtokens.h: Replaced with...
+ * src/cid/cidtoken.h: This file for 8+3 consistency.
+
+ * src/raster/ftraster.c: Use macros for header file names.
+
+ * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
+ Fix length of `Reserved' array. Note that this isn't the real fix
+ since recent OpenType specs have introduced a `CaretOffset' field
+ instead of the first reserved byte.
+
+2001-05-29 Werner Lemberg <wl@gnu.org>
+
+ * INSTALL: Minor fixes.
+
+
+ * Version 2.0.3 released.
+ =========================
+
+
+2001-05-29 David Turner <david@freetype.org>
+
+ * INSTALL, docs/CHANGES: Updated.
+
+2001-05-25 David Turner <david@freetype.org>
+
+ Moved several documents from the top-level to the `docs' directory.
+
+ * src/base/ftcalc.c (FT_DivFix): Small fix to return value.
+
+2001-05-16 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
+ composite loader. Spotted by Keith Packard.
+ * src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
+ FT_GlyphLoader_Check_Subglyphs): Ditto.
+
+2001-05-14 David Turner <david@freetype.org>
+
+ Fixed the incorrect blue zone computations, and improved the
+ composite support. Note that these changes result in improved
+ rendering, while sometimes introducing their own artefacts. This is
+ probably the last big change to the autohinter before the
+ introduction of a complete replacement.
+
+ * src/autohint/ahglobal.c (sort_values): Fix loop.
+ * src/autohint/ahglyph.c: Removed some obsolete code.
+ (ah_outline_compute_edges): Modify code to set the ah_edge_round
+ flag.
+ (ah_outline_compute_blue_edges): Add code to compute active blue
+ zones.
+ * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
+ value.
+
+ * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
+ created incorrect scale factors!
+ (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
+
+2001-05-12 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
+ * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
+ __FTTRIGON_H__.
+ Include FT_FREETYPE_H.
+ Beautified; added copyright.
+ * src/base/fttrigon.c: Beautified; added copyright.
+
+2001-05-11 David Turner <david@freetype.org>
+
+ * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
+ (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
+ the incorrect EM size computation.
+
+ * include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
+ adding trigonometric functions to the core API (using Cordic
+ algorithms).
+ * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
+
+ * builds/newline: New file.
+ * builds/top_level.mk, builds/detect.mk: Use it. This fixes
+ problems with Make on Windows 2000, as well as problems when `make
+ distclean' is invoked on a non-Unix platform when there is no
+ `config.mk' in the current directory.
+
+ * builds/freetype.mk: Fixed a problem with object deletions under
+ Dos/Windows/OS/2 systems.
+
+ Added new directory to hold tools and test programs.
+
+ * docs/docmaker.py, docs/glnames.py: Moved to...
+ * src/tools/docmaker.py, src/tools/glnames.py: This place.
+ * src/tools/cordic.py: New file used to compute arctangent table
+ needed by fttrigon.c.
+ * src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
+
+ * src/tools/docmaker.py: Improved the script to add the current date
+ at the footer of each web page (useful to distinguish between
+ versions).
+
+ * Jamfile: Fixed incorrect HDRMACRO argument.
+
+ * TODO: Removed the cubic arc bbox computation note, since it has been
+ fixed recently.
+ * src/base/ftbbox.c (test_cubic_zero): Renamed to...
+ (test_cubic_extrema): This function. Use `UL' for unsigned long
+ constants.
+
+ * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
+ Formatting.
+
+2001-05-10 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
+ which happened when trying to open 0-size font files!
+
+2001-05-09 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftcalc.h: Move declaration of
+ FT_SqrtFixed() out of `#ifdef FT_LONG64'.
+
+2001-05-08 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
+
+ * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
+ computation.
+
+2001-05-08 David Turner <david@freetype.org>
+
+ * docs/docmaker.py: Updated the DocMaker script in order to add
+ command line options (--output,--prefix,--title), fix the erroneous
+ line numbers reported during errors and warnings, and other
+ formatting issues.
+
+ * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
+ fixes related to rounding in 64-bits routines and
+ pseudo-`optimizations'.
+
+2001-04-27 David Turner <david@freetype.org>
+
+ * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
+ normalization algorithm (invalid final bit position, and invalid
+ shift computation).
+
+2001-04-26 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated to
+ latest versions from gnu.org.
+
+ * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
+
+ * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
+ uncoditionally.
+ * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
+ Fix compiler warnings.
+ * src/base/ftcalc.c: Fix (potential) compiler warnings.
+
+2001-04-26 David Turner <david@freetype.org>
+
+ * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
+ fixed-point square root computation. It is now used even with
+ 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
+
+ * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
+
+2001-04-25 David Turner <david@freetype.org>
+
+ * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
+ direct computations with 16.16 values instead of sub-divisions. It
+ is now slower, but proves a point :-)
+
+ * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
+ Fixed the bezier stack depths.
+
+ * src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
+
+ * builds/beos: Added BeOS-specific files to the old build system
+ (no changes were necessary to support BeOS in the Jamfile though).
+
+2001-04-20 David Turner <david@freetype.org>
+
+ * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
+ types on platforms where Autoconf is not available). Also removed
+ FTCALC_USE_LONG_LONG and replaced it with
+ FT_CONFIG_OPTION_FORCE_INT64.
+
+ * builds/win32/freetype.dsp: Updated the Visual C++ project file.
+ Doesn't create a DLL yet.
+
+ * cffgload.c: Removed a compilation warning.
+
+2001-04-10 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * t1load.c (parse_charstrings): Changed code for placing .notdef
+ glyph into slot 0 so that we no longer have a memory access
+ violation.
+
+ * t1load.h: In structure T1_Loader, added swap_table (of type
+ PS_Table) to facilitate placing the .notdef glyph into slot 0.
+
+2001-04-10 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
+
+ * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
+
+2001-04-09 Laurence Withers <lwithers@lwithers.demon.co.uk>
+
+ * builds/dos/detect.mk: Add support for bash.
+
+2001-04-05 Werner Lemberg <wl@gnu.org>
+
+ * builds/os2/*.mk: These files have been forgotten to update to
+ the structure of similar makefiles.
+ * builds/dos/*.mk: Ditto.
+ * builds/ansi/*.mk: Ditto.
+
+ * builds/win32/win32-def.mk (BUILD): Fix typo.
+
+ * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
+ This is already used in the link_*.mk files.
+
+2001-04-03 Werner Lemberg <wl@gnu.org>
+
+ * src/*/Jamfile: Slight changes to make files more cryptic.
+
+2001-04-03 Werner Lemberg <wl@gnu.org>
+
+ * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes
+ to give files identical structure.
+
+2001-04-02 Werner Lemberg <wl@gnu.org>
+
+ * CHANGES: Reformatted, minor fixes.
+ * TODO: Updated.
+ * README: Formatting.
+ * include/freetype/freetype.h: Formatting.
+
+ * Jamfile: Fix typo.
+
+ * src/cff/cffparse.c: Move error code #defines to...
+ * include/freetype/internal/cfferrs.h: This file.
+ * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
+ `FT_Err_*' with `CFF_Err_*'.
+ * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
+ * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
+ * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
+ `TT_Err_*'.
+ * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
+ * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
+ src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
+
+ * include/freetype/internal/cfferrs.h: Add
+ `CFF_Err_Unknown_File_Format'.
+ * include/freetype/internal/t1errors.h: Add
+ `T1_Err_Unknown_File_Format'.
+ * include/freetype/internal/tterrors.h: Add
+ `TT_Err_Unknown_File_Format'.
+
+ * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
+ references.
+ * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
+
+ * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
+ FT_LOCAL_DEF.
+ * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
+ * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
+ Ditto.
+ * src/type1/t1objs.c (T1_Done_Driver): Ditto.
+ * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
+ * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
+
+2001-04-02 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
+ dereference. Submitted by Herbert Duerr <duerr@sun.com>.
+
+2001-03-26 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * include/freetype/config/ftconfig.h: Changed hexadecimal
+ constants to use suffix U to avoid problems with HP-UX's c89
+ compiler. Submitted by G.W. Lucas <glucas@sonalysts.com>.
+
+2001-03-24 David Turner <david.turner@freetype.org>
+
+ * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
+ the source tree. See www.freetype.org/jam/index.html for details.
+
+
+ * Version 2.0.2 released.
+ =========================
+
+
+2001-03-20 Werner Lemberg <wl@gnu.org>
+
+ * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
+
+2001-03-20 David Turner <david.turner@freetype.org>
+
+ * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
+ Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
+ FT_SFNT_NAMES_H.
+
+ * docs/docmaker.py: Added generation of INDEX link in table of
+ contents.
+
+ * INSTALL, docs/BUILD: Updated documentation to indicate that the
+ compilation process has changed slightly (no more `src' required in
+ the include path).
+
+ * builds/*/*-def.mk: Changed the objects directory from `obj' to
+ `objs'.
+
+ * include/freetype/config/ftheader.h: Removed obsolete macros like
+ FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
+ were previously defined in <freetype/ftcache.h>. Added comments to
+ be included in a new API Reference section.
+
+ * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
+ component needs to add its own directory to the include path at
+ compile time. Modified all `rules.mk' and `descrip.mms'
+ accordingly.
+
+2001-03-20 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.in: Add $ft_version.
+ * builds/unix/freetype-config.in: Use it.
+ * builds/unix/configure: Updated.
+
+2001-03-19 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/type1/t1load.c (parse_font_matrix): Assign the units per em
+ value an unsigned short value, first by shifting right 16 bits,
+ then by casting the results to FT_UShort.
+
+ * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
+ value an unsigned short value, first by shifting right 16 bits,
+ then by casting the results to FT_UShort.
+
+2001-03-17 David Turner <david.turner@freetype.org>
+
+ * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
+ src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
+ compiler warnings in pedantic modes.
+
+ * include/config/ft2build.h, include/config/ftheader.h: The file
+ `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
+ top-level <ft2build.h>.
+
+ * include/config/ftheader.h: Added new section describing the #include
+ macros.
+
+2001-03-17 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
+ values for the bounding box numbers.
+
+ * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
+ set `root->ascender' (`root->descender') to the integer part of
+ `root->bbox.yMax' (`root->bbox.yMin', respectively).
+
+2001-03-16 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
+ cff_get_interface to facilitate getting a glyph name for glyph index
+ via FT_Get_Glyph_Name().
+
+ (cff_get_interface): Added support for getting a glyph name via the
+ `glyph_name' module interface. Uses the new function
+ get_cff_glyph_name().
+ Submitted by Sander van der Wal <svdwal@xs4all.nl>.
+
+ * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
+ FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
+ not defined. This is to add support for getting a glyph name from a
+ glyph index via FT_Get_Glyph_Name().
+ Submitted by Sander van der Wal <svdwal@xs4all.nl>.
+
+ * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
+ deprecated operator `dotsection'.
+ Submitted by Sander van der Wal <svdwal@xs4all.nl>.
+
+2001-03-12 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
+ messages.
+
+ * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
+
+2001-03-12 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * include/freetype/internal/psaux.h: Changed the lenIV member of
+ the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust
+ for lenIV seed bytes at the start of a decrypted subroutine.
+
+ * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
+ if lenIV >= 0.
+
+ * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
+ if lenIV >= 0.
+
+2001-03-11 Werner Lemberg <wl@gnu.org>
+
+ * TODO: Updated.
+
+ * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
+ avoid compiler warnings.
+
+2001-03-10 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * TODO: New file.
+
+ * include/freetype/freetype.h: Added prototypes and notes for
+ three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
+ * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
+ implementation code.
+
+ * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
+ and if that is not available, default to 1000 units per EM. Changed
+ assignment code for ascender and descender values.
+ * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
+ processing.
+ (parse_font_bbox): Changed to use FT_Fixed number handling.
+
+ * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
+ for ascender, descender, and max_advance_width.
+ * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
+ number handling.
+
+2001-03-10 Henrik Grubbström <grubba@roxen.com>
+
+ * src/*/*.c: Added many casts to make code more 64bit-safe.
+
+2001-03-07 Werner Lemberg <wl@gnu.org>
+
+ * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
+
+2001-03-07 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
+ until parse_font_bbox is changed before we use logical shift rights
+ in the assignments of `root->ascender', `root->descender', and
+ `root->max_advance_width'.
+
+ (T1_Done_Face): Free `char_name' table to avoid a memory leak.
+ Submitted by Sander van der Wal <svdwal@xs4all.nl>.
+
+2001-03-05 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
+ the Type 2 glyph charstring (used by conversion programs).
+ Submitted by Ha Shao <hashao@chinese.com>.
+
+2001-03-04 Antoine Leca <Antoine.Leca@renault.fr>
+
+ * include/freetype/ttnameid.h: Correct a stupid typo which prevented
+ correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
+
+2001-03-04 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahtypes.h (AH_Hinter): Add elements
+ `disable_horz_edges', `disable_vert_edges'.
+ * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
+ them (and remove static variables with the same names).
+ * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
+ * docs/glnames.py: Updated to latest pstables.h changes.
+
+ * builds/unix/detect.mk: Add test for Hurd.
+ * builds/hurd/detect.mk: Removed.
+
+2001-03-04 Sander van der Wal <svdwal@xs4all.nl>
+
+ * src/psnames/pstables.h: Add more `const'.
+ * src/pcf/pcfutil.c: Ditto.
+
+2001-03-04 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
+ (FT_Glyph_Done -> FT_Done_Glyph).
+
+2001-03-01 Antoine Leca <Antoine.Leca@renault.fr>
+
+ * include/freetype/ttnameid.h: Added some new Microsoft language
+ codes and LCIDs as found in Office Xp.
+
+2001-02-28 David Turner <david.turner@freetype.org>
+
+ * builds/hurd/detect.mk: New file. Added support to detect the GNU
+ Hurd operating system as Unix-like. Fix submitted by Anthony Fok
+ <foka@debian.org>.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
+ the Type 1 glyph charstring (used by conversion programs).
+ Submitted by Ha Shao <hashao@chinese.com>.
+
+2001-02-22 David Turner <david.turner@freetype.org>
+
+ * src/base/ftgrays.c (grays_sweep): The function didn't exit
+ immediately if `num_cells' was 0 as it should. Thanks to Boris for
+ finding this out.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
+ bitmap rendering fails (thanks to Graham Asher).
+
+2001-02-13 Werner Lemberg <wl@gnu.org>
+
+ * docs/docmaker.py (DocSection::add_element): Use
+ `self.print_error()'.
+
+ * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
+
+2001-02-13 David Turner <david.turner@freetype.org>
+
+ * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
+ script to support chapters and section block ordering. Updated the
+ public header files accordingly.
+
+ * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
+ were not correctly copied.
+
+2001-02-08 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
+ unnecessary fprintf( stderr, ... ).
+
+2001-02-07 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/type1/t1objs.c (T1_Init_Face): Added code to get the
+ units_per_EM from the value assigned in parse_font_matrix, if
+ available. Default to 1000 if not available.
+
+ * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
+ the units_per_EM from the FontMatrix.
+
+ (cff_parse_fixed_thousand): New function. Gets a real number from
+ the CFF font, but multiplies by 1000 (this is to avoid rounding
+ errors when placing this real number into a 16.16 fixed number).
+
+ (cff_parse_real): Added code so that the integer part is moved
+ into the high sixteen bits of the 16.16 fixed number.
+
+ * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
+ per EM from the CFF dictionary, if available.
+
+ * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
+ added a units_per_em member to facilitate passing of units_per_em
+ from function cff_parse_font_matrix.
+
+ * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
+ character. This is so that font names with `-' are fully parsed,
+ etc...
+
+2001-02-02 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
+ obsolete now).
+
+ (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
+ + MEM_Copy() to avoid a memory bug.
+
+2001-02-01 David Turner <david.turner@freetype.org>
+
+ * docs/docmaker.py: Improved the index sorting routine to place
+ capital letters before small ones. Added the `<order>' marker to
+ section blocks in order to give the order of blocks.
+
+2001-01-30 Antoine Leca <Antoine.Leca@renault.fr>
+
+ * include/freetype/ttnameid.h: Latest updates to Microsoft language
+ ID codes.
+
+2001-01-24 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
+ units_per_EM from the font matrix.
+
+ (parse_dict): Deleted test to see whether the FontInfo keyword has
+ been seen. Deletion of this test allows fonts without FontInfo
+ dictionaries to be parsed by the Type 1 driver.
+
+ (T1_Open_Face): Deleted empty subroutines array test to make sure
+ fonts with no subroutines still are parsed.
+
+2001-01-17 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
+
+ * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
+ pcf_get_bitmaps): Fix compiler errors.
+
+2001-01-11 David Turner <david.turner@freetype.org>
+
+ * src/pcf/pcfread.c: Removed some compilation warnings related
+ to comparison of signed vs. unsigned integers.
+
+ * include/freetype/internal/ftdebug.h: Changed the debug trace
+ constants from trace_t2xxxx to trace_cffxxxx to be able to compile
+ the CFF driver in debug mode.
+
+2001-01-11 Matthew Crosby <mcrosby@marthon.org>
+
+ * builds/unix/freetype-config.in: Fix problems with separate
+ --prefix and --exec-prefix.
+
+2001-01-11 David Turner <david.turner@freetype.org>
+
+ * docs/docmaker.py: Added cross-references generation as well as
+ more robust handling of pathname wildcard matching.
+
+2001-01-10 Werner Lemberg <wl@gnu.org>
+
+ * docs/docmaker.py: Minor improvements to reduce unwanted spaces
+ and empty lines in output.
+
+2001-01-09 David Turner <david.turner@freetype.org>
+
+ * docs/docmaker.py: Improved script to generate table of contents
+ and index pages. It also supports wildcards on non Unix systems.
+
+ * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
+ to include section definitions/delimitations for the API Reference
+ generator.
+
+ * include/freetype/freetype.h: Moved declaration of
+ `FT_Generic_Finalizer' and the `FT_Generic' structure to...
+ * include/freetype/fttypes.h: here.
+
+2001-01-04 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ttnameid.h: Updated Unicode code range comments.
+
+2001-01-03 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
+
+ * include/freetype/internal/internal.h: Changed to use cfftypes.h
+ (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
+
+ * include/freetype/internal/cfftypes.h: Merged in changes from
+ t2types.h and made this the canonical `types' header for the CFF
+ driver.
+
+ * include/freetype/internal/t2types.h: This file was merged with
+ cfftypes.h and is no longer necessary.
+
+ * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
+
+ * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
+ src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
+ src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
+ cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_
+ (T2_) were replaced with cff_ (CFF_, respectively).
+
+ * src/cff/t2gload.h: Renamed cffgload.h.
+
+ * src/cff/t2gload.c: Renamed cffgload.c
+
+2000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * builds/vms: Support files for VMS architecture added.
+ * descrip.mms, src/*/descrip.mms: VMS makefiles added.
+ * README.VMS: New file.
+
+2000-01-01 Werner Lemberg <wl@gnu.org>
+
+ * LICENSE.TXT: Added info about PCF driver license.
+
+2001-01-01 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
+
+ * src/pcf/*: New driver module for PCF font format (used in
+ X Window System).
+ * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
+ PCF driver.
+ * include/freetype/internal/pcftypes.h: New file.
+ * include/freetype/config/ftmodule.h: Added PCF driver module.
+
+2001-01-01 Werner Lemberg <wl@gnu.org>
+
+ * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
+
+2000-12-31 Werner Lemberg <wl@gnu.org>
+
+ * builds/modules.mk (clean_module_list): Fixed deletion of module
+ file in case `make make_module_list' is called before `make setup'.
+
+2000-12-30 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
+ (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
+ definition.
+
+2000-12-30 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * include/freetype/internal/t2types.h,
+ include/freetype/internal/cfftypes.h: Changed the structures for
+ CFF_Encoding and CFF_Encoding for the new implementations of the
+ charset and encoding parsers in the CFF driver.
+
+ * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
+ t2_operator_seac): Added these functions for use in implementing the
+ seac emulation provided by the Type 2 endchar operator.
+ (T2_Parse_CharStrings): Added seac emulation for the endchar
+ operator.
+
+ * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
+ CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
+ charset/encoding tables, and free the memory used by them when the
+ CFF driver is finished with them. Added tables
+
+ cff_isoadobe_charset
+ cff_expert_charset
+ cff_expertsubset_charset
+ cff_standard_encoding
+ cff_expert_encoding
+
+ so that the encoding/charset parser can handle predefined encodings and
+ charsets.
+
+2000-12-24 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
+ transform is applied.
+
+ * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
+ the font matrix numbers are scaled by 1/(matrix->yy). Also, the
+ offset vector now contains integer values instead of 16.16 fixed
+ numbers.
+
+2000-12-22 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph):
+ Removed unnecessary comments and commented-out code.
+
+2000-12-21 David Turner <david.turner@freetype.org>
+
+ * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
+ we'll work on supporting CID AFM files later I guess :-)
+
+2000-12-21 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
+ Changed so that fonts with a non-standard FontMatrix render
+ correctly. Previously, the first glyph rendered from such a
+ font did not have the tranformation matrix applied.
+
+2000-12-17 Werner Lemberg <wl@gnu.org>
+
+ * *.mk: Added lots of `.PHONY' targets.
+
+2000-12-17 Karsten Fleischer <kfleisc1@ford.com>
+
+ * *.mk: Implemented `platform' target to disable auto-detection.
+
+2000-12-14 Werner Lemberg <wl@gnu.org>
+
+ * docs/design/modules.html: Removed. Covered by design-*.html.
+
+ * INSTALL: Added info about makepp.
+
+2000-12-14 David Turner <david.turner@freetype.org>
+
+ Added support for clipped direct rendering in the smooth renderer.
+ This should not break binary compatibility of existing applications.
+
+ * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
+ definition of the FT_BBox structure from the former to the latter.
+ * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
+ FT_Raster_Flag enumeration.
+ Add `clip_box' element to FT_Raster_Params structure.
+ * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
+
+ * INSTALL: Updated installation instructions on Win32, listing the
+ new `make setup list' target used to list supported
+ compilers/targets.
+
+ * src/raster/ftraster.c (ft_black_render): Test for unsupported
+ direct rendering before testing arguments.
+
+2000-12-13 David Turner <david.turner@freetype.org>
+
+ * include/freetype/config/ft2build.h,
+ include/freetype/internal/internal.h: Fixed header inclusion macros
+ to use direct definitions. This is the only way to do these things
+ in a portable way :-( The rest of the code should follow shortly
+ though everything compiles now.
+
+ * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
+
+ * builds/win32/detect.mk: Added support for the Intel C/C++
+ compiler, as well as _preliminary_ (read: doesn't work!) support for
+ Watcom. Also added a new setup target. Type `make setup list' for
+ a list of supported command-line compilers on Win32.
+
+ * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
+ conditionals are off.
+
+2000-12-13 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong
+ ftconfig.h file.
+
+2000-12-12 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
+ Removed. ANSI C doesn't (explicitly) allow macro expansion in
+ arguments using `##'.
+ (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
+ names directly. Make them configurable. Use `##' to strip leading
+ and trailing spaces from arguments.
+
+ * builds/unix/ft2unix.h: Adapted.
+
+ * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
+ ft_close_stream): Use FT_CALLBACK_DEF.
+
+ * builds/unix/ftsystem.c: Use new header scheme.
+ (FT_Done_Memory): Use free() from FT_Memory structure.
+
+ * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
+
+2000-12-11 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
+ FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
+ FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
+
+2000-12-09 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
+
+2000-12-08 Werner Lemberg <wl@gnu.org>
+
+ * */*.h: Changed body inclusion macro names to start and end with
+ `__' (those which haven't converted yet). Fixed minor conversion
+ issues.
+
+ * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
+
+ * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
+
+2000-12-07 David Turner <david.turner@freetype.org>
+
+ * */*.[ch]: Changed source files to adhere to the new
+ header inclusion scheme. Not completely tested but works for now
+ here.
+
+ * src/cff/t2driver.c: Renamed and updated to...
+ * src/cff/cffdrivr.c: New file.
+ * src/cff/t2driver.h: Renamed and updated to...
+ * src/cff/cffdrivr.h: New file.
+ * src/cff/t2load.c: Renamed and updated to...
+ * src/cff/cffload.c: New file.
+ * src/cff/t2load.h: Renamed and updated to...
+ * src/cff/cffload.h: New file.
+ * src/cff/t2objs.c: Renamed and updated to...
+ * src/cff/cffobjs.c: New file.
+ * src/cff/t2objs.h: Renamed and updated to...
+ * src/cff/cffobjs.h: New file.
+ * src/cff/t2parse.c: Renamed and updated to...
+ * src/cff/cffparse.c: New file.
+ * src/cff/t2parse.h: Renamed and updated to...
+ * src/cff/cffparse.h: New file.
+ * src/cff/t2tokens.h: Renamed and updated to...
+ * src/cff/cfftoken.h: New file.
+
+ * src/cff/cff.c, src/cff/rules.mk: Updated.
+
+2000-12-06 David Turner <david.turner@freetype.org>
+
+ * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
+
+2000-12-06 Werner Lemberg <wl@gnu.org>
+
+ * builds/module.mk: Replaced `xxx #' with `xxx$(space).
+ * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
+ avoid trailing spaces in variable.
+ * builds/freetype.mk: Use $(D) instead of $D to make statement more
+ readable.
+
+ * docs/docmaker.py: Formatting.
+
+2000-12-05 David Turner <david.turner@freetype.org>
+
+ * src/psaux/psauxmod.c: Fixed a broken inclusion of component
+ header files (an FT_FLAT_COMPILE test was missing).
+
+ * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
+ an occasional crash when the function was called (due to a dangling
+ pointer).
+
+ * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
+ The ANSI `free()' function was called instead of `memory->free()'.
+
+ * docs/docmaker.py: Added section filtering, multi-page generation
+ (index page generation is still missing though).
+
+2000-12-04 David Turner <david.turner@freetype.org>
+
+ * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
+ is now installed as <ft2build.h> for Unix systems. Note that we
+ still use the `freetype2/freetype' installation path for now.
+
+ * */*.[ch]: Now using <ft2build.h> as the default build and setup
+ configuration file in all public headers. Internal source files
+ still need some changes though.
+
+ * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
+ directory to hold all development options for both the Unix and
+ Win32 developer builds.
+
+ * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
+ builds/win32/w32-dev.mk: Changed the developer build targets to
+ `devel-gcc' and `devel-bcc' in order to be able to develop with the
+ Borland C++ compiler.
+
+2000-12-01 David Turner <david.turner@freetype.org>
+
+
+ * Version 2.0.1 released.
+ =========================
+
+
+ * builds/unix/configure.in, builds/unix/configure,
+ builds/cygwin/configure.in, builds/cygwin/configure: Setting
+ `version_info' to 6:1:0 for the 2.0.1 release.
+
+ * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
+
+ * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
+ to allow compilation under Unix with the Unix-specific config
+ files.
+
+2000-12-01 Werner Lemberg <wl@gnu.org>
+
+ * INSTALL: Revised.
+ * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
+ builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
+ builds/win32/w32-bccd.mk: Revised.
+ * include/freetype/config/ftbuild.h,
+ include/freetype/internal/internal.h: Revised.
+ * include/freetype/ftimage.h: Updated to new header inclusion scheme.
+
+2000-11-30 Werner Lemberg <wl@gnu.org>
+
+ * builds/toplevel.mk (.PHONY): Adding `distclean'.
+ * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
+ `setup'.
+
+2000-11-30 David Turner <david.turner@freetype.ogr>
+
+ * INSTALL: Slightly updated the quick starter documentation to
+ include IDE compilation, prevent against BSD Make, and specify `make
+ setup' instead of a single `make' for build configuration.
+
+ * include/config/ftbuild.h, include/internal/internal.h: Added new
+ configuration files used to determine the location of all public,
+ configuration, and internal header files for FreeType 2. Modified
+ all headers under `include/freetype' to reflect this change. Note
+ that we still need to change the library source files themselves
+ though.
+
+ * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
+ builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
+ builds/win32/detect.mk: Added new files to support compilation with
+ the free Borland C++ command-line compiler. Modified the detection
+ rules to recognize the new `bcc32' target in `make setup bcc32'.
+
+ * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
+ src/truetype/ttobjs.c, src/truetype/ttgload.c,
+ src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
+ didn't really like. Basically, this compiler complains when FT_UInt
+ is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
+ in these cases).
+
+2000-11-30 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
+ pure CFF fonts.
+
+ * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
+
+2000-11-29 David Turner <david.turner@freetype.org>
+
+ * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
+ bug in the formula used to compute the conic Bézier extrema
+ of non-monotonous arcs.
+
+2000-11-29 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
+ (FT_Set_Renderer): Use FT_EXPORT_DEF.
+ * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
+ src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
+ FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
+ FTC_Manager_Register_Cache), src/cache/ftcsbits.c
+ (FTC_SBit_Cache_Lookup): Ditto.
+
+ * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
+ src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
+
+2000-11-29 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
+ conditionally.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
+ `size->strike_index' only conditionally.
+
+ * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
+ conditionally.
+
+ * src/winfonts/winfnt.h: Move all type definitions to...
+ * src/include/freetype/internal/fnttypes.h: New file.
+ * src/winfonts/winfnt.c: Use it.
+
+2000-11-29 ??? ??? <darin@eazel.com>
+
+ * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
+ with a direct solution (which also satifies picky compilers).
+
+2000-11-28 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
+
+ * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
+ disabled interpreter also.
+
+ * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
+ parentheses.
+
+2000-11-26 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
+ width setting code to take into account even/odd argument counts
+ and glyph width operand before endchar/hmoveto/vmoveto.
+
+2000-11-26 Werner Lemberg <wl@gnu.org>
+
+ * builds/ansi/ansi.mk: Fix inclusion order of files.
+
+2000-11-26 Keith Packard <keithp@keithp.com>
+
+ * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
+
+2000-11-26 Werner Lemberg <wl@gnu.org>
+
+ * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
+ conditional.
+
+2000-11-23 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
+ function from PSAux module.
+
+ * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
+ (T1_Finalize_Parser): New function (to avoid name clash with a
+ function in the PSAux module).
+ (T1_Decrypt): Removed since it is duplicated in the PSAux module.
+ (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
+ function from PSAux module.
+
+ * src/type1/t1parse.h: Adapted.
+
+2000-11-22 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
+ `root->num_faces' to `cff->num_faces' and set `units_per_EM'
+ to 1000.
+
+ * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
+ loop.
+
+ * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
+ sid that was off by one.
+
+2000-11-16 David Turner <david@freetype.org>
+
+ * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
+ auto-hinting of synthetic Type 1 fonts.
+
+ * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
+ Added auto-hinting support of synthetic Type 1 fonts.
+
+2000-11-12 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
+ tracing output.
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
+ `has-outline' to true only if the font has a `glyf' or `CFF ' table.
+
+2000-11-11 Werner Lemberg <wl@gnu.org>
+
+ * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
+ type1z->type1.
+
+2000-11-11 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
+ Added a --libtool option. When freetype-config --libtool is
+ invoked, the absolute path to the libtool convenience library
+ is returned.
+
+2000-11-11 Werner Lemberg <wl@gnu.org>
+
+ * builds/cygwin/cygwin-def.in: Same fix as previous.
+
+2000-11-10 Tom Kacvinsky <tkacvins@freetype.org>
+
+ * builds/unix/unix-def.in: Add
+
+ INSTALL_PROGRAM := @INSTALL_PROGRAM@
+ INSTALL_SCRIPT := @INSTALL_SCRIPT@
+
+ so that installation of freetype-config does not fail.
+
+2000-11-10 Werner Lemberg <wl@gnu.org>
+
+ * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
+ Move test down for empty --exec-prefix.
+ Fix --version.
+
+ * builds/cygwin/install.mk, builds/unix/install.mk: Use
+ $(INSTALL_SCRIPT) for installation of freetype-config.
+
+ * builds/cygwin/install.mk: Fix clean target names.
+
+2000-11-09 David Turner <david@freetype.org>
+
+
+ * Version 2.0 released.
+ =======================
+
+----------------------------------------------------------------------------
+
+Copyright 2000, 2001, 2002 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: latin-1
+End:
diff --git a/ChangeLog.21 b/ChangeLog.21
new file mode 100644
index 000000000..ddde54d49
--- /dev/null
+++ b/ChangeLog.21
@@ -0,0 +1,9439 @@
+2005-06-08 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.1.10 released.
+ ==========================
+
+
+ * src/pcf/readme: Renamed to...
+ * src/pcf/README: This.
+
+2005-06-07 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/*: Added copyright notes, reworked some comments.
+
+2005-06-05 Werner Lemberg <wl@gnu.org>
+
+ * Add copyright notices to all files which don't have one.
+
+ * docs/license.txt: Renamed to...
+ * docs/LICENSE.TXT: This.
+ * docs/FTL.txt: Renamed to...
+ * docs/FTL.TXT: This.
+ * docs/GPL.txt: Renamed to...
+ * docs/GPL.TXT: This.
+
+ * docs/PATENTS: Slightly reworded. Suggested by Sylvain Beucler
+ <beuc@gnu.org>.
+
+2005-06-04 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+ FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
+ FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
+ include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+ FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
+ `const' to stay compatible with FreeType 2.1.9.
+
+2005-06-01 Adam D. Moss <adam@gimp.org>
+
+ * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
+ 2004-07-11; this gives much better results under normal
+ circumstances.
+
+2005-05-30 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
+ documentation improvements.
+
+ * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
+ of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
+ If xstr is larger than 8 and bitmap is of pixel_mode
+ FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
+
+2005-05-29 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
+ of mode FT_PIXEL_MODE_GRAY. Also add support for mode
+ FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
+ (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
+ should have ppb (pixel per byte) 1.
+ Zero the padding when there's no need to allocate memory.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
+ too.
+ More suited emboldening strength.
+
+2005-05-28 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
+ Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
+ Improve speed for FT_PIXEL_MODE_GRAY.
+ (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
+ FT_PIXEL_MODE_LCD_V.
+
+2005-05-27 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
+
+ * src/base/ftobjs.c (ft_cmap_done_internal): New function.
+ (FT_CMap_Done): Remove cmap from cmap list.
+ (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
+ ft_cmap_done_internal.
+
+2005-05-26 Werner Lemberg <wl@gnu.org>
+
+ * docs/GPL.txt: Update postal address of FSF.
+
+2005-05-26 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
+ documentation.
+
+ * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
+ (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
+ Always modify the metrics.
+
+2005-05-24 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2005-05-24 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
+
+ * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
+
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
+ function.
+ (FT_Bitmap_Embolden): New function.
+
+ * src/base/ftoutln.c (FT_Outline_Embolden): New function.
+
+ * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
+ FT_TRIGONOMETRY_H but FT_BITMAP_H.
+ (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
+ FT_Bitmap_Embolden.
+
+2005-05-24 Werner Lemberg <wl@gnu.org>
+
+ * configure: Always remove config.mk, builds/unix/unix-def.mk, and
+ builds/unix/unix-cc.mk. This fixes repeated calls of the script.
+ Reported by Nelson Beebe and Behdad Esfahbod.
+
+ * README.CVS: Mention file permissions.
+
+2005-05-23 Werner Lemberg <wl@gnu.org>
+
+ * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
+ (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
+ -fno-strict-aliasing.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
+ it is currently loaded from ttsbit.c.
+
+2005-05-23 Behdad Esfahbod <behdad@cs.toronto.edu>
+
+ Say you have `(Foo*)x' and want to assign, pass, or return it as
+ `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler
+ would warn you that type casting incompatible pointer types breaks
+ strict-aliasing. The solution is to cast to `(void*)' instead which
+ is the generic pointer type, so the compiler knows that it should
+ make no strict-aliasing assumption on `x'. But the problem with
+ `(void*)x' is that seems like in C++, unlike C, `void*' is not a
+ generic pointer type and assigning `void*' to `Bar*' without a cast
+ causes an error. The solution is to cast to `Bar*' too, with
+ `(Bar*)(void*)x' as the result -- this is what the patch does.
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
+ include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
+ cast on lvalue, use a temporary pointer instead.
+ Cast temporarily to (void*) to not break strict aliasing.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
+ FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
+ src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
+ to not break strict aliasing.
+
+ * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
+
+ * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
+
+2005-05-23 David Turner <dturner@freetype.org>
+
+ Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
+ in low-memory conditions).
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
+ FTC_CACHE_TRYLOOP_END): New macros.
+
+ * src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
+ (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END.
+
+2005-05-23 Werner Lemberg <wl@gnu.org>
+
+ * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
+ (BASE_EXT_SRC): Here.
+
+2005-05-22 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftrfork.c (raccess_guess_apple_generic): Mark
+ `version_number' and `entry_length' as unused.
+ (raccess_guess_linux_double_from_file_name): Remove `memory'.
+ (raccess_make_file_name): Mark `error' as unused.
+
+ * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
+
+ * src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
+
+ * src/truetype/ttgxvar.c (ft_var_readpackedpoints,
+ ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
+
+ * src/base/rules.mk (BASE_SRC): Add ftsynth.c.
+
+2005-05-21 David Turner <david@freetype.org>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
+ produced unpleasant artefacts when trying to embolden very sharp
+ corners.
+
+2005-05-20 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2005-05-20 Chia I Wu <b90201047@ntu.edu.tw>
+
+ * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
+ but FT_BITMAP_H.
+ (FT_Bitmap_Copy): New function (from ftglyph.c).
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
+ definition.
+
+ * src/base/ftglyph.c: Include FT_BITMAP_H.
+ (ft_bitmap_copy): Move to ftbitmap.c.
+ (ft_bitmap_glyph_init): Remove `memory' variable.
+ Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
+ (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
+ (ft_bitmap_glyph_done): Use FT_Bitmap_Done.
+ (ft_outline_glyph_init): Use FT_Outline_Copy.
+
+ * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
+ (FT_Outline_Done_Internal): Check for valid `memory' pointer.
+ (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
+ FT_Outline_Transform): Check for valid `outline' pointer.
+
+ * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
+ face->glyph, otherwise a new second glyph slot cannot be created.
+ (FT_Done_GlyphSlot): Fix memory leak.
+ (FT_Open_Face): Updated -- face->glyph is already managed by
+ FT_New_GlyphSlot.
+
+ * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
+
+2005-05-20 Kirill Smelkov <kirr@mns.spb.ru>
+
+ * include/freetype/ftimage.h (FT_Raster_Params),
+ include/freetype/ftoutln.h (FT_Outline_Translate,
+ FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
+ FT_Outline_Transform): Decorate parameters with `const' where
+ appropriate.
+ Update all callers.
+
+ * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
+ (gray_raster_reset): Remove `const' from `pool_base' argument.
+
+2005-05-18 Kirill Smelkov <kirr@mns.spb.ru>
+
+ * src/raster/ftmisc.h: New file. Only needed if ftraster.c is
+ compiled as stand-alone.
+
+ * src/raster/ftraster.c: Add comment how to compile as stand-alone.
+ s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
+ s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
+ [_STANDALONE_]: Include ftimage.h and ftmisc.h.
+ (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
+ conditionally.
+ (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
+ Raster_Err_Unsupported).
+ (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
+ (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
+ Use `ras', not `raster'.
+ (ft_black_done): Use FT_UNUSED_RASTER.
+ (Horizontal_Sweep_Init, Horizontal_Sweep_Step,
+ Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
+
+2005-05-18 Werner Lemberg <wl@gnu.org>
+
+ * docs/announce: Start updating.
+
+ * docs/CHANGES: Updated.
+
+2005-05-16 Vitaliy Pasternak <v_a_pasternak@mail.ru>
+
+ * builds/win32/visualc/freetype.vcproj: Updated.
+ Exclude debug info for `Release' versions to reduce library size.
+
+2005-05-16 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
+ is, ignore `aface' completely if face_index < 0. Reported by David
+ Osborn <spam@habitualhiatus.com>.
+
+2005-05-16 Kirill Smelkov <kirr@mns.spb.ru>
+
+ * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+ FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
+ FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
+ gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
+ gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
+ with `const' where appropriate.
+
+2005-05-11 Kirill Smelkov <kirr@mns.spb.ru>
+
+ * include/freetype/ftimage.h (FT_Raster_RenderFunc),
+ include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+ FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
+ src/base/ftglyph.c (ft_outline_glyph_transform),
+ src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
+ src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
+ src/smooth/ftsmooth.c (ft_smooth_transform,
+ ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
+ ft_smooth_render_lcd_v): Decorate parameters with `const' where
+ appropriate.
+
+ * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete.
+ (ft_black_render): Decorate parameters with `const' where
+ appropriate.
+
+2005-05-11 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
+ FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez
+ <ismail@kde.org.tr>.
+
+2005-05-08 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
+ [__cplusplus]: Fix typo.
+
+2005-05-07 Werner Lemberg <wl@gnu.org>
+
+ Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
+ Blaskey <listtarget@danbala.com>).
+
+ * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
+ * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
+
+ (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
+ tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
+ `FT_Error' as return type.
+ (tt_cmap4_validate): Use `FT_Error' as return type.
+ Return error code for unsorted cmap.
+ (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
+ cmaps.
+ (tt_face_build_cmaps): Set `unsorted' variable in cmap.
+
+2005-05-07 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttpload.c (tt_face_get_location): Fix typo.
+
+2005-05-06 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Set ppem value in top
+ dictionary for SFNT-based CFF.
+
+2005-05-05 Werner Lemberg <wl@gnu.org>
+
+ Handle malformed `loca' table entries.
+
+ * docs/TODO: Add some bugs which should be fixed.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
+ element.
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
+ table.
+ (tt_face_get_location): Fix computation of `asize' for malformed
+ `loca' entries.
+
+2005-05-01 David Turner <david@freetype.org>
+
+ * Jamfile: Remove `otvalid' from the list of compiled modules.
+
+ * include/freetype/internal/ftserv.h: Add compiler pragmas to get
+ rid of annoying warnings with Visual C++ compiler in maximum warning
+ mode.
+
+ * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
+ src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
+ src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
+ src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
+ src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
+
+2005-04-28 Werner Lemberg <wl@gnu.org>
+
+ * docs/TODO: Updated.
+
+2005-04-24 Werner Lemberg <wl@gnu.org>
+
+ * src/otvalid/otvcommn.c
+ (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
+
+2005-04-16 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Set default upem value in top
+ font dict also.
+ Handle font matrix settings in subfonts.
+
+ * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
+ for CID-keyed fonts with subfonts.
+
+ * docs/formats.txt: Updated.
+
+2005-04-14 Kirill Smelkov <kirr@mns.spb.ru>
+
+ * include/freetype/freetype.h (FT_Vector_Transform),
+ include/freetype/ftimage.h (FT_Raster_Params),
+ include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
+ FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
+ FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
+ src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
+ `const' where appropriate.
+
+2005-04-14 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_charstrings): Catch this non-standard
+ beginning of the /CharStrings dictionary:
+
+ /CharStrings 118 dict def
+ Private begin
+ CharStrings begin
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
+ to call of tt_sbit_decoder_load_bitmap.
+
+2005-04-13 Werner Lemberg <wl@gnu.org>
+
+ * docs/TODO: Updated.
+
+ * autogen.sh: Use `--force' for all commands.
+
+2005-04-09 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
+ only if `fitted' is not zero.
+
+2005-04-06 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
+ Fix typo which sometimes causes wrong metrics for the last glyph.
+
+2005-04-04 David Turner <david@freetype.org>
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
+ release.
+ (*_CHESTER_*): Removed. No longer used.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment,
+ af_axis_hints_new_edge): Small tweak to use less heap memory.
+
+2005-04-03 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
+ first line in the font.
+
+2005-04-03 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES, include/freetype/freetype.h: Improve documentation
+ of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
+
+2005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
+ offsets after a large read.
+
+2005-03-26 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/afglobal.c (af_face_globals_get_metrics):
+ s/index/gidx/.
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
+ warnings.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+
+ * src/sfnt/ttsbit0.h: Dummy file for build with `make'.
+
+2005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ Update of the Amiga port.
+
+ * builds/amiga/makefile, builds/amiga/makefile.os4,
+ builds/amiga/smakefile: Included the base extension files
+ (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
+
+2005-03-25 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ Update of the Amiga port.
+
+ * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
+
+ * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
+
+ * builds/amiga/README: Updated.
+
+ * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
+ AmigaOS4.
+
+ * builds/amiga/include/freetype/config/ftmodule.h: Handle new
+ modules.
+
+ * builds/amiga/src/base/ftdebug.c: Updated to current version of
+ default ftdebug.c.
+ Add various include files and macros to have proper support for
+ both AmigaOS4 and older AmigaOS versions.
+ Don't declare KVPrintF explicitly.
+ Replace getenv with GetVar.
+ Actually enable debugging code.
+
+ * builds/amiga/src/base/ftsystem.c: Major rewrite.
+
+2005-03-23 Werner Lemberg <wl@gnu.org>
+
+ * tests/*: Removed.
+
+2005-03-23 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES, docs/INSTALL.ANY: Updated.
+
+ * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
+ Add `OTvalid'.
+
+ * src/autofit/aferrors.h: New file.
+
+ * src/autofit/afglobal.c, src/autofit/afhints.c,
+ src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
+ Include aferrors.h.
+
+ * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
+
+ * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
+
+2005-03-22 David Turner <david@freetype.org>
+
+ * src/autohint/*: Removed.
+ * Jamfile: Updated.
+
+2005-03-15 David Turner <david@freetype.org>
+
+ * src/bdf/bdflib.c: Remove compiler warnings.
+ (hash_rehash, hash_init): Don't call FT_MEM_ZERO.
+ (_bdf_list_t): Add `memory' field.
+ (_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
+ (_bdf_shift, _bdf_join): Rename to...
+ (_bdf_list_shift, _bdf_list_join): This.
+ (_bdf_split): Renamed to...
+ (_bdf_list_split): This. Use new functions.
+ (bdf_internal_readstream): Removed.
+ (NO_SKIP): New macro.
+ (_bdf_readstream): Rewritten.
+ (bdf_create_property, _bdf_add_comment): Improve allocation.
+ (_bdf_set_default_spacing, _bdf_parse_glyphs): Updated. Improve
+ allocation.
+ (_bdf_parse_properties, _bdf_parse_start): Updated.
+ (bdf_load_font): Updated to use new functions.
+
+ * src/type1/t1parse.c (check_type1_format): New function.
+ (T1_New_Parser): Use it to check font header before allocating
+ anything on the heap.
+
+ * src/type42/t42parse.c (t42_parser_init): Modify functions to check
+ the font header before allocating anything on the heap.
+
+ * include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
+ FT_ARRAY_CHECK): New macros.
+
+ * src/base/ftstream.c (FT_Stream_TryRead): New function.
+ * include/freetype/internal/ftstream.h: Updated.
+
+ * src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
+ (BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
+ simplifications. Try to protect the PCF driver from doing stupid
+ things with broken fonts.
+
+ * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
+ doing anything else. This avoids unnecessary heap allocations
+ (400KByte of heap memory for the LZW decoder).
+
+ * src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip
+ decoder, although the code savings are smaller.
+
+ * docs/CHANGES: Updated.
+
+2005-03-10 David Turner <david@freetype.org>
+
+ * src/tools/glnames.py: Add comment to explain the compression
+ being used for the Adobe Glyph List.
+
+2005-03-10 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
+ Fix serious typo which prevented correct TT rendering.
+
+ * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
+ To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
+
+2005-03-10 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/glnames.py: Formatted.
+ Format output to be in sync with other FreeType code.
+ Import `re' and `os.path'.
+ (StringTable) <__init__>: Add parameter to initialize master table
+ name.
+ (StringTable) <dump>: Don't pass master table name.
+ (StringTable) <dump_sublist>: Emit explanatory comment.
+ Simplify and make output more human readable.
+ (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused.
+ (main): Use `basename' for file name in header.
+
+ * src/psnames/pstables.h: Regenerated.
+
+2005-03-09 David Turner <david@freetype.org>
+
+ * src/tools/glnames.py: Rewrite the generator for the `pstables.h'
+ header file which contains various constant tables related to glyph
+ names. It now uses a different, more compact storage scheme that
+ saves about 20KB. This also closes Savannah bug #12262.
+
+ * src/psnames/pstables.h: Regenerated.
+
+ * src/psnames/psmodule.c (ps_unicode_value): Use
+ `ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
+ (ps_get_macintosh_name, ps_get_standard_strings): Updated.
+
+ * src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes
+ more carefully. This fixes Savannah bug #12263.
+
+2005-03-06 David Turner <david@freetype.org>
+
+ * src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
+ constant.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
+ #12212 (auto-hinter refuses to work if no Unicode charmap in font).
+
+2005-03-05 Werner Lemberg <wl@gnu.org>
+
+ * autogen.sh: New script for bootstrapping.
+
+ * README.CVS: New file which documents bootstrapping.
+
+ * builds/unix/aclocal.m4, builds/unix/config.guess,
+ builds/unix/config.sub, builds/unix/configure,
+ builds/unix/ltmain.sh: Removed.
+
+2005-03-04 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
+
+2005-03-03 Werner Lemberg <wl@gnu.org>
+
+ Various fixes for C and C++ compiling.
+
+ * src/autofit/*: Add copyright messages.
+
+ * src/autofit/afhints.c (af_glyph_hints_done): Don't use
+ `AF_Dimension' but `int' for loop counter.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
+ `AF_Dimension' but `int' for loop counter.
+ Use proper enumeration value for `render_mode'.
+ (af_latin_metrics_scale_dim): Don't shadow variables.
+ (af_latin_hints_compute_segments): Use proper cast for `major_dir'
+ and `segment_dir'.
+ (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
+ `af_latin_compute_stem_width'.
+ (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
+ counter.
+
+ * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
+ proper cast for memory allocation.
+
+ * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
+ initialization of `sfnt'.
+
+ * src/sfnt/sfdriver.c: Include `ttkern.h'.
+
+ * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
+
+ * src/truetype/ttgload.c: Include `ttpload.h'.
+
+2005-03-03 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
+ FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
+ avoid compiler warnings.
+ (FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
+ FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+ FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cpluscplus]:
+ Provide macro versions which avoid compiler warnings.
+
+ * src/base/ftutil.c (ft_highpow2): New utility function.
+
+ * include/freetype/internal/ftobjs.h: Updated.
+
+ * src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
+ pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
+ (pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
+ is set.
+ (pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
+ FT_OPTIMIZE_MEMORY is set.
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
+ doesn't work with broken fonts.
+ (pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
+
+ * src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
+ (PFR_NEXT_KPAIR): New macro.
+ (PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
+ set.
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
+ temporary variable to avoid gcc warning.
+ (tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
+
+ * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
+ Remove redundant variable.
+
+ * include/freetype/config/ftmodule.h: Moving the order of drivers to
+ speed up font loading. The PCF and BDF loaders are still slow and
+ consume far too much memory.
+
+2005-03-03 Werner Lemberg <wl@gnu.org>
+
+ * devel/ftoption.h: Updated to recent changes.
+
+2005-03-02 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/afdummy.c, src/autofit/afdummy.h
+ (af_dummy_script_class): Fix type.
+
+ * src/autofit/aflatin.c, src/autofit/aflatin.h
+ (af_latin_script_class): Fix type.
+
+ * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
+
+2005-03-01 David Turner <david@freetype.org>
+
+ * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
+ src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
+ tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
+ tt_sbit_decoder_load_image), src/sfnt/ttload.c
+ (tt_face_load_metrics): Remove compiler warnings
+ -- redundant variables, missing initializations, etc.
+
+ * src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
+
+ * src/autofit/rules.mk, src/autofit/module.mk,
+ src/autofit/afangles.h: New files.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment,
+ af_axis_hints_new_edge): New functions.
+ (af_glyph_hints_done): Do proper deallocation.
+ (af_glyph_hints_reload): Only reallocate points array. This
+ drastically reduces heap usage.
+
+ * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
+ member types and positions.
+ (AF_AxisHintsRec): Add `max_segments' and `max_edges'.
+ (af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
+
+ * src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call
+ AF_SCALER_EQUAL_SCALES.
+ (af_latin_hints_compute_segments): Change return type to FT_Error.
+ Update all callers.
+ Improve segment allocation.
+ (af_latin_hints_compute_edges): Change return type to FT_Error.
+ Update all callers.
+ Improve edge allocation and link handling.
+ (af_latin_hints_detect_features): Change return type to FT_Error.
+ Update all callers.
+
+ * src/autofit/aflatin.h: Updated.
+
+ * src/autofit/afloader.c (af_loader_load_g)
+ <FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1. This fixes
+ a bug with certain fonts.
+
+ * include/freetype/config/ftmodule.h: The auto-fitter is now the
+ only supported auto-hinting module.
+
+ * include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
+
+2005-02-28 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
+
+ * src/sfnt/ttkern.c: Include `ttkern.h'.
+ (FT_COMPONENT): Updated.
+
+ * include/freetype/internal/fttrace.h: Add entry for `ttkern'.
+
+ * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
+ Decorate constants with `U' and `L' where necessary.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
+
+2005-02-28 David Turner <david@freetype.org>
+
+ * src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
+ sources according to decreasing maximum cumulative allocations.
+ (ft_mem_source_compare): New auxiliary function.
+
+ * src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
+ embedded bitmap loader.
+
+ * src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
+ FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
+ Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
+ file contents.
+ (tt_face_load_sbit_strikes): Set up root fields to indicate the
+ strikes. This fixes Savannah bug #12107.
+ Use `static' keyword for `sbit_line_metrics_field',
+ `strike_start_fields', `strike_end_fields'.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Define
+ `sbit_table', `sbit_table_size', `sbit_num_strikes' if
+ FT_OPTIMIZE_MEMORY is set.
+ Don't define `num_sbit_strikes' and `sbit_strikes' if
+ FT_OPTIMIZE_MEMORY is set.
+
+ * src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
+ loading SFNT fonts without a `kern' table.
+ Properly pass root->face_flags.
+ Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
+
+ * src/sfnt/sfdriver.c (sfnt_interface)
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
+ and `tt_load_sbit_metrics'.
+
+ * src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
+ (OPT_CMAP4): New macro.
+ (TT_CMap4Rec) [OPT_CMAP4]: New structure.
+ (tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
+ [OPT_CMAP4]: New functions.
+ (tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
+ `tt_cmap4_reset'.
+ (tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
+ `tt_cmap4_init'.
+
+ * src/truetype/ttobjs.c (Reset_SBit_Size): Handle
+ FT_OPTIMIZE_MEMORY.
+
+ * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
+ Optimize member types.
+
+ * src/autofit/afloader.c (af_loader_done): Call
+ `af_glyph_hints_done'.
+
+2005-02-27 David Turner <david@freetype.org>
+
+ * src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
+ caused invalid (random) return values for the horizontal kerning.
+
+2005-02-25 David Turner <david@freetype.org>
+
+ Implement several memory optimizations to drastically reduce the
+ heap usage of FreeType, especially in the case of memory-mapped
+ files. The idea is to avoid loading and decoding tables in the
+ heap, and instead access the raw data whenever possible (i.e., when
+ it doesn't compromise performance).
+
+ This has several benefits: For example, opening vera.ttf now uses
+ just a small amount of memory (even when the FT_Library footprint is
+ accounted for), until you start loading glyphs. Even then, you save
+ at least 20KB compared to the non-optimized case. Performance of
+ various operations, including open and close, has also been
+ dramatically improved.
+
+ More optimizations to come, especially for the auto-hinter.
+
+ * include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
+ function type.
+ (SFNT_Interface): Add it.
+
+ * include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
+ TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
+ (TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
+ `vert_metrics', `vert_metrics_size', `hdmx_table',
+ `hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
+ `hdmx_record_sizes', `kern_table', `kern_table_size,
+ `num_kern_tables', `kern_avail_bits', `kern_order_bits' if
+ FT_OPTIMIZE_MEMORY is set.
+ Don't define `hdmx', `num_kern_pairs', `kern_table_index',
+ `kern_pairs' if FT_OPTIMIZE_MEMORY is set.
+
+ * src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
+ Fix compiler warning.
+
+ * src/cff/cffdrivr.c (Get_Kerning): Renamed to...
+ (cff_get_kerning): This. Simplify.
+ (cff_driver_class): Updated.
+
+ * src/sfnt/Jamfile (_sources): Add `ttkern'.
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
+
+ * src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
+
+ * src/sfnt/sfnt.c: Include `ttkern.c'.
+
+ * src/sfnt/sfobjs.c: Include `ttkern.h'.
+ (sfnt_load_face): Consider the `kern' and `gasp' table as optional.
+ (sfnt_done_face): Call `tt_face_done_kern'.
+ Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
+
+ * src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files. Code has been
+ taken from `ttload.c' and `ttload.h'.
+ Provide special versions of `tt_face_load_kern',
+ `tt_face_get_kerning', and `tt_face_done_kern' for
+ FT_OPTIMIZE_MEMORY.
+
+ * src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
+ tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
+ (tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
+ `ttkern.c'.
+
+ * src/sfnt/ttload.h: Updated.
+
+ * src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
+
+ * src/truetype/ttdriver.c (Get_Kerning): Renamed to...
+ (tt_get_kerning): This. Simplify.
+ (tt_driver_class): Updated.
+
+ * src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
+ (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
+ Update all callers.
+ (Get_Advance_Widths): Replaced with...
+ (Get_Advance_WidthPtr): This. Provide version for
+ FT_OPTIMIZE_MEMORY.
+ Update all callers.
+
+ * src/truetype/ttgload.h: Updated.
+
+2005-02-22 David Turner <david@freetype.org>
+
+ * src/base/ftdbgmem.c: Partly rewritten. Added the ability to list
+ all allocation sites in the memory debugger. Also a new function
+ FT_DumpMemory() was added. It is only available in builds with
+ FT_DEBUG_MEMORY defined, and you must declare it in your own code to
+ use it, i.e., with something like:
+
+ extern void FT_DumpMemory( FT_Memory );
+
+ ...
+
+ FT_DumpMemory( memory );
+
+ * include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
+ again.
+ (FT_OPTIMIZE_MEMORY): New configuration macro to control various
+ optimizations for reducing the heap footprint of memory-mapped
+ TrueType files.
+
+ * include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
+ convenience macro.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec)
+ [FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
+ `glyph_locations'.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Call
+ `tt_face_get_location'.
+
+ * src/truetype/ttobjs.c (tt_face_init)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
+ (tt_face_done): Call `tt_face_done_loca'.
+
+ * src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
+ New functions. If FT_OPTIMIZE_MEMORY is set, the locations table is
+ read directly from memory-mapped streams, instead of being decoded
+ into the heap.
+ (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
+ (tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
+ bytecode interpreter is compiled in.
+
+ * src/truetype/ttpload.h: Updated.
+
+ * src/autohint/ahglyph.c (ah_outline_load): Improve allocation
+ logic.
+
+2005-02-20 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.14.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.9.4.
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `texinfo' CVS module at subversions.gnu.org.
+
+2005-02-14 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
+ a cmap for a CID-keyed font which doesn't have SIDs.
+
+2005-02-13 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (read_binary_data): Return more meaningful
+ value.
+ (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
+ parser error value after call to T1_Skip_PS_Token (where necessary).
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
+ value after call to T1_Skip_PS_Token.
+
+ * src/cid/cidparse.c (cid_parser_new): Check parser error value
+ after call to cid_parser_skip_PS_token.
+
+ * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
+ t42_parse_charstrings, t42_parse_dict): Check parser error value
+ after call to T1_Skip_PS_Token (where necessary).
+
+ * src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
+ ps_tobytes): Add error messages.
+
+2005-02-12 Werner Lemberg <wl@gnu.org>
+
+ * configure: Output more variables to the created Makefile so that
+ it can be used for ft2demos also (if the FT2DEMOS variable is
+ defined).
+
+2005-02-10 David Turner <david@freetype.org>
+
+ * src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
+ dynamic array when loading a glyph from a PFR font (Savannah bug
+ #11921).
+
+ * src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
+ conversion function (mainly stupid optimization).
+
+ * src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
+
+2005-02-10 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype-config.in: Add new flag `--ftversion' to
+ return the FreeType version. Suggested by George Williams
+ <gww@silcom.com>.
+
+ * docs/CHANGES: Updated.
+
+2005-02-09 Werner Lemberg <wl@gnu.org>
+
+ * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
+ of error. Reported by YAMANO-UCHI Hidetoshi <mer@din.or.jp>.
+
+2005-02-08 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ <op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
+ happen in empty glyphs. Reported by Ian Brown
+ <ian.brown@printsoft.de> (Savannah bug #11856).
+
+2005-02-04 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/*: Removed. Obsolete.
+
+2004-12-28 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.10.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.9.4.
+ * builds/unix/configure: Regenerated with autoconf 2.59b.
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+
+ * builds/unix/install-sh: Updated from
+ `texinfo' CVS module at subversions.gnu.org.
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
+ ft_alloc.
+ Fix compiler warning.
+
+2004-12-27 Dirck Blaskey <listtarget@danbala.com>
+
+ * src/cff/cffobjs.c (cff_face_init): Improve computation of
+ FT_STYLE_BOLD_FLAG.
+
+2004-12-27 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
+ only a single font. This is undocumented but has been verified on
+ the opentype list.
+
+2004-12-26 Werner Lemberg <wl@gnu.org>
+
+ * Jamfile (FT2_COMPONENTS): Add `otvalid'.
+
+2004-12-25 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
+
+2004-12-15 Werner Lemberg <wl@gnu.org>
+
+ * vms_make.com: Add ftbitmap.obj.
+
+2004-12-14 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
+ handling various bitmap formats.
+
+ * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
+
+ * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
+ but return them as-is.
+
+ * docs/CHANGES: Mention new bitmap API.
+ * include/freetype/ftchapter.s: Updated.
+
+2004-12-11 Robert Clark <freetype@ratty.org.uk>
+
+ * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
+ dependent on ppem by scaling down for ppem < 25, then do normal
+ rounding. This gives slightly better results than rounding towards
+ zero.
+
+2004-12-09 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
+ for FT_KERNING_DEFAULT. This greatly enhances the kerning for
+ small ppem values.
+
+2004-12-08 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
+ `rsb_delta'.
+
+2004-12-05 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
+
+2004-12-03 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * include/freetype/ttnameid.h: Updated to latest
+ specifications from Microsoft.
+
+2004-11-26 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * vms_make.com: Include ftbbox.c.
+ Fix `ccopt'.
+ Handle `otvalid' module.
+ Update `vmslib.dat' default values.
+ Fixes to `libs.opt'.
+
+2004-11-23 Anders Kaseorg <anders@kaseorg.com>
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec,
+ ft_orientation_extremum_compute): Removed.
+ (FT_Outline_Get_Orientation): Rewritten, simplified.
+
+ * src/autohint/ahglyph.c: Include FT_OUTLINE_H.
+ (ah_test_extremum, ah_get_orientation): Removed.
+ (ah_outline_load): Use FT_Outline_Get_Orientation.
+
+ * src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
+ (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
+
+2004-11-23 Fernando Papa <fpapa@netgate.com.uy>
+
+ * src/truetype/ttinterp.h: Fix typo.
+
+2004-11-22 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * builds/win32/detect.mk: Corrected logic that detects Windows NT to
+ use the previous change even if win32 is forced. Corrected
+ detection of win32 on Win9X.
+
+ * builds/dos/detect.mk: Added same correction as for win32 about
+ COPY on Windows NT. Detection of plain DOS 7.x.
+
+2004-11-22 Werner Lemberg <wl@gnu.org>
+
+ * builds/detect.mk: Undo change from 2004-11-20.
+ * builds/win32/detect.mk: If the `OS' environment variable contains
+ `Windows_NT', use `cmd.exe /c copy' for copying files.
+
+2004-11-20 Werner Lemberg <wl@gnu.org>
+
+ * builds/detect.mk (dos_setup): Use `cmd.exe' for copying
+ $(CONFIG_MK) to force lowercase file name under Windows.
+
+2004-11-19 Werner Lemberg <wl@gnu.org>
+
+ Fix a serious bug in the TT hinter.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
+ points vertically before hinting.
+
+ * docs/CHANGES: Updated.
+
+ * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+ FTC_GCache_Lookup): A new try to fix comparison with zero.
+
+2004-11-16 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
+ used.
+ * builds/unix/configure: Regenerated.
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+
+2004-11-16 Dr. Martin P.J. Zinser <zinser@decus.de>
+
+ * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+ FTC_GCache_Lookup): Fix comparison with zero.
+
+ * docs/INSTALL.VMS: Updated.
+
+ * vms_make.com: Updated. All `descrip.mms' files are now created
+ automatically.
+
+ * src/*/descrip.mms: Removed.
+
+2004-11-16 Owen Taylor <otaylor@redhat.com>
+
+ * builds/unix/freetype-config.in: Supress -L$libdir for
+ /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
+
+2004-11-11 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+ * src/cid/cidriver.c (cid_service_ps_info): Updated.
+ * src/type42/t42drivr.c (t42_ps_get_font_private): New function.
+ (t42_service_ps_info): Updated.
+
+ * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
+
+2004-11-11 David Bevan <dbevan@emtex.com>
+
+ Add new function FT_Get_PS_Font_Private().
+
+ * include/freetype/internal/services/svpsinfo.h
+ (PS_GetFontPrivateFunc): New service function.
+
+ * include/freetype/t1tables.h, src/base/fttype1.c
+ (FT_Get_PS_Font_Private): New function.
+
+ * src/type1/t1driver.c (t1_ps_get_font_private): New function.
+ (t1_service_ps_info): Updated.
+
+2004-10-13 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftstdlib.h: Include `stddef.h'.
+ (ft_ptrdiff_t): Define.
+
+ * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
+
+ * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
+ (parse_dict): Fix compiler warning.
+
+2004-10-11 Joshua Neal <jneal@csdaily.com>
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
+ overflow.
+
+ * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
+ Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
+ in case of failure.
+
+ * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
+ (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
+ frame test.
+
+ * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
+ `flag'.
+
+2004-10-09 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-10-09 Boris Letocha <b.letocha@cz.gmc.net>
+
+ Fix handling of NPUSHW if skipped in data stream.
+
+ * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
+ to -2.
+ (SkipCode, TT_RunIns): Use opcode_length value for computation of
+ bytes to be skipped.
+
+2004-09-10 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * vms_make.com: Updated.
+
+2004-09-09 Werner Lemberg <wl@gnu.org>
+
+ Adding OpenType validation module. The code is based on the
+ (unfinished) `otlayout' module but has been heavily modified to make
+ it much more compact.
+
+ * src/otvalid/*: New module.
+
+ * include/freetype/ftotval.h, src/base/ftotval.c,
+ include/freetype/internal/services/svotval.h: New files.
+
+ * include/freetype/config/ftmodule.h: Add otv_module_class.
+ * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
+ macro.
+ * include/freetype/internal/ftserv.h
+ (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
+ * include/freetype/internal/fttrace.h (otvmodule, otvcommon,
+ otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
+
+ * include/freetype/ftchapters.h: Updated.
+
+ * src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
+ src/base/rules.mk (BASE_EXT_SRC): Updated.
+
+ * docs/CHANGES: Updated.
+
+2004-09-08 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/docmaker/sources.py (re_source_block_format2) <column>:
+ Use lookahead assertion to not match `*/'. This removes spurious
+ insertions of `/' in the HTML output.
+
+2004-09-07 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
+ FT_NEW_ARRAY.
+
+2004-09-04 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftobjs.h: Don't include
+ FT_CONFIG_STANDARD_LIBRARY_H.
+ (FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
+ ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
+ FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
+ FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
+
+ * include/freetype/internal/ftvalid.h: New file.
+ Make FT_INVALID return module-specific error codes.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
+ macro.
+
+ * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
+ FT_KEEP_ERR_PREFIX isn't defined.
+
+ * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
+
+ * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
+ FT_INTERNAL_VALIDATE_H.
+
+ * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
+ FT_INTERNAL_VALIDATE_H.
+ Include sferrors.h before FT_INTERNAL_VALIDATE_H.
+ s/FT_Err_Ok/SFNT_Err_Ok/.
+
+ * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
+
+ * src/type1/t1afm.c: Include t1errors.h.
+
+2004-09-03 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
+ not 6.
+ * docs/DEBUG: Updated.
+
+2004-08-30 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
+ TTAG_JSTF): New tags.
+
+ * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
+ (FT_Int): Add `signed'.
+
+2004-08-29 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
+ to pass number of lookups.
+ Update all callers.
+ Don't call otl_lookup_list_validate but otl_lookup_validate.
+ (otl_gpos_validate): Call otl_lookup_list_validate instead of
+ otl_gpos_subtable_validate.
+
+ * src/otlayout/otlgpos.h: Updated.
+
+ * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
+ pass number of lookups.
+ Update all callers.
+
+
+ * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
+ compiler warning.
+
+
+ * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
+ * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
+ * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
+ src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
+
+
+ * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
+ if compiler is g++ (v3.3.3 emits a warning otherwise).
+
+2004-08-28 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
+ not number of 16bit entities.
+ (otl_gpos_lookup2_validate): Check class definition tables for
+ format 2.
+ Fix loop for format 2.
+ (otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
+
+2004-08-27 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftmac.c: Don't include truetype/ttobjs.h.
+ Don't include type1/t1objs.h.
+ (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
+
+2004-08-27 Mathieu Malaterre <mathieu@malaterre.com>
+
+ * src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
+
+2004-08-27 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlayout.h: Add copyright.
+ (OTL_INVALID_OFFSET): Removed.
+
+ * src/otlayout/otlgdef.h: Include otlayout.h.
+ Comment out inclusion of otltable.h.
+
+ * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
+ to otl_base_array_validate.
+ (otl_liga_mark2_validate): Fix `for' loop.
+
+ * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
+ not components array.
+
+ * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
+ Comment out.
+ (otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
+ (otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
+ s/otl_lookup_get_count/otl_lookup_list_get_count/.
+ (otl_script_list_validate):
+ s/otl_feature_get_count/otl_feature_list_get_count/.
+ (otl_script_validate): Call otl_lang_validate for default language.
+
+ * src/otlayout/otlcommn.h: Updated.
+
+2004-08-16 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
+ otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
+ otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
+ otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
+ otl_gpos_validate): Update
+ function arguments.
+ (otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
+ function arguments.
+ Handle NULL offsets correctly.
+ Check sequence and lookup indices for format 3.
+ (otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
+ to pass lookup count.
+ Check sequence and glyph indices.
+ (otl_gpos_subtable_validate): Update function arguments.
+ Update callers.
+
+ * src/otlayout/otlgpos.h: Updated.
+
+ * src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
+ otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
+ function arguments.
+ Add glyph index checks.
+ (otl_sequence_validate, otl_alternate_set_validate,
+ otl_ligature_validate): Add argument to pass glyph count.
+ Update callers.
+ Add glyph index check.
+ (otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
+ function arguments.
+ (otl_ligature_set_validate): Add argument to pass glyph count.
+ Update caller.
+ (otl_sub_class_rule_validate,
+ otl_sub_class_rule_set_validate): Removed.
+ (otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
+ to pass lookup count.
+ Update callers.
+ Add lookup index check.
+ (otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
+ argument to pass lookup count.
+ Update callers.
+ (otl_gsub_lookup5_validate): Update function arguments.
+ Handle NULL offsets correctly.
+ Don't call otl_sub_class_rule_set_validate but
+ otl_sub_rule_set_validate.
+ Check sequence and lookup indices for format 3.
+ (otl_gsub_lookup6_validate): Update function arguments.
+ Handle NULL offsets correctly.
+ Check sequence and lookup indices for format 3.
+ (otl_gsub_lookup7_validate, otl_gsub_validate): Update function
+ arguments.
+
+ * src/otlayout/otlgsub.h: Updated.
+
+ * src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
+ correctly.
+
+ * src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
+ compiler warning.
+ (otl_coverage_get_first, otl_coverage_get_last): New functions.
+ (otl_lookup_validate): Add arguments to pass lookup and glyph
+ counts.
+ Update callers.
+ (otl_lookup_list_validate): Add argument to pass glyph count.
+ Update callers.
+
+ * src/otlayout/otlcommn.h: Updated.
+
+ * src/otlayout/otljstf.c (otl_jstf_extender_validate,
+ otl_jstf_max_validate, otl_jstf_script_validate,
+ otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
+ to validate glyph indices.
+ Update callers.
+ (otl_jstf_validate): Add parameter which specifies number of glyphs
+ in font.
+
+ * src/otlayout/otljstf.h: Updated.
+
+2004-08-15 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
+ to handle possible NULL values properly.
+ Update all callers.
+
+2004-08-15 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/gpos.c: Rename counting variables to be more
+ meaningful.
+ Add copyright.
+ (otl_liga_attach_validate): Renamed to...
+ (otl_liga_mark2_validate): This.
+ Update all callers.
+ (otl_mark2_array_validate): Removed.
+ (otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
+ otl_mark2_array_validate.
+ (otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
+ (otl_gpos_lookup7_validate): Complete code for format 2.
+ (otl_chain_pos_class_rule_validate,
+ otl_chaim_pos_class_set_validate): Removed.
+ (otl_gpos_lookup8_validate): Don't call
+ otl_chain_pos_class_set_validate but
+ otl_chain_pos_rule_set_validate.
+ Simplify some code.
+
+ * src/otlayout/otlgpos.h: Add copyright.
+
+2004-08-14 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
+ (otl_jstf_gpos_mods_validate): Renamed to...
+ (otl_jstf_gsubgpos_mods_validate): This.
+ Test whether lookup_count is zero.
+ (otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
+ (otl_jstf_validate): Initialize gsub_lookup_count and
+ gpos_lookup_count if gsub or gpos is zero.
+
+ * src/otlayout/otlgsub.c: Rename counting variables to be more
+ meaningful.
+ Add copyright.
+ (otl_gsub_lookup1_validate): Simplify code.
+ (otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
+ otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
+ variables.
+ (otl_gsub_lookup5_validate): Remove unused variable.
+ Fix call to otl_sub_rule_set_validate and
+ otl_sub_class_rule_set_validate.
+ (otl_chain_sub_class_rule_validate,
+ otl_chain_sub_class_set_validate): Removed.
+ (otl_gsub_lookup6_validate): Remove unused variable.
+ Fix call to otl_chain_sub_rule_set_validate.
+ (otl_gsub_lookup7_validate): Handle lookup type 8 also.
+ (otl_gsub_lookup8_validate: New function.
+ (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
+ otl_gsub_lookup3_apply): Commented out.
+ (otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
+ otl_gsub_lookup8_validate.
+ (otl_gsub_validate): Updated.
+
+ * src/otlayout/otlgsub.h: Add copyright.
+
+ * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
+ (otl_coverage_get_index): Comment out.
+
+2004-08-13 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
+ function.
+ * src/otlayout/otlcommn.h: Updated.
+
+ * src/otlayout/otlbase.c: Rename counting variables to be more
+ meaningful.
+ Add copyright message.
+ * src/otlayout/otlbase.h: Add copyright message.
+
+ * src/otlayout/otlgdef.c: Rename counting variables to be more
+ meaningful.
+ Add copyright message.
+ Use OTL_CHECK everywhere.
+ (otl_caret_value_validate): Remove unused variable.
+ (otl_gdef_validate): All tables are optional.
+ * src/otlayout/otlgdef.h: Add copyright message.
+
+ * src/otlayout/otljstf.c: Rename counting variables to be more
+ meaningful.
+ Add copyright message.
+ (otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
+ parameter to pass lookup count.
+ Update all callers.
+ Check lookup array.
+ (otl_jstf_max_validate):
+ s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
+ (otl_jstf_priority_validate, otl_jstf_lang_validate,
+ otl_jstf_script_validate): Add two parameters to pass lookup counts.
+ Update all callers.
+ (otl_jstf_validate): Add two parameters to pass GPOS and GSUB
+ table offsets; use otl_gsubgpos_get_lookup_count to convert extract
+ lookup counts.
+ Fix typo.
+ * src/otlayout/otljstf.h: Updated.
+ Add copyright message.
+
+ * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
+ (otl_gpos_validate): Use it.
+ * src/otlayout/otlgpos.h: Updated.
+
+2004-08-13 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
+ (otl_coverage_validate): Initialize `p',
+ s/count/num_glyphs/.
+ s/start_cover/start_coverage/.
+ (otl_coverage_get_index): Return OTL_Long, not OTL_Int.
+ Remove unused variables.
+ (otl_class_definition_validate): s/count/num_glyphs/.
+ Remove unused variables.
+ (otl_class_definition_get_value, otl_device_table_get_start,
+ otl_device_table_get_end, otl_device_table_get_delta,
+ otl_lookup_get_table, otl_lookup_list_get_count,
+ otl_lookup_list_get_lookup, otl_lookup_list_get_table,
+ otl_feature_get_lookups, otl_feature_list_get_count,
+ otl_feature_list_get_feature, otl_lang_get_count,
+ otl_lang_get_req_feature, otl_lang_get_features): Commented out
+ temporarily until we really need it.
+ (otl_lookup_validate): Removed.
+ (otl_lookup_table_validate): Renamed to ...
+ (otl_lookup_validate): This. Update callers.
+ (otl_lookup_list_validate): Remove already commented out definition
+ and move the other definition up.
+ (otl_feature_validate): Add parameter to pass number of lookups.
+ Update callers.
+ Check lookup indices.
+ (otl_feature_list_validate): Add parameter to pass lookup table.
+ Update callers.
+ (otl_lang_validate): Add parameter to pass number of features.
+ Update callers.
+ Handle req_feature and check feature indices.
+ (otl_script_validate): Add parameter to pass number of features.
+ Update callers.
+ (otl_script_list_validate): Add parameter to pass feature table.
+ Update callers.
+
+ * src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
+ Comment out the same functions as in otcommn.c.
+ (otl_script_list_get_script): Removed.
+
+ * src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
+ type OTL_Long.
+ (otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
+ type OTL_Long.
+ Fix test.
+ (otl_gsub_validate): Fix order of validation.
+
+ * src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
+ validation.
+
+2004-08-12 Werner Lemberg <wl@gnu.org>
+
+ Make otlayout module compile (without actually working).
+
+ * src/otlayout/*: s/OTL_Valid/OTL_Validator/.
+ s/NULL/0/.
+
+ * src/otlayout/otlayout.h: Fix various typos.
+ (OTL_Bool): New typedef.
+ (OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
+ (OTL_Err_InvalidArgument): Removed.
+ (OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
+ (OTL_MAKE_TAG): Add missing parenthesis.
+ (OTL_INVALID_DATA): Use OTL_Err_InvalidData.
+ (OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
+ (OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
+
+ * src/otlayout/otlgpos.c: s/FT_/OTL_/.
+ s/OTL_Short/OTL_Int16/.
+ (otl_gpos_pairset_validate): Add return type.
+ (otl_base_array_validate): Fix call to otl_anchor_validate.
+ (otl_liga_array_validate): Fix call to otl_liga_attach_validate.
+ (otl_gpos_lookup5_validate): Fix typos.
+ (otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
+ (otl_gpos_lookup7_validate): Comment out unfinished code.
+ Fix typos.
+
+ * src/otlayout/otlgsub.c: Add forward declaration for
+ otl_gsub_validate_funcs.
+ (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
+ otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
+ s/otl_coverage_lookup/otl_coverage_get_index/.
+ (otl_ligature_validate): Add missing variable declaration.
+ (otl_sub_rule_validate): Fix typo.
+ (otl_sub_class_rule_validate): Add missing variable declaration.
+ Fix typo.
+ (otl_gsub_lookup5_validate): Fix typo.
+ (otl_gsub_lookup6_validate): Fix call to
+ otl_chain_sub_class_set_validate.
+ (otl_gsub_validate_funcs): Don't use `const'.
+
+ * src/otlayout/otlcommn.c (otl_class_definition_get_value,
+ otl_device_table_validate, otl_device_table_get_delta,
+ otl_lookup_validate, otl_script_validate): Add missing
+ variable declarations.
+ (otl_lookup_list_validate): Comment out first definition.
+ (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
+ (otl_feature_list_validate):
+ s/otl_feature_table_validate/otl_feature_validate/.
+ (otl_script_list_validate):
+ s/otl_script_table_validate/otl_script_validate/.
+
+ * src/otlayout/otlcommn.h: Comment out first declaration.
+ (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
+
+ * src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
+ otl_device_table_validate.
+ (otl_base_scsript_validate): Add missing variable declarations.
+ (otl_base_script_list_validate): Fix call to
+ otl_base_script_validate.
+ (otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
+ and otl_base_script_list_validate.
+ (otl_base_validate): Fix calls to otl_axis_table_validate.
+
+ * src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
+ otl_attach_point_validate.
+ (otl_caret_value_validate): Add missing variable declaration.
+ Fix call to otl_device_table_validate.
+ (otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
+ (otl_ligature_caret_list_validate): Fix call to
+ otl_ligature_glyph_validate.
+ (otl_gdef_validate): Fix calls to otl_class_definition_validate,
+ otl_attach_list_validate, otl_ligature_caret_list_validate, and
+ otl_class_definition_validate.
+
+ * src/otlayout/otltable.h (otl_table_validate, otl_table_init,
+ otl_table_set_script): Comment out.
+
+ * src/otlayout/otlparse.h (OTL_ParserRec):
+ s/OTL_Alternate/OTL_GSUB_Alternate/.
+ (OTL_ParseError): Add OTL_Err_Parser_Memory and
+ OTL_Err_Parser_Internal.
+ (otl_parser_error): Fix typo.
+ (otl_parser_check_property): Remove third argument.
+
+ * src/otlayout/otlparse.c (otl_string_ensure):
+ s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
+ (OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
+ otl_parser_replace_1, otl_parser_replace_n): Fix typos.
+ (OTL_PARSER_UNCOVERED): Removed.
+ (otl_parser_check_property): Remove third argument.
+
+ * src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
+ variable declaration.
+
+ * src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
+
+2004-08-11 Danny <dannyboynow@yahoo.com>
+
+ * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
+ to NULL. This allows custom close functions to delete the FT_STREAM
+ object.
+
+2004-08-11 Werner Lemberg <wl@gnu.org>
+
+ Add API to get information about SFNT tables.
+
+ * include/freetype/internal/services/svsfnt.h
+ (FT_SFNT_Table_Info_Func): New typedef.
+ (SFNT_Table): Add it.
+
+ * src/base/ftobjs (FT_Sfnt_Table_Info): New function.
+
+ * include/freetype/tttables.h: Updated.
+
+ * src/sfnt/sfdriver.c (sfnt_table_info): New function.
+ (sfnt_service_sfnt_table): Add it.
+
+ * docs/CHANGES: Updated.
+
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+ * builds/unix/configure.ac (version_info): Set to 9:8:3.
+ * builds/unix/configure: Updated.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
+
+ * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+ s/2.1.9/2.1.10/.
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-08-11 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/base/ftrfork.c (FT_Raccess_Guess)
+ [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
+ warnings.
+
+2004-08-06 Adam Piotrowski <st_intel@poczta.onet.pl>
+
+ * src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
+ adjustments are unsigned, not signed.
+
+2004-08-05 David Turner <david@freetype.org>
+
+ `Activate' gray-scale specifing hinting within the TrueType
+ bytecode interpreter. This is an experimental feature which
+ should probably be made optional.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+ load_truetype_glyph): Move the code to set the pedantic_hinting flag
+ to...
+ (TT_Load_Glyph): Here.
+ Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
+
+ * src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
+ version 1.7.
+ Return rotation and stretching info only if glyph is rotated or
+ stretched, respectively.
+ Handle grayscale info.
+
+ * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
+ member.
+
+2004-08-02 George Williams <gww@silcom.com>
+
+ * src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
+
+2004-08-01 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-08-01 George Williams <gww@silcom.com>
+
+ FreeType now can read kerning values from PFM files.
+
+ * src/type1/t1afm.c (T1_Done_AFM): Renamed to...
+ (T1_Done_Metrics): This.
+ Update all callers.
+ (T1_Read_AFM): Make it static.
+ Don't enter and leave a frame.
+ (LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
+ (T1_Read_PFM): New function.
+ (T1_Read_Metrics): New higher-level function to be used instead of
+ T1Read_AFM.
+ Update all callers.
+
+2004-07-31 Werner Lemberg <wl@gnu.org>
+
+ * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
+ (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
+ tt_face_vary_cvt): Fix compiler warnings.
+
+2004-07-26 Søren Sandmann <sandmann@daimi.au.dk>
+
+ * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
+ face->style_name.
+ * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
+
+2004-07-26 Darren J Longhorn <darren.longhorn@redcom.co.uk>
+
+ * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
+ five-byte `long' (which is avoided then).
+
+2004-07-25 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
+ ppem values.
+ (PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
+ code to compare ppem values.
+ * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
+ ppem values.
+ (BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
+ code to compare ppem values.
+
+2004-07-25 Kornfeld Eliyahu Peter <peter@e-kadmon.net>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Handle
+ TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
+
+2004-07-24 Derek B. Noonburg <derekn@foolabs.com>
+
+ * src/cff/cffload.c (cff_font_load): Always create inverse mapping.
+ Even if the charstring count is the same as the CID count, it is
+ still possible that the font uses a different CID -> GID mapping.
+
+2004-07-23 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
+ found in some Arphic fonts made for Chinese version of Windows 3.1.
+
+2004-07-17 David Turner <david@freetype.org>
+
+ Fixed a dangling pointer bug in the cache code that happened in very
+ rare cases, i.e., when a new family object was destroyed by an
+ out-of-memory condition during a glyph node initialization. The
+ function FTC_Cache_Lookup would flush the cache and restart the
+ lookup with a bad pointer.
+
+ * include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
+ (FTC_GCACHE_LOOKUP_CMP): Use it.
+ Handle reference count in `num_nodes' correctly.
+
+ * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
+ FTC_FAMILY_FREE.
+ (FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
+
+ * src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
+ bug.
+
+ * src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
+ long and unnecessary delays while normalizing huge vectors.
+
+2004-07-15 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+ * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
+ warning.
+
+2004-07-15 David Turner <david@freetype.org>
+
+ * src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
+ are not stroked, preventing a bug with pala.ttf and other
+ fonts.
+
+ * include/freetype/ftstroke.h: Updating documentation comments.
+
+2004-07-13 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused.
+
+2004-07-12 David Turner <david@freetype.org>
+
+ * src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
+ to indicate reversion of points.
+ Update all callers.
+ (ft_stroke_border_reverse): Fix initialization of `point1' and
+ `tag1'.
+
+ * src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
+ for transformed glyphs.
+
+2004-07-11 David Turner <david@freetype.org>
+
+ Fix bugs that prevented the stroker to correctly generate stroked
+ paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
+
+ The code is still _very_ buggy though; treat with special care.
+
+ * src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
+ (ft_stroke_border_reverse): New function.
+ (ft_stroker_inside): Remove local variable `sigma'; use different
+ threshold.
+ (ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
+ (FT_Stroker_EndSubPath): Call ft_stroker_inside and
+ ft_stroke_border_reverse.
+
+2004-06-26 Peter Kovar <peter.kovar@r3.roburnet.sk>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
+
+2004-06-25 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported
+ by Dirck Blaskey.
+
+2004-06-24 David Turner <david@freetype.org>
+
+
+ * Version 2.1.9 released.
+ =========================
+
+
+ * src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
+ compiler warnings.
+
+2004-06-23 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
+ FT_QAlloc_Debug and FT_QRealloc_Debug.
+
+ * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
+ (FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
+ Fix error message.
+
+2004-06-23 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftmemory.h, src/base/ftutil.c
+ (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
+ FT_QRealloc_Debug): New functions that perform allocation without
+ zero-ing out the corresponding blocks.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
+ FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
+ FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
+ FT_QRENEW_ARRAY): New macros.
+
+ * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
+ * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY.
+ * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
+
+ * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
+ tt_face_load_gasp): Use FT_QNEW_ARRAY.
+ (tt_face_load_kern): Use FT_QNEW_ARRAY.
+ Small optimization in the kerning table verifier; this speeds up
+ TrueType face opening by about 7%.
+ (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
+
+ * include/freetype/config/ftmodule.h: Changed the order of modules,
+ putting TrueType and Type 1 first. This dramatically improves the
+ performance of face open/close operations. For example, putting the
+ TrueType driver first in the list results in a 5x speedup when
+ opening `Vera.ttf'.
+
+ The very problem is that both the PCF and BDF drivers do a lot more
+ than necessary to detect that they cannot handle a font file.
+
+2004-06-22 Werner Lemberg <wl@gnu.org>
+
+ * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
+ pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
+ debugging messages.
+
+ * src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
+ (PCF_Face_Init): Simplify code.
+
+ * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
+
+ * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
+ src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
+ Set `default_glyph'.
+ (BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
+
+ * docs/CHANGES: Updated.
+
+2004-06-21 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-06-21 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+ load_truetype_glyph): Don't access (unrounded)
+ `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes
+ a scaling bug that caused incorrect rendering when the bytecode
+ interpreter was enabled.
+
+2004-06-14 Huw D M Davies <h.davies1@physics.ox.ac.uk>
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
+ based on pixel_width and pixel_height.
+ (FNT_Size_Set_Pixels): Updated.
+
+2004-06-14 Werner Lemberg <wl@gnu.org>
+
+ * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
+ Reported by Hyvärinen Jyrki Juhani.
+
+2004-06-11 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-06-10 David Turner <david@freetype.org>
+
+ * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
+ src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
+ Obsolete.
+
+ * src/raster/ftraster.c (Alignment, PAlignment): New union to fix
+ problems with 64bit systems.
+ (AlignProfileSize): Use it.
+
+2004-06-08 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta'
+ and `rsb_delta' elements to...
+ (FT_GlyphSlotRec): Here to retain binary compatibility with older
+ FreeType versions.
+ Update all users.
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
+ of slot->metrics.width and slot->metrics.height when loading a
+ Windows FNT glyph. Thanks to Huw Davies.
+
+ * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
+ return type to FT_Bool.
+
+ * src/cache/ftbasic.c (ftc_basic_family_compare): Change return
+ type to FT_Bool.
+
+ * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
+ the former call the latter, not vice versa.
+ (FTC_Cache_Done, ftc_cache_done): Ditto.
+
+ * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
+ the former call the latter, not vice versa.
+ (FTC_GCache_Init, ftc_gcache_init): Ditto.
+ (FTC_GCache_Done, ftc_gcache_done): Ditto.
+
+ * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
+ former call the latter, not vice versa.
+ (FTC_INode_Weight, ftc_inode_weight): Ditto.
+
+ * src/cache/ftcmanag.c (ftc_size_node_compare,
+ ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
+ type to FT_Bool.
+
+ * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
+ former call the latter, not vice versa.
+ (FTC_SNode_Weight, ftc_snode_weight): Ditto.
+ (FTC_SNode_Compare, ftc_snode_compare): Ditto.
+
+ * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
+ sub-system.
+
+2004-06-05 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
+ `rsb_delta' in slot->metrics and tune side bearings slightly.
+
+2004-06-04 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-06-04 David Chester <davidchester@gmx.net>
+
+ Improve inter-letter spacing for autohinted glyphs.
+
+ * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
+ `lsb_delta' and `rsb_delta'.
+
+ * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
+ `rsb_delta' in slot->metrics and tune side bearings slightly.
+
+2004-06-04 David Turner <david@freetype.org>
+
+ * src/autofit/*: Important fixes to the auto-fitter. The output
+ now seems to be 100% equivalent to the auto-hinter, while being
+ about 2% faster (which proves that script-specific algorithm
+ selection isn't a performance problem).
+
+ To test it, change `autohint' to `autofit' in
+ <freetype/config/ftmodule.h> and recompile.
+
+ A few more testing is needed before making this the official
+ auto-hinting module.
+
+2004-06-02 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
+ warnings.
+
+2004-06-01 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
+ name record for the Apple platform is preferred to a non-English
+ entry for the Microsoft platform. Problem reported by HANDA
+ Ken'ichi.
+
+2004-05-19 George Williams <gww@silcom.com>
+
+ * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
+ auxiliary functions.
+ (T1_Get_MM_Var): Provide axis tags.
+ Use mm_axis_unmap and mm_weights_unmap to provide default values
+ for design and normalized axis coordinates.
+
+ * include/freetype/t1tables.h (PS_DesignMapRec): Change type of
+ `design_points' to FT_Long.
+ Update all users.
+
+2004-05-17 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
+ Reported by Mikey Anbary <manbary@vizrt.com>.
+
+2004-05-15 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
+
+2004-05-15 George Williams <gww@silcom.com>
+
+ * src/sfnt/ttload.c (tt_face_load_max_profile): Always set
+ face->root.num_glyphs.
+
+2004-05-14 Masatake YAMATO <jet@gyve.org>
+ George Williams <gww@silcom.com>
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
+
+2004-05-14 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftcbasic.c (ftc_basic_family_compare,
+ ftc_basic_family_init, ftc_basic_family_get_count,
+ ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
+ ftc_basic_gnode_compare_faceid): Adjust parameters and return types
+ to prototypes given in header files from include/freetype/cache.
+ Use casts to proper types locally.
+ (ftc_basic_image_family_class, ftc_basic_image_cache_class,
+ ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
+ casts.
+
+ * src/cache/ftccback.h: Adjust parameters and return types to
+ prototypes given in header files from include/freetype/cache.
+
+ * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
+ ftc_inode_weight): Adjust parameters and return types to prototypes
+ given in header files from include/freetype/cache. Use casts to
+ proper types locally.
+
+ * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
+ ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
+ types to prototypes given in header files from
+ include/freetype/cache. Use casts to proper types locally.
+
+ * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
+ ftc_cmap_node_weight, ftc_cmap_node_compare,
+ ftc_cmap_node_remove_faceid): Adjust parameters and return types to
+ prototypes given in header files from include/freetype/cache. Use
+ casts to proper types locally.
+ (ftc_cmap_cache_class): Remove casts.
+
+ * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
+ ftc_gcache_done): Adjust parameters and return types to prototypes
+ given in header files from include/freetype/cache. Use casts to
+ proper types locally.
+
+ * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
+ ftc_size_node_init, ftc_size_node_reset,
+ ftc_size_node_compare_faceid, ftc_face_node_init,
+ ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
+ return types to prototypes given in header files from
+ include/freetype/cache. Use casts to proper types locally.
+
+ (ftc_size_list_class, ftc_face_list_class): Remove casts.
+
+2004-05-13 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
+ Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
+ (autohint_module_class): Remove casts.
+
+ * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
+ ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
+ ft_outline_glyph_done, ft_outline_glyph_copy,
+ ft_outline_glyph_transform, ft_outline_glyph_bbox,
+ ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
+ to FT_XXXGlyph locally.
+ Use FT_CALLBACK_DEF throughout.
+ (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
+
+ * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
+ bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
+ and do a cast to BDF_CMap locally.
+ (bdf_cmap_class): Remove casts.
+
+2004-05-12 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.h (CFF_Builder): Remove `error'.
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
+ `Memory_Error' with `Fail' und update all users.
+
+2004-05-11 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (T1_ParseState): New
+ enumeration.
+ (T1_BuilderRec): Replace `path_begun' with `parse_state'.
+ Remove `error'.
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
+ `Memory_Error' with `Fail' and update all users.
+ Don't use `builder->error'.
+ Replace `path_begun' with `parse_state' and check parsing states.
+
+ * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
+ Replace `path_begun' with `parse_state' and check parsing states.
+
+2004-05-10 George Williams <gww@silcom.com>
+
+ * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
+ of error -- `avar' is optional so we can't rely on tt_done_blend
+ being called automatically.
+
+2004-05-09 George Williams <gww@silcom.com>
+
+ * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
+ error handling.
+
+2004-05-07 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
+ pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
+ pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
+ typecast to the proper PFR_XXX types within the function.
+ Update code accordingly.
+
+ * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
+ pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
+ arguments which are typecast to the proper PFR_XXX types within the
+ function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (pfr_metrics_service_rec, pfr_driver_class): Remove casts.
+
+2004-05-06 Masatake YAMATO <jet@gyve.org>
+
+ * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
+ (*): Rename local variable OffsetToData to offsetToData.
+
+2004-05-06 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
+ cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
+ root fields directly.
+ * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
+ frame before calling TT_Vary_Get_Glyph_Deltas.
+
+ * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
+ consistency.
+ (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
+ pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
+ are typecast to the proper PCF_XXX types within the function.
+ Update code accordingly.
+ (pcf_cmap_class): Remove casts.
+ (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
+ PCF_XXX but FT_XXX arguments which are typecast to the proper
+ PCF_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (PCF_Set_Point_Size): New wrapper function.
+ (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
+ (pcf_driver_class): Remove casts.
+
+2004-05-04 Steve Hartwell <shspamsink@comcast.net>
+
+ * src/truetype/ttobjs.c (tt_driver_done): Fix typo.
+
+2004-05-04 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
+ BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
+ are typecast to the proper BDF_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (BDF_Set_Point_Size): New wrapper function.
+ (bdf_driver_class): Remove casts.
+
+ * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
+ Don't use CFF_XXX but FT_XXX arguments which are typecast to the
+ proper CFF_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (cff_driver_class): Remove casts.
+
+ * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
+ cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
+ cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
+ Don't use CFF_XXX but FT_XXX arguments which are typecast to the
+ proper CFF_XXX types within the function.
+ Update code accordingly.
+ (cff_point_size_reset): New wrapper function.
+
+ * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
+ cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
+ cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
+ Don't use CID_XXX but FT_XXX arguments which are typecast to the
+ proper CID_XXX types within the function.
+ Update code accordingly.
+ (cid_point_size_reset): New wrapper function.
+
+ * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
+ Don't use CID_XXX but FT_XXX arguments which are typecast to the
+ proper CID_XXX types within the function.
+ Update code accordingly.
+
+ * src/cid/cidriver.c (cid_get_interface):
+ Don't use CID_XXX but FT_XXX arguments which are typecast to the
+ proper CID_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF.
+ (t1cid_driver_class): Remove casts.
+
+ * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
+ * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
+ variables (this is done later).
+ (ft_var_load_avar): Fix call to FT_FRAME_ENTER.
+ (TT_Get_MM_Var): Fix size for `fvar_fields'.
+ (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
+ correctly.
+
+ * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
+ current size is zero.
+
+2004-05-03 Steve Hartwell <shspamsink@comcast.net>
+
+ * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
+ tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
+ tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
+ typecast to the proper TT_XXX types within the function.
+ Update code accordingly.
+
+ * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
+ Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
+ FT_XXX arguments which are typecast to the proper TT_XXX types
+ within the function.
+ Update code accordingly.
+ (tt_driver_class): Remove casts.
+
+2004-05-02 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
+ is not NULL. Reported by Gordon Childs <gchilds@quickcut.com.au>.
+
+2004-04-29 Werner Lemberg <wl@gnu.org>
+
+ * docs/formats.txt: Add more information on PFR format.
+
+2004-04-28 Werner Lemberg <wl@gnu.org>
+
+ * docs/formats.txt: New file.
+ * docs/CHANGES: Updated.
+
+2004-04-28 Masatake YAMATO <jet@gyve.org>
+
+ * include/freetype/internal/tttypes.h (GX_BlendRec_)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
+
+ * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
+
+2004-04-27 Masatake YAMATO <jet@gyve.org>
+
+ * src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
+ for function declarations.
+
+2004-04-25 George Williams <gww@silcom.com>
+
+ * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
+
+2004-04-25 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/Jamfile, docs/CHANGES: Updated.
+
+2004-04-24 Werner Lemberg <wl@gnu.org>
+
+ * src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
+ * src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
+ * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
+ Use FT_BEGIN_HEADER and FT_END_HEADER.
+ Use FT_LOCAL.
+
+2004-04-24 George Williams <gww@silcom.com>
+
+ Add support for Apple's distortable font technology (in GX fonts).
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
+
+ * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
+ FT_MM_Var): New structures.
+ (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
+ FT_Set_Var_Blend_Coordinates): New function declarations.
+
+ * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
+ FT_Set_Var_Design_Func): New typedefs.
+ Update MultiMasters service.
+
+ * include/freetype/internal/tttypes.h
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
+ (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
+ (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
+ and `blend'.
+
+ * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
+ macros.
+
+ * include/freetype/internal/fttrace.h: Add `ttgxvar'.
+
+ * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
+ FT_Set_Var_Blend_Coordinates): New functions.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
+ flag for GX var fonts.
+
+ * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
+
+ * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.c.
+
+ * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
+ (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
+ New service.
+ (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
+
+ * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.h.
+ (TT_Process_Simple_Glyph, load_truetype_glyph)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.
+
+ * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.h.
+ (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
+ tt_done_blend.
+
+ * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.h.
+ (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
+ tt_face_vary_cvt.
+
+ * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
+
+ * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
+ and T1_Set_Var_Design.
+
+ * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
+ (T1_Get_MM_Var, T1_Set_Var_Design): New functions.
+
+ * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
+ function declarations.
+
+2004-04-23 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
+ declaration and move to...
+ * include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
+ (FREETYPE_PATCH): Set to 9.
+
+ * src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
+
+ * builds/unix/configure.ac (version_info): Set to 9:7:3.
+ * builds/unix/configure: Updated.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/218/219/.
+
+ * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+ s/2.1.8/2.1.9/.
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-04-21 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
+ (ps_parser_load_field): Use FT_CHAR_BIT.
+
+2004-04-21 David Turner <david@freetype.org>
+
+
+ * Version 2.1.8 released.
+ =========================
+
+
+ * src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
+
+ * src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
+ (af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
+ Remove compiler warnings.
+
+ * src/autofit/aftypes.h: Undefine AF_DEBUG.
+
+ * src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
+ pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
+ (ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
+ t42_service_ps_font_name): Decorate data arrays with `const' to
+ avoid populating the `.data' segment.
+
+ * src/lzw/Jamfile: New file.
+
+2004-04-20 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psobjs.c (T1Radix): Renamed to...
+ (ps_radix): This.
+ Update current cursor position.
+
+ * docs/CHANGES: Updated.
+
+2004-04-18 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
+ src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
+ FT_UInt. From Lex Warners.
+
+2004-04-17 Chisato Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp>
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
+ from 2004-03-19.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
+
+ * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
+ `static'.
+ Remove unused function `RepadBitmap'.
+ * src/pcf/pcfdrivr.c: Don't include pcfutil.h.
+
+2004-04-16 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype-config.in (usage): Fix and improve usage
+ information.
+
+2004-04-15 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
+ FT_CHAR_BIT.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
+ glyph is vertically distorted or mirrored.
+
+ * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
+ for embedded bitmaps.
+
+ * docs/CHANGES: Updated.
+
+2004-04-15 bytesoftware <bytesoftware@btinternet.com>
+
+ * include/freetype/config/ftconfig.h, src/base/ftstream.c
+ (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
+
+2004-04-14 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
+
+2004-04-14 Alex Strelnikov <ptktyrf@mail.ru>
+
+ * src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
+ of error.
+
+2004-04-14 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
+ * builds/unix/configure.ac: Don't try to remove `-ansi' compilation
+ switch on the Mac.
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.6.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.8a.
+ * builds/unix/configure: Regenerated with autoconf 2.59a.
+
+2004-04-13 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftconfig.h: Use CHAR_BIT to define
+ size of FT_SIZEOF_xxx.
+
+2004-04-12 Chisato Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp>
+
+ * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
+ TT_Load_SBit_Metrics_Func): New typedefs.
+ (SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
+
+ * src/sfnt/sfdriver.c (sfnt_interface): Updated.
+ * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
+ declarations.
+ * src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
+ (tt_find_sbit_image): This.
+ Updated all callers.
+ (load_sbit_metrics): Renamed to...
+ (tt_load_sbit_metrics): This.
+ Updated all callers.
+
+2004-04-12 Werner Lemberg <wl@gnu.org>
+
+ * configure: Accept makepp also.
+
+ * builds/unix/detect.mk: Use proper path to unix-def.mk.
+ * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
+ * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
+ Use BUILD_DIR.
+
+ * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
+ documentation on makepp.
+
+2004-04-11 Werner Lemberg <wl@gnu.org>
+
+ * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
+
+2004-04-10 Werner Lemberg <wl@gnu.org>
+
+ * src/lzw/ftlzw.c: Include zopen.h dependent on
+ FT_CONFIG_OPTION_USE_LZW.
+
+ * src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
+
+2004-04-02 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.2.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.8a.
+ * builds/unix/configure: Regenerated with autoconf 2.59a.
+
+2004-04-01 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
+ AC_COMPILE_IFELSE.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.8a.
+ * builds/unix/configure: Regenerated with autoconf 2.59a.
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `texinfo' CVS module at subversions.gnu.org.
+ * builds/freetype.mk (refdoc): Updated.
+
+2004-03-31 Werner Lemberg <wl@gnu.org>
+
+ Handle broken FNT files which don't have a trailing NULL byte
+ in the face name string.
+
+ * src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
+ * src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
+ (FNT_Face_Init): Append a final zero byte to the font face name.
+
+2004-03-30 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
+ 2004-03-19.
+
+2004-03-27 Werner Lemberg <wl@gnu.org>
+
+ * src/base/descrip.mms (OBJS): Add ftbbox.obj.
+
+2004-03-26 George Williams <gww@silcom.com>
+
+ Add vertical phantom points.
+
+ * include/freetype/internal/tttypes.h (TT_LoaderRec): Add
+ `top_bearing', `vadvance', `pp3, and `pp4'.
+
+ * src/autofit/afloader.c (af_loader_load_g): Handle two more points.
+
+ * src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
+ * src/truetype/ttgload.c (Get_VMetrics): New function.
+ (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
+ points.
+ (load_truetype_glyph): Use Get_VMetrics.
+ Handle two more points.
+ (compute_glyph_metrics): Thanks to vertical phantom points we now
+ can always compute `advance_height' and `top_bearing'.
+ * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
+ points.
+
+
+ * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
+ `news'.
+
+2004-03-21 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
+
+2004-03-20 Steve Hartwell <shspamsink@comcast.net>
+
+ * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
+ value for `selection' as `select all'.
+
+2004-03-19 Steve Hartwell <shspamsink@comcast.net>
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
+ values > 0 if loading non-TTC fonts.
+
+ * src/base/ftmac.c (open_face_from_buffer): Set positive face_index
+ to zero before calling FT_Open_Face.
+
+ * docs/CHANGES: Updated.
+
+2004-03-04 Werner Lemberg <wl@gnu.org>
+
+ * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
+ Add LZW module.
+
+ * Jamfile.in: Removed.
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
+ s/ABS/FT_ABS/. Updated all callers.
+
+ * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
+ (PCF_Face_Init): Use FT_ERROR_BASE.
+
+2004-03-04 Albert Chin <china@thewrittenword.com>
+
+ Add support for PCF fonts compressed with LZW (extension .pcf.Z,
+ created with `compress').
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (FT_CONFIG_OPTION_USE_LZW): New macro.
+
+ * include/freetype/ftlzw.h: New file.
+ * include/freetype/config/ftheader.h (FT_LZW_H): New macro for
+ ftlzw.h.
+
+ * src/lzw/*: New files.
+
+ * src/pcf/pcfdrivr.c: Include FT_LZW_H.
+ (PCF_Face_Init): Try LZW also.
+
+ * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
+ Beautify.
+
+2004-03-03 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
+
+2004-03-02 Werner Lemberg <wl@gnu.org>
+
+ Add embedded bitmap support to CFF driver.
+
+ * src/cff/cffobjs.h (CFF_SizeRec): New structure.
+
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+ (cff_slot_load): Updated.
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
+
+ * src/cff/cffobjs.c (sbit_size_reset)
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
+ (cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
+ (cff_size_reset): Updated.
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
+
+ * src/cff/cffdrivr.c (Load_Glyph): Updated.
+ (cff_driver_class): Use CFF_SizeRec.
+
+ * docs/CHANGES: Updated.
+
+2004-03-01 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
+ FT_RoundFix but FT_PIX_ROUND.
+ (psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
+
+ * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
+ (psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
+ (psh_glyph_find_blue_points): New function. Needed for fonts like
+ p052003l.pfb (URW Palladio L Roman) which have flex curves at the
+ base line within blue zones, but the flex curves aren't covered by
+ hints.
+ (ps_hints_apply): Use psh_glyph_find_blue_points.
+
+2004-02-27 Garrick Meeker <garrick@digitalanarchy.com>
+
+ * builds/unix/configure.ac: Fix compiler flags for
+ `--with-old-mac-fonts'.
+ * builds/unix/configure: Regenerated.
+
+ * src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
+ (FT_New_Face_From_Resource): New function.
+ (FT_New_Face): Use FT_New_Face_From_Resource.
+ (FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
+ [__MWERKS__]: Don't include FSp_fopen.h.
+
+2004-02-26 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshglob.c (psh_globals_new): Fix value of
+ `dim->stdw.count'.
+ Don't assign default values to blue scale and blue shift.
+
+2004-02-25 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-02-25 Garrick Meeker <garrick@digitalanarchy.com>
+ Steve Hartwell <shspamsink@comcast.net>
+
+ Improve MacOS fond support. Provide a new API
+ `FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
+
+ * src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
+ STREAM_FILE [__MWERKS__]: New macro.
+ (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
+ (file_spec_from_path) [__MWERKS__]: Updated #if statement.
+ (get_file_type, make_lwfn_spec): Use `const' for argument.
+ (is_dfont) [TARGET_API_MAC_CARBON]: Removed.
+ (count_face_sfnt, count_faces): New functions.
+ (parse_fond): Do some range checking.
+ (read_lwfn): Change type of second argument.
+ No longer call FSpOpenResFile.
+ (OpenFileAsResource): New function.
+ (FT_New_Face_From_LWFN): Use `const' for second argument.
+ Use OpenFileAsResource.
+ (FT_New_Face_From_Suitcase): Change type of second argument.
+ No longer call FSpOpenResFile.
+ Loop over all resource indices.
+ (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
+ (FT_GetFile_From_Mac_Name): Use `const' for first argument.
+ (ResourceForkSize): Removed.
+ (FT_New_Face): Updated to use new functions.
+ (FT_New_Face_From_FSSpec): New function.
+
+ * include/freetype/ftmac.h: Updated.
+
+2004-02-24 Malcolm Taylor <mtaylor@clear.net.nz>
+
+ * src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
+ Handle case where outline->num_vedges is zero while computing hinted
+ metrics.
+
+2004-02-24 Gordon Childs <gchilds@quickcut.com.au>
+
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
+ for `count'.
+
+2004-02-24 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/t1tables.h (PS_PrivateRec): Add
+ `expansion_factor'.
+
+ * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
+ of blues->no_overshoots -- `blues_scale' is stored with a
+ magnification of 1000, and `scale' returns fractional pixels.
+
+ * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
+ `blue_fuzz', `expansion_factor', and `blue_scale' according to the
+ Type 1 specification.
+
+ * src/type1/t1tokens.h: Handle `ExpansionFactor'.
+
+ * docs/CHANGES: Updated.
+
+2004-02-24 Masatake YAMATO <jet@gyve.org>
+
+ Provide generic access to MacOS resource forks.
+
+ * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
+ files.
+
+ * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
+ (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
+ `resource_listoffset' and `resource_data' and adapt code
+ accordingly. These values are calculated outside of the function
+ now.
+ Add new argument `offsets'.
+ (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
+ `FT_Raccess_Get_DataOffsets'.
+ (load_face_in_embedded_rfork): New function.
+ (load_mac_face): Use load_face_in_embedded_rfork.
+ (ft_input_stream_new): Renamed to...
+ (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers.
+ (ft_input_stream_free): Renamed to...
+ (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers.
+
+ * src/base/ftbase.c: Include ftrfork.c.
+
+ * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
+ New macro.
+
+ * include/freetype/internal/fttrace.h: Added `rfork' as a new
+ trace definition.
+
+ * include/freetype/internal/ftstream.h: Declare FT_Stream_New and
+ FT_Stream_Free.
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
+
+ * include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
+
+2004-02-23 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
+
+2004-02-23 Masatake YAMATO <jet@gyve.org>
+
+ Provide a simple API to control FreeType's tracing levels.
+
+ * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
+ FT_Trace_Get_Name): New declarations.
+
+ * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
+ functions.
+
+2004-02-23 David Turner <david@freetype.org>
+
+ * src/autofit/afhints.c, src/autofit/afhints.h,
+ src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
+ bugs have been fixed. The auto-fitter works, doesn't crash, but
+ still produces unexpected results...
+
+2004-02-21 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
+ the accepted shift for strong points in fractional pixels (which
+ is a heuristic value).
+ (psh_glyph_find_strong_points): Compute threshold for
+ psh_hint_table_find_strong_points.
+ (psh_hint_table_find_strong_point): Add parameter to pass threshold.
+
+2004-02-20 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
+ ps_mask_table_alloc but ps_mask_table_last.
+ (ps_hints_t2mask): Use correct position and number for vertical
+ and horizontal hinter mask bits.
+
+ * docs/CHANGES: Updated.
+
+2004-02-19 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
+ * src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
+
+2004-02-18 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
+
+ * src/base/ftglyph.c (ft_bitmap_glyph_class,
+ ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render): Handle
+ FT_RENDER_MODE_LIGHT.
+
+2004-02-17 Werner Lemberg <wl@gnu.org>
+
+ Fix callback functions in cache module.
+
+ * src/cache/ftccback.h: New file for callback declarations.
+
+ * src/cache/ftcbasic.c (ftc_basic_family_compare,
+ ftc_basic_family_init, ftc_basic_family_get_count,
+ ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
+ ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
+ (ftc_basic_image_family_class, ftc_basic_image_cache_class,
+ ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
+ Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
+
+ * src/cache/ftccache.c: Include ftccback.h.
+ (ftc_cache_init, ftc_cache_done): New wrapper functions which use
+ FT_LOCAL_DEF.
+
+ * src/cache/ftccmap.c: Include ftccback.h.
+ (ftc_cmap_cache_class): Use local wrapper functions.
+
+ * src/cache/ftcglyph.c: Include ftccback.h.
+ (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
+ functions which use FT_LOCAL_DEF.
+
+ * src/cache/ftcimage.c: Include ftccback.h.
+ (ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
+ functions which use FT_LOCAL_DEF.
+
+ * src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
+ Use FT_CALLBACK_TABLE_DEF.
+
+ * src/cache;/ftcsbits.c: Include ftccback.h.
+ (ftc_snode_free, ftc_snode_new, ftc_snode_weight,
+ ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
+
+ * src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
+
+2004-02-17 Masatake YAMATO <jet@gyve.org>
+
+ * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
+ (FT_EXPORT_DEF -> FT_EXPORT).
+
+ * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
+
+2004-02-15 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
+
+2004-02-14 Masatake YAMATO <jet@gyve.org>
+
+ * builds/unix/ftsystem.c: Include errno.h.
+ (ft_close_stream): Renamed to...
+ (ft_close_stream_by_munmap): This.
+ (ft_close_stream_by_free): New function.
+ (FT_Stream_Open): Use fallback method if mmap fails.
+ Use proper function for closing the stream.
+
+2004-02-14 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_dict): Initialize `start_binary'.
+
+2004-02-13 Robert Etheridge <roberte@stcc.cc.tx.us>
+
+ * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
+ (T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
+ of underline_position and underline_thickness.
+
+2004-02-12 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
+ ppem values don't change. Suggested by Graham Asher.
+
+2004-02-11 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidload.c (cid_face_open): Always allocate
+ face->cid_stream so that we can deallocate it safely.
+
+2004-02-10 Werner Lemberg <wl@gnu.org>
+
+ Make the PS parser more tolerant w.r.t. non-standard font data. In
+ general, an error is only reported in case of a syntax error; a
+ wrong type is now simply ignored (if possible). To be independent
+ of the order of various MM-specific keywords, the parse_shared_dict
+ routine has been removed -- the PS parser is now capable to skip
+ this data. It no longer fails on parsing e.g.
+
+ dup /WeightVector exch def
+
+ Since the token following /WeightVector isn't `[' (starting an
+ array) it is simply ignored.
+
+ * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
+ new internal error value.
+
+ * src/type1/t1load.c (parse_blend_axis_types,
+ parse_blend_design_positions, parse_blend_design_map): Return
+ T1_Err_Ignore if no proper array is following the keyword.
+ (parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
+ structure, if necessary.
+ Return T1_Err_Ignore if no proper array is following the keyword.
+ (parse_shared_dict): Removed.
+ (parse_encoding): Set parser->root.error to return T1_Err_Ignore
+ if no result can be obtained.
+ Check for errors before accessing `elements' array.
+ (t1_keywords): Remove /shareddict.
+ (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
+ Set keyword_flag only in case of success.
+ Check error code if skipping an unrecognized token.
+ (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
+ if blend commands haven't set up a proper MM font.
+
+ * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
+ code for synthetic fonts.
+ Return PSaux_Err_Ignore if no proper value has been found.
+
+2004-02-09 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ <cff_op_endchar>: Preserve glyph width before calling
+ cff_operator_seac.
+
+2004-02-09 Martin Muskens <mmuskens@aurelon.com>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
+ first argument for `hintmask' and `cntrmask' operators also.
+
+2004-02-08 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.in: Call AC_SUBST for `enable_shared',
+ `hardcode_libdir_flag_spec', and `wl'.
+ * builds/unix/configure: Regenerated.
+
+ * builds/unix/freetype-config.in: Make --prefix and --exec-prefix
+ actually work.
+ Report a proper --rpath (or -R) value for --libs argument if a
+ shared library has been built.
+
+ * docs/CHANGES: Updated.
+
+2004-02-07 Keith Packard <keithp@keithp.com>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
+ computation of various vertical and horizontal metric values.
+
+ * src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
+ Ditto.
+
+2004-02-07 Werner Lemberg <wl@gnu.org>
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
+
+2004-02-07 Vitaliy Pasternak <v_a_pasternak@mail.ru>
+
+ * builds/win32/visualc/freetype.sln,
+ builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
+
+2004-02-03 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
+ Initialize `node'.
+ * src/type1/t1load.c (parse_dict): Initialize `have_integer'.
+
+2004-02-02 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
+ outside of /Subrs or /CharStrings. This can happen if there is
+ additional code manipulating those two arrays so that FreeType
+ doesn't recognize them properly.
+ (T1_Open_Face): Improve an error message.
+
+2004-02-01 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_charstrings): Exit immediately if
+ there are no elements in /CharStrings. This is needed for fonts
+ like Optima-Oblique which not only define /CharStrings but access it
+ also.
+
+2004-02-01 David Turner <david@freetype.org>
+
+ * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
+ <FTC_INLINE>: Provide macro version which doesn't use inline code.
+ * include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
+ <FTC_INLINE>: Ditto.
+ Use FTC_MRULIST_LOOKUP_CMP.
+ * include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
+ macro.
+ (FTC_MRULIST_LOOKUP): Use it.
+
+ * src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
+ * src/cache/ftcbasic.c: Fix compiler warnings.
+ * src/cache/ftcmanag.c (FTC_Manager_LookupSize,
+ FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
+ * src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
+ heavy testing).
+
+ * Jamfile: Updating `refdoc' target, and adding `autohint' to the
+ list of modules to build. Both the autohinter and autofitter will
+ be built by default. But which one will be used is determined by
+ the content of `ftmodule.h'.
+
+ * src/autofit/*: Many updates, but the code is still buggy...
+
+2004-01-31 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
+ accent offset.
+ Update code similarly to the seac support for Type 1 fonts.
+ (cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
+ of accent offset.
+ Don't hint glyphs twice if seac is emulated.
+ <cff_op_flex>: Assign correct point tags.
+ * docs/CHANGES: Updated.
+
+2004-01-30 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
+ FT_MEM_COPY, for copying the private dict.
+
+ * src/type1/t1load.c (parse_subrs): Assign number of subrs only
+ in first run.
+ (parse_charstrings): Parse /CharStrings in second run without
+ assigning values.
+ (parse_dict): Skip all /CharStrings arrays but the first. We need
+ this for non-standard fonts like `Optima' which have different
+ outlines depending on the resolution. Note that there is no
+ guarantee that we get fitting /Subrs and /CharStrings arrays; this
+ can only be done by a real PS interpreter.
+
+2004-01-29 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * builds/win32/visualc/index.html: New file, giving detailed
+ explanations about forcing CR+LF line endings for the VC++ project
+ files.
+
+2004-01-22 Garrick Meeker <garrick@digitalanarchy.com>
+
+ * src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
+
+2004-01-22 Werner Lemberg <wl@gnu.org>
+
+ Add support for the hexadicimal representation of binary data
+ started with `StartData' in CID-keyed Type 1 fonts.
+
+ * include/freetype/internal/t1types.h (CID_FaceRec): Add new
+ members `binary_data' and `cid_stream'.
+
+ * src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
+ (cid_hex_to_binary): New auxiliary function.
+ (cid_face_open): Add new argument `face_index' to return quickly
+ if less than zero. Updated all callers.
+ Call `cid_hex_to_binary', then open and assign memory stream to
+ `face->cid_stream' if `parser->binary_length' is non-zero.
+ * src/cid/cidload.h: Updated.
+
+ * src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
+ `cid_stream'.
+
+ * src/cid/cidparse.c (cid_parser_new): Check arguments to
+ `StartData' and set parser->binary_length accordingly.
+ * src/cid/cidparse.h (CID_Parser): New member `binary_length'.
+
+ * src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
+
+ * docs/CHANGES: Updated.
+
+2004-01-21 Werner Lemberg <wl@gnu.org>
+
+ include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
+ (ft_atol): This.
+ * src/base/ftdbgmem.c: s/atol/ft_atol/.
+ * src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
+
+2004-01-20 Masatake YAMATO <jet@gyve.org>
+
+ * include/freetype/ftcache.h: Delete duplicated definition of
+ FTC_FaceID.
+
+ * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
+ Info service function if the cmap comes from sfnt. Return 0 if the
+ cmap is sythesized in cff module.
+
+2004-01-20 David Turner <david@freetype.org>
+
+ * src/cache/ftcmanag.c (ftc_size_node_compare): Call
+ FT_Activate_Size.
+
+2004-01-20 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
+ CR, LF, or CR/LF after `eexec'.
+
+2004-01-18 David Turner <david@freetype.org>
+
+ * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
+ warning.
+
+ * src/tools/docmaker/*: Updating beautifier tool.
+
+2004-01-15 David Turner <david@freetype.org>
+
+ * src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
+ infinite loop bug.
+
+ * include/freetype/ftstroke.h: Include FT_GLYPH_H.
+ (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
+ declarations.
+
+ * src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
+ (FT_Outline_GetOutsideBorder): Inverse result.
+ (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New
+ functions.
+ (FT_Stroker_EndSubPath): Close path if needed.
+ (FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
+
+ * include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
+ FTC_Manager_LookupSize): Moved to...
+ * include/freetype/ftcache.h (FTC_ScalerRec,
+ FTC_Manager_LookupSize): Here.
+
+ * src/tools/docmaker/docbeauty.py: New file to beautify the
+ documentation comments (e.g., to convert them to single block border
+ mode).
+ * src/tools/docmaker/docmaker.py (file_exists, make_file_list):
+ Moved to...
+ * src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
+
+2004-01-14 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
+ FT_ARRAY_MOVE): New macros to make copying arrays easier.
+ Updated all relevant code to use them.
+
+2004-01-14 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
+ Use number of charstrings as argument to CFF_Load_FD_Select (as
+ documented in the CFF specs).
+
+2004-01-13 Graham Asher <graham.asher@btinternet.com>
+
+ * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
+ `glyph->memory' up to free arrays properly in case of failure.
+
+2004-01-10 Masatake YAMATO <jet@gyve.org>
+
+ Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by
+ Steve Hartwell <shspamsink@comcast.net>.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
+ (cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
+ (cff_get_cmap_info): New function.
+ (cff_service_get_cmap_info) New entry for cff_services.
+
+ * src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
+ Suggested by Steve Hartwell <shspamsink@comcast.net>.
+
+2004-01-03 Masatake YAMATO <jet@gyve.org>
+
+ * src/base/ftobjs.c (destroy_charmaps): New function.
+ (destroy_face, open_face): Use `destroy_charmaps'.
+
+2004-01-01 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2004-01-01 Michael Jansson <mjan@em2-solutions.com>
+
+ * src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
+ size->metrics.descender.
+
+2003-12-31 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ [FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
+ <cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
+ cast for accessing arguments.
+
+2003-12-31 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
+ change. It's not necessary.
+
+2003-12-29 Smith Charles <smith.charles@free.fr>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
+ flags set' correctly.
+
+2003-12-29 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
+ `full' and `weight' properly.
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ <cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
+ tracing output.
+
+2003-12-26 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
+ Use FT_UInt for ppem values.
+ * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
+ ppem values.
+ * src/sfnt/ttsbit.h: Updated.
+
+ * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
+ larger than -0FFFF.
+
+2003-12-25 Werner Lemberg <wl@gnu.org>
+
+ * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
+ FT_INTERNAL_OBJECTS_H.
+
+ * src/base/ftstroke.c (FT_Outline_GetInsideBorder,
+ FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
+ C++ compilers.
+
+ * src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
+ s/select/selection/ to avoid compiler warning.
+ * src/cff/cffload.h: s/select/ftselect/ to avoid potential
+ compiler warning.
+
+2003-12-24 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftcsbits.c (FTC_SNode_Weight):
+ s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
+
+2003-12-24 David Turner <david@freetype.org>
+
+ * Fixed compilation problems in the cache sub-system.
+
+ * Partial updates to src/autofit.
+
+ * Jamfile (FT2_COMPONENTS): Add autofit module.
+
+2003-12-23 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
+ CID-keyed fonts.
+
+2003-12-23 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
+ FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros. They
+ are used to avoid compiler warnings with very pedantic compilers.
+ Note that `(x) & -64' causes a warning if (x) is not signed. Use
+ `(x) & ~63' instead!
+ Updated all related code.
+
+ Add support for extraction of `inside' and `outside' borders.
+
+ * src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
+ (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
+ FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
+ (FT_StrokeBorderRec): New boolean member `valid'.
+ (ft_stroke_border_get_counts): Updated.
+ * include/freetype/ftstroke.h: Updated.
+
+2003-12-22 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
+ to describe the `charset' field in FT_WinFNT_HeaderRec.
+ * src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
+ FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
+
+ * include/freetype/freetype.h (FT_Encoding): Improve comment,
+ based on work by Detlef Würkner <TetiSoft@apg.lahn.de>.
+
+ * docs/CHANGES: Updated.
+
+2003-12-22 David Turner <david@freetype.org>
+
+ * include/freetype/ftcache.h,
+ include/freetype/cache/ftcmanag.h,
+ include/freetype/cache/ftccache.h,
+ include/freetype/cache/ftcmanag.h,
+ include/freetype/cache/ftcmru.h (added),
+ include/freetype/cache/ftlru.h (removed),
+ include/freetype/cache/ftcsbits.h,
+ include/freetype/cache/ftcimage.h,
+ include/freetype/cache/ftcglyph.h,
+ src/cache/ftcmru.c,
+ src/cache/ftcmanag.c,
+ src/cache/ftccache.c,
+ src/cache/ftcglyph.c,
+ src/cache/ftcimage.c,
+ src/cache/ftcsbits.c,
+ src/cache/ftccmap.c,
+ src/cache/ftcbasic.c (added),
+ src/cache/ftclru.c (removed):
+
+ *Complete* rewrite of the cache sub-system to `solve' the
+ following points:
+
+ - all public APIs have been moved to FT_CACHE_H, everything
+ under `include/freetype/cache' is only needed by client
+ applications that want to implement their own caches
+
+ - a new function named FTC_Manager_RemoveFaceID to deal
+ with the uninstallation of FaceIDs
+
+ - the image and sbit cache are now abstract classes, that
+ can be extended much more easily by client applications
+
+ - better performance in certain areas. Further optimizations
+ to come shortly anyway...
+
+ - the FTC_CMapCache_Lookup function has changed its signature,
+ charmaps can now only be retrieved by index
+
+ - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
+ FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
+ private header for the moment)
+
+2003-12-21 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
+ is encountered.
+
+2003-12-19 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For
+ example, the Japanese Hiragino font already contains 15 subfonts.
+
+ * src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
+ CID-keyed fonts.
+
+ * devel/ftoption.h: Define FT_DEBUG_MEMORY.
+
+2003-12-18 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
+ * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
+
+2003-12-18 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
+ `cid_count' to `FT_ULong'.
+
+ * src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
+ array.
+
+ * src/cff/cffload.c (cff_charset_done): Free `cids' array.
+ (cff_font_load): Create cids array only for CID-keyed fonts which
+ are subsetted.
+
+ * src/cff/cffobjs.c (cff_face_init): Check the availability of
+ the PSNames modules for non-pure CFFs also.
+ Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
+ CID-keyed.
+
+ * src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
+
+2003-12-17 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_init_face): Don't set
+ FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
+ table.
+
+ * docs/CHANGES: Updated.
+
+2003-12-17 Masatake YAMATO <jet@gyve.org>
+
+ Add new function FT_Get_CMap_Language_ID to extract the language ID
+ for TrueType/sfnt fonts.
+
+ * include/freetype/internal/services/svttcmap.h: New file.
+ * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
+ svttcmap.h.
+
+ * src/sfnt/sfdriver.c: Include ttcmap0.h.
+ (tt_service_get_cmap_info): New service.
+ (sfnt_services): Updated.
+
+ * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
+ (tt_cmap*_class_rec): Add tt_cmap*_get_info members.
+ (tt_get_cmap_info): New function.
+ * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
+ (TT_CMap_ClassRec): New field `get_cmap_info'.
+ (tt_get_cmap_info): New declaration.
+
+ * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
+ (FT_Get_CMap_Language_ID): New function implementation.
+ * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
+ function declaration.
+
+2003-12-16 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete.
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface): Remove
+ obsolete fields `load_charmap' and `free_charmap'.
+ (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
+ * src/sfnt/sfnt.c: Don't include ttcmap.c.
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
+ * src/sfnt/ttload.c: Don't include ttcmap.h.
+ * src/sfnt/sfdriver.c: Don't include ttcmap.h.
+ (sfnt_interface): Updated.
+
+ * include/freetype/internal/tttypes.h (TT_TableDirRec,
+ TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
+ TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
+ TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
+ TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
+ Obsolete.
+ * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete.
+
+2003-12-15 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2003-12-15 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * builds/atari/*: New directory for building FreeType 2 on Atari
+ with the PureC compiler.
+
+2003-12-12 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
+ cast.
+ * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
+ value is either 0 or 1.
+
+2003-12-12 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
+ (cff_get_name_index): Return if no PSNames service is available.
+ (cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
+ * src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
+ CID-keyed fonts. This is the inverse mapping of `sids'.
+ * src/cff/cffload.c (cff_charset_load): New argument `invert'.
+ Initialize charset->cids if `invert' is set.
+ (cff_font_load): In call to cff_charset_load, set `invert' to true
+ for CID-keyed fonts.
+ * src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
+ and map it to the real glyph index.
+
+ * docs/CHANGES: Updated.
+
+2003-12-11 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Don't set
+ FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
+ Don't construct a cmap for CID-keyed fonts.
+
+2003-12-10 Werner Lemberg <wl@gnu.org>
+
+ Use implementation specific SID value 0xFFFF to indicate that
+ a dictionary element is missing.
+
+ * src/cff/cffload.c (cff_subfont_load): Initialize all fields
+ which hold SIDs to 0xFFFF.
+ (cff_index_get_sid_string): Handle SID value 0xFFFF.
+ Handle case where `psnames' is zero.
+ (cff_font_load): Updated.
+ Don't load encoding for CID-keyed CFFs.
+
+ * src/cff/cffobjs.c (cff_face_init): Updated.
+ Don't check for PSNames module if font is CID-keyed.
+ Compute style name properly (using the same algorithm as in the
+ CID driver).
+ Fix computation of style flags.
+
+ * src/cff/cfftoken.h: Comment out handling of base_font_name.
+ Rename `postscript' field to `embedded_postscript'
+ * src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
+ and `postscript'.
+
+2003-12-10 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
+ of the similar BDF function).
+ (pcf_service_bdf): Use it.
+
+2003-12-09 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
+ only if a `post' table is present.
+
+2003-12-09 George Williams <gww@silcom.com>
+
+ * src/base/ftobjs.c (load_mac_face): Recent versions of Linux
+ support Mac's HFS+ file system, thus enable code to read /rsrc on
+ non-Macintosh platforms also.
+
+2003-12-08 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (PS_TableRec): Change type
+ of `lengths' to FT_PtrDist.
+ (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
+ * include/freetype/internal/t1types.h (T1_FontRec): Change type
+ of `subrs_len' and `charstrings_len' to FT_PtrDist.
+
+ * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
+ variable with better solution.
+ (IsMacResource): Remove unused variable `map_len'.
+ Replace `junk' variable with better solution.
+ (FT_Open_Face) [!FT_MACINTOSH]: Add conditional
+ FT_CONFIG_OPTION_MAC_FONTS.
+
+2003-12-08 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/autohint/ahhint.c (ah_hinter_hint_edges,
+ ah_hinter_align_strong_points): Add some casts.
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
+ of `pos' to FT_Long.
+
+ * src/base/ftobjs.c (Mac_Read_POST_Resource,
+ Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
+
+ * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
+
+2003-12-07 Werner Lemberg <wl@gnu.org>
+
+ * docs/raster.txt: New file, taken from FreeType 1 and completely
+ revised.
+
+2003-12-04 Masatake YAMATO <jet@gyve.org>
+
+ * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
+ t1_interface. t1_interface is used.
+
+2003-11-27 David Turner <david@freetype.org>
+
+ * src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
+ 2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
+ the scaling values for outline units, not for metric units.
+
+2003-11-25 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftcalc.c, include/freetype/internal/ftcalc.h
+ (FT_MulDiv_No_Round): Surround code with `#ifdef
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
+
+2003-11-23 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
+ 64 bit version).
+ * include/freetype/internal/ftcalc.h: Updated.
+
+ * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
+ (TT_INT64): Removed.
+ (DO_DIV): Use TT_MULDIV_NO_ROUND.
+
+ * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
+ metrics->x_scale and metrics->y_scale.
+
+2003-11-22 Rogier van Dalen <R.C.van.Dalen@umail.leidenuniv.nl>
+
+ * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
+ (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
+ functions. Similar to Direct_Move, Direct_Move_X, and
+ Direct_Move_Y but without touching.
+ (Compute_Funcs): Use new functions.
+
+ (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
+ Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
+ Round_Super_45): Fix rounding of value zero.
+
+ (DO_DIV): Don't use TT_MULDIV.
+
+ (Ins_SHC): This instruction actually touches the points.
+ (Ins_MSIRP): Fix undocumented behaviour.
+
+ * src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
+
+2003-11-22 Werner Lemberg <wl@gnu.org>
+
+ * docs/VERSION.DLL, docs/CHANGES: Updated.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
+ metrics->y_scale really precise.
+
+ (FT_Load_Glyph): Update computation of linearHoriAdvance and
+ linearVertAdvance.
+
+ * src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
+
+2003-11-22 David Turner <david@freetype.org>
+
+ * src/autofit/*: More updates.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+ * builds/unix/configure.ac (version_info): Set to 9:6:3.
+ * README: Updated.
+
+2003-11-13 John A. Boyd Jr. <jaboydjr@netwalk.com>
+
+ * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
+ (pcf_interpret_style): Replace spaces with dashes in properties
+ SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
+
+2003-11-11 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2003-11-11 John A. Boyd Jr. <jaboydjr@netwalk.com>
+
+ Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
+ fonts.
+
+ * src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
+ (BDF_Face_Init): Don't handle style properties but call
+ bdf_interpret_style.
+
+ * src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
+ (pcf_load_font): Don't handle style properties but call
+ pcf_interpret_style.
+
+2003-11-07 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.1.7 released.
+ =========================
+
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+ * builds/unix/ft2unix.h: Fix comments.
+
+ * builds/unix/ftconfig.in: Synchronized with ANSI version.
+ Use `#undef' in templates as recommended in the autoconf
+ documentation.
+ Since real `#undef' lines don't survive during configuration, use
+ `/undef' instead; the postprocessing facility of the
+ AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.
+
+ * builds/unix/install.mk (install): Install Unix version of
+ `ftconfig.h'.
+
+ * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
+ to include the correct `ftconfig.h' file.
+
+ * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
+ (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.
+
+ * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.
+
+ * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
+ AC_CONFIG_HEADER to create ftconfig.h, and use second argument
+ to replace `/undef' with `#undef'.
+ Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
+ Use AS_HELP_STRING in AC_ARG_WITH.
+ Update syntax to autoconf 2.59.
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.7.8.
+ * builds/unix/configure: Regenerated with autoconf 2.59.
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `texinfo' CVS module at subversions.gnu.org.
+
+ * builds/vms/ftconfig.h: Synchronized with ANSI version.
+
+ * docs/CUSTOMIZE: Fix documentation error.
+ * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.
+
+ * builds/freetype.mk (refdoc): Updated --title.
+
+2003-11-07 David Turner <david@freetype.org>
+
+
+ * Version 2.1.6 released.
+ =========================
+
+
+ * install: Removed. Obsolete.
+
+2003-11-04 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
+ (sfnt_service_sfnt_table): New service.
+ (sfnt_services): Updated.
+
+ * docs/license.txt: Reworded.
+
+2003-11-03 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/*: Add a guard to all public header files which
+ load FT_FREETYPE_H to reject freetype.h from FreeType 1.
+
+2003-11-02 Patrick Welche <prlw1@newn.cam.ac.uk>
+
+ * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
+ first argument of AC_DEFUN with brackets to avoid possible
+ expansion.
+
+2003-11-02 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/cache/ftcglyph.h: Don't include stddef.h.
+
+ * include/freetype/freetype.h: Fix check for ft2build.h.
+
+2003-11-01 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h: Check that ft2build.h has been
+ loaded first.
+
+ * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
+ patch.
+
+2003-10-31 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
+ Fix parameter order in calls to FT_FACE_FIND_SERVICE.
+
+2003-10-31 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftserv.h
+ (FT_SERVICE_POSTSCRIPT_NAMES_H): Removed. Unused.
+
+ * src/type42/t42drivr.c (t42_services): Updated.
+
+2003-10-29 David Turner <david@freetype.org>
+
+ * include/freetype/internal/bdftypes.h: Removed. Obsolete.
+ * src/base/ftbdf.c: Updated.
+
+ * include/freetype/internal/cfftypes.h: Moved to...
+ * src/cff/cfftypes.h: This place since no other module needs to
+ know about those types.
+
+ * include/freetype/internal/t42types.h: Moved to...
+ * src/type42/t42types.h: This place since no other module needs to
+ know about those types.
+
+ * include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
+
+ * include/freetype/internal/services/svpsname.h: Renamed to...
+ * include/freetype/internal/services/svpscmap.h: This.
+ Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
+ `POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
+
+ * include/freetype/internal/services/svpsinfo.h: New file, providing
+ PostScript info service.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
+ FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
+ svpsinfo.h.
+ * include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
+ FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
+
+ * src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
+ FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
+ FT_SERVICE_POSTSCRIPT_INFO_H.
+ (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
+ POSTSCRIPT_INFO service.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (cff_ps_has_glyph_names): New function.
+ (cff_service_ps_info): New service.
+ (cff_services): Updated.
+
+ * src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
+ include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
+
+ * src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (cid_ps_get_font_info): New function.
+ (cid_service_ps_info): New service.
+ (cid_services): Updated.
+
+ * src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
+ (t1_service_ps_info): New service.
+ (t1_services): Updated.
+
+ * src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
+ (t42_service_ps_info): New service.
+
+ * src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
+ but t42types.h directly.
+
+ * src/psnames/psmodule.c (psnames_interface, psnames_services):
+ Renamed to...
+ (pscmaps_interface, pscmaps_services): This.
+ Updated all users.
+
+
+ * src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
+
+2003-10-22 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
+ is real.
+
+ * src/type42/t42parse.c (t42_parse_encoding): Improve boundary
+ checking while parsing.
+
+ * docs/CHANGES: Updated.
+
+2003-10-21 Josselin Mouette <joss@debian.org>
+
+ * include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
+ and `stroke_width' aren't pointers.
+
+ * src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
+ (T1_Face_Done): Don't free `paint_type' and `stroke_width'.
+
+2003-10-20 Graham Asher <graham.asher@btinternet.com>
+
+ * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
+
+2003-10-19 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
+ 2003-08-18 introduced a severe bug (FT_Render_Glyph was called
+ twice under some circumstances, causing strange results). This
+ is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
+
+ * src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
+ * src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
+ * src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
+
+2003-10-16 Werner Lemberg <wl@gnu.org>
+
+ Completely revised Type 42 parser. It now handles both fonts
+ produced with ttftot42 (tested version 0.3.1) and
+ TrueTypeToType42.ps (tested version May 2001; it is necessary to
+ fix the broken header comment to be `%!PS-TrueTypeFont...').
+
+ * src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
+ parameter to `FT_UInt'.
+ * src/type42/t42objs.h: Updated.
+
+ * src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
+ to FT_Bool.
+ (T42_Loader): Change type of `num_chars' and `num_glyphs' to
+ FT_UInt.
+ Add `swap_table' element.
+ * src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
+ T1_ToCoordArray, T1_ToTokenArray): Removed.
+ (T1_ToBytes): New macro.
+ (t42_is_alpha, t42_hexval): Removed.
+ (t42_is_space): Handle `\0'.
+ (t42_parse_encoding): Updated to use new PostScript parser routines
+ from psaux.
+ Handle `/Encoding [ ... ]' also.
+ (T42_Load_Status): New enumeration.
+ (t42_parse_sfnts): Updated to use new PostScript parser routines
+ from psaux.
+ (t42_parse_charstrings): Updated to use new PostScript parser
+ routines from psaux.
+ Handle `/CharStrings << ... >>' also.
+ Don't expect that /.notdef is the first element in dictionary. Copy
+ code from type1 module to handle this.
+ (t42_parse_dict): Updated to use new PostScript parser routines
+ from psaux.
+ Remove code for synthetic fonts (which can't occur in Type 42
+ fonts).
+ (t42_loader_done): Release `swap_table'.
+
+ * src/psaux/psobjs.c (skip_string): Increase `cur' properly.
+
+ * src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
+ faster.
+
+2003-10-15 Graham Asher <graham.asher@btinternet.com>
+
+ * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
+ (fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
+ _num_bdf_properties), src/gzip/infutil.c (inflate_mask),
+ src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
+ src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
+ (inflate_trees_fixed): Decorate with more `const' to avoid
+ writable global variables which are disallowed on ARM.
+
+2003-10-08 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
+ code specially for synthetic fonts; this is handled elsewhere.
+ (parse_encoding): Remove code specially for synthetic fonts; this is
+ handled elsewhere.
+ Improve boundary checking while parsing.
+ (parse_dict): Improve boundary checking while parsing.
+ Use ft_memcmp to simplify code.
+
+2003-10-07 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
+ fonts properly.
+ (parse_charstrings): Copy correct number of characters into
+ `name_table'.
+
+2003-10-06 Werner Lemberg <wl@gnu.org>
+
+ Heavy modification of the PS parser to handle comments and strings
+ correctly. This doesn't slow down the loading of PS fonts
+ significantly since charstrings aren't affected.
+
+ * include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
+ (ft_isxdigit): This. Updated all callers.
+ (ft_isdigit): New alias to `isdigit'.
+
+ * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
+ `skip_alpha' to `skip_PS_token'.
+ Add parameter to `to_bytes' and change some argument types.
+
+ * src/psaux/psauxmod.c (ps_parser_funcs): Updated.
+ * src/psaux/psobjs.c (ft_char_table): New array to map character
+ codes (ASCII and EBCDIC) of digits to numbers.
+ (OP): New auxiliary macro holding either `>=' or `<' depending on
+ the character encoding.
+ (skip_comment): New function.
+ (skip_spaces): Use it.
+ (skip_alpha): Removed.
+ (skip_literal_string, skip_string): New functions.
+ (ps_parser_skip_PS_token): New function. This is a better
+ replacement of...
+ (ps_parser_skip_alpha): Removed.
+ (ps_parser_to_token, ps_parser_to_token_array): Updated.
+ (T1Radix): Rewritten, using `ft_char_table'.
+ (t1_toint): Renamed to...
+ (ps_toint): This. Update all callers.
+ Use `ft_char_table'.
+ (ps_tobytes): Add parameter to handle delimiters and change some
+ argument types.
+ Use `ft_char_table'.
+ (t1_tofixed): Renamed to...
+ (ps_tofixed): This. Update all callers.
+ Use `ft_char_table'.
+ (t1_tocoordarray): Renamed and updated to...
+ (ps_tocoordarray): This. Update all callers.
+ (t1_tofixedarray): Renamed and updated to...
+ (ps_tofixedarray): This. Update all callers.
+ (t1_tobool): Renamed to...
+ (ps_tobool): This. Update all callers.
+ (ps_parser_load_field): Updated.
+ (ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
+ everywhere.
+ (ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
+ ps_parser_to_fixed_array): Skip spaces. Updated.
+ (ps_parser_to_bytes): Add parameter to handle delimiters and change
+ some argument types. Updated.
+ * src/psaux/psobjs.h: Updated.
+
+ * src/cid/cidload.c (cid_parse_dict): Updated.
+ * src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
+ token was really found.
+ * src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
+ to...
+ (cid_parser_skip_PS_token): This.
+
+ * src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
+ fields.
+ (T1_Skip_Alpha): Replaced with...
+ (T1_Skip_PS_Token): This new macro.
+ * src/type1/t1parse.c (hexa_value): Removed.
+ (T1_Get_Private_Dict): Use `ft_isxdigit' and
+ `psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
+ encoding.
+ After decrypting, replace the four random bytes at the beginning
+ with whitespace.
+ * src/type1/t1load.c (t1_allocate_blend): Use proper error values.
+ (parser_blend_design_positions, parse_blend_design_map,
+ parse_weight_vector): Updated.
+ (is_space): Handle `\f' also.
+ (is_name_char): Removed.
+ (read_binary_data): Updated.
+ (parse_encoding): Use `ft_isdigit'.
+ Updated.
+ (parse_subrs): Updated.
+ (TABLE_EXTEND): New macro.
+ (parse_charstrings): Updated.
+ Provide a workaround for buggy fonts which have more entries in the
+ /CharStrings dictionary then expected; the function now adds some
+ slots and skips entries which still exceed the new limit.
+ (parse_dict): Updated.
+ Terminate on the token `closefile'.
+
+ * src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
+ (T1_Skip_PS_Token): This new macro. Updated all callers.
+ (t42_parse_encoding): Use `ft_isdigit'.
+
+
+ * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
+ success.
+
+2003-10-05 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftmodule.h: Renamed to...
+ * include/freetype/ftmodapi.h: This to avoid duplicate file names.
+ * include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
+
+2003-10-04 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec,
+ FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
+
+2003-10-02 Markus F.X.J. Oberhumer <markus@oberhumer.com>
+
+ * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
+ has four bytes, not two.
+ Fix all users.
+ (fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
+
+2003-10-01 David Turner <david@freetype.org>
+
+ * src/autofit/*: Adding first source files of the new multi-script
+ `auto-fitter'.
+
+ * include/freetype/ftoutln.h (FT_Orientation): New enumeration.
+ (FT_Outline_Get_Orientation): New declaration.
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
+ (ft_orientation_extremum_compute): New auxiliary function.
+ (FT_Outline_Get_Orientation): New function to compute the fill
+ orientation of a given glyph outline.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
+ trivial bug which could crash the font engine when a cached service
+ pointer was retrieved.
+
+2003-09-30 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
+ found.
+
+ * src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
+ IS_T1_SPACE): Removed.
+ (PFB_Tag): Removed.
+ (read_pfb_tag): Don't use PFB_Tag.
+
+ * src/type42/t42parse.c (t42_is_space): Handle `\f' also.
+ (t42_parse_encoding): Handle synthetic fonts.
+
+2003-09-29 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/t1types.h: Don't include
+ FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
+ * src/truetype/ttobjs.c: Don't include
+ FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+2003-09-29 David Turner <david@freetype.org>
+
+ Added new service to handle glyph name dictionaries, replacing the
+ old internal header named `psnames.h' by `services/svpsname.h'.
+ Note that this is different from `services/svpostnm.h' which only
+ handles the retrieval of PostScript font names for a given face.
+ (Should we merge these two services into a single header?)
+
+ * include/freetype/internal/psnames.h: Removed. Most of its
+ contents is moved to...
+ * include/freetype/internal/services/svpsname.h: New file.
+
+ * include/freetype/internal/services/svpostnm.h
+ (FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
+ (FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
+ (PsName): Service named changed to...
+ (PsFontName): This.
+ Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
+ `POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
+
+ * include/freetype/internal/internal.h
+ (FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
+ * include/freetype/internal/psaux.h: Include
+ FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (T1_DecoderRec): Updated type of `psnames'.
+ * include/freetype/internal/t1types.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ Include FT_INTERNAL_OBJECTS_H.
+ * include/freetype/internal/t42types.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H.
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
+ order of parameters. All callers updated.
+ (FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
+ globally, checking all modules.
+ (FT_ServiceCacheRec): Updated.
+ (FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
+ `svpsname.h'.
+
+ * include/freetype/internal/ftobjs.h, src/base/ftobjs.c
+ (ft_module_get_service): New function.
+
+ * src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
+ service.
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
+ * src/cff/cffload.c, src/cff/cffload.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cff_index_get_sid_string): Updated.
+ * src/cff/cffobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cff_face_init): Use new POSTSCRIPT_NAMES service.
+ * src/cff/cffobjs.h: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+ * src/cid/cidobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cid_face_init): Use new POSTSCRIPT_NAMES service.
+ * src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
+
+ * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
+ new POSTSCRIPT_NAMES service.
+ * src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
+ t1_decode_init): Use new POSTSCRIPT_NAMES service.
+ * src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H.
+
+ * src/psnames/psmodule.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (ps_build_unicode_table): Renamed to...
+ (ps_unicodes_init): This.
+ (ps_lookup_unicode): Renamed to...
+ (ps_unicodes_char_index): This.
+ (ps_next_unicode): Renamed to...
+ (ps_unicodes_char_next): This.
+ (psnames_interface): Updated.
+ (psnames_services): New services list.
+ (psnames_get_service): New function.
+ (psnames_module_class): Updated.
+
+ * src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (sfnt_init_face): Use new POSTSCRIPT_NAMES service.
+ * src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (tt_face_get_ps_name): Updated.
+
+ * src/truetype/ttobjs.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+ * src/type1/t1driver.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ * src/type1/t1objs.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (T1_Face_Init): Use new POSTSCRIPT_NAMES service.
+
+ * src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
+ (t42_get_ps_font_name): This.
+ (t42_service_ps_name): Renamed to...
+ (t42_service_ps_font_name): This.
+ (t42_services): Updated.
+ * src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
+ service.
+ * src/type42/t42objs.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+
+ * src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
+ testing its validity. Reported by Henry Maddocks
+ <maddocks@metservice.com>.
+
+2003-09-21 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
+ Fix compilation warning (s/pptr/Pptr/).
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
+ FT_INTERNAL_FNT_TYPES_H): Removed.
+
+2003-09-21 David Turner <david@freetype.org>
+
+ Migrating the PFR and WINFNT drivers to the new service-based
+ internal API.
+
+ * include/freetype/internal/fnttypes.h: Removed. Most of its data
+ are moved to winfnt.h and...
+ * include/freetype/internal/services/svwinfnt.h: New file.
+
+ * include/freetype/internal/pfr.h: Removed. Most of its data are
+ moved to...
+ * include/freetype/internal/services/svpfr.h: New file.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+ FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
+ pointer type argument.
+ Updated all callers.
+ Update macro names of services header files.
+
+ * src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
+
+ * src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
+ FT_INTERNAL_PFR_H.
+ (ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
+ FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
+
+ * src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
+ FT_INTERNAL_FNT_TYPES_H.
+ (FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
+
+ * src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
+ FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
+ (pfr_service_bdf): Updated.
+ (pfr_services): New services list.
+ (pfr_get_service): New function.
+ (pfr_driver_class): Updated.
+
+ * src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
+ FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
+ (winfnt_get_header, winfnt_get_service): New functions.
+ (winfnt_service_rec): New structure providing WINFNT services.
+ (winfnt_services): New services list.
+ (winfnt_driver_class): Updated.
+ * src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
+
+ * src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
+
+ * src/type1/t1driver.c (t1_service_ps_name): Fix typo.
+
+ * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
+ src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
+ src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
+ warnings.
+
+2003-09-19 David Bevan <dbevan@emtex.com>
+
+ * src/type1/t1parse.c (pfb_tag_fields): Removed.
+ (read_pfb_tag): Fix code so that it doesn't fail on end-of-file
+ indicator (0x8003).
+ * docs/CHANGES: Updated.
+
+2003-09-16 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+ FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
+ Ugly, I know, but this is needed for compilation with C++ --
+ maybe someone knows a better solution?
+ Updated all callers.
+
+ * src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
+ C++ compiler warnings.
+
+ * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
+ Fix order of arguments passed to FT_FACE_FIND_SERVICE.
+
+2003-09-15 Werner Lemberg <wl@gnu.org>
+
+ Avoid header files with identical names.
+
+ * include/freetype/internal/services/bdf.h: Renamed to...
+ * include/freetype/internal/services/svbdf.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/glyfdict.h: Renamed to...
+ * include/freetype/internal/services/svgldict.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/multmast.h: Renamed to...
+ * include/freetype/internal/services/svmm.h: This.
+ Add copyright notice.
+ Add FT_BEGIN_HEADER and FT_END_HEADER.
+ * include/freetype/internal/services/sfnt.h: Renamed to...
+ * include/freetype/internal/services/svsfnt.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/postname.h: Renamed to...
+ * include/freetype/internal/services/svpostnm.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/xf86name.h: Renamed to...
+ * include/freetype/internal/services/svxf86nm.h: This.
+ Add copyright notice.
+
+ * include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
+ FT_END_HEADER.
+ Add copyright notice.
+ Update macro names of services header files.
+
+ * builds/freetype.mk (SERVICES_DIR): New variable.
+ (BASE_H): Add services header files.
+
+2003-09-11 Werner Lemberg <wl@gnu.org>
+
+ * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
+
+ * src/cff/cffdrivr.c: Don't load headers twice.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
+ * src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
+
+ * src/cff/cffcmap.c: Include `cfferrs.h'.
+ * src/pfr/pfrdrivr.c: Include `pfrerror.h'.
+ * src/sfnt/sfdriver.c: Include `sferrors.h'.
+ * src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
+
+2003-09-11 David Turner <david@freetype.org>
+
+ Introducing the concept of `module services'. This is the first
+ step towards a massive simplification of the engine's internals, in
+ order to get rid of various numbers of hacks.
+
+ Note that these changes will break source & binary compatibility for
+ authors of external font drivers.
+
+ * include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
+ FT_DUMMY_STMNT): New macros.
+
+ * include/freetype/internal/ftserv.h: New file, containing the new
+ structures and macros to provide `services'.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
+ FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
+ Removed, obsolete.
+ (FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
+
+ * include/freetype/internal/services/bdf.h,
+ include/freetype/internal/services/glyfdict.h,
+ include/freetype/internal/services/postname.h,
+ include/freetype/internal/services/xf86name.h: New files.
+
+ * include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
+ FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
+ to...
+ * include/freetype/internal/services/multmast.h: New file.
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
+ is now of type `FT_Module_Requester'.
+ (SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
+ moved (in modified form) to...
+ * include/freetype/internal/servies/sfnt.h: New file.
+
+ * include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
+ pointer moved (in modified form) to `services/sfnt.h'.
+
+ * include/freetype/ftmodule.h (FT_Module_Interface): Make it a
+ a typedef to `FT_Pointer'.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Add
+ `postscript_name'.
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+ `postscript_name'.
+ Add `services' element.
+ (FT_LibraryRec): Remove `meta_class'.
+
+ * src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
+ (test_font_type): Removed.
+ (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
+ provided in `FT_SERVICE_ID_BDF'.
+
+ * src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
+ (ft_face_get_mm_service): New auxiliary function to get services
+ from `FT_SERVICE_ID_MULTI_MASTERS'.
+ (FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
+ FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
+
+ * src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
+ FT_SERVICE_GLYPH_DICT_H.
+ (ft_service_list_lookup): New function to get a specific service.
+ (destroy_face): Updated.
+ (Mac_Read_POST_Resource): Simplify some code.
+ (IsMacResource): Fix warnings.
+ (FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
+ `FT_SERVICE_ID_GLYPH_DICT'.
+ (FT_Get_Postscript_Name): Use service provided in
+ `FT_SERVICE_ID_POSTSCRIPT_NAME'.
+ (FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
+ `FT_SERVICE_ID_SFNT_TABLE'.
+
+ * src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
+ (FT_Get_X11_Font_Format): Use service provided in
+ `FT_SERVICE_ID_XF86_NAME'.
+
+ * src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
+ FT_SERVICE_XFREE86_NAME_H.
+ (bdf_get_charset_id): New function.
+ (bdf_service_bdf): New structure providing BDF services.
+ (bdf_services): New services list.
+ (bdf_driver_requester): Use `ft_service_list_lookup'.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
+ FT_SERVICE_GLYPH_DICT_H.
+ (cff_service_glyph_dict): New structure providing CFF services.
+ (cff_services): New services list.
+ (cff_get_interface): Use `ft_service_list_lookup'.
+
+ * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
+ FT_SERVICE_XFREE86_NAME_H.
+ (cid_service_ps_name): New structure providing CID services.
+ (cid_services): New services list.
+ (cid_get_interface): Use `ft_service_list_lookup'.
+
+ * src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
+ FT_SERVICE_XFREE86_NAME_H.
+ (pcf_service_bdf): New structure providing PCF services.
+ (pcf_services): New services list.
+ (pcf_driver_requester): Use `ft_service_list_lookup'.
+
+ * src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
+ FT_SERVICE_POSTSCRIPT_NAME_H.
+ (get_sfnt_glyph_name): Renamed to...
+ (sfnt_get_glyph_name): This.
+ (get_sfnt_postscript_name): Renamed to...
+ (sfnt_get_ps_name): This.
+ Updated.
+ (sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
+ providing services.
+ (sfnt_services): New services list.
+ (sfnt_get_interface): Use `ft_service_list_lookup'.
+
+ * src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
+ (tt_services): New services list.
+ (tt_get_interface): Use `ft_service_list_lookup'.
+
+ * src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
+ FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
+ FT_SERVICE_POSTSCRIPT_NAME_H.
+ (t1_service_glyph_dict, t1_service_ps_name,
+ t1_service_multi_masters): New structures providing Type 1 services.
+ (t1_services): New services list.
+ (Get_Interface): Use `ft_service_list_lookup'.
+
+ * src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
+ FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
+ (t42_service_glyph_dict, t42_service_ps_name): New strucures
+ providing Type 42 services.
+ (t42_services): New services list.
+ (T42_Get_Interface): Use `ft_service_list_lookup'.
+
+
+ * README, docs/CHANGES: Updating version numbers for 2.1.6, and
+ removing obsolete warnings in the documentation.
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+ * builds/unix/configure.ac (version_info): Set to 9:5:3.
+ * builds/unix/configure: Regenerated.
+
+ * include/freetype/internal/ftcore.h,
+ include/freetype/internal/ftexcept.h,
+ include/freetype/internal/fthash.h,
+ include/freetype/internal/ftobject.h: Removed. Obsolete.
+
+2003-09-09 David Turner <david@freetype.org>
+
+ Fixing PFR kerning support. The tables within the font file contain
+ (charcode,charcode) kerning pairs, we need to convert them to
+ (gindex,gindex).
+
+ * src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
+ * src/pfr/prfload.c: Remove dead code.
+ (pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
+ New functions.
+ (pfr_phy_font_done): Free `kern_pairs'.
+ (pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
+ * src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
+ * src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
+ (PFR_KernPairRec): Make `kerning' an FT_Int.
+ (PFR_PhyFontRec): New element `kern_pairs'.
+ (PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
+ PFR_KERN_2BYTE_ADJ were erroneously reversed.
+
+ * include/freetype/ftoption.h: Commenting out the macro
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
+
+2003-09-02 David Turner <david@freetype.org>
+
+
+ * Version 2.1.5 released.
+ =========================
+
+
+2003-08-31 Manish Singh <yosh@gimp.org>
+
+ * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
+ FT_MEM_MOVE.
+
+2003-08-30 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
+ FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
+ enumerations of FT_Encoding. The FT_ENCODING_MS_* variants except
+ FT_ENCODING_MS_SYMBOL are now deprecated.
+ Updated all users.
+ * docs/CHANGES: Document it.
+
+2003-08-27 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
+ for spacing.
+
+2003-08-27 Mike FABIAN <mfabian@suse.de>
+
+ * src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
+ (BDF_Face_Init): Accept lowercase characters for slant and weight.
+
+2003-08-18 David Turner <david@freetype.org>
+
+ * include/freetype/config/ftoption.h: Disabling TrueType bytecode
+ interpreter until the UNPATENTED_HINTING works as advertised.
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
+ setting `load_flags'.
+
+ * Jamfile: Adding the `refdoc' target to the Jamfile in order to
+ build the API Reference in `docs/reference' automatically.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
+ src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
+ `italic_angle', `underline_position', and `underline_thickness' to
+ their previous values (i.e., long, short, and ushort) in order to
+ avoid breaking binary compatibility.
+
+ * include/freetype/ttunpat.h: Fixing documentation comment.
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced
+ with...
+ (TT_CONFIG_OPTION_UNPATENTED_HINTING): This. Updated all users.
+ (TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
+
+ * include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
+ (FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro. Use this with
+ `FT_Set_Debug_Hook' to get the same effect as the removed
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
+
+ * src/truetype/ttobjs.c (tt_face_init): Use
+ `FT_DEBUG_HOOK_UNPATENTED_HINTING'.
+
+2003-08-06 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
+ (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
+ previous change.
+
+2003-08-05 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
+ (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
+ font matrix to advance width also.
+ * docs/CHANGES: Updated.
+
+2003-07-26 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.ac (version_info): Set to 9:4:3.
+ * builds/unix/configure: Updated.
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+ * include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
+ also breaks binary compatibility. Reintroduce an unsigned integer
+ at the old position of `flags' called `reserved'.
+
+2003-07-25 Werner Lemberg <wl@gnu.org>
+
+ Make API reference valid HTML 4.01 transitional.
+
+ * src/tools/docmaker/tohtml.py (html_header_1): Add doctype
+ and charset.
+ (html_header_2): Fix style elements and add some more.
+ Fix syntax.
+ (block_header, block_footer, description_header, description_footer,
+ marker_header, marker_footer, source_header, source_footer,
+ chapter_header): Don't use <center>...</center> but `align=center'
+ table attribute.
+ (chapter_inter, chapter_footer): Add <li> and use special <ul>
+ class.
+ Use double quotes around table widths given in percent.
+ (keyword_prefix, keyword_suffix): Don't change font colour directly
+ but use a new <span> class.
+ (section_synopsis_header, section_synopsis_footer): Don't change
+ colour.
+ (code_header, code_footer): Don't change font colour directly but
+ use a special <pre> class.
+ (print_html_field): <tr> gets the `valign' attribute, not <table>.
+ (print_html_field_list): Ditto.
+ (index_exit): Don't use <center>...</center> but `align=center'
+ table attribute.
+ (section_enter): Ditto.
+ (toc_exit): Don't emit </table>.
+ (block_enter): Use <h4><a>, not <a><h4>.
+ (__init__): Fix tag order in self.html_footer.
+
+2003-07-25 David Turner <david@freetype.org>
+
+ This change reimplements fix from 2003-05-30 without breaking
+ binary compatibility.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
+ `is_fixed_pitch', `underline_position', `underline_thickness' are
+ reverted to be normal values.
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Remove
+ `T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
+ `T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
+ (T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
+ T1_FIELD_FIXED_1000_P): Removed.
+ (T1_FIELD_TYPE_BOOL): Renamed to...
+ (T1_FIELD_BOOL): New macro. Updated all callers.
+
+ * src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
+ `underline_position', `underline_thickness', `paint_type',
+ `stroke_width' are reverted to be normal values.
+ (T42_KEYWORD_COUNT): New macro.
+ (t42_parse_dict): New array `keyword_flags' to mark that a value has
+ already been assigned to a dictionary entry.
+ * src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
+
+ * src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
+ `underline_position', `underline_thickness' are reverted to be
+ normal values.
+ * src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
+
+ * src/psaux/psobjs.c (ps_parser_load_field): Updated.
+
+ * src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
+ `underline_position', `underline_thickness', `paint_type',
+ `stroke_width' are reverted to be normal values.
+ * src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
+ * src/type1/t1load.c (T1_FIELD_COUNT): New macro.
+ (parse_dict): Add parameter for keyword flags.
+ Record only first instance of a field.
+ (T1_Open_Face): New array `keyword_flags'.
+
+2003-07-24 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+ * builds/unix/configure.ac (version_info): Set to 10:0:3.
+ * builds/unix/configure: Updated.
+ * builds/freetype.mk (refdoc): Fix --title.
+
+ * docs/CHANGES, docs/VERSION.DLL, README: Updated.
+
+ * src/tools/docmaker/sources.py (re_crossref): Fix regular
+ expression to handle trailing punctuation characters.
+ * src/tools/docmaker/tohtml.py (make_html_word): Updated.
+
+ * docs/release: New file.
+
+2003-07-23 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
+
+ * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
+ member function `to_bytes'.
+
+ * src/psaux/psauxmod.c (ps_parser_funcs): New member
+ `ps_parser_to_bytes'.
+ (psaux_module_class): Increase version to 0x20000L.
+
+ * src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
+ (IS_T1_NULLSPACE): New macro.
+ (IS_T1_SPACE): Add it.
+ (skip_spaces, skip_alpha): New functions.
+ (ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
+ (ps_tobytes, ps_parser_to_bytes): New functions.
+
+2003-07-07 Werner Lemberg <wl@gnu.org>
+
+ * builds/freetype.mk (DOC_DIR): New variable.
+ (refdoc): Use *_DIR variables.
+ (distclean): Remove documentation files.
+
+ * builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
+
+ * configure: Set DOC_DIR variable.
+
+2003-07-07 Patrik Hägglund <patrik.hagglund@bredband.net>
+
+ * builds/freetype.mk (refdoc): New target to build the
+ documentation.
+ (.PHONY): Updated.
+
+ * include/freetype/freetype.h: Improve documentation of FT_CharMap.
+ * include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
+ * include/freetype/tttables.h: Document FT_Sfnt_Tag.
+
+2003-07-06 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
+ (pcf_load_font): Fix computation of height if PIXEL_SIZE property is
+ missing.
+
+2003-07-01 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
+ there is no error. Reported by Knut St. Osmundsen
+ <bird-freetype@anduin.net>.
+
+2003-06-30 Werner Lemberg <wl@gnu.org>
+
+ A new try to synchronize bitmap font access.
+
+ * include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
+ defined to return the baseline-to-baseline distance. This was
+ already the value returned by the BDF and PCF drivers.
+
+ The `width' field now gives the average width. I wasn't able to
+ find something better. It should be taken as informative only.
+
+ New fields `size', `x_ppem', and `y_ppem'.
+
+ * src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
+ FT_Bitmap_Size.
+ Do proper rounding and conversion from 72.27 to 72 points.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
+ FT_Bitmap_Size.
+ Do proper rounding and conversion from 72.27 to 72 points.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
+ FT_Bitmap_Size.
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
+ FT_Bitmap_Size.
+
+2003-06-29 Werner Lemberg <wl@gnu.org>
+
+ Redesigning the FNT driver to return multiple faces, not multiple
+ strikes. At least one font (app850.fon from WinME) contains
+ different FNT charmaps for its subfonts. Consequently, the previous
+ design of having multiple bitmap strikes in a single font face fails
+ since we have only one charmap per face.
+
+ * include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
+ (FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
+ `font'.
+
+ * src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
+
+ * src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
+ to pixel_height.
+ (fnt_face_done_fonts): Removed.
+ (fnt_face_get_dll_fonts): Renamed to...
+ (fnt_face_get_dll_font): This. Add second function argument to
+ select face index.
+ Updated to load just one subfont.
+ (fnt_font_done, FNT_Face_Done): Updated.
+ (FNT_Face_Init): Handle `face_index'.
+ Updated.
+ (FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
+ bitmap width is now ignored.
+ (FNT_Load_Glyph): Updated.
+ Fix glyph index computation.
+ (winfnt_driver_class): Updated.
+
+2003-06-25 Owen Taylor <otaylor@redhat.com>
+
+ * src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
+ num_records until we actually decide to load the table,
+ otherwise, we'll segfault in tt_face_free_hdmx.
+
+2003-06-24 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
+ glyph name pointer. Reported by Mikey Anbary <manbary@vizrt.com>.
+
+2003-06-23 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/glnames.py: Updated to AGL 2.0.
+ * src/psnames/pstables.h: Regenerated.
+
+2003-06-22 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
+ src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
+ src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
+ src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
+ Decorate constants with `U' and `L' if appropriate.
+
+ * include/freetype/ftmoderr.h: Updated to include recent module
+ additions.
+
+ * src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
+ `FT_Mod_Err_PShinter'.
+ * src/type42/t42error.h (FT_ERR_BASE): Define as
+ `FT_Mod_Err_Type42'.
+
+ * src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used.
+
+ * include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
+ and FT_INT64.
+
+2003-06-21 Werner Lemberg <wl@gnu.org>
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
+ computation of glyph_index.
+ (FNT_Size_Set_Pixels): To find a strike, first check pixel_height
+ only, then try to find a better hit by comparing pixel_width also.
+ Without this fix it isn't possible to access all strikes.
+ Also compute metrics.max_advance to be in sync with other bitmap
+ drivers.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
+ (FT_Set_Pixel_Size): Assign value to `metrics' after validation of
+ arguments.
+
+2003-06-20 Werner Lemberg <wl@gnu.org>
+
+ Synchronize computation of height and width for bitmap strikes. The
+ `width' field in the FT_Bitmap_Size structure is now only useful to
+ enumerate different strikes. The `max_advance' field of the
+ FT_Size_Metrics structure should be used to get the (maximum) width
+ of a strike.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
+ computing `available_sizes->width' but make it always equal to
+ `available_sizes->height'.
+
+ * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
+ computing `available_sizes->width' but make it always equal to
+ `available_sizes->height'.
+
+ * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
+ argument to function.
+
+ * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
+ `uniXXXX' and `uXXXX[X[X]]'.
+
+2003-06-19 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
+ * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
+ s/FT_Err_/FTC_Err_/.
+ * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
+ * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
+ * src/psaux/t1cmap.c: Include psauxerr.h.
+ s/FT_Err_/PSaux_Err_/.
+ * src/pshinter/pshnterr.h: New file.
+ * src/pshinter/rules.mk: Updated.
+ * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
+ s/FT_Err_/PSH_Err_/.
+ * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
+ s/FT_Err_/PFR_Err_/.
+ * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
+ src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
+ * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
+ * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
+ FT_ERR_PREFIX and FT_ERR_BASE.
+ s/FT_Err_/Gzip_Err_/.
+
+2003-06-19 Dirck Blaskey <listtarget@danbala.com>
+
+ * src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
+ otherwise adding 1 might wrap the result.
+
+2003-06-18 Werner Lemberg <wl@gnu.org>
+
+ * src/psnames/psmodule.c (ps_unicode_value): Add support to
+ recognize `uXXXX[X[X]]' glyph names.
+ Don't handle glyph names starting with `uni' which have more than
+ four digits.
+
+2003-06-16 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h (FT_Open_Flags): Replaced with
+ #defines for the constants.
+ (FT_Open_Args): Change type of `flags' to FT_UInt.
+ (FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
+
+ * include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
+ Replaced with #defines for the constants.
+
+ * include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
+ field `flags' (from FT_GlyphSlot).
+ Updated all affected source files.
+ (FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
+
+ * include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
+ to ftobjs.h.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
+ FT_GlyphSlot_Internal object.
+
+2003-06-15 Werner Lemberg <wl@gnu.org>
+
+ * builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
+ Add -fno-strict-aliasing to get rid of zillion warnings from gcc
+ version 3.3.
+
+2003-06-14 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
+ ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
+ ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
+ FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
+ FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
+ The lowercase variants are now (deprecated aliases) to the uppercase
+ versions.
+ Updated all other files.
+
+ * include/freetype/ftmodule.h (ft_module_font_driver,
+ ft_module_renderer, ft_module_hinter, ft_module_styler,
+ ft_module_driver_scalable, ft_module_driver_no_outlines,
+ ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
+ FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
+ FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
+ FT_MODULE_DRIVER_HAS_HINTER.
+ The lowercase variants are now (deprecated aliases) to the uppercase
+ versions.
+ Updated all other files.
+
+ * src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
+ as enumeration.
+
+ * src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
+ (winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
+ the FT_MODULE_DRIVER_NO_OUTLINES flag.
+
+2003-06-13 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
+
+2003-06-13 Werner Lemberg <wl@gnu.org>
+
+ * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
+
+ * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
+ EMX gcc compiler.
+ * builds/dos/detect.mk: Add target `emx'.
+
+ * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
+ like a trailing semicolon; add a dummy command.
+
+ * src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
+ with #if 0 ... #endif).
+
+ * src/type1/t1tokens.h: Handle /FontName.
+ * src/type1/t1load.c (parse_font_name): Removed.
+ Remove parse_font_bbox code (already enclosed with #if 0 ...
+ #endif).
+
+ * src/type42/t42parse.c (t42_parse_font_name): Removed.
+ Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
+ #endif).
+ (t42_keywords): Handle /FontName with T1_FIELD_KEY.
+
+2003-06-12 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_KEY.
+ (T1_FIELD_KEY): New macro.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle
+ T1_FIELD_TYPE_KEY.
+
+ * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
+
+2003-06-11 Alexander Malmberg <alexander@malmberg.org>
+
+ * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
+ number of nodes.
+ (FT_LruList_Lookup): Fix assertion for out-of-memory case.
+
+2003-06-11 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidload.c (cid_decrypt): Removed.
+ (cid_read_subrs): Use t1_decrypt from psaux module.
+ * src/cid/cidload.h: Updated.
+ * src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
+ module.
+
+2003-06-10 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidobjs.c: Apply change 2003-05-31 from <Ron.Dev@gmx.de>.
+ Compute style flags.
+ Fix computation of root->height.
+ * src/cid/cidtoken.h: Handle FontBBox.
+ * src/cid/cidload.c (cid_load_keyword): Handle
+ T1_FIELD_LOCATION_BBOX.
+ (parse_font_bbox): Commented out.
+ (cid_field_record): Comment out element for parsing FontBBox.
+
+ * src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
+ (t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
+ T1_FIELD_CALLBACK.
+ (t42_parse_font_bbox): Commented out.
+ (t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
+ * src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
+ from <Ron.Dev@gmx.de>.
+
+2003-06-09 George Williams <gww@silcom.com>
+
+ * src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
+ TrueType specification.
+ (Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
+
+2003-06-09 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/gzip/ftgzip.c: (inflate_mask): Replaced with...
+ (NO_INFLATE_MASK): This.
+ * src/gzip/infutil.h: Declare `inflate_mask' conditionally by
+ NO_INFLATE_MASK.
+
+2003-06-09 Alexis S. L. Carvalho <alexis@cecm.usp.br>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
+ correctly.
+
+2003-06-09 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/pshinter/pshglob.c (psh_globals_new): Change calculation of
+ dim->stdw.count to avoid compiler problem.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
+ variables to the beginning of the function to avoid compiler
+ problems.
+ Add casts necessary for 16bit compilers.
+
+2003-06-09 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
+ (PFR_DRV_H): Add pfrtypes.h.
+
+ * include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
+
+2003-06-08 Karl Schultz <kschultz@rsinc.com>
+
+ * src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
+ argument to FT_Bool.
+ (pfr_lookup_bitmap_data): Change type of third and fourth argument
+ to FT_UInt. Updated caller.
+ (pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
+
+2003-06-08 Werner Lemberg <wl@gnu.org>
+
+ Completely revised FreeType's make management.
+
+ . In all makefiles `/' is used as the path separator. The
+ conversion to the real path separators is done as late as
+ possible using $(subst ...).
+
+ . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator
+ for the operating system, and the new $(COMPILER_SEP) the path
+ separator for the compiler tools.
+
+ . $(BUILD) has been renamed to $(BUILD_DIR). In general, all
+ directory variables end with `_DIR'. The variants ending in `_'
+ (like `BASE_' have been removed).
+
+ The following ChangeLog entries only describe changes which are
+ not related to the redesign.
+
+ * builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
+ * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
+ overlong arguments as suggested by J. Ali Harlow
+ <ali@avrc.city.ac.uk>.
+ * builds/dos/dos-wat.mk: New file.
+ * builds/freetype.mk (FREETYPE_H): Include header files from the
+ `devel' subdirectory.
+
+ * builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
+ builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
+ builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
+
+ * builds/unix/configure.ac, builds/unix/configure: Updated.
+ * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
+
+2003-06-07 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
+ make it compile.
+
+ * devel/ftoption.h: Updated.
+
+2003-06-07 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * include/freetype/internal/psaux.h, src/truetype/ttgload.h:
+ s/index/idx/ to fix compiler warnings.
+
+ * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
+ fix compiler warning.
+
+ * src/gzip/ftgzip.c (BUILDFIXED): Removed.
+ * src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
+ FT_UNUSED to remove compiler warning.
+
+2003-06-06 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftstroker.h: Renamed to...
+ * include/freetype/ftstroke.h: This.
+
+ * src/base/ftstroker.c: Renamed to...
+ * src/base/ftstroke.c: This.
+
+ * include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
+
+ * src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
+ Updated.
+
+ * src/pcf/pcfdriver.c: Renamed to...
+ * src/pcf/pcfdrivr.c: This.
+ * src/pcf/pcfdriver.h: Renamed to...
+ * src/pcf/pcfdrivr.h: This.
+
+ * src/pcf/Jamfile, src/pcf/rules.mk: Updated.
+
+2003-06-05 Wenlin Institute (Tom Bishop) <wenlin@wenlin.com>
+
+ * src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
+ Add `#if !defined(__MWERKS__)'.
+
+2003-06-05 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
+ (T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle
+ T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
+
+ * src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
+ (CFF_FIELD_FIXED_1000): New macro.
+ (cff_parser_run): Handle cff_kind_fixed_thousand.
+ * src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
+ * src/cff/cffload (cff_subfont_load): Fix default values of
+ expansion_factor and blue_scale.
+
+ * src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
+ for blue_scale.
+
+ * src/pshinter/pshglob.c (psh_globals_new): Fix default value of
+ blue_scale.
+
+2003-06-04 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * include/freetype/internal/ftdriver.h,
+ include/freetype/internal/ftobjs.h,
+ include/freetype/internal/psaux.h, src/cid/cidgload.c,
+ src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
+ src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
+ src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
+ src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
+ src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
+ src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
+ src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
+ Many casts and slight argument type changes to make it work with
+ a 16bit compiler.
+
+2003-06-04 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftoption.h: Defining
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
+ since some fonts (e.g. Arial) produce worse results than without
+ hinting. Reverted.
+
+2003-06-04 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
+ FT_GlyphLoader_CheckPoints before adding phantom points. This fixes
+ a segfault bug with fonts (e.g. htst3.ttf) which have nested
+ subglyphs more than one level deep. Reported by Anthony Fok.
+
+ * include/freetype/config/ftoption.h: Define
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
+ TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
+ default.
+
+2003-06-03 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a
+ wrapper for ah_hint_edges.
+ (ah_hint_edges): Renamed to...
+ (ah_hinter_hint_edges): This.
+
+ * src/base/ftobjs.c (FT_Set_Hint_Flags): Removed. Unused.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
+ include/freetype/internal/psaux.h (T1_DecoderRec),
+ src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
+ Unused.
+
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+ (cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
+ with decoder->hint_mode instead of builder->hint_flags.
+ * src/psaux/t1decode.c (t1_decoder_init): Updated.
+
+ * src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
+ increased root->height by 15% if the line gap was zero. There exist
+ fonts (containing e.g. form drawing characters) which intentionally
+ have a zero line gap value.
+
+ * src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
+ Removed. Unused.
+ Updated all callers.
+
+2003-06-02 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Use symbolic names for
+ Adobe specific encoding IDs (there was a wrong EID value for custom
+ encoding).
+
+ * src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
+ * src/cff/cffcmap.c (cff_cmap_encoding_init,
+ cff_cmap_encoding_done): Updated.
+ (cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
+ 256 as limit for character code.
+
+2003-06-01 Werner Lemberg <wl@gnu.org>
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
+ 2003-03-20.
+
+2003-05-31 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
+
+2003-05-31 <Ron.Dev@gmx.de>
+
+ * src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
+ the font style by ignoring spaces and hyphens.
+
+ * builds/unix/freetype2.in: Fix `Version' field.
+
+2003-05-30 Werner Lemberg <wl@gnu.org>
+
+ Avoid overwriting of numeric font dictionary entries for synthetic
+ fonts. Additionally, some entries were handled as `integer' instead
+ of `number'.
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
+ T1_FIELD_TYPE_FIXED_P.
+ (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
+
+ * include/freetype/internal/cfftypes.h (CFF_FontRecDict),
+ src/cff/cfftoken.h: Change type of underline_position and
+ underline_thickness to FT_Fixed.
+ * src/cff/cffload.c (cff_subfont_load): Fix default values of
+ underline_position and underline_thickness.
+ * src/cff/cffobjs.c (cff_face_init): Set underline_position
+ and underline_thickness in `root'.
+
+ * include/freetype/internal/t1types.h (T1_Font): Change point_type
+ and stroke_width to pointers.
+ * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
+ is_fixed_pitch, underline_position, and underline_thickness to
+ pointers.
+ * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
+ underline_position, and underline_thickness to pointers. Change
+ the type of the latter two to `fixed'.
+ Change type of stroke_width to `fixed' and make it a pointer.
+ Change paint_type to pointer.
+ * src/type1/t1objs.c (T1_Face_Done): Updated.
+ (T1_Face_Init): Updated.
+ Fix assignment of underline_position and underline_thickness.
+
+ * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
+ underline_position, and underline_thickness to pointers. Change
+ the type of the latter two to `fixed'.
+ Change type of stroke_width to `fixed'.
+ * src/cid/cidobjs.c (cid_face_done): Updated.
+ (cid_face_init): Updated.
+ Fix assignment of underline_position and underline_thickness.
+
+ * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
+ underline_position, and underline_thickness to pointers. Change the
+ type of the latter two to `fixed'.
+ Change type of stroke_width to `fixed' and make it a pointer.
+ Change paint_type to pointer.
+ * src/type42/t42objs.c (T42_Face_Init): Updated.
+ Fix assignment of underline_position and underline_thickness.
+ (T42_Face_Done): Updated.
+
+ * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
+ * src/pshinter/pshglob.c, src/pshinter/pshglob.h
+ (psh_globals_set_scale): Make it a local function.
+
+ * test/gview.c: Fix renaming ps3->ps typo.
+ Formatting.
+
+2003-05-29 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
+ * src/pshinter/pshalgo.h: Removed.
+
+ * src/pshinter/pshalgo3.[ch]: Renamed to...
+ * src/pshinter/pshalgo.[ch]: New files.
+ s/PSH3/PSH/.
+ s/psh3/psh/.
+ s/ps3/ps/.
+
+ * src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
+ * src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
+
+ * src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
+ out.
+
+ * tests/gview.c: Remove code for pshalgo1 and pshalgo2.
+ Updated.
+
+2003-05-28 Martin Zinser <zinser@decus.de>
+
+ * vms_make.com: Reworked support for shareable images on VMS. The
+ first version was kind of a hack; the current implementation of the
+ procedure to extract the required symbols is much cleaner.
+
+ Reworked creation of MMS files, avoiding a number of temporary files
+ which were created in the previous version.
+
+ Further work on creating descrip.mms files on the fly.
+
+ * builds/vms/descrip.mms, src/autohint/descrip.mms,
+ src/type1/descrip.mms: Removed.
+
+2003-05-28 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
+ contours with only a single point to avoid segfault.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
+ handling `origin'.
+
+2003-05-24 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
+ Removed since unused.
+
+2003-05-21 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
+ for strcat.
+
+ * src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
+ (parse_font): s/memcpy/ft_memcpy/.
+ (is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
+ * src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
+ s/strlen/ft_strlen/.
+ s/strcat/ft_strcat/.
+ s/strcpy/ft_strcpy/.
+ * src/gzip/zutil.h: s/memset/ft_memset/.
+ s/memcmp/ft_memcmp/.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
+ (PCF_Face_Init): Test for charset registry case-insensitively.
+
+ * src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
+ it has already been fixed differently.
+
+ * src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
+ if-clause.
+
+2003-05-21 Martin Zinser <zinser@decus.de>
+
+ * t1load.c (parse_blend_axis_types): Fix compiler warning.
+
+ * descrip.mms: Removed. Now created by...
+
+ * vms_make.com: New file.
+
+2003-05-21 Weiqi Gao <weiqigao@networkusa.net>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
+ to prevent infinite loop.
+
+2003-05-21 Lars Clausen <lrclause@cs.uiuc.edu>
+
+ * docs/VERSION.DLL: Provide better autoconf snippet to check
+ FreeType version.
+
+2003-05-21 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (open_face): Free `internal' not
+ `face->internal' in case of error to avoid possible segfault.
+
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
+ actually have an outline.
+
+2003-05-20 David Chester <davidchester@qmx.net>
+
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
+ y_scale so that the top of non-capital letters is aligned on a pixel
+ boundary whenever possible.
+
+ * src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
+ m's maintain their symmetry.
+
+2003-05-20 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Oops! David's
+ patch from yesterday has been resolved already in a different
+ way. Reverted.
+
+2003-05-19 David Chester <davidchester@qmx.net>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
+ y_scale locally but face->size->metrics.y_scale.
+
+2003-05-19 David Turner <david@freetype.org>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
+ value for `hi' to avoid infinite loop.
+
+2003-05-18 Yong Sun <sunyong@njstar.com>
+
+ * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
+
+2003-05-18 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
+ New macro.
+ * src/base/ftobjs.c: Use it to control mac font support on non-mac
+ platforms.
+
+2003-05-17 George Williams <gww@silcom.com>
+
+ Implement partial support of Mac fonts on non-Mac platforms.
+
+ * src/base/ftobjs.c (memory_stream_close, new_memory_stream,
+ open_face_from_buffer, Mac_Read_POST_Resource,
+ Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
+ [!FT_MACINTOSH]: New functions.
+ (FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
+
+2003-05-17 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
+ if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
+ zero since FNT and friends don't define `face->units_per_EM').
+
+2003-05-15 David Turner <david@freetype.org>
+
+ * src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
+ for small values.
+
+2003-05-15 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
+ and `out_angle' fields.
+
+2003-05-14 George Williams <gww@silcom.com>
+
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
+
+2003-05-14 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h: Fix typo in comment
+ (FT_HAS_FIXED_SIZES).
+
+2003-05-10 Dan Williams <dan@bigw.org>
+
+ * builds/unix/aclocal.m4: Comment out definition of
+ `allow_undefined_flag' for Darwin 1.3.
+ * builds/unix/configure.ac: Add option --with-old-mac-fonts.
+ * builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
+ * builds/unix/configure: Regenerated.
+
+ * include/freetype/config/ftconfig.h: Fix conditions for defining
+ `FT_MACINTOSH'.
+ * src/base/ftbase.c: Include `ftmac.c' conditionally.
+ * src/base/ftmac.c: Handle __GNUC__.
+
+2003-05-07 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
+
+ * src/cid/cidload.c (is_alpha): Removed.
+ (cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
+
+2003-05-07 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
+
+2003-05-07 David Turner <david@freetype.org>
+
+ * src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
+ `switch' statement to make it run faster.
+ (ah_outline_compute_segments): Reset `segment->score' and
+ `segment->link'.
+ (ah_outline_link_segments): Provide alternative code which does
+ the same but runs much faster.
+ Handle major direction also.
+ (ah_outline_compute_edges): Scale `edge_distance_threshold' down
+ after rounding instead of scaling comparison value in loop.
+
+ * src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
+ alternative code which runs faster.
+ Handle `before->scale == 0'.
+
+ * src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
+ (AH_EdgeRec): Move some fields in structure.
+ New field `scale'.
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
+
+2003-05-02 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahoptim.c (LOG): Renamed to...
+ (AH_OPTIM_LOG): This.
+ (AH_Dump_Springs): Fix log message format.
+
+ * src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
+ (ah_hint_edges): This.
+
+2002-05-02 Keith Packard <keithp@keithp.com>
+
+ * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
+
+2003-05-01 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
+ (ah_test_extremum): This.
+
+2003-04-28 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.ac: Generate `freetype.pc' from
+ `freetype.in'.
+ * builds/unix/configure: Regenerated.
+ * builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
+
+2003-04-28 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
+
+ * builds/unix/freetype2.in: New file. Contains building information
+ for the `pkg-config' package.
+
+2003-04-28 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
+ `glyph_index'.
+
+2003-04-25: Graham Asher <graham.asher@btinternet.com>
+
+ Added the optional unpatented hinting system for TrueType. It
+ allows typefaces which need hinting to produce correct glyph forms
+ (e.g., Chinese typefaces from Dynalab) to work acceptably without
+ infringing Apple patents. This system is compiled only if
+ TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
+ ftoption.h.
+
+ * include/freetype/ttunpat.h: New file. Defines
+ FT_PARAM_TAG_UNPATENTED_HINTING.
+
+ * include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
+ macro to use when including ttunpat.h.
+
+ * include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
+ (not defined, but in comments) for the unpatented hinting system.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
+ unpatented_hinting'.
+
+ * src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
+ Removed.
+ (GUESS_VECTOR): New macro.
+ (TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Set `both_x_axis'.
+ (tt_default_graphics_state)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
+ (Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Handle `unpatented_hinting'.
+ (Direct_Move) [NO_APPLE_PATENT]: Removed.
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
+ (Project, FreeProject)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
+ (Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Implement unpatented hinting.
+ (DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
+ Ins_SDPVTL): Call `GUESS_VECTOR'.
+ (DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Handle `unpatented_hinting'.
+ (Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
+ hinting.
+ (Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
+ hinting.
+ (TT_RunIns): Updated.
+
+ * src/truetype/ttobjs.c
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
+ FT_TRUETYPE_UNPATENTED_H.
+ (tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
+ FT_PARAM_TAG_UNPATENTED_HINTING.
+
+ * src/truetype/ttobjs.h (TT_GraphicsState)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
+
+2003-04-25 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
+ argument.
+ (bdf_get_font_property): Use `const' for third argument.
+ Updated all callers.
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
+ similar to the PCF driver.
+ * src/bdf/bdf.h (_hashnode): Use `const' for `key'.
+ Updated.
+
+ * src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
+ is declared twice. It is perhaps better to modify the zlib source
+ files directly instead of this hack.
+ (zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
+ to make build with g++ successful.
+
+2003-04-24 Manish Singh <yosh@gimp.org>
+
+ * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
+ (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
+ also for searching the style name.
+
+2003-04-24 David Turner <david@freetype.org>
+
+ * src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
+ face->num_glyphs. We must increase the value by 1 to respect the
+ convention that glyph index 0 always corresponds to the `missing
+ glyph'.
+
+2003-04-24 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
+
+2003-04-24 Dieter Baron <dillo@netbsd.org>
+
+ * builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
+ files first. Otherwise there are conflicts with FreeType 1
+ installed simultaneously.
+
+2003-04-23 Werner Lemberg <wl@gnu.org>
+
+ Fixing bugs reported by Nelson Beebe.
+
+ * src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
+ variable `in_path'.
+
+ * src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
+ second argument to `FT_Byte*'.
+ * include/freetype/internal/ftobjs.h: Updated.
+
+ * src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
+ (_bdf_parse_glyphs): Remove unused variable `next'.
+ Mark `call_data' as unused.
+
+ * src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
+ `plast'.
+
+ * src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
+ actually use `error'.
+ (pcf_load_font): Remove unused variable `avgw'.
+
+ * src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
+ to `void'.
+ Mark `error' as unused.
+ * src/pfr/pfrobjs.h: Updated.
+ * src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
+ `format_tag'.
+
+ * src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
+ unused variable `start'.
+ (tt_cmap10_char_next): Remove unused variable `result'
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
+ unused.
+
+ * src/type1/t1objs.c (T1_Face_Init): Remove unused variable
+ `pshinter'.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
+ only for FT_CONFIG_OPTION_INCREMENTAL.
+
+2003-04-23 Akito Hirai <akito@kde.gr.jp>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
+ of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
+ Without this change, many CJK fonts from Dynalab are rejected.
+
+2003-04-23 Joe Marcus Clarke <marcus@FreeBSD.org>
+
+ * src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
+ `get_interface'.
+
+2003-04-23 Paul Miller <paulm@profoundeffects.com>
+
+ * src/base/ftmac.c (parse_fond): Fix handling of style names.
+
+2003-04-23 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
+ instead of FT_Uint for `len'.
+
+2003-04-22 Werner Lemberg <wl@gnu.org>
+
+ * src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
+ Convert K&R format to modern C usage.
+ (FT_Stream_OpenGzip): Use long constant.
+
+2003-04-21 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
+ of `manager'.
+
+2003-04-20 Werner Lemberg <wl@gnu.org>
+
+ * doc/INSTALL.UNX: Cleaned up.
+
+2003-04-09 Torrey Lyons <torrey@mrcla.com>
+
+ * src/base/ftmac.c (open_face_from_buffer): Removed a double-free
+ bug that had nasty consequences when trying to open an `invalid'
+ font on a Mac.
+
+2003-04-09 Mike Fabian <mfabian@suse.de>
+
+ * src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
+ (PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
+ to access more than 32768 glyphs in fonts.
+
+2003-04-08 David Turner <david@freetype.org>
+
+
+ * Version 2.1.4 released.
+ =========================
+
+
+2003-04-03 Martin Muskens <mmuskens@aurelon.com>
+
+ * src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
+ handle special cases where a font only contains a `.notdef' glyph
+ (happens in PDF-embedded fonts). Otherwise, FT_Panic was called.
+
+2003-03-27 David Turner <david@freetype.org>
+
+ * README: Udpated.
+
+ * README.UNX: Removed (now replaced by docs/INSTALL.UNX).
+
+ * src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
+ will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
+ used.
+ (psh3_dimension_quantize_len): Enabled.
+ (psh3_hint_align): Enable commented code.
+ (psh3_hint_align_light): Commented out.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
+ computations to include rounding in all cases; this is required to
+ provide accurate kerning data when native TrueType hinting is
+ enabled.
+
+ * src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
+ more general names according to the PostScript specification (the
+ previous one was too restrictive).
+ (parse_font_name, parse_encoding, parse_charstrings, parse_dict):
+ Use `is_name_char'.
+ (parse_subrs): Handle empty arrays.
+
+2003-03-20 David Turner <david@freetype.org>
+
+ Serious rewriting of the documentation.
+
+ * docs/BUGS, docs/BUILD: Removed.
+ * docs/DEBUG.TXT: Renamed to...
+ * docs/DEBUG: This.
+ * docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
+ * docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
+ containing platform specific information previously in INSTALL.
+ * docs/readme.vms: Renamed to...
+ * docs/INSTALL.VMS: This.
+
+ * docs/*: Updated.
+
+ Introduced three new functions to deal with glyph bitmaps within
+ FT_GlyphSlot objects:
+
+ ft_glyphslot_free_bitmap
+ ft_glyphslot_alloc_bitmap
+ ft_glyphslot_set_bitmap
+
+ These functions are much more convenient to use than managing the
+ FT_GLYPH_OWN_BITMAP flag manually.
+
+ * include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
+ ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
+ * src/base/ftobjs.c: Implement them.
+ (ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
+ (PCF_Glyph_Load): Remove unused variable `memory'.
+ Use `ft_glyphslot_*' functions.
+ Don't set `FT_GLYPH_OWN_BITMAP'.
+
+ * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
+ `ft_glyphslot_alloc_bitmap'.
+
+ * src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
+ `FT_GlyphSlot'.
+ Adding argument `depth' to handle recursive calls.
+ Use `ft_glyphslot_alloc_bitmap'.
+ (tt_face_load_sbit_image): Remove unused variable `memory'.
+ Don't handle `FT_GLYPH_OWN_BITMAP'.
+ Update call to Load_SBit_Image.
+
+ * src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
+ (t42_glyphslot_clear): This. Updated caller.
+ Call `ft_glyphslot_free_bitmap'.
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Use
+ `ft_glyphslot_set_bitmap'.
+ Don't handle `FT_GLYPH_OWN_BITMAP'.
+
+ * src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
+ check.
+
+ * src/autohint/ahglyph.c (ah_outline_load): Add two scaling
+ arguments.
+ * src/autohint/ahglyph.h: Updated.
+ * src/autohint/ahhint.c (ah_hinter_load): Updated.
+ * src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
+
+ * src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
+ crash the cache in rare circumstances (mostly with broken fonts).
+
+2003-03-15 David Turner <david@freetype.org>
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
+ bug. Actually, it seems that previous versions of FreeType didn't
+ perform TrueType rounding exactly as appropriate.
+
+2003-03-14 David Turner <david@freetype.org>
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
+ TrueType native rendering glitches; they came from a small rounding
+ error.
+
+2003-03-13 David Turner <david@freetype.org>
+
+ Added new environment variables to control memory debugging with
+ FreeType. See the description of `FT2_DEBUG_MEMORY',
+ `FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
+
+ * src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
+ `bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
+ (ft_mem_debug_alloc): Handle new variables.
+ (ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
+ Handle new environment variables.
+ * docs/DEBUG.TXT: Updated.
+
+ Fixed the cache sub-system to correctly deal with out-of-memory
+ conditions.
+
+ * src/cache/ftccache.c (ftc_node_destroy): Comment out generic
+ check.
+ (ftc_cache_lookup): Implement loop.
+ * src/cache/ftccmap.c: Define FT_COMPONENT.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
+ FT_Err_Out_Of_Memory.
+ * src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
+ (FT_LruList_Lookup): Implement loop.
+
+ * src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
+ (pfr_face_init): Fixing compiler warnings.
+
+ * src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
+ leak) that only happened when a try to resize an array would end in
+ an out-of-memory condition.
+
+ * src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
+ warnings / volatile bug.
+
+ * src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
+ fault that happened in tight memory environments.
+
+2003-02-28 Pixel <pixel@mandrakesoft.com>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
+ stream was not properly finalized.
+
+2003-02-25 Anthony Fok <anthony@thizlinux.com>
+
+ * src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
+ (ftc_cmap_family_init): The cmap cache now
+ supports UCS-4 charmaps when available in Asian fonts.
+
+ * src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
+ in comments.
+
+2003-02-25 David Turner <david@freetype.org>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
+ caused FreeType to loop endlessly when trying to read certain
+ compressed gzip files. The following test reveals the bug:
+
+ touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
+
+ Several fixes to the PFR font driver:
+
+ - The list of available embedded bitmaps was not correctly set in
+ the root FT_FaceRec structure describing the face.
+
+ - The glyph loader always tried to load the outlines when
+ FT_LOAD_SBITS_ONLY was specified.
+
+ - The table loaded now scans for *undocumented* elements of a
+ physical font's auxiliary data record. This is necessary to
+ retrieve the `real' family and style names.
+
+ NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
+
+ * src/pfr/pfrload.c (pfr_aux_name_load): New function.
+ (pfr_phy_font_done): Free `family_name' and `style_name' also.
+ Remove unused variables.
+ (pfr_phy_font_load): Extract useful information from the auxiliary
+ bytes.
+
+ * src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
+ (pfr_face_init): Provide fallback values for `family_name' and
+ `style_name'.
+ Handle strikes.
+ (pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
+ * src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
+ `descent', `leading', `family_name', and `style_name'.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
+ when computing the scale factors for a given character size in
+ points with resolution.
+
+ * devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
+ which are special development versions of include/ft2build.h and
+ include/freetype/config/ftoption.h, respectively.
+
+2003-02-18 David Turner <david@freetype.org>
+
+ Fixing the slight distortion problem that occurred due to the latest
+ auto-hinter changes.
+
+ * src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
+ [!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
+
+ * src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
+ * src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
+ `metrics'.
+ [FT_CONFIG_CHESTER_ASCENDER]: Code removed.
+ (Reset_SBit_Size): Fix initialization of `metrics'.
+
+ * src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
+ `exec->metrics'.
+
+ * src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
+ `correction' which seemed to provide more trouble than benefits.
+
+2003-02-13 Graham Asher <graham.asher@btinternet.com>
+
+ Changed the incremental loading interface in a way that makes it
+ simpler and allows glyph metrics to be changed (e.g., by adding a
+ constant, as required by CFF fonts) rather than just overridden.
+ This was required to make the GhostScript-to-FreeType bridge work.
+
+ * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Allow metrics to be overridden.
+ * src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Ditto.
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
+ (compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
+ moved down.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+
+ * include/freetype/ftincrem.h: Updated.
+
+2003-01-31 David Turner <david@freetype.org>
+
+ * docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
+ for the 2.1.4 release.
+
+ * builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/index.html: Updating the project file for
+ 2.1.4.
+
+ * src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
+ src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
+ src/gzip/infutil.c: Removed old-style (K&R)function definitions.
+ This avoids warnings with Visual C++ at its most pedantic mode.
+
+ * src/pfr/pfrsbit.c: Removed compiler warnings.
+
+ * src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
+ into an FT_TRACE1 since it caused `ftview' and others to dump too
+ much junk when trying to display a waterfall with a font without a
+ Unicode charmap (e.g. SYMBOL.TTF).
+
+ Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
+ patch from David Chester, but with a much simpler (and saner)
+ implementation.
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph)
+ [FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
+ the top of non-capital letters is aligned on a pixel boundary
+ whenever possible.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size)
+ [FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
+ * src/truetype/ttdriver.c (Set_Char_Sizes)
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
+ if this macro is defined.
+
+ * src/truetype/ttobjs.c (Reset_Outline_Size)
+ [FT_CONFIG_CHESTER_ASCENDER]: Round differently.
+
+ * src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting
+ rid of stem snapping seems to work well here (though the stems are
+ still slightly moved to increase contrast).
+ (psh3_dimension_quantize_len): Commented out.
+ (psh3_hint_align_light): New function.
+ (psh3_hint_align): Comment out some code.
+
+ THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
+ STILL SUCK.
+
+2003-01-22 David Chester <davidchester@qmx.net>
+
+ * src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
+ stem width optimization.
+
+2003-01-22 David Turner <david@freetype.org>
+
+ Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
+ properties of a given PCF or BDF font.
+
+ * include/freetype/ftbdf.h (FT_PropertyType): New enumeration.
+ (BDF_Property, BDF_PropertyRec): New structure.
+ FT_Get_BDF_Property): New function.
+ * include/freetype/internal/bdftypes.h: Include FT_BDF_H.
+ (BDF_GetPropertyFunc): New function pointer.
+
+ * src/base/ftbdf.c (test_font_type): New helper function.
+ (FT_Get_BDF_Charset_ID): Use `test_font_type'.
+ (FT_Get_BDF_Property): New function.
+
+ * src/bdf/bdfdrivr.c: Include FT_BDF_H.
+ (bdf_get_bdf_property, bdf_driver_requester): New functions.
+ (bdf_driver_class): Use `bdf_driver_requester'.
+
+ * src/pcf/pcfdrivr.c: Include FT_BDF_H.
+ (pcf_get_bdf_property, pdc_driver_requester): New functions
+ (pcf_driver_class): Use `pcf_driver_requester'.
+
+ * src/pcf/pcfread.c: Include `pcfread.h'.
+ (pcf_find_property): Decorate it with FT_LOCAL_DEF.
+ * src/pcf/pcfread.h: New file, providing `pcf_find_property'.
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
+ verification to accept a few broken fonts who pad the size
+ incorrectly (the table should be padded, but its `size' field
+ shouldn't according to the specification).
+
+2003-01-18 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.4.3.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.7.1.
+ * builds/unix/configure: Regenerated with autoconf 2.54.
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `automake' CVS module at subversions.gnu.org.
+
+2003-01-15 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h: Fixed documentation for
+ FT_Size_Metrics.
+
+2003-01-15 James Su <suzhe@turbolinux.com.cn>
+
+ * src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
+ certain gzip-ed font files (typo: `&&' -> `&').
+
+2003-01-15 Huw D M Davies <h.davies1@physics.ox.ac.uk>
+
+ Added a Windows .FNT specific API (mostly for Wine). Also fixed a
+ nasty bug in the header loader which would cause invalid memory
+ overwrites.
+
+ * include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
+ for ftwinfnt.h.
+ * include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
+ (FNT_FontRec): Updated.
+ Move Windows FNT definition to...
+ * include/freetype/ftwinfnt.h: This new file.
+ (FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
+ * src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
+ * src/winfonts/winfnt.c (winfnt_header_fields): Updated.
+ Rename `reserved2' to `reserved1'.
+ (fnt_font_load): Updated.
+
+ * src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
+ Updated.
+
+2003-01-14 Graham Asher <graham.asher@btinternet.com>
+
+ * include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
+ the type of the first argument to FT_Matrix_Multiply, which isn't
+ changed -- this adds documentation and convenience.
+
+2003-01-13 Graham Asher <graham.asher@btinternet.com>
+
+ * src/sfnt/ttload.c (tt_face_load_metrics)
+ [FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
+ horizontal metrics (without the `hmtx' table) are now tolerated if
+ an incremental interface has been specified that has a
+ get_glyph_metrics function, implying that metrics will be supplied
+ from outside. This happens for certain Type 42 fonts passed from
+ GhostScript.
+
+2003-01-11 David Chester <davidchester@qmx.net>
+
+ Patches to the auto-hinter in order to slightly improve the output.
+ Note that everything is controlled through the new
+ FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'. There are
+ also individual FT_CONFIG_CHESTER_XXX macros to control individual
+ `features'.
+
+ Note that all improvements are enabled by default, but can be
+ tweaked for optimization and testing purposes. The configuration
+ macros will most likely disappear in the short future.
+
+ * include/freetype/config/ftoption.h
+ (FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
+ (FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
+ [FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
+ features.
+
+ * src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
+ Add blue zone for `fijkdbh'.
+ * src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
+ [FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
+ * src/autohint/ahglyph.c (ah_outline_compute_edges)
+ [FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
+ (ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
+ Increase threshold for `best_dist'.
+ * src/autohint/ahhint.c (ah_compute_stem_width)
+ [FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
+ handling.
+ (ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
+ version of `ah_compute_stem_width'.
+ (ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
+ alignment when stem widths are less than 1.5 pixels wide centers the
+ stem slightly off-center of the center of a pixel (this increases
+ sharpness and consistency).
+ [FT_CONFIG_CHESTER_SERIF]: Use special version of
+ `ah_compute_stem_width'.
+ * src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
+ `AH_BLUE_SMALL_F_TOP'.
+
+2003-01-11 David Turner <david@freetype.org>
+
+ * include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
+ size of `reserved2' to avoid memory overwrites.
+
+2003-01-08 Huw Dawies <huw@codeweavers.com>
+
+ * src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
+ `reserved2', not `reserved'.
+
+ * src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
+ returned when the font doesn't contain a Unicode charmap. This
+ allows FT2 to load `symbol.ttf' and a few others correctly since the
+ last release.
+ (open_face): Fix return value.
+
+2003-01-08 Owen Taylor <owen@redhat.com>
+
+ Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
+ postscript hinters.
+
+ * src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
+ * src/autohint/ahhint.c (ah_compute_stem_width): Handle
+ hinter->do_stem_adjust.
+ (ah_hinter_load_glyph): Set hinter->do_stem_adjust.
+
+ * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
+ * src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
+ (ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
+
+ * include/freetype/freetype.h (FT_Render_Mode): Add
+ FT_RENDER_MODE_LIGHT.
+
+ * src/truetype/ttgload.c: Fixing the TrueType loader to handle
+ invalid composites correctly by limiting the recursion depth.
+ (TT_MAX_COMPOSITE_RECURSE): New macro.
+ (load_truetype_glyph): Add argument `recurse_count'.
+ Load a composite only if the numbers of contours is -1, emit error
+ otherwise.
+ (TT_Load_Glyph): Updated.
+
+2003-01-08 David Turner <david@freetype.org>
+
+ * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
+ support the compilation of FreeType 2 as part of larger projects
+ with their own configuration options (only with Jam).
+
+2003-01-07 David Turner <david@freetype.org>
+
+ * src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
+ the API is likely to change, however.
+ (ft_stroke_border_close): Don't record empty paths.
+ (ft_stroke_border_get_counts): Increase `num_points' also in for loop.
+ (ft_stroke_border_export): Don't increase `write' twice in for loops.
+ (ft_stroker_outside): Handle `phi' together with `theta'.
+ (FT_Stroker_ParseOutline): New function.
+
+ * src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
+ invalid values for large negative angle differences (resulting in
+ incorrect stroker computations, among other things).
+
+ * src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
+ assertion, and changing code to avoid hash table size contraction.
+
+ * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
+ `ftstroker' to default build, as optional component.
+
+2002-12-26 David Turner <david@freetype.org>
+
+ * src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
+ src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
+ src/gzip/zutil.h: Updates to allow compilation without compiler
+ warnings with LCC-Win32.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+ * builds/unix/configure.ac (version_info): Increased to 9:3:3.
+ * builds/unix/configure: Regenerated.
+ * docs/VERSION.DLL: Updated.
+
+2002-12-23 Anthony Fok <anthony@thizlinux.com>
+
+ * builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
+ builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
+ sub-system on Unix to allow other programs to correctly link with
+ zlib when needed.
+
+2002-12-19 David Turner <david@freetype.org>
+
+ * include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
+ function pointer.
+
+ * include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
+ * src/base/ftobjs.c: Implement it.
+
+ * src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
+ module request.
+
+2002-12-17 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c (find_unicode_charmap): Added some comments to
+ better explain what's happening there.
+ (open_face): Included Graham Asher's fix to prevent faces without
+ Unicode charmaps from loading.
+
+ * src/winfonts/winfnt.c: Included George Williams's fix to support
+ version 2 fonts correctly.
+ (winfnt_header_fields): Updated.
+ (fnt_font_load): Handle version 2 fonts.
+ (FNT_Load_Glyph): Updated.
+
+2002-12-16 David Turner <david@freetype.org>
+
+ * docs/VERSION.DLL: Updating document to better explain the
+ differences between the three version numbers being used on Unix, as
+ well as providing an autoconf fragment provided by Lars Clausen.
+
+ * src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
+ prevented bezier arcs with negative vertical coordinates to be
+ rendered appropriately.
+
+2002-12-02 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
+ Now it loads UCS-4 charmaps when there is one.
+ (find_unicode_charmap): New function.
+ (open_face): Refer to the above one.
+ (FT_Select_Charmap): Idem.
+
+2002-11-29 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * include/freetype/ftgzip.h: Correct the name of the controlling
+ macro (was __FTXF86_H__ ...).
+
+2002-11-27 Vincent Caron <v.caron@zerodeux.net>
+
+ * builds/unix/unix-def.in, builds/unix/freetype-config.in,
+ builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
+ [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
+ installations if available on the target platform (Unix only).
+
+2002-11-23 David Turner <david@freetype.org>
+
+ * src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
+ charset loader to accept pre-defined charsets, even when the font
+ contains fewer glyphs. Also enforced more checks to ensure that we
+ never overflow the character codes array in the encoding.
+
+2002-11-22 Antoine Leca <Antoine-Freetype@Leca-Marti.org>
+
+ * include/freetype/ttnameid.h: Updated to latest OpenType
+ specification.
+
+2002-11-18 David Turner <david@freetype.org>
+
+
+ * Version 2.1.3 released.
+ =========================
+
+
+2002-11-07 David Turner <david@freetype.org>
+
+ * src/cache/ftcsbit.c (ftc_sbit_node_load): Fixed a small bug that
+ caused problems with embedded bitmaps.
+
+ * src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
+ src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
+ src/otlayout/otlparse.c, src/otlayout/otlparse.h,
+ src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
+ support fot the first GSUB lookups. Nothing that really compiles
+ for now though.
+
+ * src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
+ width quantization. It produces slightly better shapes though this
+ is not distinguishable with many fonts.
+ Remove other dead code.
+
+ * src/Jamfile, src/*/Jamfile: Simplified.
+ Use $(FT2_SRC_DIR).
+
+2002-11-06 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
+ (FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
+
+2002-11-05 David Turner <david@freetype.org>
+
+ * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
+ support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
+ the use of system-wide zlib.
+
+ Note that this macro, as well as
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
+ This allows the build system to define them depending on the
+ configuration (typically by adding -D flags at compile time).
+
+ * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
+ warnings in optimized mode relative to the `volatile' local
+ variables. This was not a compiler bug after all, but the fact that
+ a pointer to a volatile variable is not the same as a volatile
+ pointer to a variable :-)
+
+ The fix was to change
+ `volatile FT_Byte* p'
+ into
+ `FT_Byte* volatile p'.
+
+ * src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
+ (pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
+ optimized modes.
+
+ * src/gzip/*.[hc]: Modified our zlib copy in order to prevent
+ exporting any zlib function names outside of the component. This
+ prevents linking problems on some platforms, when applications want
+ to link FreeType _and_ zlib together.
+
+2002-11-05 Juliusz <jch@pps.jussieu.fr>
+
+ * src/psaux/psobjs.c (ps_table_add): Modified increment loop in
+ order to implement exponential behaviour.
+
+2002-11-01 David Turner <david@freetype.org>
+
+ Added PFR-specific public API. Fixed the kerning retrievel routine
+ (it returned invalid values when the outline and metrics resolution
+ differ).
+
+ * include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
+ files.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
+ macro for pfr.h.
+
+ * src/base/ftpfr.c: New file.
+ * src/base/Jamfile, src/base/descrip.mms: Updated.
+
+ * src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
+ (pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
+ (pfr_service_rec): New format interface.
+ (pfr_driver_class): Use `pfr_service_rec'.
+ Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
+ * src/pfr/pfrobjs.c: Remove dead code.
+
+ * src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
+ better support bitmap-based font formats.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
+ `scale'.
+ Fix arguments to `FT_Vector_From_Polar'.
+
+2002-10-31 David Turner <david@freetype.org>
+
+ Add support for automatic handling of gzip-compressed PCF files.
+
+ * src/gzip/*: New files, taken from the zlib package (except
+ ftgzip.c).
+
+ * include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
+ * include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
+ `ftgzip.h'.
+
+ * src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
+ (PCF_Face_Init): If normal open fails, try to open gzip stream.
+ (PCF_Face_Done): Close gzip stream.
+
+ * include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
+ src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
+ New macro.
+ (T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
+ FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
+ FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
+
+ (FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
+ FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
+ that platform specific configuration file can override.
+
+ * include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
+
+2002-10-30 David Turner <david@freetype.org>
+
+ * FreeType 2.1.3rc3 released.
+
+2002-10-25 David Turner <david@freetype.org>
+
+ * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
+ (FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
+
+2002-10-22 Giuseppe Ghibò <ghibo@mandrakesoft.com>
+
+ * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
+
+2002-10-07 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
+ (suggested by Graham).
+ * src/base/ftobjs.c (FT_Open_Face): Updated.
+ (ft_input_stream_new): Ditto.
+
+2002-10-05 David Turner <david@freetype.org>
+
+ Adding support for embedded bitmaps to the PFR driver, and rewriting
+ its kerning loader/handler to use all kerning pairs in a physical
+ font (and not just the first item).
+
+ * src/pfr/pfr.c: Include `pfrsbit.c'.
+ * src/pfr/pfrgload.c: Include `pfrsbit.h'.
+ * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
+ (pfr_phy_font_done, pfr_phy_font_load): Updated.
+ * src/pfr/pfrobks.c: Include `pfrsbit.h'.
+ (pfr_face_init): Handle kerning and embedded bitmaps.
+ (pfr_slot_load): Load embedded bitmaps.
+ (PFR_KERN_INDEX): Removed.
+ (pfr_face_get_kerning): Rewritten.
+ * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
+ * src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
+ (PFR_KERN_INDEX): New macro.
+ (PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
+ * src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
+ FT_LOAD_NO_RECURSE is set.
+ Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
+
+ * src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
+ src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
+ sub-tables is now capable of dealing with invalid `length' fields at
+ the start of the sub-table. This allows fonts like `mg______.ttf'
+ (i.e. Marriage) to return accurate charmaps.
+
+ * docs/CHANGES: Updated.
+
+2002-10-05 Werner Lemberg <wl@gnu.org>
+
+ * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
+ Update all callers.
+ (TRUNC): Add cast to `TCoord'.
+ Update all callers.
+ (TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
+ last_ey.
+ Update all casts.
+ (gray_render_line): Fix casts for `p' and `first'.
+
+2002-10-02 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
+ structure with FT_ALLOC instead of using the stack.
+
+2002-09-27 Werner Lemberg <wl@gnu.org>
+
+ * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
+ num_sbit_scales): Use `FT_ULong'.
+ * src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
+ * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
+ (find_sbit_image): Remove cast.
+ * src/raster/ftrend1.c (ft_raster1_render): Fix cast.
+
+2002-09-27 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/sfnt/ttload.c (tt_face_load_names): Use cast.
+ * src/sfnt/ttcmap.c (code_to_next2): Use long constant.
+ (code_to_index4): Use cast.
+ (code_to_index8_12): Fix cast.
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
+ tt_cmap12_char_index): Use cast for `result'.
+ (tt_face_build_cmaps): Use cast.
+ * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
+ `code'.
+ (sfnt_load_face): Use FT_Int32 for `flags'.
+
+ * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
+ gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
+ to `TCoord' and `int'.
+ More 16bit fixes.
+ s/FT_Pos/TPos/.
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
+
+2002-09-26 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
+ tt_face_get_ps_name): Replace switch statement with if clauses to
+ make it more portable.
+
+ * src/cff/cffobjs.c (cff_face_init): Ditto.
+
+ * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
+ `module_size'.
+ * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
+ `glyph_size'.
+
+ * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
+ `FT_Render_Mode'.
+ (FT_Render_Glyph_Internal): Change third parameter to
+ `FT_Render_Mode'.
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
+ to `FT_Render_Mode'.
+
+ * src/raster/ftrend1.c (ft_raster1_render): Change third parameter
+ to `FT_Render_Mode'.
+ * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
+ ft_smooth_render_lcd_v): Ditto.
+ (ft_smooth_render_generic): Change third and fifth parameter to
+ `FT_Render_Mode'.
+
+ * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+ include/freetype/ftglyph.h: Updated.
+
+ * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
+ (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
+ src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
+ (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
+ fourth parameter to `FT_Int32'.
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
+ and declare them as unused.
+
+ * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
+
+ * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
+ value to FT_UInt32.
+ * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
+ Updated accordingly.
+
+2002-09-26 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
+ (cff_get_glyph_name): Use cast for result of ft_strlen.
+ * src/cff/cffparse.c (cff_parse_real): User cast for assigning
+ `exp'.
+ * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
+ some local variables.
+ (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
+ switch statements.
+ (cff_font_load): Use cast in call to CFF_Load_FD_Select.
+ * src/cff/cffobjs.c (cff_size_init): Use more casts.
+ (cff_face_init): Use FT_Int32 for `flags'.
+ * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
+ `adx' and `ady'.
+ (cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
+ Use more casts.
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
+
+ * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
+ * src/cid/cidgload.c (cid_load_glyph): Add missing cast for
+ `cid_get_offset'.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
+ cast for `num_points'.
+ (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
+
+ * src/base/ftdebug.c (ft_debug_init): Use FT_Int.
+ * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
+ `FT_Int32' for fourth parameter.
+ * src/base/ftobjs.c (open_face): Use cast for calling
+ clazz->init_face.
+
+ * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
+ `1L'.
+ (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
+ * src/raster/ftrend1.c (ft_raster1_render): Ditto.
+
+ * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
+ constant.
+
+2002-09-26 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/include/freetype/config/ftmodule.h: Updated.
+
+2002-09-25 David Turner <david@freetype.org>
+
+ * src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
+ hinting in the auto-hinter. This produces much better anti-aliased
+ text.
+
+ * docs/CHANGES: Updating the changes documentation.
+
+2002-09-25 Anthony Fok <anthony@thizlinux.com>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
+ tt_cmap4_char_next): Added support for opens___.ttf (it contains a
+ charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
+ missing glyph).
+
+2002-09-21 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
+ FT_Int32.
+ * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
+ Ditto.
+
+2002-09-19 Wolfgang Domröse <porthos.domroese@harz.de>
+
+ More 16bit fixes.
+
+ * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
+ (ah_hinter_compute_widths): Use FT_Pos for `dist'.
+ Use AH_MAX_WIDTHS.
+ * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
+ for `delta'.
+ (ah_outline_compute_edges): Replace some ints with FT_Int and
+ FT_Pos.
+ (ah_test_extrema): Clean up code.
+ (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
+ hold indices.
+ * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
+ to FT_Pos.
+
+2002-09-19 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated to
+ recent versions.
+
+2002-09-18 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c (FT_Library_Version): Bugfix.
+
+ * FreeType 2.1.3rc2 (release candidate 2) is released!
+
+2002-09-17 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h, include/freetype/ftimage.h,
+ include/freetype/ftstroker.h, include/freetype/ftsysio.h,
+ include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
+ the in-source documentation.
+
+ * src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
+ DocMaker tool.
+
+ * src/tools/docmaker.py: Removed.
+
+2002-09-17 Werner Lemberg <wl@gnu.org>
+
+ More 16bit fixes.
+
+ * src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
+ second parameter.
+
+2002-09-16 Werner Lemberg <wl@gnu.org>
+
+ 16bit fixes from Wolfgang Domröse.
+
+ * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
+ and `private_len' to FT_Long.
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
+ `private_len'.
+ * src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
+ Use FT_PtrDist where appropriate.
+ (parse_encoding): Use FT_Long for `count' and `n'.
+ (read_binary_data): Use FT_Long* for second parameter.
+ * src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
+
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
+ * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
+
+2002-09-14 Werner Lemberg <wl@gnu.org>
+
+ Making ftgrays.c compile stand-alone again.
+
+ * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
+ isn't defined.
+ * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
+ FT_BEGIN_HEADER, FT_END_HEADER.
+ (FT_MEM_ZERO): Define.
+ (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
+ (gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
+ Don't cast with `FT_Byte'.
+ (grays_init_gamma): Don't use `FT_UInt'.
+
+2002-09-14 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
+ * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
+ * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
+ to 32.
+
+2002-09-10 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.ac (version_info): Set to 9:2:3.
+ * builds/unix/configure: Regenerated.
+ * docs/VERSION.DLL: Updated.
+
+2002-09-09 David Turner <david@freetype.org>
+
+ * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
+ src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
+ to prevent seg fault when hints are provided in an empty glyph.
+
+ * src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
+ Removed conditional code. This fixes a bug that prevented
+ compilation in debug mode of template instantiation.
+
+ * include/freetype/ftimage.h: Removed incorrect `zft_' definitions
+ and updated constants documentation comments.
+
+ * src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
+ It didn't accept empty arrays, and this prevented the loading of
+ certain fonts.
+
+ * include/freetype/freetype.h (FT_FaceRec): Updating documentation
+ comment. The `descender' value is always *negative*, not positive.
+
+2002-09-09 Owen Taylor <owen@redhat.com>
+
+ * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
+ of bitmap metrics.
+
+2002-09-08 David Turner <david@freetype.org>
+
+ Various updates to correctly support sub-pixel rendering.
+
+ * include/freetype/config/ftmodule.h: Add two renderers for LCD.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Updated.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_lcd,
+ ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
+ FT_PIXEL_MODE_LCD_V, respectively.
+
+ * include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
+ structure.
+ Updated all users.
+ (FTC_ImageDesc): Removed.
+ (FTC_ImageCache_Lookup): Second parameter is now of type
+ `FTC_ImageType'.
+ Updated all users.
+ (FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
+ (FTC_IMAGE_TYPE_COMPARE): This.
+ (FTC_IMAGE_DESC_HASH): Updated and renamed to...
+ (FTC_IMAGE_TYPE_HASH): This.
+
+ * include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
+ replaced with `max_grays'.
+ `pitch' is now FT_Short.
+ (FTC_SBitCache_Lookup): Second parameter is now of type
+ `FTC_ImageType'.
+ Updated all users.
+
+ * src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
+ Updated.
+ (ftc_image_node_init): Updated.
+ Moved code to convert type flags to load flags to...
+ (FTC_Image_Cache_Lookup): This function.
+ (ftc_image_family_init): Updated.
+
+ * src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
+ Updated.
+ (ftc_sbit_node_load): Updated.
+ Moved code to convert type flags to load flags to...
+ (FTC_SBitCache_Lookup): This function.
+
+ * src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
+ `do_*_snapping'.
+ Update all users (with negation).
+ * src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
+ `dist' for `delta' < 40.
+
+ * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
+ `do_*_snapping'.
+ Update all users (with negation).
+ * src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
+ function.
+ (psh3_hint_align): Use it.
+ Improve hinting code.
+ [STRONGER]: Removed.
+ (STRONGER): Removed.
+
+ * include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
+ Removed.
+
+2002-09-05 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
+ (cid_size_init): This.
+ * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
+ (t1_builder_add_point1): This.
+
+ Updated all affected code.
+
+ * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
+ * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
+
+2002-09-04 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h: Corrected the definition of
+ ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
+ the erroneous FT_ENCODING_SYMBOL).
+
+ * builds/unix/unix-def.in (datadir): Initialize it (thanks to
+ Anthony Fok).
+
+2002-08-29 David Turner <david@freetype.org>
+
+ Slight modification to the Postscript hinter to slightly increase
+ the contrast of smooth hinting. This is very similar to what the
+ auto-hinter does when it comes to stem width computations. However,
+ it produces better results with well-hinted fonts.
+
+ * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
+ mode to `init' member function.
+ (T1_DecoderRec): Add hint mode.
+ * include/freetype/internal/pshints (T1_Hints_ApplyFunc,
+ T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
+ * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
+ * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
+ hint flags.
+ * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
+ (STRONGER): New macro.
+ (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
+ of `hint_flags'.
+ Implement announced changes.
+ * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
+ vertical and horizontal hints and snapping.
+
+ * README, docs/CHANGES: Updating for the 2.1.3 release.
+
+2002-08-27 David Turner <david@freetype.org>
+
+ * Massive re-formatting changes to many, many source files. I don't
+ want to list them all here. The operations performed were all
+ logical transformations of the sources:
+
+ - trying to convert all enums and constants to CAPITALIZED_STYLE,
+ #with define definitions like
+
+ #define my_old_constants MY_NEW_CONSTANT
+
+ - big, big update of the documentation comments
+
+ * include/freetype/freetype.h, src/base/ftobjs.c,
+ src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
+ for LCD-optimized rendering though the new constants/enums:
+
+ FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
+ FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V
+
+ This is still work in progress, don't expect everything to work
+ correctly though most of the features have been implemented.
+
+ * Adding new FT_LOAD_XXX flags, used to specify both hinting and
+ rendering targets:
+
+ FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
+ FT_LOAD_TARGET_MONO :: monochrome bitmaps
+ FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated
+ hinting & rendering
+ FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated
+ hinting & rendering
+
+ Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
+ behaviour of the font engine is _unchanged_.
+
+ * include/freetype/ftimage.h
+ (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
+ (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
+ (FT_Raster_Span_Func): Renamed to ...
+ (FT_SpanFunc): This.
+ (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
+ (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
+
+ Updated all affected code.
+
+ * include/freetype/ftrender.h
+ (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
+ to ...
+ (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
+ (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
+ (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
+ This.
+
+ Updated all affected code.
+
+ * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
+ AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
+ pointers to the corresponding `*Rec' structures. All source files
+ have been updated accordingly.
+
+ * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
+ * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
+
+ * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
+ (cid_face_compute_max_advance): This.
+ (CID_Load_Glyph): Renamed to...
+ (cid_slot_load_glyph): This.
+ * src/cid/cidload.c (CID_Open_Face): Renamed to...
+ (cid_face_open): This.
+ * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
+ (cid_slot_{done,init}): This.
+ (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
+ (cid_size_{get_globals_funcs,done,reset): This.
+ (CID_Face_{Done,Init}): Renamed to...
+ (cid_face_{done,init}): This.
+ (CID_Driver_{Done,Init}: Renamed to...
+ (cid_driver_{done,init}: This.
+ * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
+ (cid_parser_{new,done}): This.
+ * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
+ (cid_parser_skip_{spaces,alpha}): This.
+ (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
+ to...
+ (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
+ This.
+ (CID_Load_{Field,Field_Table): Renamed to...
+ (cid_parser_load_{field,field_table}): This.
+ * src/cid/cidriver.c (CID_Get_Interface): Renamed to...
+ (cid_get_interface): This.
+
+ Updated all affected code.
+
+ * src/psaux/psobjs.c (PS_Table_*): Renamed to...
+ (ps_table_*): This.
+ (T1_Builder_*): Renamed to...
+ (t1_builder_*): This.
+ * src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
+ (t1_decoder_*): This.
+
+ * src/psnames/psmodule.c (PS_*): Renamed to...
+ (ps_*): This.
+
+ Updated all affected code.
+
+ * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
+ (sfnt_get_interface): This.
+ * src/sfnt/sfobjs.c (SFNT_*): Renamed to...
+ (sfnt_*): This.
+ * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
+ (tt_face_{load,free}_charmap): This.
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
+ (tt_face_build_cmaps): This.
+ * src/sfnt/ttload.c (TT_*): Renamed to...
+ (tt_face_*): This.
+ * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
+ (tt_post_default_names): This.
+ (Load_*): Renamed to...
+ (load_*): This.
+ (TT_*): Renamed to...
+ (tt_face_*): This.
+ * src/sfnt/ttsbit.c (TT_*): Renamed to...
+ (tt_face_*): This.
+ ({Find,Load,Crop}_*): Renamed to...
+ ({find,load,crop}_*): This.
+
+ Updated all affected code.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
+ (ft_smooth_render_generic): This.
+ Make function more generic by adding vertical and horizontal scaling
+ factors.
+ (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
+ New functions.
+
+ (ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
+ classes.
+
+ * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
+ (tt_glyphzone_{done,new}): This.
+ (TT_{Face,Size,Driver}_*): Renamed to...
+ (tt_{face,size,driver}_*): This.
+ * src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
+ (tt_face_load_loca): This.
+ (TT_Load_Programs): Renamed to...
+ (tt_face_load_fpgm): This.
+ (TT_*): Renamed to...
+ (tt_face_*): This.
+
+2002-08-27 Werner Lemberg <wl@gnu.org>
+
+ * docs/VERSION.DLL: New file.
+
+2002-08-23 Graham Asher <graham.asher@btinternet.com>
+
+ * src/cff/cffgload.c (cff_operator_seac)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
+ incremental in the case of CFF but just using callbacks to get glyph
+ recipes) pass the character code, not the glyph index, to the
+ get_glyph_data function; they have no valid charset table.
+
+ * src/cff/cffload.c (cff_font_load): Removed special cases for
+ FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
+ fonts provided via the incremental interface now have to conform
+ more closely to the CFF font format.
+
+ * src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
+
+ * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
+ to conform with new signature.
+
+2002-08-22 David Turner <david@freetype.org>
+
+ * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
+ src/bdf/bdfdrivr.c: Removed compiler warnings.
+
+2002-08-21 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
+ psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
+ compiler warnings and resolve shadowing of local variables.
+
+2002-08-21 David Turner <david@freetype.org>
+
+ The automatic and Postscript hinter now automatically detect
+ inflection points in glyph outlines and treats them specially. This
+ is very useful to prevent nasty effect like the disappearing
+ diagonals of `S' and `s' in many, many fonts.
+
+ * src/autohint/ahtypes.h (ah_flag_inflection): New macro.
+ * src/autohint/ahangles.c (ah_angle_diff): New function.
+ * src/autohint/ahangles.h: Updated.
+ * src/autohint/ahglyph.c (ah_outline_compute_inflections): New
+ function.
+ (ah_outline_detect_features): Use it.
+ * src/autohint/ahhint.c (ah_hinter_align_strong_points)
+ [!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
+
+ * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
+ src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
+
+ * include/freetype/freetype.h: Changing the type of the `load_flags'
+ parameter from `FT_Int' to `FT_Int32', this in order to support more
+ options. This should only break binary and/or source compatibility
+ on 16-bit platforms (Atari?).
+ (FT_LOAD_NO_AUTOHINT): New macro.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Updated.
+ Handle FT_LOAD_NO_AUTOHINT.
+ (FT_Load_Char): Updated.
+
+ * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
+ src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
+ and removing compiler warnings.
+
+2002-08-20 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
+
+2002-08-20 David Turner <david@freetype.org>
+
+ * src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
+ src/pshinter/pshglob.c, src/pshinter/pshrec.c,
+ src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
+ (only used in development builds anyway).
+
+ Improve support of local extrema and stem edge points.
+
+ * src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
+ for `zones'.
+ (PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
+ (PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
+ (PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
+ macros.
+ (PSH3_POINT_INFLEX): New enum.
+ (psh3_point_{is,set}_{off,inflex}): New macros.
+ (PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
+ enum values.
+ (psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
+ New macros.
+ (PSH3_PointRec): New members `flags2' and `org_v'.
+ (PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
+
+ * src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
+ warnings.
+ (COMPUTE_INFLEXS): New macro.
+ (psh3_hint_align): Simplify some basic arithmetic computations.
+ (psh3_point_is_extremum): Removed.
+ (psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
+ (psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
+ (psh3_glyph_compute_extrema): New function.
+ (PSH3_STRONG_THRESHOLD): Increased to 30.
+ (psh3_hint_table_find_strong_point): Improved.
+ (psh3_glyph_find_strong_points,
+ psh3_glyph_interpolate_strong_points): Updated.
+ (psh3_hints_apply): Use psh3_glyph_compute_extrema.
+
+ * test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
+ functions.
+ Other small updates.
+
+ * Jamfile: Small updates.
+
+2002-08-18 Arkadiusz Miskiewicz <misiek@pld.ORG.PL>
+
+ * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
+ make life easier for package maintainers.
+
+2002-08-18 Werner Lemberg <wl@gnu.org>
+
+ * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
+ horiBearingX.
+ * src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
+ horiBearingY.
+
+2002-08-16 George Williams <gww@silcom.com>
+
+ Add support for Apple composite glyphs.
+
+ * include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
+
+ * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
+ UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
+ glyph loading flags.
+ (load_truetype_glyph): Implement it.
+
+2002-08-16 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_free_glyph_data),
+ src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
+
+2002-08-15 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
+
+2002-08-15 Graham Asher <graham.asher@btinternet.com>
+
+ Implemented the incremental font loading system for the CFF driver.
+ Tested using the GhostScript-to-FreeType bridge (under development).
+
+ * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
+ functions.
+ (cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
+ them.
+ * src/cff/cffload.c (cff_font_load): Add `face' parameter.
+ Load charset and encoding only if there are glyphs.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
+ character recipes.
+ * src/cff/cffload.h, src/cff/cffobjs.c: Updated.
+
+ * src/cid/cidgload.c (cid_load_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
+ loading implementation to use the new system introduced on
+ 2002-08-01.
+
+2002-08-06 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffcmap.c: Remove compiler warnings.
+ * src/cache/ftccache.c, src/cache/ftccache.i,
+ src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
+ * src/cff/cffload.c: s/select/fdselect/.
+ * src/raster/ftraster.c: s/wait/waiting/.
+
+2002-08-01 Graham Asher <graham.asher@btinternet.com>
+
+ * src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
+ charstrings if there is an incremental loading interface. Type 1
+ faces supplied by PostScript interpreters like GhostScript will
+ typically not provide any charstrings at load time, so this is
+ essential if they are to work.
+
+2002-08-01 Graham Asher <graham.asher@btinternet.com>
+
+ Modified incremental loading interface to be closer to David's
+ preferences. The header freetype.h is not now affected, the
+ interface is specified via an FT_Parameter, the pointer to the
+ interface is hidden in an internal part of the face record, and all
+ the definitions are in ftincrem.h.
+
+ * include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
+ Removed.
+ * include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
+ Include FT_INCREMENTAL_H.
+ (FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
+ `incremental_interface'.
+
+ * src/base/ftobjs.c (open_face, FT_Open_Face)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Updated.
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ Free loaded glyph data properly.
+ (compute_glyph_metrics, TT_Load_Glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ * src/truetype/ttobjs.c (TT_Face_Init)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ (T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ Free loaded glyph data properly.
+ (T1_Load_Glyph): Updated.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
+
+2002-07-30 David Turner <david@freetype.org>
+
+ * include/freetype/ftincrem.h: Adding new experimental header file
+ to demonstrate a `cleaner' API to support incremental font loading.
+
+ * include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
+
+ * src/tools/docmaker/*: Adding new (more advanced) version of
+ the DocMaker tool, using Python's sophisticated regexps.
+
+2002-07-28 Werner Lemberg <wl@gnu.org>
+
+ s/ft_memset/FT_MEM_SET/.
+ s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
+
+2002-07-27 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
+
+2002-07-26 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
+
+ * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
+ * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
+ * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
+ variable.
+ * src/truetype/ttgload.c (load_truetype_glyph): Remove statement
+ without effect.
+ * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
+
+ * src/pshinter/pshalgo3.c (psh3_hint_table_record,
+ psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
+ message.
+
+2002-07-24 Graham Asher <graham.asher@btinternet.com>
+
+ * src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
+ [sven@gimp.org] on the FreeType development forum: `If
+ FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
+ TrueType loader crashes in line 852 of src/truetype/ttgload.c when
+ it tries to access face->glyph_locations.'
+
+2002-07-18 Graham Asher <graham.asher@btinternet.com>
+
+ Added types and structures to support incremental typeface loading.
+ The FT_Incremental_Interface structure, defined in freetype.h, is
+ designed to be passed to FT_Open_Face to provide callback functions
+ to obtain glyph recipes and metrics, for fonts like those passed
+ from PostScript that do not necessarily provide all, or any, glyph
+ information, when first opened.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
+ New configuration macro to enable incremental face loading. By
+ default it is not defined.
+
+ * include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
+ FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
+ FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
+ [FT_CONFIG_OPTION_INCREMENTAL]: New.
+ (FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
+ `incremental_interface'.
+ (FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
+ `ft_open_incremental'.
+
+ * include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
+ (FT_Data): New structure to represent binary data.
+
+ * src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Add parameter for incremental loading.
+ (FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
+ interface.
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
+ for the TrueType driver.
+ (compute_glyph_metrics): Return FT_Error.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
+ (TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
+ the glyph table while handling an incremental font.
+ Get glyph offset.
+
+ * src/truetype/ttobjs.c (TT_Face_Init)
+ [FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
+ system for the TrueType driver.
+
+ * src/cid/cidgload.c (cid_load_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
+ for the CID driver.
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Changes to support incremental Type 42 fonts: Assume a font has
+ glyphs if it has an incremental interface object.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
+ (T1_Parse_Glyph_And_Get_Char_String): This.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
+ loaded Type 1 faces.
+ (T1_Parse_Glyph): New function.
+ (T1_Load_Glyph): Updated.
+
+2002-07-17 David Turner <david@freetype.org>
+
+ Cleaning up the cache sub-system code; linear hashing is now the
+ default.
+
+ * include/freetype/cache/ftccache.h, src/cache/ftccache.i,
+ src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
+ (FTC_CACHE_USE_LINEAR_HASHING: Removed also.
+
+ FT_CONFIG_OPTION_USE_CMAPS is now the default.
+
+ * include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
+ `get_char_index' and `get_next_char'.
+
+ * include/freetype/config/ftoption.h,
+ include/freetype/internal/tttypes.h, src/base/ftobjs.c,
+ src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
+ src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
+ src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
+ src/type42/t42objs.c, src/winfonts/winfnt.c
+ [!FT_CONFIG_OPTION_USE_CMAPS]: Removed. The new cmap code is now
+ the default.
+
+ * src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
+ Removed.
+ * src/type42/t42objs.h: Updated.
+
+ * src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
+ Removed.
+ (t1_cid_driver_class): Updated.
+ * src/truetype/ttdriver.c (tt_driver_class): Updated.
+ * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
+ (t1_driver_class): Updated.
+ * src/type42/t42drivr.c (t42_driver_class): Updated.
+
+ * src/base/ftobjs.c (open_face): Select Unicode cmap by default.
+
+ * src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
+ prevented OpenType fonts to be recognized by FreeType.
+
+2002-07-11 David Turner <david@freetype.org>
+
+ Changing the SFNT loader to check for SFNT-based font files
+ differently. We now ignore the range `helper' fields and check the
+ `head' table's magic number instead.
+
+ * include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
+ field.
+
+ * src/sfnt/ttload.c (sfnt_dir_check): New function.
+ (TT_Load_SFNT_HeaderRec): Renamed to...
+ (TT_Load_SFNT_Header): This.
+ Implement new functionality.
+ * src/sfnt/ttload.h: Updated.
+ * src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+ * src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
+ and dynamic hash table implementation (still experimental, don't
+ use).
+ * include/freetype/internal/fthash.h: Updated.
+ * include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
+ `meta_class'.
+
+ Fixing a bug in the Type 1 loader that prevented valid font bounding
+ boxes to be loaded from multiple master fonts.
+
+ * include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ `T1_FIELD_TYPE_BBOX'.
+ (T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
+ (T1_FIELD_BBOX): New macro.
+
+ * src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
+ * src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
+ (T1_Done_Blend): Free blend->bboxes.
+ (t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
+ (parse_font_bbox): Commented out.
+ (t1_keywords): Comment out `parse_font_bbox'.
+ * src/type1/t1tokens.h: Define `FontBBox' field.
+
+2002-07-10 David Turner <david@freetype.org>
+
+ * src/cff/cffobjs.c: Small fix to select the Unicode charmap by
+ default when needed.
+ Small fix to allow OpenType fonts to support Adobe charmaps when
+ needed.
+
+ * src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
+ charmaps for CFF fonts.
+
+ * src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
+
+ * include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
+ fixed-length arrays for `sids' and `codes'. Add `count' member.
+ (CFF_FontRec): Add `psnames' member.
+
+ * src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
+ src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
+ src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
+ support for CFF charmaps, reformatting the sources, and removing
+ some bugs in the Encoding and Charset loaders.
+ Many fonts renamed to use lowercase only:
+
+ CFF_Builder_Init -> cff_builder_init
+ CFF_Builder_Done -> cff_builder_done
+ CFF_Init_Decoder -> cff_decoder_init
+ CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
+ CFF_Load_Glyph -> cff_slot_load
+ CFF_Init_Decoder -> cff_decoder_init
+ CFF_Prepare_Decoder -> cff_decoder_prepare
+ CFF_Get_Standard_Encoding -> cff_get_standard_encoding
+ CFF_Access_Element -> cff_index_access_element
+ CFF_Forget_Element -> cff_index_forget_element
+ CFF_Get_Name -> cff_index_get_name
+ CFF_Get_String -> cff_index_get_sid_string
+ CFF_Get_FD -> cff_fd_select_get
+ CFF_Done_Charset -> cff_charset_done
+ CFF_Load_Charset -> cff_charset_load
+ CFF_Done_Encoding -> cff_encoding_done
+ CFF_Load_Encoding -> cff_encoding_load
+ CFF_Done_SubFont -> cff_subfont_done
+ CFF_Load_Font -> cff_font_load
+ CFF_Done_Font -> cff_font_done
+ CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
+ CFF_Size_Done -> cff_size_done
+ CFF_Size_Init -> cff_size_init
+ CFF_Size_Reset -> cff_size_reset
+ CFF_GlyphSlot_Done -> cff_slot_done
+ CFF_GlyphSlot_Init -> cff_slot_init
+ CFF_StrCopy -> cff_strcpy
+ CFF_Face_Init -> cff_face_init
+ CFF_Face_Done -> cff_face_done
+ CFF_Driver_Init -> cff_driver_init
+ CFF_Driver_Done -> cff_driver_done
+ CFF_Parser_Init -> cff_parser_init
+ CFF_Parser_Run -> cff_parser_run
+
+ add_point -> cff_builder_add_point
+ add_point1 -> cff_builder_add_point1
+ add_contour -> cff_builder_add_contour
+ close_contour -> cff_builder_close_contour
+ cff_explicit_index -> cff_index_get_pointers
+
+2002-07-09 Owen Taylor <owen@redhat.com>
+
+ * src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
+ prevented the hinter from using correct standard width and height
+ values, resulting in hinting bugs with certain fonts (e.g. Utopia).
+
+2002-07-07 David Turner <david@freetype.org>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
+ successfully when the function is called with a bitmap glyph (the
+ previous code simply returned with an error).
+
+ * docs/DEBUG.TXT: Adding debugging support documentation.
+
+ * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
+ (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
+ the syntax of the FT2_DEBUG environment variable used to control
+ debugging output (i.e. logging and error messages). It must now
+ look like:
+
+ any:6 memory:4 io:3 or
+ any:6,memory:4,io:3 or
+ any:6;memory:4;io:3
+
+2002-07-07 Owen Taylor <owen@redhat.com>
+
+ * src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
+ blue fuzz.
+ * src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
+ * src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
+
+ Adding support for hinter-specific bit flags, and the new
+ FT_Set_Hint_Flags high-level API.
+
+ * include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
+ (FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
+ FT_HINT_NO_VSTEM_ALIGN): New macros.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
+ `hint_flags' member.
+
+ * src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
+
+ * include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
+ member.
+
+ * include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
+ T2_Hints_ApplyFunc): Add parameter to pass hint flags.
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
+ T1_Decoder_Init): Use decoder->hint_flags.
+ * src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
+ * src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
+ (CFF_Parse_CharStrings): Updated.
+ * src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
+ hint flags (unused).
+ * src/pshinter/pshalgo1.h: Updated.
+ * src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
+ hint flags (unused).
+ * src/pshinter/pshalgo2.h: Updated.
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
+ hint flags.
+ * src/pshinter/pshalgo3.h: Updated.
+
+2002-07-04 David Turner <david@freetype.org>
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
+ incorrect advances when the outline resolution was different from
+ the metrics resolution.
+
+ * src/autohint/ahhint.c: Removing compiler warnings.
+
+ * src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
+ (ah_outline_link_segments): Slight improvements to the serif
+ detection code. More work is needed though.
+
+2002-07-03 David Turner <david@freetype.org>
+
+ Small improvements to the automatic hinter. Uneven stem-widths have
+ now disappeared and everything looks much better, even if there are
+ still issues with serifed fonts.
+
+ * src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
+ * src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
+ (ah_snap_width): Commented out.
+ (ah_align_linked_edge): Renamed to...
+ (ah_compute_stem_width): This.
+ Don't allow uneven stem-widths.
+ (ah_align_linked_edge): New function.
+ (ah_align_serifed_edge): Don't strengthen serifs.
+ (ah_hint_edges_3, ah_hinter_scale_globals): Updated.
+
+2002-07-03 Owen Taylor <owen@redhat.com>
+
+ Adding new algorithm based on Owen Taylor's recent work.
+
+ * src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
+ * src/pshinter/pshalgo.h: Updated.
+ Use pshalgo3 by default.
+ * src/pshinter/pshinter.c: Include pshalgo3.c.
+
+ * src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
+
+2002-07-01 Owen Taylor <owen@redhat.com>
+
+ * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
+ where, if a glyph has more than hint mask, the second mask gets
+ applied to points that should have been covered by the first mask.
+
+2002-07-01 Keith Packard <keithp@keithp.com>
+
+ * src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
+ Fixing the cmap 8 and 12 parsing routines.
+
+2002-07-01 David Turner <david@freetype.org>
+
+ * src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
+ (FT_Outline_Embolden): Renamed to...
+ (FT_GlyphSlot_Embolden): This.
+ Updated to new trigonometric functions.
+ (FT_Outline_Oblique): Renamed to...
+ (FT_GlyphSlot_Oblique): This.
+ (ft_norm): Removed.
+ * include/freetype/ftsynth.h: Updated.
+
+2002-06-26 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftobject.h: Updating the object
+ sub-system definitions (still experimental).
+
+ * src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
+ bug.
+
+ * src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
+ functions.
+ * include/freetype/fttrigon.h: Updated.
+
+
+ Adding path stroker component (work in progress).
+
+ * include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
+ * src/base/Jamfile: Updated.
+
+ * include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
+
+
+ * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
+ src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
+ FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
+
+2002-06-24 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+2002-06-21 David Turner <david@freetype.org>
+
+
+ * Version 2.1.2 released.
+ =========================
+
+
+2002-06-21 Roberto Alameda <ojancano@geekmail.de>.
+
+ * include/freetype/internal/t42types.h (T42_Font): Removed since
+ it is already in t42objs.h.
+ (T42_Face): Use T1_FontRec.
+
+ * src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
+ (FT_Has_PS_Glyph_Names): Check for type42 driver name also.
+ * src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
+ (T42_Face): Removed since it is already in t42types.h.
+
+2002-06-21 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
+ glyphs.
+
+2002-06-21 Sven Neumann <sven@convergence.de>
+
+ * src/prf/pfrtypes.h (PFR_KernPair): New structure.
+ (PFR_PhyFont): Use it.
+ (PFR_KernFlags): New enumeration.
+ * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
+ function.
+ (pfr_phy_font_extra_items): Use it.
+ (pfr_phy_font_done): Updated.
+ * src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
+ (pfr_face_get_kerning): New function.
+ * src/pfr/pfrobjs.h: Updated.
+ * src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
+
+2002-06-21 David Turner <david@freetype.org>
+
+ * README, docs/CHANGES: Preparing the 2.1.2 release.
+
+2002-06-19 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
+ (t1_face_check_cast): Removed.
+ (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
+ also.
+
+2002-06-19 Sebastien BARRE <http://barre.nom.fr/contact.html#email>
+
+ * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
+
+2002-06-19 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
+ (xy <-> yx).
+ * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
+ `||' to make code easier to read.
+
+2002-06-18 Roberto Alameda <ojancano@geekmail.de>.
+
+ * src/type42/t42objs.c (t42_check_size_change): Removed.
+ (T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
+ instead.
+ (T42_GlyphSlot_Load): Remove call to t42_check_size_change.
+
+2002-06-18 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/psaux/t1cmap.c (t1_cmap_custom_char_index,
+ t1_cmap_custom_char_next): Fix index computation -- indices start
+ with 0 and not with cmap->first.
+
+ Provide default charmaps.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
+ (PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
+ src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
+ (FNT_Face_Init): Implement it.
+
+2002-06-17 Sven Neumann <sven@gimp.org>
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
+
+2002-06-16 Leonard Rosenthol <leonardr@lazerware.com>
+
+ Updated Win32/VC++ projects to include the new PFR driver.
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-06-16 Anthony Fok <fok@debian.org>
+
+ Install freetype2.m4.
+
+ * builds/unix/install.mk (install, uninstall): Handle it.
+
+2002-06-16 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ Same fix for PFR driver.
+
+ * src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
+ Increase return value by 1.
+ * src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
+
+2002-06-15 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ Fix glyph indices to make index zero always the undefined glyph.
+
+ * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
+ cmap->num_encodings.
+ (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
+ Increase result by 1 for normal cases.
+ (BDF_Glyph_Load): Decrease index by 1.
+
+ * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
+ PCF_Char_Get_Index): Increase result by 1 for normal cases.
+ (PCF_Glyph_Load): Decrease index by 1.
+ * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
+ allocating `encoding'.
+
+ * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
+ bounding tests.
+
+2002-06-14 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ Add new cmap support to BDF driver.
+
+ * src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
+ New structure.
+ (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
+ bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
+ (BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
+ conditionally.
+ (BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
+ Implement new cmap handling.
+ (bdf_driver_class): Updated.
+
+2002-06-14 Werner Lemberg <wl@gnu.org>
+
+ * Makefile, configure, */*.mk, builds/unix/unix-def.in,
+ docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
+
+2002-06-12 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
+
+2002-06-11 David Turner <david@freetype.org>
+
+ * builds/win32/ftdebug.c: Added a missing #endif.
+
+ * src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
+
+ Removed the bug in Type 42 driver that prevented un-hinted outlines
+ to be loaded.
+
+ * src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
+ (T42_Size_Init): Call FT_Activate_Size.
+ (t42_check_size_change): New function.
+ (T42_Size_SetChars, T42_Size_SetPixels): Use it.
+ (ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
+ (T42_GlyphSlot_Load): Use t42_check_size_change.
+ Initialize more fields of `glyph'.
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-06-09 David Turner <david@freetype.org>
+
+
+ * Version 2.1.1 released.
+ =========================
+
+
+2002-06-08 Juliusz Chroboczek <jch@pps.jussieu.fr>
+
+ * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
+ src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
+ use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
+ and `ft_jmp_buf'.
+ Removed direct references to <stdio.h> and <setjmp.h> when
+ appropriate, to eventually replace them with a
+ FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server
+ backend based on FT2.
+
+ * src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
+
+2002-06-08 David Turner <david@freetype.org>
+
+ * src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
+ the function to return invalid values.
+
+ * src/cache/ftccache.i: Removing a typo that prevented
+ the source's compilation.
+
+ * src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
+ bug that caused nasty memory overwrites. The hash table's
+ buckets array wasn't correctly resized when shrinked.
+
+2002-06-08 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/smakefile, builds/amiga/makefile: Updated.
+
+2002-06-08 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
+ [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
+ Fix debugging messages.
+ * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
+ `family' and `hash' up to make it compilable with g++.
+
+ * src/type42/t42error.h: New file.
+ * src/type42/t42drivr.c, src/type42/t42objs.c,
+ src/type42/t42parse.c: Use t42 error codes.
+ * src/type42/rules.mk: Updated.
+
+ * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
+
+2002-06-08 David Turner <david@freetype.org>
+
+ * src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
+ GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
+ New macros.
+ (ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
+ ftc_cache_lookup.
+ (FTC_CMapCache_Lookup): Updated.
+
+ Adding various experimental optimizations to the cache manager.
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
+ FTC_CACHE_USE_LINEAR_HASHING): New options.
+ (FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
+ `mask', and `slack'.
+
+ * src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
+ FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
+ FTC_HASH_INITIAL_SIZE]: New macros.
+ (ftc_node_mru_link, ftc_node_mru_up): Optimized.
+ (ftc_node_hash_unlink, ftc_node_hash_link)
+ [FTC_CACHE_USE_LINEAR_HASHING]: New variants.
+ (FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
+ FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
+ [!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
+ (ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
+ Updated.
+ (ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
+
+ * src/cache/ftccache.i: New file.
+
+ * src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
+ GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
+ New macros.
+ (ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
+ ftc_cache_lookup.
+ (FTC_SBitCache_Lookup): Updated.
+
+ * src/type42/t42parse.c: Removing duplicate function.
+
+2002-06-07 Graham Asher <graham.asher@btinternet.com>
+
+ * src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
+ from FT_EXPORT_DEF to FT_BASE_DEF.
+
+2002-06-07 David Turner <david@freetype.org>
+
+ Fixed the bug that prevented the correct display of fonts with
+ `ftview'.
+
+ * src/type42/t42drivr.c: Split into...
+ * src/type42/t42drivr.h, src/type42/t42parse.c,
+ src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
+ src/type42/type42.c: New files.
+
+ (t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
+ `face->type1'.
+
+ (Get_Interface): Renamed to...
+ (T42_Get_Interface): This.
+ Updated.
+ (T42_Open_Face, T42_Face_Done): Updated.
+ (T42_Face_Init): Add new cmap support.
+ Updated.
+ (T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
+ T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
+ (Get_Char_Index, Get_Next_Char): Renamed to...
+ (T42_CMap_CharIndex, T42_CMap_CharNext): This.
+ Updated.
+ (T42_Char_Size, T42_Pixel_Size): Renamed to...
+ (T42_Size_SetChars, T42_Size_SetPixels): This.
+ (T42_Load_Glyph): Renamed to...
+ (T42_GlyphSlot_Load): This.
+
+ (t42_init_loader, t42_done_loader): Renamed to...
+ (t42_loader_init, t42_loader_done): This.
+ (T42_New_Parser, T42_Finalize_Parser): Renamed to...
+ (t42_parser_init, t42_parser_done): This.
+ (parse_dict): Renamed to...
+ (t42_parse_dict): This.
+ (is_alpha, is_space, hexval): Renamed to...
+ (t42_is_alpha, t42_is_space, t42_hexval): This.
+ (parse_font_name, parse_font_bbox, parse_font_matrix,
+ parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
+ Renamed to...
+ (t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
+ t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
+ t42_parse_dict): This.
+ Updated.
+
+ (t42_keywords): Updated.
+
+ * src/type42/Jamfile, src/type42/descrip.mms: Updated.
+
+2002-06-03 Werner Lemberg <wl@gnu.org>
+
+ Add 8bpp support to BDF driver.
+
+ * src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
+ * src/bdf/README: Updated.
+
+2002-06-02 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
+
+2002-05-29 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
+ (_bdf_parse_glyphs): Use correct size for allocating
+ `font->unencoded'.
+ (bdf_load_font): Free array conditionally.
+ Return proper error code in case of failure.
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
+ unusual fonts.
+
+2002-05-29 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/descrip.mms, src/type42/descrip.mms: New files.
+ * descrip.mms (all): Updated.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
+ compilation.
+ * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
+
+2002-05-28 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/makefile, builds/amiga/smakefile,
+ amiga/include/freetype/config/ftmodule.h: Updated to include
+ support for BDF and Type42 drivers.
+
+ * docs/modules.txt: Updated.
+
+2005-05-28 David Turner <david@freetype.org>
+
+ * docs/CHANGES: Updating file for next release (2.1.1).
+
+ * src/bdf/bdflib.c: Removing compiler warnings.
+
+ * include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
+ They provide a new API (FT_Get_X11_Font_Format) to retrieve an
+ X11-compatible string describing the font format of a given face.
+ This was put in a new optional base source file, corresponding to a
+ new public header (named FT_XFREE86_H since this function should
+ only be used within the XFree86 font server IMO).
+
+ * include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
+ documented yet).
+
+ * src/base/fttype1.c: New file, provoding two new API functions
+ (FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
+ * include/freetype/t1tables.h: Updated.
+
+ * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
+ Updating build control files for the new files `ftxf86.c' and
+ `fttype1.c' in src/base.
+
+ * src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
+ prevented family blue zones substitution from hapenning correctly.
+
+ * include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
+ documentation comment.
+
+2002-05-28 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
+ but FT_STREAM_READ.
+ Declare `stream' variable.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
+ with calls to `FT_MulDiv'.
+
+2002-05-28 David Turner <david@freetype.org>
+
+ Fixing the SFNT name table loader to support various buggy fonts.
+ It now ignores empty name entries, entries with invalid pointer
+ Offsets and certain fonts containing tables with broken
+ `storageOffset' fields.
+
+ Name strings are now loaded on demand, which reduces the memory
+ requirements for a given FT_Face tremendously (for example, the name
+ table of Arial.ttf is about 10Kb and contains 70 names).
+
+ This is a temporary fix. The whole name table loader and interface
+ will be rewritten in a much more cleanly way shortly, once CSEH have
+ been introduced in the sources.
+
+ * include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
+ type of `stringOffset' to FT_ULong.
+ (TT_NameTableRec): Change type of `numNameRecords' and
+ `storageOffset' to FT_UInt.
+ Replace `storage' with `stream'.
+ * src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
+ Make code more robust.
+ * src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
+ (tt_face_get_name): Use it.
+ Make code more robust.
+ * src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
+ Handle invalid `storageOffset' data better.
+ Set length fields to zero for invalid or ignored data.
+ Remove code within FT_DEBUG_LEVEL_TRACE.
+ (TT_Free_Names): Updated.
+
+2002-05-24 Tim Mooney <enchanter@users.sourceforge.net>
+
+ * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
+ FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
+ rebuilt from sources. Set macro serial to 1, and use third argument
+ to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
+ be rebuilt with autoheader (not recommended now, ftconfig.in is a
+ custom source file)
+
+2002-05-22 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
+ (FT_BDF_H): New macro for accessing `ftbdf.h'.
+
+ * src/type42/t42drivr.c (hexval): Fix typo.
+
+2002-05-21 Martin Muskens <mmuskens@aurelon.com>
+
+ * src/psaux/psobjs.c (T1Radix): New function.
+ (t1_toint): Use it to handle numbers in radix format.
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
+ for undocumented, obsolete opcode 15.
+
+2002-05-21 David Turner <david@freetype.org>
+
+ * src/bdf/bdflib.c: Removed compiler warning, and changed all tables
+ to the `static const' storage specifier (instead of simply
+ `static').
+
+ * src/type42/t42drivr.c (hexval): Use more efficient code.
+ Removing compiler warnings.
+ * src/bdf/bdfdrivr.c: Removing compiler warnings.
+
+ * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
+ src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
+ (FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
+ from a face. This is much cleaner than accessing the internal types
+ `BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
+
+2002-05-21 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/README: Mention Microsoft's SBIT tool.
+
+ * src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
+ src/truetype/ttdriver.c, src/type1/t1driver.c,
+ src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
+ [FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed. It has
+ been never used.
+
+2002-05-21 Roberto Alameda <ojancano@geekmail.de>.
+
+ * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
+ (parse_font_matrix): Remove unnecessary code.
+ (parse_sfnts): Initialize some variables.
+ (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
+ ft_module_driver_has_hinter conditionally.
+ Moved some type 42 specific structure definitions to...
+ * include/freetype/internal/t42types.h: New file.
+ * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
+ New macro.
+
+2002-05-20 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
+ `num_grays' for specifying the number of used gray levels.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
+
+2002-05-19 Werner Lemberg <wl@gnu.org>
+
+ Adding a driver for BDF fonts written by Francesco Zappa Nardelli
+ <Francesco.Zappa.Nardelli@ens.fr>. Heavily modified by me to
+ better adapt it to FreeType, removing unneeded stuff. Additionally,
+ it now supports Mark Leisher's BDF extension for anti-aliased
+ bitmap glyphs with 2 and 4 bpp.
+
+ * src/bdf/*: New driver.
+ * include/freetype/internal/bdftypes.h: New file.
+ * include/freetype/internal/fttrace.h: Added BDF driver components.
+ * include/freetype/fterrdef.h: Added error codes for BDF driver.
+ * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
+ * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
+ New macro.
+
+ * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
+ sprintf.
+
+2002-05-18 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/fttrace.h: Added Type 42 driver
+ component.
+ * src/type42/t42drivr.c: Use it.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
+ New macro.
+
+2002-05-17 Werner Lemberg <wl@gnu.org>
+
+ * src/type42/Jamfile: New file.
+
+2002-05-14 Werner Lemberg <wl@gnu.org>
+
+ Adding a driver for Type42 fonts written by Roberto Alameda
+ <ojancano@geekmail.de>.
+
+ * src/type42/*: New driver.
+ * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
+ * include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
+ ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
+
+2002-05-12 Owen Taylor <otaylor@redhat.com>
+
+ * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
+ with a zero length value.
+
+2002-05-12 Michael Pfeiffer <michael.pfeiffer@utanet.at>
+
+ * builds/beos/beos.mk: Include `link-std.mk'.
+
+2002-05-12 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.h (T1_Loader): Renamed to...
+ (T1_LoaderRec): This.
+ (T1_Loader): Now pointer to T1_LoaderRec.
+ * src/type1/t1load.c: Updated.
+
+ * include/freetype/internal/t1types.h, src/type1/t1load.c,
+ src/type1/t1objs.c:
+ s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
+
+2002-05-06 Werner Lemberg <wl@gnu.org>
+
+ * README: Add a note regarding libttf vs. libfreetype.
+
+2002-05-05 Werner Lemberg <wl@gnu.org>
+
+ FreeType 2 can now be built in an external directory with the
+ configure script also.
+
+ * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
+
+ * builds/unix/detect.mk (have_mk): New variable to test for
+ external build.
+ (unix-def.mk): Defined according to value of `have_mk'.
+ * builds/unix/unix.mk (have_mk): New variable to test for
+ external build.
+ Select include paths for unix-def.mk and unix-cc.mk according
+ to value of `have_mk'.
+ * builds/unix/unix-def.in (OBJ_BUILD): New variable.
+ (DISTCLEAN): Use it.
+ * builds/unix/unix-cc.in (LIBTOOL): Define default value only
+ if not yet defined.
+ * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
+ freetype-config.
+
+ * configure: Don't depend on bash features.
+ (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
+ partially taken from Autoconf).
+ Build a dummy Makefile if not building in source tree.
+
+ * docs/INSTALL: Document it.
+
+2002-05-04 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
+ bug that prevented FreeType 2.x and FreeType 1.x to produce
+ bit-by-bit identical monochrome glyph bitmaps with native TrueType
+ hinting. The culprit was a single-bit flag that wasn't set
+ correctly by the TrueType glyph loader.
+
+ * src/otlayout/otlayout.h, src/otlayout/otlbase.c,
+ src/otlayout/otlbase.h, src/otlayout/otlconf.h,
+ src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
+ src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
+ src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
+ src/otlayout/otljstf.c, src/otlayout/otljstf.h,
+ src/otlayout/otltable.c, src/otlayout/otltable.h,
+ src/otlayout/otltags.h: New OpenType Layout source files. The
+ module is still incomplete.
+
+2002-05-02 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
+ (0xFFFU -> 0xFFFFU).
+
+2002-05-01 Werner Lemberg <wl@gnu.org>
+
+ * docs/INSTALL: Fix URL of makepp.
+
+2002-05-01 David Turner <david@freetype.org>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
+ FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
+ were opened.
+
+ * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
+ manage fonts containing a broken name table (e.g. `hya6gb.ttf').
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
+ validation test. The charmap validator now accepts overlapping
+ ranges in format 4 charmaps.
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
+ search algorithm. Certain fonts contain more than 170 distinct
+ segments!
+
+ * include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
+ function. This will be used in the near future to panic in case of
+ unexpected exception (which shouldn't happen in theory).
+
+ * include/freetype/internal/fthash.h, src/base/fthash.c: New files.
+ This is generic implementation of dynamic hash tables using a linear
+ algorithm (to get rid of `stalls' during resizes). In the future
+ this will be used in at least three parts of the library: the cache
+ sub-system, the object sub-system, and the memory debugger.
+
+ * src/base/Jamfile: Updated.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
+ FT_INTERNAL_OBJECT_H): New macros.
+
+ * include/freetype/internal/ftcore.h: New file to group all new
+ definitions related to exception handling and memory management. It
+ is very likely that this file will disappear or be renamed in the
+ future.
+
+ * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
+ Adding comments to better explain the object sub-system as well as
+ the new memory manager interface.
+
+2002-04-30 Wenlin Institute (Tom Bishop) <wenlin@wenlin.com>
+
+ * src/base/ftmac.c (p2c_str): Removed.
+ (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
+ OS X.
+ (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
+ Handle `nameLen' <= 6 also.
+ (parse_fond): Remove unused variable `name_table'.
+ Use functionality of old p2c_str directly.
+ Add safety checks.
+ (read_lwfn): Initialize `size_p'.
+ Check for size_p == NULL.
+ (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
+ (FT_New_Face_From_LWFN): Remove unused variable `memory'.
+ Remove some dead code.
+ (FT_New_Face_From_SFNT): Remove unused variable `stream'.
+ (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
+ OS X.
+ (FT_New_Face_From_FOND): Remove unused variable `error'.
+ (ResourceForkSize): New function.
+ (FT_New_Face): Use it.
+ Handle empty resource forks.
+ Conditionalize some code for OS X.
+ Add code to call normal loader as a fallback.
+
+2002-04-30 Werner Lemberg <wl@gnu.org>
+
+ `interface' is reserved on the Mac.
+
+ * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
+ src/base/ftoutln.c: s/interface/func_interface/.
+ * src/base/ftbbox.c (FT_Outline_Get_BBox):
+ s/interface/bbox_interface/.
+ * src/cff/cffdrivr.c: s/interface/module_interface/.
+ * src/cff/cffload.c, src/cff/cffload.h:
+ s/interface/psnames_interface/.
+ * src/cid/cidriver.c: s/interface/cid_interface/.
+ * src/sfnt/sfdriver.c: s/interface/module_interface/.
+ * src/smooth/ftgrays.c: s/interface/func_interface/.
+ * src/truetype/ttdriver.c: s/interface/tt_interface/.
+ * src/type1/t1driver.c: s/interface/t1_interface/.
+
+ Some more variable renames to avoid troubles on the Mac.
+
+ * src/raster/ftraster.c:
+ s/Unknown|Ascending|Descending|Flat/\1_State/.
+ * src/smooth/ftgrays.c: s/TScan/TCoord/.
+
+ Other changes for the Mac.
+
+ * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
+ Mac platforms.
+ * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
+
+ * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
+ an even number.
+
+2002-04-29 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+
+ * descrip.mms (all): Add pfr driver.
+
+2002-04-28 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrerror.h: New file.
+ * include/freetype/ftmoderr.h: Add PFR error codes.
+ * src/pfr/pfrgload.c: Include pfrerror.h.
+ Use PCF error codes.
+ (pfr_extra_item_load_stem_snaps): Fix debug message.
+ * src/pfr/pfrgload.c: Include pfrerror.h.
+ Use PCF error codes.
+ (pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
+ pfr_glyph_load_compound): Fix debug message.
+ * src/pfr/pfrobjs.c: Include pfrerror.h.
+ Use PCF error codes.
+ (pfr_face_init): Return PFR_Err_Unknown_File_Format.
+ * src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
+
+ * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
+ `root' -> `face->root'.
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
+ Removed.
+ * src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
+ FT_CONFIG_OPTION_USE_CMAPS.
+
+2002-04-27 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftccache.c (ftc_cache_lookup),
+ src/cache/ftccmap.c (ftc_cmap_family_init),
+ src/cache/ftcmanag.c (ftc_family_table_alloc),
+ src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
+ src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
+ (FTC_ImageCache_Lookup): Fix handling of invalid arguments.
+
+2002-04-22 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
+ version 2.0.9 has 9:0:3).
+ * builds/unix/configure: Regenerated (using autoconf 2.53).
+
+2002-04-19 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
+ (pfr_phy_font_load): s/size/Size/ for local variable to avoid
+ compiler warning.
+ * src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
+ (pfr_slot_load): Remove redundant local variable.
+
+2002-04-19 David Turner <david@freetype.org>
+
+ Adding a PFR font driver to the FreeType sources. Note that it
+ doesn't support embedded bitmaps or kerning tables yet.
+
+ src/pfr/*: New files.
+
+ * include/freetype/config/ftmodule.h,
+ include/freetype/internal/fttrace.h, src/Jamefile: Updated.
+
+ * src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
+ (T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
+ function.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
+ macros.
+
+ * include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
+ FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
+ 24-bit integers.
+
+2002-04-18 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c, builds/win32/ftdebug.c,
+ builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
+ against applications in Win32 and Amiga builds due to changes to
+ `src/base/ftdebug.c' that were not properly propagated to
+ `builds/win32' and `builds/amiga'. This has been fixed.
+
+ * include/freetype/internal/ftobject.h,
+ include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
+ include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
+ New experimental files.
+
+2002-04-17 David Turner <david@freetype.org>
+
+
+ * Version 2.1.0 released.
+ =========================
+
+
+2002-04-17 Michael Jansson <mjan@em2-solutions.com>
+
+ * src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
+ that prevented the function to return the correct value.
+
+2002-04-16 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
+
+ * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
+ tables.
+
+2002-04-15 David Turner <david@freetype.org>
+
+ * docs/FTL.txt: Formatting.
+
+ * include/freetype/config/ftoption.h: Reduce the size of the
+ render pool from 32kByte to 16kByte.
+
+ * src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
+ warning.
+
+ * include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
+
+ * docs/CHANGES: Preparing 2.1.0 release.
+
+2002-04-13 Werner LEMBERG <wl@gnu.org>
+
+ * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
+ compiler warning.
+
+2002-04-12 David Turner <david@freetype.org>
+
+ * README.UNX: Updated the Unix-specific quick-compilation guide to
+ warn about the GNU Make requirement at compile time.
+
+ * include/freetype/config/ftstdlib.h,
+ include/freetype/config/ftconfig.h,
+ include/freetype/config/ftheader.h,
+ include/freetype/internal/ftmemory.h,
+ include/freetype/internal/ftobjs.h,
+
+ src/autohint/ahoptim.c,
+
+ src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
+ src/base/ftobjs.c, src/base/ftsystem.c,
+
+ src/cache/ftcimage.c, src/cache/ftcsbits.c,
+
+ src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
+
+ src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
+
+ src/pcf/pcfdriver.c, src/pcf/pcfread.c,
+
+ src/psaux/t1cmap.c, src/psaux/t1decode.c,
+
+ src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
+ src/pshinter/pshrec.c,
+
+ src/psnames/psmodule.c,
+
+ src/raster/ftraster.c,
+
+ src/sfnt/sfdriver.c, src/sfnt/ttload.c,
+
+ src/smooth/ftgrays.c,
+
+ src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
+ src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
+
+ builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+
+ builds/amiga/src/base/ftdebug.c:
+
+ Added the new configuration file `ftstdlib.h' used to define
+ aliases for all ISO C library functions used by the engine
+ (e.g. strlen, qsort, setjmp, etc.).
+
+ This eases the porting of FreeType 2 to environments like
+ XFree86 modules/extensions.
+
+ Also removed many #include <string.h>, #include <stdlib.h>, etc.
+ from the engine's sources where they are not needed.
+
+ * src/sfnt/ttpost.c: Use macro name for psnames.h.
+
+2002-04-12 Vincent Caron <v.caron@zerodeux.net>
+
+ * configure, builds/detect.mk: Updated the build system to print
+ a warning message in case GNU Make isn't used to build the library.
+
+2002-04-11 David Turner <david@freetype.org>
+
+ * README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
+
+ * docs/FTL.txt: Updated license text to provide a preferred
+ disclaimer and adjust copyright dates/extents.
+
+ * include/freetype/cache/ftcglyph.h: Removing obsolete (and
+ confusing) comment.
+
+ * Jamfile.in: New file.
+
+2002-04-11 Maxim Shemanarev <mcseemagg@yahoo.com>
+
+ * src/smooth/ftgrays.c (gray_hline): Minor optimization.
+
+2002-04-02 Werner Lemberg <wl@gnu.org>
+
+ Fixes from the stable branch:
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
+ Removed.
+ [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
+ * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+ [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
+
+ * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
+ output of FreeType 1.
+
+ * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
+ bug that created un-even stem widths when hinting Postscript fonts.
+
+ * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
+
+2002-04-01 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c: 16bit fixes.
+ (TT_Load_Simple_Glyph): Improve debug messages.
+ (load_truetype_glyph): Remove dead code.
+ * src/truetype/ttinterp.c: 16bit fixes.
+ * src/truetype/ttobjs.c: Ditto.
+
+ * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
+ src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
+ src/sfnt/ttpost.h: s/index/idx/.
+
+2002-03-31 Yao Zhang <yaoz@vidar.niaaa.nih.gov>
+
+ * src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
+
+2002-03-31 Werner Lemberg <wl@gnu.org>
+
+ * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
+ * src/psaux/t1cmap.c: Ditto.
+ * src/sfnt/ttcmap0.c: Ditto.
+
+ * include/freetype/internal/tttypes.h,
+ include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
+ (TT_Loader_GotoTableFunc): This.
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
+ messages.
+ * src/psnames/psmodule.c (psnames_interface)
+ [!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
+ * src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
+ * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
+ * src/sfnt/ttcmap0.c: 16bit fixes.
+ (TT_Build_CMaps): Simplify debug messages.
+ (tt_cmap12_char_next): Fix offset.
+ * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
+ messages.
+ (TT_Load_OS2): 16bit fix.
+
+2002-03-30 David Turner <david@freetype.org>
+
+ * include/freetype/internal/tttypes.h: Adding comments to some of
+ the TT_FaceRec fields.
+
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
+
+ * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
+ New functions.
+ (tt_face_get_name): Use them to properly extract an ascii font name.
+
+2002-03-30 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/t1tables.h (t1_blend_max): Fix typo.
+ * src/base/ftstream.c: Simplify FT_ERROR calls.
+ * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
+
+ * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
+ [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
+ * src/cff/sfobjs.c (SFNT_Load_Face)
+ [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
+ * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
+ [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
+
+ * src/truetype/ttdriver.c, src/truetype/ttobjs.c,
+ src/truetype/ttobjs.h: Renaming driver functions to the
+ FT_<Subject>_<Action> scheme:
+
+ TT_Init_Driver => TT_Driver_Init
+ TT_Done_Driver => TT_Driver_Done
+ TT_Init_Face => TT_Face_Init
+ TT_Done_Face => TT_Face_Done
+ TT_Init_Size => TT_Size_Init
+ TT_Done_Size => TT_Size_Done
+ TT_Reset_Size => TT_Size_Reset
+
+2002-03-29 Werner Lemberg <wl@gnu.org>
+
+ * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
+ FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
+ files.
+ * builds/unix/ftconfig.in: Add argument to FT_LOCAL and
+ FT_LOCAL_DEF.
+ * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
+ * builds/unix/configure.ac: Temporarily deactivate creation of
+ ../../Jamfile.
+ * builds/unix/configure: Updated.
+
+2002-03-28 KUSANO Takayuki <AE5T-KSN@asahi-net.or.jp>
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
+
+2002-03-28 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
+ compiler warnings.
+ * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
+ some members.
+ * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
+ * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
+ cast.
+ (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
+ `FT_CALLBACK_TABLE_DEF'.
+ * src/psaux/t1cmap.h: Updated.
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
+ instead of zero.
+ * src/type1/t1objs.c (T1_Face_Init): Use casts.
+
+2002-03-26 David Turner <david@freetype.org>
+
+ * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
+ Fixed a small bug in the FT_CMaps support code.
+
+2002-03-25 David Turner <david@freetype.org>
+
+ * src/truetype/ttinterp.c (Norm): Replaced with...
+ (TT_VecLen): This.
+ (TT_MulFix14, TT_DotFix14): New functions.
+ (Project, Dual_Project, Free_Project, Compute_Point_Displacement,
+ Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
+ [FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
+
+2002-03-22 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
+ Various fixes to make the FT_CMaps support work correctly (more
+ tests are still needed).
+
+ * include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
+ src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
+ src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
+ the SFNT charmap support to use FT_CMaps.
+
+ * include/freetype/fterrdef.h: New file.
+ * include/freetype/fterrors.h: Include it. It contains all error
+ codes.
+ * include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
+ macro.
+
+ * include/freetype/internal/ftmemory.h, and a lot of other files:
+ Changed the names of memory macros. Examples:
+
+ MEM_Set => FT_MEM_SET
+ MEM_Copy => FT_MEM_COPY
+ MEM_Move => FT_MEM_MOVE
+
+ ALLOC => FT_ALLOC
+ FREE => FT_FREE
+ REALLOC = >FT_REALLOC
+
+ FT_NEW was introduced to allocate a new object from a _typed_
+ pointer.
+
+ Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
+ FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
+ arguments.
+
+ This results in _lots_ of sources being changed, but makes the code
+ more generic and less error-prone.
+
+ * include/freetype/internal/ftstream.h, src/base/ftstream.c,
+ src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
+ src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
+ src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
+ src/winfonts/winfnt.c: Changed the definitions of stream macros.
+ Examples:
+
+ NEXT_Byte => FT_NEXT_BYTE
+ NEXT_Short => FT_NEXT_SHORT
+ NEXT_UShortLE => FT_NEXT_USHORT_LE
+ READ_Short => FT_READ_SHORT
+ GET_Long => FT_GET_LONG
+ etc.
+
+ Also introduced the FT_PEEK_XXXX functions.
+
+ * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
+ out function.
+ (find_encoding): Removed.
+ (CFF_Face_Init): Remove charmap support.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
+ TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
+ support of cmaps.
+
+2002-03-21 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
+ to new FT_CMap definitions.
+
+ * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
+ src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
+ from `src/type1' to `src/psaux' since it is going to be shared by
+ the Type 1 and CID font drivers.
+
+ * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
+ src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
+ for Type 1 FT_CMaps.
+
+2002-03-20 David Turner <david@freetype.org>
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
+ memory allocation bug that was due to un-careful renaming of the
+ FT_SubGlyph type.
+
+ * src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
+ caused the library to crash with Electric Fence when memory
+ debugging is used.
+
+ * Renaming stream macros. Examples:
+
+ FILE_Skip => FT_STREAM_SKIP
+ FILE_Read => FT_STREAM_READ
+ ACCESS_Frame => FT_FRAME_ENTER
+ FORGET_Frame => FT_FRAME_EXIT
+ etc.
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
+
+ * include/freetype/internal/ftobjs.h: Changing the definition of
+ FT_CMap_CharNextFunc slightly.
+
+ * src/cff/*.c: Updating CFF type definitions.
+
+2002-03-14 David Turner <david@freetype.org>
+
+ * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
+ src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
+ for the auto-hinter module.
+
+ FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec
+ FT_AutoHinter_Interface* => FT_AutoHinter_Service
+ etc.
+
+ FT_AutoHinter_Get_Global_Func => FT_AutoHinter_GlobalGetFunc
+ FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
+ etc.
+
+ * ahloader.h [_STANDALONE_]: Removed all conditional code.
+
+ * include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
+ type definitions of the CFF font driver.
+
+ CFF_Font => CFF_FontRec
+ CFF_Font* => CFF_Font
+ etc.
+
+ * include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
+ type definitions of the Windows FNT font driver.
+
+ * include/freetype/internal/ftdriver.h,
+ include/freetype/internal/ftobjs.h, src/base/ftapi.c,
+ src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
+ src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
+ src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
+ src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
+ src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
+ definitions for font drivers.
+
+ FTDriver_initFace => FT_Face_InitFunc
+ FTDriver_initGlyphSlot => FT_Slot_InitFunc
+ etc.
+
+ * src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
+
+ * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
+ few face method definitions:
+
+ FT_PSName_Requester => FT_Face_GetPostscriptNameFunc
+ FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
+ FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
+
+ * src/base/ftapi.c: New file. It contains backwards compatibility
+ functions.
+
+ * include/freetype/internal/psaux.h, src/cid/cidload.c,
+ src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
+ src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
+ Updated common PostScript type definitions.
+ Renamed all enumeration values like to uppercase variants:
+
+ t1_token_any => T1_TOKEN_TYPE_ANY
+ t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
+ etc.
+
+ * include/freetype/internal/psglobals.h: Removed.
+ * include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
+ Updated.
+
+ * include/freetype/internal/tttypes.h,
+ include/freetype/internal/sfnt.h, src/base/ftnames.c,
+ src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
+ SFNT/TrueType type definitions.
+
+ * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
+ Updating type defintiions for the glyph loader.
+
+2002-03-13 Antoine Leca <antoine@oriolnet.com>
+
+ * include/freetype/config/ftoption.h: Changed the automatic
+ detection of Microsoft C compilers to automatically support 64-bit
+ integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
+
+2002-03-08 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
+
+2002-03-07 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
+ ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
+ ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
+ FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
+ * src/base/ftcalc.c (FT_MulFix): Ditto.
+ * src/cff/cffdrivr.c (cff_get_name_index): Ditto.
+ * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
+ CFF_GlyphSlot_Init): Ditto.
+ * src/cid/cidobjs.c (CID_GlyphSlot_Init,
+ CID_Size_Get_Globals_Funcs): Ditto.
+ * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
+ Ditto.
+ * src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
+ * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
+ variables.
+
+ * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
+ to...
+ (T1_Builder_FuncsRec): This.
+ (T1_Builder_Funcs): New typedef.
+ (PSAux_Interface): Remove compiler warnings.
+ * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
+ (t1_builder_funcs): Updated.
+
+ * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
+ (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
+ (PSH_AlignmentRec): Updated.
+
+ * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
+ typo.
+ * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
+ * src/base/ftstream (FT_Get_Char): Rename to...
+ (FT_Stream_Get_Char): This.
+
+ * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
+ a built-in function in gcc, causing warning messages with gcc 3.0.
+ * src/autohint/ahglyph.c (ah_outline_load): Ditto.
+ * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
+ * src/cache/ftcmanag.c (ftc_family_table_alloc,
+ ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
+ Ditto.
+ * src/cff/cffload.c (cff_new_index, cff_done_index,
+ cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
+ CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
+ CFF_Done_Font): Ditto.
+ * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
+ * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
+ ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
+ * src/pshinter/pshalgo1.c (psh1_hint_table_record,
+ psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
+ * src/pshinter/pshalgo2.c (psh2_hint_table_record,
+ psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
+ * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
+ TT_Get_PS_Name): Ditto.
+ * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
+ load_truetype_glyph): Ditto.
+ * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
+ * src/type1/t1afm.c (T1_Get_Kerning): Ditto.
+ * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
+
+2002-03-06 David Turner <david@freetype.org>
+
+ * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
+ (CID_Face_Init): Fixed another bug related to the
+ ascender/descender/text height of Postscript fonts.
+
+ * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+ (psh2_print_zone): This.
+ * src/pshinter/pshalgo1.c (print_zone): Renamed to ...
+ (psh1_print_zone): This.
+
+ * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+ src/base/ftobjs.c: Adding the new FT_Library_Version API to return
+ the library's current version in dynamic links.
+ * src/base/ftinit.c (FT_Init_FreeType): Updated.
+
+2002-03-06 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
+ * src/pshinter/pshglob.c (psh_global_scale_widths,
+ psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
+ Ditto.
+
+2002-03-05 David Turner <david@freetype.org>
+
+ * src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
+ (CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
+ that returned global BBox values in 16.16 fixed format (instead of
+ integer font units).
+
+ * src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
+ caused the CID driver to return Postscript font names with a leading
+ slash (`/') as in `/MOEKai-Regular'.
+
+ * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
+ src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
+ that it accepts broken fonts like `foxjump.ttf', which made FreeType
+ crash when trying to load them.
+
+ Also improved the name table parser to be able to load
+ Windows-encoded entries before Macintosh or Unicode ones, since it
+ seems some fonts don't have reliable values here anyway.
+
+ * include/freetype/internal/psnames.h: Add typedef for
+ `PSNames_Service'.
+
+2002-03-05 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
+ 1.4.2.
+ Apply a small patch for AIX to make shared libraries work (this
+ patch is already in the CVS version of libtool).
+
+ * builds/unix/config.sub, builds/unix/config.guess: Updated to
+ recent versions.
+
+ * builds/unix/configure.ac: Fix typo
+ (AC_CONFIG_FILE->AC_CONFIG_FILES).
+
+ * builds/unix/configure: Regenerated.
+
+2002-02-28 David Turner <david@freetype.org>
+
+ * include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
+ `FT_LOCAL( xxxx )' everywhere in the source. The same goes for
+ `FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
+
+ * include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
+ Changing version to 2.1.0 to indicate an unstable branch.
+ Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
+
+ * src/base/ftobjs.c: Implement FT_Get_First_Char and
+ FT_Get_Next_Char.
+
+ * include/freetype/t1tables.h: Renaming structure types. This
+
+ typedef T1_Struct_
+ {
+ } T1_Struct;
+
+ becomes
+
+ typedef PS_StructRec_
+ {
+ } PS_StructRec, *PS_Struct;
+
+ typedef PS_StructRec T1_Struct; /* backwards-compatibility */
+
+ Hence, we increase the coherency of the source code by effectively
+ using the `Rec' prefix for structure types.
+
+2002-02-27 David Turner <david@freetype.org>
+
+ * src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
+ names table loader. Invalid individual name entries are now handled
+ correctly. This allows the loading of very buggy fonts like
+ `foxjump.ttf' without allocating tons of memory and causing crashes.
+
+ * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
+ experimental) code for OpenType Layout tables validation and
+ parsing.
+
+ * src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
+ experimental) code for Type 1 charmap processing.
+
+ * src/sfnt/ttcmap0.c: New file. It contains a new, still
+ experimental SFNT charmap processing support.
+
+ * include/freetype/internal/ftobjs.h: Adding validation support as
+ well as internal charmap object definitions (FT_CMap != FT_CharMap).
+
+2002-02-24 David Turner <david@freetype.org>
+
+ * Renaming stream functions to the FT_<Subject>_<Action> scheme:
+
+ FT_Seek_Stream => FT_Stream_Seek
+ FT_Skip_Stream => FT_Stream_Skip
+ FT_Read_Stream => FT_Stream_Read
+ FT_Read_Stream_At => FT_Stream_Read_At
+ FT_Access_Frame => FT_Stream_Enter_Frame
+ FT_Forget_Frame => FT_Stream_Exit_Frame
+ FT_Extract_Frame => FT_Stream_Extract_Frame
+ FT_Release_Frame => FT_Stream_Release_Frame
+ FT_Get_XXXX => FT_Stream_Get_XXXX
+ FT_Read_XXXX => FT_Stream_Read_XXXX
+
+ FT_New_Stream( filename, stream ) =>
+ FT_Stream_Open( stream, filename )
+
+ (The function doesn't create the FT_Stream structure, it simply
+ initializes it for reading.)
+
+ FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) =>
+ FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
+
+ FT_Done_Stream => FT_Stream_Close
+ FT_Stream_IO => FT_Stream_IOFunc
+ FT_Stream_Close => FT_Stream_CloseFunc
+
+ ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
+ ft_io_stream => ft_ansi_stream_io (in base/ftsystem.c only)
+
+ * src/base/ftutil.c: New file. Contains all memory and list
+ management code (previously in `ftobjs.c' and `ftlist.c',
+ respectively).
+
+ * include/freetype/internal/ftobjs.h: Moving all code related to
+ glyph loaders to ...
+ * include/freetype/internal/ftgloadr.h: This new file.
+ `FT_GlyphLoader' is now a pointer to the structure
+ `FT_GlyphLoaderRec'.
+ (ft_glyph_own_bitmap): Renamed to ...
+ (FT_GLYPH_OWN_BITMAP): This.
+ * src/base/ftobjs.c: Moving all code related to glyph loaders
+ to ...
+ * src/base/ftgloadr.c: This new file.
+
+2002-02-22 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
+ enum to avoid compiler warnings.
+
+2002-02-21 David Turner <david@freetype.org>
+
+ Modified the debug sub-system initialization. Trace levels can now
+ be specified within the `FT2_DEBUG' environment variable. See the
+ comments within `ftdebug.c' for more details.
+
+ * src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
+ (ft_debug_init): New function.
+ (ft_debug_dummy): Removed.
+ Updated to changes in ftdebug.h
+
+ * include/freetype/internal/ftdebug.h: Always define
+ FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
+ (FT_Assert): Renamed to ...
+ (FT_ASSERT): This.
+ Some stuff from ftdebug.h has been moved to ...
+
+ * include/freetype/internal/fttrace.h: New file, to define the trace
+ levels used for debugging. It is used both to define enums and
+ toggle names for FT2_DEBUG.
+
+ * include/freetype/internal/internal.h: Updated.
+
+ * src/base/ftobjs.c, src/base/ftstream.c: Updated.
+
+ * include/freetype/internal/ftextend.h, src/base/ftextend.c:
+ Removed. Both files are now completely obsolete.
+ * src/base/Jamfile, src/base/rules.mk: Updated.
+
+ * include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
+ `#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
+ LCC).
+
+ * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+ (psh2_print_zone): This to avoid errors during compilation of debug
+ library.
+
+ * src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
+ `trace_smooth'.
+
+2002-02-20 David Turner <david@freetype.org>
+
+ * README: Adding `devel@freetype.org' address for bug reports.
+
+2002-02-20 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/install.mk (check): New dummy target.
+ (.PHONY): Add it.
+
+2002-02-19 Werner Lemberg <wl@gnu.org>
+
+ * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
+
+ * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
+ to avoid compiler warning.
+ * src/cff/cffload.c (CFF_Get_String): Ditto.
+ * src/cff/cffobjs.c (CFF_StrCopy): Ditto.
+ * src/psaux/psobjs.c (PS_Table_Done): Ditto.
+ * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
+ (pcf_get_bitmaps): The same for `sizebitmaps'.
+ * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
+ `orig_y'.
+ (t1operator_seac): Comment out more dead code.
+ * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
+ conditional.
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+ load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
+ conditional.
+
+2002-02-18 Werner Lemberg <wl@gnu.org>
+
+ * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
+ variables.
+ * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
+ of UNUSED.
+ * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
+ * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
+ swapping code.
+ * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
+ * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
+ * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
+ * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
+ * include/freetype/internal/ftobjs.h (UNUSED): Removed.
+
+2002-02-10 Roberto Alameda <ojancano@geekmail.de>
+
+ Add support for ISOLatin1 PS encoding.
+
+ * include/freetype/freetype.h (ft_encoding_latin_1): New tag
+ (`lat1').
+ * include/freetype/internal/t1types.h (T1_Encoding_Type): Add
+ `t1_encoding_isolatin1'.
+ * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
+ ft_encoding_latin_1.
+ * src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
+ * src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
+
+----------------------------------------------------------------------------
+
+Copyright 2002, 2003, 2004, 2005 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: latin-1
+End:
diff --git a/builds/unix/configure.ac b/builds/unix/configure.ac
index 3105ff31b..393bd0846 100644
--- a/builds/unix/configure.ac
+++ b/builds/unix/configure.ac
@@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update docs/VERSION.DLL!
-version_info='9:8:3'
+version_info='9:9:3'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
diff --git a/builds/win32/visualc/freetype.dsp b/builds/win32/visualc/freetype.dsp
index 76a5f318c..6f26adc3b 100644
--- a/builds/win32/visualc/freetype.dsp
+++ b/builds/win32/visualc/freetype.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@@ -103,7 +103,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110MT_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@@ -127,7 +127,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110MT.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@@ -152,7 +152,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype2110ST.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype220ST.lib"
# SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -178,7 +178,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110ST_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220ST_D.lib"
!ENDIF
diff --git a/builds/win32/visualc/freetype.vcproj b/builds/win32/visualc/freetype.vcproj
index 0a90d1ef4..1a222397a 100644
--- a/builds/win32/visualc/freetype.vcproj
+++ b/builds/win32/visualc/freetype.vcproj
@@ -41,7 +41,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2110.lib"
+ OutputFile="..\..\..\objs\freetype220.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -94,7 +94,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2110MT.lib"
+ OutputFile="..\..\..\objs\freetype220MT.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -147,7 +147,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2110ST.lib"/>
+ OutputFile="..\..\..\objs\freetype220ST.lib"/>
<Tool
Name="VCMIDLTool"/>
<Tool
@@ -197,7 +197,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2110_D.lib"
+ OutputFile="..\..\..\objs\freetype220_D.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -248,7 +248,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2110ST_D.lib"
+ OutputFile="..\..\..\objs\freetype220ST_D.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -300,7 +300,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2110MT_D.lib"
+ OutputFile="..\..\..\objs\freetype220MT_D.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
diff --git a/builds/win32/visualc/index.html b/builds/win32/visualc/index.html
index bf17394c9..f76669f31 100644
--- a/builds/win32/visualc/index.html
+++ b/builds/win32/visualc/index.html
@@ -12,14 +12,14 @@
<p>This directory contains project files for Visual C++, named
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-will compile the following libraries from the FreeType 2.1.10 sources:</p>
+will compile the following libraries from the FreeType 2.2.0 sources:</p>
<ul>
<pre>
- freetype2110.lib - release build; single threaded
- freetype2110_D.lib - debug build; single threaded
- freetype2110MT.lib - release build; multi-threaded
- freetype2110MT_D.lib - debug build; multi-threaded</pre>
+ freetype220.lib - release build; single threaded
+ freetype220_D.lib - debug build; single threaded
+ freetype220MT.lib - release build; multi-threaded
+ freetype220MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/docs/CHANGES b/docs/CHANGES
index cc20712ae..3dae6145b 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,3 +1,32 @@
+LATEST CHANGES BETWEEN 2.2.0 and 2.1.10
+
+ I. IMPORTANT BUG FIXES
+
+ - Vertical metrics for SFNT fonts were incorrect sometimes.
+
+ II. IMPORTANT CHANGES
+
+ - The following callback function types have changed slightly (by
+ adding the `const' keyword where appropriate):
+
+ FT_Outline_MoveToFunc
+ FT_Outline_LineToFunc
+ FT_Outline_ConicToFunc
+ FT_Outline_CubicToFunc
+ FT_SpanFunc
+ FT_Raster_RenderFunc
+
+ FT_Glyph_TransformFunc
+ FT_Renderer_RenderFunc
+ FT_Renderer_TransformFunc
+
+ Note that this doesn't affect binary backwards compatibility.
+
+ III. MISCELLANEOUS
+
+
+======================================================================
+
LATEST CHANGES BETWEEN 2.1.10 and 2.1.9
I. IMPORTANT BUG FIXES
diff --git a/docs/VERSION.DLL b/docs/VERSION.DLL
index ff266ef31..f7cf88c02 100644
--- a/docs/VERSION.DLL
+++ b/docs/VERSION.DLL
@@ -52,6 +52,7 @@ systems, but not all of them:
release libtool so
-------------------------------
+ 2.2.0 9.9.3 6.3.9
2.1.10 9.8.3 6.3.8
2.1.9 9.7.3 6.3.7
2.1.8 9.6.3 6.3.6
@@ -109,7 +110,7 @@ other release numbers.
------------------------------------------------------------------------
-Copyright 2002, 2003, 2004 by
+Copyright 2002, 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/docs/release b/docs/release
index 9f51c4360..b1df9cb18 100644
--- a/docs/release
+++ b/docs/release
@@ -6,8 +6,8 @@ How to prepare a new release
. builds/unix/configure.ac (version_info): Update according to the libtool
rules, then regenerate the configure script with the top-level
- `autogen.sh'. After that, update `config.guess' and `config.sub' to
- the most recent versions (from the `config' CVS repository).
+ `autogen.sh'. After that, update `config.guess' and `config.sub' to the
+ most recent versions (from the `config' CVS repository).
. builds/freetype.mk (refdoc): Update the `--title' option.
@@ -19,24 +19,32 @@ How to prepare a new release
. ChangeLog: Announce new release.
+. Call `make refdoc' to update HTML reference. Copy it to
+ freetype.freedesktop.org:/srv/freetype.freedesktop.org/\
+ freetype2/docs/reference.
-********* The items below should be done but are out-of-date due *********
-********* to the move of the FreeType CVS and web pages. *********
+ TODO: Create FreeType home page CVS on savannah.nongnu.org and update it
+ accordingly.
+ Write script to automatically do this.
-. Call `make refdoc' to update HTML reference. Copy it to
- freetype2/docs/reference in the `www' CVS module and update the CVS.
- Then call `update-www' in ~/cvs/scripts on www.freetype.org to
- update and distribute everything to sourceforge.
+ Mirror FreeType's savannah home page everywhere.
+
+. Tag the CVS (freetype2, ft2demos).
+
+ TODO: Tag the home page CVS on savannah.nongnu.org.
+
+. Create packages for freetype2, ft2demos, and documentation.
-. Tag the CVS (freetype, ft2demos, www/freetype2/docs).
+ TODO: Write scripts and/or provide make targets to do that.
-. Update `make-release' and `make-current' in ~/cvs/scripts/ on
- www.freetype.org, then call them.
+. Create signature files with `gpg -b' and upload files to savannah and
+ sourceforge.
-. Create an md5 checksum file (with md5sum).
+ TODO: Write script to do this. Cf. automake's `gnupload' script.
-. Announce new release on announce@freetype.org and to relevant newsgroups.
+. Announce new release on freetype-announce@nongnu.org and to relevant
+ newsgroups.
------------------------------------------------------------------------
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 7b2a96c38..345d4fb81 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -43,8 +43,8 @@
/* drivers. It starts at 2.0. */
/* */
#define FREETYPE_MAJOR 2
-#define FREETYPE_MINOR 1
-#define FREETYPE_PATCH 10
+#define FREETYPE_MINOR 2
+#define FREETYPE_PATCH 0
#include <ft2build.h>
diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h
index e92ace3a1..a7b702c7c 100644
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -486,8 +486,8 @@ FT_BEGIN_HEADER
/* Error code. 0 means success. */
/* */
typedef int
- (*FT_Outline_MoveToFunc)( FT_Vector* to,
- void* user );
+ (*FT_Outline_MoveToFunc)( const FT_Vector* to,
+ void* user );
#define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc
@@ -512,8 +512,8 @@ FT_BEGIN_HEADER
/* Error code. 0 means success. */
/* */
typedef int
- (*FT_Outline_LineToFunc)( FT_Vector* to,
- void* user );
+ (*FT_Outline_LineToFunc)( const FT_Vector* to,
+ void* user );
#define FT_Outline_LineTo_Func FT_Outline_LineToFunc
@@ -542,9 +542,9 @@ FT_BEGIN_HEADER
/* Error code. 0 means success. */
/* */
typedef int
- (*FT_Outline_ConicToFunc)( FT_Vector* control,
- FT_Vector* to,
- void* user );
+ (*FT_Outline_ConicToFunc)( const FT_Vector* control,
+ const FT_Vector* to,
+ void* user );
#define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc
@@ -573,10 +573,10 @@ FT_BEGIN_HEADER
/* Error code. 0 means success. */
/* */
typedef int
- (*FT_Outline_CubicToFunc)( FT_Vector* control1,
- FT_Vector* control2,
- FT_Vector* to,
- void* user );
+ (*FT_Outline_CubicToFunc)( const FT_Vector* control1,
+ const FT_Vector* control2,
+ const FT_Vector* to,
+ void* user );
#define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc
@@ -861,10 +861,10 @@ FT_BEGIN_HEADER
/* only for those scanlines that do have `gray' pixels on them. */
/* */
typedef void
- (*FT_SpanFunc)( int y,
- int count,
- FT_Span* spans,
- void* user );
+ (*FT_SpanFunc)( int y,
+ int count,
+ const FT_Span* spans,
+ void* user );
#define FT_Raster_Span_Func FT_SpanFunc
@@ -1183,8 +1183,8 @@ FT_BEGIN_HEADER
/* composition). */
/* */
typedef int
- (*FT_Raster_RenderFunc)( FT_Raster raster,
- FT_Raster_Params* params );
+ (*FT_Raster_RenderFunc)( FT_Raster raster,
+ const FT_Raster_Params* params );
#define FT_Raster_Render_Func FT_Raster_RenderFunc
diff --git a/include/freetype/ftrender.h b/include/freetype/ftrender.h
index 21b051fc7..5a01da479 100644
--- a/include/freetype/ftrender.h
+++ b/include/freetype/ftrender.h
@@ -46,9 +46,9 @@ FT_BEGIN_HEADER
(*FT_Glyph_DoneFunc)( FT_Glyph glyph );
typedef void
- (*FT_Glyph_TransformFunc)( FT_Glyph glyph,
- FT_Matrix* matrix,
- FT_Vector* delta );
+ (*FT_Glyph_TransformFunc)( FT_Glyph glyph,
+ const FT_Matrix* matrix,
+ const FT_Vector* delta );
typedef void
(*FT_Glyph_GetBBoxFunc)( FT_Glyph glyph,
@@ -85,16 +85,16 @@ FT_BEGIN_HEADER
typedef FT_Error
- (*FT_Renderer_RenderFunc)( FT_Renderer renderer,
- FT_GlyphSlot slot,
- FT_UInt mode,
- FT_Vector* origin );
+ (*FT_Renderer_RenderFunc)( FT_Renderer renderer,
+ FT_GlyphSlot slot,
+ FT_UInt mode,
+ const FT_Vector* origin );
typedef FT_Error
- (*FT_Renderer_TransformFunc)( FT_Renderer renderer,
- FT_GlyphSlot slot,
- FT_Matrix* matrix,
- FT_Vector* delta );
+ (*FT_Renderer_TransformFunc)( FT_Renderer renderer,
+ FT_GlyphSlot slot,
+ const FT_Matrix* matrix,
+ const FT_Vector* delta );
typedef void
diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c
index d2e53cd77..a252b2209 100644
--- a/src/base/ftoutln.c
+++ b/src/base/ftoutln.c
@@ -683,6 +683,7 @@
if ( !outline )
return FT_Err_Invalid_Argument;
+ strength /= 2;
if ( strength == 0 )
return FT_Err_Ok;
diff --git a/src/base/ftsynth.c b/src/base/ftsynth.c
index 020bfdfe4..ed809513a 100644
--- a/src/base/ftsynth.c
+++ b/src/base/ftsynth.c
@@ -81,7 +81,7 @@
/* some reasonable strength */
xstr = FT_MulFix( face->units_per_EM,
- face->size->metrics.y_scale ) / 42;
+ face->size->metrics.y_scale ) / 24;
ystr = xstr;
if ( slot->format == FT_GLYPH_FORMAT_OUTLINE )
@@ -122,8 +122,8 @@
/* modify the metrics accordingly */
if ( !error )
{
+ /* assume the layout is horizontal */
slot->advance.x += xstr;
- slot->advance.y += ystr;
slot->metrics.width += xstr;
slot->metrics.height += ystr;
diff --git a/src/otvalid/otvcommn.h b/src/otvalid/otvcommn.h
index 9f84910d5..f0c6945ee 100644
--- a/src/otvalid/otvcommn.h
+++ b/src/otvalid/otvcommn.h
@@ -4,7 +4,7 @@
/* */
/* OpenType common tables validation (specification). */
/* */
-/* Copyright 2004 by */
+/* Copyright 2004, 2005 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -70,8 +70,8 @@ FT_BEGIN_HEADER
#define FT_INVALID_( _prefix, _error ) \
ft_validator_error( valid->root, _prefix ## _error )
-#define OTV_OPTIONAL_TABLE( _table ) FT_UInt _table; \
- FT_Bytes _table ## _p
+#define OTV_OPTIONAL_TABLE( _table ) FT_UShort _table; \
+ FT_Bytes _table ## _p
#define OTV_OPTIONAL_OFFSET( _offset ) \
FT_BEGIN_STMNT \
diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c
index 610b63bcc..94c04af3a 100644
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -1501,7 +1501,7 @@
/* some heuristic values */
metrics->vertBearingX = (FT_Char)(-metrics->width / 2 );
- metrics->vertBearingY = (FT_Char)( advance / 10 );
+ metrics->vertBearingY = (FT_Char)( ( advance - metrics->height ) / 2 );
metrics->vertAdvance = (FT_Char)( advance * 12 / 10 );
}
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index d1ad181b8..a83dbe328 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1765,41 +1765,43 @@
if ( face->vertical_info &&
face->vertical.number_Of_VMetrics > 0 )
{
- advance_height = (FT_UShort)( loader->pp4.y - loader->pp3.y );
- top_bearing = (FT_Short)( loader->pp3.y - bbox.yMax );
+ top_bearing = (FT_Short)FT_DivFix( loader->pp3.y - bbox.yMax,
+ y_scale );
+
+ if ( loader->pp3.y <= loader->pp4.y )
+ advance_height = 0;
+ else
+ advance_height = (FT_UShort)FT_DivFix( loader->pp3.y - loader->pp4.y,
+ y_scale );
}
else
{
- /* Make up the distances from the horizontal header. */
+ FT_Short max_height, height;
+
+
+ /* XXX Compute top side bearing and advance height in */
+ /* Get_VMetrics instead of here. */
/* NOTE: The OS/2 values are the only `portable' ones, */
/* which is why we use them, if there is an OS/2 */
/* table in the font. Otherwise, we use the */
/* values defined in the horizontal header. */
- /* */
- /* NOTE2: The sTypoDescender is negative, which is why */
- /* we compute the baseline-to-baseline distance */
- /* here with: */
- /* ascender - descender + linegap */
- /* */
- /* NOTE3: This is different from what MS's rasterizer */
- /* appears to do when getting default values */
- /* for the vertical phantom points. We leave */
- /* the old code untouched, but relying on */
- /* phantom points alone might be reasonable */
- /* (i.e., removing the `if' above). */
+
+ height = FT_DivFix( bbox.yMax - bbox.yMin, y_scale );
if ( face->os2.version != 0xFFFFU )
{
- top_bearing = (FT_Short)( face->os2.sTypoLineGap / 2 );
- advance_height = (FT_UShort)( face->os2.sTypoAscender -
- face->os2.sTypoDescender +
- face->os2.sTypoLineGap );
+ /* sTypoDescender is negative */
+ max_height = face->os2.sTypoAscender - face->os2.sTypoDescender;
+
+ top_bearing = (FT_Short)( ( max_height - height ) / 2 );
+ advance_height = (FT_UShort)( max_height + face->os2.sTypoLineGap );
}
else
{
- top_bearing = (FT_Short)( face->horizontal.Line_Gap / 2 );
- advance_height = (FT_UShort)( face->horizontal.Ascender +
- face->horizontal.Descender +
+ max_height = face->horizontal.Ascender + face->horizontal.Descender;
+
+ top_bearing = (FT_Short)( ( max_height - height ) / 2 );
+ advance_height = (FT_UShort)( max_height +
face->horizontal.Line_Gap );
}
}
@@ -1817,7 +1819,7 @@
metrics.bearing_x = 0;
metrics.bearing_y = top_bearing;
- metrics.advance = advance_height;
+ metrics.advance = advance_height;
error =
face->root.internal->incremental_interface->funcs->get_glyph_metrics(
face->root.internal->incremental_interface->object,
@@ -1834,20 +1836,15 @@
#endif /* FT_CONFIG_OPTION_INCREMENTAL */
- /* We must adjust the top_bearing value from the bounding box given */
- /* in the glyph header to the bounding box calculated with */
- /* FT_Get_Outline_CBox(). */
-
/* scale the metrics */
if ( !( loader->load_flags & FT_LOAD_NO_SCALE ) )
{
- top = FT_MulFix( top_bearing + loader->bbox.yMax, y_scale )
- - bbox.yMax;
+ top = FT_MulFix( top_bearing, y_scale );
advance = FT_MulFix( advance_height, y_scale );
}
else
{
- top = top_bearing + loader->bbox.yMax - bbox.yMax;
+ top = top_bearing;
advance = advance_height;
}
@@ -1864,7 +1861,8 @@
if ( IS_HINTED( loader->load_flags ) )
{
left = FT_PIX_FLOOR( left );
- top = FT_PIX_CEIL( top );
+ /* top should be floor'ed */
+ top = FT_PIX_FLOOR( top );
advance = FT_PIX_ROUND( advance );
}