[haiku-commits] r35561 - in haiku/vendor/freetype2/current: . builds builds/amiga builds/amiga/include builds/amiga/include/freetype ...

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 21 Feb 2010 20:57:44 +0100 (CET)

Author: korli
Date: 2010-02-21 20:57:42 +0100 (Sun, 21 Feb 2010)
New Revision: 35561
Changeset: http://dev.haiku-os.org/changeset/35561/haiku

Added:
   haiku/vendor/freetype2/current/ChangeLog
   haiku/vendor/freetype2/current/ChangeLog.20
   haiku/vendor/freetype2/current/ChangeLog.21
   haiku/vendor/freetype2/current/ChangeLog.22
   haiku/vendor/freetype2/current/Jamfile
   haiku/vendor/freetype2/current/Jamrules
   haiku/vendor/freetype2/current/Makefile
   haiku/vendor/freetype2/current/README
   haiku/vendor/freetype2/current/README.git
   haiku/vendor/freetype2/current/autogen.sh
   haiku/vendor/freetype2/current/builds/
   haiku/vendor/freetype2/current/builds/amiga/
   haiku/vendor/freetype2/current/builds/amiga/README
   haiku/vendor/freetype2/current/builds/amiga/include/
   haiku/vendor/freetype2/current/builds/amiga/include/freetype/
   haiku/vendor/freetype2/current/builds/amiga/include/freetype/config/
   
haiku/vendor/freetype2/current/builds/amiga/include/freetype/config/ftconfig.h
   
haiku/vendor/freetype2/current/builds/amiga/include/freetype/config/ftmodule.h
   haiku/vendor/freetype2/current/builds/amiga/makefile
   haiku/vendor/freetype2/current/builds/amiga/makefile.os4
   haiku/vendor/freetype2/current/builds/amiga/smakefile
   haiku/vendor/freetype2/current/builds/amiga/src/
   haiku/vendor/freetype2/current/builds/amiga/src/base/
   haiku/vendor/freetype2/current/builds/amiga/src/base/ftdebug.c
   haiku/vendor/freetype2/current/builds/amiga/src/base/ftsystem.c
   haiku/vendor/freetype2/current/builds/ansi/
   haiku/vendor/freetype2/current/builds/ansi/ansi-def.mk
   haiku/vendor/freetype2/current/builds/ansi/ansi.mk
   haiku/vendor/freetype2/current/builds/atari/
   haiku/vendor/freetype2/current/builds/atari/ATARI.H
   haiku/vendor/freetype2/current/builds/atari/FNames.SIC
   haiku/vendor/freetype2/current/builds/atari/FREETYPE.PRJ
   haiku/vendor/freetype2/current/builds/atari/README.TXT
   haiku/vendor/freetype2/current/builds/atari/deflinejoiner.awk
   haiku/vendor/freetype2/current/builds/atari/gen-purec-patch.sh
   haiku/vendor/freetype2/current/builds/beos/
   haiku/vendor/freetype2/current/builds/beos/beos-def.mk
   haiku/vendor/freetype2/current/builds/beos/beos.mk
   haiku/vendor/freetype2/current/builds/beos/detect.mk
   haiku/vendor/freetype2/current/builds/compiler/
   haiku/vendor/freetype2/current/builds/compiler/ansi-cc.mk
   haiku/vendor/freetype2/current/builds/compiler/bcc-dev.mk
   haiku/vendor/freetype2/current/builds/compiler/bcc.mk
   haiku/vendor/freetype2/current/builds/compiler/emx.mk
   haiku/vendor/freetype2/current/builds/compiler/gcc-dev.mk
   haiku/vendor/freetype2/current/builds/compiler/gcc.mk
   haiku/vendor/freetype2/current/builds/compiler/intelc.mk
   haiku/vendor/freetype2/current/builds/compiler/unix-lcc.mk
   haiku/vendor/freetype2/current/builds/compiler/visualage.mk
   haiku/vendor/freetype2/current/builds/compiler/visualc.mk
   haiku/vendor/freetype2/current/builds/compiler/watcom.mk
   haiku/vendor/freetype2/current/builds/compiler/win-lcc.mk
   haiku/vendor/freetype2/current/builds/detect.mk
   haiku/vendor/freetype2/current/builds/dos/
   haiku/vendor/freetype2/current/builds/dos/detect.mk
   haiku/vendor/freetype2/current/builds/dos/dos-def.mk
   haiku/vendor/freetype2/current/builds/dos/dos-emx.mk
   haiku/vendor/freetype2/current/builds/dos/dos-gcc.mk
   haiku/vendor/freetype2/current/builds/dos/dos-wat.mk
   haiku/vendor/freetype2/current/builds/exports.mk
   haiku/vendor/freetype2/current/builds/freetype.mk
   haiku/vendor/freetype2/current/builds/link_dos.mk
   haiku/vendor/freetype2/current/builds/link_std.mk
   haiku/vendor/freetype2/current/builds/mac/
   haiku/vendor/freetype2/current/builds/mac/FreeType.m68k_cfm.make.txt
   haiku/vendor/freetype2/current/builds/mac/FreeType.m68k_far.make.txt
   haiku/vendor/freetype2/current/builds/mac/FreeType.ppc_carbon.make.txt
   haiku/vendor/freetype2/current/builds/mac/FreeType.ppc_classic.make.txt
   haiku/vendor/freetype2/current/builds/mac/README
   haiku/vendor/freetype2/current/builds/mac/ascii2mpw.py
   haiku/vendor/freetype2/current/builds/mac/ftlib.prj.xml
   haiku/vendor/freetype2/current/builds/mac/ftmac.c
   haiku/vendor/freetype2/current/builds/modules.mk
   haiku/vendor/freetype2/current/builds/newline
   haiku/vendor/freetype2/current/builds/os2/
   haiku/vendor/freetype2/current/builds/os2/detect.mk
   haiku/vendor/freetype2/current/builds/os2/os2-def.mk
   haiku/vendor/freetype2/current/builds/os2/os2-dev.mk
   haiku/vendor/freetype2/current/builds/os2/os2-gcc.mk
   haiku/vendor/freetype2/current/builds/symbian/
   haiku/vendor/freetype2/current/builds/symbian/bld.inf
   haiku/vendor/freetype2/current/builds/symbian/freetype.mmp
   haiku/vendor/freetype2/current/builds/toplevel.mk
   haiku/vendor/freetype2/current/builds/unix/
   haiku/vendor/freetype2/current/builds/unix/aclocal.m4
   haiku/vendor/freetype2/current/builds/unix/config.guess
   haiku/vendor/freetype2/current/builds/unix/config.sub
   haiku/vendor/freetype2/current/builds/unix/configure
   haiku/vendor/freetype2/current/builds/unix/configure.ac
   haiku/vendor/freetype2/current/builds/unix/configure.raw
   haiku/vendor/freetype2/current/builds/unix/detect.mk
   haiku/vendor/freetype2/current/builds/unix/freetype-config.in
   haiku/vendor/freetype2/current/builds/unix/freetype2.in
   haiku/vendor/freetype2/current/builds/unix/freetype2.m4
   haiku/vendor/freetype2/current/builds/unix/ft-munmap.m4
   haiku/vendor/freetype2/current/builds/unix/ft2unix.h
   haiku/vendor/freetype2/current/builds/unix/ftconfig.in
   haiku/vendor/freetype2/current/builds/unix/ftsystem.c
   haiku/vendor/freetype2/current/builds/unix/install-sh
   haiku/vendor/freetype2/current/builds/unix/install.mk
   [... truncated: 651 added files follow ...]
Log:
import freetype 2.3.11


Added: haiku/vendor/freetype2/current/ChangeLog
===================================================================
--- haiku/vendor/freetype2/current/ChangeLog                            (rev 0)
+++ haiku/vendor/freetype2/current/ChangeLog    2010-02-21 19:57:42 UTC (rev 
35561)
@@ -0,0 +1,7490 @@
+2009-10-10  Werner Lemberg  <wl@xxxxxxx>
+
+       * Version 2.3.11 released.
+       ==========================
+
+
+       Tag sources with `VER-2-3-11'.
+
+       * docs/VERSION.DLL: Update documentation and bump version number to
+       2.3.11.
+
+       * 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.10/2.3.11/, s/2310/2311/.
+
+       * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
+
+       * builds/unix/configure.raw (version_info): Set to 9:22:3.
+
+2009-10-10  Werner Lemberg  <wl@xxxxxxx>
+
+       * docs/CHANGES, docs/release: Updated.
+
+2009-10-10  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
+       truncation.  Reported by Martin von Gagern and Peter Volkov.
+       https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
+
+2009-10-06  Werner Lemberg  <wl@xxxxxxx>
+
+       * Version 2.3.10 released.
+       ==========================
+
+
+       Tag sources with `VER-2-3-10'.
+
+       * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
+       than a single digit.
+       (dist): We now use git.
+
+       * docs/VERSION.DLL: Update documentation and bump version number to
+       2.3.10.
+
+       * 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.9/2.3.10/, s/239/2310/.
+
+       * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+       * builds/unix/configure.raw (version_info): Set to 9:21:3.
+
+2009-10-06  Werner Lemberg  <wl@xxxxxxx>
+
+       Fix `make multi'.
+
+       * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
+
+       * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
+
+2009-09-27  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
+       Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed. 
+       Now these functions should be called with FTC_Node or FTC_MruNode
+       variable, and the caller should cast them to appropriate pointers to
+       concrete data.  These tricky casts can GCC-4.4 optimizer (-O2)
+       confused and the crashing binaries are generated.
+
+       * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast. 
+       Now the 4th argument `node' of this function should be typed as
+       FTC_MruNode.
+
+       * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
+       implementation, new temporal variable FTC_MruNode `_mrunode' to take
+       the pointer from FTC_MRULIST_LOOKUP_CMP().  For non-inline
+       implementation, tricky cast is dropped.
+
+       * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
+       to FTC_SizeNode.
+       (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
+       `mrunode', and FTC_SIZE_NODE() is inserted.
+       (FTC_FACE_NODE): New macro casting to FTC_FaceNode.
+       (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
+       `mrunode', and FTC_FACE_NODE() is inserted.
+
+       * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
+       `node' from FTC_INode to FTC_Node.  Extra casting macro FTC_NODE()
+       is dropped.
+       (FTC_ImageCache_LookupScaler): Ditto.
+       (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
+       FTC_Node.  Extra casting macro FTC_NODE() is dropped.  FTC_SNODE()
+       is inserted.
+       (FTC_SBitCache_LookupScaler): Ditto.
+
+       * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
+       `node' from FTC_CMapNode to FTC_Node.  Extra casting macro
+       FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
+
+2009-09-25  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       [cache, psaux, type1] Fix for multi build.
+       In multi build, some cpp functions are left as unresolved symbols.
+
+       * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
+
+       * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
+       FIXED_TO_INT().
+       * src/type1/t1gload.c: Ditto.
+       * src/type1/t1objs.c: Ditto.
+
+2009-09-25  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       [autofit] Fix for multi build.
+
+       * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
+       FT_DECLARE_MODULE() macro in multi build.
+
+       * src/autofit/aflatin.c: Include <ft2build.h> to handle
+       FT_ADVANCES_H correctly in multi build.
+
+2009-09-24  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       [cache] Check the face filled by FTC_Manager_LookupFace().
+
+       * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
+       immediately if FTC_Manager_LookupFace() fills face by NULL.  Such
+       case can occur when the code is optimized by GCC-4.2.x.
+
+2009-09-23  Werner Lemberg  <wl@xxxxxxx>
+
+       * docs/CHANGES: Updated.
+
+2009-09-12  Werner Lemberg  <wl@xxxxxxx>
+
+       [raster] Fix 5-levels grayscale output.
+       This was broken since version 2.3.0.
+
+       * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
+       were then computed dynamically).
+       (Vertical_Gray_Sweep_Step): Updated.
+
+       (ft_black_render): Initialize `worker->gray_lines' (problem found by
+       valgrind).
+
+       (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
+       comment out.
+
+2009-09-12  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       Improve configure.raw for cross build.
+
+       * builds/unix/configure.raw: Remove temporal files created by the
+       suffix checking for CC_BUILD.  Set XX_ANSIFLAGS and XX_CFLAGS when
+       cross compiler is GCC.  AC_PROG_CC checks whether the cross compiler
+       is GCC, its result is stored in GCC.
+
+2009-09-12  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       [BDF] Modify hash API to take size_t value instead of void *.
+
+       The hash API in BDF driver is designed to be generic, it takes
+       void * typed data.  But BDF driver always gives an unsigned long
+       integer (the index to a property).  To reduce non-essential
+       casts from unsigned long to void* and from void* to unsigned
+       long, the hash API is changed to take size_t integer.
+       The issue of incompatible cast between unsigned long and void*
+       on LLP64 platform is reported by NightStrike from MinGW-Win64
+       project.  See
+       http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+
+       * src/bdf/bdf.h: The type of hashnode->data is changed from
+       void* to size_t.
+
+       * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
+       void* data.
+       (bdf_create_property): Get the name length of new property by
+       size_t variable, with a cut-off at FT_ULONG_MAX.
+       (_bdf_set_default_spacing): Get the name length of the face by
+       size_t variable, with a cut-off at 256.
+       (bdf_get_property): Get the property id by size_t variable to
+       reduce the casts between 32-bit prop ID & hashnode->data during
+       simple copying.
+       (_bdf_add_property): Ditto.
+       (_bdf_parse_start): Calculate the index to the property array
+       by size_t variable.
+       (bdf_get_font_property): Drop a cast to unsigned long.
+
+2009-09-10  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       [Win64] Improve the computation of random seed from stack address.
+
+       On LLP64 platform, the conversion from pointer to FT_Fixed need
+       to drop higher 32-bit.  Explict casts are required. Reported by
+       NightStrike from MinGW-w64 project.  See
+       http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+
+       * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
+
+       * src/psaux/t1decode.c: Ditto.
+
+
+2009-09-03  Werner Lemberg  <wl@xxxxxxx>
+
+       [raster] Improvements for stand-alone mode.
+
+       * src/raster/rules.mk: Don't handle ftmisc.h.  It is needed for
+       stand-alone mode only.
+
+       * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
+       FT_Realloc_Func): Copy declarations from ftsystem.h.
+
+2009-09-02  Bram Tassyns  <bramt@xxxxxxxxxx>
+
+       Improve vertical metrics calculation (Savannah bug #27364).
+
+       The calculation of `vertBearingX' is not defined in the OTF font
+       spec so FreeType does a `best effort' attempt.  However, this value
+       is defined in the PDF and PostScript specs, and that algorithm is
+       better than the one FreeType currently uses:
+
+         FreeType: Use the middle of the bounding box as the X coordinate
+                   of the vertical origin.
+
+         Adobe PDF spec: Use the middle of the horizontal advance vector as
+                         the X coordinate of the vertical origin.
+
+       FreeType's algorithm goes wrong if you have a really small glyph
+       (like the full-width, circle-like dot at the end of the sentence, as
+       used in CJK scripts) with large bearings.  With the FreeType
+       algorithm this dot gets centered on the baseline; with the PDF
+       algorithm it gets the correct location (in the top right).  Note
+       that this is a serious issue, it's like printing the dot at the end
+       of a Roman sentence at the center of the textline instead of on the
+       baseline like it should. So i believe the PDF spec's algorithm
+       should be used in FreeType as well.
+
+       The `vertBearingY' value for such small glyphs is also very strange
+       if no `vmtx' information is present, since the height of the bbox is
+       not representable for the height of the glyph visually (the
+       whitespace up to the baseline is part of the glyph).  The fix also
+       includes some code for a better estimate of `vertBearingY'.
+
+       * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
+       is now calculated as described by the Adobe PDF Spec.  Estimate for
+       `vertBearingY' now works better for small glyphs completely above or
+       below the baseline into account.
+
+       * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
+       calculated as described by the Adobe PDF Spec.  Vertical metrics
+       information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
+       was not defined.
+
+       * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
+       now calculated as described by the Adobe PDF Spec.
+
+2009-09-01  John Tytgat  <John.Tytgat@xxxxxxxx>
+
+       Fix custom cmap for empty Type 1 font (Savannah bug #27294).
+
+       * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
+       comment to reflect revised code_last meaning.
+       * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
+       (T42_Open_Face): Assign max_char as highest character code + 1 and
+       use this for T1_EncodingRecRec_::code_last.
+       * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
+       T1_EncodingRecRec_::code_last meaning.
+
+2009-08-25  Werner Lemberg  <wl@xxxxxxx>
+
+       Fix rendering of horizontally compressed CFFs.
+       Bug reported by Ivan Nincic <inincic@xxxxxxxxxxx>.
+
+       * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
+       `font_matrix' also.
+
+       * docs/CHANGES: Updated.
+
+2009-08-03  suyu0925@xxxxxxxxx
+
+       Don't call `ft_fseek' every time when executing `ft_fread'.
+
+       * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
+       (ft_ansi_stream_io): Implement it.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
+       
+       * src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
+       tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
+       tt_cmap14_variant_chars): Correct mismatches from
+       FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
+       are replaced by FT_UInt32 arguments.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
+
+       * src/sfnt/ttcmap.c (tt_cmap12_char_next):
+       Insert explicit cast from FT_UFast to FT_UInt32
+       for return value.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       psaux: Fix a few casts to FT_Int32 value.
+
+       * src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+       Fix a few casts setting `value' from FT_Long to FT_Int32,
+       because `value' is typed as FT_Int32 since 2009-06-22.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Fix a data type mismatching with its source.
+
+       * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
+       type of `gindex' from FT_ULong to FT_UInt because
+       it is set by FT_UInt tt_cmap13_char_map_binary() or
+       TT_CMap13->cur_gindex.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Extend a few local variables to load 32-bit values.
+
+       * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
+       and `kern' to load 32-bit values.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pfr: Extend `num_aux' to take 32-bit value.
+
+       * src/pfr/pfrload.c (pfr_phy_font_load): Extend
+       `num_aux' to load 32-bit value.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
+
+       * src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
+       as FT_ULong value from PCF file, but truncate it as
+       int to fit PCF_Face->nprops.  The number of truncated
+       properties is shown in the trace message.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       gxvalid: Extend a few local variables to reduce the casts.
+
+       * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
+       Extend `type' and `rest' to take FT_ULong values.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       gxvalid: Extend `settingTable' to take 32-bit offset.
+
+       * src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
+       Extend `settingTable' to take 32-bit offset.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
+
+       * src/autofit/afglobal.c (af_face_globals_is_digit,
+       af_face_globals_compute_script_coverage): Cast FT_Long
+       globals->glyph_count to FT_ULong, to compare with FT_UInt
+       gindex.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       smooth: Exclude 16-bit system in invalid pitch/height check.
+
+       * src/smooth/ftsmooth.c (ft_smooth_render_generic):
+       pitch and height are typed as FT_UInt but checked to fit
+       16-bit range, to avoid the overflows.  On 16-bit system,
+       this checking inserts a conditional that never occurs.
+
+2009-07-03  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       cff: Type large constants > 0x7FFF as long for 16-bit systems.
+
+       * src/cff/cffload.c (cff_charset_load): Type large
+       constants > 0x7FFF as long, because normal constants
+       are typed signed integer that is less than 0x8000 on
+       16-bit systems.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       base: Remove an unused variable.
+
+       * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
+       unused variable `library'.  glyph->library is used.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       cache: Check higher bits in flags for non ILP32 systems.
+
+       4 public functions ought to take FT_ULong flags, but take
+       FT_UInt flags. To keep binary compatibility, we drop higher
+       bits on non ILP32 platforms,
+               ILP64 systems: No drop occurs.
+               LP64 systems: Higher bits are not used.
+               16-bit systems: Drop can occur.
+       See
+       http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
+       These functions will be refined to take FT_ULong flags in
+       next bump with incompatible API change.
+
+       * src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
+       Check `flags' in `type', the 2nd argument.
+       (FTC_SBitCache_Lookup): Ditto.
+       (FTC_ImageCache_LookupScaler): Check `load_flags',
+       the 3rd argument.
+       (FTC_SBitCache_LookupScaler): Ditto.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Ignore invalid GIDs in glyph name lookup.
+
+       * include/freetype/internal/fttrace.h:
+       New trace module for sfdriver.c is added.
+
+       * src/sfnt/sfdriver.c (sfnt_get_name_index):
+       Restrict glyph name lookup to FT_UInt GID.
+       Genuine TrueType can hold 16-bit glyphs.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pcf: Fix a comparison between FT_Long and FT_ULong.
+
+       * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
+       if PCF_Face->nemetrics is negative.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
+
+       * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
+       Extend the 3rd argument `nFeatureFlags' to FT_ULong.
+       * src/gxvalid/gxvmort.h: Ditto.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Insert explicit cast for LP64 system.
+
+       * src/sfnt/ttkern.c (tt_face_load_kern): Insert
+       cast from unsigned long to FT_UInt32.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       gxvalid: Guarantee `just' table size upto 32-bit.
+
+       * src/gxvalid/gxvjust.c (gxv_just_validate):
+       The type of `offset' is changed from FT_UInt to
+       FT_Offset, for 16-bit platforms.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       gxvalid: Guarantee `trak' table size upto 32-bit.
+
+       * src/gxvalid/gxvtrak.c (gxv_trak_validate):
+       The type of `offset' is changed from FT_UInt to
+       FT_Offset, for 16-bit platforms.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       type1: Fix a data type mismatching with its source.
+
+       * include/freetype/internal/t1types.h: The type of
+       T1_Face->buildchar is matched with T1_Decorder->top.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pfr: Fix a data type mismatching with its source.
+
+       * src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
+       is extended from FT_UInt32 to FT_Offset, because it is
+       calculated with the pointer difference, in
+       pfr_extra_item_load_kerning_pairs().
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pfr: Fix a data type mismatching with its source.
+
+       * src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset
+       is extended from FT_UInt32 to FT_Offset, because it is
+       calculated with the pointer difference in pfr_phy_font_load().
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pfr: Fix a data type mismatching with its source.
+
+       * src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
+       is extended from FT_UInt32 to FT_Long, because it is
+       loaded by FT_STREAM_POS() in pfr_phy_font_load().
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       smooth: Improve the format in debug message.
+
+       * src/smooth/ftgrays.c (gray_dump_cells): Improve the
+       format specifications to dump variables.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Fix a data type mismatching with its source.
+
+       * src/sfnt/sfobjs.c (sfnt_load_face): The type of
+       local `flags' is matched with FT_Face->face_flags.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       psaux: Fix a data type mismatching with its source.
+
+       * include/freetype/internal/psaux.h: The type of
+       T1_DecorderRec.buildchar is matched with
+       T1_DecorderRec.top.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Extend TrueType GX packed deltas to FT_Offset.
+
+       * src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
+       The type of 2nd argument `delta_cnt' is changed from
+       FT_Int to FT_Offset, because its source can be cvt
+       table size calculated from stream position.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Extend mmvar_len to hold size_t values.
+
+       * src/truetype/ttgxvar.h: The type of
+       GX_BlendRec.mmvar_len is changed from FT_Int to
+       FT_Offset, because TT_Get_MM_Var() calculates it
+       by sizeof() results.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Check invalid function number in IDEF instruction.
+
+       * src/truetype/ttinterp.c (Ins_IDEF): Check
+       if the operand fits to 8-bit opcode limitation.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Check invalid function number in FDEF instruction.
+
+       * src/truetype/ttinterp.c (Ins_FDEF): Check
+       if the operand fits 16-bit function number.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Truncate the deltas of composite glyph at 16-bit values.
+
+       * src/truetype/ttgload.c (load_truetype_glyph):
+       Insert cast from FT_Long (deltas[i].{x,y}) to
+       FT_Int16 in the summation of deltas[] for composite
+       glyphs.  Because deltas[i] is typed as FT_Pos,
+       its component x, y are typed as FT_Long, but
+       their sources are always FT_Int16 when they are
+       loaded by ft_var_readpackeddeltas().  However,
+       the limitation about the summed deltas is unclear.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Truncate the instructions upto 16-bit per a glyph.
+
+       * src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
+       the instructions upto 16-bit length per a glyph.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Cast the numerical operands to 32-bit for LP64 systems.
+
+       * src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
+       Ins_MIRP): Insert cast from long (args[], the
+       operands passed to TrueType operator) to FT_Int32
+       (the argument of TT_MulFix14()).
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Cast the project vector to 32-bit for LP64 system.
+
+       * src/truetype/ttinterp.c (Project, DualProject):
+       Insert casts from FT_Pos (the arguments `dx', `dy')
+       to FT_UInt32 (the argument to TT_DotFix14()).
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Cast the scaling params to 32-bit for LP64 system.
+
+       * src/truetype/ttgload.c (TT_Process_Composite_Component):
+       Insert casts from long (return value of FT_MulFix()) to
+       FT_Int32 (the argument to FT_SqrtFixed()).
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Cast a character code to FT_UInt32 for LP64 system.
+
+       * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+       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)
+       Insert casts when FT_UInt32 variable is loaded by
+       TT_NEXT_{UINT24|ULONG}.  Because most of them are
+       compared with FT_UInt32 values in public API, replacing
+       FT_UFast is not recommended.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Cast a character code to FT_UInt32 for LP64 system.
+
+       * src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
+       Insert the casts from unsigned long constant to
+       FT_UInt32.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
+
+       * include/freetype/internal/tttypes.h: The type
+       of TT_BDF->string_size is extended from FT_UInt32
+       to FT_ULong, because BDF specification does not 
+       restrict the length of string.
+       * src/sfnt/ttbdf.c: The scratch variable `strings'
+       to load TT_BDF->string_size is matched with
+       TT_BDF->string_size.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       psaux: Handle the string length by FT_Offset variables.
+
+       * src/psaux/afmparse.c (afm_parser_next_key,
+       afm_tokenize, afm_parse_track_kern,
+       afm_parse_kern_pairs, afm_parse_kern_data,
+       afm_parser_skip_section, afm_parser_parse):
+       The length of key is handled by FT_Offset,
+       instead of FT_UInt.  Although the length of
+       PostScript strings or name object is 16-bit,
+       AFM_STREAM_KEY_LEN() calculates the length
+       from the pointer difference.
+
+       * src/psaux/afmparse.h (afm_parser_next_key):
+       Ditto.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pcf: Fix some data types mismatching with their sources.
+
+       * src/pcf/pcfread.c (pcf_get_bitmaps): The types
+       of `nbitmaps', `i', `sizebitmaps' are matched with
+       the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pcf: Handle the string length by size_t variables.
+
+       * src/pcf/pcfread.c (pcf_interpret_style): The types
+       of nn, len, lengths[4] are changed to size_t, because
+       they are loaded by (or compared with) ft_strlen().
+
+       * src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
+       FourByteSwap): The type of the 2nd argument `nbytes'
+       is changed to size_t, for similarity with ANSI C
+       string functions.
+
+       * src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
+       `bytes' is changed to FT_Offset, because it is passed
+       to FT_ALLOC(), via ft_glyphslot_alloc_bitmap().  At
+       least, using unsigned type is better.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pcf: Fix some data types mismatching with their sources.
+
+       * src/pcf/pcfread.c (pcf_seek_to_table_type,
+       pcf_has_table_type): The type of 3rd argument
+       `ntables' is matched with PCF_Toc->count.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       otvalid: Truncate the glyph index to 16-bit.
+
+       * src/otvalid/otvalid.c (otv_validate): Checks
+       face->num_glyphs does not exceed 16-bit limit,
+       pass FT_UInt num_glyphs to backend functions
+       otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       cache: Insert explict casts for LP64 systems.
+
+       * src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
+       FTC_SBitCache_Lookup): The type of FTC_ImageType->width
+       is FT_Int, so the cast to unsigned larger type FT_ULong
+       is introduced for the comparisons with 0x10000L for
+       LP64 platform.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       cache: Fix some data types mismatching with their sources.
+
+       * src/cache/ftccache.h: The type of return value
+       by FTC_Node_WeightFunc function is changed to
+       FT_Offset.  The type of FTC_CacheClass->cache_size
+       is changed to FT_Offset, too.
+
+       * src/cache/ftccback.h (ft_inode_weight,
+       ftc_snode_weight): Ditto.
+
+       * src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
+
+       * src/cache/ftcimage.c (ftc_inode_weight,
+       FTC_INode_Weight): Ditto.
+
+       * src/cache/ftcsbits.c (ftc_snode_weight,
+       FTC_SNode_Weight): Ditto.
+
+       * src/cache/ftcmru.h: The type of
+       FTC_MruListClass->node_size is changed to FT_Offset,
+       because it is passed to FT_ALLOC() to specify the
+       size of buffer.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       XXX_cmap_encoding_char_next() return FT_UInt32 values.
+
+       * include/freetype/internal/services/svpscmap.h:
+       The size of the charcode value returned by
+       the function typed PS_Unicodes_CharNextFunc is
+       matched with its input charcode value.
+
+       * src/cff/cffmap.c (cff_cmap_encoding_char_next,
+       cff_cmap_unicode_char_next): Ditto.
+
+       * src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
+       Ditto.
+
+       * src/psaux/t1cmap.c (t1_cmap_std_char_next,
+       t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
+       Ditto.
+
+       * src/psnames/psmodule.c (ps_unicodes_char_next):
+       Ditto.
+
+       * src/winfonts/winfnt.c (fnt_cmap_char_next):
+       Ditto.
+
+       * src/sfnt/ttcmap.c (tt_cmap0_char_next,
+       tt_cmap2_char_next, tt_cmap4_char_next,
+       tt_cmap6_char_next, tt_cmap10_char_next,
+       tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
+       (tt_cmap14_char_variants): Handle base unicode
+       codepoint by FT_UInt32 variable to avoid overflow
+       on 16-bit platforms.
+       (tt_cmap14_ensure): The type of `num_results' is
+       extend to FT_UInt32, to cover unsigned 32-bit
+       `numVarSelectorRecords' in cmap14 table header.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       truetype: Extend TT_Face->num_locations for broken TTFs.
+
+       * include/freetype/internal/tttypes.h:
+       TT_Face->num_locations are extended from FT_UInt
+       to FT_ULong, to stand with broken huge loca table.
+       Some people insists there are broken TTF including
+       the glyphs over 16-bit limitation, in PRC market.
+       * src/truetype/ttpload.c (tt_face_load_loca):
+       Remove unrequired 16-bit truncation for FT_UInt
+       TT_Face->num_locations.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       smooth: Fix some data types mismatching with their sources.
+
+       * src/smooth/ftgrays.c: The type of `TCoord' is
+       matched to `TPos', because they are mixed in
+       gray_set_cell().  The type of TCell->x is extended
+       to `TPos', because gray_find_cell() sets it by
+       TWorker.ex.  The type of TCell->cover is extended
+       to `TCoord', because gray_render_scanline() adds
+       TCoord value to it.  The type of TWork.cover is matched
+       with TCell->cover.  The types of
+       TWork.{max_cells,num_cells} are changed to FT_PtrDist,
+       because they are calculated from the memory addresses.
+       The type of TWork.ycount is changed to TPos, because
+       it is calculated from TPos variables.
+       (gray_find_cell): The type of `x' is matched with
+       its initial value ras.ex.
+       (gray_render_scanline): The types of `mod', `lift'
+       and `rem' are changed to TCoord, because their values
+       are set with explicit casts to TCoord.  When ras.area
+       is updated by the differential values including
+       `delta', they are explicitly casted to TArea, because
+       the type of `delta' is not TArea but TCoord.
+       (gray_render_line): The type of `mod' is extended
+       from int to TCoord, because (TCoord)dy is added to mod.
+       (gray_hline): The argument `acount' is extended to
+       TCoord, to match with the parameters in the callers.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       cff: Fix some data types mismatching with their sources.
+
+       * src/cff/cffobjs.c (cff_face_init): The type of
+       `scaling' is matched with the scaling parameter
+       in FT_Matrix_Multiply_Scaled() and
+       FT_Vector_Transform_Scaled().
+
+       * src/cff/cffparse.c (cff_parse_real): The type of
+       `power_ten', `scaling', `exponent_add',
+       `integer_length', `fraction_length',
+       `new_fraction_length' and `shift' are matched with
+       the type of `exponent' to avoid unexpected truncation.
+       (cff_parse_fixed_scaled): The type of `scaling' is
+       matched with the `scaling' argument to
+       cff_parse_real().
+       (cff_parse_fixed_dynamic): Ditto.
+       (cff_parse_font_matrix): The type of `scaling' is
+       matched with the `scaling' argument to
+       cff_parse_dynamic().
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       autofit: Fix some data types mismatching with their sources.
+
+       * src/autofit/afglobal.c: Correct the type of
+       AF_FaceGlobalsRec.glyph_count to match with
+       FT_Face->num_glyphs.
+       (af_face_globals_compute_script_coverage):
+       Insert explicit cast to compare
+       FT_Long AF_FaceGlobalsRec.glyph_count versus
+       FT_UInt gindex.  The type of `nn' is changed
+       to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
+       (af_face_globals_get_metrics): The type of `script_max'
+       is changed to cover size_t value.  Insert explicit cast
+       to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
+       FT_UInt gindex.
+
+       * src/autofit/afhints.c (af_axis_hints_new_segment):
+       Insert explicit cast to calculate `big_max' from
+       integer and size_t values.
+       (af_axis_hints_new_edge): Ditto.
+
+       * src/autofit/aflatin.c (af_latin_metrics_init_blues):
+       The type of `best_y' is matched to FT_Vector.y.
+       (af_latin_compute_stem_width): The type of `delta' is
+       matched to `dist' and `org_dist'.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       autofit: Count the size of the memory object by ptrdiff_t.
+
+       * src/autofit/afcjk.c (af_cjk_hint_edges): The
+       number of edges `n_edges' should be counted by
+       FT_PtrDist variable instead of FT_Int.
+
+       * src/autofit/aflatin.c (af_latin_hint_edges):
+       Ditto.
+
+       * src/autofit/aftypes.h: In AF_ScriptClassRec,
+       the size of metric `script_metrics_size' should
+       be counted by FT_Offset variable instead of FT_UInt.
+
+       * src/autofit/afhints.c
+       (af_glyph_hints_align_strong_points): The cursors
+       for the edges `min', `max', `mid' in the memory
+       buffer should be typed FT_PtrDist.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       autofit: Fix for unused variable `first'.
+
+       * src/autofit/afhints.c (af_glyph_hints_reload): Insert
+       FT_UNUSED() to hide the unused variable warning.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       Improve bitmap size or pixel variables for 16-bit systems.
+
+       * include/freetype/config/ftstdlib.h: Introduce
+       FT_INT_MIN, to use in signed integer overflow in
+       16-bit and 64-bit platforms.
+       
+       * include/freetype/internal/fttrace.h: Add a tracer
+       to ftsynth.c.
+       
+       * src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
+       invalid strength causing integer overflow on 16-bit
+       platform.
+       
+       * src/base/ftcalc.c (ft_corner_orientation): Change
+       the internal calculation from FT_Int to FT_Long, to
+       avoid an overflow on 16-bit platforms.  The caller of
+       this function should use only the sign of result,
+       so the cast to FT_Int is acceptable.
+       
+       * src/base/ftsynth.c: Introduce a tracer for synth module.
+       (FT_GlyphSlot_Embolden): Check invalid strength causing
+       integer overflow on 16-bit platform.
+       
+       * src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
+       in FT2 API is typed as FT_UInt, although BDF driver
+       can handle unsigned long glyph index internally.  To
+       avoid integer overflow on 16-bit platform, too large
+       glyph index should be excluded.
+       (BDF_Glyph_Load): The glyph pitch in FT2 is typed as
+       FT_UInt, although BDF driver can handle unsigned long
+       glyph pitch internally.  To avoid integer overflow on
+       16-bit platform, too large glyph pitch should not be
+       returned.
+       
+       * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
+       pitch in FT2 is typed as FT_UInt, although PFR font
+       format can include huge bitmap glyph with 24-bit pitch
+       (however, a glyph spends 16.7 pixel, it's not realistic).
+       To avoid integer overflow on 16-bit platform, huge
+       bitmap glyph should be excluded.
+       
+       * src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
+       truncated to fit its type (16-bit short), FT_Span.y
+       should be truncated to fit its type (FT_Int).
+       
+       * src/cff/cffdrivr.c (cff_get_ros): CFF specification
+       defines the supplement in ROS as a real number.
+       Truncate it to fit public FT2 API.
+       
+       * src/cff/cffparse.c (cff_parse_cid_ros): Warn the
+       supplement if it is truncated or rounded in cff_get_ros().
+       
+       * src/cff/cfftypes.h: Change the type of internal variable
+       `supplement' from FT_Long to FT_ULong to fit the signedness
+       to the type in public API.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       psaux: Prevent invalid arguments to afm_parser_read_vals().
+
+       * src/psaux/afmparse.c (afm_parser_read_vals): Change
+       the type of `n' to prevent negative number how many
+       arguments should be parsed.
+
+       * src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       base: Prevent some overflows on LP64 systems.
+
+       * src/base/ftadvance.c (FT_Get_Advances): Cast the
+       unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
+       for LP64 platforms.
+
+       * src/base/ftcalc.c (FT_Sqrt32): All internal variables
+       are changed to FT_UInt32 from FT_ULong.
+       (FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
+       This function is designed for 32-bit integer, although
+       their arguments and return value are FT_Long.
+
+       * src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
+       is within unsigned 32-bit integer for LP64 platforms.
+       (FT_Face_GetCharVariantIndex): Check `charcode' and
+       `variantSelector' are within 32-bit integer for LP64
+       platforms.
+       (FT_Face_GetCharsOfVariant): Check `variantSelector' is
+       within unsigned 32-bit integer for LP64 platforms.
+
+       * src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
+       variable `val' and unsigned long constant FT_TRIG_SCALE
+       are casted to FT_UInt32, when calculates FT_UInt32.
+       (FT_Vector_Rotate): The long constant 1L is casted to
+       FT_Int32 to calculate FT_Int32 `half'.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       cff: Cast the long variables to 32-bit for LP64 systems.
+
+       * src/cff/cffdrivr.c (cff_get_advances): Insert
+       explicit cast to modify a 32-bit flag by unsigned
+       long constant.
+
+       * src/cff/cffobjs.c (cff_face_init): Ditto.
+
+       * src/cff/cffgload.c (cff_decoder_parse_charstrings):
+       Replace the casts to FT_Long by the casts to FT_Int32
+       for LP64 platforms.
+
+2009-07-31  suzuki toshiya  <mpsuzuki@xxxxxxxxxxxxxxxxx>
+
+       pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
+

[... truncated: 320377 lines follow ...]

Other related posts:

  • » [haiku-commits] r35561 - in haiku/vendor/freetype2/current: . builds builds/amiga builds/amiga/include builds/amiga/include/freetype ... - korli