From ba18b95196a2621b499e4233d34d8f10dec60ac3 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Fri, 31 May 2013 15:02:21 +0300 Subject: [PATCH] [3party] Updated freetype to 2.4.12 --- 3party/freetype/ChangeLog | 928 ++++++++- 3party/freetype/ChangeLog.23 | 2 +- 3party/freetype/Jamfile | 2 +- 3party/freetype/README | 46 +- 3party/freetype/autogen.sh | 4 +- .../freetype/builds/amiga/src/base/ftdebug.c | 43 +- .../freetype/builds/atari/deflinejoiner.awk | 6 +- 3party/freetype/builds/compiler/bcc-dev.mk | 2 +- 3party/freetype/builds/unix/aclocal.m4 | 3 +- 3party/freetype/builds/unix/config.guess | 43 +- 3party/freetype/builds/unix/config.sub | 61 +- 3party/freetype/builds/unix/configure | 24 +- 3party/freetype/builds/unix/configure.ac | 10 +- 3party/freetype/builds/unix/configure.raw | 8 +- 3party/freetype/builds/unix/detect.mk | 7 +- .../freetype/builds/unix/freetype-config.in | 30 +- 3party/freetype/builds/unix/freetype2.in | 12 +- 3party/freetype/builds/unix/ftconfig.in | 79 +- 3party/freetype/builds/unix/unix-def.in | 62 +- 3party/freetype/builds/win32/ftdebug.c | 28 +- .../freetype/builds/win32/vc2005/index.html | 10 +- .../freetype/builds/win32/vc2008/index.html | 10 +- .../freetype/builds/win32/vc2010/index.html | 10 +- .../builds/win32/visualc/freetype.dsp | 20 +- .../freetype/builds/win32/visualc/index.html | 10 +- .../builds/win32/visualce/freetype.dsp | 20 +- .../freetype/builds/win32/visualce/index.html | 10 +- 3party/freetype/builds/wince/ftdebug.c | 22 +- .../builds/wince/vc2005-ce/index.html | 10 +- .../builds/wince/vc2008-ce/index.html | 10 +- 3party/freetype/configure | 34 +- 3party/freetype/devel/ftoption.h | 2 +- 3party/freetype/docs/CHANGES | 94 +- 3party/freetype/docs/INSTALL.UNIX | 8 +- 3party/freetype/docs/LICENSE.TXT | 3 + 3party/freetype/docs/VERSION.DLL | 3 +- 3party/freetype/docs/formats.txt | 2 +- .../docs/reference/ft2-auto_hinter.html | 6 +- .../docs/reference/ft2-base_interface.html | 7 +- .../docs/reference/ft2-basic_types.html | 32 +- .../docs/reference/ft2-bdf_fonts.html | 4 +- .../docs/reference/ft2-bitmap_handling.html | 4 +- 3party/freetype/docs/reference/ft2-bzip2.html | 4 +- .../docs/reference/ft2-cache_subsystem.html | 4 +- .../docs/reference/ft2-cff_driver.html | 138 ++ .../docs/reference/ft2-cid_fonts.html | 4 +- .../docs/reference/ft2-computations.html | 16 +- .../docs/reference/ft2-font_formats.html | 4 +- .../docs/reference/ft2-gasp_table.html | 4 +- .../docs/reference/ft2-glyph_management.html | 6 +- .../docs/reference/ft2-glyph_stroker.html | 6 +- .../docs/reference/ft2-glyph_variants.html | 4 +- .../docs/reference/ft2-gx_validation.html | 4 +- 3party/freetype/docs/reference/ft2-gzip.html | 4 +- .../reference/ft2-header_file_macros.html | 37 +- .../docs/reference/ft2-incremental.html | 4 +- 3party/freetype/docs/reference/ft2-index.html | 513 ++--- .../docs/reference/ft2-lcd_filtering.html | 18 +- .../docs/reference/ft2-list_processing.html | 4 +- 3party/freetype/docs/reference/ft2-lzw.html | 4 +- .../docs/reference/ft2-mac_specific.html | 4 +- .../docs/reference/ft2-module_management.html | 4 +- .../docs/reference/ft2-multiple_masters.html | 4 +- .../docs/reference/ft2-ot_validation.html | 4 +- .../reference/ft2-outline_processing.html | 8 +- .../docs/reference/ft2-pfr_fonts.html | 4 +- .../docs/reference/ft2-quick_advance.html | 4 +- .../freetype/docs/reference/ft2-raster.html | 4 +- .../docs/reference/ft2-sfnt_names.html | 4 +- .../docs/reference/ft2-sizes_management.html | 4 +- .../docs/reference/ft2-system_interface.html | 4 +- 3party/freetype/docs/reference/ft2-toc.html | 22 +- .../docs/reference/ft2-truetype_engine.html | 4 +- .../docs/reference/ft2-truetype_tables.html | 4 +- .../docs/reference/ft2-type1_tables.html | 4 +- .../docs/reference/ft2-user_allocation.html | 4 +- .../freetype/docs/reference/ft2-version.html | 6 +- .../docs/reference/ft2-winfnt_fonts.html | 4 +- .../include/freetype/config/ftconfig.h | 18 +- .../include/freetype/config/ftheader.h | 15 +- .../include/freetype/config/ftmodule.h | 18 +- .../include/freetype/config/ftoption.h | 26 +- 3party/freetype/include/freetype/freetype.h | 17 +- 3party/freetype/include/freetype/ftautoh.h | 2 +- 3party/freetype/include/freetype/ftcffdrv.h | 150 ++ 3party/freetype/include/freetype/ftchapters.h | 14 + 3party/freetype/include/freetype/fterrdef.h | 4 +- 3party/freetype/include/freetype/fterrors.h | 23 +- 3party/freetype/include/freetype/ftglyph.h | 2 +- 3party/freetype/include/freetype/ftimage.h | 2 +- 3party/freetype/include/freetype/ftlcdfil.h | 38 + 3party/freetype/include/freetype/ftmoderr.h | 64 +- 3party/freetype/include/freetype/ftoutln.h | 2 + 3party/freetype/include/freetype/ftstroke.h | 2 +- 3party/freetype/include/freetype/fttrigon.h | 10 +- 3party/freetype/include/freetype/fttypes.h | 28 +- .../include/freetype/internal/ftcalc.h | 21 +- .../include/freetype/internal/ftdebug.h | 19 +- .../include/freetype/internal/ftserv.h | 76 +- .../include/freetype/internal/ftstream.h | 47 +- .../include/freetype/internal/fttrace.h | 7 +- .../include/freetype/internal/psaux.h | 4 + .../include/freetype/internal/tttypes.h | 9 +- 3party/freetype/modules.cfg | 56 +- 3party/freetype/src/autofit/afcjk.c | 15 +- 3party/freetype/src/autofit/afdummy.c | 6 +- 3party/freetype/src/autofit/afglobal.c | 10 +- 3party/freetype/src/autofit/afhints.c | 26 +- 3party/freetype/src/autofit/afindic.c | 4 +- 3party/freetype/src/autofit/aflatin.c | 18 +- 3party/freetype/src/autofit/aflatin2.c | 97 +- 3party/freetype/src/autofit/afloader.c | 10 +- 3party/freetype/src/autofit/afmodule.c | 26 +- 3party/freetype/src/autofit/afpic.c | 4 +- 3party/freetype/src/autofit/afpic.h | 2 +- 3party/freetype/src/base/basepic.c | 7 +- 3party/freetype/src/base/basepic.h | 45 +- 3party/freetype/src/base/ftadvanc.c | 20 +- 3party/freetype/src/base/ftbbox.c | 253 ++- 3party/freetype/src/base/ftbdf.c | 6 +- 3party/freetype/src/base/ftbitmap.c | 24 +- 3party/freetype/src/base/ftcalc.c | 98 +- 3party/freetype/src/base/ftcid.c | 8 +- 3party/freetype/src/base/ftdebug.c | 23 +- 3party/freetype/src/base/ftgloadr.c | 7 +- 3party/freetype/src/base/ftglyph.c | 24 +- 3party/freetype/src/base/ftgxval.c | 16 +- 3party/freetype/src/base/ftinit.c | 6 +- 3party/freetype/src/base/ftlcdfil.c | 14 +- 3party/freetype/src/base/ftmac.c | 67 +- 3party/freetype/src/base/ftmm.c | 20 +- 3party/freetype/src/base/ftobjs.c | 260 ++- 3party/freetype/src/base/ftotval.c | 10 +- 3party/freetype/src/base/ftoutln.c | 101 +- 3party/freetype/src/base/ftpfr.c | 12 +- 3party/freetype/src/base/ftpic.c | 3 +- 3party/freetype/src/base/ftrfork.c | 36 +- 3party/freetype/src/base/ftsnames.c | 2 +- 3party/freetype/src/base/ftstream.c | 55 +- 3party/freetype/src/base/ftstroke.c | 14 +- 3party/freetype/src/base/ftsystem.c | 8 +- 3party/freetype/src/base/fttrigon.c | 227 +-- 3party/freetype/src/base/fttype1.c | 4 +- 3party/freetype/src/base/ftutil.c | 13 +- 3party/freetype/src/base/ftwinfnt.c | 2 +- 3party/freetype/src/base/md5.c | 295 +++ 3party/freetype/src/base/md5.h | 45 + 3party/freetype/src/base/rules.mk | 7 +- 3party/freetype/src/bdf/bdfdrivr.c | 28 +- 3party/freetype/src/bdf/bdflib.c | 95 +- 3party/freetype/src/bzip2/ftbzip2.c | 26 +- 3party/freetype/src/cache/ftcbasic.c | 16 +- 3party/freetype/src/cache/ftccache.c | 7 +- 3party/freetype/src/cache/ftccache.h | 7 +- 3party/freetype/src/cache/ftcmanag.c | 16 +- 3party/freetype/src/cache/ftcmru.h | 4 +- 3party/freetype/src/cache/ftcsbits.c | 10 +- 3party/freetype/src/cff/cf2arrst.c | 241 +++ 3party/freetype/src/cff/cf2arrst.h | 100 + 3party/freetype/src/cff/cf2blues.c | 578 ++++++ 3party/freetype/src/cff/cf2blues.h | 185 ++ 3party/freetype/src/cff/cf2error.c | 52 + 3party/freetype/src/cff/cf2error.h | 119 ++ 3party/freetype/src/cff/cf2fixed.h | 95 + 3party/freetype/src/cff/cf2font.c | 401 ++++ 3party/freetype/src/cff/cf2font.h | 114 ++ 3party/freetype/src/cff/cf2ft.c | 637 ++++++ 3party/freetype/src/cff/cf2ft.h | 147 ++ 3party/freetype/src/cff/cf2glue.h | 144 ++ 3party/freetype/src/cff/cf2hints.c | 1733 +++++++++++++++++ 3party/freetype/src/cff/cf2hints.h | 287 +++ 3party/freetype/src/cff/cf2intrp.c | 1501 ++++++++++++++ 3party/freetype/src/cff/cf2intrp.h | 83 + 3party/freetype/src/cff/cf2read.c | 112 ++ 3party/freetype/src/cff/cf2read.h | 68 + 3party/freetype/src/cff/cf2stack.c | 205 ++ 3party/freetype/src/cff/cf2stack.h | 106 + 3party/freetype/src/cff/cf2types.h | 78 + 3party/freetype/src/cff/cff.c | 13 +- 3party/freetype/src/cff/cffcmap.c | 6 +- 3party/freetype/src/cff/cffdrivr.c | 149 +- 3party/freetype/src/cff/cffgload.c | 204 +- 3party/freetype/src/cff/cffgload.h | 39 +- 3party/freetype/src/cff/cffload.c | 57 +- 3party/freetype/src/cff/cffobjs.c | 42 +- 3party/freetype/src/cff/cffobjs.h | 12 +- 3party/freetype/src/cff/cffparse.c | 46 +- 3party/freetype/src/cff/cffpic.c | 70 +- 3party/freetype/src/cff/cffpic.h | 29 +- 3party/freetype/src/cff/cfftypes.h | 5 +- 3party/freetype/src/cff/rules.mk | 19 +- 3party/freetype/src/cid/cidgload.c | 10 +- 3party/freetype/src/cid/cidload.c | 26 +- 3party/freetype/src/cid/cidobjs.c | 12 +- 3party/freetype/src/cid/cidparse.c | 8 +- 3party/freetype/src/cid/cidriver.c | 12 +- 3party/freetype/src/gxvalid/gxvcommn.c | 4 +- 3party/freetype/src/gxvalid/gxverror.h | 6 +- 3party/freetype/src/gxvalid/gxvmod.c | 10 +- 3party/freetype/src/gzip/ftgzip.c | 26 +- 3party/freetype/src/lzw/ftlzw.c | 16 +- 3party/freetype/src/otvalid/otverror.h | 4 +- 3party/freetype/src/otvalid/otvmod.c | 8 +- 3party/freetype/src/pcf/README | 2 +- 3party/freetype/src/pcf/pcfdrivr.c | 32 +- 3party/freetype/src/pcf/pcfread.c | 117 +- 3party/freetype/src/pfr/pfrcmap.c | 8 +- 3party/freetype/src/pfr/pfrdrivr.c | 10 +- 3party/freetype/src/pfr/pfrgload.c | 16 +- 3party/freetype/src/pfr/pfrload.c | 28 +- 3party/freetype/src/pfr/pfrobjs.c | 14 +- 3party/freetype/src/pfr/pfrsbit.c | 16 +- 3party/freetype/src/psaux/afmparse.c | 35 +- 3party/freetype/src/psaux/psconv.c | 4 +- 3party/freetype/src/psaux/psobjs.c | 137 +- 3party/freetype/src/psaux/t1decode.c | 66 +- 3party/freetype/src/pshinter/pshalgo.c | 8 +- 3party/freetype/src/pshinter/pshalgo.h | 11 +- 3party/freetype/src/pshinter/pshpic.c | 9 +- 3party/freetype/src/pshinter/pshpic.h | 4 +- 3party/freetype/src/pshinter/pshrec.c | 48 +- 3party/freetype/src/psnames/psmodule.c | 7 +- 3party/freetype/src/psnames/pspic.c | 6 +- 3party/freetype/src/raster/ftraster.c | 58 +- 3party/freetype/src/raster/ftrend1.c | 21 +- 3party/freetype/src/raster/rastpic.c | 32 +- 3party/freetype/src/raster/rastpic.h | 18 +- 3party/freetype/src/sfnt/sfdriver.c | 26 +- 3party/freetype/src/sfnt/sferrors.h | 4 +- 3party/freetype/src/sfnt/sfntpic.c | 17 +- 3party/freetype/src/sfnt/sfntpic.h | 22 +- 3party/freetype/src/sfnt/sfobjs.c | 94 +- 3party/freetype/src/sfnt/ttbdf.c | 16 +- 3party/freetype/src/sfnt/ttcmap.c | 60 +- 3party/freetype/src/sfnt/ttkern.c | 2 +- 3party/freetype/src/sfnt/ttload.c | 26 +- 3party/freetype/src/sfnt/ttmtx.c | 12 +- 3party/freetype/src/sfnt/ttpost.c | 22 +- 3party/freetype/src/sfnt/ttsbit.c | 37 +- 3party/freetype/src/sfnt/ttsbit0.c | 92 +- 3party/freetype/src/smooth/ftgrays.c | 60 +- 3party/freetype/src/smooth/ftsmooth.c | 20 +- 3party/freetype/src/smooth/ftspic.c | 35 +- 3party/freetype/src/smooth/ftspic.h | 17 +- 3party/freetype/src/tools/cordic.py | 62 +- 3party/freetype/src/tools/docmaker/tohtml.py | 2 +- 3party/freetype/src/tools/ftrandom/README | 2 +- 3party/freetype/src/tools/test_afm.c | 2 +- 3party/freetype/src/tools/test_bbox.c | 34 +- 3party/freetype/src/tools/test_trig.c | 5 +- 3party/freetype/src/truetype/ttdriver.c | 16 +- 3party/freetype/src/truetype/ttgload.c | 87 +- 3party/freetype/src/truetype/ttgxvar.c | 42 +- 3party/freetype/src/truetype/ttinterp.c | 782 ++++---- 3party/freetype/src/truetype/ttinterp.h | 46 +- 3party/freetype/src/truetype/ttobjs.c | 48 +- 3party/freetype/src/truetype/ttobjs.h | 16 +- 3party/freetype/src/truetype/ttpic.c | 12 +- 3party/freetype/src/truetype/ttpload.c | 26 +- 3party/freetype/src/truetype/ttsubpix.c | 877 ++++++++- 3party/freetype/src/truetype/ttsubpix.h | 853 +------- 3party/freetype/src/type1/t1afm.c | 21 +- 3party/freetype/src/type1/t1driver.c | 12 +- 3party/freetype/src/type1/t1gload.c | 12 +- 3party/freetype/src/type1/t1load.c | 120 +- 3party/freetype/src/type1/t1objs.c | 17 +- 3party/freetype/src/type1/t1parse.c | 20 +- 3party/freetype/src/type42/t42drivr.c | 11 +- 3party/freetype/src/type42/t42objs.c | 21 +- 3party/freetype/src/type42/t42parse.c | 40 +- 3party/freetype/src/winfonts/winfnt.c | 60 +- 271 files changed, 13735 insertions(+), 4037 deletions(-) create mode 100644 3party/freetype/docs/reference/ft2-cff_driver.html create mode 100644 3party/freetype/include/freetype/ftcffdrv.h create mode 100644 3party/freetype/src/base/md5.c create mode 100644 3party/freetype/src/base/md5.h create mode 100644 3party/freetype/src/cff/cf2arrst.c create mode 100644 3party/freetype/src/cff/cf2arrst.h create mode 100644 3party/freetype/src/cff/cf2blues.c create mode 100644 3party/freetype/src/cff/cf2blues.h create mode 100644 3party/freetype/src/cff/cf2error.c create mode 100644 3party/freetype/src/cff/cf2error.h create mode 100644 3party/freetype/src/cff/cf2fixed.h create mode 100644 3party/freetype/src/cff/cf2font.c create mode 100644 3party/freetype/src/cff/cf2font.h create mode 100644 3party/freetype/src/cff/cf2ft.c create mode 100644 3party/freetype/src/cff/cf2ft.h create mode 100644 3party/freetype/src/cff/cf2glue.h create mode 100644 3party/freetype/src/cff/cf2hints.c create mode 100644 3party/freetype/src/cff/cf2hints.h create mode 100644 3party/freetype/src/cff/cf2intrp.c create mode 100644 3party/freetype/src/cff/cf2intrp.h create mode 100644 3party/freetype/src/cff/cf2read.c create mode 100644 3party/freetype/src/cff/cf2read.h create mode 100644 3party/freetype/src/cff/cf2stack.c create mode 100644 3party/freetype/src/cff/cf2stack.h create mode 100644 3party/freetype/src/cff/cf2types.h diff --git a/3party/freetype/ChangeLog b/3party/freetype/ChangeLog index b5c7d13aa2..a72c6db45a 100644 --- a/3party/freetype/ChangeLog +++ b/3party/freetype/ChangeLog @@ -1,3 +1,921 @@ +2013-05-08 Werner Lemberg + + * Version 2.4.12 released. + ========================== + + + Tag sources with `VER-2-4-12'. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.4.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/. + + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. + + * builds/unix/configure.raw (version_info): Set to 16:1:10. + +2013-05-08 Werner Lemberg + + * docs/CHANGES: Updated. + +2013-05-08 Werner Lemberg + + * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Typo. + +2013-05-05 Werner Lemberg + + Synchronize `ftconfig.h'. + + * builds/unix/ftconfig.in: Updated. + +2013-05-05 Werner Lemberg + + Fix compilation with C++. + + * src/base/md5.c (body): Use proper cast. + +2013-05-05 Werner Lemberg + + Fix 64bit compilation issues. + + * include/freetype/config/ftconfig.h [FT_LONG64]: Typedef + `FT_Int64' here. + + * src/base/ftcalc.c: Remove typedef of `FT_Int64'. + (FT_DivFix): Fix cast. + * src/base/fttrigon.c: Remove typedef of `FT_Int64'. + +2013-05-05 Werner Lemberg + + [raster] Fix clang issues. + + Fix suggested by . + + * src/raster/ftraster.c (ULong): New typedef. + (SCALED): Add proper cast. + +2013-05-04 Werner Lemberg + + Fix clang fixes. + + * src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate): Use + correct types. + + * src/cff/cf2intrp.c (cf2_interpT2CharString) : Force + unsigned for computations. + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Ditto. + * src/cff/cffparse.c (cff_parse_integer): Ditto. + + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto. + +2013-05-04 Werner Lemberg + + [cff] Make Adobe CFF engine work correctly on 64bit hosts. + + Reported by numerous people on the `freetype-devel' list. Without + this fix, glyphs aren't properly aligned on a common baseline. + + On 64bit systems, `FT_Pos' expands to `long int', having a width of + 64bit. `CF2_Fixed' expands to `int' which is normally 32bit wide on + 64bit hosts also. Wrong casts filled up the blues arrays with + incorrect values. Note that all blues values are accessed with the + `cf2_blueToFixed' macro which handles the 64bit to 32bit conversion. + + * src/cff/cf2ft.h (cf2_getBlueValues, cf2_getOtherBlues, + cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Use `FT_Pos' for + `data', not `CF2_Fixed'. + * src/cff/cf2ft.c (cf2_getBlueValues, cf2_getOtherBlues, + cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Updated. + * src/cff/cf2blues.c (cf2_blues_init): Updated. + +2013-05-04 Werner Lemberg + + More fixes for clang's `sanitize' feature. + + * 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. + * src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate, + FT_Vector_Length, FT_Vector_Polarize): Ditto. + + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify. + * src/cff/cffload.c (cff_subfont_load): Fix constant. + * 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/cid/cidload.c (cid_get_offset): Ditto. + + * src/psaux/psconv.c (PS_Conv_ToFixed): Ditto. + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto. + + * src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto. + +2013-05-04 Werner Lemberg + + Fix errors reported by clang's `sanitize' feature. + + * include/freetype/internal/ftstream.h: Simplify and fix integer + extraction macros. + (FT_INT8_, FT_BYTE_I16, FT_BYTE_I32, FT_INT8_I16, FT_INT8_I32, + FT_INT8_I32, FT_INT8_U32): Removed. + (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. + + * src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt, + cf2_fracToFixed): Avoid shifts of negative values. + (cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed, + unused. + + * src/cff/cf2intrp.c (cf2_interpT2CharString) : Use unsigned values for computations and convert to signed + as the last step. + Use proper types in tracing messages. + + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned + values for computation of operands and convert to signed as the last + step. + Use proper type in tracing message. + +2013-05-03 Werner Lemberg + + * src/cff/cf2blues.c: Remove dead code. + +2013-05-02 Chris Liddell + + * src/cff/cffgload.c: Include FT_CFF_DRIVER_H. + +2013-04-27 Werner Lemberg + + * docs/CHANGES: Updated. + * README: Improved. + +2013-04-13 Werner Lemberg + + [cff] Add a new Type 2 interpreter and hinter. + + This work, written by Dave Arnold and fully + integrated into FreeType by me, is a donation by Adobe in + collaboration with Google. It is vastly superior to the old CFF + engine, and it will replace it soon. 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. + + For convenience, (most of) the new files are committed separately. + + * include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro. + * include/freetype/ftcffdrv.h: New file to access CFF driver + properties. + * include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error + code. + * include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints', + and `cf2interp'. + + * src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'. + * src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine' + and `no_stem_darkening'. + * src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'. + + * src/cff/cff.c: Include new files. + * src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle + `hinting-engine' and `no-stem-darkening' properties (only the Adobe + engine listens to them). + * src/cff/cffgload.c: Include `cf2ft.h'. + (cff_decoder_prepare): Initialize `current_subfont'. + (cff_build_add_point): Handle Adobe engine which uses 16.16 + coordinates. + (cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING + separately. + Choose rendering engine based on `hinting_engine' property. + * src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe + engine. + * src/cff/cffobjs.c: Include FT_CFF_DRIVER_H. + (cff_driver_init): Set default property values. + + * src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files. + + * src/cff/cf2*.*: New files, containing the Adobe engine. + +2013-04-12 Werner Lemberg + + [cff] Minor code administration issues. + + * src/cff/cffgload.c (check_points): Rename to... + (cff_check_points): ...this and make it FT_LOCAL. + (cff_builder_add_point, cff_builder_add_point1, + cff_builder_start_point, cff_builder_close_contour, + cff_lookup_glyph_by_stdcharcode, cff_get_glyph_data, + cff_free_glyph_data): Make them FT_LOCAL. + + * src/cff/cffgload.h: Updated. + +2013-04-12 Werner Lemberg + + Add output bitmap checksums. + + Use `FT2_DEBUG=bitmap:3' for tracing. + + * src/base/md5.c, src/base/md5.h: New files, taken from + + http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 + + * include/freetype/internal/fttrace.h: Add `bitmap'. + + * src/base/ftobjs.c [FT_DEBUG_LEVEL_TRACE]: Include `md5.c' + + (FT_Render_Glyph_Internal) [FT_DEBUG_LEVEL_TRACE]: For tracing, + convert resulting bitmap to a uniform format and compute a checksum. + Use `bitmap' category for the tracing message. + + * src/base/rules.mk (BASE_H): Updated. + + * docs/LICENSE.TXT: Updated. + +2013-04-12 Werner Lemberg + + [cff] Add framework for CFF properties. + + * include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC7): + New macro. + + * src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H. + (cff_property_set, cff_property_get): New function, still empty. + Define `cff_service_properties' service. + Update `cff_services'. + + * src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H. + (CFF_SERVICE_PROPERTIES_GET): New macro. + CffModulePIC: Add `cff_service_properties'. + +2013-04-03 Werner Lemberg + + [bdf] Fix Savannah bug #38589. + + * src/bdf/bdflib.c (_bdf_readstream): Thinko. + +2013-03-31 Werner Lemberg + + * configure: Use egrep, not grep. + + Problem reported Mojca Miklavec . + +2013-03-29 Werner Lemberg + + * include/freetype/ftlcdfil.h: Add description of color filtering. + + Based on a contribution from Antti S. Lankila + (Savannah bug #38607). + +2013-03-23 Werner Lemberg + + [autofit] Minor. + + * src/autofit/afmodule.c (af_property_set): Typo. + (af_autofitter_init, af_autofitter_done): Use cast. + +2013-03-21 Werner Lemberg + + * configure: Automatically test for `gmake' also. + + Suggested by Mojca Miklavec . + +2013-03-21 Peter Breitenlohner + + Respect CONFIG_SHELL from the environment. + + Some large packages using FreeType have to use a broken (deficient) + /bin/sh. The configure scripts (as generated by Autoconf) are + clever enough to find a better shell and put that one into the + environment variable CONFIG_SHELL. If that environment variable is + already set the script skips the test and assumes to be already + running under a good shell. + + * builds/unix/detect.mk: Honour CONFIG_SHELL. + * builds/unix/unix-def.in (SHELL): Define. + +2013-03-21 Werner Lemberg + + Fix Savannah patch #7971. + + * configure: Handle MAKE environment variable also. + +2013-03-17 Werner Lemberg + + Fix Savannah bug #38538. + + * builds/amiga/src/base/ftdebug.c, builds/win32/ftdebug.c, + builds/wince/ftdebug.c (FT_Throw): Add function. + +2013-03-17 Werner Lemberg + + [raster] Remove dead code. + + * src/raster/rastpic.c (ft_raster1_renderer_class_pic_init) + src/smooth/ftspic.c (ft_smooth_renderer_class_pic_init): Do it. + +2013-03-17 Werner Lemberg + + * src/pshinter/pshpic.h (GET_PIC): Use correct container. + +2013-03-15 Werner Lemberg + + * include/freetype/ftmoderr.h: Fix commit from 2013-03-11. + + The previous version was not backwards compatible. Reported by + Behdad. + +2013-03-14 Werner Lemberg + + */*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate. + + FT_Err_XXX and friends are no longer directly used in the source + code. + +2013-03-14 Werner Lemberg + + New error management macros. + + * include/freetype/fterrors.h (FT_ERR_XCAT, FT_ERR_CAT): Move to... + * include/freetype/fttypes.h: ... this file. + (FT_ERR, FT_ERR_EQ, FT_ERR_NEQ, FT_MODERR_EQ, FT_MODERR_NEQ): New + macros. + + * include/freetype/freetype.h: Updated. + +2013-03-14 Werner Lemberg + + */*: Use FT_Err_Ok only. + + This is a purely mechanical conversion. + +2013-03-14 Werner Lemberg + + */*: Use `FT_THROW'. + + This is essentially a mechanical conversion, adding inclusion of + `FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for + stand-alone compiling modes of the rasterizer modules. + + To convert the remaining occurrences of FT_Err_XXX and friends it is + necessary to rewrite the code. Note, however, that it doesn't harm + if some cases are not handled since FT_THROW is a no-op. + +2013-03-13 Werner Lemberg + + Introduce `FT_THROW' macro. + + The idea is to replace code like + + return FT_Err_Foo_Bar; + + or + + return CFF_Err_Foo_Bar; + + with + + return FT_THROW( Foo_Bar ); + + The FT_THROW macro has two functions: + + . It hides the module specific prefix. + + . In debug mode, it calls the empty function `FT_Throw' which can + be thus used to set a breakpoint. + + * include/freetype/internal/ftdebug.h (FT_THROW): New macro. + (FT_Throw): New prototype. + * src/base/ftdebug.c (FT_Throw): New function. + +2013-03-12 Werner Lemberg + + Remove `FT_KEEP_ERR_PREFIX'. + + The idea is to always have FT_ERR_PREFIX available internally. + + * include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard + undefinition of FT_ERR_PREFIX + + * src/gxvalid/gxverror.h, src/otvalid/otverror.h, + src/sfnt/sferrors.h: Updated. + +2013-03-11 Werner Lemberg + + [gxvalid] Fix module error. + + * src/gxvalid/gxverror.h (FT_ERR_BASE): Define as + FT_Mod_Err_GXvalid. + * include/freetype/ftmoderr.h: Add module error for `GXvalid'. + +2013-03-11 Werner Lemberg + + Always use module related error codes. + + * src/cff/cffobjs.c (cff_face_init), src/type1/t1objs.c + (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Use + `FT_ERROR_BASE'. + + * src/type1/t1load.c (parse_encoding): Use + T1_Err_Unknown_File_Format. + +2013-03-08 Werner Lemberg + + [cff] Set `linear{Hori,Vert}Advance' for embedded bitmaps also. + + Problem reported by Khaled Hosny . + + * src/cff/cffgload.c (cff_slot_load): Implement it. + +2013-02-23 Alexei Podtelezhnikov + + [base] Fix commit ab02d9e8. + + * src/base/ftbbox.c (BBox_Cubic_Check): Change scaling to msb of 22. + +2013-02-19 Alexei Podtelezhnikov + + [base] New bisecting BBox_Cubic_Check (disabled). + + * src/base/ftbbox.c (BBox_Cubic_Check): New bisecting algorithm + for extremum search built around simple condition that defines + which half contains the extremum. + +2013-02-18 Alexei Podtelezhnikov + + [tools] Update BBox testing tool. + + * src/tools/test_bbox.c: Add another cubic outline with exact BBox. + (REPEAT): Increase the number of benchmarking cycles. + (profile_outline): Tweak output formatting. + +2013-02-02 Werner Lemberg + + Fix Savannah bug #38235. + + * builds/unix/configure.raw: Don't generate `freetype-config' and + `freetype.pc'. + + * builds/unix/unix-def.in (FT2_EXTRA_LIBS, LIBBZ2, LIBZ, + build_libtool_libs, ft_version): New variables to be substituted. + (freetype-config, freetype.pc): New rules to generate those files. + + * builds/unix/freetype-config.in: Remove code for handling `rpath'. + The use of $rpath has been accidentally removed in a patch from + 2009-12-22, and apparently noone has missed it since. + Use `%' instead of `@' as a variable substitution marker. + Use quotes. + + * builds/unix/freetype.in: Use `%' instead of `@' as a variable + substitution marker. + Use quotes. + +2013-02-07 Werner Lemberg + + * src/truetype/ttobjs.c (tt_size_run_prep): Reset more GS variables. + + BTW, Greg agrees that the OpenType specification is missing the list + of GS variables which will always be reset to the default values + after the `prep' table has been executed. + +2013-02-06 Werner Lemberg + + * src/truetype/ttobjs.c (tt_size_run_prep): Reset reference points. + + Up to now, we simply took a snapshot of the Graphics State after the + `prep' table has been executed, and right before a glyph's bytecode + was run it got reloaded. However, as Greg Hitchcock has told us in + private communication, reference points get reset to zero in the MS + rasterizer and we follow in due course. While reasonable, this is + undocumented behaviour. + + Most notably, this fixes the rendering of Arial's `x' glyph in + subpixel hinting mode. + +2013-02-05 Werner Lemberg + + [truetype] A better fix for Savannah bug #38211. + + * src/truetype/ttinterp.c (Ins_IP): Implement identical behaviour to + MS rasterizer if rp1 == rp2 (confirmed by Greg Hitchcock). + +2013-02-01 Alexei Podtelezhnikov + + [pcf] Streamline parsing of PCF encoding table. + + * src/pcf/pcfread.c (pcf_get_encodings): Use simpler double for-loop. + Reallocate array instead of using temporary storage. + +2013-02-01 Werner Lemberg + + Fix Savannah bug #38227. + + * builds/unix/freetype-config.in: Set LC_ALL. + +2013-02-01 Werner Lemberg + + Fix Savannah bug #38221. + + This complements commit 83c0ebab. + + * src/base/ftcalc.c (FT_MulDiv_No_Round): Don't enclose with + `TT_USE_BYTECODE_INTERPRETER'. + +2013-02-01 Werner Lemberg + + [truetype] Fix Savannah bug #38211. + + * src/truetype/ttinterp.c (Ins_IP): Make FreeType behave identical + to other interpreters if rp1 == rp2 (which is invalid). + +2013-01-28 Alexei Podtelezhnikov + + [base] Small optimization of BBox calculation. + + * src/base/ftbbox.c (BBox_Cubic_Check): Use FT_MSB function in + scaling algorithm. + +2013-01-26 Infinality + + [truetype] Minor formatting fix. + + * src/truetype/ttinterp.c: Updated. + (DO_RS): Fix indentation. + +2013-01-26 Infinality + + [truetype] Fix rasterizer_version logic in sph. + + * src/truetype/ttsubpix.c: Updated. + (ALWAYS_SKIP_DELTAP_Rules): Remove rule for Trebuchet MS. + (sph_set_tweaks): Fix `rasterizer_version' logic. + +2013-01-26 Infinality + + [truetype] Align more to ClearType whitepaper for sph. + + * include/freetype/internal/tttypes.h (TT_FaceRec): Add flags + for detected opcode patterns and compatibility mode. + + * src/truetype/ttgload.c (tt_loader_init): Complete conditional. + + * src/truetype/ttinterp.c: Updated. + Remove SPH_DEBUG and replace with FT_TRACE7. + (DO_RS): More conditions. + (Ins_FDEF): Add more opcode detection patterns. + More specific conditions when flagging an fdef. + Make compatibility mode only turn on when delta fdefs are found. + (Ins_CALL, Ins_LOOPCALL): Set flags for currently executed fdef. + (Ins_SHPIX): Remove logic to handle ttfautohinted fonts. + Simplify conditionals where possible. + Use `&' instead of `%' operator for dumb compilers. + (Ins_MIAP): Adjust twilight zone conditional. + Ensure `ignore_x_mode' is on when testing sph conditionals. + (Ins_MIRP): Ensure `ignore_x_mode' is on when testing sph + conditionals. + Do cvt cutin always when `ignore_x_mode' is active. + Remove test for ttfautohinted fonts. + (Ins_DELTAP): Ensure `ignore_x_mode' is on when testing sph + conditionals. + Do cvt cutin always when `ignore_x_mode' is active. + Remove test for ttfautohinted fonts. + Use `&' instead of `%' operator for dumb compilers. + (Ins_GETINFO): Remove SPH_DEBUG and replace with FT_TRACE7. + + * src/truetype/ttinterp.h: Updated. + (TT_ExecContextRec): Remove compatibility_mode variable. + Add variable to indicate when executing in special fdefs for sph. + + * src/truetype/ttobjs.h: Updated. + (TT_DefRecord): Add flags to identify special fdefs for sph. + (TT_SizeRec): Remove unnecessary ttfautohinted variable. + + * src/truetype/ttsubpix.c: Updated. + (COMPATIBILITY_MODE_Rules): Remove all. Auto-detected now. + (PIXEL_HINTING_Rules): Remove all. Unnecessary after fixes. + (SKIP_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu. + (SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Arial Bold `N'. + (SKIP_OFFPIXEL_Y_MOVES_Rules): Remove all. Happens automatically + now. + (ROUND_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu. + (ROUND_NONPIXEL_Y_MOVES_Rules_Exceptions): Remove all. + (NORMAL_ROUND_Rules): Remove Verdana. + (NO_DELTAP_AFTER_IUP_Rules): Remove all. + (sph_set_tweaks): Performance fix. Don't run prep always. + Adjust conditional for sph_compatibility_mode. + + * src/truetype/ttsubpix.h: Add new fdef flags for sph. + +2013-01-23 Alexei Podtelezhnikov + + [base] Fix broken emboldening at small sizes. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to + normalize zero-length vectors. + +2013-01-25 Werner Lemberg + + Fix Savannah bug #38167. + + This fixes commit 83c0ebab from 2012-06-27. + + * src/truetype/ttinterp.h: + s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/. + +2013-01-25 Xi Wang + + [sfnt] Fix broken pointer overflow checks. + + Many compilers such as gcc and clang optimize away pointer overflow + checks `p + n < p', because pointer overflow is undefined behavior. + Use a safe form `n > p_limit - p' instead. + + Also avoid possible integer overflow issues, for example, using + `num_glyphs > ( p_limit - p ) / 2' rather than `num_glyphs * 2' + given a large `num_glyphs'. + + * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Implement it. + +2013-01-25 Werner Lemberg + + [base] Fix `make multi'. + + * src/base/ftoutln.c, src/base/fttrigon.c: Include + FT_INTERNAL_CALC_H. + +2013-01-25 David 'Digit' Turner + + [truetype] Fix C++ compilation. + + * src/truetype/ttsubpix.h: Updated. + (SPH_X_SCALING_RULES_SIZE): Moved and renamed to... + * src/truetype/ttsubpix.c (X_SCALING_RULES_SIZE): This. + (sph_X_SCALING_Rules): Removed. + (scale_test_tweak): Make function static. + (sph_test_tweak_x_scaling): New function. + + * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Updated. + +2013-01-23 Werner Lemberg + + [base] Make `FT_Hypot' really internal. + + * include/freetype/fttrigon.h (FT_Hypot): Move to... + * include/freetype/internal/ftcalc.h: This file. + + * src/base/fttrigon.c (FT_Hypot): Move to... + * src/base/ftcalc.c: This file. + Include FT_TRIGONOMETRY_H. + + * src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H. + +2013-01-23 Werner Lemberg + + [truetype] Revert change from 2013-01-22. + + FreeType's `height' value is the baseline-to-baseline distance... + + * src/truetype/ttobjs.c (tt_size_reset): Undo. + +2013-01-23 Alexei Podtelezhnikov + + [base, truetype] New internal `FT_Hypot' function. + + * include/freetype/fttrigon.h (FT_Hypot): Declare it. + * src/base/fttrigon.c (FT_Hypot): Define it. + * src/truetype/ttgload.c (TT_Process_Composite_Component): Use it + instead of explicit expressions. + * src/truetype/ttinterp.c (Current_Ratio, Normalize): Use it instead + of TT_VecLen. + (TT_VecLen): Removed. + +2013-01-23 Alexei Podtelezhnikov + + [base] Fix integer overflow. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and + outgoing vectors and use fixed point arithmetic. + +2013-01-23 Alexei Podtelezhnikov + + [base] Fix integer overflow. + + * src/base/ftoutln.c (FT_Outline_Get_Orientation): Scale the + coordinates down to avoid overflow. + +2013-01-23 Alexei Podtelezhnikov + + [base] Split out MSB function. + + * src/base/fttrigon.c (ft_trig_prenorm): Borrow from here. + * include/freetype/internal/ftcalc.h (FT_MSB): Declare here. + * src/base/ftcalc.c (FT_MSB): Define here. + +2013-01-22 Werner Lemberg + + [truetype] Fix font height. + + * src/truetype/ttobjs.c (tt_size_reset): The Windows rendering + engine uses rounded values of the ascender and descender to compute + the TrueType font height. + +2013-01-16 Behdad Esfahbod + + [sfnt] Fix optimized sbit loader. + + It was not taking bit_depth into consideration when blitting! + + * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned, + * tt_sbit_decoder_load_bit_aligned): Handle bit + depth. + +2013-01-16 David 'Digit' Turner + + [truetype] Improve sub-pixel code. + + This patches fixes many issues with the ttsubpix implementation. + + 1. Data tables are defined, instead of declared, in the header, and + thus copied into each source file that includes it. + + 2. These tables were defined as global, mutable, visible variables, + and thus costing private RAM to every process that loads the + library (> 50 KB / process, this is huge!). + + Additionally, this also made the library export the symbols + completely needlessly. + + 3. Missing `sph_' and `SPH_' prefixes to some of the definitions. + + Note that this doesn't try to fix the incredibly inefficient storage + format for the data tables used by the code. This one will require + another pass in the future. + + * src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS): + Renamed to... + (SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This. + Update all users. + + (SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where + appropriate. + + (Font_Class): Rename to... + (SPH_Font_Class): This. Decorate with `const' where appropriate. + + * src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak): + Decorate arguments with `const' where appropriate. + + Move font tweaking tables to... + + * src/truetype/ttsubpic.c: This file and decorate them with `static' + and `const' where appropriate. + + (X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to... + (spu_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This. + Update all users. + +2013-01-12 Alexei Podtelezhnikov + + [truetype] Improve accuracy of normalization of short vectors. + + Unit vector components are stored as 2.14 fixed-point numbers. In + order to calculate all 14 bits accurately, a short vector to be + normalized has to be upscaled to at least 14 bits before its length + is calculated. This has been safe since accurate CORDIC algorithms + were adopted. + + * src/truetype/ttinterp.c (Normalize): Scale short vectors by 0x4000. + +2013-01-12 Alexei Podtelezhnikov + + [truetype] Kill very old vector normalization hacks. + + Back in the days, vector length calculations were not very accurate + and the vector normalization function, Normalize, had to meticulously + correct the errors for long vectors [commit b7ef2b096867]. It was no + longer necessary after accurate CORDIC algorithms were adopted, but + the code remained. It is time to kill it. + + * src/truetype/ttinterp.c (Normalize): Remove error compensation. + (TT_VecLen): Remove any mention of old less accurate implementation. + +2013-01-11 Werner Lemberg + + Disable FT_CONFIG_OPTION_OLD_INTERNALS. + + After the next release we are going to remove the code completely. + + * devel/ftoption.h, include/freetype/config/ftoption.h + (FT_CONFIG_OPTION_OLD_INTERNALS): Comment out. + * docs/CHANGES: Document it. + +2013-01-10 Alexei Podtelezhnikov + + [base] Update the overflow protection bit. + + The recent optimizations of CORDIC iterations drastically reduce the + expansion factor. Vector components with MSB of 29 are now safe + from overflow. + + * src/base/fttrigon.c (FT_TRIG_SAFE_MSB): New macro. + (ft_trig_prenorm): Use it and remove dead code. + +2013-01-09 Alexei Podtelezhnikov + + [base, pshinter] Use FT_ABS, FT_MIN, and FT_MAX for readability. + + * src/base/ftbbox.c: Updated. + * src/base/ftobjs.c: Updated. + * src/base/fttrigon.c: Updated. + * src/pshinter/pshalgo.c: Updated. + * src/pshinter/pshrec.c: Updated. + +2013-01-08 Alexei Podtelezhnikov + + [base] Clean up trigonometric core. + + * src/base/fttrigon.c: Document the algorithm in a large comment. + (FT_TRIG_COSCALE): Remove macro. + (FT_Tan: Use `FT_TRIG_SCALE' instead. + (FT_Cos, FT_Vector_Unit): Ditto and round the return values. + +2013-01-02 Alexei Podtelezhnikov + + [base] Use rounding in CORDIC iterations. + + * src/base/fttrigon.c (ft_trig_pseudo_rotate, + ft_trig_pseudo_polarize): Improve accuracy by rounding. + +2013-01-02 Alexei Podtelezhnikov + + [base] Reduce trigonometric algorithms. + + After we get within 45 degrees by means of true 90-degree rotations, + we can remove initial 45-degree CORDIC iteration and start from + atan(1/2) pseudorotation, reducing expansion factor thereby. + + * src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macros. + (ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Update. + + * src/tools/cordic.py: Bring up to date with trigonometric core. + + * docs/CHANGES: Old typo. + +2013-01-02 Alexei Podtelezhnikov + + * src/pshinter/pshalgo.h: Remove unused code. + +2012-12-27 Werner Lemberg + + * src/truetype/ttgload.c (tt_loader_init): Add more tracing. + +2012-12-23 Werner Lemberg + + [type1] Fix handling of /FontBBox in MM fonts. + Problem reported by Del Merritt + + If we have + + /FontBBox { { 11 12 13 14 15 16 17 18 } + { 21 22 23 24 25 26 27 28 } + { 31 32 33 34 35 36 37 38 } + { 41 42 43 44 45 46 47 48 } } + + in the /Blend dictionary, then the first BBox is { 11 21 31 41 }, + the second { 12 22 32 42 }, etc. + + * include/freetype/internal/psaux.h (T1_FieldType): Add + `T1_FIELD_TYPE_MM_BBOX' (for temporary use). + + * src/psaux/psobjs.c (ps_parser_load_field) : + Implement it. + +2012-12-21 Alexei Podtelezhnikov + + * src/tools/cordic.py: Bring up to date with trigonometric core. + +2012-12-21 Werner Lemberg + + Check parameters of `FT_Outline_New'. + Problem reported by Robin Watts . + + * src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that + `numContours' and `numPoints' fit into FT_Outline's `n_points' and + `n_contours', respectively. + 2012-12-20 Werner Lemberg * Version 2.4.11 released. @@ -25,7 +943,7 @@ builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.4.10/2.4.11/, s/2410/2411/. - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11. * builds/unix/configure.raw (version_info): Set to 16:0:10. @@ -170,7 +1088,7 @@ The dot product between freeVector and projVector or cosine of the angle between these FT_F2Dot14 unit vectors used to be scaled up by 4 and routinely occupied 32 bits in an FT_Long field F_dot_P. - This patch scales the value down by 2^14 instead, which simplifies + This patch scales the value down by 2^14 instead, which simplifies its use throughout the bytecode interpreter. This does not lead to the loss of precision because the lower bits @@ -183,7 +1101,7 @@ Besides code simplification, this change can lead to better performance when FT_MulDiv with the scaled-down F_dot_P is less likely to use the costly 64-bit path. We are not changing the type - of F_dot_P to FT_F2Dot14 at this point. + of F_dot_P to FT_F2Dot14 at this point. * src/truetype/ttinterp.c (Compute_Funcs): Scale F_dot_P down by 14 bits and modify its use accordingly. @@ -389,7 +1307,7 @@ [truetype] Cheaper way to threshold angles between vectors. * src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot - cheaper than thresholding sine. + cheaper than thresholding sine. 2012-10-20 Werner Lemberg @@ -5426,7 +6344,7 @@ ---------------------------------------------------------------------------- -Copyright 2010-2012 by +Copyright 2010-2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, modified, diff --git a/3party/freetype/ChangeLog.23 b/3party/freetype/ChangeLog.23 index bc46c84a04..1a23848f88 100644 --- a/3party/freetype/ChangeLog.23 +++ b/3party/freetype/ChangeLog.23 @@ -6668,7 +6668,7 @@ 2007-01-10 Derek Clegg - * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point + * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point values. 2007-01-08 David Turner diff --git a/3party/freetype/Jamfile b/3party/freetype/Jamfile index b3d48279bd..716ee596c7 100644 --- a/3party/freetype/Jamfile +++ b/3party/freetype/Jamfile @@ -195,7 +195,7 @@ rule RefDoc actions RefDoc { - python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.4.11 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h + python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.4.12 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h } RefDoc refdoc ; diff --git a/3party/freetype/README b/3party/freetype/README index 068e623a10..c4feb1a24b 100644 --- a/3party/freetype/README +++ b/3party/freetype/README @@ -1,14 +1,19 @@ - FreeType 2.4.11 + FreeType 2.4.12 =============== + Homepage: http://www.freetype.org + + FreeType is a freely available software library to render fonts. + + It is written in C, designed to be small, efficient, highly + customizable, and portable while capable of producing high-quality + output (glyph images) of most vector and bitmap font formats. + Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION. - Read the files `docs/INSTALL' for installation instructions. - - See the file `docs/LICENSE.TXT' for the available licenses. Note - that we use ranges (`2008-2010') for copyright years also instead of - listing individual years (`2008, 2009, 2010'). + Read the files `docs/INSTALL*' for installation instructions; see + the file `docs/LICENSE.TXT' for the available licenses. The FreeType 2 API reference is located in `docs/reference'; use the file `ft2-doc.html' as the top entry point. Additional @@ -19,9 +24,30 @@ and download one of the following files. - freetype-doc-2.4.11.tar.bz2 - freetype-doc-2.4.11.tar.gz - ftdoc2411.zip + freetype-doc-2.4.12.tar.bz2 + freetype-doc-2.4.12.tar.gz + ftdoc2412.zip + + To view the documentation online, go to + + http://www.freetype.org/freetype2/documentation.html + + + Mailing Lists + ============= + + The preferred way of communication with the FreeType team is using + e-mail lists. + + general use and discussion: freetype@nongnu.org + engine internals, porting, etc.: freetype-devel@nongnu.org + announcements: freetype-announce@nongnu.org + + The lists are moderated; see + + http://www.freetype.org/contact.html + + how to subscribe. Bugs @@ -44,7 +70,7 @@ ---------------------------------------------------------------------- -Copyright 2006-2012 by +Copyright 2006-2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/3party/freetype/autogen.sh b/3party/freetype/autogen.sh index 9f2fb6a3e8..0eaba395b5 100755 --- a/3party/freetype/autogen.sh +++ b/3party/freetype/autogen.sh @@ -55,7 +55,7 @@ compare_to_minimum_version () if test $MAJOR1 -lt $MAJOR2; then echo 0 return - else + else if test $MAJOR1 -gt $MAJOR2; then echo 1 return @@ -67,7 +67,7 @@ compare_to_minimum_version () if test $MINOR1 -lt $MINOR2; then echo 0 return - else + else if test $MINOR1 -gt $MINOR2; then echo 1 return diff --git a/3party/freetype/builds/amiga/src/base/ftdebug.c b/3party/freetype/builds/amiga/src/base/ftdebug.c index 5284e697ae..d3c5eaddd9 100644 --- a/3party/freetype/builds/amiga/src/base/ftdebug.c +++ b/3party/freetype/builds/amiga/src/base/ftdebug.c @@ -2,9 +2,9 @@ /* */ /* ftdebug.c */ /* */ -/* Debugging and logging component (body). */ +/* Debugging and logging component for amiga (body). */ /* */ -/* Copyright 1996-2001, 2002, 2004, 2005 by */ +/* Copyright 1996-2001, 2002, 2004, 2005, 2013 by */ /* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -41,12 +41,12 @@ /*************************************************************************/ -/* - * Based on the default ftdebug.c, - * replaced vprintf() with KVPrintF(), - * commented out exit(), - * replaced getenv() with GetVar(). - */ + /* + * Based on the default ftdebug.c, + * replaced vprintf() with KVPrintF(), + * commented out exit(), + * replaced getenv() with GetVar(). + */ #include #include @@ -59,9 +59,9 @@ #include #ifndef __amigaos4__ -extern struct Library *DOSBase; + extern struct Library *DOSBase; #else -extern struct DOSIFace *IDOS; + extern struct DOSIFace *IDOS; #endif @@ -75,13 +75,13 @@ extern struct DOSIFace *IDOS; /* documentation is in ftdebug.h */ FT_BASE_DEF( void ) - FT_Message( const char* fmt, ... ) + FT_Message( const char* fmt, + ... ) { va_list ap; va_start( ap, fmt ); -/* vprintf( fmt, ap ); */ KVPrintF( fmt, ap ); va_end( ap ); } @@ -90,19 +90,34 @@ extern struct DOSIFace *IDOS; /* documentation is in ftdebug.h */ FT_BASE_DEF( void ) - FT_Panic( const char* fmt, ... ) + FT_Panic( const char* fmt, + ... ) { va_list ap; va_start( ap, fmt ); -/* vprintf( fmt, ap ); */ KVPrintF( fmt, ap ); va_end( ap ); /* exit( EXIT_FAILURE ); */ } + + /* documentation is in ftdebug.h */ + + FT_BASE_DEF( int ) + FT_Throw( FT_Error error, + int line, + const char* file ) + { + FT_UNUSED( error ); + FT_UNUSED( line ); + FT_UNUSED( file ); + + return 0; + } + #endif /* FT_DEBUG_LEVEL_ERROR */ diff --git a/3party/freetype/builds/atari/deflinejoiner.awk b/3party/freetype/builds/atari/deflinejoiner.awk index c872a70d86..16d9e6dd93 100644 --- a/3party/freetype/builds/atari/deflinejoiner.awk +++ b/3party/freetype/builds/atari/deflinejoiner.awk @@ -15,7 +15,7 @@ function shift( array, \ function init_cpp_src_line() { logical_line = "" - delete break_pos + delete break_pos } @@ -110,8 +110,8 @@ function shrink_spaces_to_linebreak( pos, \ { for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ ) ; - - if ( break_pos[i] < 1 ) + + if ( break_pos[i] < 1 ) return; part_str = substr( logical_line, pos, break_pos[i] - pos + 1 ) diff --git a/3party/freetype/builds/compiler/bcc-dev.mk b/3party/freetype/builds/compiler/bcc-dev.mk index 63a46ad168..42a99b0c00 100644 --- a/3party/freetype/builds/compiler/bcc-dev.mk +++ b/3party/freetype/builds/compiler/bcc-dev.mk @@ -53,7 +53,7 @@ L := # Target flag -- no trailing space. # T := -o -TE := -e +TE := -e # C flags diff --git a/3party/freetype/builds/unix/aclocal.m4 b/3party/freetype/builds/unix/aclocal.m4 index 0940200fdb..b9312147fa 100644 --- a/3party/freetype/builds/unix/aclocal.m4 +++ b/3party/freetype/builds/unix/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.12.5 -*- Autoconf -*- +# generated automatically by aclocal 1.13.1 -*- Autoconf -*- # Copyright (C) 1996-2012 Free Software Foundation, Inc. @@ -11,6 +11,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, diff --git a/3party/freetype/builds/unix/config.guess b/3party/freetype/builds/unix/config.guess index 872b96a161..2055429b1a 100755 --- a/3party/freetype/builds/unix/config.guess +++ b/3party/freetype/builds/unix/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2012-09-25' +timestamp='2013-04-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -22,19 +20,17 @@ timestamp='2012-09-25' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -54,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -889,6 +883,9 @@ EOF if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -927,6 +924,11 @@ EOF #ifdef __dietlibc__ LIBC=dietlibc #endif + #else + #include + #ifdef __UCLIBC__ + LIBC=uclibc + #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" @@ -959,6 +961,9 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -1001,7 +1006,9 @@ EOF echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + LIBC=gnu + test -r /lib/libc.so && od -An -S13 /lib/libc.so | grep -q __uClibc_main && LIBC=uclibc + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu diff --git a/3party/freetype/builds/unix/config.sub b/3party/freetype/builds/unix/config.sub index 89b1286300..8b612ab89d 100755 --- a/3party/freetype/builds/unix/config.sub +++ b/3party/freetype/builds/unix/config.sub @@ -1,24 +1,18 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2012-10-10' +timestamp='2013-04-24' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . @@ -26,11 +20,12 @@ timestamp='2012-10-10' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -73,9 +68,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -259,7 +252,7 @@ case $basic_machine in | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc \ + | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ @@ -293,16 +286,17 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ - | or32 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ @@ -372,7 +366,7 @@ case $basic_machine in | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ @@ -410,12 +404,13 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ @@ -1026,7 +1021,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1353,7 +1352,7 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1499,9 +1498,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1593,6 +1589,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/3party/freetype/builds/unix/configure b/3party/freetype/builds/unix/configure index ba987277d1..8f03c152d5 100755 --- a/3party/freetype/builds/unix/configure +++ b/3party/freetype/builds/unix/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeType 2.4.11. +# Generated by GNU Autoconf 2.69 for FreeType 2.4.12. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' -PACKAGE_VERSION='2.4.11' -PACKAGE_STRING='FreeType 2.4.11' +PACKAGE_VERSION='2.4.12' +PACKAGE_STRING='FreeType 2.4.12' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' @@ -1302,7 +1302,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures FreeType 2.4.11 to adapt to many kinds of systems. +\`configure' configures FreeType 2.4.12 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1367,7 +1367,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType 2.4.11:";; + short | recursive ) echo "Configuration of FreeType 2.4.12:";; esac cat <<\_ACEOF @@ -1482,7 +1482,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType configure 2.4.11 +FreeType configure 2.4.12 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2080,7 +2080,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by FreeType $as_me 2.4.11, which was +It was created by FreeType $as_me 2.4.12, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2436,7 +2436,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't forget to update docs/VERSION.DLL! -version_info='16:0:10' +version_info='16:1:10' ft_version=`echo $version_info | tr : .` @@ -12814,7 +12814,7 @@ ac_config_headers="$ac_config_headers ftconfig.h:ftconfig.in" # create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk' # and `builds/unix/unix-cc.mk' that will be used by the build system # -ac_config_files="$ac_config_files unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config freetype2.pc:freetype2.in" +ac_config_files="$ac_config_files unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in" # re-generate the Jamfile to use libtool now @@ -13327,7 +13327,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by FreeType $as_me 2.4.11, which was +This file was extended by FreeType $as_me 2.4.12, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13393,7 +13393,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeType config.status 2.4.11 +FreeType config.status 2.4.12 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -13803,8 +13803,6 @@ do "ftconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS ftconfig.h:ftconfig.in" ;; "unix-cc.mk") CONFIG_FILES="$CONFIG_FILES unix-cc.mk:unix-cc.in" ;; "unix-def.mk") CONFIG_FILES="$CONFIG_FILES unix-def.mk:unix-def.in" ;; - "freetype-config") CONFIG_FILES="$CONFIG_FILES freetype-config" ;; - "freetype2.pc") CONFIG_FILES="$CONFIG_FILES freetype2.pc:freetype2.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/3party/freetype/builds/unix/configure.ac b/3party/freetype/builds/unix/configure.ac index 7189d4e812..5d62cefd4f 100644 --- a/3party/freetype/builds/unix/configure.ac +++ b/3party/freetype/builds/unix/configure.ac @@ -2,7 +2,7 @@ # # Process this file with autoconf to produce a configure script. # -# Copyright 2001-2012 by +# Copyright 2001-2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -11,13 +11,13 @@ # indicate that you have read the license and understand and accept it # fully. -AC_INIT([FreeType], [2.4.11], [freetype@nongnu.org], [freetype]) +AC_INIT([FreeType], [2.4.12], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='16:0:10' +version_info='16:1:10' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -727,9 +727,7 @@ AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in], # and `builds/unix/unix-cc.mk' that will be used by the build system # AC_CONFIG_FILES([unix-cc.mk:unix-cc.in - unix-def.mk:unix-def.in - freetype-config - freetype2.pc:freetype2.in]) + unix-def.mk:unix-def.in]) # re-generate the Jamfile to use libtool now # diff --git a/3party/freetype/builds/unix/configure.raw b/3party/freetype/builds/unix/configure.raw index bf26061f02..b691ab36c1 100644 --- a/3party/freetype/builds/unix/configure.raw +++ b/3party/freetype/builds/unix/configure.raw @@ -2,7 +2,7 @@ # # Process this file with autoconf to produce a configure script. # -# Copyright 2001-2012 by +# Copyright 2001-2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='16:0:10' +version_info='16:1:10' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -727,9 +727,7 @@ AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in], # and `builds/unix/unix-cc.mk' that will be used by the build system # AC_CONFIG_FILES([unix-cc.mk:unix-cc.in - unix-def.mk:unix-def.in - freetype-config - freetype2.pc:freetype2.in]) + unix-def.mk:unix-def.in]) # re-generate the Jamfile to use libtool now # diff --git a/3party/freetype/builds/unix/detect.mk b/3party/freetype/builds/unix/detect.mk index b2ae4f42bc..0506e7d04b 100644 --- a/3party/freetype/builds/unix/detect.mk +++ b/3party/freetype/builds/unix/detect.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2002, 2003, 2004, 2006 by +# Copyright 1996-2000, 2002-2004, 2006, 2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -76,13 +76,14 @@ ifeq ($(PLATFORM),unix) have_Makefile := $(wildcard $(OBJ_DIR)/Makefile) + CONFIG_SHELL ?= /bin/sh setup: std_setup ifdef must_configure ifneq ($(have_Makefile),) # we are building FT2 not in the src tree - $(TOP_DIR)/builds/unix/configure $(value CFG) + $(CONFIG_SHELL) $(TOP_DIR)/builds/unix/configure $(value CFG) else - cd builds/unix; ./configure $(value CFG) + cd builds/unix; $(CONFIG_SHELL) ./configure $(value CFG) endif endif diff --git a/3party/freetype/builds/unix/freetype-config.in b/3party/freetype/builds/unix/freetype-config.in index 815367ba8e..2edcd1135b 100644 --- a/3party/freetype/builds/unix/freetype-config.in +++ b/3party/freetype/builds/unix/freetype-config.in @@ -1,6 +1,6 @@ #! /bin/sh # -# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 by +# Copyright 2000-2005, 2008, 2009, 2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -9,14 +9,15 @@ # indicate that you have read the license and understand and accept it # fully. -prefix=@prefix@ -exec_prefix=@exec_prefix@ -exec_prefix_set=no -includedir=@includedir@ -libdir=@libdir@ -enable_shared=@build_libtool_libs@ -wl=@wl@ -hardcode_libdir_flag_spec='@hardcode_libdir_flag_spec@' +LC_ALL=C +export LC_ALL + +prefix="%prefix%" +exec_prefix="%exec_prefix%" +exec_prefix_set="no" +includedir="%includedir%" +libdir="%libdir%" +enable_shared="%build_libtool_libs%" usage() { @@ -72,7 +73,7 @@ while test $# -gt 0 ; do echo_exec_prefix=yes ;; --version) - echo @ft_version@ + echo %ft_version% exit 0 ;; --ftversion) @@ -140,12 +141,9 @@ if test "$echo_cflags" = "yes" ; then fi if test "$echo_libs" = "yes" ; then - rpath= - if test "$enable_shared" = "yes" ; then - eval "rpath=\"$hardcode_libdir_flag_spec\"" - fi - libs="-lfreetype @LIBZ@ @LIBBZ2@ @FT2_EXTRA_LIBS@" - if test "${SYSROOT}$libdir" != "/usr/lib" && test "${SYSROOT}$libdir" != "/usr/lib64"; then + libs="-lfreetype %LIBZ% %LIBBZ2% %FT2_EXTRA_LIBS%" + if test "${SYSROOT}$libdir" != "/usr/lib" && + test "${SYSROOT}$libdir" != "/usr/lib64"; then echo -L${SYSROOT}$libdir $libs else echo $libs diff --git a/3party/freetype/builds/unix/freetype2.in b/3party/freetype/builds/unix/freetype2.in index b73180049a..c5c30276e9 100644 --- a/3party/freetype/builds/unix/freetype2.in +++ b/3party/freetype/builds/unix/freetype2.in @@ -1,12 +1,12 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ +prefix="%prefix%" +exec_prefix="%exec_prefix%" +libdir="%libdir%" +includedir="%includedir%" Name: FreeType 2 Description: A free, high-quality, and portable font engine. -Version: @ft_version@ +Version: %ft_version% Requires: Libs: -L${libdir} -lfreetype -Libs.private: @LIBZ@ @LIBBZ2@ @FT2_EXTRA_LIBS@ +Libs.private: %LIBZ% %LIBBZ2% %FT2_EXTRA_LIBS% Cflags: -I${includedir}/freetype2 -I${includedir} diff --git a/3party/freetype/builds/unix/ftconfig.in b/3party/freetype/builds/unix/ftconfig.in index 9531afda18..e0ad0ff1d9 100644 --- a/3party/freetype/builds/unix/ftconfig.in +++ b/3party/freetype/builds/unix/ftconfig.in @@ -4,7 +4,7 @@ /* */ /* UNIX-specific configuration file (specification only). */ /* */ -/* Copyright 1996-2004, 2006-2009, 2011 by */ +/* Copyright 1996-2004, 2006-2009, 2011, 2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -175,13 +175,77 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ - /* IntN types */ + /*
*/ + /* basic_types */ /* */ - /* Used to guarantee the size of some specific integers. */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* */ + /* FT_Int16 */ + /* */ + /* */ + /* A typedef for a 16bit signed integer type. */ + /* */ + typedef signed short FT_Int16; + + + /*************************************************************************/ + /* */ + /* */ + /* FT_UInt16 */ + /* */ + /* */ + /* A typedef for a 16bit unsigned integer type. */ /* */ - typedef signed short FT_Int16; typedef unsigned short FT_UInt16; + /* */ + + + /* this #if 0 ... #endif clause is for documentation purposes */ +#if 0 + + /*************************************************************************/ + /* */ + /* */ + /* FT_Int32 */ + /* */ + /* */ + /* A typedef for a 32bit signed integer type. The size depends on */ + /* the configuration. */ + /* */ + typedef signed XXX FT_Int32; + + + /*************************************************************************/ + /* */ + /* */ + /* FT_UInt32 */ + /* */ + /* A typedef for a 32bit unsigned integer type. The size depends on */ + /* the configuration. */ + /* */ + typedef unsigned XXX FT_UInt32; + + + /*************************************************************************/ + /* */ + /* */ + /* FT_Int64 */ + /* */ + /* A typedef for a 64bit signed integer type. The size depends on */ + /* the configuration. Only defined if there is real 64bit support; */ + /* otherwise, it gets emulated with a structure (if necessary). */ + /* */ + typedef signed XXX FT_Int64; + + /* */ + +#endif + #if FT_SIZEOF_INT == 4 typedef signed int FT_Int32; @@ -274,6 +338,10 @@ FT_BEGIN_HEADER #endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ +#ifdef FT_LONG64 + typedef FT_INT64 FT_Int64; +#endif + #define FT_BEGIN_STMNT do { #define FT_END_STMNT } while ( 0 ) @@ -336,7 +404,8 @@ FT_BEGIN_HEADER "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ : "=r"(a), "=&r"(t2), "=&r"(t) - : "r"(a), "r"(b) ); + : "r"(a), "r"(b) + : "cc" ); return a; } diff --git a/3party/freetype/builds/unix/unix-def.in b/3party/freetype/builds/unix/unix-def.in index d3ebc8b265..010607b90b 100644 --- a/3party/freetype/builds/unix/unix-def.in +++ b/3party/freetype/builds/unix/unix-def.in @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2002, 2004, 2006, 2008 by +# Copyright 1996-2000, 2002, 2004, 2006, 2008, 2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -12,13 +12,14 @@ # indicate that you have read the license and understand and accept it # fully. +SHELL := @SHELL@ TOP_DIR := $(shell cd $(TOP_DIR); pwd) -DELETE := rm -f -DELDIR := @RMDIR@ -CAT := cat -SEP := / +DELETE := rm -f +DELDIR := @RMDIR@ +CAT := cat +SEP := / # this is used for `make distclean' and `make install' OBJ_BUILD ?= $(BUILD_DIR) @@ -57,6 +58,13 @@ datadir := @datadir@ version_info := @version_info@ +# Variables needed for `freetype-config' and `freetype.pc'. +# +FT2_EXTRA_LIBS := @FT2_EXTRA_LIBS@ +LIBBZ2 := @LIBBZ2@ +LIBZ := @LIBZ@ +build_libtool_libs := @build_libtool_libs@ +ft_version := @ft_version@ # The directory where all library files are placed. # @@ -82,4 +90,48 @@ SYSTEM_ZLIB := @SYSTEM_ZLIB@ NO_OUTPUT := 2> /dev/null +# To support calls like +# +# configure --includedir='${libdir}'/freetype2/include +# +# we generate `freetype-config' and `freetype.pc' at compile time so that +# those variables are properly expanded. + +$(OBJ_BUILD)/freetype-config: $(TOP_DIR)/builds/unix/freetype-config.in + rm -f $@ $@.tmp + sed -e 's|%FT2_EXTRA_LIBS%|$(FT2_EXTRA_LIBS)|' \ + -e 's|%LIBBZ2%|$(LIBBZ2)|' \ + -e 's|%LIBZ%|$(LIBZ)|' \ + -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \ + -e 's|%exec_prefix%|$(exec_prefix)|' \ + -e 's|%ft_version%|$(ft_version)|' \ + -e 's|%includedir%|$(includedir)|' \ + -e 's|%libdir%|$(libdir)|' \ + -e 's|%prefix%|$(prefix)|' \ + $< \ + > $@.tmp + chmod +x $@.tmp + chmod a-w $@.tmp + mv $@.tmp $@ + +$(OBJ_BUILD)/freetype2.pc: $(TOP_DIR)/builds/unix/freetype2.in + rm -f $@ $@.tmp + sed -e 's|%FT2_EXTRA_LIBS%|$(FT2_EXTRA_LIBS)|' \ + -e 's|%LIBBZ2%|$(LIBBZ2)|' \ + -e 's|%LIBZ%|$(LIBZ)|' \ + -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \ + -e 's|%exec_prefix%|$(exec_prefix)|' \ + -e 's|%ft_version%|$(ft_version)|' \ + -e 's|%includedir%|$(includedir)|' \ + -e 's|%libdir%|$(libdir)|' \ + -e 's|%prefix%|$(prefix)|' \ + $< \ + > $@.tmp + chmod +x $@.tmp + chmod a-w $@.tmp + mv $@.tmp $@ + +all: $(OBJ_BUILD)/freetype-config \ + $(OBJ_BUILD)/freetype2.pc + # EOF diff --git a/3party/freetype/builds/win32/ftdebug.c b/3party/freetype/builds/win32/ftdebug.c index d1ca15ac95..baf1d4a652 100644 --- a/3party/freetype/builds/win32/ftdebug.c +++ b/3party/freetype/builds/win32/ftdebug.c @@ -4,7 +4,7 @@ /* */ /* Debugging and logging component for Win32 (body). */ /* */ -/* Copyright 1996-2001, 2002, 2005, 2008, 2009 by */ +/* Copyright 1996-2001, 2002, 2005, 2008, 2009, 2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -47,7 +47,6 @@ #ifdef FT_DEBUG_LEVEL_ERROR - #include #include #include @@ -55,8 +54,11 @@ #include + /* documentation is in ftdebug.h */ + FT_BASE_DEF( void ) - FT_Message( const char* fmt, ... ) + FT_Message( const char* fmt, + ... ) { static char buf[8192]; va_list ap; @@ -71,8 +73,11 @@ } + /* documentation is in ftdebug.h */ + FT_BASE_DEF( void ) - FT_Panic( const char* fmt, ... ) + FT_Panic( const char* fmt, + ... ) { static char buf[8192]; va_list ap; @@ -87,6 +92,21 @@ } + /* documentation is in ftdebug.h */ + + FT_BASE_DEF( int ) + FT_Throw( FT_Error error, + int line, + const char* file ) + { + FT_UNUSED( error ); + FT_UNUSED( line ); + FT_UNUSED( file ); + + return 0; + } + + #ifdef FT_DEBUG_LEVEL_TRACE diff --git a/3party/freetype/builds/win32/vc2005/index.html b/3party/freetype/builds/win32/vc2005/index.html index a380079d9f..236055c78c 100644 --- a/3party/freetype/builds/win32/vc2005/index.html +++ b/3party/freetype/builds/win32/vc2005/index.html @@ -11,14 +11,14 @@

This directory contains project files for Visual C++, named freetype.vcproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.11 sources:

+compiles the following libraries from the FreeType 2.4.12 sources:

    -    freetype2411.lib     - release build; single threaded
    -    freetype2411_D.lib   - debug build;   single threaded
    -    freetype2411MT.lib   - release build; multi-threaded
    -    freetype2411MT_D.lib - debug build;   multi-threaded
    + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/vc2008/index.html b/3party/freetype/builds/win32/vc2008/index.html index f064b228e4..13ad4a91b7 100644 --- a/3party/freetype/builds/win32/vc2008/index.html +++ b/3party/freetype/builds/win32/vc2008/index.html @@ -11,14 +11,14 @@

This directory contains project files for Visual C++, named freetype.vcproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.11 sources:

+compiles the following libraries from the FreeType 2.4.12 sources:

    -    freetype2411.lib     - release build; single threaded
    -    freetype2411_D.lib   - debug build;   single threaded
    -    freetype2411MT.lib   - release build; multi-threaded
    -    freetype2411MT_D.lib - debug build;   multi-threaded
    + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/vc2010/index.html b/3party/freetype/builds/win32/vc2010/index.html index 9c4dd0bbc8..a7f4dbd4b7 100644 --- a/3party/freetype/builds/win32/vc2010/index.html +++ b/3party/freetype/builds/win32/vc2010/index.html @@ -11,14 +11,14 @@

This directory contains a project file for Visual C++, named freetype.vcxproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.11 sources:

+compiles the following libraries from the FreeType 2.4.12 sources:

    -    freetype2411.lib     - release build; single threaded
    -    freetype2411_D.lib   - debug build;   single threaded
    -    freetype2411MT.lib   - release build; multi-threaded
    -    freetype2411MT_D.lib - debug build;   multi-threaded
    + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/visualc/freetype.dsp b/3party/freetype/builds/win32/visualc/freetype.dsp index 2544dc83c1..643eab806a 100644 --- a/3party/freetype/builds/win32/visualc/freetype.dsp +++ b/3party/freetype/builds/win32/visualc/freetype.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug" @@ -78,7 +78,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" @@ -102,8 +102,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype2411_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2412_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" @@ -126,8 +126,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype2411.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2412.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" @@ -151,8 +151,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype2411ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2412.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype2412ST.lib" # SUBTRACT LIB32 /nologo !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" @@ -177,8 +177,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2412_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412ST_D.lib" !ENDIF diff --git a/3party/freetype/builds/win32/visualc/index.html b/3party/freetype/builds/win32/visualc/index.html index 684dbfd695..aae4f417b5 100644 --- a/3party/freetype/builds/win32/visualc/index.html +++ b/3party/freetype/builds/win32/visualc/index.html @@ -11,14 +11,14 @@

This directory contains project files for Visual C++, named freetype.dsp, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.11 sources:

+compiles the following libraries from the FreeType 2.4.12 sources:

    -    freetype2411.lib     - release build; single threaded
    -    freetype2411_D.lib   - debug build;   single threaded
    -    freetype2411MT.lib   - release build; multi-threaded
    -    freetype2411MT_D.lib - debug build;   multi-threaded
    + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/visualce/freetype.dsp b/3party/freetype/builds/win32/visualce/freetype.dsp index 2544dc83c1..643eab806a 100644 --- a/3party/freetype/builds/win32/visualce/freetype.dsp +++ b/3party/freetype/builds/win32/visualce/freetype.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug" @@ -78,7 +78,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" @@ -102,8 +102,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype2411_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2412_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" @@ -126,8 +126,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype2411.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2412.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" @@ -151,8 +151,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype2411ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2412.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype2412ST.lib" # SUBTRACT LIB32 /nologo !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" @@ -177,8 +177,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2412_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412ST_D.lib" !ENDIF diff --git a/3party/freetype/builds/win32/visualce/index.html b/3party/freetype/builds/win32/visualce/index.html index e41c3cba54..fe6d63e7da 100644 --- a/3party/freetype/builds/win32/visualce/index.html +++ b/3party/freetype/builds/win32/visualce/index.html @@ -21,14 +21,14 @@ the following targets:

  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.4.11 sources:

    +It compiles the following libraries from the FreeType 2.4.12 sources:

      -    freetype2411.lib     - release build; single threaded
      -    freetype2411_D.lib   - debug build;   single threaded
      -    freetype2411MT.lib   - release build; multi-threaded
      -    freetype2411MT_D.lib - debug build;   multi-threaded
      + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/wince/ftdebug.c b/3party/freetype/builds/wince/ftdebug.c index 272415d3d0..cd105dc177 100644 --- a/3party/freetype/builds/wince/ftdebug.c +++ b/3party/freetype/builds/wince/ftdebug.c @@ -4,7 +4,7 @@ /* */ /* Debugging and logging component for WinCE (body). */ /* */ -/* Copyright 1996-2001, 2002, 2005, 2008, 2009 by */ +/* Copyright 1996-2001, 2002, 2005, 2008, 2009, 2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -71,7 +71,8 @@ FT_BASE_DEF( void ) - FT_Message( const char* fmt, ... ) + FT_Message( const char* fmt, + ... ) { static char buf[8192]; va_list ap; @@ -87,7 +88,8 @@ FT_BASE_DEF( void ) - FT_Panic( const char* fmt, ... ) + FT_Panic( const char* fmt, + ... ) { static char buf[8192]; va_list ap; @@ -102,6 +104,20 @@ } + /* documentation is in ftdebug.h */ + + FT_BASE_DEF( int ) + FT_Throw( FT_Error error, + int line, + const char* file ) + { + FT_UNUSED( error ); + FT_UNUSED( line ); + FT_UNUSED( file ); + + return 0; + } + #ifdef FT_DEBUG_LEVEL_TRACE diff --git a/3party/freetype/builds/wince/vc2005-ce/index.html b/3party/freetype/builds/wince/vc2005-ce/index.html index ff1e345f8e..533ce04169 100644 --- a/3party/freetype/builds/wince/vc2005-ce/index.html +++ b/3party/freetype/builds/wince/vc2005-ce/index.html @@ -21,14 +21,14 @@ the following targets:

  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.4.11 sources:

    +It compiles the following libraries from the FreeType 2.4.12 sources:

      -    freetype2411.lib     - release build; single threaded
      -    freetype2411_D.lib   - debug build;   single threaded
      -    freetype2411MT.lib   - release build; multi-threaded
      -    freetype2411MT_D.lib - debug build;   multi-threaded
      + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/wince/vc2008-ce/index.html b/3party/freetype/builds/wince/vc2008-ce/index.html index 97cca35fe9..206ee885c5 100644 --- a/3party/freetype/builds/wince/vc2008-ce/index.html +++ b/3party/freetype/builds/wince/vc2008-ce/index.html @@ -21,14 +21,14 @@ the following targets:

  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.4.11 sources:

    +It compiles the following libraries from the FreeType 2.4.12 sources:

      -    freetype2411.lib     - release build; single threaded
      -    freetype2411_D.lib   - debug build;   single threaded
      -    freetype2411MT.lib   - release build; multi-threaded
      -    freetype2411MT_D.lib - debug build;   multi-threaded
      + freetype2412.lib - release build; single threaded + freetype2412_D.lib - debug build; single threaded + freetype2412MT.lib - release build; multi-threaded + freetype2412MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/configure b/3party/freetype/configure index 55a24fdc59..4d8a945a5a 100755 --- a/3party/freetype/configure +++ b/3party/freetype/configure @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by +# Copyright 2002-2006, 2008-2010, 2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,19 +15,29 @@ rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk +# respect GNUMAKE environment variable for backwards compatibility if test "x$GNUMAKE" = x; then - GNUMAKE=make + if test "x$MAKE" = x; then + if test "x`make -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then + MAKE=gmake + else + MAKE=make + fi + fi +else + MAKE=$GNUMAKE fi -if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then - if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then - echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 - echo "Please try" >&2 - echo " \`GNUMAKE= $0'." >&2 - echo "or >&2" - echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2 - exit 1 - fi +if test "x`$MAKE -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then + echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 + echo "Please try" >&2 + echo >&2 + echo " MAKE= $0" >&2 + echo >&2 + echo "or" >&2 + echo >&2 + echo " MAKE=\"makepp --norc-substitution\" $0" >&2 + exit 1 fi # Get `dirname' functionality. This is taken and adapted from autoconf's @@ -120,6 +130,6 @@ case $# in esac done ;; esac -CFG=$CFG $GNUMAKE setup unix +CFG=$CFG $MAKE setup unix # eof diff --git a/3party/freetype/devel/ftoption.h b/3party/freetype/devel/ftoption.h index 6b2a40f839..32160045bc 100644 --- a/3party/freetype/devel/ftoption.h +++ b/3party/freetype/devel/ftoption.h @@ -4,7 +4,7 @@ /* */ /* User-selectable configuration macros (specification only). */ /* */ -/* Copyright 1996-2012 by */ +/* Copyright 1996-2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/3party/freetype/docs/CHANGES b/3party/freetype/docs/CHANGES index 18ec1945ad..c47e8e4c33 100644 --- a/3party/freetype/docs/CHANGES +++ b/3party/freetype/docs/CHANGES @@ -1,4 +1,94 @@ +CHANGES BETWEEN 2.4.11 and 2.4.12 + + I. IMPORTANT CHANGES + + - We have another CFF parsing and hinting engine! Written by Dave + Arnold , this work has been contributed by + Adobe in collaboration with Google. It is vastly superior to + the old CFF engine, and it will replace it in the next release. + 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: + + ... + #include FT_MODULE_H + #include FT_CFF_DRIVER_H + + FT_Library library; + int engine = FT_CFF_HINTING_ADOBE; + + + ... + FT_Property_Set( library, "cff", "hinting-engine", &engine ); + + The code has a (mature) beta status; we encourage all users to + test it and report any problems. + + In case you want to activate the new CFF engine unconditionally, + apply this patch: + +--- snip --- +diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c +index ebcf189..3f2ce6b 100644 +--- a/src/cff/cffobjs.c ++++ b/src/cff/cffobjs.c +@@ -1056,7 +1056,7 @@ + + + /* set default property values */ +- driver->hinting_engine = FT_CFF_HINTING_FREETYPE; ++ driver->hinting_engine = FT_CFF_HINTING_ADOBE; + driver->no_stem_darkening = FALSE; + + return FT_Err_Ok; +--- snip --- + + - The macro FT_CONFIG_OPTION_OLD_INTERNALS is no longer set by + default. In the next release, we will completely remove the + associated code. Please update your programs in case you are + still using this macro. + + + II. MISCELLANEOUS + + - The (top-level) `configure' script now respects the MAKE + environment variable to specify a `make' binary. For backwards + compatibility, GNUMAKE still overrides MAKE, though. + + - The `ftview' and `ftdiff' demo programs have been redesigned, + showing more options permanently on the screen, among other + minor improvements. + + - Using the `H' key, it is now possible to select the CFF engine + in both `ftview' and `ftdiff'. + + - The new command line option `-H' for `ftbench' selects the Adobe + CFF engine. + + - It is now possible to directly select the LCD rendering mode + with the keys `A'-`F' in `ftview'. The key mapping for cycling + through LCD modes has been changed from `K' and `L' to `k' and + `l', and toggling custom LCD filtering is no longer mapped to + key `F' but to key `L'. + + - In `ftdiff', key `x' toggles between layout modes: Either use + the advance width (this is new and now the default) or the + bounding box information to determine line breaks. + + - For all demo tools, the new command line option `-v' shows the + version. + + - For the demo tools with a GUI, the new command line options `-w' + and `-h' select the width and the height of the output window, + respectively. + + - The `ttdebug' program was broken and has been reactivated. Note + that this program is not compiled by default. + + +====================================================================== + CHANGES BETWEEN 2.4.10 and 2.4.11 I. IMPORTANT BUG FIXES @@ -2486,7 +2576,7 @@ CHANGES BETWEEN 2.0.3 and 2.0.2 number. see for details. - A new public header file has been introduced, named - FT_TRIGONOMETRY_H (include/freetype/fttrig.h), providing + FT_TRIGONOMETRY_H (include/freetype/fttrigon.h), providing trigonometric functions to compute sines, cosines, arctangents, etc. with 16.16 fixed precision. The implementation is based on the CORDIC algorithm and is very fast while being sufficiently @@ -3714,7 +3804,7 @@ Extensions support: ------------------------------------------------------------------------ -Copyright 2000-2012 by +Copyright 2000-2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/3party/freetype/docs/INSTALL.UNIX b/3party/freetype/docs/INSTALL.UNIX index 5dc0764ef6..7175ca0935 100644 --- a/3party/freetype/docs/INSTALL.UNIX +++ b/3party/freetype/docs/INSTALL.UNIX @@ -23,7 +23,7 @@ or MSys on Win32: fail. It is also fine to have GNU Make under another name (e.g. 'gmake') - if you use the GNUMAKE variable as described below. + if you use the MAKE variable as described below. As a special exception, 'makepp' can also be used to build FreeType 2. See the file docs/MAKEPP for details. @@ -61,11 +61,11 @@ or MSys on Win32: ./configure --prefix=/usr - When using a different command to invoke GNU Make, use the GNUMAKE + When using a different command to invoke GNU Make, use the MAKE variable. For example, if `gmake' is the command to use on your system, do something like: - GNUMAKE=gmake ./configure [options] + MAKE=gmake ./configure [options] gmake gmake install (as root) @@ -83,7 +83,7 @@ or MSys on Win32: ---------------------------------------------------------------------- -Copyright 2003, 2004, 2005, 2006, 2007 by +Copyright 2003-2007, 2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/3party/freetype/docs/LICENSE.TXT b/3party/freetype/docs/LICENSE.TXT index 62945c85fe..99dc342d76 100644 --- a/3party/freetype/docs/LICENSE.TXT +++ b/3party/freetype/docs/LICENSE.TXT @@ -30,5 +30,8 @@ file src/bdf/README and src/pcf/README). The gzip module uses the zlib license (see src/gzip/zlib.h) which too is compatible to the above two licenses. +The MD5 checksum support (only used for debugging in development builds) +is in the public domain. + --- end of LICENSE.TXT --- diff --git a/3party/freetype/docs/VERSION.DLL b/3party/freetype/docs/VERSION.DLL index cf8c353252..e119d42438 100644 --- a/3party/freetype/docs/VERSION.DLL +++ b/3party/freetype/docs/VERSION.DLL @@ -52,6 +52,7 @@ on _most_ systems, but not all of them: release libtool so ------------------------------- + 2.4.12 16.1.10 6.10.1 2.4.11 16.0.10 6.10.0 2.4.10 15.0.9 6.9.0 2.4.9 14.1.8 6.8.1 @@ -108,7 +109,7 @@ other release numbers. ------------------------------------------------------------------------ -Copyright 2002-2012 by +Copyright 2002-2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/3party/freetype/docs/formats.txt b/3party/freetype/docs/formats.txt index 827c8947f8..aed885c89c 100644 --- a/3party/freetype/docs/formats.txt +++ b/3party/freetype/docs/formats.txt @@ -153,7 +153,7 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf for a specification given in Appendix D on pgs. 436-450. However, this information might be out of date; unfortunately, there is no - PCF specification available online, and this book is out of print. + PCF specification available online, and this book is out of print. George Williams deduced the font format from the X11 sources and documented it for his FontForge font editor: diff --git a/3party/freetype/docs/reference/ft2-auto_hinter.html b/3party/freetype/docs/reference/ft2-auto_hinter.html index 68a87d4ba9..b3d8a604f7 100644 --- a/3party/freetype/docs/reference/ft2-auto_hinter.html +++ b/3party/freetype/docs/reference/ft2-auto_hinter.html @@ -3,7 +3,7 @@ -FreeType-2.4.11 API Reference +FreeType-2.4.12 API Reference + + + + + +
    [Index][TOC]
    +

    FreeType-2.4.12 API Reference

    + +

    +The CFF driver +

    +

    Synopsis

    + + +
    hinting-engineFT_CFF_HINTING_XXXno-stem-darkening


    + +
    +

    While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The following lists the available properties together with the necessary macros and structures.

    +

    The CFF driver's module name is ‘cff’.

    +

    +
    +

    hinting-engine

    +
    +

    Thanks to Adobe, which contributed a new hinting (and parsing) engine, an application can select between ‘freetype’ and ‘adobe’.

    +

    Right now, the default engine is ‘freetype’. However, this will change: After a certain time of intensive testing it is planned to make ‘adobe’ the default due to its superior rendering results.

    +

    The following example code demonstrates how to select Adobe's hinting engine (omitting the error handling).

    +
    +  FT_Library  library;
    +  FT_Face     face;
    +  FT_UInt     hinting_engine = FT_CFF_HINTING_ADOBE;
    +
    +
    +  FT_Init_FreeType( &library );
    +
    +  FT_Property_Set( library, "cff",
    +                            "hinting-engine", &hinting_engine );
    +
    +

    +
    note
    +

    This property can be used with FT_Property_Get also.

    +
    +
    +
    + + +
    [Index][TOC]
    + +
    +

    FT_CFF_HINTING_XXX

    +
    +Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h). +

    +
    +
    +#define FT_CFF_HINTING_FREETYPE  0
    +#define FT_CFF_HINTING_ADOBE     1
    +
    +

    +
    +

    A list of constants used for the hinting-engine property to select the hinting engine for CFF fonts.

    +

    +
    values
    +

    + + + + +
    FT_CFF_HINTING_FREETYPE
    +

    Use the old FreeType hinting engine.

    +
    FT_CFF_HINTING_ADOBE +

    Use the hinting engine contributed by Adobe.

    +
    +
    +
    +
    + + +
    [Index][TOC]
    + +
    +

    no-stem-darkening

    +
    +

    By default, the Adobe CFF engine darkens stems at smaller sizes, regardless of hinting, to enhance contrast. Setting this property, stem darkening gets switched off.

    +

    Note that stem darkening is never applied if FT_LOAD_NO_SCALE is set.

    +
    +  FT_Library  library;
    +  FT_Face     face;
    +  FT_Bool     no_stem_darkening = TRUE;
    +
    +
    +  FT_Init_FreeType( &library );
    +
    +  FT_Property_Set( library, "cff",
    +                            "no-stem-darkening", &no_stem_darkening );
    +
    +

    +
    note
    +

    This property can be used with FT_Property_Get also.

    +
    +
    +
    + + +
    [Index][TOC]
    + + + diff --git a/3party/freetype/docs/reference/ft2-cid_fonts.html b/3party/freetype/docs/reference/ft2-cid_fonts.html index b49188e04f..51a878c1ef 100644 --- a/3party/freetype/docs/reference/ft2-cid_fonts.html +++ b/3party/freetype/docs/reference/ft2-cid_fonts.html @@ -3,7 +3,7 @@ -FreeType-2.4.11 API Reference +FreeType-2.4.12 API Reference