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
+
+
+
+
+FreeType-2.4.12 API Reference
+
+
+The CFF driver
+
+Synopsis
+
+
+
+ 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’.
+ |
+
+
+
+ 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 );
+
+ |
+
+ |
+
+
+
+
+
+
+Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h).
+ |
+
+
+ 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.
+ |
+
+ |
+ |
+
+
+
+
+
+
+ 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 );
+
+ |
+
+ |
+
+
+
+
+
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