For convenience, (most of) the new files are committed separately. Right now, it is still off by default, and you have to explicitly select it using the new `hinting-engine' property of the cff driver. It is vastly superior to the old CFF engine, and it will replace it soon. This work, written by Dave Arnold and fully integrated into FreeType by me, is a donation by Adobe in collaboration with Google. Werner Lemberg Add a new Type 2 interpreter and hinter. Chris Liddell * src/cff/cffgload.c: Include FT_CFF_DRIVER_H. Werner Lemberg * src/cff/cf2blues.c: Remove dead code. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned values for computation of operands and convert to signed as the last step. * src/cff/cf2intrp.c (cf2_interpT2CharString) : Use unsigned values for computations and convert to signed as the last step. (cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed, unused. * src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt, cf2_fracToFixed): Avoid shifts of negative values. (FT_PEEK_SHORT, FT_PEEK_LONG, FT_PEEK_OFF3, FT_PEEK_SHORT_LE, FT_PEEK_LONG_LE, FT_PEEK_OFF3_LE): Use unsigned values for computations and convert to signed as the last step. * include/freetype/internal/ftstream.h: Simplify and fix integer extraction macros. Werner Lemberg Fix errors reported by clang's `sanitize' feature. * src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto. * src/psaux/psconv.c (PS_Conv_ToFixed): Ditto. * src/cid/cidload.c (cid_get_offset): Ditto. * src/cff/cffparse.c (cff_parse_integer, cff_parse_real, do_fixed, cff_parse_fixed_dynamic): Use unsigned values for computations which use the left shift operator and convert to signed as the last step. * src/cff/cffload.c (cff_subfont_load): Fix constant. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify. * src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate, FT_Vector_Length, FT_Vector_Polarize): Ditto. * src/base/ftcalc.c (FT_DivFix): Use unsigned values for computations which use the left shift operator and convert to signed as the last step. Werner Lemberg More fixes for clang's `sanitize' feature. * src/cff/cf2blues.c (cf2_blues_init): Updated. * src/cff/cf2ft.c (cf2_getBlueValues, cf2_getOtherBlues, cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Updated. * src/cff/cf2ft.h (cf2_getBlueValues, cf2_getOtherBlues, cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Use `FT_Pos' for `data', not `CF2_Fixed'. Note that all blues values are accessed with the `cf2_blueToFixed' macro which handles the 64bit to 32bit conversion. Wrong casts filled up the blues arrays with incorrect values. `CF2_Fixed' expands to `int' which is normally 32bit wide on 64bit hosts also. On 64bit systems, `FT_Pos' expands to `long int', having a width of 64bit. Without this fix, glyphs aren't properly aligned on a common baseline. Reported by numerous people on the `freetype-devel' list. Werner Lemberg Make Adobe CFF engine work correctly on 64bit hosts. * src/cff/cffparse.c (cff_parse_integer): Ditto. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Ditto. * src/cff/cf2intrp.c (cf2_interpT2CharString) : Force unsigned for computations. * src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate): Use correct types. * src/raster/ftraster.c (ULong): New typedef. * src/base/fttrigon.c: Remove typedef of `FT_Int64'. * src/base/ftcalc.c: Remove typedef of `FT_Int64'. * include/freetype/config/ftconfig.h : Typedef `FT_Int64' here. Werner Lemberg Fix 64bit compilation issues. * src/base/md5.c (body): Use proper cast. Werner Lemberg * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Typo. * builds/unix/configure.raw (version_info): Set to 16:1:10. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. * README, Jamfile (RefDoc), builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, builds/win32/visualce/freetype.vcproj, builds/win32/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.4.11/2.4.12/, s/2411/2412/. * docs/VERSION.DLL: Update documentation and bump version number to 2.4.12. Werner Lemberg * Version 2.4.12 released.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |