summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/freetype/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/freetype/ChangeLog')
-rw-r--r--src/3rdparty/freetype/ChangeLog3368
1 files changed, 3368 insertions, 0 deletions
diff --git a/src/3rdparty/freetype/ChangeLog b/src/3rdparty/freetype/ChangeLog
new file mode 100644
index 0000000000..8096136289
--- /dev/null
+++ b/src/3rdparty/freetype/ChangeLog
@@ -0,0 +1,3368 @@
+2008-06-10 Werner Lemberg <wl@gnu.org>
+
+ * Version 2.3.6 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-6'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.6.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+
+ * builds/unix/configure.raw (version_info): Set to 9:17:3.
+
+
+ * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
+ and `scale_y'.
+ * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
+
+
+ * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
+ * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+
+2008-06-10 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
+ `clazz->done_face'.
+
+2008-06-09 VaDiM <s_sliva@rambler.ru>
+
+ Support debugging on WinCE. From Savannah patch #6536; this fixes
+ bug #23497.
+
+ * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
+ as a replacement for OutputDebugStringA (which WinCE doesn't have).
+ Update all callers.
+ (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
+ environment variables.
+
+2008-06-09 Werner Lemberg <wl@gnu.org>
+
+ * README.CVS: Updated.
+
+ * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
+ for newer versions of autoconf and friends.
+
+2008-06-08 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
+ `private_len' unsigned.
+
+ * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
+ it as such.
+ (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
+
+
+ * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
+
+
+ * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
+ for sane value.
+ Fix typo.
+
+
+ * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
+
+
+ * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
+ `last_point'.
+
+
+ * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
+ `maxTwilightPoints'.
+
+2008-06-06 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
+ correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
+
+2008-06-03 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftcache.h (FTC_FaceID): Change type back to
+ FT_Pointer. Reported by Ian Britten <britten@caris.com>.
+
+2008-06-02 Werner Lemberg <wl@gnu.org>
+
+ Emit header info for defined FreeType objects in reference.
+
+ * src/tools/docmaker/content.py (re_header_macro): New regexp.
+ (ContentProcessor::__init__): Initialize new dictionary `headers'.
+ (DocBlock::__init__): Collect macro header definitions.
+
+ * src/tools/docmaker/tohtml.py (header_location_header,
+ header_location_footer): New strings.
+ (HtmlFormatter::__init__): Pass `headers' dictionary.
+ (HtmlFormatter::print_html_field): Don't emit paragraph tags.
+ (HtmlFormatter::print_html_field_list): Emit empty paragraph.
+ (HtmlFormatter::block_enter): Emit header info.
+
+2008-06-01 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
+ FT_INCREMENTAL_H): Added.
+
+2008-05-28 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/docmaker/sources.py (SourceBlock::__init__): While
+ looking for markup tags, return immediately as soon a single one is
+ found.
+
+2008-05-28 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
+ original, unscaled input values. Confirmed by Greg Hitchcock from
+ Microsoft.
+
+2008-05-27 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/docmaker/tohtml.py (block_footer_start,
+ block_footer_middle): Beautify output.
+
+2008-05-25 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (fc_black_render): Return 0 when we are
+ trying to render into a zero-width/height bitmap, not an error code.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
+ of the graphics state for subglyphs to...
+ (TT_Hint_Glyph): This function.
+ Hinting instructions for a composite glyph apparently refer to the
+ just hinted subglyphs, not the unhinted, unscaled outline. This
+ seems to fix Savannah bugs #20973 and (at least partially) #23310.
+
+2008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
+ `aface' is returned by FT_New_Face_From_FOND(). The patch was
+ proposed by an anonymous reporter of Savannah bug #23204.
+
+2008-05-18 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
+ correction for pixel boundary. Without this patch, the effect can
+ be cumulative under certain circumstances, making glyphs taller and
+ taller after each call. This fixes Savannah bug #19976.
+
+2008-05-18 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
+ This fixes Savannah bug #23280.
+
+ * docs/CHANGES: Updated.
+
+2008-05-18 David Turner <david@freetype.org>
+
+ * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
+ ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
+ ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
+ declarations non-global.
+
+ * src/type1/t1load.c: Add missing comment.
+
+2008-05-17 Sam Hocevar <samh>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
+ glyphs correctly. Patch from Savannah bug #23277.
+
+2008-05-16 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2008-05-16 Sergey Tolstov <stolstov@esri.com>
+
+ Improve support for WGL4 encoded fonts.
+
+ * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
+ (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
+ ft_wgl_extra_glyph_name_offsets): New arrays.
+ (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
+ (ps_unicodes_init): Use them to add additional Unicode mappings.
+
+2008-05-15 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ <op_closepath>: `closepath' without a path is a no-op, not an error
+ (cf. the PS reference manual).
+
+ Reported by Martin McBride.
+
+2008-05-15 Werner Lemberg <wl@gnu.org>
+
+ * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
+
+2008-05-15 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
+ which contains a single but empty entry. This is technically
+ invalid (since it must end with `return'), but...
+
+ Reported by Martin McBride.
+
+2008-05-14 Werner Lemberg <wl@gnu.org>
+
+ Finish fix of scaling bug of CID-keyed CFF subfonts.
+
+ * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+ (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
+ functions.
+
+ * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
+ provide global hinting data for both the top-font and all subfonts
+ (with proper scaling).
+
+ * src/cff/cffobjs.c (cff_make_private_dict): New function, using
+ code from `cff_size_init'.
+ (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
+ Use CFF_Internal and handle subfonts.
+ (cff_face_init): Handle top-dict and subfont matrices correctly;
+ apply some heuristic in case of unlikely matrix concatenation
+ results. This has been discussed with people from Adobe (thanks
+ goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
+ and not correct.
+
+ * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
+
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+ (cff_decoder_prepare): Handle hints globals for subfonts.
+ Update all callers.
+ (cff_slot_load): Handling scaling of subfonts properly.
+
+ * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
+ (cff_parse_font_matrix): Use it.
+
+ * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
+ FT_ULong.
+
+ * docs/CHANGES: Document it.
+
+2008-05-13 Werner Lemberg <wl@gnu.org>
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+ Handle case `face_index < 0'.
+ * docs/CHANGES: Document it.
+
+2008-05-04 Werner Lemberg <wl@gnu.org>
+
+ First steps to fix the scaling bug of CID-keyed CFF subfonts,
+ reported by Ding Li on 2008/03/28 on freetype-devel.
+
+ * src/base/cff/cffparse.c (power_tens): New array.
+ (cff_parse_real): Rewritten to introduce a fourth parameter which
+ returns the `scaling' of the real number so that we have no
+ precision loss. This is not used yet.
+ Update all callers.
+ (cff_parse_fixed_thousand): Replace with...
+ (cff_parse_fixed_scaled): This function. Update all callers.
+
+2008-05-03 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
+ transformation since it recursively calls FT_Load_Glyph. This fixes
+ Savannah bug #23143.
+
+2008-04-26 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
+ and `scale_y' as obsolete since they aren't used.
+ * src/psaux/psobjs.c (t1_builder_init): Updated.
+
+ * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
+ obsolete since they aren't used.
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+
+2008-04-14 Werner Lemberg <wl@gnu.org>
+
+ * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
+ `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
+ bug #22909.
+
+2008-04-13 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
+ integer part is zero.
+
+2008-04-01 Werner Lemberg <wl@gnu.org>
+
+ Fix compilation with g++ 4.1 (with both `single' and `multi'
+ targets).
+
+ * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
+ which is crossed by a `goto'.
+
+ * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
+
+2008-03-31 Werner Lemberg <wl@gnu.org>
+
+ Fix support for subsetted CID-keyed CFFs.
+
+ * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
+ FT_IS_CID_KEYED): New macros.
+
+ * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
+ maximum CID value in CID-keyed CFFs.
+ Handle FT_FACE_FLAG_CID_KEYED flag.
+
+ * docs/CHANGES: Document it.
+
+
+ Fix CFF font matrix calculation and improve precision.
+
+ * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
+ part is zero.
+ (cff_parse_font_matrix): Simplify computation of `units_per_em';
+ this prevents overflow also.
+
+
+ Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
+
+ * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
+ (cid_get_ros): New function.
+ (cid_service_cid_info): New service structure.
+ (cid_services): Register it.
+
+2008-03-23 Werner Lemberg <wl@gnu.org>
+
+ Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
+
+ * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
+ (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
+
+2008-03-21 Laurence Darby <ldarby>
+
+ * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
+ Savannah bug #22675.
+
+2008-03-13 Derek Clegg <dclegg@apple.com>
+
+ * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
+ Patch from Savannah bug #22541.
+
+2008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
+
+ * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+ tt_cmap14_find_variant): Return correct value.
+ (tt_cmap14_variant_chars): Fix check for `di'.
+
+2008-02-29 Wermer Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2008-02-29 Wolf
+
+ Add build support for symbian platform. From Savannah bug #22440.
+
+ * builds/symbian/*: New files.
+
+2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
+ synthesis. For any face of a specified FOND, always the name for
+ the first face was used. Except of a FOND that refers multiple
+ Type1 font files, wrong synthesized font names are not used at all,
+ so this is an invisible bug. A few limit checks are added too.
+
+ * builds/mac/ftmac.c: Ditto.
+
+2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Split compiler option to link Carbon
+ frameworks to one option for CoreServices framework and another
+ option for ApplicationServices framework. The split options can be
+ managed by GNU libtool to avoid unrequired duplication when FreeType
+ is linked with other applications. Suggested by Daniel Macks,
+ Savannah bug #22366.
+
+2008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
+
+ * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
+ from Savannah bug #22356.
+
+2008-02-17 Jonathan Blow <jon@number-none.com>
+
+ * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+ Check for valid callback pointers.
+
+2008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
+ handle by its value instead of ResError(), fix provided by Deron
+ Kazmaier. According to the Resource Manager Reference,
+ GetResource(), Get1Resource(), GetNamedResource(),
+ Get1NamedResource() and RGetResource() set noErr but return NULL
+ handle when they can not find the requested resource. These
+ functions never return undefined values, so it is sufficient to
+ check if the handle is not NULL.
+
+ * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+
+2008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
+ inclusion styles. Now it always includes src/base/ftmac.c;
+ builds/mac/ftmac.c is never included in any configuration.
+
+ * builds/unix/configure.raw: Print warning if configure is executed
+ with options to specify Carbon functionalities explicitly.
+
+ * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
+ included automatically and manual replacement is required.
+
+2008-02-11 Werner Lemberg <wl@gnu.org>
+
+ * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
+ (dos_setup), builds/freetype.mk (clean_project_dos,
+ distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
+ Murdoch.
+
+2008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
+
+ * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
+ mention intra-pixel algorithm.
+
+ * include/freetype/freetype.h (FT_Render_Mode): Mention that
+ FT_Library_SetLcdFilter can be used to reduce fringes.
+
+2008-01-16 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (ft_black_render): Check `outline' before
+ using it. Reported by Allan Yang.
+
+2008-01-12 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
+
+2008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
+
+ * src/raster/ftraster.c (ft_black_init)
+ [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
+
+2008-01-10 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
+ where the number of contours in a simple glyph is zero (and which
+ does contain an entry in the `glyf' table). This fixes Savannah bug
+ #21990.
+
+2008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Formatting suggested by Sean McBride.
+
+ * builds/mac/ftmac.c: Formatting (tab expanded).
+ * src/autofit/afindic.c: Ditto.
+ * src/base/ftcid.c: Ditto.
+ * src/base/ftmac.c: Ditto.
+
+2007-12-30 Werner Lemberg <wl@gnu.org>
+
+ * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
+ correctly.
+
+2007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Improvement of POSIX resource-fork accessor to load unsorted
+ references in a resource. In HelveLTMM (resource-fork PostScript
+ Type1 font bundled with Mac OS X since 10.3.x), the appearance order
+ of PFB chunks is not sorted; sorting the chunks by reference IDs is
+ required.
+
+ * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
+ type to store a pair of reference ID and offset to the chunk.
+
+ * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
+ sort FT_RFork_Ref by their reference IDs.
+
+ (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
+ sorted by reference ID.
+
+2007-12-14 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
+ division too early; otherwise the most significant digit(s) of the
+ final result are lost as the value is truncated to an integer. This
+ fixes Savannah bug #21794 (where the patch has been posted too).
+
+2007-12-06 Fix <4d876b82@gmail.com>
+
+ Pass options from one configure script to another as-is (not
+ expanded). This is needed for options like
+ --includedir='${prefix}/include'.
+
+ * builds/unix/detect.mk, configure: Prevent argument expansion in
+ call to the (real) `configure' script.
+
+2007-12-06 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
+ TT_USE_BYTECODE_INTERPRETER isn't defined.
+
+2007-12-06 Werner Lemberg <wl@gnu.org>
+
+ There exist CFFs which contain opcodes for the Type 1 operators
+ `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
+ However, it doesn't harm to support them.
+
+ * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
+ `cff_op_closepath.'
+ (cff_argument_counts): Ditto.
+
+ (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
+ and 13 (hsbw) which are invalid in Type 2 charstrings.
+
+2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
+ support new pathname syntax `..namedfork/rsrc' to access a resource
+ fork on Mac OS X. The legacy syntax `/rsrc' does not work on
+ case-sensitive HFS+.
+ (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
+ buffer size to store a pathname.
+ * include/freetype/internal/ftrfork.h: Increment the number of
+ resource fork guessing rule.
+
+2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Improve the compile tests to search
+ Carbon functions.
+ * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
+ proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
+
+2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ The documents and comments for Mac OS X are improved by Sean
+ McBride.
+
+ * src/base/ftmac.c: Fix a comment.
+ * include/freetype/ftmac.h: Ditto.
+ * docs/INSTALL.MAC: Improve English and add comment on lowest
+ system version specified by MACOSX_DEPLOYMENT_TARGET.
+
+2007-12-04 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
+ concatenate error codes.
+ * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
+
+2007-12-04 Graham Asher <graham.asher@btinternet.com>
+
+ * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
+ concatenate error codes.
+
+2007-12-04 Sean McBride <sean@rogue-research.com>
+
+ * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
+ warning.
+
+2007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
+ not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
+ cannot mmap() the specified file and cannot seek to head of the
+ specified file, it returns NULL stream and FT_Open_New() returns the
+ error immediately. On MacOS, most legacy MacOS fonts fall into such
+ a scenario because their data forks are zero-sized and cannot be
+ sought. To proceed to guessing of resource fork fonts, the
+ functions for legacy MacOS font must properly handle the NULL stream
+ returned by FT_New_Stream().
+
+ * src/base/ftobjs.c (IsMacBinary): Return error
+ FT_Err_Invalid_Stream_Operation immediately when NULL stream is
+ passed.
+ (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
+ to fallback. Originally, legacy MacOS font is tested in the cases
+ of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
+ or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
+ .dfont header is combined). Now the case of
+ FT_Err_Cannot_Open_Stream is included.
+
+ * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
+ skip FT_Stream_Seek(), which seeks to the head of stream, and
+ proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
+ for a NULL stream causes a Bus error on Mac OS X.
+ (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
+ immediately if passed stream is NULL.
+ (raccess_guess_apple_single): Ditto.
+
+2007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Fix for Carbon incompatibilities since Mac OS X 10.5,
+ proposed by Sean McBride.
+
+ * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
+
+ * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
+ FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
+ Carbon functions from a forked process is classified as unsafe
+ by Apple. All Carbon-dependent functions should be deprecated.
+
+ * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
+ and <ApplicationServices/ApplicationServices.h> instead of
+ all-in-one header file <CoreServices/CoreServices.h>.
+
+ Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
+ genuine macro PATH_MAX.
+
+ Add fallback macro for kATSOptionFlagsUnRestrictedScope which
+ is not found in Mac OS X 10.0.
+
+ Multi-character constants ('POST', 'sfnt' etc) are replaced by
+ 64bit constants calculated by FT_MAKE_TAG() macro.
+
+ For the index in the segment of resource fork, new portable
+ type ResourceIndex is introduced for better compatibility.
+ This type is since Mac OS X 10.5, so it is defined as short
+ when built on older platforms.
+
+ (FT_ATSFontGetFileReference): If build target is only the systems
+ 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
+
+ (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
+ and newer or 64bit platform, because legacy type FSSpec type is
+ removed completely.
+
+ (FT_New_Face_From_FSSpec): Ditto.
+
+2007-11-01 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
+ fixes Savannah bug #21485.
+
+2007-10-29 Daniel Svoboda <dasvo@planeta@cz>
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
+ can handle the font at all, then check `face_index'. Otherwise, the
+ driver might return the wrong error code. This fixes Savannah bug
+ #21468.
+
+2007-10-21 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
+ support for bit 8 of the `fsSelection' field in the `OS/2' table.
+ MS is already using this; hopefully, this becomes part of OpenType
+ 1.5.
+ Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
+ (WWS_SUBFAMILY).
+
+2007-10-20 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
+ Add `td.left' element to CSS.
+ (toc_section_enter): Use it.
+
+2007-10-18 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
+ functions related to cmap type 14 support to the
+ `FT_Object_ActionName' scheme:
+
+ FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
+ FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
+ FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
+ FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
+ FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
+
+ Update documentation accordingly.
+
+ * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
+ Make the code a little more consistent with FreeType coding
+ conventions and modify the cmap14 functions that returned a newly
+ allocated array to use a persistent vector from the TT_CMap14 object
+ instead.
+
+ (TT_CMap14Rec): Provide array and auxiliary data for result.
+ (tt_cmap14_done, tt_cmap14_ensure): New functions.
+
+ (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
+ tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
+ tt_cmap14_char_var_index, tt_cmap14_variants,
+ tt_cmap14_char_variants, tt_cmap14_def_char_count,
+ tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+ tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
+
+2007-10-15 George Williams <gww@silcom.com>
+
+ Add support for cmap type 14.
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (TT_CONFIG_CMAP_FORMAT_14): New macro.
+
+ * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
+ FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
+ FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
+ support function prototypes.
+ (FT_CMap_ClassRec): Add them.
+ Update all users.
+
+ * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
+ macro.
+
+ * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
+ FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
+ FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
+ functions.
+
+ * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
+ function.
+ (FT_Set_Charmap): Disallow cmaps of type 14.
+ (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
+ FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
+ FT_Get_Chars_Of_Variant): New API functions.
+
+ * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
+
+ (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
+ tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
+ tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
+ tt_cmap14_find_variant, tt_cmap14_char_var_index,
+ tt_cmap14_char_var_isdefault, tt_cmap14_variants,
+ tt_cmap14_char_variants, tt_cmap14_def_char_count,
+ tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+ tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
+ structures for cmap 14 support.
+ (tt_cmap_classes): Register tt_cmap14_class_rec.
+ (tt_face_build_cmaps): One more error message.
+
+ * docs/CHANGES: Mention cmap 14 support.
+
+2007-10-01 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
+ charmap fails, do the loop again while searching a UCS-2 charmap.
+ This favours MS charmaps over Apple ones.
+
+2007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c: Introduction of abstract `short' data types,
+ ResFileRefNum and ResID. These types were introduced for Copland,
+ then backported to MPW. The variables exchanged with FileManager
+ QuickDraw frameworks are redefined by these data types. Patch was
+ proposed by Sean McBride.
+ * builds/mac/ftmac.c: Ditto.
+
+2007-08-18 Werner Lemberg <wl@gnu.org>
+
+ * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
+ by Imran Yousaf. Fixes Savannah bug #20773.
+
+ (otv_Lookup_validate): Correct handling of LookupType. Found by
+ Imran Yousaf. Fixes Savannah bug #20782.
+
+2007-08-17 George Williams <gww@silcom.com>
+
+ * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
+ SingleSubstFormat1.
+
+2007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
+ ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
+ Found by Ryan Hill.
+
+2007-08-11 George Williams <gww@silcom.com>
+
+ * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
+ (otv_Coverage_validate): Add fourth argument to pass an expected
+ count value. Update all users.
+ Check glyph IDs.
+ (otv_ClassDef_validate): Check `StartGlyph'.
+
+ * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
+ checks.
+
+ * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
+ 56 constants.
+ (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
+ Check glyph IDs.
+
+2007-08-08 Werner Lemberg <wl@gnu.org>
+
+ * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
+ src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
+ src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
+ appropriate. Reported by George.
+
+ * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
+
+ * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
+
+ * docs/CHANGES: Updated.
+
+2007-08-08 George Williams <gww@silcom.com>
+
+ Add `MATH' validating support to otvalid module.
+
+ * include/freetype/tttags.h (TTAG_MATH): New macro.
+ * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
+ (FT_VALIDATE_OT): Updated.
+
+ * src/otvalid/otmath.c: New file.
+
+ * src/otvalid/otvalid.c: Include otvmath.c.
+ * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
+
+2007-08-04 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
+ Fixes Savannah bug #20686.
+
+2007-08-03 Werner Lemberg <wl@gnu.org>
+
+ * src/psnames/psmodule.c: Fix usage of
+ FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
+
+2007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (open_face_from_buffer): The argument
+ `driver_name' is typed as `const char*' to match with the
+ callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
+ This is same with open_face_from_buffer in src/base/ftobjs.c.
+ Found and fixed by Sean McBride.
+
+2007-07-28 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (count_table): Make it conditional.
+ * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
+ a preprocessor statement.
+
+2007-07-27 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
+ first usage. From Savannah patch #6115.
+
+2007-07-16 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2007-07-16 Derek Clegg <dclegg@apple.com>
+
+ Add new service for getting the ROS from a CID font.
+
+ * include/freetype/config/ftheader.h (FT_CID_H): New macro.
+ * include/freetype/ftcid.h: New file.
+
+ * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
+ * include/freetype/internal/services/svcid.h: New file.
+
+ * src/base/ftcid.c: New file.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
+ (cff_get_ros): New function.
+ (cff_service_cid_info): New service structure.
+ (cff_services): Register it.
+
+ * src/cff/cffload.c (cff_font_done): Free registry and ordering.
+
+ * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
+
+ * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
+
+2007-07-11 Derek Clegg <dclegg@apple.com>
+
+ Add support for postscript name service to CFF driver.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
+ (cff_get_ps_name): New function.
+ (cff_service_ps_name): New service structure.
+ (cff_services): Register it.
+
+2007-07-07 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
+ `target'. Reported by Sean McBride.
+
+2007-07-06 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrcmap.c: Include pfrerror.h.
+
+ * src/autofit/afindic.c: Add some external declarations to pacify
+ `make multi' compilation.
+
+ * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
+
+ * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
+ (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
+ src/autofit/aflatin.c (af_latin_hints_compute_edges),
+ src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
+ (tt_face_get_metrics), src/base/ftobjs.c (open_face)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
+
+ * docs/release: Mention test compilation targets.
+
+2007-07-04 Werner Lemberg <wl@gnu.org>
+
+ * docs/PROBLEMS: Mention that some PS based fonts can't be
+ handled correctly by FreeType.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
+ recursion depth of 1. This was the maximum value in TrueType 1.0,
+ and some older fonts don't set this field correctly.
+
+ * src/gxvalid/gxvmort1.c
+ (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
+
+2007-07-03 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
+ `round' to pacify compiler.
+
+2007-07-02 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.3.5 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-5'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.5.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+ * builds/unix/configure.raw (version_info): Set to 9:16:3.
+
+2007-07-01 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h, src/base/ftpatent.c
+ (FT_Face_SetUnpatentedHinting): New function to dynamically change
+ the setting after a face is created.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
+ that created distortions in the bytecode interpreter results.
+
+2007-06-30 David Turner <david@freetype.org>
+
+ * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
+ initialization.
+
+ * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
+ infinite loop in the case of degenerate fonts.
+
+2007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
+
+ Add autofit module for Indic scripts. This currently just reuses
+ the CJK-specific functions.
+
+ * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
+ macro.
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+ * src/autofit/afindic.c, src/autofit/afindic.h: New files.
+
+ * src/autofit/afglobal.c, src/autofit/aftypes.h,
+ src/autofit/autofit.c: Updated.
+
+ * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
+ (AUTOF_DRV_SRC): Updated.
+
+2007-06-23 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
+ 2007-06-16 that prevented the TrueType module from loading most
+ glyphs.
+
+2007-06-20 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
+ change.
+
+2007-06-19 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_encoding): Handle one more error.
+
+2007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
+ FNT_Err_Invalid_File_Format if file format was recognized but
+ the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
+ Add verbose debug logs to make it easier to debug failing load
+ attempts.
+ (FNT_Face_Init): A single FNT font can't contain more than 1 face,
+ so return an error if requested face index is > 0.
+ Do not do further attempt to load fonts if a previous attempt has
+ failed but returned error FNT_Err_Invalid_File_Format, i.e., the
+ file format has been recognized but no fonts found in the file.
+
+2007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c: Apply patches proposed by Sean McBride.
+ (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
+ the compiler warnings against unused arguments.
+ (FT_ATSFontGetFileReference): Ditto.
+ (FT_GetFile_From_Mac_ATS_Name): Ditto.
+ (FT_New_Face_From_FSSpec): Ditto.
+ (lookup_lwfn_by_fond): Fix wrong comment.
+ Replace `const StringPtr' by more appropriate type
+ `ConstStr255Param'.
+ FSRefMakePathPath always returns UTF8 POSIX pathname in
+ Mach-O, thus HFS pathname support is dropped.
+ (count_faces): Remove HLock and HUnlock which is not
+ required on Mac OS X anymore.
+ (FT_New_Face_From_SFNT): Ditto.
+ (FT_New_Face_From_FOND): Ditto.
+ * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
+ except of HFS pathname support and HLock/HUnlock.
+ They are required on classic CFM environment.
+
+2007-06-18 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
+ assertion.
+ (ps_parser_to_bytes): Fix error message.
+
+ * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
+ * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
+ Don't allow mixed binary and hex strings.
+ Handle string_size == 0 and string_buf == 0.
+ (t42_parse_encoding): Handle one more error.
+
+2007-06-18 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
+ logic.
+ (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
+ correctly.
+ (ps_parser_load_field_table): Use `fields->array_max' instead of
+ T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
+
+ * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
+ 2007-06-06.
+
+2007-06-17 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/ftrandom.c (font_size): New global variable.
+ (TestFace): Use it.
+ (main): Handle new option `--size' to set `font_size'.
+ (Usage): Updated.
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
+ invalid font.
+ (FNT_Load_Glyph): Protect against invalid bitmap width.
+
+2007-06-16 David Turner <david@freetype.org>
+
+ * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
+ Prevent integer overflows when rendering very large outlines.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
+ well-formedness of the contours array when loading a glyph.
+
+ * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
+ and `zp2'.
+ (Ins_IP): Check argument ranges to reject bogus operations properly.
+ (IUP_WorkerRec): Add `max_points' member.
+ (_iup_worker_interpolate): Check argument ranges.
+ (Ins_IUP): Ignore empty outlines.
+
+2007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
+
+ * src/winfonts/winfnt.h: Add necessary structures for PE resource
+ parsing.
+ (WinPE32_HeaderRec): New structure.
+ (WinPE32_SectionRec): New structure.
+ (WinPE_RsrcDirRec): New structure.
+ (WinPE_RsrcDirEntryRec): New structure.
+ (WinPE_RsrcDataEntryRec): New structure.
+ (FNT_FontRec): Remove unused `size_shift' field.
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
+ loading bitmap .fon files in PE format.
+
+2007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
+
+ * builds/win32/ftdebug.c: Unify debug level handling with other
+ platforms.
+
+2007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
+
+ * builds/win32/ftdebug.c (FT_Message): Send debug output to the
+ console as well as to the debugger.
+
+2007-06-14 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
+ cover all ranges which could possibly be handled by the aflatin
+ module (since the default fallback for unknown ranges is now the
+ afcjk module). It might be necessary to fine-tune this further by
+ splitting off modules for Greek, Cyrillic, or other blocks.
+
+2007-06-11 David Turner <david@freetype.org>
+
+ * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
+ incorrect segment linking computation. This was the root cause of
+ Savannah bug #19565.
+
+
+ * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
+ to improve the Latin auto-hinter. Note that the new code is
+ disabled by default since it is not stabilized yet.
+
+ * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
+ (disabled currently).
+
+ * src/autofit/afhints.c: Remove dead code.
+ (af_axis_hints_new_edge): Add argument to handle segment directions.
+ (af_edge_flags_to_string): New function.
+ (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
+ option flags.
+ (af_glyph_hints_reload): Add argument to handle inflections.
+ Simplify.
+ (af_direction_compute): Fine tuning.
+ (af_glyph_hints_align_edge_points): Fix logic.
+ (af_glyph_hints_align_strong_points): Do linear search for small
+ edge counts.
+ (af_glyph_hints_align_weak_points): Skip any touched neighbors.
+ (af_iup_shift): Handle zero `delta'.
+
+ * src/autofit/afhints.h: Updated.
+ (AF_SORT_SEGMENTS): New macro (disabled).
+ (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
+
+ * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
+ argument to pass option flags for handling scripts.
+ * src/autofit/afglobal.h: Updated.
+
+ * src/autofit/afcjk.c: Updated.
+ * src/autofit/aflatin.c: Updated.
+ (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
+
+ (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
+ (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
+ Don't set `edge->dir'
+ (af_latin_hint_edges): Add more logging.
+
+ * src/autofit/afloader.c: Updated.
+
+2007-06-11 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
+
+2007-06-10 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
+ the TrueType glyph loader.
+
+ * include/freetype/config/ftoption.h: Clarify documentation
+ regarding unpatented hinting.
+
+
+ Add new `FT_Face_CheckTrueTypePatents' API.
+
+ * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
+ declaration.
+
+ * include/freetype/internal/services/svttglyf.h,
+ src/base/ftpatent.c: New files.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
+ New macro.
+
+ * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
+ `ttpload.h'.
+ (tt_service_truetype_glyf): New service structure.
+ (tt_services): Register it.
+
+ * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
+ `ftpatent.c'.
+
+2007-06-08 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
+ Fonts without a cmap must be handled correctly by FreeType (anything
+ else would be a bug).
+
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
+
+2007-06-07 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
+ tt_sbit_decoder_load_image): Protect against integer overflows.
+
+
+ * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
+ for `x_control' and `y_control'.
+
+2007-06-06 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
+
+
+ * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
+ FreeType error.
+
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
+ `font_count'.
+
+
+ * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
+
+
+ * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
+ `FT_Error'.
+ Check `fd_index'.
+ (cff_slot_load): Updated.
+ * src/cff/cffgload.h: Updated.
+
+2007-06-05 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
+ (pfr_glyph_load_simple): Convert assertion into normal FreeType
+ error.
+ Check `idx'.
+ (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
+ Convert assertion into normal FreeType error.
+
+ * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
+
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
+
+
+ * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
+ in case of parsing error.
+ (ps_parser_load_field): Updated.
+
+ * src/type1/t1load.c (parse_font_matrix): Updated.
+
+2007-06-04 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
+
+ * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
+
+2007-06-03 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/ftrandom/*: Add the `ftrandom' test program written by
+ George Williams (with some modifications).
+
+2007-06-03 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
+ (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
+ face == NULL. Suggested by Graham Asher.
+
+2007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
+
+ * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
+
+2007-06-02 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
+ FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
+
+ * src/bdf/bdflib.c (bdf_load_font): Use them.
+
+ * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
+
+2007-06-01 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
+ (FTC_CMapCache_Lookup): Remove unused code.
+
+2007-06-01 Sean McBride <sean@rogue-research.com>
+
+ * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
+ unused.
+
+2007-06-01 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidparse.c (cid_parser_new): Don't continue second search
+ pass for `StartData' if an error has occurred.
+ Exit properly if no `StartData' has been seen at all.
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
+ LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
+
+2007-05-30 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
+ against too small binary data strings.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
+
+2007-05-28 David Turner <david@freetype.org>
+
+ * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
+ transformation. This significantly reduces the loading time of CFF
+ glyphs.
+
+ * docs/CHANGES: Updated.
+
+ * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
+ hinting script to CJK, since it works well with more scripts than
+ latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
+ this out!
+
+2007-05-25 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2007-05-24 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
+ into TT_USE_BYTECODE_INTERPRETER preprocessor block.
+
+2007-05-24 Graham Asher <graham.asher@btinternet.com>
+
+ * src/truetype/ttobjs.c (tt_size_ready_bytecode)
+ [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
+
+2007-05-22 David Turner <david@freetype.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
+ avoid crashes in case the bytecode interpreter is not used.
+
+
+ Avoid heap blowup with very large .Z font files. This fixes
+ Savannah bug #19910.
+
+ * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
+ `in_limit', `pad', `pad_bits', and `in_buff' members.
+ Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
+ `buf_total' members.
+
+ * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
+ only one argument.
+ (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
+
+2007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
+
+ * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
+ (ps_dimension_set_mask_bits): Remove `const'.
+
+2007-05-19 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttmtx.c (tt_face_get_metrics)
+ [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
+
+2007-05-19 Derek Clegg <dclegg@apple.com>
+
+ Savannah patch #5929.
+
+ * include/freetype/tttables.h, src/base/ftobjcs.c
+ (FT_Get_CMap_Format): New function.
+
+ * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
+ `format' member.
+ * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
+ cmap_info->format.
+
+2007-05-19 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
+ before handling subglyphs so that it can be reinitialized each time.
+ This fixes Savannah bug #19859.
+
+2007-05-16 Werner Lemberg <wl@gnu.org>
+
+ * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
+ src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
+ (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
+ src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
+ tt_face_get_metrics): Fix type-punning issues.
+
+2007-05-15 David Turner <david@freetype.org>
+
+ * include/freetype/config/ftstdlib.h,
+ include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
+ ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
+ instead on relying on the locale-dependent functions provided by
+ <ctypes.h>.
+
+2007-05-15 Graham Asher <graham.asher@btinternet.com>
+
+ * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
+ variable.
+ * src/autofit/afloader.c (af_loader_load_g): Ditto.
+
+ * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
+ (open_face_from_buffer): Initialize `stream'.
+ (FT_Request_Metrics): Remove unused variable.
+ Remove redundant `break' statements.
+ (FT_Get_Track_Kerning): Remove unused variable.
+
+ * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
+ afm_parse_kern_data): Remove redundant
+ `break' statements.
+ (afm_parser_parse): Ditto.
+ Don't use uninitialized variables.
+
+ * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
+ Use `|' operator instead of `^' to set it.
+ Update all users.
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
+ * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
+ comparison.
+ (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
+ (TT_Load_Glyph): Remove unused variable.
+
+2007-05-13 Derek Clegg <dclegg@apple.com>
+
+ * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
+ if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
+
+2007-05-11 David Turner <david@freetype.org>
+
+ * src/cache/ftbasic.c, include/freetype/ftcache.h
+ (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
+ functions that allow us to look up glyphs using an FTC_Scaler object
+ to specify the size, making it possible to use fractional pixel
+ sizes.
+
+ * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
+ `size->cvt_ready'. Reported by Boris Letocha.
+
+2007-05-09 Graham Asher <graham.asher@btinternet.com>
+
+ * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
+ (af_latin_metrics_scale_dim): Fix compiler warnings.
+
+2007-05-06 Werner Lemberg <wl@gnu.org>
+
+ * builds/win32/visualce/freetype.sln: Removed, as requested by
+ Vincent.
+
+2007-05-04 Vincent RICHOMME <richom.v@free.fr>
+
+ * builds/win32/visualce/*: Add Visual C++ project files for Pocket
+ PC targets.
+
+ * docs/CHANGES: Document them.
+
+2007-05-04 <harry@kdevelop.org>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
+ mmap (which might happen on some RTOS). From Savannah patch #5909.
+
+2007-05-03 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
+ * include/freetype/freetype.h (FT_Set_Char_Size): Update
+ documentation.
+
+2007-04-28 Victor Stinner <victor.stinner@inl.fr>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
+ `cmap'.
+
+2007-04-27 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
+ number of points in contours. Problem reported by Victor Stinner
+ <victor.stinner@haypocalc.com>.
+ (TT_Process_Simple_Glyph): Synchronize variable types.
+
+2007-04-26 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
+ zero in case of error. This fixes Savannah bug #19689.
+
+2007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
+
+ * src/truetype/ttobjs.c: Fix a typo that created a speed regression
+ in the TrueType bytecode loader.
+
+2007-04-10 Martin Horak <horakm@centrum.cz>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Ignore `hhea' table. This fixes Savannah bug #19261.
+
+2007-04-09 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.3.4 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-4'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.4.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+ * builds/unix/configure.raw (version_info): Set to 9:15:3.
+
+2007-04-09 Martin Horak <horakm@centrum.cz>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
+ memory stream to avoid a crash with the incremental memory
+ interface (Savannah bug #19260).
+
+2007-04-06 David Turner <david@freetype.org>
+
+ * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
+ (Savannah bug #19536).
+
+2007-04-04 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.3.3 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-3'.
+
+ * docs/CHANGES: Mention CVE-2007-1351.
+
+2007-04-03 David Turner <david@freetype.org>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
+ if one of the resolution values is 0, treat it as if it were the
+ same as the other value.
+
+2007-04-02 David Turner <david@freetype.org>
+
+ Add special code to detect `extra-light' fonts and do not snap their
+ stem widths too much to avoid bizarre hinting effects.
+
+ * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
+ `extra_light' members.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
+ them.
+ (af_latin_metrics_scale_dim): Set `extra_light'.
+ (af_latin_compute_stem_width): Use `extra_light'.
+
+2007-03-28 David Turner <david@freetype.org>
+
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
+ padding.
+
+2007-03-28 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
+ gracefully.
+ (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
+ issue an error for longer names. This fixes CVE-2007-1351.
+ (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
+ number of code points in Unicode.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
+ s/232/233/.
+
+ * docs/CHANGES: Mention ftdiff.
+
+2007-03-26 David Turner <david@freetype.org>
+
+ * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
+ corresponding code.
+ (Ins_MD): Last regression fix.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
+ computations in order to ignore single-point contours. These are
+ never rasterized and correspond in certain fonts to mark-attach
+ points that are very far from the glyph's real outline, ruining the
+ computation.
+
+ * src/autofit/afloader.c (af_loader_load_g): In the case of
+ monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
+ Otherwise code that uses them will most certainly ruin the fixed
+ advance property.
+
+ * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
+ documentation and bump version number to 2.3.3.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+ * builds/unix/configure.raw (version_info): Set to 9:14:3.
+
+2007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/ftconfig.in: Disable Carbon framework dependency on
+ 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
+ * builds/vms/ftconfig.h: Ditto.
+ * include/freetype/config/ftconfig.h: Ditto.
+
+2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
+ 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
+ proposed by Sean McBride:
+ http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+
+2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
+ setjmp, proposed by Sean McBride:
+ http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+
+2007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
+ conftest.c, to avoid unexpected shell evaluation. Possibly it is a
+ bug or undocumented behaviour of autoconf.
+
+2007-03-18 David Turner <david@freetype.org>
+
+ * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
+ fix; testing still needed.
+
+ * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
+
+2007-03-17 David Turner <david@freetype.org>
+
+ * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
+ (undocumented) twilight zone special case.
+
+2007-03-09 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.3.2 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-2'.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
+ s/231/232/.
+
+2007-03-08 David Turner <david@freetype.org>
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
+
+ * builds/unix/configure.raw (version_info): Set to 9:13:3.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+ * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
+
+ * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
+ function to work properly, over-writing user-provided buffers in
+ some cases. Reported by James Cloos <cloos@jhcloos.com>.
+
+
+2007-03-05 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
+ macro for `strstr'.
+
+ * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
+ `trick_names', as suggested by Ivan Nincic.
+
+2007-03-05 David Turner <david@freetype.org>
+
+ * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
+ case FT_Init_FreeType fails for some reason. Problem reported by
+ Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
+
+ * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
+ and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
+ `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
+ <daniel-gl@gmx.net>.
+
+ * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
+ signed values, not unsigned ones. Problem reported by Johannes
+ Walther <joh_walt@yahoo.de>.
+
+2007-02-21 David Turner <david@freetype.org>
+
+ * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
+ of small and ghost stems in the Postscript interpreter.
+
+2007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
+ leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
+ * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
+
+2007-02-16 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
+ * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
+
+2007-02-14 David Turner <david@freetype.org>
+
+ It seems that the following changes fix most of the known
+ interpreter problems with my fonts, but more testing is needed,
+ though.
+
+ * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
+ (TT_MulFix14): Rewrite.
+ (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
+ (Ins_MIRP): Ditto.
+
+2007-02-12 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
+ warnings.
+
+ * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
+ (bdf_interpret_style): Ditto.
+
+2007-02-12 David Turner <david@freetype.org>
+
+ Simplify projection and dual-projection code interface.
+
+ * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
+ FT_Vector' as argument type.
+ * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
+ Updated.
+ (CUR_fast_project, CUR_fast_dualproj): New macros.
+ (Project, Dual_Project, Project_x, Project_y): Updated.
+ (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
+ macros.
+
+
+ * src/autofit/afloader.c (af_loader_load_g): Improve spacing
+ adjustments for the non-light auto-hinted modes. Gets rid of
+ `inter-letter spacing is too wide' problems.
+
+ * src/autofit/aflatin.c (af_latin_hints_link_segments,
+ af_latin_hints_compute_edges): Slight optimization of the segment
+ linker and better handling of serif segments to get rid of broken
+ `9' in Arial at 9pt (96dpi).
+
+
+ Introduce new string functions and the corresponding macros to get
+ rid of various uses of strcpy and other `evil' functions, as well as
+ to simplify a few things.
+
+ * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
+ ft_mem_strcpyn): New declarations.
+ (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
+ macros.
+ * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
+ functions.
+
+ * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
+ src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
+ (pcf_get_properties, pcf_interpret_style, pcf_load_font),
+ src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
+ (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
+ src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
+ (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
+ t42_get_name_index): Use new functions and simplify code.
+
+ * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
+
+2007-02-11 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/afloader.c (af_loader_load_g): Don't change width for
+ non-spacing glyphs.
+
+2007-02-07 Tom Parker <palfrey@tevp.net>
+
+ * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
+ pointer.
+
+2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
+ Introduce __attribute((deprecated))__ to warn functions
+ which use non-ANSI data types in its interfaces.
+ (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
+ (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
+ (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
+ (FT_New_Face_From_FSRef): Deprecated, using FSRef.
+
+ * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
+ to avoid warning in building FreeType.
+ * builds/mac/ftmac.c: Ditto.
+
+2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
+ `--with-fsspec' etc. Replace #include "ftmac.c" with
+ #include <ftmac.c>.
+
+2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
+ Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
+ * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
+ (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
+ FT_GetFilePath_From_Mac_ATS_Name.
+ * builds/mac/ftmac.c: Ditto.
+
+2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
+ FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
+ for passing to FT_New_Face_From_FSSpec.
+
+2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Check whether Mac OS X system headers
+ can be built under ANSI C mode.
+
+ * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
+ compatible to ANSI C in case system headers are ANSI C incompatible.
+ * builds/mac/ftmac.c (OS_INLINE): Ditto.
+
+2007-02-01 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
+ Explain why applications shouldn't use it. Found by Alexei.
+
+2007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
+ message.
+
+ * src/gxvalid/gxvmort1.c
+ (gxv_mort_subtable_type1_substTable_validate): Fix debugging
+ message.
+
+2007-01-31 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.3.1 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-1-FINAL'.
+
+ * builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/230/231/.
+ * builds/win32/visualc/index.html: s/221/231/.
+
+ * vms_make.com: Add `ftgasp'.
+
+2007-01-30 David Turner <david@freetype.org>
+
+ Tag sources with VER-2-3-1 to prepare release.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+ * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
+ s/2.3.0/2.3.1/.
+
+ * builds/unix/configure.raw (version_info): Set to 9:12:3.
+
+
+ * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
+ (af_loader_load_g): Disable the warper (i.e., the light hinting
+ improvements) to make a 2.3.1 bugfix release before introducing a
+ new feature. This should give us more time to tune and improve the
+ warper for the next release.
+
+ * docs/CHANGES: Update accordingly.
+
+2007-01-25 David Turner <david@freetype.org>
+
+ For light auto-hinting, improve glyph advance widths and resurrect
+ normal/full hinting to its normal quality.
+
+ * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
+ and `xmax_delta'.
+ * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
+ and `xmax_delta'.
+
+ * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
+ preprocessor conditional with if-clause, handling both light and
+ normal mode.
+
+ * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
+ (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
+
+2007-01-25 Werner Lemberg <wl@gnu.org>
+
+ * docs/release: Updated -- Savannah uses a new uploading scheme.
+
+2007-01-25 David Turner <david@freetype.org>
+
+ * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
+ functions.
+
+ * docs/CHANGES: Document light auto-hinting improvement.
+
+2007-01-25 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
+ correctly in a sanity check. Since this function is only used to
+ load local and global functions, any charstring that called the last
+ local/global function would fail otherwise. This fixes Savannah bug
+ #18867.
+
+ * docs/CHANGES: Document it.
+
+2007-01-23 David Turner <david@freetype.org>
+
+ * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
+ prevented compilation when disabling both the unpatented and the
+ bytecode interpreter in the TrueType font driver.
+
+
+ Fix and enable the warper to improve `light' hinting mode. This is
+ not necessarily a final version, but it seems to work well.
+
+ * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
+ Disable code.
+ (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
+ * src/autofit/aftypes.h: Activate AF_USE_WARPER.
+
+ * src/autofit/afwarp.c (AF_WarpScore): Tune table.
+ (af_warper_compute_line_best): Fix array size of `scores'.
+ (af_warper_compute): Better handling of border cases.
+ * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
+ and `X2'.
+
+2007-01-21 Werner Lemberg <wl@gnu.org>
+
+ * ChangeLog: Split off older entries into...
+ * ChangeLog.22: This new file.
+
+2007-01-21 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Document SHZ fix.
+
+2007-01-21 George Williams <gww@silcom.com>
+
+ * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
+ points.
+
+2007-01-21 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttmtx.c (tt_face_get_metrics)
+ [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
+
+2007-01-17 Werner Lemberg <wl@gnu.org>
+
+
+ * Version 2.3.0 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-0-FINAL'.
+
+2007-01-17 Werner Lemberg <wl@gnu.org>
+
+ * docs/release: Updated.
+
+2007-01-16 David Turner <david@freetype.org>
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_segments),
+ src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
+ (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
+ warnings.
+
+2007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * builds/amiga/makefile, builds/amiga/makefile.os4,
+ builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
+
+ * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
+
+2007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ Fix various compiler warnings.
+
+ * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
+ src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
+ s/index/strike_index/.
+ * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
+
+ * src/gxvalid/gxvmorx5.c
+ (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
+
+ * src/truetype/ttinterp.c (Compute_Point_Displacement),
+ src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
+ uninitialized variables.
+
+2007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * docs/CHANGES, docs/INSTALL.MAC: Improvements.
+
+2007-01-13 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
+ versions up to 0x3FF without complaining.
+
+2007-01-13 Derek Clegg <dclegg@apple.com>
+
+ Add FT_Get_PS_Font_Info interface to CFF driver.
+
+ * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
+ (CFF_FontRec): Add `font_info' field.
+
+ * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
+ (cff_font_done): Free font->font_info if necessary.
+
+ * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
+ (cff_service_ps_info): Register cff_ps_get_font_info.
+
+2007-01-13 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
+ with C++ compiler.
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_segments,
+ af_glyph_hints_dump_edges): Ditto.
+
+ * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
+ `modules.cfg').
+
+ * src/sfnt/ttsbit0.h: Remove.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
+
+2007-01-12 David Turner <david@freetype.org>
+
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
+ bug in the bitmap emboldener if the pitch of the source bitmap is
+ much larger than its width.
+
+ * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
+ compilation warning.
+
+2007-01-12 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `automake' CVS module from sources.redhat.com.
+
+2007-01-11 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (is_space): Removed.
+ (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
+ (parse_charstrings): Use IS_PS_TOKEN.
+
+
+ * autogen.sh: Avoid bash specific syntax.
+
+2007-01-11 David Turner <david@freetype.org>
+
+ * docs/CHANGES: Small update.
+
+ * builds/unix/configure.raw (version_info): Set to 9:11:3.
+
+ * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
+ crash with some Mac OS X .dfont files. Submitted by Masatake
+ Yamato.
+
+ * autogen.sh: Small fix to get it working on Mac OS X properly:
+ The issue is that GNU libtool is called `glibtool' on this platform,
+ and we must call `glibtoolize', since `libtoolize' doesn't exist.
+
+2007-01-10 David Turner <david@freetype.org>
+
+ * all-sources: Tag all sources with VER-2-3-0-RC1 and
+ VER-2-3-0.
+
+ * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
+ version number to 2.3.0.
+
+ * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
+ (FREETYPE_PATCH): Set to 0.
+
+ * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
+ include/freetype/ftlcdfil.h: Update reference documentation with
+ GASP support and LCD filtering sections.
+
+ * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
+ which created an endless loop with some malformed font files.
+
+2007-01-10 Derek Clegg <dclegg@apple.com>
+
+ * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
+ values.
+
+2007-01-08 David Turner <david@freetype.org>
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
+ a new API `FT_Get_Gasp' to return entries of the `gasp' table
+ corresponding to a given character pixel size.
+
+ * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
+ `gasp' table, in order to avoid potential problems with later
+ versions.
+
+ * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
+ <freetype/ftgasp.h>.
+
+ * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
+ modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
+ default build.
+
+2007-01-07 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidparse.c (cid_parser_new): Improve error message for
+ Type 11 fonts.
+ Scan for `/sfnts' token.
+
+2007-01-07 Werner Lemberg <wl@gnu.org>
+
+ * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
+
+2007-01-06 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_index_init): Remove unused variable.
+ (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
+
+2007-01-04 David Turner <david@freetype.org>
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
+ correctly. This fixes Savannah bug #17876.
+
+
+ Do not allocate interpreter-specific tables in memory if we are not
+ going to load glyphs with the bytecode interpreter anyway.
+
+ * src/truetype/ttgload.c (tt_loader_init): Load execution context
+ only if glyph is hinted.
+ Updated.
+ * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
+ and `cvs_ready'.
+ Add `tt_size_ready_bytecode' declaration.
+ * src/truetype/ttobjs.c (tt_size_done_bytecode,
+ tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
+ (tt_size_init): Move most code into `tt_size_init_bytecode'.
+ (tt_size_done): Move most code into `tt_size_done_bytecode'.
+ (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
+
+
+ Don't extract the metrics table from the SFNT font file. Instead,
+ reparse it on each glyph load. The runtime difference is not
+ noticeable, and it can save a lot of heap memory when memory-mapped
+ files are not used.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
+ `horz_metrics_offset' and `vert_metrics_ofset'.
+ * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
+ Updated.
+
+
+ * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
+
+
+ Do not load the CFF index offsets into memory, since this wastes a
+ *lot* of heap memory with large Asian CFF fonts. There is no
+ significant performance loss.
+
+ * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
+ * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
+ `data_size'.
+ (CFF_CharsetRec): Add field `num_glyphs'.
+
+ * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
+ cff_charset_cid_to_gindex): New functions.
+ (cff_new_index): Renamed to...
+ (cff_index_init): This. Update all callers.
+ Updated -- some code has been moved to `cff_index_load_offsets'.
+ (cff_done_index): Renamed to...
+ (cff_index_done): This. Update all callers.
+ (cff_index_get_pointers, cff_index_access_element): Updated to use
+ stream offsets.
+ (cff_charset_compute_cids): Set `num_glyphs' field.
+ (cff_encoding_load): Updated.
+
+ * src/cff/cffgload.c (cff_slot_load): Updated.
+
+2007-01-04 David Turner <david@freetype.org>
+
+ * docs/INSTALL.UNIX: Simplify some parts, add reference to
+ autogen.sh and pointer to README.CVS.
+
+ * README.CVS: Add common problem description and solution
+ when running autogen.sh.
+
+ * docs/INSTALL: Add reference to MacOS X.
+
+ * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
+
+ * docs/TODO: Remove obsolete items.
+
+ * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
+ (TWorker): This.
+ Remove `count_table' and `memory'.
+ Make `grays' a pointer.
+ (TRaster): New structure.
+ (count_table): New static array.
+ (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
+ Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
+ ft_black_set_mode, ft_black_render): Updated.
+ (ft_black_init): Don't initialize `count_table'.
+ (ft_black_reset): Use the render pool. This saves about 6KB of
+ heap space for each FT_Library instance.
+
+ * src/smooth/ftgrays.c (TRaster): Replaced with...
+ (TWorker): This.
+ Remove `memory'.
+ (TRaster): New structure.
+
+ (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
+ gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
+ gray_render_span, gray_raster_render): Updated.
+ (gray_raster_reset): Use the render pool. This saves about 6KB of
+ heap space for each FT_Library instance.
+
+ * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
+ src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
+ src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
+ FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
+ the optimization is no longer experimental.
+
+ * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
+ Remove a typo that results in no hinting and a memory leak with some
+ large Asian CFF fonts.
+
+ * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
+ which happens when FT_Done_Library is called with still opened
+ CFF_Faces in it. We need to close all faces before destroying the
+ modules, or else some bad things (memory leaks) may happen.
+
+2007-01-02 Werner Lemberg <wl@gnu.org>
+
+ * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
+ Remove compiler warning.
+
+2007-01-02 David Turner <david@freetype.org>
+
+ * src/sfnt/sfobjs.c: Add documentation comment.
+
+2006-12-31 Masatake YAMATO <jet@gyve.org>
+
+ * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
+ function.
+ Check uniqueness of the gid pairs.
+ (gxv_kern_subtable_fmt0_validate): Move some code to
+ `gxv_kern_subtable_fmt0_pairs_validate'.
+
+2006-12-22 David Turner <david@freetype.org>
+
+ * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
+ warnings.
+
+ * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
+ to avoid deprecation warnings with Visual C++ 8.
+
+2006-12-16 Anders Kaseorg <anders@kaseorg.com>
+
+ * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
+ [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
+
+2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/internal/services/svotval.h: Add `volatile' to
+ sync with the modification by Jens Claudius on 2006-08-22; cf.
+ http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
+
+2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c: Specialized for Mac OS X only.
+ * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
+ * builds/unix/configure.raw: Ditto. When explicit switches for
+ FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
+ builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
+
+2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
+ * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
+ instead of src/base/ftmac.c
+ * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+ * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+ * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
+ that cannot be built at present.
+
+2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c: Improvement of resource fork handler for
+ POSIX, cf.
+ http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
+ (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
+ format or .dfont, to simulate the face index number counted by ftmac.c.
+ (IsMacResource): Return the number of scalable faces correctly.
+
+2006-12-10 Werner Lemberg <wl@gnu.org>
+
+ * builds/toplevel.mk (version): Protect against `distclean' target.
+
+2006-12-09 Werner Lemberg <wl@gnu.org>
+
+ * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
+ or `type'.
+
+ * builds/freetype.mk (version): Extracted from freetype.h, using
+ GNU make's built-in string functions.
+ (refdoc): Use $(version) instead of static version number.
+
+2006-12-08 Werner Lemberg <wl@gnu.org>
+
+ * builds/toplevel.mk (dist): Extract version number from freetype.h.
+
+2006-12-08 Vladimir Volovich <vvv@vsu.ru>
+
+ * src/tools/apinames (State): Remove final comma in structure -- xlc
+ v5 under AIX 4.3 doesn't like this.
+
+2006-12-07 David Turner <david@freetype.org>
+
+ * src/autofit/afloader.c (af_loader_load_g): Small adjustment
+ to the spacing of auto-fitted glyphs. This only impacts rare
+ cases (e.g., Arial Bold at rather small character sizes).
+
+2006-12-03 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+
+2006-12-01 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
+ encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
+ (tt_name_entry_ascii_from_ucs4): Removed.
+
+
+ * include/freetype/ftxf86.h: Fix and extend comment so that it
+ appears in the documentation.
+
+ * include/freetype/ftchapters.h: Add `font_format' section.
+
+
+ * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
+ to TOC in index page.
+
+2006-11-28 David Turner <david@freetype.org>
+
+ * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
+ trying to render into a zero-width/height bitmap, not an error code.
+
+ * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
+
+ * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
+ ones instead.
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
+ variable.
+
+2006-11-26 Pierre Hanser <hanser@club-internet.fr>
+
+ * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
+
+2006-11-25 David Turner <david@freetype.org>
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_points,
+ af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
+ Add stubs to link the `ftgrid' test program when debugging is
+ disabled in the auto-hinter.
+
+2006-11-23 David Turner <david@freetype.org>
+
+ * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
+ src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
+ Emit more sensible information.
+
+ * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
+
+ * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
+ rounding of blue values.
+ (af_latin_hints_compute_segments): Hint segment heights.
+ (af_latin_hints_link_segments): Reduce `len_score' value.
+ (af_latin_hints_compute_edges): Increase `segment_length_threshold'
+ value and use `height' member for comparisons.
+ (af_latin_hint_edges): Extend logging message.
+ Improve handling of remaining edges.
+
+2006-11-22 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #15553.
+
+ * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
+ program after a change from mono to grayscaling (and vice versa).
+ Use correct constant for comparison to get `exec->grayscale'.
+
+2006-11-18 Werner Lemberg <wl@gnu.org>
+
+ Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
+ test for a valid glyph index must be deferred to the font drivers.
+ This patch fixes Savannah bug #18301.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
+ (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
+ src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
+ (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
+ src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
+ (FNT_Load_Glyph): Check validity of `glyph_index'.
+
+2006-11-13 David Turner <david@freetype.org>
+
+ * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
+ `enhancements' are still too buggy for general use.
+
+ * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
+ FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
+ when building the library to change the default LCD filter to be
+ used. This is only useful for experimentation.
+
+ * include/freetype/ftlcdfil.h: Update documentation.
+
+2006-11-10 David Turner <david@freetype.org>
+
+ * src/smooth/ftsmooth.c: API change for the LCD
+ filter. The FT_LcdFilter value is an enumeration describing which
+ filter to apply, with new values FT_LCD_FILTER_LIGHT and
+ FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
+ algorithm which produces strong color fringes for everything
+ except very-well hinted text).
+
+ * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
+ second parameter to an enum type.
+
+ * src/base/ftlcdfil.c (USE_LEGACY): Define.
+ (_ft_lcd_filter): Rename to...
+ (_ft_lcd_filter_fir): This.
+ Update parameters.
+ (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
+ (FT_Library_Set_LcdFilter): Update parameters.
+ Handle new filter modes.
+
+ * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
+ (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
+ (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
+ callback and update other fields.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic)
+ [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
+ Other minor improvements.
+
+ * src/autofit/aflatin.c: Various tiny improvements that drastically
+ improve the handling of serif fonts and of LCD/LCD_V hinting modes.
+ (af_latin_hints_compute_edges): Fix typo.
+ (af_latin_compute_stem_width): Take better care of diagonal stems.
+
+2006-11-09 David Turner <david@freetype.org>
+
+ * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
+ typo which created a variable-used-before-initialized bug.
+
+2006-11-07 Zhe Su <james.su@gmail.com>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
+ also.
+
+2006-11-03 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
+
+2006-11-02 David Turner <david@freetype.org>
+
+ Add a few tweaks to better handle serif fonts.
+ Add more debugging messages.
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
+ segments that are less than 1.5 pixels high. This gets rid of
+ *many* corner cases with serifs.
+ (af_latin_align_linked_edge): Add logging message.
+ (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
+ Add logging messages.
+ Handle AF_EDGE_FLAG flag specially.
+
+ * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
+ _af_debug_disable_blue_hints, and _af_debug_hints variables.
+
+ * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
+ Update external declarations.
+ (af_corner_orientation, af_corner_is_flat): Replaced by...
+
+ * include/freetype/internal/ftcalc.h (ft_corner_orientation,
+ ft_corner_is_flat): These declarations.
+
+ * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
+ Comment out. Replaced by...
+
+ * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
+ These functions. Update all callers.
+ (FT_Add64) [!FT_LONG64]: Simplify.
+
+ * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
+ (af_direction_compute): Add a missing FT_ABS call. This bug caused
+ production of garbage by missing lots of segments.
+
+ * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
+
+ * src/autofit/afloader.c (af_loader_init, af_loader_done)
+ [AF_DEBUG]: Set _af_debug_hints.
+
+
+ * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
+ (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
+ and ft_corner_orientation.
+
+
+ * src/gzip/inftrees.c (huft_build): Remove compiler warning.
+
+2006-10-24 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
+
+ * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
+ as argument.
+
+2006-10-23 Zhe Su <zsu@novell.com>
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
+ better deal with broken Asian fonts with strange glyphs, having
+ self-intersections and other peculiarities. The used algorithm is
+ based on the nonzero winding rule.
+
+2006-10-23 David Turner <david@freetype.org>
+
+ Speed up the CFF font loader. With some large CFF fonts,
+ FT_Open_Face is now more than three times faster.
+
+ * src/cff/cffload.c (cff_get_offset): Removed.
+ (cff_new_index): Inline functionality of `cff_get_offset'.
+ (cff_charset_compute_cids, cff_charset_free_cids): New functions.
+ (cff_charset_done): Call `cff_charset_free_cids'.
+ (cff_charset_load): Call `cff_charset_compute_cids'.
+ (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
+
+ * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
+ with FT_NEXT_XXX.
+
+
+ Speed up the Postscript hinter, with more than 100% speed increase
+ on my machine.
+
+ * src/pshinter/pshalgo.c (psh_corner_is_flat,
+ psh_corner_orientation): New functions.
+ (psh_glyph_compute_inflections): Merge loops for efficiency.
+ Use `psh_corner_orientation'.
+ (psh_glyph_init): Use `psh_corner_is_flat'.
+ (psh_hint_table_find_strong_point): Renamed to...
+ (psh_hint_table_find_strong_points): This.
+ Rewrite, adding argument to handle all points at once.
+ Update all callers.
+ (PSH_MAX_STRONG_INTERNAL): New macro.
+ (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
+
+2006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
+ `error' with FT_Err_Ok.
+
+2006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * docs/INSTALL.CROSS: New document file for cross-building.
+
+ * builds/unix/configure.raw: Preliminary cross-building support.
+ Find native C compiler and pass it by CC_BUILD, and
+ find suffix for native executable and pass it by EXEEXT_BUILD.
+ Also suffix for target executable is passed by EXEEXT.
+
+ * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
+ build `apinames' which runs on building system. They are set by
+ CC_BUILD and EXEEXT_BUILD.
+
+ * builds/exports.mk (APINAMES_EXE): Change the extension for
+ apinames from the suffix for target (E) to that for building host
+ (E_BUILD).
+
+2006-10-12 Werner Lemberg <wl@gnu.org>
+
+ * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
+ * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
+ which reference those files.
+
+2006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
+ embedded in freetype2.pc and freetype-config. Use it to record
+ Carbon dependency of MacOSX.
+
+ * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
+
+ * builds/unix/freetype-config.in: Ditto.
+
+2006-10-11 Werner Lemberg <wl@gnu.org>
+
+ * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
+ development.
+
+2006-10-03 Jens Claudius <jens.claudius@yahoo.com>
+
+ * include/freetype/config/ftstdlib.h: Cast away volatileness from
+ argument to ft_setjmp.
+
+ * include/freetype/internal/ftvalid.h: Add comment that
+ ft_validator_run must not be used.
+
+2006-10-01 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbase.c: Undo change from 2006-09-30.
+
+ * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
+
+2006-09-30 David Turner <david@freetype.org>
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+ s/unpatented_hinting/ignore_unpatented_hinter/.
+ Update all callers.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
+ auto-hinting shall be used or not.
+
+ * src/truetype/ttobjs.c (tt_face_init): Ditto.
+
+2006-09-30 Werner Lemberg <wl@gnu.org>
+
+ * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
+ in use).
+
+ * src/base/ftbase.c: Include `ftlcdfil.c'.
+
+2006-09-29 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
+ overlapping segments. Bug reported by Stefan Koch.
+
+2006-09-28 David Turner <david@freetype.org>
+
+ Fix a bug in the automatic unpatented hinting support which prevents
+ normal bytecode hinting to work properly.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+ s/force_autohint/unpatented_hinting/. Update all callers.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
+
+ * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
+
+2006-09-27 David Turner <david@freetype.org>
+
+ * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
+
+
+ Add a new API to support color filtering of subpixel glyph bitmaps.
+ In a default build, the function `FT_Library_SetLcdFilter' returns
+ `FT_Err_Unimplemented_Feature'; you need to #define
+ FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
+ real implementation.
+
+ * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
+
+ * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
+ typedef.
+ (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
+ `lcd_filter_weights' and `lcd_filter'.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
+ `hmul' and `vmul'.
+
+ Handle subpixel rendering.
+ Simplify function.
+ (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
+ (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
+
+ * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
+ pointing to <freetype/ftlcdfil.h>.
+
+ * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
+ vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
+
+ * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
+
+2006-09-26 David Bustin
+
+ * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
+ correctly. Reported as Savannah bug #17843.
+
+2006-09-26 David Turner <david@freetype.org>
+
+ * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
+ AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
+ horizontal and vertical hinting for the purpose of debugging the
+ auto-fitter.
+
+ * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
+ _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
+
+ * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
+ we want to compile LCD-optimized rendering code (à la ClearType) or
+ not. The macro *must* be disabled in default builds of the library
+ for patent reasons.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
+ LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+ isn't defined at compile time. This only changes the content of the
+ rendered glyph to match the one of normal gray-level rendering,
+ hence clients should not need to be modified.
+
+ * docs/CHANGES: Updated.
+
+2006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
+
+ * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
+ LWFN fails and both are available.
+
+2006-09-11 David Turner <david@freetype.org>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
+ report their English names through an Apple Roman
+ (platform,encoding) pair, with language_id != English.
+
+ If the font uses another name entry with language_id == English, it
+ will be selected correctly, though.
+
+ * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
+ selection for `mingli.ttf'.
+
+2006-09-05 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
+ values which have the upper two bytes set to 0xFF instead of 0x00
+ (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
+ `HAN NOM B.ttf').
+
+ * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
+
+2006-09-05 David Turner <david@freetype.org>
+
+ Minor source cleanups and optimizations.
+
+ * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
+ (TRaster): Remove `count_ex' and `count_ey'.
+ (gray_find_cell): Remove 2nd and 3rd argument.
+ (gray_alloc_cell): Merged with `gray_find_cell'.
+ (gray_record_cell): Simplify.
+ (gray_set_cell): Rewrite.
+ (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
+ (gray_render_span): Don't use FT_MEM_SET for small values.
+ (gray_dump_cells) [DEBUG_GRAYS]: New function.
+ (gray_sweep): Avoid buffer overwrites when to drawing the end of a
+ bitmap scanline.
+ (gray_convert_glyph): Fix speed-up.
+
+2006-09-04 David Turner <david@freetype.org>
+
+ * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
+ 64bit processors.
+
+2006-09-03 Werner Lemberg <wl@gnu.org>
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+ * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
+ variable declaration.
+ (gray_convert_glyph): Fix compiler warnings.
+
+2006-09-01 David Turner <david@freetype.org>
+
+ * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
+ to recognize a few fonts that require the automatic unpatented
+ loader.
+
+ * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
+ rasterizer. The speed improvement is between 15% and 25%, depending
+ on the font data.
+
+ (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
+ (TCell): Redefine.
+ (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
+ (gray_init_cells): Updated.
+ (gray_find_cell, gray_alloc_cell): New functions.
+ (gray_record_cell): Rewritten to use `gray_find_cell' and
+ `gray_alloc_cell'.
+ (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
+ QSORT_THRESHOLD):
+ Removed.
+ (gray_shell_sort, gray_quick_sort, gray_check_sort,
+ gray_dump_cells): Removed.
+ (gray_sweep): Rewritten.
+ (gray_convert_glyph): Rewrite code which used one of the sorting
+ functions.
+ (gray_raster_render): Updated.
+
+2006-08-29 Dr. Werner Fink <werner@suse.de>
+
+ * configure: Make it possible to handle configure options which
+ have strings containing spaces.
+
+2006-08-27 David Turner <david@freetype.org>
+
+ * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
+ New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
+
+ * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
+ src/truetype/truetype.c, src/truetype/ttdriver.c,
+ src/truetype/ttgload.c, src/truetype/ttgload.h,
+ src/truetype/ttinterp.c, src/truetype/ttobjs.c,
+ src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
+ s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+ member `force_autohint'.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
+
+ * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
+ against a list of font names which need the bytecode interpreter.
+
+2006-08-27 Jens Claudius <jens.claudius@yahoo.com>
+
+ Fix miscellaneous compiler warnings.
+
+ * include/freetype/internal/ftobjs.h: Close comment with `*/' to
+ avoid `/* in comment' compiler warning.
+
+ * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
+ `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
+ 64-bit platforms void* is larger than FT_UInt32.
+
+ * src/base/ftobjs.c (t_validator_error): Cast away
+ volatileness of argument to ft_longjmp. Spotted by Werner
+ `Putzfrau' Lemberg.
+
+ * src/bdf/bdflib.c (bdf_load_font): Initialize local
+ variable `lineno'.
+
+ * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
+ `error' as volatile.
+
+2006-08-27 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
+ Reported by Jens.
+
+2006-08-22 Jens Claudius <jens.claudius@yahoo.com>
+
+ Fix for previous commit, which caused many compiler warnings/errors
+ about addresses of volatile objects passed as function arguments as
+ non-volatile pointers.
+
+ * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
+ pointer to a volatile object.
+
+ * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
+ `table' a pointer to a volatile object.
+
+ * src/otvalid/otvmod.c (otv_load_table): Make function argument
+ `table' a pointer to a volatile object.
+
+2006-08-18 Jens Claudius <jens.claudius@yahoo.com>
+
+ * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
+ as volatile since it must keep its value across a call to ft_setjmp.
+ (gxv_validate): Same for local variables `memory' and `valid'.
+ (classic_kern_validate): Same for local variables `memory',
+ `ckern', and `valid'.
+
+ * src/otvalid/otvmod.c (otv_validate): Same for function parameter
+ `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
+ and 'valid'.
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
+ `cmap'.
+
+2006-08-16 David Turner <david@freetype.org>
+
+ * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
+ warnings.
+
+ * src/base/ftobjs.c (ft_validator_run): Disable function; it is
+ buggy by design. Always return -1.
+
+
+ Improvements to native TrueType hinting. This is a first try,
+ controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
+
+ * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
+ `extra_points2'.
+
+ * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
+ `orus'.
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
+ FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
+ FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
+ handle `extra_points2'.
+
+ * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
+ Remove compiler warning.
+ (cur_to_arg): Remove macro.
+ (TT_Hint_Glyph): Updated.
+ (TT_Process_Simple_Glyph): Handle `orus'.
+
+ * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
+ (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
+ (LOC_Ins_IUP): Renamed to...
+ (IUP_WorkerRec): This.
+ Add `orus' member.
+ (Shift): Renamed to...
+ (_iup_worker_shift): This.
+ Updated.
+ (Interp): Renamed to...
+ (_iup_worker_interpolate): This.
+ Updated to handle `orus'.
+ (Ins_IUP): Updated.
+
+ * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
+ Handle `orus'.
+
+2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
+ build ftvalid in ft2demos. This has been inadvertedly changed
+ 2006-08-13.
+
+2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
+ Jens:
+ http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
+
+ * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
+ It reverts the change introduced on 2005-08-20.
+
+ * src/gxvalid/gxvmod.c: Ditto.
+
+2006-08-13 Jens Claudius <jens.claudius@yahoo.com>
+
+ * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
+ T1_TOKEN_TYPE_KEY.
+ (T1_FieldRec): Add `dict'.
+ (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
+ (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
+ keyword is expected as an additional argument.
+
+ * src/cid/cidload.c: (cid_field_records): Adjust invocations of
+ T1_FIELD_XXX.
+
+ * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
+
+ * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
+ (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
+ not T1_TOKEN_TYPE_ANY.
+ (ps_parser_load_field): Make sure a token that should be a string or
+ name is really a string or name.
+ Avoid memory leak if a keyword has been already encountered and its
+ value is overwritten.
+ * src/type1/t1load.c: (t1_keywords): Adjust invocations of
+ T1_FIELD_XXX.
+ (parse_dict): Ignore keywords that occur in the wrong dictionary
+ (e.g., in `Private' instead of `FontDict').
+
+ * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
+
+ * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
+ T1_FIELD_XXX.
+
+2006-07-18 Jens Claudius <jens.claudius@yahoo.com>
+
+ Move creation of field `buildchar' of T1_DecoderRec out of
+ `t1_decoder_init' and let the caller of `t1_decoder_init' take care
+ of it.
+
+ Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
+ and `T1_Compute_Max_Advance'.
+
+ * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
+ `face', add `len_buildchar'.
+
+ * include/freetype/internal/t1types.h (T1_FaceRec): Add field
+ `buildchar'.
+
+ * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
+ for T1_Decoder.
+ (cid_slot_load_glyph): Do not ignore failure when initializing the
+ T1_Decoder.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
+ (t1_decoder_init): Remove initialization of fields `buildchar' and
+ `len_buildchar'.
+ (t1_decoder_done): Remove deallocation of field `buildchar'.
+
+ * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
+ T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
+ T1_Decoder.
+ (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
+ `len_buildchar'; make sure to call finisher for T1_Decoder even in
+ case of error.
+
+ * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
+ of T1_FaceRec.
+
+ * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
+ T1_FaceRec.
+
+2006-07-14 Jens Claudius <jens.claudius@yahoo.com>
+
+ * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
+ IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
+ and IS_PS_BASE85 (from src/psaux/psconv.h).
+ (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
+ T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
+ (T1_DecoderRec): New fields `buildchar' and `face'.
+ (IS_PS_TOKEN): New macro.
+
+ * include/freetype/internal/t1types.h (T1_FaceRec): New fields
+ `ndv_idx', `cdv_idx', and `len_buildchar'.
+
+ * include/freetype/t1tables.h (PS_BlendRec): New fields
+ `default_design_vector' and `num_default_design_vector'.
+
+ * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
+ IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
+ IS_PS_BASE85 to include/freetype/internal/psaux.h.
+
+ * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
+ argument to be NULL if we want only to count the number of tokens.
+ (ps_tocoordarray): Allow `coords' argument to be NULL if we just
+ want to skip the array.
+ (ps_tofixedarray): Allow `values' argument to be NULL if we just
+ want to skip the array.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
+ for (partially commented out) othersubrs 19-25, 27, and 28.
+ (t1_decoder_init): Initialize new fields `face' and `buildchar'.
+ (t1_decoder_done): Release new field `buildchar'.
+
+ * src/type1/t1load.c (parse_buildchar, parse_private): New
+ functions.
+ (t1_keywords): Register them.
+ (t1_allocate_blend): Updated.
+ (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
+ T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
+ (parse_dict): Remove `keyword_flags' argument.
+ Use new macro IS_PS_TOKEN.
+ Changed function so that later PostScript definitions override
+ earlier ones.
+ (t1_init_loader): Initialize new field `keywords_encountered'.
+ (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
+ `len_buildchar'.
+ Remove `keywords_flags'.
+
+ * src/type1/t1load.h (T1_LoaderRect): New field
+ `keywords_encountered'.
+ (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
+
+ * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
+ entries for parsing /NDV, /CDV, and /DesignVector.
+
+2006-07-07 Werner Lemberg <wl@gnu.org>
+
+ Add many checks to protect against malformed PCF files.
+
+ * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
+ (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
+
+ * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
+ data and check that tables don't overlap (using a simple
+ bubblesort).
+ (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
+ New macros which give the size of data structures in the data
+ stream.
+ (pcf_get_properties): Use rough estimates to get array size limits.
+ Assign `face->nprops' and `face->properties' earlier so that a call
+ to PCF_Face_Done can do the clean-up in case of error.
+ Protect against invalid string offsets.
+ (pcf_get_metrics): Clean up code.
+ Adjust tracing message levels.
+ Use rough estimate to get array size limit.
+ (pcf_get_bitmaps): Clean up code.
+ Adjust tracing message levels.
+ Use rough estimates to get offset limits.
+ (pcf_get_encodings): Adjust tracing message level.
+ (pcf_get_accel): Clean up code.
+
+2006-06-26 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
+ don't have a POINT_SIZE property. This fixes Savannah bug #16914.
+
+2006-06-26 Jens Claudius <jens.claudius@yahoo.com>
+
+ * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
+ (t1_decoder_parse_charstrings): Operator with
+ opcode 15 pops its two arguments.
+ Handle the case where the pops of an othersubr may be part of a
+ subroutine.
+ Handle unknown othersubrs gracefully: count their operands and let
+ the following pop operators push the operands as the results onto
+ the Type1 stack.
+ Improve handling of setcurrentpoint opcode.
+
+2006-06-25 Jens Claudius <jens.claudius@yahoo.com>
+
+ The Type 1 parser now skips over top-level procedures as required
+ for a `Simplified Parser'. This makes the parser more robust as it
+ doesn't poke around in PostScript code. Additionally, it makes the
+ FontDirectory hackery in src/type1/t1load.c unnecessary.
+
+ * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
+ (skip_literal_string): Add FT_Error as return value.
+ Handle escapes better.
+ (skip_string): Add FT_Error as return value.
+ Don't set `parser->error' but return error code directly.
+ (skip_procedure): New function.
+ (ps_parser_skip_PS_token): Handle procedures.
+ Update code.
+ (ps_parser_to_token): Update code.
+ (ps_parser_load_field_table): Handle bbox entries also.
+
+ * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
+ Add commented-out code for synthetic fonts.
+
+2006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
+
+ Fix two hinting bugs as reported in
+ http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
+
+ * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
+ `first_point' member.
+
+ * src/truetype/ttgload.c (tt_prepare_zone): Initialize
+ `first_point'.
+ (TT_Process_Composite_Glyph): Always untouch points.
+
+ * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
+ `first_point' and `last_point' in case of composite glyphs.
+ (Ins_IUP): Fix computation of `end_point'.
+
+2006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
+ Mac. The original patch was written by David Sachitano and Lawrence
+ Coopet, and modified by Sean McBride for MPW compatibility. Only
+ required data are converted; unused data are left in big endian.
+
+ * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
+ Mac OS X platforms.
+ (OS_INLINE): Undefine before definition.
+ (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
+ FontAssociation table in FOND resource.
+ (count_faces_scalable): Insert EndianS16_BtoN to parse the header
+ and fontSize at each entry of FontAssociation table in FOND
+ resource.
+ (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
+ ffStylOff of FamilyRecord header of FOND resource, the header,
+ fontSize, fontID at each entry of FontAssociation table, and
+ StyleMapping table.
+ (count_faces): Call `HUnlock' after all FOND utilization.
+
+2006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Public API of TrueTypeGX, OpenType, and classic kern table validator
+ should return `FT_Err_Unimplemented_Feature' if validation service
+ is unavailable (disabled in `modules.cfg'). It is originally
+ suggested by David Turner, cf.
+ http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
+
+ * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
+ FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
+ unavailable.
+ (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
+ classic kern table validation service is unavailable.
+
+ * src/base/ftotval.c (FT_OpenType_Validate): Return
+ FT_Err_Unimplemented_Feature if OpenType validation service is
+ unavailable.
+
+2006-06-08 Werner Lemberg <wl@gnu.org>
+
+ * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
+ errors.
+
+2006-06-07 David Turner <david@freetype.org>
+
+ * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
+ (T1_Read_Metrics): Fix memory leak which happened when the metrics
+ file doesn't have kerning pairs. This fixes Savannah bug #16768.
+
+2006-06-06 David Turner <david@freetype.org>
+
+ Fix memory leak described in Savannah bug #16759.
+
+ We change `ps_unicodes_init' so that it also takes a
+ `free_glyph_name' callback to release the glyph names returned by
+ `get_glyph_name'
+
+ * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
+ Renamed to ...
+ (PS_GetGlyphNameFunc): This.
+ (PS_FreeGlyphNameFunc): New typedef.
+ (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
+
+ * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
+ argument.
+ (cff_sid_free_glyph_name): New function.
+ (cff_cmap_unicode_init): Updated.
+
+ * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
+
+ * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
+ PS_FreeGlyphNameFunc and use it.
+
+
+2006-06-04 David Turner <david@freetype.org>
+
+ * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
+ `item_size == 0' as well -- though this sounds weird, it can
+ theoretically happen. This fixes Savannah bug #16669.
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
+ of `face->num_glyphs' which missed the last glyph, due to
+ the offset-by-1 computation, since the PFR format doesn't
+ guarantee that glyph index 0 corresponds to the `missing
+ glyph. This fixes Savannah bug #16668.
+
+2006-05-25 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
+ `-no-undefined'. Reported by Christian Biesinger.
+
+2006-05-19 Brian Weed <bw@imaginengine.com>
+
+ * builds/win32/visualc/freetype.dsp: Release libraries no longer
+ have debug information, and debug libraries use `C7 compatible'
+ debug info.
+
+2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Apply patch by Derek Clegg to fix two memory leaks in the MacOS
+ resource fork handler. This fixes Savannah bug #16631.
+
+ * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
+ `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+
+ * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
+ Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+
+2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * build/unix/configure.raw: Add a fallback to disable Carbon
+ dependency, if configured with no options on Mac OS X.
+
+2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
+ its content cannot be parsed as supported font. This fixes
+ the second part of Savannah bug #16590.
+
+2006-05-18 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
+ [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
+
+2006-05-17 David Turner <david@freetype.org>
+
+ This is a major patch used to drastically improve the performance of
+ loading glyphs. This both speeds up loading the glyph vectors
+ themselves and the auto-fitter module.
+
+ We now use inline assembler code with GCC to implement `FT_MulFix',
+ which is probably the most important function related to the
+ engine's performance.
+
+ The resulting speed-up is about 25%.
+
+
+ * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
+ `cursor' and `limit'.
+
+ * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
+ New functions.
+ (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
+ [TEST]: Remove.
+
+ * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
+ code.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
+ `FT_ZERO'
+ (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
+ (af_glyph_hints_reload: Rewrite recognition of weak points.
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
+ constant values out of the loops.
+
+ * src/autofit/aftypes.h: Updated.
+
+ * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
+ product to get orientation.
+
+ * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
+ (FT_Stream_OpenGzip): Use it to handle small files directly in
+ memory.
+
+ * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
+ Improve performance.
+
+ * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
+ `limit'.
+
+ (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
+ TT_Load_Composite_Glyph): Updated. Add threshold to protect against
+ exceedingly large values of number of contours. Speed up by
+ reducing the number of loops.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
+
+
+ * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
+ used to detect rogue clients from 4 to 16. This is to prevent some
+ segmentation faults with fonts like `KozMinProVI-Regular.otf' which
+ comes from the Japanese Adobe Reader Asian Font pack.
+
+2007-05-17 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
+ fixes the first part of Savannah bug #16590.
+
+2006-05-16 Werner Lemberg <wl@gnu.org>
+
+ * docs/PROBLEMS: Updated icl issues.
+
+----------------------------------------------------------------------------
+
+Copyright 2006, 2007, 2008 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: utf-8
+End: