texlive[42052] Build/source/libs: freetype 2.7.0

commits+kakuto at tug.org commits+kakuto at tug.org
Tue Sep 13 12:10:45 CEST 2016


Revision: 42052
          http://tug.org/svn/texlive?view=revision&revision=42052
Author:   kakuto
Date:     2016-09-13 12:10:45 +0200 (Tue, 13 Sep 2016)
Log Message:
-----------
freetype 2.7.0

Modified Paths:
--------------
    trunk/Build/source/libs/README
    trunk/Build/source/libs/freetype2/ChangeLog
    trunk/Build/source/libs/freetype2/configure
    trunk/Build/source/libs/freetype2/freetype-PATCHES/ChangeLog
    trunk/Build/source/libs/freetype2/freetype-PATCHES/TL-Changes
    trunk/Build/source/libs/freetype2/freetype-src/CMakeLists.txt
    trunk/Build/source/libs/freetype2/freetype-src/ChangeLog
    trunk/Build/source/libs/freetype2/freetype-src/Jamfile
    trunk/Build/source/libs/freetype2/freetype-src/README
    trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess
    trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub
    trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure
    trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac
    trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw
    trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/freetype.vcproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html
    trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/freetype.vcproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/freetype.vcproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/index.html
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/freetype.vcproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/index.html
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.dsp
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.dsp
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.vcproj
    trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html
    trunk/Build/source/libs/freetype2/freetype-src/devel/ftoption.h
    trunk/Build/source/libs/freetype2/freetype-src/docs/CHANGES
    trunk/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT
    trunk/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-auto_hinter.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-basic_types.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bdf_fonts.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bitmap_handling.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bzip2.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cid_fonts.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-computations.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_code_values.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_enumerations.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-font_formats.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gasp_table.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_management.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_stroker.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_variants.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gx_validation.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gzip.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_file_macros.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_inclusion.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-incremental.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-index.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lcd_filtering.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-list_processing.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lzw.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-mac_specific.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-module_management.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-multiple_masters.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-ot_validation.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-outline_processing.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-pfr_fonts.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-quick_advance.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-raster.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sfnt_names.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sizes_management.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-system_interface.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-toc.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_engine.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_tables.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-tt_driver.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-type1_tables.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-user_allocation.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-version.html
    trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-winfnt_fonts.html
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftautoh.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftcffdrv.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftttdrv.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdriver.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h
    trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h
    trunk/Build/source/libs/freetype2/freetype-src/modules.cfg
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.c
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.h
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afmodule.c
    trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h
    trunk/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c
    trunk/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c
    trunk/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2intrp.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2stack.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffdrivr.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffgload.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffload.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidload.c
    trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidparse.c
    trunk/Build/source/libs/freetype2/freetype-src/src/lzw/ftzopen.c
    trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfdriver.c
    trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfobjs.c
    trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttcmap.c
    trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttload.c
    trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttsbit.c
    trunk/Build/source/libs/freetype2/freetype-src/src/smooth/ftgrays.c
    trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/Makefile
    trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/README
    trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/ftrandom.c
    trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttdriver.c
    trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgload.c
    trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgxvar.c
    trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.c
    trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.h
    trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttobjs.h
    trunk/Build/source/libs/freetype2/freetype-src/src/type1/t1load.c
    trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42drivr.c
    trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c
    trunk/Build/source/libs/freetype2/freetype-src/src/winfonts/winfnt.c
    trunk/Build/source/libs/freetype2/version.ac

Added Paths:
-----------
    trunk/Build/source/libs/freetype2/freetype-src/ChangeLog.26

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/README	2016-09-13 10:10:45 UTC (rev 42052)
@@ -12,7 +12,7 @@
 cairo 1.14.6 - checked 28dec15
   http://cairographics.org/releases/
 
-freetype2 2.6.5 - checked 12jul16
+freetype2 2.7.0 - checked 13sep16
   http://savannah.nongnu.org/download/freetype/
 
 gd 2.1.1 - checked 14jan15

Modified: trunk/Build/source/libs/freetype2/ChangeLog
===================================================================
--- trunk/Build/source/libs/freetype2/ChangeLog	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/ChangeLog	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,3 +1,8 @@
+2016-09-13  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import freetype-2.7.0.
+	* version.ac: Adjusted.
+
 2016-07-12  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import freetype-2.6.5.

Modified: trunk/Build/source/libs/freetype2/configure
===================================================================
--- trunk/Build/source/libs/freetype2/configure	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/configure	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for FreeType (TeX Live) 2.6.5.
+# Generated by GNU Autoconf 2.69 for FreeType (TeX Live) 2.7.0.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='FreeType (TeX Live)'
 PACKAGE_TARNAME='freetype--tex-live-'
-PACKAGE_VERSION='2.6.5'
-PACKAGE_STRING='FreeType (TeX Live) 2.6.5'
+PACKAGE_VERSION='2.7.0'
+PACKAGE_STRING='FreeType (TeX Live) 2.7.0'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1235,7 +1235,7 @@
   # 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 (TeX Live) 2.6.5 to adapt to many kinds of systems.
+\`configure' configures FreeType (TeX Live) 2.7.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1302,7 +1302,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of FreeType (TeX Live) 2.6.5:";;
+     short | recursive ) echo "Configuration of FreeType (TeX Live) 2.7.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1398,7 +1398,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-FreeType (TeX Live) configure 2.6.5
+FreeType (TeX Live) configure 2.7.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1499,7 +1499,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by FreeType (TeX Live) $as_me 2.6.5, which was
+It was created by FreeType (TeX Live) $as_me 2.7.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3422,7 +3422,7 @@
 
 # Define the identity of the package.
  PACKAGE='freetype--tex-live-'
- VERSION='2.6.5'
+ VERSION='2.7.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4953,7 +4953,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by FreeType (TeX Live) $as_me 2.6.5, which was
+This file was extended by FreeType (TeX Live) $as_me 2.7.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5010,7 +5010,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-FreeType (TeX Live) config.status 2.6.5
+FreeType (TeX Live) config.status 2.7.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/freetype2/freetype-PATCHES/ChangeLog
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-PATCHES/ChangeLog	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-PATCHES/ChangeLog	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,3 +1,8 @@
+2016-09-13  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Imported freetype-2.7.0 source tree from:
+	  http://savannah.nongnu.org/download/freetype/
+
 2016-07-12  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Imported freetype-2.6.5 source tree from:

Modified: trunk/Build/source/libs/freetype2/freetype-PATCHES/TL-Changes
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-PATCHES/TL-Changes	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-PATCHES/TL-Changes	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,2 +1,2 @@
-Changes applied to the freetype-2.6.5/ tree as obtained from:
+Changes applied to the freetype-2.7.0/ tree as obtained from:
 	http://savannah.nongnu.org/download/freetype/.

Modified: trunk/Build/source/libs/freetype2/freetype-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/CMakeLists.txt	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/CMakeLists.txt	2016-09-13 10:10:45 UTC (rev 42052)
@@ -153,8 +153,8 @@
 
 
 set(VERSION_MAJOR "2")
-set(VERSION_MINOR "6")
-set(VERSION_PATCH "5")
+set(VERSION_MINOR "7")
+set(VERSION_PATCH "0")
 
 set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
 set(SHARED_LIBRARY_VERSION ${VERSION_MAJOR}.${VERSION_MINOR})

Modified: trunk/Build/source/libs/freetype2/freetype-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/ChangeLog	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/ChangeLog	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,16 +1,13 @@
-2016-07-12  Werner Lemberg  <wl at gnu.org>
+2016-09-08  Werner Lemberg  <wl at gnu.org>
 
-	* Version 2.6.5 released.
-	=========================
+	* Version 2.7 released.
+	=======================
 
 
-	Tag sources with `VER-2-6-5'.
+	Tag sources with `VER-2-7'.
 
-	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Comment out.
+	* docs/VERSION.TXT: Add entry for version 2.7.
 
-	* docs/VERSION.TXT: Add entry for version 2.6.5.
-
 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
 	builds/windows/vc2005/index.html,
 	builds/windows/vc2008/freetype.vcproj,
@@ -26,5596 +23,631 @@
 	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.6.4/2.6.5/, s/264/265/.
+	builds/wince/vc2008-ce/index.html: s/2.6.5/2.7/, s/265/27/.
 
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 7.
+	(FREETYPE_PATCH): Set to 0.
 
-	* builds/unix/configure.raw (version_info): Set to 18:5:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 5.
+	* builds/unix/configure.raw (version_info): Set to 18:6:12.
+	* CMakeLists.txt (VERSION_MINOR): Set to 7.
+	(VERSION_PATCH): Set to 0.
 
 	* docs/CHANGES: Updated.
 
-2016-07-09  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+2016-09-08  Werner Lemberg  <wl at gnu.org>
 
-	[mac] Fix ftexport.sym target in Jamfile.
+	* src/truetype/ttinterp.c: Include `ttgxvar.h'.
 
-	* Jamfile: Update the directories of the header files scanned for
-	ftexport.sym.  They were incorrect since the migration of the
-	header files, on 2015-06-22.  Either inexisting include/cache
-	(removed on 2006-03-20) is not needed to be listed explicitly.
-	Now ftmac.h is scanned only in the case of Mac OS & Mac OS X.
+	This fixes the `multi' build.
 
-2016-07-08  Alexei Podtelezhnikov  <apodtele at gmail.com>
+2016-09-08  Werner Lemberg  <wl at gnu.org>
 
-	[smooth] Sub-banding protocol revision.
+	[autofit] Another improvement to Armenian support.
 
-	Rasterization sub-banding is utilized at large sizes while using a
-	rather small fixed memory pool.  Indeed it is possible to make an
-	educated guess how much memory is necessary at a given size for a
-	given glyph.  It turns out that, for a large majority of European
-	glyphs, you should store about 8 times more boundary pixels than
-	their height.  Or, vice versa, if your memory pool can hold 800
-	pixels the band height should be 100 and you should sub-band
-	anything larger than that.  Should you still run out of memory,
-	FreeType bisects the band but you have wasted some time.  This is
-	what has been implemented in FreeType since the beginning.
+	Suggested by Hrant H Papazian <hpapazian at gmail.com>.
 
-	It was overlooked, however, that the top band could grow to twice
-	the default band size leading to unnecessary memory overflows there.
-	This commit fixes that.  Now the bands are distributed more evenly
-	and cannot exceed the default size.
+	* src/autofit/afscript.h: Use better suited characters to derive
+	default stem widths.
 
-	Now the magic number 8 is really suitable for rather simple European
-	scripts.  For complex Chinese logograms the magic number should be
-	13 but that is subject for another day.
+2016-09-07  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	* src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding
-	protocol.
+	* src/smooth/ftgrays.c (gray_hline): Microptimize.
 
-2016-07-07  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+2016-09-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	[mac] Fix Savannah bug #48417.
+	[smooth] Operate in absolute bitmap coordinates.
 
-	Mac OS X linker throws errors when `-exported_symbol_list' input
-	file includes non-existing symbols.  Reported by Ryan Schmidt.
+	Simpler bitmap addressing improves performance by 1.5%.
 
-	* builds/exports.mk: Exclude ftmac.h from the headers for apinames
-	by default.  Include it when ftmac.c would be compiled.
+	* src/smooth/ftgrays.c (gray_TWorker): Remove count fields.
+	(gray_dump_cells, gray_find_cell, gray_set_cell, gray_hline,
+	gray_sweep, gray_convert_glyph, gray_raster_render): Updated.
 
-2016-07-06  Werner Lemberg  <wl at gnu.org>
+2016-09-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	* src/truetype/ttinterp.c (TInstruction_Function): Removed, unused.
+	[smooth] Improve contour start (take 2).
 
-2016-07-05  Werner Lemberg  <wl at gnu.org>
+	* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
+	instead of...
+	(gray_start_cell): ... this function, which is removed.
+	(gray_convert_glyph): Make initial y-coordinate invalid.
 
-	* Version 2.6.4 released.
-	=========================
+2016-09-06  Werner Lemberg  <wl at gnu.org>
 
+	[type1] MM fonts support exactly zero named instances (#48748).
 
-	Tag sources with `VER-2-6-4'.
+	* src/type1/t1load.c (T1_Get_MM_Var): Set `num_namedstyles' to zero.
 
-	* docs/VERSION.TXT: Update documentation and bump version number to
-	2.6.4.
+2016-09-06  Jonathan Kew  <jfkthame at gmail.com>
 
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/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.6.3/2.6.4/, s/263/264/.
+	[cff] Fix uninitialized memory.
 
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+	Problem reported as
 
-	* builds/unix/configure.raw (version_info): Set to 18:4:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 4.
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1270288
 
-	* docs/CHANGES: Updated.
+	* src/cff/cf2interp.c (cf2_interpT2CharString): Initialize `storage'
+	array to handle a `get' opcode without a previous `put'.
 
-2016-07-05  Werner Lemberg  <wl at gnu.org>
+2016-09-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Fix compiler warning.
+	* src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert.
 
-2016-07-04  Alexei Podtelezhnikov  <apodtele at gmail.com>
+2016-09-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	[smooth] Variable type revision (part 2).
+	[smooth] Improve contour start.
 
-	* src/smooth/ftgrays.c (TArea): Restore original definition as `int'.
-	(gray_render_line) [FT_LONG64]: Updated.
-	(gray_convert_glyph): 32-bit band bisection stack should be 32 bands.
-	(gray_convert_glyph_inner): Trace successes and failures.
+	* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
+	instead of...
+	(gray_start_cell): ... this function, which is removed.
 
-2016-07-04  Werner Lemberg  <wl at gnu.org>
+2016-09-05  Werner Lemberg  <wl at gnu.org>
 
-	[autofit] Handle single-point contours as segments.
+	[cff] Fix memory initialization.
 
-	Doing so allows us to link them to edges – some fonts like
-	`NotoSansGurmukhi-Regular' have such isolated points sitting exactly
-	on other outlines.
+	* src/cff/cf2stack.c (cf2_stack_init): Use `FT_NEW'.  The `Q'
+	variants of FreeType's memory allocation macros don't do zeroing.
 
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Don't
-	ignore one-point contours but handle them specially as one-point
-	segments.
-	(af_latin_hints_compute_edges): Append one-point segments to edges
-	if possible.
+2016-09-05  Werner Lemberg  <wl at gnu.org>
 
-2016-07-02  Werner Lemberg  <wl at gnu.org>
+	[ftrandom] Minor improvements.
 
-	[autofit] Remove unused structure members.
+	* src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): New macro, set to
+	500.
 
-	* src/autofit/afhints.h (AF_SegmentRec, AF_EdgeRec): Remove
-	`num_linked'.
+	* src/tools/ftrandom/Makefile (CFLAGS): Split off include
+	directories to ...
+	(INCLUDES): ... this new variable.
+	(LDFLAGS): New variable.
+	(ftrandom.o, ftrandom): Updated.
 
-	* src/autofit/afcjk.c (af_cjk_hints_link_segments): Updated.
+2016-09-05  Werner Lemberg  <wl at gnu.org>
 
-2016-07-02  Werner Lemberg  <wl at gnu.org>
+	[autofit] Improve Armenian support.
 
-	[autofit] Update to Unicode 9.0.0.
+	Thanks to Hrant H Papazian <hpapazian at gmail.com> for help.
 
-	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
-	af_cyrl_uniranges): Add new data.
+	* src/autofit/afblue.dat (AF_BLUE_STRING_ARMENIAN_*): Improve
+	selection of characters.
 
-2016-07-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Variable type revision (part 1).
-
-	This patch restores original `TCoord' definition as `int' so that the
-	rendering pool is used more efficiently on LP64 platforms (unix).
-
-	* src/smooth/ftgrays.c (gray_TWorker, TCell, gray_TBand): Switch some
-	fields to `TCoord'.
-	(gray_find_cell, gray_render_scanline, gray_render_line, gray_hline,
-	gray_sweep, gray_convert_glyph): Updated.
-
-2016-06-28  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Minor clean-ups.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'.
-	(gray_sweep, gray_convert_glyph, gray_dump_cells): Updated.
-
-2016-06-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Minor clean-ups.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile
-	qualifier.
-	(gray_raster_render): Move span initializations from here.
-	(gray_sweep): ... to here and remove unused `target' argument.
-
-2016-06-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[pcf] Fix handling of very large fonts (#47708).
-
-	* src/pcf/pcfread.c (pcf_get_encodings): Make `encodingOffset' an
-	unsigned short.
-	Only reject `0xFFFF' as an invalid encoding offset.
-
-2016-06-25  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Really fix deallocation in case of error (#47726).
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize
-	`outline.points' also.
-
-2016-06-23  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Consolidate memory management.
-
-	* src/smooth/ftgrays.c (gray_init_cells): Remove function.
-	(gray_TWorker): Remove fields that become local variables.
-	(gray_raster_render): Move rendering buffer declaration from here.
-	(gray_convert_glyph): ... to here and update accordingly.
-
-2016-06-22  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Consolidate boundary checks.
-
-	Removing the checks from `gray_hline' shaves 1% off rendering speed.
-
-	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'.
-	(gray_TWorker): No need to store `clip_box'.
-	(gray_hline): Remove unnecessary boundary checks.
-	(gray_convert_glyph): Move boundary checks from here.
-	(gray_raster_render): ... to here and consolidate.
-
-2016-06-21  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Use `FT_Outline_Get_CBox'.
-
-	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'.
-	(gray_compute_cbox): Remove this function.
-	(gray_convert_glyph): Update to use `FT_Outline_Get_CBox'.
-
-2016-06-20  Werner Lemberg  <wl at gnu.org>
-
-	[smooth] Remove compiler warnings.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
-
-2016-06-20  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Sanitize memory managenent.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
-
-2016-06-18  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Remove `band_shoot' that never worked.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
-	(gray_convert_glyph): Updated.
-
-2016-06-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[raster, smooth] Handle FT_RENDER_POOL_SIZE better.
-
-	* src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro.
-	(ft_black_render): Updated.
-	* src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro.
-	(gray_raster_render): Updated.
-
-2016-06-16  Werner Lemberg  <wl at gnu.org>
-
-	* src/base/md5.c: Updated to recent version.
-
-2016-06-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
-
-2016-06-13  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Cherokee script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Cherokee.
-
 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 
-	* src/autofit/afscript.h: Add Cherokee standard characters.
+2016-09-04  Werner Lemberg  <wl at gnu.org>
 
-	* src/autofit/afranges.c: Add Cherokee data.
+	[ftrandom] Improve Makefile.
 
-	* src/autofit/afstyles.h: Add Cherokee data.
+	It now supports both a normal build (`./configure && make') and a
+	development build (`make devel').
 
-2016-06-09  David Capello  <davidcapello at gmail.com>
+	* src/tools/ftrandom/Makefile (VPATH): Set it so that
+	`libfreetype.a' gets searched in both `objs' (for the development
+	build) and `objs/.libs' (for a normal build which uses libtool).
+	(LIBS): Add missing libraries.
+	(ftrandom.o): New rule.
+	(ftrandom): Use automatic variables.
 
-	[cmake] Avoid modifying `ftconfig.h' and `ftoption.h' files.
+2016-09-03  Werner Lemberg  <wl at gnu.org>
 
-	* CMakeLists.txt: Each time cmake is run those files are
-	modified and the whole FreeType library is recompiled.  With this
-	change we change the files only if there are real modifications, so
-	we can avoid recompilations.
+	[truetype] More fixes for handling of GX deltas.
 
-2016-06-09  Werner Lemberg  <wl at gnu.org>
+	Problems reported by Bob Taylor <Bob.Taylor at monotype.com>.
 
-	[bdf] Check number of properties (#48166).
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix rough
+	sanity test for glyph variation array header size.
+	Always set stream position before reading packed x and y deltas.
+	Fix thinko w.r.t. `localpoints' array.
 
-	* src/bdf/bdflib.c (_bdf_parse_start): Implement.
+2016-09-03  Werner Lemberg  <wl at gnu.org>
 
-2016-06-08  Alexei Podtelezhnikov  <apodtele at gmail.com>
+	[ftrandom] Various fixes.
 
-	[smooth] Re-enable new line renderer on 64-bit archs.
+	* src/tools/ftrandom/ftrandom.c (GOOD_FONTS_DIR): Provide better
+	default.
+	(error_fraction): Make it of type `double' to work as advertized –
+	this was completely broken.
+	Update all related code.
+	(error_count, fcnt): Make it unsigned to fix compiler warnings.
+	Update all related code.
+	(fontlist): Change `len' member to `long' to fix compiler warnings.
+	(FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, abort_test): Tag
+	unused variables.
+	(TestFace, FindFonts, copyfont, do_test): Fix compiler warnings.
+	(ExecuteTest): Ditto.
+	Call `FT_Done_FreeType'.
+	(getErrorCnt): Replace `ceil' with an ordinary cast to `unsigned
+	int'.
+	(usage): Improve output.
+	(main): Fix compiler warnings.
 
-	* src/smooth/ftgrays.c (gray_render_line): Conditionally re-enable new
-	implementation, where it is safe from overflows.
+	* src/tools/ftrandom/README: Updated.
 
-2016-06-08  Alexei Podtelezhnikov  <apodtele at gmail.com>
+2016-09-03  Werner Lemberg  <wl at gnu.org>
 
-	[smooth] Minor clean-ups.
+	[base] Avoid negative bitmap stroke dimensions (#48985).
 
-	* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
-	(gray_render_span): Remove spurious casts and streamline.
+	* src/base/ftobjs.c (FT_Open_Face): Check whether negation was
+	actually successful.  For example, this can fail for value
+	-32768 if the type is `signed short'.  If there are problems,
+	disable the stroke.
 
-2016-06-07  Werner Lemberg  <wl at gnu.org>
+2016-09-03  Werner Lemberg  <wl at gnu.org>
 
-	[autofit] Add support for Ethiopic script.
+	[cff] Avoid null pointer passed to FT_MEM_COPY (#48984).
 
-	* src/autofit/afblue.dat: Add blue zone data for Ethiopic.
+	* src/cff/cffload.c (cff_index_get_name): Check `byte_len'.
 
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+2016-09-02  Werner Lemberg  <wl at gnu.org>
 
-	* src/autofit/afscript.h: Add Ethiopic standard characters.
+	[unix] Enable 64bit support in file system access (#48962).
 
-	* src/autofit/afranges.c: Add Ethiopic data.
+	* builds/unix/configure.raw: Call `AC_SYS_LARGEFILE'.
 
-	* src/autofit/afstyles.h: Add Ethiopic data.
+2016-09-02  Werner Lemberg  <wl at gnu.org>
 
-2016-06-07  Werner Lemberg  <wl at gnu.org>
+	[sfnt] Avoid left shift of negative value (#48980).
 
-	[autofit] Fix compilation with VS2016 (#48126).
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned
+	constant.
 
-	This compiler doesn't recognize the end-of-comment sequence `*/' if
-	it immediately follows non-ASCII characters.
+2016-09-02  Werner Lemberg  <wl at gnu.org>
 
-	* src/autofit/afscript.h: Ensure whitespace before `*/'.
+	* src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings.
 
-2016-06-04  Werner Lemberg  <wl at gnu.org>
+2016-09-02  Werner Lemberg  <wl at gnu.org>
 
-	Fix a test for named instances (#48122).
+	Some preparations for the next release.
 
-	This was missed while giving negative face indices an extended
-	meaning.
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Implement.
-
-2016-05-31  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[truetype] Let SHPIX move points in the twilight zone in v40.
-
-	* src/truetype/ttinterp.c (Ins_SHPIX): Allow SHPIX to move points in
-	the twilight zone.  Otherwise, treat SHPIX the same as DELTAP.
-	Unbreaks various fonts such as older versions of Rokkitt and DTL
-	Argo T Light that would glitch severly after calling ALIGNRP after a
-	blocked SHPIX.
-
-2016-05-30  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Support `CharStrings' entry format as created by LilyPond.
-
-	* src/type42/t42parse.c (t42_parse_charstrings): Handle entries
-	having the format
-
-	  (foo) cvn 12345 def
-
-2016-05-28  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afranges.c: Remove `UL' postfix from hex numbers.
-
-	Suggested by Alexei.  `UL' is only needed for 16bit compilers, but
-	it seems noone is using this anymore (and we no longer test whether
-	FreeType compiles in such an environment).  Otherwise, it is easy to
-	add the postfix to the `AF_UNICODE_RANGE' macro.
-
-2016-05-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Shrink bisection stack.
-
-	The convergence of Bézier flatteners is fast with the deviation
-	from straight line being assymptotically cut 4-fold on each bisection.
-	This justifies smaller bisection stack size.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'.
-	(gray_render_conic): Create and use conic `bez_stack'. Move back the
-	band analysis from...
-	(gray_conic_to): ... here.
-	(gray_render_cubic): Create and use cubic `bez_stack'. Move back the
-	band analysis from...
-	(gray_cubic_to): ... here.
-	(gray_move_to): Updated.
-
-2016-05-25  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Fixes for Armenian and Gujarati ranges.
-
-	* src/autofit/afranges.c (af_armn_uniranges): Corrected.
-	(af_guru_nonbase_uniranges): Make U+0A3E a base character.
-
-2016-05-24  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Armenian script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Armenian.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Armenian standard characters.
-
-	* src/autofit/afranges.c: Add Armenian data.
-
-	* src/autofit/afstyles.h: Add Armenian data.
-
-2016-05-23  Werner Lemberg  <wl at gnu.org>
-
-	* builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'.
-
-	This was commented about 10 years ago – I think the reason then to
-	disable libtool's `-export-symbols' option was to give some badly
-	programmed applications access to internal FreeType functions.
-
-	I believe that we should no longer take care of such programs; the
-	number of symbols exported should be rather restricted as much as
-	possible.
-
-2016-05-22  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Gurmukhi script.
-
-	This essentially moves the Gurmukhi script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Gurmukhi.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Gurmukhi standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Gurmukhi data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Gurmukhi data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-05-21  Werner Lemberg  <wl at gnu.org>
-
-	Minor clang++ fixes.
-
-	* src/base/ftobjs.c (FT_Add_Module), src/psaux/psobjs.c
-	(ps_parser_load_field), src/type1/t1load.c (parse_subrs): Add
-	initializer.
-
-	* src/cache/ftccache.h (FTC_CACHE_TRYLOOP_END): Avoid implicit
-	conversion from NULL to boolean.
-
-2016-05-21  Werner Lemberg  <wl at gnu.org>
-
-	Work around a bug of the C 8.0.0.1 compiler on AIX 5.3 (#47955).
-
-	* include/freetype/internal/ftmemory.h (cplusplus_typeof): Use
-	braces for `extern "C++"'.
-
-2016-05-17  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3].
-
-	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with...
-	(tt_loader_set_pp): ... this new function.
-	Update all callers.
-
-2016-05-17  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[truetype] New implementation of v38 bytecode interpreter [2/3].
-
-	This patch actually modifies the bytecode interpreter.
-
-	See added comments in `ttinterp.h' for more information on this and
-	the following commit in the series.
-
-	* src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by...
-	(NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY,
-	SUBPIXEL_HINTING_MINIMAL): ...new macros.
-	(Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backwards
-	compatibility.
-	Updated.
-	(Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD):
-	Updated.
-	(Ins_INSTCTRL): Handle native ClearType mode flag.
-	Updated.
-	(Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backwards
-	compatibility.
-	(Move_Zp2_Point): Ditto.
-	(Ins_SHP): Updated.
-	(Ins_SHPIX): Handle backwards compatibility.
-	Updated.
-	(Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated.
-	(Ins_ALIGNRP): Updated.
-	(Ins_IUP, Ins_DELTAP): Handle backwards compatibility.
-	Updated.
-	(Ins_GETINFO): Handle v38 flags.
-	Updated.
-	(TT_RunIns): Handle backwards compatibility mode.
-	Updated.
-
-2016-05-17  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[truetype] New implementation of v38 bytecode interpreter [1/3].
-
-	This patch prepares data structures and the like.
-
-	See added comments in `ttinterp.h' for more information on this and
-	the following commits in the series.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate
-	between subpixel versions.
-	(TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY,
-	TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros.
-
-	* include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
-	`subpixel_hinting_lean', `vertical_lcd_lean',
-	`backwards_compatibility', `iupx_called', iupy_called', and
-	`grayscale_cleartype' for new hinting mode.
-
-	* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
-	interpreters conditionally.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
-	in v38 backwards compatibility mode.
-	Updated.
-	(compute_glyph_metrics): Add v38 backwards compatibility mode
-	constraint for adjusting advance widths.
-	Updated.
-	(tt_loader_init): Handle new flags `subpixel_hinting_lean',
-	`grayscale_cleartype', and `vertical_lcd_lean'.
-	Updated.
-	(tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP):
-	Updated.
-
-	* src/truetype/ttobjs.c (tt_driver_init): Conditionally set
-	default interpreter version number.
-
-	* src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated.
-
-2016-05-17  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Fix matrix scaling (#47848).
-
-	* include/freetype/config/ftstdlib.h (FT_LONG_MIN): New macro.
-
-	* src/cff/cffparse.c (cff_parse_font_matrix): Use largest scaling
-	value of all matrix coefficients to scale matrix.
-
-	* src/cff/cffobjs.c (cff_face_init): Use `matrix->yx' member for
-	matrix normalization if `matrix->yy' is zero.
-
-2016-05-16  Werner Lemberg  <wl at gnu.org>
-
-	[base] Reject invalid sfnt Mac resource (#47891).
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Check validity
-	of `CID ' and `TYPE1' table offset and length.
-
-2016-05-16  Werner Lemberg  <wl at gnu.org>
-
-	[cid] Fix scanning for `StartData' and `/sfnts' (#47892).
-
-	* src/cid/cidparse.c (STARTDATA, STARTDATA_LEN, SFNTS, SFNTS_LEN):
-	New macros.
-	(cid_parser_new): Fix and document algorithm.
-
-2016-05-16  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
-
-	[truetype] Improve the recursive reference detector.
-
-	The previous fix for #46372 misunderstood a composite glyph referring
-	same component twice as a recursive reference.  See the discussion
-
-	  http://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html
-
-	Thanks to Khaled Hosny for finding this issue.
-
-	* src/truetype/ttgload.c (ft_list_get_node_at): A function to get
-	the i-th node from FT_List.
-	(load_truetype_glyph): In the traversal scan of the reference tree
-	in the composite glyph, we clear the nodes filled by previous
-	sibling chain.
-
-2016-05-07  Werner Lemberg  <wl at gnu.org>
-
-	[cache] Allow value 0 for face ID.
-
-	We never dereference `face_id', and some implementations might use a
-	running number instead of a pointer.  Additionally, disallowing
-	value zero was undocumented.
-
-	* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
-	(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
-	`face_id'.
-
-2016-05-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] More efficient accounting of conic splits and draws.
-
-	A single decrement counter of segments to draw, instead of an array,
-	contains all the information necessary to decide when to split and
-	when to draw a conic segment. The number of splits before each draw is
-	equal to the number of trailing zeros in the counter.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'.
-	(gray_render_conic): Updated to use decrement counter of segments.
-
-2016-05-05  Werner Lemberg  <wl at gnu.org>
-
-	[cff, truetype] Fix logic for `FT_Property_Set'.
-
-	Otherwise some properties could be set to arbitrary values, which is
-	harmless, but querying could give wrong positive results.
-
-	* src/cff/cffdrivr.c (cff_property_set) [hinting-engine],
-	* src/truetype/ttdriver.c (tt_property_set) [interpreter-version]:
-	Only allow defined values.
-
-2016-04-25  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Gujarati script.
-
-	This essentially moves the Gujarati script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Gujarati.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Gujarati standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Gujarati data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Gujarati data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-04-24  Werner Lemberg  <wl at gnu.org>
-
-	Minor.
-
-	* include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Protect macro
-	argument with parentheses.
-
-2016-04-24  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix deallocation in case of error (#47726).
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in
-	`outline' that are going to be deallocated in case of error.
-
-2016-04-23  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Improve Georgian blue zone characters.
-
-	Suggested by Akaki Razmadze <razmadzekoko at gmail.com>.
-
-	* src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM):
-	Updated.
-
-	* src/autofit/afblue.c: Regenerated.
-
-2016-04-16  David Capello  <davidcapello at gmail.com>
-
-	[cmake] Honor SKIP_INSTALL_* settings (as used in zlib).
-
-	As FreeType depends on zlib, if we don't install zlib (e.g., because
-	we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too
-	(cmake triggers an error saying that FreeType cannot be installed
-	because zlib target isn't in the export set).
-
-	* CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS',
-	`SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
-
-2016-04-16  Behdad Esfahbod  <behdad at behdad.org>
-
-	[truetype] Another fix for non-intermediate GX tuples.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Add some missing
-	cases.
-
-2016-04-12  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	Remove forgotten macro.
-
-	* include/freetype/internal/internal.h
-	[FT_INTERNAL_POSTSCRIPT_GLOBALS_H]: Remove.
-
-2016-04-09  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Georgian scripts.
-
-	Georgian is problematic, since `uppercase' forms of Mkhedruli
-	(called Mtavruli) are not yet defined in Unicode, which means that
-	proper blue zones can't be defined.  However, there is already a
-	proposal submitted to Unicode; see
-
-	  http://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf
-
-	Additionally, due to historical reasons, Unicode treats Khutsuri as
-	the same script as Mkhedruli, and so does OpenType.  However, since
-	the two scripts have completely different shapes it can happen that
-	blue zones differ considerably.  The tag `geok' used here (derived
-	from ISO 15924) to differentiate the two scripts is not an OpenType
-	tag in use.  If we now have a font that contains both glyphs for
-	Mkhedruli and Khutsuri, and it uses OpenType features for both also,
-	HarfBuzz unavoidably treats all glyphs as `geor'.  As a consequence,
-	blue zones for `geok' are not used for glyphs involved in the
-	OpenType features.
-
-	An issue not yet resolved is which OpenType feature should be used
-	to access Mtavruli glyph shapes; right now, FreeType doesn't set up
-	support for them, but it is easy to add them later on as soon as
-	more information is available.
-
-	* src/autofit/afblue.dat: Add blue zone data for Georgian.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Georgian standard characters.
-
-	* src/autofit/afranges.c: Add Georgian data.
-
-	* src/autofit/afstyles.h: Add Georgian data.
-
-2016-04-05  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Provide dummy blue zone for pseudo script `none'.
-
-	Even if the dummy hinter is used as the handler for `none' (which
-	doesn't use blue zones), it is more consistent than the old value
-	(which was 0), pointing to Arabic...
-
-	* src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE.
-
-2016-03-30  Werner Lemberg  <wl at gnu.org>
-
-	* src/pfr/pfrload.c (pfr_aux_name_load): Thinko (#47567).
-
-2016-03-30  Werner Lemberg  <wl at gnu.org>
-
-	* src/pfr/pfrload.c (pfr_log_font_count): Better font size estimate.
-
-2016-03-30  Werner Lemberg  <wl at gnu.org>
-
-	* src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567).
-
-2016-03-29  Werner Lemberg  <wl at gnu.org>
-
-	* src/base/ftadvanc.c (FT_Get_Advances): Fix invalid left shift.
-
-2016-03-29  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Fix binary search (#47514).
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
-	conditions correctly.
-
-2016-03-29  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Minor.
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left',
-	`right', and `middle' with `min', `max', and `mid' as used in other
-	FreeType binary search code.
-	(pfr_load_bitmap_metrics): Fix invalid left shift.
-
-2016-03-29  Werner Lemberg  <wl at gnu.org>
-
-	* src/pfr/pfrtypes.h: Replace all enums with macros.
-
-	We need `~FOO' to unset bits, and only with unsigned values (which
-	`enum' isn't normally) this works cleanly.
-
-2016-03-26  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Robustify bitmap strike handling (#47514).
-
-	We did a binary search for a charcode without ensuring that the
-	searched data is ordered.  Validating the order is now done lazily,
-	this is, the first access to a bitmap glyph triggers the order check
-	in the corresponding bitmap strike.
-
-	* src/pfr/pfrtypes.h (PFR_BitmapFlags): New values
-	`PFR_BITMAP_VALID_CHARCODES' and `PFR_BITMAP_CHARCODES_VALIDATED'.
-
-	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Make `flags' argument
-	a pointer.  Handle new PFR_BITMAP_XXX flags.
-	(pfr_slot_load_bitmap): Updated.
-
-2016-03-26  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Fix handling of compound glyphs.
-
-	Extra items are indicated with different bit positions.
-
-	* src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace
-	`PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and
-	`PFR_GLYPH_COMPOUND_EXTRA_ITEMS'.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_simple,
-	pfr_glyph_load_compound): Use them.
-
-2016-03-25  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Minor.
-
-	* src/pfr/pfrsbit.c, src/pfr/pfrobjs.c: Use flag names instead of
-	bare numbers.
-
-2016-03-25  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Various clang sanitizer fixes.
-
-	* src/pfr/pfrsbit.c (pfr_load_bitmap_metrics): Correctly handle
-	signed nibbles.
-	(pfr_slot_load_bitmap): Correctly exit frame in case of error.
-	Fix invalid left shifts.
-
-2016-03-23  Werner Lemberg  <wl at gnu.org>
-
-	Rename `VERSION.DLL' (#47472).
-
-	* docs/VERSION.DLL: Renamed to...
-	* docs/VERSIONS.TXT: ...this.
-
-2016-03-23  Werner Lemberg  <wl at gnu.org>
-
-	[raster, smooth] Directly test outline size (#47500).
-
-	This improves stand-alone compilation.
-
-	* src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to...
-
-	* src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c
-	(gray_raster_render): ...these functions.
-
-2016-03-23  Werner Lemberg  <wl at gnu.org>
-
-	[raster, smooth] Fix some clang sanitizer runtime issues.
-
-	* src/raster/ftraster.c (ft_black_reset, ft_black_set_mode,
-	ft_black_render): Harmonize signatures with `ftimage.h'.
-
-	* src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset):
-	Ditto.
-
-2016-03-22  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor.
-
-	This fixes an AddressSanitizer issue:
-
-	  ttgload.c:430:7: runtime error: null pointer passed as argument 1,
-	                   which is declared to never be null
-
-2016-03-21  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Thinko.
-
-	This fixes the previous commit to this file.
-
-2016-03-21  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Partly revert recent changes.
-
-	* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
-	conditions to fix rendering issues.
-
-2016-03-20  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Show `near' points in tracing.
-
-	* src/autofit/afhints.h (AF_FLAG_NEAR): New macro.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it.
-	(af_glyph_hints_reload): Handle AF_FLAG_NEAR.
-
-2016-03-18  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Minor refactoring and microoptimizations.
-
-	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
-	band clipping from here.
-	(gray_conic_to, gray_cubic_to): ... to here.
-	(gray_rander_line, gray_render_scanline): Initialize variables closer
-	to their use.
-
-2016-03-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Minor refactoring.
-
-	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
-	upscaling from here.
-	(gray_conic_to, gray_cubic_to): ... to here.
-
-2016-03-15  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize.
-
-2016-03-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Temporarily revert 6eb6158dd787 (#47114).
-
-	* src/smooth/ftgrays.c (gray_render_line): Old implementation.
-
-2016-03-12  Werner Lemberg  <wl at gnu.org>
-
-	[ftfuzzer] Improve coverage of rasterfuzzer.
-
-	* src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use
-	input data for `tags' array also.
-	Trim input data to get more positive hits.
-
-2016-03-11  Pavlo Denysov  <paul.kiev+savannah at gmail.com>
-
-	Fix CMake issues for iOS (patch #8941).
-
-	* CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory.
-	* builds/cmake/iOS.cmake: No longer enforce gcc.
-
-2016-03-09  Behdad Esfahbod  <behdad at behdad.org>
-
-	[truetype] Fix handling of non-intermediate GX tuples.
-
-	We probably did not notice this as all fonts we tested had only
-	tuple_coords[i] be +1 or -1 for non-intermediate tuples.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Implement it.
-
-2016-03-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Refuse to render enormous outlines (#47114).
-
-	The goal is to avoid integer overflows in the rendering algorithms.
-	The limit is chosen arbitrarily at some 2^18 pixels, which should be
-	enough for modern devices including printers.
-
-	* src/base/ftoutln.c (FT_Outline_Render): Check CBox and reject
-	enormous outlines.
-
-2016-03-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Replace left shifts with multiplications (#47114).
-
-	* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
-
-2016-03-05  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Avoid excessive stem length rounding (#25392).
-
-	* src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument
-	to pass difference between hinted and unhinted position of base
-	point; use this to adjust the stem width depending on the PPEM so
-	that it doesn't become too large under certain circumstances.
-	Update all callers using value 0 for this argument except...
-	(af_latin_align_linked_edge): Pass position delta of base point to
-	`af_latin_compute_stem_width'.
-
-2016-03-05  J Raynor  <jxraynor at gmail.com>
-
-	Make FreeType compile on AIX out of the box.
-
-	* builds/unix/configure.raw (XX_ANSIFLAGS): Don't use `-ansi' on
-	AIX.
-
-2016-03-01  Werner Lemberg  <wl at gnu.org>
-	    Kostya Serebryany  <kcc at google.com>
-
-	[ftfuzzer] Add unit for testing smooth and black rasterizers.
-
-	* src/tools/ftfuzzer/rasterfuzzer.cc: New file.
-
-2016-03-01  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Fix reallocation error introduced in 2016-02-27 (#47310).
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Reassign
-	`prev_segment' after reallocation.
-
-2016-03-01  Werner Lemberg  <wl at gnu.org>
-
-	Fix clang warnings.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Use
-	FT_UShort for `min_flags' and `max_flags'.
-	Initialize `prev_*' variables.
-
-	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix
-	types of local variables.
-
-	* src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]:
-	Update `printf' format string.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast.
-	(LLVMFuzzerTestOneInput): Fix loop type.
-
-2016-02-29  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Sinhala script.
-
-	This essentially moves the Sinhala script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Sinhala.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Sinhala standard character and move data
-	out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Sinhala data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Sinhala data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-02-27  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Properly handle spikes pointing to the x-axis.
-
-	An example that gets better rendered is glyph `uusignTaml' (glyph
-	index 2286) in font `FreeSerif.ttf' (Version 0412.2263) at 22ppem.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Properly
-	handle segments where the last point of the first segment is
-	identical to the first point in the second one.  This can happen for
-	malformed fonts or spikes.  We either merge the new segment with the
-	previous one (both segments point into the same direction), or we
-	discard the shorter segment if they point into different directions.
-
-2016-02-27  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Minor code clean-up.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Change
-	some local variable names to better differentiate between values
-	along a segment and values orthogonal to it.
-
-2016-02-26  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Improve BOUND action.
-
-	In complex glyph shapes, the original logic was too simple to cater
-	for situations that would actually need something similar to PS Hint
-	masks.  This fix should alleviate the worst cases.
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Don't allow
-	complete disappearance of stems.
-
-2016-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Tamil script.
-
-	This essentially moves the Tamil script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Tamil.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Tamil standard character and move data
-	out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Tamil data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Tamil data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-02-18  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Malayalam script.
-
-	This essentially moves the Malayalam script from the `Indic' hinter
-	to the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Malayalam.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Malayalam standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Malayalam data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Malayalam data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-02-16  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Fix integer overflow (#47114).
-
-	* src/smooth/ftgrays.c (TArea): Make it unconditionally `long'.
-
-2016-02-15  Werner Lemberg  <wl at gnu.org>
-
-	* src/cff/cffparse.c (cff_parse_multiple_master): Improve tracing.
-
-2016-02-15  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Handle T2 operator only with old CFF engine (#47157).
-
-	* src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with
-	#ifdef CFF_CONFIG_OPTION_OLD_ENGINE...#endif.
-
-2016-02-15  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Partially handle `load' and `store' ops in old CFF engine.
-
-	Now all glyphs of MM CFFs like `ITCGaramondMM-It.otf' can be
-	displayed.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_store,
-	cff_op_load>: Partially implement it.
-
-	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass
-	the number of Multiple Master axes.
-	Update all callers.
-	(cff_parse_multiple_master): Get number of axes.
-	(cff_parser_run) <opcode 31>: Updated.
-	* src/cff/cffparse.h: Updated.
-	(CFF_ParserRec): Add `num_axes' field.
-
-	* src/cff/cffload.c: Updated.
-
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_axes' field.
-
-2016-02-15  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Correctly trace SIDs that contain NULL bytes.
-
-	We need this to properly trace Multiple Master CFFs, which contain
-	two SIDs that are charstrings.
-
-	This commit makes FreeType also show the last SID, omitted
-	previously due to a bug.
-
-	* src/cff/cfftypes.h (CFF_FontRec): Add `string_pool_size' field.
-
-	* src/cff/cffload.c (cff_index_get_pointers): Add argument to return
-	the pool size.
-	Update all callers.
-
-	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Directly
-	access `cff->strings' to display the non-default strings.
-
-2016-02-14  Werner Lemberg  <wl at gnu.org>
-
-	* src/base/fthash.c: Include FT_INTERNAL_MEMORY_H.
-
-2016-02-14  Werner Lemberg  <wl at gnu.org>
-
-	* src/cff/cffparse.c: Include `cffgload.h'.
-
-	Problem reported by Colin Walters <walters at verbum.org>.
-
-2016-02-14  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Make old CFF engine show MM CFFs (without variations).
-
-	The new code only displays the first master in the font.
-
-	* src/cff/cffgload.c (cff_decode_parse_charstrings): Add new
-	parameter to allow function calls from dictionaries also.
-	<cff_op_blend>: Partially implement it.
-	Update all callers.
-	* src/cff/cffgload.h: Updated.
-
-	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass the
-	number of Multiple Master designs.
-	Update all callers.
-	(cff_parse_multiple_master): New function to rudimentarily parse
-	operator.
-	(cff_parser_run): Handle `T2' operator.
-	* src/cff/cffparse.h: Updated.
-	(CFF_ParserRec): Add `num_designs' field.
-
-	* src/cff/cffload.c: Updated.
-
-	* src/cff/cfftoken.h: Handle `MultipleMaster' operator.
-
-	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_designs' field.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Don't handle `fvar' table for
-	MM CFFs.
-
-2016-02-09  Werner Lemberg  <wl at gnu.org>
-
-	[docmaker] Don't emit trailing newlines.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_code):
-	Use `rstrip'.
-
-2016-02-07  Werner Lemberg  <wl at gnu.org>
-
-	* Version 2.6.3 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-3'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.3.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/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.6.2/2.6.3/, s/262/263/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-	* builds/unix/configure.raw (version_info): Set to 18:3:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 3.
-
-	* docs/CHANGES: Updated.
-
-2016-02-07  Werner Lemberg  <wl at gnu.org>
-
-	Fix another runtime error found by clang's sanitizer (#47082).
-
-	* src/base/ftstroke.c (ft_stroke_border_export): Properly handle
-	empty input buffer.
-
-2016-02-07  Werner Lemberg  <wl at gnu.org>
-
-	Fix runtime errors found by clang's sanitizer (#47082).
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
-	(FT_Outline_Copy), src/cache/ftcsbits.c (ftc_sbit_copy_bitmap):
-	Properly handle empty input buffer.
-
-2016-02-07  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Minor.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_sqrt>:
-	Remove dead code.
-
-2016-02-07  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Implement missing operators in new engine (except `random').
-
-	* src/cff/cf2font.h (CF2_STORAGE_SIZE): New macro.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): Implement the
-	following operators: abs, add, and, div, drop, dup, eq, exch, get,
-	ifelse, index, mul, neg, not, or, put, roll, sqrt, sub.
-
-	* src/cff/cf2stack.h, src/cff/cf2stack.c (cf2_stack_roll): New
-	auxiliary function for `roll' operator.
-
-2016-02-06  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Fix some Type 2 operators in old CFF engine.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Fix `eq'
-	operator, add `not' and (unsupported) `blend' operators.
-
-2016-02-05  Sebastian Rasmussen  <sebras at gmail.com>
-
-	Make direct call of `make install' work (#47072).
-
-	* builds/unix/unix-def.in (freetype-config): Make sure
-	`freetype-config' is generated for both make targets (`all' and
-	`install').
-
-2016-02-05  Werner Lemberg  <wl at gnu.org>
-
-	[base] Fix advance width loading for MM and GX fonts (#47064).
-
-	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Return false for
-	MM and GX fonts.
-	Update callers.
-
-2016-02-03  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Fix handling of face_index == -1 for pure CFF.
-
-	* src/cff/cffobjs.c (cff_face_init): Return correct number of faces.
-
-2016-01-30  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Minor tracing improvement.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline
-	at the start of a new contour.
-
-2016-01-28  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	Remove unpatented hinter (3/3).
-
 	* include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Enable.
 
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
-	`ignore_unpatented_hinter' field.
-	Update users.
-	(FT_DEBUG_HOOK_UNPATENTED_HINTING): Remove.
-	Update users.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove
-	`unpatented_hinting' field.
-	Update users.
-
-	* src/base/ftpatent.c (_tt_check_patents_in_range,
-	_tt_check_patents_in_table, _tt_face_check_patents): Remove.
-	(FT_Face_CheckTrueTypePatents, FT_Face_SetUnpatentedHinting):
-	Replace code with dummies.
-
-	* src/truetype/ttobjs.c (tt_face_init): Remove now defunct code.
-	* src/truetype/ttobjs.h (TT_GraphicsState): Remove `both_x_axis'
-	field.
-
-2016-01-28  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	Remove unpatented hinter (2/3).
-
-	* devel/ftoption.h (TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
-
-2016-01-28  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	Remove unpatented hinter (1/3).
-
-	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_UNPATENTED_HINTING]:
-	Remove all code related to this macro.
-
-2016-01-28  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Kannada script.
-
-	This essentially moves the Kannada script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Kannada.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Kannada standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Kannada data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Kannada data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2016-01-22  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	Better access to 64-bit integers for C99 compilers.
-
-	* include/freetype/config/ftconfig.h [FT_LONG64]: Use
-	__STDC_VERSION__ to define 64-bit integers.
-	* builds/unix/ftconfig.in [FT_LONG64]: Ditto.
-	* builds/vms/ftconfig.h [FT_LONG64]: Ditto.
-
-2016-01-21  Werner Lemberg  <wl at gnu.org>
-
-	[gxvalid] Remove commented out code.
-
-	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Do it.
-
-2016-01-20  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Complete last autofit commit.
-
-	Problem reported by Kostya Serebryany <kcc at google.com>.
-
-	* src/autofit/afshaper.c (af_shaper_get_coverage)
-	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Update signature.
-
-2016-01-20  Werner Lemberg  <wl at gnu.org>
-
-	Still handle `__FTERRORS_H__'.
-
-	We need this for backwards compatibility.
-
-	Problem reported by John Emmas <johne53 at tiscali.co.uk>.
-
-	* include/freetype/fterrors.h: Fix inclusion guard so that
-	undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as
-	expected.
-
-2016-01-19  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Fix handling of default script.
-
-	Patch taken from ttfautohint, commit
-	071ae2c00e0d67f9d19418f4fade1c23d27dc185.
-
-	There were two bugs.
-
-	  - We now use non-standard script tags like `khms' for special
-	    purposes.  However, HarfBuzz maps such tags to `DFLT', and
-	    without this commit the associated lookups were incorrectly
-	    assigned to the non-standard tags.
-
-	  - Let's assume we have a Bengali font, and the font's `DFLT'
-	    script tag handles the necessary lookups for Bengali, too.
-	    Without this commit, the `DFLT' lookups were assigned to
-	    ttfautohint's default script (usually `latn') before the
-	    standard lookups for Bengali were handled.
-
-	    We now have the following order while searching for covered
-	    glyph indices.
-
-	      special features of scripts (e.g. `sups' for Cyrillic)
-	      Unicode mappings of scripts
-	      remaining features of scripts (especially important for Indic
-	        scripts)
-	      default features of default script
-
-	* src/autofit/afshaper.c, src/autofit/afshaper.h
-	(af_shaper_get_coverage): Add boolean parameter to indicate default
-	script.
-	Update all callers.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Fix search order for coverages.
-
-2016-01-19  Werner Lemberg  <wl at gnu.org>
-
-	Various minor clang fixes.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
-	`ch'.
-
-	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast.
-
-	* src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast.
-
-	* src/base/fthash.c (hash_num_lookup): Add cast.
-
-	* src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast.
-
-	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out
-	redundant code.
-
-	* src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add
-	cast.
-
-	* src/type1/t1load.c (parse_subrs): Fix type of `count'.
-
-2016-01-19  Derek B. Noonburg  <derekn at glyphandcog.com>
-
-	[truetype] Add another tricky font.
-
-	* src/truetype/ttobjs.c (TRICK_SFNT_IDS_NUM_FACES): Increase.
-	(sfnt_id): Add variant of `DFKaiShu'.
-
-2016-01-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Empower `FT_Library_SetLcdFilterWeights'.
-
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): Enable filter
-	in addition to setting weights.
-	(FT_Library_SetLcdFilter): Clean out FT_FORCE_LIGHT_LCD_FILTER and
-	FT_FORCE_LEGACY_LCD_FILTER.
-	* include/freetype/ftlcdfil.h: Documentation update.
-
-2016-01-12  Werner Lemberg  <wl at gnu.org>
-
-	Don't use macro names that start with `_[A-Z]' [3/3].
-
-	Such macro names are reserved for both C and C++.
-
-	* src/cache/ftccache.h: s/_FTC_FACE_ID_HASH/FTC_FACE_ID_HASH/.
-	Update all callers.
-	(FTC_CACHE_LOOKUP_CMP): Replace `_XXX' with `XXX_'.
-	* src/cache/ftcmru.c (FTC_MRULIST_LOOKUP_CMP): Ditto.
-
-2016-01-12  Werner Lemberg  <wl at gnu.org>
-
-	Don't use macro names that start with `_[A-Z]' [2/3].
-
-	Such macro names are reserved for both C and C++.
-
-	* include/freetype/ftimage.h, src/raster/ftraster.c,
-	src/smooth/ftgrays.c, src/smooth/ftgrays.h:
-	s/_STANDALONE_/STANDALONE_/.
-
-2016-01-12  Werner Lemberg  <wl at gnu.org>
-
-	Don't use macro names that start with `_[A-Z]' [1/3].
-
-	Such macro names are reserved for both C and C++.
-
-	* src/bdf/bdflib.c: Replace macros of the form `_BDF_XXX' with
-	`BDF_XXX_'.
-
-2016-01-12  Werner Lemberg  <wl at gnu.org>
-
-	Don't use macro names that contain `__' [2/2].
-
-	Such macro names are reserved for both C and C++.
-
-	* src/cache/*: s/__/_/.
-
-2016-01-12  Werner Lemberg  <wl at gnu.org>
-
-	Don't use macro names that contain `__' [1/2].
-
-	Such macro names are reserved for both C and C++.
-
-	* */*: Replace macros of the form `__XXX_H__' with `XXX_H_'.
-
-2016-01-10  Jered Gray  <jegray at google.com>
-
-	[cff] Fix usage of `|' operator.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) [cf2_cmdEXTENDEDNMBR,
-	default]: `|' is not guaranteed to be processed from left to right
-	by the compiler.  However, the code repeatedly calls
-	`cf2_buf_readByte' to get the arguments to `|' ...  Fix this.
-
-2015-12-25  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Make top-to-bottom hinting work in latin auto-hinter.
-
-	This improves rendering of scripts like Bengali or Devanagari.
-
-	* src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to
-	pass top-to-bottom hinting flag.  This makes the function sort edges
-	in descending vertical position.
-
-	* src/autofit/afhints.c: Updated.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_edges,
-	af_latin_hint_edges): Use `top_to_bottom_hinting' flag.
-
-	* src/autofit/afcjk.c (af_cjk_hints_compute_edges),
-	src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated.
-
-2015-12-24  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add hinting direction to `AF_ScriptClassRec'.
-
-	Still unused.
-
-	* src/autofit/afglobal.c (SCRIPT): Handle hinting direction.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
-	`top_to_bottom_hinting' field.
-	(AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-2015-12-23  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Start implementing hinting direction (up/down, down/up).
-
-	Right now, it does nothing.
-
-	* src/autofit/afscript.h: Add another parameter to `SCRIPT',
-	specifying hinting direction.
-
-	* src/autofit/afglobal.c, src/autofit/afglobal.h,
-	src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c,
-	src/autofit/aftypes.h: Extend `SCRIPT' definitions.
-
-2015-12-22  Werner Lemberg  <wl at gnu.org>
-
-	* src/type1/t1load.c (parse_subrs): Fix memory leak (#46744).
-
-2015-12-22  Werner Lemberg  <wl at gnu.org>
-
-	[base] Make hash interface symmetric.
-
-	Use `num' and `str' infixes everywhere.
-
-	* src/base/fthash.c (ft_hash_init): Renamed to...
-	(hash_init): ... This.
-	(ft_hash_str_init, ft_hash_num_init): New functions.
-	(ft_hash_free): Renamed to...
-	(ft_hash_str_free): ... This.
-
-	* include/freetype/internal/fthash.h: Updated.
-
-	* src/bdf/bdflib.c, src/type1/t1load.c, src/type1/t1objs.c: Updated.
-
-2015-12-21  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Avoid shift of negative numbers (#46732).
-
-	* src/type1/t1load.c (parse_subrs): Do it.
-
-2015-12-20  Werner Lemberg  <wl at gnu.org>
-
-	[type1, psaux] Handle large values of num_subrs correctly (#46692).
-
-	We now use a hash to map from subr indices to array elements holding
-	the subroutines, if necessary.
-
-	* include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H.
-	(T1_FontRec): Add `subrs_hash' field.
-
-	* include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H.
-	(T1_DecoderRec): Add `subrs_hash' field.
-
-	* src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field.
-
-	* src/type1/t1driver.c: Include FT_INTERNAL_HASH_H.
-	(t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary.
-
-	* src/type1/t1load.c: Include FT_INTERNAL_HASH_H.
-	(parse_subrs): Use hash for subr indices that exceed the allocated
-	number of subr slots.
-	(t1_init_loader): Remove unnecessary code.
-	(t1_done_loader, T1_Open_Face): Updated.
-
-	* src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances,
-	T1_Load_Glyph): Updated.
-
-	* src/type1/t1objs.c (T1_Face_Done): Updated.
-
-	* src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H.
-	(t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if
-	necessary.
-
-	* src/cid/cidgload.c (cid_load_glyph): Updated.
-
-2015-12-20  Werner Lemberg  <wl at gnu.org>
-
-	[base] Thinko: Remove free function pointer.
-
-	We don't copy keys or values while hashing.
-
-	* include/freetype/internal/fthash.h (FT_Hash_FreeFunc): Removed.
-	(FT_HashRec): Remove `free' field.
-
-	* src/base/fthash.c (hash_str_free): Removed.
-	(ft_hash_init, ft_hash_free): Updated.
-
-2015-12-20  Werner Lemberg  <wl at gnu.org>
-
-	[base, bdf] Don't expose `FT_Hashnode' in hash functions.
-
-	* src/base/fthash.c (hash_lookup, ft_hash_str_lookup,
-	ft_hash_num_lookup): Return pointer to `size_t' instead of
-	`FT_Hashnode'.
-
-	* include/freetype/internal/fthash.h: Updated.
-
-	* src/bdf/bdflib.c (bdf_get_property, _bdf_add_property,
-	bdf_get_font_property): Updated.
-
-2015-12-20  Werner Lemberg  <wl at gnu.org>
-
-	[base, bdf] Add number hashing.
-
-	* src/base/fthash.c (hash_num_lookup, hash_num_compare): New
-	functions.
-	(ft_hash_init): Add argument to select between number and string
-	hashing.
-	(ft_hash_num_insert, ft_hash_num_lookup): New functions.
-
-	* include/freetype/internal/fthash.h: Updated.
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Updated.
-
-2015-12-20  Werner Lemberg  <wl at gnu.org>
-
-	[base] Introduce hash lookup, compare, and free function pointers.
-
-	* include/freetype/internal/fthash.c (FT_Hash_LookupFunc,
-	FT_Hash_CompareFunc, FT_Hash_FreeFunc): New typedefs.
-	(FT_HashRec): Add `lookup', `compare', and `free' fields.
-
-	* src/base/fthash.c (hash_str_lookup, hash_str_compare,
-	hash_str_free): New functions.
-	(ft_hash_init): Set function pointers.
-	(hash_bucket, ft_hash_free): Use them.
-
-2015-12-20  Werner Lemberg  <wl at gnu.org>
-
-	[base, bdf] Use a union as a hash key.
-
-	We want to support both an integer and a string key later on.
-
-	* include/freetype/internal/fthash.h (FT_Hashkey): New union.
-	(FT_HashnodeRec): Updated.
-	(ft_hash_insert, ft_hash_lookup): Renamed to ...
-	(ft_hash_str_insert, ft_hash_str_lookup): ... this.
-
-	* src/base/fthash.c (hash_bucket): Updated.
-	(ft_hash_insert, ft_hash_lookup): Renamed to ...
-	(hash_insert, hash_lookup): ... this.
-	(ft_hash_str_insert, ft_hash_str_lookup): New wrapper functions.
-
-	* src/bdf/bdflib.c: Updated.
-
-2015-12-19  Werner Lemberg  <wl at gnu.org>
-
-	[bdf] Use new hash functions.
-
-	* src/bdf/bdf.h: Include FT_INTERNAL_HASH_H.
-	(hashnode, hashtable): Removed.
-	(bdf_font_t): Use `FT_HashRec' type for `proptbl'.
-
-	* src/bdf/bdflib.c: Remove all hash functions.
-	Update code for new hash structure and function names.
-
-2015-12-19  Werner Lemberg  <wl at gnu.org>
-
-	[bdf, base] Lift hash functions from bdf driver to base module.
-
-	* src/base/fthash.c, include/freetype/internal/fthash.h: New files,
-	containing (massaged) code from `bdflib.c' and `bdf.h'.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H): New
-	macro.
-
-	* src/base/ftbase.c: Include `fthash.c'.
-
-	* src/base/Jamfile (_sources): Add `fthash'.
-
-	* src/base/rules.mk (BASE_SRC): Add `fthash.c'.
-
-	* docs/LICENSE.TXT: Updated.
-
-2015-12-15  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add blue-zone support for Bengali script.
-
-	This essentially moves the Bengali script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	* src/autofit/afblue.dat: Add blue zone data for Bengali.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Bengali standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Bengali data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Bengali data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2015-12-14  Ben Wagner  <bungeman at gmail.com>
-
-	[bdf] Remove dead code (#46625).
-
-	The BDF specification only allows decimal numbers, no octal or
-	hexadecimal decoding is needed.
-
-	* src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous,
-	_bdf_atos): Remove unused code and parameters.
-	Update all callers.
-	(odigits): Remove.
-
-2015-12-14  Werner Lemberg  <wl at gnu.org>
-
-	[base] Fix calls to `FT_Stream_Seek'.
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource, FT_Open_Face): Set
-	`error'.
-
-2015-12-14  Ben Wagner  <bungeman at gmail.com>
-
-	[base] Check error when seeking to data supplied offset (#46635).
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream):
-	`ft_lookup_PS_in_sfnt_stream' returns offset and length from
-	user supplied data.  Use of this these values must be checked.
-
-2015-12-13  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Myanmar script.
-
-	* src/autofit/afblue.dat: Add blue zone data for Myanmar.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Myanmar standard characters.
-
-	* src/autofit/afranges.c: Add Myanmar data.
-
-	* src/autofit/afstyles.h: Add Myanmar data.
-
-2015-12-12  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Minor.
-
-2015-12-12  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afscript.h: Avoid potential crash.
-
-2015-12-10  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Restore OpenType feature check.
-
-	This was removed while rewriting the HarfBuzz interface.
-
-	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add `hb_buf' field to
-	hold internal HarfBuzz buffer, needed for feature comparison.
-
-	* src/autofit/afglobal.c (af_face_globals_new,
-	af_face_globals_free): Initialize and destroy `hb_buf'.
-
-	* src/autofit/afshaper.c (af_shaper_get_cluster): Compare character
-	(cluster) with and without applied feature.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix tracing
-	message.
-
-2015-12-10  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Remove redundant code.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Do it.
-
-2015-12-09  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Thinko.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Don't count
-	empty blue zones (bug introduced 2015-12-06).
-
-2015-12-09  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Introduce subscript top blue zones.
-
-	This feature is mainly for Khmer: The idea is to avoid a clash
-	between the top of subscript glyphs and the bottom of normal
-	baseline glyphs.
-
-	This only works for character clusters mapped to multiple glyphs.
-
-	* src/autofit/afblue.dat: Add subscript top blue zone for Khmer.
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_SUB_TOP): New
-	macro.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.h (AF_LATIN_IS_SUB_TOP_BLUE,
-	AF_LATIN_BLUE_SUB_TOP): New macros.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle new
-	blue zone property.
-	Update tracing messages.
-	(af_latin_metrics_scale_dim): Handle new blue zone property.
-	(af_latin_hints_compute_blue_edges): Updated.
-
-2015-12-09  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Fix tracing message.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Display
-	inactive blue zones also.
-
-2015-12-06  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afblue.dat: Add more Khmer clusters.
-
-	Some fonts have incorrect ligatures; we need more samples to get a
-	good mean value.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2015-12-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Typos.
-
-	* src/autofit/afshaper.c (af_shaper_buf_create, af_shaper_get_elem)
-	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Make it compile.
-
-2015-12-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Khmer script.
-
-	We split Khmer into two auto-hinter scripts: `Khmer' (`khmr') and
-	`Khmer symbols' (`khms', U+19E0-U+19FF).
-
-	* src/autofit/afblue.dat: Add blue zone data for Khmer.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Khmer standard characters.
-
-	* src/autofit/afranges.c: Add Khmer data.
-
-	* src/autofit/afstyles.h: Add Khmer data.
-
-2015-12-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Rewrite HarfBuzz interface to support character clusters.
-
-	Scripts like Khmer have blue zones that can't be directly
-	represented by Unicode characters.  Instead, it is necessary to let
-	HarfBuzz convert character clusters into proper glyph representation
-	forms, then deriving the blue zone information from the resulting
-	glyphs.
-
-	* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
-	* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
-	files, providing a new API to access HarfBuzz.
-
-	The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
-	and `af_shaper_buf_destroy'.  The buffer receives a UTF8 encoded
-	string with function `af_shaper_get_cluster', and the resulting
-	glyph data (indices, advance widths, vertical offsets) can be
-	iteratively accessed with function `af_shaper_get_elem'.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
-	Updated.
-
-	* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.
-
-	* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
-	(af_face_globals_compute_style_coverage): Updated.
-
-	* src/autofit/afglobal.h: s/hbshim.h/afshaper.h/.
-
-	* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.
-
-	* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
-	Updated.
-
-2015-12-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Prepare forthcoming changes.
-
-	This makes it easier to control the commits.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Add dummy
-	loop.  No functional change.
-
-2015-12-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Use string of standard characters.
-
-	This is more flexible; additionally, it would allow character
-	clusters.
-
-	* src/autofit/aftypes.h (SCRIPT, AF_DEFINE_SCRIPT_CLASS): Updated.
-	(AF_ScriptClassRec): Replace `standard_char[123]' with
-	`standard_charstring'.
-
-	* src/autofit/afscript.h: Replace last three character arguments
-	of the `SCRIPT' calls with a string parameter, holding the standard
-	characters (in UTF-8 encoding) separated with spaces.
-
-	* src/autofit/afglobal.c, src/autofit/afglobal.h,
-	src/autofit/afpic.c, src/autofit/afranges.c, src/autofit/hbshim.c
-	(SCRIPT): Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Updated.
-
-2015-12-05  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afblue.dat: Separate blue zone characters with spaces.
-
-	Another preparation for character cluster support.
-
-	* src/autofit/afblue.c, src/autofit.afblue.h: Regenerated.
-
-2015-12-05  Werner Lemberg  <wl at gnu.org>
-
-	* src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces.
-
-	Instead, reduce multiple spaces to a single one.  We need this later
-	for supporting character clusters in `afblue.dat'.
-
-2015-12-05  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afblue.hin (GET_UTF8_CHAR): Use `do...while(0)'.
-
-	* src/autofit/afblue.h: Regenerated.
-
-2015-12-05  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afwarp.c: s/INT_MIN/FT_INT_MIN/.
-
-2015-12-03  Werner Lemberg  <wl at gnu.org>
-
-	* builds/unix/install.mk (install): Remove stale `ft2build.h'.
-
-2015-12-01  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Avoid dangling pointer (#46572).
-
-	* src/type1/t1afm.c (T1_Read_Metrics): Properly reset
-	`face->afm_data'.
-
-2015-11-28  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* include/freetype/ftlcdfil.h: Documentation tweak.
-
-2015-11-28  Werner Lemberg  <wl at gnu.org>
-
-	* Version 2.6.2 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-2'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.2.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/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.6.1/2.6.2/, s/261/262/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
-	* builds/unix/configure.raw (version_info): Set to 18:2:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 2.
-
 	* docs/CHANGES: Updated.
 
-2015-11-28  Werner Lemberg  <wl at gnu.org>
+2016-09-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	Fix C++ compilation.
+	[smooth] Simplify span rendering more.
 
-	* src/autofit/afloader.c: Include FT_INTERNAL_CALC_H.
+	It turns out that there is significant cost associated with `FT_Span'
+	creation and calls to `gray_render_span' because it happerns so
+	frequently. This removes these steps from our internal use but leaves
+	it alone for `FT_RASTER_FLAG_DIRECT" to preserve API. The speed gain
+	is about 5%.
 
-	* src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler.
+	* src/smooth/ftgrays.c (gray_render_span): Removed. The code is
+	migrated to...
+	(gray_hline): ... here.
 
-2015-11-28  Nikolaus Waxweiler  <madigens at gmail.com>
+2016-08-30  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	Change default LCD filter to be normalized and color-balanced.
+	[smooth] Streamline pixmap drawing a bit more.
 
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update
-	`default_filter'.
+	Zero coverage is unlikely (1 out of 256) to warrant checking. This
+	gives 0.5% speed improvement in rendering simple glyphs.
 
-2015-11-28  Werner Lemberg  <wl at gnu.org>
+	* src/smooth/ftgrays.c (gray_hline, gray_render_span): Remove checks.
 
-	[docmaker] Allow references to section names.
+2016-08-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	In the reference, we show the section's title enclosed in single
-	quotes.
+	[smooth] Streamline pixmap drawing.
 
-	* src/tools/docmaker/formatter.py (Formatter::__init__): Collect
-	section names as identifiers.
+	This gives 2% speed improvement in rendering simple glyphs.
 
-	* src/tools/docmaker/tohtml.py (section_title_header): Split into...
-	(section_title_header1, section_title_header2): ... these two
-	strings.
-	(HtmlFormatter::make_block_url, make_html_word, html_source_quote):
-	Handle sections.
-	(HtmlFormatter::section_enter): Updated to add `id' HTML attribute.
+	* src/smooth/ftgrays.c (TPixmap): Reduced pixmap descriptor with a
+	pointer to its bottom-left and pitch to be used in...
+	(gray_TWorker): ... here.
+	(gray_render_span): Move pixmap flow check from here...
+	(gray_raster_render): .. to here.
 
-2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+2016-08-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	[cmake] Add script to test the config module.
+	[smooth] Reduce stack of band boundaries.
 
-	* builds/cmake/testbuild.sh: New file.
+	* src/smooth/ftgrays.c (gray_TBand): Removed.
+	(gray_convert_glyph): Updated to stack band boundaries concisely.
 
-2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+2016-08-26  Werner Lemberg  <wl at gnu.org>
 
-	* CMakeLists.txt: Create `freetype-config.cmake' config module.
+	* src/cid/cidload.c (cid_face_open): Improve handling of `SDBytes'.
 
-2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+2016-08-26  Werner Lemberg  <wl at gnu.org>
 
-	* CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'.
+	[cid] Fix commit from 2016-05-16.
 
-2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+	* src/cid/cidparse.c (cid_parser_new): Fix off-by-one errors.
 
-	[cmake] Add better control of library dependencies.
+2016-08-26  Werner Lemberg  <wl at gnu.org>
 
-	* CMakeLists.txt: Add `WITH_*' variables to force/auto/omit
-	ZLIB/BZip2/PNG/HarfBuzz.
+	[sfnt] Cache offset and size to bitmap data table.
 
-2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+	This commit avoids `EBDT' and friends being looked up again and
+	again while loading a single embedded bitmap.
 
-	[cmake] Make `FindHarfBuzz' observe the REQUIRED option.
+	* include/freetype/internal/tttypes.h (TT_FaceRec)
+	[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New fields `ebdt_start' and
+	`ebdt_size'.
 
-	* builds/cmake/FindHarfBuzz.cmake: Implement it.
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Move table lookup to ...
+	(tt_face_load_sbit): ... this function; also store the table size
+	and offset.
 
-2015-11-27  Werner Lemberg  <wl at gnu.org>
+2016-08-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	[cmake] Collect files specific to cmake in `builds/cmake'.
+	* src/smooth/ftgrays.c (gray_raster_render): Minor tweaks.
 
-	* builds/FindHarfBuzz.cmake: Move to ...
-	* builds/cmake/FindHarfBuzz.cmake: ... this place.
+2016-08-26  Werner Lemberg  <wl at gnu.org>
 
-	* CMakeLists.txt (CMAKE_MODULE_PATH): Updated.
+	[type1] Fix heap buffer overflow.
 
-2015-11-27  Alexander Bock  <alexander.j.bock at nasa.gov>
+	Reported as
 
-	CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36
 
-2015-11-26  Werner Lemberg  <wl at gnu.org>
+	* src/type1/t1load.c (parse_charstrings): Reject fonts that don't
+	contain glyph names.
 
-	[docmaker] Allow `foo[bar]' as identifier.
+2016-08-25  Werner Lemberg  <wl at gnu.org>
 
-	We need this to handle equally named properties in different
-	modules.
+	[sfnt] Fix previous commit (#48901).
 
-	* src/tools/docmaker/content.py (re_identifier),
-	src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'.
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Thinkos.
 
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word,
-	HtmlFormatter::index_exit, HtmlFormatter::section_enter,
-	HtmlFormatter::block_enter): Handle `foo[bar]'.
+2016-08-25  Werner Lemberg  <wl at gnu.org>
 
-2015-11-25  Werner Lemberg  <wl at gnu.org>
+	[sfnt] Speed up handling of invalid format 4 cmaps.
 
-	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480).
+	* src/sfnt/ttcmap.c (tt_cmap4_next, tt_cmap4_char_map_binary): Add
+	tests for `num_glyph' from `tt_cmap4_char_map_linear'.
 
-	(_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its
-	contents.
+2016-08-25  Werner Lemberg  <wl at gnu.org>
 
-2015-11-21  Werner Lemberg  <wl at gnu.org>
+	* include/freetype/internal/ftdriver.h: Remove unused typedefs.
 
-	* include/freetype/internal/ftcalc.h: Don't use `register' keyword.
+2016-08-22  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	This fixes compiler warnings.
+	[smooth] Simplify span rendering.
 
-	Reported by Behdad.
+	This removes unnecessary complexity of span merging and buffering.
+	Instead, the spans are rendered as they come, speeding up the
+	rendering by about 5% as a result.
 
-2015-11-20  Werner Lemberg  <wl at gnu.org>
+	* src/smooth/ftgrays.c [FT_MAX_GRAY_SPANS]: Macro removed.
+	(gray_TWorker): Remove span buffer and related fields.
+	(gray_sweep, gray_hline): Updated.
 
-	Add `FT_LCD_FILTER_LEGACY1' enum value.
+	* include/freetype/ftimage.h: Remove documentation note about
+	`FT_MAX_GRAY_SPANS', which was never in `ftoption.h' and is now gone.
 
-	This does the same as `FT_LCD_FILTER_LEGACY'.
+2016-08-16  Werner Lemberg  <wl at gnu.org>
 
-	See
+	[truetype] Fix `MPS' instruction.
 
-	  https://bugs.freedesktop.org/show_bug.cgi?id=92981
+	According to Greg Hitchcock, MPS in DWrite really returns the point
+	size.
 
-	for the reasoning.
+	* src/truetype/ttobjs.h (TT_SizeRec): Add `point_size' member.
 
-	* include/freetype/ftlcdfil.h (FT_LcdFilter): New value
-	`FT_LCD_FILTER_LEGACY1'.
+	* src/truetype/ttdriver.c (tt_size_request): Set `point_size'.
 
-	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it.
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `pointSize'
+	member.
 
-2015-11-15  Werner Lemberg  <wl at gnu.org>
+	* src/truetype/ttinterp.c (TT_Load_Context): Updated.
+	(Ins_MPS): Fix instruction.
 
-	* src/autofit/afhints.c (af_get_segment_index): Fix it.
+2016-08-16  Werner Lemberg  <wl at gnu.org>
 
-	The old code was too simple, returning invalid values in most cases
-	where a segment crosses the contour start.
+	[lzw] Optimize last commit.
 
-2015-11-15  Werner Lemberg  <wl at gnu.org>
+	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into
+	conditional clause.
 
-	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439).
+2016-08-16  Werner Lemberg  <wl at gnu.org>
 
-2015-11-11  Werner Lemberg  <wl at gnu.org>
+	[lzw] Avoid invalid left shift.
 
-	[cff, autofit] Switch off stem darkening by default.
+	Reported as
 
-	* src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c
-	(cff_driver_init): Do it.
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1295366
 
-2015-11-10  Jan Alexander Steffens (heftig)  <jan.steffens at gmail.com>
+	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'.
 
-	Allow native CFF hinter in FT_RENDER_MODE_LIGHT.
+2016-08-16  Werner Lemberg  <wl at gnu.org>
 
-	Both the native CFF hinter and the auto-hinter now have a very
-	similar rendering style.
+	[lzw] Avoid buffer overrun.
 
-	* include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no
-	longer implies FT_LOAD_FORCE_AUTOHINT.
+	Reported as
 
-	* include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New
-	macro.
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1273283
 
-	* include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New
-	macro.
+	* src/lzw/ftzopen.c (ft_lzwstate_refill): Ensure `buf_size' doesn't
+	underflow.
 
-	* src/cff/cffdrivr.c (cff_driver_class): Use it.
+2016-08-16  Werner Lemberg  <wl at gnu.org>
 
-	* src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection
-	logic.
+	[truetype] Fix compiler warning.
 
-2015-11-09  Werner Lemberg  <wl at gnu.org>
+	* src/truetype/ttgload.c (load_truetype_glyph): Add cast.
 
-	* src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408).
+2016-08-13  Werner Lemberg  <wl at gnu.org>
 
-2015-11-09  Werner Lemberg  <wl at gnu.org>
+	[winfonts] Avoid zero bitmap width and height.
 
-	[truetype] Remove integer to pointer conversion compiler warning.
+	Reported as
 
-	Problem reported by Alexei.
+	  https://bugzilla.mozilla.org/show_bug.cgi?id=1272173
 
-	* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
-	in the glib library to fix the issue.
+	* src/winfonts/winfnt.c (FNT_Face_Init): Check zero pixel height.
+	(FNT_Load_Glyph): Check for zero pitch.
 
-2015-11-08  Behdad Esfahbod  <behdad at behdad.org>
+2016-08-11  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	[sfnt] Accept version 3 of `EBLC' and `CBLC' tables also.
+	* src/truetype/ttinterp.c (Pop_Push_Count): Revert changes.
 
-	* src/sfnt/ttsbit.c (tt_face_load_sbit): Implement it.
+2016-08-11  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-2015-11-08  Philipp Knechtges  <philipp-dev at knechtges.com>
+	* src/truetype/ttinterp.c (TT_RunIns): Minor and formatting.
 
-	[autofit] Don't distort (latin) glyphs too much (#46195).
+2016-08-11  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	* src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and
-	`descender' fields.
+	* src/truetype/ttinterp.c (Pop_Push_Count): Fix some entries.
 
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect
-	ascender and descender data for blue zones.
-	(af_latin_metrics_scale_dim): Reject vertical scaling values that
-	change the result by more than two pixels.
+2016-08-10  Peter Klotz  <Peter.Klotz at ith-icoserve.com>
 
-2015-11-05  Werner Lemberg  <wl at gnu.org>
+	* src/smooth/ftgrays.c (gray_hline): Fix uninitialized access.
 
-	[sfnt] Ignore embedded bitmaps with zero size (#46379).
+2016-08-10  Werner Lemberg  <wl at gnu.org>
 
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement
-	it.
+	[sfnt] Use correct type for `italicAngle' field (#48732).
 
-2015-11-04  Werner Lemberg  <wl at gnu.org>
+	* src/sfnt/ttload.c (tt_face_load_post): Fix types.
 
-	[truetype] Catch infinite recursion in subglyphs (#46372).
+2016-08-06  Jon Spencer  <jon at jonspencer.ca>
 
-	* include/freetype/internal/tttypes.h (TT_LoaderRec): New field
-	`composites'.
+	[sfnt] Fix `FT_Get_Advance' for bitmap strikes.
 
-	* src/truetype/ttgload.c: Include FT_LIST_H.
-	(load_truetype_glyph): Add composite subglyph index to a list;
-	abort if index is already in list.
-	(tt_loader_init): Updated.
-	(tt_loader_done): New function.
-	(TT_Load_Glyph): Call `tt_loader_done'.
+	`FT_Get_Advance' returns 0 for bitmap fonts.  It first gets the
+	advance value from the font table and then scales it by the
+	`font->size->metrics->x_scale' field.  But `FT_Select_Size' doesn't
+	set that value for bitmap fonts and the advance gets scaled to zero.
 
-2015-11-04  Werner Lemberg  <wl at gnu.org>
+	Taken from
 
-	[truetype] Better tracing of composite glyphs.
+	  https://github.com/behdad/harfbuzz/issues/252
 
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
-	load_truetype_glyph): Implement it.
-
-2015-11-03  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Protect against zero-size bitmaps (#46345).
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check
-	`glyph_size'.
-
-2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	* src/autofit/afloader.c (af_loader_load_g): Implement emboldening.
-
-2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[autofit] Implement darkening computation function.
-
-	This is a crude adaption of the original `cf2_computeDarkening'
-	function.
-
-	* src/autofit/afloader.c (af_intToFixed, af_fixedToInt,
-	af_floatToFixed): New macros, taken from `cf2fixed.h'.
-	(af_loader_compute_darkening): New function.
-	* src/autofit/afloader.h: Updated.
-
-2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[autofit] Add functions to get standard widths for writing systems.
-
-	We need the computed standard horizontal and vertical widths for the
-	emboldening calculation.  This method provides a convenient way to
-	extract it from writing-system-specific metrics structures, which
-	all script definitions must implement.
-
-	* src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New
-	function type.
-	(AF_WritingSystemClassRec): New member `style_metrics_getstdw'.
-	(AF_DEFINE_WRITING_SYSTEM_CLASS): Updated.
-
-	* src/autofit/afcjk.c (af_cjk_get_standard_width): New function.
-	(af_cjk_writing_system_class): Updated.
-	* src/autofit/afdummy.c	(af_dummy_writing_system_class): Updated.
-	* src/autofit/afindic.c (af_cjk_get_standard_width): New function.
-	(af_indic_writing_system_class): Updated.
-	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
-	(af_indic_writing_system_class): Updated.
-	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
-	(af_indic_writing_system_class): Updated.
-
-2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data.
-
-	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields.
-
-	* src/autofit/afglobal.c (af_face_globals_new): Initialize new
-	fields.
-	(af_face_globals_free): Reset new fields.
-
-2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
-
-	[autofit] Add stem-darkening properties.
-
-	Actual code follows in a later commit.
-
-	* include/freetype/ftautoh.h: Document `no-stem-darkening' and
-	`darkening-parameters'.
-
-	* src/autofit/afmodule.h: New fields `no_stem_darkening' and
-	`darken_params'.
-
-	* src/autofit/afmodule.c (af_property_set, af_property_get):
-	Handle them.
-	(af_autofitter_init): Initialize them.
-
-2015-11-02  Ben Wagner  <bungeman at gmail.com>
-
-	[ftfuzzer] Add support for multiple files (patch #8779).
-
-	Currently, libFuzzer only supports mutation of a single file.  We
-	circumvent this problem by using an uncompressed tar archive as
-	multiple-file input for the fuzzer.
-
-	This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing;
-	a constructed tarball should contain a font file as the first
-	element, and files to be attached as further elements.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers.
-	(archive_read_entry_data, parse_data): New functions.
-	(LLVMFuzzerTestOneInput): Updated.
-
-	* src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom
-	mutator for libFuzzer that can mutate tarballs in a sensible way.
-
-2015-10-31  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Fix cmap 14 validation (#46346).
-
-	* src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before
-	accessing `numRanges' and `numMappings'.
-	Fix size check for non-default UVS table.
-
-2015-10-31  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Handle infinite recursion in bitmap strikes (#46344).
-
-	* src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc,
-	tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned,
-	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add
-	argument for recursion depth.
-	(tt_sbit_decoder_load_compound): Add argument for recursion depth.
-	Increase recursion counter for recursive call.
-	(tt_sbit_decoder_load_image): Add argument for recursion depth.
-	Check recurse depth.
-	(tt_face_load_sbit_image): Updated.
-
-2015-10-29  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor.
-
-2015-10-29  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Remove code to set MSVC's /FD compiler switch.
-
-	Problem reported by David Capello <davidcapello at gmail.com>; see
-
-	  http://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html
-
-	for details.
-
-2015-10-27  Werner Lemberg  <wl at gnu.org>
-
-	[pfr] Add some safety guards (#46302).
-
-	* src/pfr/pfrload.h (PFR_CHECK): Rename to...
-	(PFR_CHECK_SIZE): ... this.
-	(PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE.
-
-	* src/pfr/pfrload.c (pfr_log_font_count): Check `count'.
-	(pfr_extra_item_load_kerning_pairs): Remove tracing message.
-	(pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate.
-	Allocate `chars' after doing a size checks.
-
-	* src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid
-	bitmap format to...
-	(pfr_slot_load_bitmap): ... this function.
-	Check bitmap size.
-
-2015-10-26  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix sanitizing logic for `loca' (#46223).
-
-	* src/truetype/ttpload.c (tt_face_load_loca): A thinko caused an
-	incorrect adjustment of the number of glyphs, most often using far
-	too large values.
-
-2015-10-25  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Improve tracing.
-
-	* src/autofit/afhints.c (af_print_idx, af_get_segment_index,
-	af_get_edge_index): New functions.
-
-	(af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'.
-	Add segment and edge index for each point.
-	Slightly change printing order of some elements.
-	Don't print `-1' but `--' for missing elements.
-
-	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove
-	unnecessary `|', `[', and `]'.
-	Don't print `-1' but `--' for missing elements.
-
-2015-10-24  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Sanitize bitmap strike glyph height.
-
-	Problem reported by Nikolay Sivov <bunglehead at gmail.com>.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Avoid zero value
-	for `metrics->height' by applying some heuristics.
-
-2015-10-22  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt, type42] Fix clang compiler warnings.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face): Initialize `offset'.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Use proper cast.
-
-2015-10-22  Dave Arnold  <darnold at adobe.com>
-	    Werner Lemberg  <wl at gnu.org>
-
-	[cff] Avoid overflow/module arithmetic.
-
-	This modifies the addition of subroutine number to subroutine bias
-	from unsigned to signed, but does not change any results.
-
-	* src/cff/cf2ft.c (cf2_initGlobalRegionBuffer,
-	cf2_initLocalRegionBuffer): Change variable names from (unsigned)
-	`idx' to (signed) `subrNum', since it is not an index until after
-	the bias is added.
-	* src/cff/cf2ft.h: Updated.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
-	Updated similarly.
-
-2015-10-22  Werner Lemberg  <wl at gnu.org>
-
-	[cid] Better check of `SubrCount' dictionary entry (#46272).
-
-	* src/cid/cidload.c (cid_face_open): Add more sanity tests for
-	`fd_bytes', `gd_bytes', `sd_bytes', and `num_subrs'.
-
-2015-10-21  Werner Lemberg  <wl at gnu.org>
-
-	[base] Pacify compiler (#46266).
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Initialize `in' and
-	`anchor'.
-
-2015-10-21  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Fix heap buffer overflow (#46269).
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Fix off-by-one error in
-	bounds checking.
-
-2015-10-21  Dave Arnold  <darnold at adobe.com>
-
-	[cff] Fix limit in assert for max hints.
-
-	* src/cff/cf2interp.c (cf2_hintmask_setAll): Allow mask equal to the
-	limit (96 bits).
-
-2015-10-21  Dave Arnold  <darnold at adobe.com>
-
-	[cff] Remove an assert (#46107).
-
-	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Ignore paired edges
-	in wrong order.
-
-2015-10-21  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Avoid unnecessarily large allocation for WOFFs (#46257).
-
-	* src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize'
-	only after thorough checks.
-	Add tracing messages.
-
-2015-10-21  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Better check invalid `sfnts' array data (#46255).
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Table lengths must be
-	checked individually against available data size.
-
-2015-10-20  Werner Lemberg  <wl at gnu.org>
-
-	[cid] Add a bunch of safety checks.
-
-	* src/cid/cidload.c (parse_fd_array): Check `num_dicts' against
-	stream size.
-	(cid_read_subrs): Check largest offset against stream size.
-	(cid_parse_dict): Move safety check to ...
-	(cid_face_open): ... this function.
-	Also test length of binary data and values of `SDBytes',
-	`SubrMapOffset', `SubrCount', `CIDMapOffset', and `CIDCount'.
-
-2015-10-20  Werner Lemberg  <wl at gnu.org>
-
-	[cid] Avoid segfault with malformed input (#46250).
-
-	* src/cid/cidload.c (cid_read_subrs): Return a proper error code for
-	unsorted offsets.
-
-2015-10-20  StudioEtrange  <nomorgan at gmail.com>
-
-	* CMakeLists.txt: Enable shared library builds on MinGW (#46233).
-
-2015-10-20  Werner Lemberg  <wl at gnu.org>
-
-	* src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).
-
-2015-10-19  Ben Wagner  <bungeman at gmail.com>
-
-	[cid] Better handle invalid glyph stream offsets (#46221).
-
-	* src/cid/cidgload.c (cid_load_glyph): Check minimum size of glyph
-	length.
-
-2015-10-18  Werner Lemberg  <wl at gnu.org>
-
-	[psaux] Fix tracing of negative numbers.
-
-	Due to incorrect casting negative numbers were shown as very large
-	(positive) integers on 64bit systems.
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_none>:
-	Use division instead of shift.
-
-2015-10-18  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223).
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h: Surround it
-	with #ifndef ... #endif, as suggested in the tracker issue.
-
-2015-10-18  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Better protection against malformed `fpgm' (#46223).
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't execute a
-	malformed `fpgm' table more than once.
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	* src/cid/cidgload.c (cid_load_glyph): Fix memory leak.
-
-	Reported by Kostya Serebryany <kcc at google.com>.
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	[bdf] Prevent memory leak (#46217).
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <STARTCHAR>: Check
-	_BDF_GLYPH_BITS.
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	[bdf] Use stream size to adjust number of glyphs.
-
-	* src/bdf/bdflib.c (ACMSG17): New message macro.
-	(_bdf_parse_t): Add member `size'.
-	(bdf_load_font): Set `size'.
-	(_bdf_parse_glyphs): Adjust `cnt' if necessary.
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	* src/cid/cidload.c (cid_parse_dict): Check `[FG]DBytes' size.
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	* src/cid/cidgload.c (cid_glyph_load): Check file offsets (#46222).
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	[psaux] Fix heap buffer overflow (#46221).
-
-	* src/psaux/t1decode.c (t1_decoder_parse_charstring) <operator 12>:
-	Fix limit check.
-
-2015-10-17  Werner Lemberg  <wl at gnu.org>
-
-	* src/cid/cidload.c (cid_parse_dict): Handle invalid input (#46220).
-
-2015-10-15  Kostya Serebryany  <kcc at google.com>
-
-	[ftfuzzer] Add README.
-
-	* src/tools/ftfuzzer/README: New file.
-
-2015-10-15  Ben Wagner  <bungeman at gmail.com>
-
-	[bdf] Fix memory leak (#46213).
-
-	* src/bdf/bdflib.c (bdf_load_font): Always go to label `Fail' in
-	case of error.
-
-2015-10-15  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Add TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46208).
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES): New configuration macro.
-
-	* src/truetype/ttinterp.c (MAX_RUNNABLE_OPCODES): Removed.
-	(TT_RunIns): Updated.
-
-2015-10-15  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Fix bytecode stack tracing.
-
-	The used indices were off by 1.
-
-2015-10-15  Ben Wagner  <bungeman at gmail.com>
-	    Werner Lemberg  <wl at gnu.org>
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211).
-
-2015-10-15  Werner Lemberg  <wl at gnu.org>
-
-	[base] Compute MD5 checksums only if explicitly requested.
-
-	This improves profiling accuracy.
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it.
-
-2015-10-14  Werner Lemberg  <wl at gnu.org>
-
-	[base] Use `FT_' namespace for MD5 functions (#42366).
-
-	* src/base/ftobjs.c (MD5_*): Define as `FT_MD5_*'.
-	Undefine HAVE_OPENSSL.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Correctly handle missing MM axis names (#46202).
-
-	* src/type1/t1load.c (T1_Get_MM_Var): Implement it.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[pcf] Quickly exit if font index < 0.
-
-	Similar to other font formats, this commit makes the parser no
-	longer check the whole PCF file but only the header and the TOC if
-	we just want to get the number of available faces (and a proper
-	recognition of the font format).
-
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
-	Exit quickly if face_index < 0.
-
-	* src/pcfread.c (pcf_load_font): Add `face_index' argument.
-	Exit quickly if face_index < 0.
-
-	* src/pcf/pcf.h: Updated.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[ftfuzzer] Handle TTCs and MM/GX variations.
-
-	This patch also contains various other improvements.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject
-	pre-C++11 compilers.
-	(FT_Global): New class.  Use it to provide a global constructor and
-	destructor for the `FT_Library' object.
-	(setIntermediateAxis): New function to select an (arbitrary)
-	instance.
-	(LLVMFuzzerTestOneInput): Loop over all faces and named instances.
-	Also call `FT_Set_Char_Size'.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Refine some GX sanity tests.
-
-	Use the `gvar' table size instead of the remaining bytes in the
-	stream.
-
-	* src/truetype/ttgxvar.h (GX_BlendRec): New field `gvar_size'.
-
-	* src/truetype/ttgxvar.c (ft_var_load_gvar): Set `gvar_size'.
-	(ft_var_readpackedpoints, ft_var_readpackeddeltas: New argument
-	`size'.
-	(tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Updated.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Another GX sanity test.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Check
-	`tupleCount'.
-	Add tracing message.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix memory leak for broken GX fonts (#46188).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix scope of
-	deallocation.
-
-2015-10-13  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix commit from 2015-10-10.
-
-	* src/truetype/ttgxvar.c (ft_var_load_gvar): Add missing error
-	handling body to condition.
-
-2015-10-12  Werner Lemberg  <wl at gnu.org>
-
-	[unix] Make MKDIR_P actually work.
-
-	* builds/unix/configure.raw: Fix underquoting of `INSTALL' and
-	`MKDIR_P'.
-
-	Problem reported by Dan Liddell <lddll at yahoo.com>.
-
-2015-10-11  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Improve extraction of number of named instances.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check number of instances against
-	`fvar' table size.
-
-2015-10-10  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow
-	(#46149).
-
-2015-10-10  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Fix infinite loops with broken cmaps (#46167).
-
-	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next): Take care
-	of border conditions (i.e., if the loops exit naturally).
-
-2015-10-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More sanity tests for GX handling.
-
-	These tests should mainly help avoid unnecessarily large memory
-	allocations in case of malformed fonts.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
-	ft_var_readpackeddeltas): Check number of points against stream
-	size.
-	(ft_var_load_avar): Check `pairCount' against table length.
-	(ft_var_load_gvar): Check `globalCoordCount' and `glyphCount'
-	against table length.
-	(tt_face_vary_cvt): Check `tupleCount' and `offsetToData'.
-	Fix trace.
-	(TT_Vary_Apply_Glyph_Deltas): Fix trace.
-	Free `sharedpoints' to avoid memory leak.
-
-2015-10-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Better protection against malformed GX data (#46166).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Correctly
-	handle empty `localpoints' array.
-
-2015-10-10  Werner Lemberg  <wl at gnu.org>
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Check stream size (#46162).
-
-2015-10-09  Werner Lemberg  <wl at gnu.org>
-
-	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size.
-
-2015-10-08  Werner Lemberg  <wl at gnu.org>
-
-	[pcf] Protect against invalid number of TOC entries (#46159).
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Check number of TOC entries
-	against size of data stream.
-
-2015-10-08  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Protect against invalid number of glyphs (#46159).
-
-	* src/type42/t42parse.c (t42_parse_charstrings): Check number of
-	`CharStrings' dictionary entries against size of data stream.
-
-2015-10-08  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Fix some signed overflows (#46149).
-
 	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	<TT_SBIT_TABLE_TYPE_SBIX>: Use `FT_MulDiv'.
+	<TT_SBIT_TABLE_TYPE_EBLC>: Set scale values.
 
-2015-10-08  Werner Lemberg  <wl at gnu.org>
+2016-08-06  Behdad Esfahbod  <behdad at behdad.org>
 
-	[type1] Protect against invalid number of subroutines (#46150).
+	[truetype] Fix GX variation handling of composites.
 
-	* src/type1/t1load.c (parse_subrs): Check number of
-	`Subrs' dictionary entries against size of data stream.
-
-2015-10-07  Kostya Serebryany  <kcc at google.com>
-
-	[ftfuzzer] Add support for LLVM's LibFuzzer.
-
-	* src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files.
-
-2015-10-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Faster alternative line renderer.
-
-	This implementation renders the entire line segment at once without
-	subdividing it into scanlines.  The main speed improvement comes from
-	reducing the number of divisions to just two per line segment, which
-	is a bare minimum to calculate cell coverage in a smooth rasterizer.
-	Notably, the progression from cell to cell does not itself require any
-	divisions at all.  The speed improvement is more noticeable at larger
-	sizes.
-
-	* src/smooth/ftgrays.c (gray_render_line): New implementation.
-
-2015-10-06  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Return correct PS names from pure CFF (#46130).
-
-	* src/cff/cffdrivr.c (cff_get_ps_name): Use SFNT service only for
-	SFNT.
-
-2015-10-04  Werner Lemberg  <wl at gnu.org>
-
-	[base] Replace left shifts with multiplication (#46118).
-
-	* src/base/ftglyph.c (ft_bitmap_glyph_bbox, FT_Get_Glyph): Do it.
-
-2015-10-04  Werner Lemberg  <wl at gnu.org>
-
-	* Version 2.6.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-6-1'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.1.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/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.6/2.6.1/, s/26/261/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 18:1:12.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-
-	* src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for
-	dumping functions.
-
-2015-10-04  Werner Lemberg  <wl at gnu.org>
-
-	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c
-	(ft_gzip_file_fill_input): In case of an error, adjust the limit to
-	avoid copying uninitialized memory.
-
-2015-10-03  Werner Lemberg  <wl at gnu.org>
-
-	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c
-	(ft_gzip_file_fill_output): In case of an error, adjust the limit to
-	avoid copying uninitialized memory.
-
-2015-10-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Clean up worker.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
-
-2015-10-01  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of
-	border conditions (i.e., if the loop exits naturally).
-
-2015-10-01  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges.
-	They should be a subset of `af_deva_uniranges'.
-
-2015-10-01  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
-	reject too large glyph indices.
-
-2015-09-30  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[smooth] Clean up worker.
-
-	* src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
-	(gray_start_cell, gray_render_line): Update.
-
-2015-09-30  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Replace `no-base' with `non-base'.
-
-	* src/autofit/*: Do it.
-
-2015-09-30  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078).
-
-	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better
-	skip invalid segments.
-	If searching the next character, provide a more efficient logic to
-	speed up the code.
-
-2015-09-30  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Adjust number of glyphs for malformed `loca' tables.
-
-	* src/truetype/ttpload.c (tt_face_load_loca): Implement it.
-
-2015-09-29  Werner Lemberg  <wl at gnu.org>
-
-	[pshinter] Avoid harmless overflow (#45984).
-
-	* src/pshinter/pshglob.c (psh_blues_set_zones): Fix it.
-
-2015-09-28  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Lao script.
-
-	Thanks to Danh Hong <danhhong at gmail.com> for guidance with blue zone
-	characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Lao.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Lao standard characters.
-
-	* src/autofit/afranges.c: Add Lao data.
-
-	* src/autofit/afstyles.h: Add Lao data.
-
-2015-09-27  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
-
-	[base] Fix a leak by broken sfnt-PS or resource fork (#46028).
-
-	open_face_from_buffer() frees passed buffer if valid font
-	is not found.  But if copying to the buffer is failed,
-	the allocated buffer should be freed within the caller.
-
-	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free
-	the buffer `sfnt_ps' if an error caused before calling
-	open_face_from_buffer().
-	(Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if
-	an error caused before calling open_face_from_buffer();
-
-2015-09-27  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
-
-	[mac] Fix buffer size calculation for LWFN font.
-
-	* src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong
-	to prevent confused copy by too large chunk size.
-
-2015-09-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro.
-
-2015-09-26  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Minor tracing improvement.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit
-	blue zones header line if there are no blue zones.
-
-2015-09-26  Werner Lemberg  <wl at gnu.org>
-
-	[bzip2, gzip, lzw] Harmonize function signatures with prototype.
-
-	Suggested by Hin-Tak Leung.
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c
-	(ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it.
-
-2015-09-26  Hin-Tak Leung  <htl10 at users.sourceforge.net>
-
-	Add new FT_LOAD_COMPUTE_METRICS load flag.
-
-	* include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro.
-	* src/truetype/ttgload.c (compute_glyph_metrics): Usage.
-
-2015-09-26  Werner Lemberg  <wl at gnu.org>
-
-	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast.
-
-2015-09-25  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Protect against invalid number of glyphs (#46029).
-
-	* src/type1/t1load.c (parse_charstrings): Check number of
-	`CharStrings' dictionary entries against size of data stream.
-
-2015-09-23  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Better checks for invalid cmaps (2/2) (#46019).
-
-	While the current code in `FT_Get_Next_Char' correctly rejects
-	out-of-bounds glyph indices, it can be extremely slow for malformed
-	cmaps that use 32bit values.  This commit tries to improve that.
-
-	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next,
-	tt_cmap12_char_map_binary, tt_cmap13_next,
-	tt_cmap13_char_map_binary): Reject glyph indices larger than or
-	equal to the number of glyphs.
-
-2015-09-23  Werner Lemberg  <wl at gnu.org>
-
-	[base, sfnt] Better checks for invalid cmaps (1/2).
-
-	* src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds
-	glyph indices.
-	(FT_Get_First_Char): Updated.
-
-	* src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character
-	codes greater than 0xFFFF.
-
-	(tt_cmap8_char_index): Avoid integer overflow in computation of
-	glyph index.
-	(tt_cmap8_char_next): Avoid integer overflows in computation of
-	both next character code and glyph index.
-
-	(tt_cmap10_char_index): Fix unsigned integer logic.
-	(tt_cmap10_char_next): Avoid integer overflow in computation of
-	next character code.
-
-	(tt_cmap12_next): Avoid integer overflows in computation of both
-	next character code and glyph index.
-	(tt_cmap12_char_map_binary): Ditto.
-	(tt_cmap12_char_next): Simplify.
-
-	(tt_cmap13_char_map_binary): Avoid integer overflow in computation
-	of next character code.
-	(tt_cmap13_char_next): Simplify.
-
-2015-09-21  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
-
-	[base] Check too long POST and sfnt resource (#45919).
-
-	* src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the
-	resource fork for Mac OS.  Resource forks larger than 16 MB can be
-	written but can't be handled correctly, at least in Carbon routine.
-	See https://support.microsoft.com/en-us/kb/130437.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x'
-	prefix for `%p' formatter.
-
-	* src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and
-	total size of the concatenated POST resource before buffer
-	allocation.
-	(Mac_Read_sfnt_Resource): Check the declared size of sfnt resource
-	before buffer allocation.
-
-	* src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the
-	total resource size before buffer allocation.
-
-2015-09-19  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Improve handling of invalid SFNT table entries (#45987).
-
-	This patch fixes weaknesses in function `tt_face_load_font_dir'.
-
-	- It incorrectly assumed that valid tables are always at the
-	  beginning.  As a consequence, some valid tables after invalid
-	  entries (which are ignored) were never seen.
-
-	- Duplicate table entries (this is, having the same tag) were not
-	  rejected.
-
-	- The number of valid tables was sometimes too large, leading to
-	  access of invalid tables.
-
-	* src/sfnt/ttload.c (check_table_dir): Add argument to return number
-	of valid tables.
-	Add another tracing message.
-	(tt_face_load_font_dir): Only allocate table array for valid
-	entries as returned by `check_table_dir'.
-	Reject duplicate tables and adjust number of valid tables
-	accordingly.
-
-2015-09-19  Werner Lemberg  <wl at gnu.org>
-
-	[pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999).
-
-	* src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short,
-	then take the absolute value.
-	Also apply FT_ABS to `height'.
-
-2015-09-17  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Fix memory leak (#45989).
-
-	* src/type42/t42parse.c (t42_parse_charstrings): Allow only a single
-	`CharStrings' array.
-
-2015-09-17  Werner Lemberg  <wl at gnu.org>
-
-	[psaux] Fix memory leak (#45986).
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
-	Free `temp' in case of error.
-
-2015-09-17  Werner Lemberg  <wl at gnu.org>
-
-	[psaux] Improve tracing message.
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
-	Handle plural correctly.
-
-2015-09-17  Werner Lemberg  <wl at gnu.org>
-
-	[pcf] Fix integer overflows (#45985).
-
-	* src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
-
-2015-09-17  Werner Lemberg  <wl at gnu.org>
-
-	[pcf] Use FT_ABS for some property values (#45893).
-
-	* src/pcf/pcfread.c (pcf_load_font): Take absolute values for
-	AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
-	RESOLUTION_Y.  In tracing mode, add warnings.
-
-2015-09-16  Werner Lemberg  <wl at gnu.org>
-
-	Minor fixes for some clang warnings.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing
-	initialization.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Cast.
-
-2015-09-15  Werner Lemberg  <wl at gnu.org>
-
-	[type1, type42] Fix memory leaks (#45966).
-
-	* src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis
-	names.
-	(parse_blend_design_map): Allow only a single design map.
-	(parse_encoding): Handle multiple encoding vectors.
-
-	* src/type42/t42parse.c (t42_parse_encoding): Handle multiple
-	encoding vectors.
-
-2015-09-15  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix integer type (#45965).
-
-	* src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it.
-
-2015-09-15  Werner Lemberg  <wl at gnu.org>
-
-	* src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964).
-
-2015-09-15  Werner Lemberg  <wl at gnu.org>
-
-	[type1, type42] Check encoding array size (#45961).
-
-	* src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
-	(t42_parse_encoding): Do it.
-
-2015-09-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve.
-
-2015-09-14  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Fix another potential buffer overflow (#45955).
-
-	* src/type1/t1parse (T1_Get_Private_Dict): Assure that check for
-	`eexec' doesn't exceed `limit'.
-
-2015-09-13  Werner Lemberg  <wl at gnu.org>
-
-	Replace `mkinstalldirs' with AC_PROG_MKDIR_P.
-
-	* builds/unix/mkinstalldirs: Removed, no longer needed.
-
-	* builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'.
-	Update pwd call for `$INSTALL'.
-
-	* builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'.
-
-	* autogen.sh: Updated.
-
-2015-09-13  Werner Lemberg  <wl at gnu.org>
-
-	[winfonts] Check alignment shift count for resource data (#45938).
-
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
-
-2015-09-13  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Fix potential buffer overflow (#45923).
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't
-	point to end of file buffer.
-
-2015-09-13  Werner Lemberg  <wl at gnu.org>
-
-	[gzip] Fix access of small compressed files (#45937).
-
-	* src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
-
-	(ft_gzip_get_uncompressed_file): Correct byte order while reading
-	unsigned long value.  Without this change, the whole optimization of
-	accessing small files in `FT_Stream_OpenGzip' is never executed!  As
-	a consequence, access to PCF files in general (which are normally
-	small files) should be much improved now as originally intended.
-
-2015-09-11  Werner Lemberg  <wl at gnu.org>
-
-	[psaux] Fix potential buffer overflow (#45922).
-
-	* src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is
-	enclosed in balanced expressions, ensure that the cursor position
-	doesn't get larger than the current limit.
-
-2015-09-11  Werner Lemberg  <wl at gnu.org>
-
-	[base] Avoid crash while tracing `load_mac_face'.
-
-	Reported in Savannah bug #45919.
-
-	* src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while
-	tracing.
-
-2015-09-11  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Fix endless loop (#45920).
-
-	* src/type42/t42parse.c (t42_parse_encoding): Synchronize with
-	type1's `parse_encoding'.
-
-2015-09-10  Werner Lemberg  <wl at gnu.org>
-
-	[docmaker] Allow `-' in bold and italic markup.
-
-	* src/tools/docmaker/sources.py (re_italic, re_bold): Adjust
-	accordingly.
-
-2015-09-09  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/ftcalc.c (FT_RoundFix): Improve.
-
-2015-09-09  Wojciech Mamrak  <wmamrak at gmail.com>
-
-	* src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
-
-	This commit makes the functions behave as expected, this is,
-	rounding towards plus or minus infinity.
-
-2015-09-07  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
-
-2015-09-04  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[raster,smooth] Microoptimizations.
-
-	* src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
-	Bezier_Up, ): Use do-while loops.
-
-	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
-	gray_convert_glyph): Ditto.
-
-2015-09-04  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Redesign code ranges (2/2).
-
-	This commit adds two fallback scripts (`latb', `latp') and
-	implements support for the no-base character ranges introduced in
-	the previous commit.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
-	`script_uni_nobase_ranges' field.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and
-	`latp' fallback scripts.
-
-	* src/autofit/afblue.dat: Add blue zones for Latin subscript and
-	superscript fallback scripts.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base
-	characters.
-	(AF_STYLE_MASK): Updated.
-
-	* src/autofit/afglobal.c (SCRIPT): Updated.
-	(af_face_globals_compute_style_coverage): Handle new style flag.
-
-	* src/autofit/aflatin.c (af_latin_hints_apply): Handle new style
-	flag.
-
-	* src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
-
-2015-09-04  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Redesign code ranges (1/2).
-
-	This patch introduces auxiliary code ranges that identify no-base
-	characters; they refer to glyphs of a script that should be hinted
-	without alignments to blue zones (mostly diacritics).
-
-	It also splits off ranges for fallback scripts that handle subscript
-	and superscript characters not covered by OpenType features.  For
-	example, this greatly helps improve the hinting of various phonetic
-	alphabets, which contain a large amount characters that look like
-	superscript glyphs.
-
-	Finally, code ranges are updated to Unicode 8.0, and enclosed
-	characters are removed in general since they normally look better if
-	they stay unhinted.
-
-	* src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode
-	8.0.
-	Split off superscript-like and subscript-like glyphs into...
-
-	(af_latb_uniranges, af_latp_uniranges): ... these two new arrays.
-
-	(af_xxxx_nobase_uniranges): New arrays that hold no-base characters
-	of the corresponding character ranges.
-
-2015-09-03  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Pass glyph index to hinting function.
-
-	No functionality change yet.
-
-	* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass
-	glyph index.
-
-	* src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply),
-	src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c
-	(af_indic_hints_apply), src/autofit/aflatin.c
-	(af_latin_hints_apply), src/autofit/aflatin2.c
-	(af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g):
-	Updated.
-
-2015-08-30  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Code clean-up.
-
-	* src/autofit/afglobal.h (AF_STYLE_MASK): New macro.
-	(AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Updated.
-
-2015-08-30  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Make glyph style array use 16bit values.
-
-	* include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use
-	`FT_UShort' for `map' field.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
-	af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h
-	(af_get_coverage): Use FT_UShort for `glyph_styles' array.
-
-	* src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to
-	16 bits.
-	(AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
-
-2015-08-26  Werner Lemberg  <wl at gnu.org>
-
-	* builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828).
-
-2015-08-25  Werner Lemberg  <wl at gnu.org>
-
-	[base] Improve kerning tracing and documentation.
-
-	* src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if
-	scaled-down kerning values differ.
-
-2015-08-18  Werner Lemberg  <wl at gnu.org>
-
-	[raster] Remove last remnants of `raster5' driver.
-
-	* src/raster/ftrend1.h (ft_raster5_renderer_class): Removed.
-
-	* src/raster/rastpic.c, src/raster/rastpic.h
-	(ft_raster5_renderer_class_pic_init,
-	ft_raster5_renderer_class_pic_free): Removed.
-
-2015-08-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Improve emboldener (#45596).
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement
-	of zero-length segments.
-
-2015-08-16  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Reoptimize arithmetic.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
-	special cases that slow down the general use.
-
-2015-08-15  pazer  <ibemad at gmail.com>
-
-	Fix C++ compilation (#45762).
-
-	* src/base/ftstroke.c (ft_outline_glyph_class): Use
-	FT_CALLBACK_TABLE.
-
-2015-08-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[truetype] Clean up.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use
-	`FT_Outline_Transform' and `FT_Outline_Translate'.
-	(translate_array): Dropped.
-
-2015-08-14  Andreas Enge  <andreas.enge at inria.fr>
-
-	* builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261).
-
-2015-08-13  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Introduce named instance access to GX fonts.
-
-	For functions querying a face, bits 16-30 of the face index can hold
-	the named instance index if we have a GX font.  The indices start
-	with value 1; value 0 indicates font access without GX variation
-	data.
-
-	* include/freetype/freetype.h (FT_FaceRec): Update documentation.
-	* include/freetype/internal/sfnt.h: Ditto.
-
-	* src/sfnt/sfobjs.c (sfnt_init_face)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and
-	do argument checks.
-	(sfnt_load_face): Updated.
-
-	* src/truetype/ttobjs.c (tt_face_init)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting
-	the style name.
-
-	* src/base/ftobjs.c (open_face_from_buffer,
-	open_face_PS_from_sfnt_stream): Updated.
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated.
-	* src/cff/cffload.c (cff_font_load): Updated.
-
-	* src/cff/cffobjs.c (cff_face_init): Make function exit early for
-	pure CFF fonts if `font_index < 0'.
-	Updated.
-
-	* src/cid/cidobjs.c (cid_face_init): Updated.
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
-	* src/pfr/pfrobjs.c (pfr_face_init): Updated.
-	* src/type1/t1objs.c (T1_Face_Init): Updated.
-	* src/type42/t42objs.c (T42_Face_Init): Updated.
-	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
-	Updated.
-
-	* docs/CHANGES: Updated.
-
-2015-08-12  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[type1,cff,cid] Streamline font matrix application.
-
-	* src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only
-	if font matrix is not trivial.
-	* src/cff/cffgload.c (cff_slot_load): Ditto.
-	* src/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the
-	entire outline.
-
-2015-08-11  Werner Lemberg  <wl at gnu.org>
-
-	[builds/unix] Minor.
-
-	* builds/unix/configure.raw:
-	s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with
-	similarly named uppercase variables.
-
-2015-08-10  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[type1,cid,type42] Minor improvements.
-
-	* src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only
-	when necessary. Refresh comments.
-	* src/cid/cidload.c (cid_parse_font_matrix): Ditto.
-	* src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments.
-
-2015-08-08  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Fix glyph access.
-
-	This is a severe bug: We've missed one level of indirection, as
-	described in the Type 42 specification.  As a result, ftview
-	sometimes showed incorrect glyphs for given glyph names, and even
-	displayed `error 0x0006' (invalid argument!) in case the number of
-	glyph indices differed between the Type 42 font and the embedded
-	TTF.
-
-	Apparently, noone ever noticed it; this shows how much Type 42 fonts
-	are in use...
-
-	* src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index
-	to embedded TTF's glyph index.
-
-2015-08-08  Werner Lemberg  <wl at gnu.org>
-
-	[type42] Minor clean-up.
-
-	* src/type42/t42parse.c (t42_parse_font_matrix): Remove unused
-	variable.
-
-2015-08-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[type42] Parse FontMatrix according to specifications.
-
-	* src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix
-	does not need scaling by 1000. Units_per_EM are taken from the
-	embedded TrueType.
-
-2015-08-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Improve Arabic hinting.
-
-	Problem reported by Titus Nemeth <tn at tntypography.eu> (by using
-	ttfautohint).
-
-	* src/autofit/afblue.dat: Add neutral blue zone for the tatweel
-	character.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2015-08-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[truetype] Clean up types.
-
-	* src/truetype/ttobjs.c (TT_Size): Move declaration from here.
-	* include/freetype/internal/tttypes.h (TT_Size): ... to here.
-	(TT_LoaderRec): Switch to appropriate types for `face' and `size'.
-	* src/truetype/ttgload.c: Remove corresponding type casts.
-	* src/truetype/ttsubpix.c: Ditto.
-
-2015-08-05  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Improve recognition of flat vs. rounded segments.
-
-	Lower the flatness threshold from upem/8 to upem/14, making the
-	auto-hinter accept shorter elements.
-
-	Synchronize flat/round stem selection algorithm with blue zone code.
-
-	* src/autofit/aflatin.c (FLAT_THRESHOLD): New macro.
-	(af_latin_metrics_init_blues): Use it.
-	(af_latin_hints_compute_segments): Collect information on maximum
-	and minimum coordinates of `on' points; use this to add a constraint
-	for the flat/round decision similar to
-	`af_latin_metrics_init_blues'.
-
-2015-08-04  Werner Lemberg  <wl at gnu.org>
-
-	Another left-shift bug (#45681).
-
-	* src/base/ftobjs.c (IsMacBinary): Only accept positive values for
-	`dlen'.
-
-2015-08-03  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Fix `ft_corner_orientation'.
-
-	Remove casting from `FT_Long' to `FT_Int' that might change the sign
-	of the return value and make it faster too.
-
-	* src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
-	with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
-	* src/pshinter/pshalgo.c: Remove old unused code.
-
-2015-08-03  Werner Lemberg  <wl at gnu.org>
-
 	* src/truetype/ttgload.c (load_truetype_glyph)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
-	having a depth greater than 1.
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check `ARGS_ARE_XY_VALUES' flag.
 
-2015-08-03  Werner Lemberg  <wl at gnu.org>
+2016-08-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
 
-	Fix typo in clang bug from 2015-07-31 (#45678).
+	[smooth] Minor refactoring.
 
-	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
-
-2015-08-02  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Improve shared library support.
-
-	Based on a patch from John Cary <cary at txcorp.com>.
-
-2015-08-02  Werner Lemberg  <wl at gnu.org>
-
-	* builds/unix/freetype-config.in (enable_shared): Remove.  Unused.
-
-2015-08-02  Werner Lemberg  <wl at gnu.org>
-
-	Fix more invalid left-shifts.
-
-	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication,
-	not left-shift.
-
-	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
-	tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication,
-	not left-shift.
-
-2015-07-31  Werner Lemberg  <wl at gnu.org>
-
-	Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
-
-	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
-	positive values from header.
-	Check overflow.
-
-	* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
-	negative values.
-
-	* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
-	_bdf_clear_glyph_modified): Use unsigned long constant.
-
-	* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
-	left-shift values that can be negative.
-
-	* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
-	left-shift values that can be negative.
-
-	* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
-	negative values.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
-	values that can be negative.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
-	compute_glyph_metrics, load_sbit_image): Don't left-shift values
-	that can be negative.
-
-2015-07-31  Werner Lemberg  <wl at gnu.org>
-
-	Define FT_LONG_MAX.
-
-	* include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro.
-	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it.
-
-2015-07-28  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
-
-2015-07-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
-
-2015-07-26  Matthias Clasen  <matthias.clasen at gmail.com>
-
-	[cff] Don't use `hmtx' table for LSB (#45520).
-
-	* src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance
-	width only.  Bug introduced 2015-04-10.
-
-2015-07-09  Werner Lemberg  <wl at gnu.org>
-
-	Better support of user-supplied C++ namespaces.
-
-	See
-
-	  http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
-
-	for a rationale.
-
-	* src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
-	src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
-	src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
-	(FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
-	header files that contain FT_{BEGIN,END}_HEADER macros by
-	themselves.
-
-	* src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
-	FT_CONFIG_STANDARD_LIBRARY_H earlier.
-
-	* src/truetype/ttpic.h: Include FT_INTERNAL_PIC_H.
-
-2015-07-07  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Make `tt_face_get_name' member of the SFNT interface.
-
-	* include/freetype/internal/sfnt.h (TT_Get_Name_Func): New
-	prototype.
-	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'.
-
-	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
-
-	* src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'.
-	* src/sfnt/sfobjs.h: Add prototype for it.
-
-2015-06-30  Werner Lemberg  <wl at gnu.org>
-
-	Fix some clang compiler warnings.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
-	(cf2_interpT2CharString), src/truetype/ttgload.c
-	(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
-	src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
-
-2015-06-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[truetype] Speed up bytecode interpreter.
-
-	* src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'.
-
-2015-06-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Speed up emboldening.
-
-	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use
-	`FT_Vector_NormLen'.
-
-2015-06-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Implement fast vector normalization.
-
-	The function uses Newton's iterations instead of dividing vector
-	components by its length, which needs a square root. This is,
-	literally, a bit less accurate but a lot faster.
-
-	* src/base/ftcalc.c (FT_Vector_NormLen): New function.
-
-2015-06-28  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Always create `ftconfig.h'.
-
-	For non-UNIX builds, the file stays unmodified.  However, it's
-	better to have the main configuration files at the same place
-	regardless of the OS.
-
-2015-06-28  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Improve MSVC support (#43737).
-
-2015-06-28  Werner Lemberg  <wl at gnu.org>
-
-	[cmake] Check for libraries and create `ftoption.h'.
-
-	* builds/FindHarfBuzz.cmake: New file, taken from
-
-	  https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake
-
-	* CMakeLists.Txt: Add path to local cmake modules.
-	Find dependencies for zlib, bzip2, libpng, and harfbuzz.
-	Create `ftoption.h' file.
-	Set up include and linker stuff for libraries.
-
-2015-06-28  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Fix creation of `ftconfig.h'.
-	Check for UNIX header files using `check_include_file'.
-	Set up correct header include directories.
-
-2015-06-28  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Disallow in-source builds.
-
-2015-06-27  Werner Lemberg  <wl at gnu.org>
-
-	* src/tools/docmaker/utils.py (check_output): Add missing `\n'.
-
-2015-06-26  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Select platform-dependent `ftdebug.c'.
-
-2015-06-25  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
-	Additionally, do this for UNIX only.
-
-2015-06-25  Werner Lemberg  <wl at gnu.org>
-
-	* CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
-
-2015-06-25  Werner Lemberg  <wl at gnu.org>
-
-	Another adjustment to header locations.
-
-	This change is a result of a discussion thread on freetype-devel
-
-	  http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
-
-	Re-introduce the `freetype2' subdirectory for all FreeType header
-	files after installation, and rename the `freetype2' subdirectory in
-	the git repository to `freetype'.
-
-	* include/freetype2: Renamed to...
-	* include/freetype: This.
-
-	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
-	PRIVATE_HEADERS): Updated.
-	Update creation of `ftconfig.h'.
-	Install generated `ftconfig.h'.
-
-	* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
-
-	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
-	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
-	builds/unix/freetype2.in: Updated.
-
-	* builds/unix/freetype-config.in: Updated.
-	* builds/unix/configure.raw: Don't check for `rmdir'.
-	* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
-	according to the autoconf info manual.
-	* builds/unix/install.mk (install, uninstall,
-	distclean_project_unix): Update and simplify.
-
-	* builds/wince/*, builds/windows/*: Updated.
-
-	* devel/ft2build.h, include/ft2build.h: Updated.
-
-	* include/freetype2/config/ftheader.h,
-	include/freetype2/internal/ftserv.h,
-	include/freetype2/internal/internal.h: Update all header file
-	macros.
-
-	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
-
-	* docs/*: Updated.
-
-2015-06-24  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
-
-2015-06-24  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
-
-2015-06-23  Werner Lemberg  <wl at gnu.org>
-
-	s/TYPEOF/FT_TYPEOF/ (#45376).
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.in,
-	include/freetype2/config/ftconfig.h,
-	include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
-
-2015-06-22  Werner Lemberg  <wl at gnu.org>
-
-	Fix Savannah bug #45097.
-
-	We no longer `pollute' the namespace of possible header file names;
-	instead we move `ft2build.h' up by one level so that it gets
-	installed in the default include directory (e.g.,
-	/usr/local/include).  After this commit, only `ft2build.h' stays in
-	the compiler's include path.
-
-	No visible changes for the user who follows the standard FreeType
-	header inclusion rules.
-
-	* include/*: Move to ...
-	* include/freetype2/*: This directory, except `ft2build.h'.
-
-	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
-	PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
-
-	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
-	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
-	builds/unix/install.mk (install, uninstall),
-	builds/unix/freetype2.in: Updated.
-
-	* builds/unix/freetype-config.in: Updated.
-	Emit -I directory only if it is not `/usr/include'.
-
-	* builds/wince/*, builds/windows/*: Updated.
-
-	* devel/ft2build.h, include/ft2build.h: Updated.
-
-	* include/freetype2/config/ftheader.h,
-	include/freetype2/internal/ftserv.h,
-	include/freetype2/internal/internal.h: Update all header file
-	macros.
-
-	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
-
-2015-06-21  Werner Lemberg  <wl at gnu.org>
-
-	Make Jam support work again.
-
-	This is just very basic stuff and just a little bit tested on
-	GNU/Linux only.  I won't delve into this since I'm not a Jam user.
-
-	* Jamfile: Call `HDRMACRO' for `ftserv.h' also.
-	(DEFINES): Replace with...
-	(CCFLAGS): ... this.
-
-	* src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
-	already handled in the top-level Jamfile.
-
-	* src/autofit/Jamfile (DEFINES): Replace with...
-	(CCFLAGS): ... this.
-	(_sources): Add missing files.
-
-	* src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
-	longer contains macro header definitions.
-
-	* src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
-	src/truetype/Jamfile (_sources): Add missing files.
-
-2015-06-16  Werner Lemberg  <wl at gnu.org>
-
-	Fix Savannah bug #45326.
-
-	* src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate
-	definitions.
-
-2015-06-07  Werner Lemberg  <wl at gnu.org>
-
-	* Version 2.6 released.
-	=======================
-
-
-	Tag sources with `VER-2-6'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/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.5.5/2.6/, s/255/26/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 6.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 18:0:12.
-	* CMakeLists.txt (VERSION_MINOR): Set to 6.
-	(VERSION_PATCH): Set to 0.
-
-	* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
-	declarations for dumping functions.
-
-	* src/truetype/ttinterp.c (TT_New_Context): Pacify compiler.
-
-	* builds/toplevel.mk: Use `freetype.mk's code to compute the version
-	string.
-	Don't include a zero patch level in version string.
-	* builds/freetype.mk: Remove code for computing the version string.
-
-2015-06-06  Ashish Azad  <ashish.azad at samsung.com>
-
-	Fix Savannah bug #45260.
-
-	* src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo.
-
-2015-06-03  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix memory leak.
-
-	Problem reported by Grissiom <chaos.proton at gmail.com>; in
-
-	  http://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html
-
-	there is an example code to trigger the bug.
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size'
-	data before allocating again.  Bug most probably introduced four
-	years ago in version 2.4.3.
-
-2015-06-02  Werner Lemberg  <wl at gnu.org>
-
-	[raster] Add more tracing.
-
-	* src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define.
-	(Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span,
-	Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls.
-
-2015-06-01  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] While tracing opcodes, show code position and stack.
-
-	* src/truetype/ttinterp.c: Change all existing TRACE7 calls to
-	TRACE6.
-	(opcode_name): Add string lengths.
-	(TT_RunIns): Implement display of code position and stack.
-
-2015-05-31  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] In GX, make private point numbers work correctly.
-
-	This is completely missing in Apple's documentation: If a `gvar'
-	tuple uses private point numbers (this is, deltas are specified for
-	some points only), the uncovered points must be interpolated for
-	this tuple similar to the IUP bytecode instruction.  Examples that
-	need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.
-
-	* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
-	tt_handle_deltas): New functions.
-	(TT_Vary_Get_Glyph_Deltas): Renamed to...
-	(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
-	points and does no longer return an array of deltas.
-	Add tracing information.
-	Call `tt_handle_deltas' to interpolate missing deltas.
-	Also fix a minor memory leak in case of error.
-
-	* src/truetype/ttgxvar.h: Updated.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Updated.
-
-2015-05-31  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] In GX, make intermediate tuplets work at extrema.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition.
-
-2015-05-31  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Add tracing information to GX code.
-
-	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
-	ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend,
-	TT_Set_Var_Design, tt_face_vary_cvt): Do it.
-
-2015-05-28  Werner Lemberg  <wl at gnu.org>
-
-	* src/tools/apinames.c (names_dump): Fix invalid reference.
-
-	Problem reported by Guzman Mosqueda, Jose R
-	<jose.r.guzman.mosqueda at intel.com>.
-
-2015-05-24  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix commit from 2015-05-22.
-
-	* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
-	with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.
-
-	Problem reported by Nikolaus Waxweiler <madigens at gmail.com>.
-
-2015-05-23  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix return values of GETINFO bytecode instruction.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
-	`vertical_lcd' and `gray_cleartype'.
-
-	* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
-	Change `symmetrical smoothing' to TRUE, since FreeType produces
-	exactly this.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
-	values for symmetrical smoothing, namely 11/18.
-	Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
-	(12/19).
-
-2015-05-23  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Minor.
-
-	* src/truetype/ttinterp.h (TT_ExecContext):
-	 s/subpixel/subpixel_hinting.
-
-	* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
-
-2015-05-22  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Support selector index 3 of the INSTCTRL instruction.
-
-	This flag activates `native ClearType hinting', disabling backwards
-	compatibility mode as described in Greg Hitchcocks whitepaper.  In
-	other words, it enables unrestricted functionality of all TrueType
-	instructions in ClearType.
-
-	* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
-	unconditionally.
-	(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
-	`GS.instruct_control' is active.
-
-	* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
-	(Ins_GETINFO): Updated.
-
-	* docs/CHANGES: Document it.
-
-2015-05-20  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Minor.
-
-	* src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod'
-	argument.
-
-2015-05-17  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Fix loading of composite glyphs.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
-	ARGS_ARE_XY_VALUES flag is not set, handle argument values as
-	unsigned.  I trust `ttx' (which has exactly such code) that it does
-	the right thing here...
-
-	The reason that noone has ever noticed this bug is probably the fact
-	that point-aligned subglyphs are rare, as are subglyphs with a
-	number of points in the range [128;255], which is quite large (or
-	even in the range [32768;65535], which is extremely unlikely).
-
-2015-05-12  Chris Liddell  <chris.liddell at artifex.com>
-
-	[cff] Make the `*curveto' operators more tolerant.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes
-	`vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate,
-	pulling values off the stack until the stack is exhausted.
-	Implicitly the stack must be a multiple (or for subtly different
-	behaviour) a multiple plus a specific number of extra values deep.
-	If that's not the case, enforce it (as the old code did).
-
-2015-05-12  Chris Liddell  <chris.liddell at artifex.com>
-
-	[cff] fix incremental interface with new cff code.
-
-	* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
-	interface to retrieve glyph data for a SEAC, it be left to the
-	incremental interface callback to apply the encoding to raw
-	character index (as it was in the previous code).
-
-2015-04-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[autofit] Speed up IUP.
-
-	* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
-	the same position from true interpolation, use `scale' to reduce
-	divisions.
-
-2015-04-28  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Use `name' table for PS name if we have a SFNT-CFF.
-
-	This follows the OpenType 1.7 specification.  See
-
-	  http://tug.org/pipermail/tex-live/2015-April/036634.html
-
-	for a discussion.
-
-	* src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we
-	have an SFNT.
-
-2015-04-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[truetype] Speed up IUP.
-
-	* src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial
-	snapping to the same position from true interpolation.
-
-2015-04-21  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] By default, enable warping code but switch off warping.
-
-	Suggested by Behdad.
-
-	* include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER.
-
-	* src/autofit/afmodule.c (af_autofitter_init): Initialize `warping'
-	with `false'.
-
-2015-04-21  Werner Lemberg  <wl at gnu.org>
-
-	* docs/CHANGES: Updated.
-
-2015-04-21  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Introduce `warping' property.
-
-	This code replaces the debugging hook from the previous commit with
-	a better, more generic solution.
-
-	* include/ftautoh.h: Document it.
-
-	* src/autofit/afmodule.h (AF_ModuleRec)
-	[AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field.
-
-	* src/autofit/afmodule.c (_af_debug_disable_warper): Remove.
-	(af_property_set, af_property_get, af_autofitter_init)
-	[AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option.
-
-	* src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no
-	longer existing `_af_debug_disable_warper'.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
-	(af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init)
-	[AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the
-	scaler flags if warping is off.
-
-	* src/autofit/aftypes.h: Updated.
-
-2015-04-16  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add debugging hook to disable warper.
-
-	* src/autofit/afmodule.c (_af_debug_disable_warper)
-	[FT_DEBUG_AUTOFIT]: New global variable.
-
-	* src/autofit/aftypes.h: Updated.
-	(AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet).
-
-	* src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro.
-
-	* src/autofit/aflatin.c (af_latin_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use
-	of warper.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
-
-	* src/autofit/aflatin2.c (af_latin2_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
-
-2015-04-10  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Update advance width handling to OpenType 1.7.
-
-	Problem reported by Behdad.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case
-	separately.
-
-	* src/cff/cffgload.c (cff_slot_load): Use advance width and side
-	bearing values from `hmtx' table if present.
-
-2015-04-03  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
-
-2015-04-02  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
-
-2015-04-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[autofit] Finish the thought.
-
-	* src/autofit/afhints.c (af_direction_compute): make sure the long arm
-	is never negative so that its `FT_ABS' is not necessary.
-
-2015-04-01  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Call dumper functions for tracing.
-
-	* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
-	improvement.
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
-
-2015-04-01  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Make debugging stuff work again.
-
-	The interface to ftgrid was broken in the series of commits starting
-	with
-
-	  [autofit] Allocate AF_Loader on the stack instead of AF_Module.
-
-	from 2015-01-14.
-
-	* src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]:
-	Use a global AF_GlyphHintsRec object for debugging.
-	(af_autofitter_done, af_autofitter_load_glyph): Updated.
-
-	* src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
-
-2015-04-01  Werner Lemberg  <wl at gnu.org>
-
-	* src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
-
-2015-03-29  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Fix Savannah bug #44629.
-
-	* src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h
-	(CFF_MAX_SUBRS_CALLS): Set to 16.
-
-2015-03-29  Werner Lemberg  <wl at gnu.org>
-
-	[type1, truetype] Make the MM API more flexible w.r.t. `num_coords'.
-
-	This commit allows `num_coords' to be larger or smaller than the
-	number of available axes while selecting a design instance, either
-	ignoring excess data or using defaults if data is missing.
-
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
-	Implement it.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design,
-	T1_Set_Var_Design): Ditto.
-
-2015-03-29  Werner Lemberg  <wl at gnu.org>
-
-	[type1] Minor.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use
-	FT_THROW.
-	(T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW.
-
-2015-03-27  Werner Lemberg  <wl at gnu.org>
-
-	[cff] Trace charstring nesting levels.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLGSUBR,
-	cf2_cmdCALLSUBR, cf2_cmdRETURN>: Implement it.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_callsubr, cff_op_callgsubr, cff_op_return>: Ditto.
-
-2015-03-21  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	[base] Optimize `FT_Angle_Diff'.
-
-	Under normal circumstances we are usually close to the desired range
-	of angle values, so that the remainder is not really necessary.
-
-	* src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder.
-
-	* src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
-
-2015-03-21  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Improve `gvar' handling.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle
-	single-element runs.  Cf. glyph `Q' in Skia.ttf with weights larger
-	than the default.
-
-2015-03-20  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring.
-
-2015-03-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	Fix Savannah bug #44412 (part 2).
-
-	* src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'.
-
-2015-03-11  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Arabic script.
-
-	Thanks to Titus Nemeth <tn at tntypography.eu> for guidance!
-
-	* src/autofit/afblue.dat: Add blue zone data for Arabic.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Arabic standard characters.
-
-	* src/autofit/afranges.c: Add Arabic data.
-
-	* src/autofit/afstyles.h: Add Arabic data.
-
-	* docs/CHANGES: Document it.
-
-2015-03-11  Werner Lemberg  <wl at gnu.org>
-
-	Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols.
-
-	* include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed
-	to...
-	(FT_SERVICE_FONT_FORMAT_H): This.
-
-	* include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed
-	to ...
-	(FT_FONT_FORMAT_*): This.
-
-	src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
-	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c,
-	src/truetype/ttdriver.c, src/type1/t1driver.c,
-	src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated.
-
-2015-03-11  Werner Lemberg  <wl at gnu.org>
-
-	[base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'.
-
-	* include/config/ftheader.h: Implement it.
-	* src/base/ftfntfmt.c, docs/CHANGES: Updated.
-
-2015-03-11  Werner Lemberg  <wl at gnu.org>
-
-	[base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'.
-
-	* include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it.
-
-	* docs/CHANGES: Updated.
-
-2015-03-11  Werner Lemberg  <wl at gnu.org>
-
-	Fix automatic copyright updating.
-
-	* src/tools/update-copyright: Make scanning of `no-copyright'
-	actually work.
-
-	* src/tools/no-copyright: Don't include README in general.
-
-2015-03-11  Werner Lemberg  <wl at gnu.org>
-
-	Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'.
-
-	CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4,
-	builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
-	builds/mac/FreeType.m68k_far.make.txt,
-	builds/mac/FreeType.ppc_carbon.make.txt,
-	builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf,
-	builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/freetype.vcxproj.filters,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY,
-	include/config/ftheader.h, include/ftfntfmt.h, modules.cfg,
-	src/base/ftfntfmt.c, vms_make.com: Updated.
-
-2015-03-10  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	Fix Savannah bug #44412 (part 1).
-
-	* src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns.
-
-2015-03-10  Werner Lemberg  <wl at gnu.org>
-
-	[base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'.
-
-	* include/ftbitmap.h, src/base/ftbitmap.c: Implement it.
-	Update all callers.
-
-	* docs/CHANGES: Updated.
-
-2015-03-06  Werner Lemberg  <wl at gnu.org>
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
-
-	Found by Alexei.
-
-2015-03-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
-
-	* src/base/ftstroke.c: Simplify.
-
-2015-03-04  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Some fixes and code refactoring in `ttgxvar.c'.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value
-	of `point_cnt' if two bytes are read.
-	Use a more vertical coding style.
-	(ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter.
-	Use a more vertical coding style.
-
-2015-03-03  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Fix Savannah bug #44241.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs
-	with less than 3 points.
-
-2015-03-02  Werner Lemberg  <wl at gnu.org>
-
-	Simplify `TYPEOF' macro.
-
-	No need for two arguments.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (TYPEOF): Updated.
-
-	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
-	src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated.
-
-2015-03-01  Werner Lemberg  <wl at gnu.org>
-
-	Various compiler warning fixes for `make multi'.
-
-	* src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges),
-	src/autofit/aflatin.c (af_latin_hint_compute_blue_edges,
-	af_latin_hint_edges), src/autofit/aflatin2.c
-	(af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare
-	as `static'.
-
-	* src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH):
-	Removed.  Unused.
-	* src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H.
-	* src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed.  Unused.
-
-	* src/cff/cf2intrp.c: Include `cf2intrp.h'.
-	* src/cff/cffdrivr.c (PAIR_TAG): Removed.  Unused.
-
-	* src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed.  Unused.
-
-	* src/psaux/afmparse.c (afm_parser_read_int): Declare as `static'.
-
-	* src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX):
-	Removed.  Unused.
-
-	* src/raster/ftraster.c (Render_Glyph): Declare as `static'.
-
-	* src/sfnt/ttpost.c (load_format_20): Fix signedness warning.
-
-	* src/truetype/ttdriver.c (PAIR_TAG): Removed.  Unused.
-	* src/truetype/ttsubpix.c (is_member_of_family_class,
-	is_member_of_style_class): Declare as `static'.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare
-	as `static'.
-	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as
-	`static'.
-	(T1_FIELD_COUNT): Removed.  Unused.
-	* src/type1/t1parse.h (T1_Done_Table): Removed.  Unused.
-
-	* src/type42/t42parse.c (T1_Done_Table): Removed.  Unused.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[psaux] Signedness fixes.
-
-	* include/internal/psaux.h, src/psaux/afmparse.c,
-	src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c,
-	src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[otvalid] Signedness fixes.
-
-	* src/otvalid/otvcommn.c, src/otvalid/otvgdef.c,
-	src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c:
-	Apply.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	* src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[lzw] Signedness fixes.
-
-	* src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[gxvalid] Signedness fixes.
-
-	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
-	src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c,
-	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
-	src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c,
-	src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c,
-	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c,
-	src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[cache] Signedness fixes.
-
-	* src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c,
-	src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	Change dimension fields in `FTC_ImageTypeRec' to unsigned type.
-
-	This doesn't break ABI.
-
-	* include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for
-	`width' and `height'.
-
-	* docs/CHANGES: Document it.
-
-2015-02-25  Werner Lemberg  <wl at gnu.org>
-
-	[cache] Don't use `labs'.
-
-	This is the only place in FreeType where this function was used.
-
-	* include/config/ftstdlib.h (ft_labs): Remove.
-
-	* src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with
-	`FT_ABS'.
-
-2015-02-23  Werner Lemberg  <wl at gnu.org>
-
-	[cache] Replace `FT_PtrDist' with `FT_Offset'.
-
-	* src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t')
-	is a better choice for `hash' to hold a pointer than `FT_PtrDist'
-	(a.k.a. `ptrdiff_t'), especially since the latter is signed,
-	causing zillions of signedness warnings.  [Note that `hash' was of
-	type `FT_UInt32' before the change to `FT_PtrDist'.]
-	Update all users.
-
-	* src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c,
-	src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated.
-
-2015-02-23  Werner Lemberg  <wl at gnu.org>
-
-	[smooth, raster] Re-enable standalone compilation.
-
-	* src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX)
-	[_STANDALONE_]: Define macros.
-
-	* src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS,
-	FT_HYPOT) [_STANDALONE_]: Define macros.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	[smooth] Signedness fixes.
-
-	* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	* src/raster/ftraster.c: Use the file's typedefs everywhere.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	* src/sfnt/ttpost.c (load_format_20): Fix error tracing message.
-
-	Bug introduced 6 commits earlier.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	[pshinter] Fix thinko.
-
-	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly
-	check `count'.
-	Bug introduced two commits earlier.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	[raster] Signedness fixes.
-
-	* src/raster/ftraster.c, src/raster/ftrend1.c: Apply.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	[pshinter] Signedness fixes.
-
-	* src/pshinter/pshalgo.c, src/pshinter/pshglob.c,
-	src/pshinter/pshrec.c: Apply.
-
-2015-02-22  Werner Lemberg  <wl at gnu.org>
-
-	[pshinter] Use macros for (unsigned) flags, not enumerations.
-
-	* src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros.
+	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line):
 	Updated.
-	* src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros.
 
-2015-02-22  Werner Lemberg  <wl at gnu.org>
+2016-07-29  Werner Lemberg  <wl at gnu.org>
 
-	* src/pshinter/pshrec.c: Simplify.
-	(ps_hints_open, ps_hints_stem): Remove switch statement.
+	[sfnt, truetype] Don't abort on invalid `maxComponentDepth'.
 
-2015-02-22  Werner Lemberg  <wl at gnu.org>
+	Since 2016-05-16 we detect infinite recursion directly.
 
-	[sfnt] Signedness fixes.
+	* src/sfnt/ttload.c (tt_face_load_maxp): Don't adjust
+	`maxComponentDepth'.
+	* src/truetype/ttgload.c (load_truetype_glyph): Don't abort if
+	`maxComponentDepth' is not valid.  Instead, simply adjust its value
+	and emit a tracing message.
 
-	* src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c,
-	src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
-	src/sfnt/ttsbit.c: Apply.
-	* src/sfnt/sfdriver.c: Apply.
-	(sfnt_get_ps_name): Simplify.
+2016-07-26  Werner Lemberg  <wl at gnu.org>
 
-2015-02-22  Werner Lemberg  <wl at gnu.org>
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Minor.
 
-	[bdf] Signedness fixes.
+	No functional change.
 
-	* src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h,
-	src/bdf/bdflib.c: Apply.
+2016-07-22  Hin-Tak Leung  <htl10 at users.sourceforge.net>
 
-2015-02-22  Werner Lemberg  <wl at gnu.org>
+	[truetype] Record the end of IDEFs.
 
-	* src/bdf/bdflib.c (_bdf_atous): New function.
-	(_bdf_parse_glyphs, _bdf_parse_start): Use it.
+	To match the logic in FDEF.  The value of the end is only used for
+	bound-checking in `Ins_JMPR', so it may not have been obvious that
+	it was not recorded.  Tested (as part of Font Validator 2.0) all the
+	fonts on Fedora and did not see any change.
 
-2015-02-22  Werner Lemberg  <wl at gnu.org>
+	* src/truetype/ttinterp.c (Ins_IDEF): Updated.
 
-	[pcf] Signedness fixes.
+2016-07-19  Werner Lemberg  <wl at gnu.org>
 
-	* src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply.
-	* src/pcf/pcfread.c: Apply.
-	(pcf_get_encodings): Ignore invalid negative encoding offsets.
+	[truetype] Sanitizer fix, second try.
 
-2015-02-21  Werner Lemberg  <wl at gnu.org>
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary
+	tests and use only one slot more.
 
-	* src/winfonts/winfnt.c: Signedness fixes.
+2016-07-19  Werner Lemberg  <wl at gnu.org>
 
-2015-02-21  Werner Lemberg  <wl at gnu.org>
+	[truetype] Sanitizer fix.
 
-	[type42] Signedness fixes.
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
+	to fix nested loops.
 
-	* src/type42/t42parse.c, src/type42/t42parse.h,
-	src/type42/t42types.h: Apply.
+2016-07-18  Werner Lemberg  <wl at gnu.org>
 
-2015-02-21  Werner Lemberg  <wl at gnu.org>
+	[truetype] Make GETDATA work only for GX fonts.
 
-	[pfr] Signedness fixes.
+	* src/truetype/ttinterp.c (opcode_name): Updated.
+	(Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'.
+	(TT_RunIns): Updated.
 
-	* src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c,
-	src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c,
-	src/pfr/pfrtypes.h: Apply.
+2016-07-17  Werner Lemberg  <wl at gnu.org>
 
-2015-02-21  Werner Lemberg  <wl at gnu.org>
+	[truetype] Add support for Apple's
 
-	[cff] Minor signedness fixes related to last commit.
+	  GETDATA[], opcode 0x92
 
-	* src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply.
+	bytecode instruction.  It always returns 17, and we have absolutely
+	no idea what it is good for...
 
-2015-02-20  Werner Lemberg  <wl at gnu.org>
+	* src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated.
+	(Ins_GETDATA): New function.
+	(TT_RunIns): Add it.
 
-	[cff] Thinkos in bias handling.
+2016-07-16  Werner Lemberg  <wl at gnu.org>
 
-	Only the final result is always positive.
+	[truetype] Add bytecode support for GX variation fonts.
 
-	Bug introduced three commits earlier.
+	This commit implements undocumented (but confirmed) stuff from
+	Apple's old bytecode engine.
 
-	* src/cff/cffgload.c, src/cff/cffgload.h: Apply.
+	  GETVARIATION[], opcode 0x91
+	    This opcode pushes normalized variation coordinates for all axes
+	    onto the stack (in 2.14 format).  Coordinate of first axis gets
+	    pushed first.
 
-2015-02-20  Werner Lemberg  <wl at gnu.org>
+	  GETINFO[], selector bit 3
+	    If GX variation support is enabled, bit 10 of the result is set
+	    to 1.
 
-	[cid] Fix signedness issues and emit some better error codes.
+	* src/truetype/ttinterp.c: Include FT_MULTIPLE_MASTERS_H.
+	(opcode_name) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
+	(Ins_GETINFO) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle selector
+	bit 3, checking support for variation glyph hinting.
+	(Ins_GETVARIATION) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New function
+	to implement opcode 0x91.
+	(TT_RunIns) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle opcode 0x91.
 
-	* src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c,
-	src/cid/cidparse.h: Apply.
-	* src/cid/cidload.c: Apply.
-	(parse_fd_array): Reject negative values for number of dictionaries.
-	* src/cid/cidparse.c: Apply.
-	(cid_parser_new): Reject negative values for hex data length.
+2016-07-16  Werner Lemberg  <wl at gnu.org>
 
-2015-02-20  Werner Lemberg  <wl at gnu.org>
+	[truetype] Fix GETINFO bytecode instruction.
 
-	[cff] Signedness fixes for new engine.
+	* src/truetype/ttinterp.c (Ins_GETINFO): Fix return value for
+	stretching information.
 
-	* src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c,
-	src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply.
+2016-07-16  Behdad Esfahbod  <behdad at behdad.org>
 
-2015-02-20  Werner Lemberg  <wl at gnu.org>
+	[truetype] Make all glyphs in `Zycon' GX font work.
 
-	[cff] Signedness fixes for basic infrastructure and old engine.
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary
+	tests.
 
-	* include/internal/pshints.h, src/cff/cffdrivr.c,
-	src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c,
-	src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply.
+2016-07-16  Werner Lemberg  <wl at gnu.org>
 
-2015-02-19  Werner Lemberg  <wl at gnu.org>
+	[truetype] Fix GX delta tracing.
 
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'.
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Trace
+	relative point movements.
 
-	This is hard-coded to value 2 in `fvar' version 1.0 (and no newer
-	version exists), but some fonts set it incorrectly.
+2016-07-16  Behdad Esfahbod  <behdad at behdad.org>
 
-	Problem reported by Adam Twardoch <adam at fontlab.com>.
+	[truetype] More fixes for GX.
 
-2015-02-19  Werner Lemberg  <wl at gnu.org>
+	This finally fixes the rendering of the cyclist and the lizard in
+	the `Zycon' font.
 
-	[cff] Emit better error code for invalid private dict size.
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): `first' point
+	index is always cumulative.
 
-	* src/cff/cffparse.c (cff_parse_private_dict): Reject negative
-	values for size and offset.
+	(tt_handle_deltas): Rename to...
+	(tt_interpolate_deltas): ... This.
+	Add new parameter for output point array.
+	Update caller.
 
-2015-02-19  Werner Lemberg  <wl at gnu.org>
+	(TT_Vary_Apply_Glyph_Deltas): Add `points_out' array; it now holds
+	the intermediate results of `tt_interpolate_deltas' that are to be
+	added to `outline->points'.
 
-	[autofit] Fix signedness issues.
+2016-07-15  Werner Lemberg  <wl at gnu.org>
 
-	* src/autofit/afangles.c, src/autofit/afcjk.c,
-	src/autofit/afglobal.c, src/autofit/afhints.c,
-	src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c,
-	src/autofit/hbshim.c: Apply.
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Thinko.
 
-2015-02-19  Werner Lemberg  <wl at gnu.org>
+	`max_pos' is always larger than `min_pos' so `FT_ABS' is not needed.
 
-	[autofit] Use macros for (unsigned) flags, not enumerations.
+	Reported by Alexei.
 
-	This harmonizes with other code in FreeType (and reduces the number
-	of necessary casts to avoid compiler warnings).
+2016-07-16  Nikolaus Waxweiler  <madigens at gmail.com>
 
-	* src/autofit/afblue.hin: Make flag macros unsigned.
-	* src/autofit/afblue.h: Regenerated.
+	* src/truetype/ttinterp.c (Ins_MIRP): Fix copy-and-paste error.
 
-	* src/autofit/afcjk.h: Replace flag enumeration with macros.
-	* src/autofit/afcjk.c: Updated.
+	Problem reported by Hin-Tak Leung.
 
-	* src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with
-	macros.
-	* src/autofit/afhints.c: Updated.
+2016-07-15  Werner Lemberg  <wl at gnu.org>
 
-	* src/autofit/aflatin.h: Replace flag enumerations with macros.
-	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated.
+	[autofit] Update and improve segment and edge tracing.
 
-	* src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros.
+	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Trace
+	`delta' also.
+	Don't show first point of segment as a replacement for `pos'; this
+	is (a) misleading, since the difference to `pos' can be almost
+	arbitrarily large in corner cases, and (b) it is better to have all
+	segment data in font units instead of a single value given in output
+	space coordinates.
+	Improve layout.
+	(af_glyph_hints_dump_edges): Show px->units and units->px conversion
+	values for convenience.
+	Improve layout.
 
-2015-02-18  Werner Lemberg  <wl at gnu.org>
+2016-07-15  Werner Lemberg  <wl at gnu.org>
 
-	[type1] Fix signedness issues.
+	[autofit] For edges, reject segments wider than 1px (#41334).
 
-	* include/internal/psaux.h, include/internal/t1types.h,
-	src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
-	src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply.
+	* src/autofit/afhints.h (AF_SegmentRec): New member `delta'.
 
-2015-02-18  Werner Lemberg  <wl at gnu.org>
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Compute
+	`delta'.
+	(af_latin_hints_compute_edges): Reject segments with a delta larger
+	than 0.5px.
 
-	[psaux, type1] Fix minor AFM issues.
+2016-07-14  Werner Lemberg  <wl at gnu.org>
 
-	* include/internal/t1types.h (AFM_KernPairRec): Make indices
-	unsigned.
-	Update users.
-	(AFM_FontInfoRec): Make element counters unsigned.
-	Update users.
-	* src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned
-	int.
+	* include/freetype/freetype.h (FT_IS_NAMED_INSTANCE): New macro.
 
-	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs):
-	Reject negative values for number of kerning elements.
+2016-07-14  Werner Lemberg  <wl at gnu.org>
 
-	* src/type1/t1afm.c, src/tools/test_afm.c: Updated.
+	[sfnt] Fix `face_index' value in `FT_Face' for named instances.
 
-2015-02-18  Werner Lemberg  <wl at gnu.org>
+	* src/sfnt/sfobjc.s (sfnt_init_face): Don't strip off higher 16bits.
 
-	Don't use `FT_PtrDist' for lengths.
+2016-07-14  Werner Lemberg  <wl at gnu.org>
 
-	Use FT_UInt instead.
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix tracing.
 
-	* include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec,
-	T1_DecoderRec): Do it.
+2016-07-14  Behdad Esfahbod  <behdad at behdad.org>
 
-	* include/internal/t1types.h (T1_FontRec): Ditto.
+	[truetype] Fix gxvar delta interpolation.
 
-	* src/cid/cidload.c (cid_parse_dict): Updated.
-	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto.
-	* src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto.
-	* src/type1/t1load.c (parse_blend_axis_types, parse_encoding,
-	parse_charstrings, parse_dict): Ditto.
-	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings,
-	t42_parse_dict): Ditto.
+	The coordinates of the base font should be used for interpolation
+	purposes, NOT the current points (i.e., the result of accumulation
+	of previous deltas).
 
-2015-02-18  Werner Lemberg  <wl at gnu.org>
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize
+	`points_org' before looping over all tuples.
 
-	* src/type1/t1driver.c (t1_ps_get_font_value): Clean up.
-	This handles negative values better, avoiding many casts.
 
-2015-02-17  Werner Lemberg  <wl at gnu.org>
-
-	[base] Fix Savannah bug #44284.
-
-	* src/base/ftcalc.c (FT_MulFix): Typos.
-
-2015-02-17  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Finish compiler warning fixes for signedness issues.
-
-	* src/truetype/ttgxvar.c, src/truetype/ttsubpix.c,
-	src/truetype/ttsubpix.h: Apply.
-
-2015-02-17  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttsubpix.c: Adding missing `static' keywords.
-
-2015-02-17  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More signedness fixes.
-
-	* include/internal/tttypes.h, src/truetype/ttinterp.h,
-	src/truetype/ttobjs.h, src/truetype/ttinterp.c,
-	src/truetype/ttobjs.c: Apply.
-
-2015-02-17  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Various signedness fixes.
-
-	* include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply.
-
-	* src/truetype/ttgload.c: Apply.
-	(TT_Get_VMetrics): Protect against invalid ascenders and descenders
-	while constructing advance height.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	[base] Finish compiler warning fixes for signedness issues.
-
-	* src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c:
-	Apply.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	* include/tttables.h (TT_OS2): `fsType' must be FT_UShort.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	More minor signedness warning fixes.
-
-	* src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c,
-	src/base/ftutil.c: Apply.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	Next round of minor compiler warning fixes.
-
-	* include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member
-	type to `FT_Long'.
-	(CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword.
-
-	* include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'.
-
-	* src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c:
-	Signedness fixes.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	Various minor signedness fixes.
-
-	* include/ftadvanc.h, include/internal/ftobjs.h,
-	src/base/ftgloadr.c, src/base/ftobjs.c: Apply.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	New `TYPEOF' macro.
-
-	This helps suppress signedness warnings, avoiding issues with
-	implicit conversion changes.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (TYPEOF): Define.
-
-	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
-	src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	* src/base/ftsystem.c: Use casts in standard C function wrappers.
-	(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	Fix Savannah bug #44261.
-
-	* builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the
-	environment also while calling the configure script.
-
-2015-02-16  Werner Lemberg  <wl at gnu.org>
-
-	* include/internal/ftmemory.h: Add some `FT_Offset' casts.
-	(FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY,
-	FT_MEM_MOVE): Do it.
-
-2015-02-15  Werner Lemberg  <wl at gnu.org>
-
-	[base] Clean up signedness issues in `ftdbgmem.c'.
-
-	Also fix other minor issues.
-
-	* src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types
-	with FT_Long for consistency.
-	(ft_mem_primes): Change type to `FT_Int'.
-	(ft_mem_closest_prime, ft_mem_table_set): Updated.
-
-	(ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free,
-	ft_mem_debug_realloc): Use `static' keyword and fix signedness
-	warnings where necessary.
-
-	(ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy,
-	ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types
-	and add or remove casts to avoid signedness warnings.
-
-2015-02-15  Werner Lemberg  <wl at gnu.org>
-
-	[base] Clean up signedness in arithmetic functions.
-
-	This makes the code more readable and reduces compiler warnings.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix,
-	FT_DivFix): Convert input parameters to unsigned, do the
-	computation, then convert the result back to signed.
-	(ft_corner_orientation): Fix casts.
-
-2015-02-07  Werner Lemberg  <wl at gnu.org>
-
-	[sfnt] Fix Savannah bug #44184.
-
-	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No
-	longer reject `htmx' and `vmtx' tables with invalid length but
-	sanitize them.
-
-2015-02-06  Jon Anderson  <jon at websupergoo.com>
-
-	[truetype] Fix regression in the incremental glyph loader.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): For incremental
-	fonts, the glyph index may be greater than the number of glyphs
-	indicated, so guard the check with a preprocessor conditional.
-
-2015-02-06  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Fix potential memory leak.
-
-	While this doesn't show up with FreeType, exactly the same code
-	leaks with ttfautohint's modified auto-hinter code (which gets used
-	in a slightly different way).
-
-	It certainly doesn't harm since it is similar to already existing
-	checks in the code for embedded arrays.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours'
-	and `max_points' for all cases.
-
-2015-01-31  Werner Lemberg  <wl at gnu.org>
-
-	[autofit] Add support for Thai script.
-
-	Thanks to Ben Mitchell <ben at rosettatype.com> for guidance with blue
-	zone characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Thai.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Thai standard characters.
-
-	* src/autofit/afranges.c: Add Thai data.
-
-	* src/autofit/afstyles.h: Add Thai data.
-
-2015-01-23  Behdad Esfahbod  <behdad at behdad.org>
-
-	[raster] Handle `FT_RASTER_FLAG_AA' correctly.
-
-	This fixes a breakage caused by the commit `[raster] Remove
-	5-level gray AA mode from monochrome rasterizer.'.
-
-	Problem reported by Markus Trippelsdorf <markus at trippelsdorf.de>.
-
-	* src/raster/ftraster.c (ft_black_render): Handle
-	`FT_RASTER_FLAG_AA'.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode
-	remnants.
-
-2015-01-18  Werner Lemberg  <wl at gnu.org>
-
-	* src/base/ftobjs.c (FT_New_Library): Fix compiler warning.
-
-2015-01-18  Chris Liddell  <chris.liddell at artifex.com>
-
-	[raster] Fix Savannah bug #44022.
-
-	Add fallback for glyphs with degenerate bounding boxes.
-
-	If a glyph has only one very narrow feature, the bbox can end up
-	with either the width or height of the bbox being 0, in which case
-	no raster memory is allocated and no attempt is made to render the
-	glyph.  This is less than ideal when the drop-out compensation in
-	the rendering code would actually result in the glyph being
-	rendered.
-
-	This problem can be observed with the `I' glyph (gid 47) in the
-	Autodesk RomanS TrueType font.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either
-	dimension is zero to explicitly round up/down (instead of simply
-	round).
-
-2015-01-17  Werner Lemberg  <wl at gnu.org>
-
-	Add some tools to handle yearly copyright notice updates.
-
-	We are now following the GNU guidelines: A new release automatically
-	means that the copyright year of all affected files gets updated; it
-	is no longer used to track years of modification changes.
-
-	* src/tools/update-copyright-year: New Perl script.
-	* src/tools/update-copyright: New shell script that calls
-	`update-copyright-year' on all files.
-	* src/tools/no-copyright: Exceptions that should not be handled by
-	`update-copyright'
-
-2015-01-14  Werner Lemberg  <wl at gnu.org>
-
-	* docs/CHANGES: Updated, using a description from Behdad.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	* src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[autofit] Add embedded array of segments and edges.
-
-	Avoids multiple mallocs per typical glyphs.
-
-	With this and recent changes to avoid mallocs, the thread-safe
-	stack-based loader is now as fast as the previous model that had one
-	cached singleton.
-
-	* src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED):
-	New macros.
-	(AF_AxisHintsRec): Add two arrays for segments and edges.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate
-	data if number of segments exceeds given threshold value.
-	(af_axis_hints_new_edge):  Only allocate data if number of edges
-	exceeds given threshold value.
-	(af_glyph_hints_done): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[autofit] Add embedded arrays for points and contours.
-
-	This avoids at least two malloc calls for typical glyphs.
-
-	* src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED):
-	New macros.
-	(AF_GlyphHintsRec): Add two arrays for contours and points.
-
-	* src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done):
-	Updated.
-	(af_glyph_hints_reload): Only allocate data if number of contours or
-	points exceeds given threshold values.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[autofit] Allocate hints object on the stack.
-
-	This avoids one malloc per load.
-
-	* src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to
-	`AF_GlyphHints'.
-	Update prototype.
-
-	* src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints'
-	parameter instead of `FT_Memory'.
-	(af_loader_done): Directly reset `load_hints'.
-	(af_loader_load_g): Updated.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Use local
-	`hints' object.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[autofit] Reuse slot glyph loader.
-
-	No need to create a new glyph loader; we can reuse the one from
-	`slot->internal->loader'.  It's hard to tell why it was written that
-	way originally, but new code looks sound and correct to me, and
-	avoids lots of allocations.
-
-	* src/autofit/afloader.c (af_loader_init): Change return type to
-	`void'.
-	Don't call `FT_GlyphLoader_New'.
-	(af_loader_reset): Don't call `FT_GlyphLoader_Rewind'.
-	(af_loader_load_g): Update code to use `internal->loader', which
-	doesn't need copying of data.
-
-	* src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member.
-	Update prototype.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[autofit] Remove (unused) support for composite glyphs.
-
-	We never have to deal with composite glyphs in the autohinter, as
-	those will be loaded into FORMAT_OUTLINE by the recursed
-	`FT_Load_Glyph' function.
-
-	In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply
-	FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies
-	FT_LOAD_NO_HINTING:
-
-	  /* resolve load flags dependencies */
-
-	  if ( load_flags & FT_LOAD_NO_RECURSE )
-	    load_flags |= FT_LOAD_NO_SCALE         |
-	                  FT_LOAD_IGNORE_TRANSFORM;
-
-	  if ( load_flags & FT_LOAD_NO_SCALE )
-	  {
-	    load_flags |= FT_LOAD_NO_HINTING |
-	                  FT_LOAD_NO_BITMAP;
-
-	    load_flags &= ~FT_LOAD_RENDER;
-	  }
-
-	and as such the auto-hinter is never called.  Thus, the recursion in
-	`af_loader_load_g' never actually happens.  So remove the depth
-	counter as well.
-
-	* src/autofit/afloader.c (af_loader_load_g): Remove `depth'
-	parameter.
-	<FT_GLYPH_FORMAT_COMPOSITE>: Remove associated code.
-	(af_loader_load_glyph): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[raster] Fix uninitialized memory access.
-
-	Apparently `ras.cProfile' might be uninitialized.  This will be the
-	case if `ras.top == ras.cProfile->offset', as can be seen in
-	`End_Profile'.  The overshoot code introduced in a change `Fix B/W
-	rasterization of subglyphs with different drop-out modes.' (from
-	2009-06-18) violated this, accessing `ras.cProfile->flags'
-	unconditionally just before calling `End_Profile' (which then
-	detected that `cProfile' is uninitialized and didn't touch it).
-
-	This was harmless, and was not detected by valgrind before because
-	the objects were allocated on the `raster_pool', which was always
-	initialized.  With recent change to allocate raster buffers on the
-	stack, valgrind now reported this invalid access.
-
-	* src/raster/ftraster.c (Convert_Glyph): Don't access an
-	uninitialized `cProfile'.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[smooth] Fix uninitialized memory access.
-
-	Looks like `ras.span_y' could always be used without initialization.
-	This was never detected by valgrind before because the library-wide
-	`raster_pool' was used for the worker object and `raster_pool' was
-	originally zero'ed.  But subsequent reuses of it were using `span_y'
-	uninitialized.  With the recent change to not use `render_pool' and
-	allocate worker and buffer on the stack, valgrind now detects this
-	uninitialized access.
-
-	* src/smooth/ftgrays.c (gray_raster_render): Initialize
-	`ras.span_y'.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[base] Don't initialize unused `driver->glyph_loader'.
-
-	* src/base/ftobjs.c (Destroy_Driver): Don't call
-	`FT_GlyphLoader_Done'.
-	(FT_Add_Module): Don't call `FT_GlyphLoader_New'.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[base] Don't allocate `library->raster_pool' anymore.
-
-	It's unused after the following commits:
-
-	  [raster] Allocate render pool for mono rasterizer on the stack.
-	  [raster] Remove 5-level gray AA mode from monochrome rasterizer.
-
-	The value of FT_RENDER_POOL_SIZE still serves the purpose it used to
-	serve, which is, to adjust the pool size.  But the pool is now
-	allocated on the stack on demand.
-
-	* src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[base] Do not reorder library->renderers upon use.
-
-	Instead of keeping `library->renderers' in a MRU order, just leave
-	it as-is.  The MRU machinery wasn't thread-safe.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't fail choosing rasterizer
-	(FT_Err_Cannot_Render_Glyph).
-
-	Easiest to see that crash was to add a `printf' (or otherwise let
-	thread yield in FT_Throw with debugging enabled).
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
-	(FT_Outline_Render): Don't call `FT_Set_Renderer'.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[raster] Allocate render pool for mono rasterizer on the stack.
-
-	Instead of using the `render_pool' member of `FT_Library' that is
-	provided down to the rasterizer, completely ignore that and allocate
-	needed objects on the stack instead.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't crash in the monochrome rasterizer.
-
-	* src/raster/ftraster.c (black_TRaster): Remove `buffer',
-	`buffer_size', and `worker' members.
-
-	(ft_black_render): Create `buffer' locally.
-	(ft_black_reset): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[raster] Remove 5-level gray AA mode from monochrome rasterizer.
-
-	It was off by default and couldn't be turned on at runtime.  And the
-	smooth rasterizer superceded it over ten years ago.  No point in
-	keeping.  Comments suggested that it was there for compatibility
-	with FreeType 1.
-
-	550 lines down.
-
-	* src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING,
-	RASTER_GRAY_LINES): Remove macros and all associated code.
-
-	(black_TWorker): Remove `gray_min_x' and `gray_max_x'.
-	(black_TRaster): Remove `grays' and `gray_width'.
-
-	(Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop,
-	ft_black_render): Updated.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Simplify code.
-	(ft_raster5_renderer_class): Removed.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[smooth] Allocate render pool for smooth rasterizer on the stack.
-
-	Instead of using the `render_pool' member of `FT_Library' that is
-	provided down to the rasterizer, completely ignore that and allocate
-	needed objects on the stack instead.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't crash in the smooth rasterizer.
-
-	Bugs:
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=678397
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1004315
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1165471
-	  https://bugs.freedesktop.org/show_bug.cgi?id=69034
-
-	* src/smooth/ftgrays.c (gray_TRaster): Remove `buffer',
-	`buffer_size', `band_size', and `worker' members.
-
-	(gray_raster_render): Create `buffer', `buffer_size', and
-	`band_size' locally.
-	(gray_raster_reset): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver.
-
-	Previously the code had stipulation for using a per-TT_Size exec
-	context if `size->debug' was true.  But there was no way that
-	`size->debug' could *ever* be true.  As such, the code was always
-	using the singleton `TT_ExecContext' that was stored in `TT_Driver'.
-	This was, clearly, not threadsafe.
-
-	With this patch, loading glyphs from different faces from different
-	threads doesn't crash in the bytecode loader code.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member.
-	(TT_DriverRec): Remove `context' member.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove
-	`TT_ExecContext' code related to a global `TT_Driver' object.
-
-	(tt_driver_done): Don't remove `TT_ExecContext' object here but ...
-	(tt_size_done_bytecode): ... here.
-
-	(tt_driver_init): Don't create `TT_ExecContext' object here but ...
-	(tt_size_init_bytecode): ... here, only on demand.
-
-	* src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug
-	code.
-	(TT_New_Context): Remove `TT_ExecContext' code related to a global
-	`TT_Driver' object.
-
-	* src/truetype/ttinterp.h: Updated.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	[autofit] Allocate AF_Loader on the stack instead of AF_Module.
-
-	Stop sharing a global `AF_Loader'.  Allocate one on the stack during
-	glyph load.
-
-	Right now this results in about 25% slowdown, to be fixed in a
-	following commit.
-
-	With this patch loading glyphs from different faces from different
-	threads doesn't immediately crash in the autohinting loader code.
-
-	Bugs:
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1164941
-
-	* src/autofit/afloader.c (af_loader_init): Pass
-	`AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments.
-	(af_loader_reset, af_loader_load_glyph): Also pass `loader' as
-	argument.
-	(af_loader_done): Use `AF_Loader' instead of `AF_Module' as
-	argument.
-
-	* src/autofit/afmodule.c (af_autofitter_init): Don't call
-	`af_loader_init'.
-	(af_autofitter_done): Don't call `af_loader_done'.
-	(af_autofitter_load_glyph): Use a local `AF_Loader' object.
-
-	* src/autofit/afloader.h: Include `afmodule.h'.
-	Update prototypes.
-	Move typedef for `AF_Module' to...
-
-	* src/autofit/afmodule.h: ... this place.
-	No longer include `afloader.h'.
-
-2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
-
-	* src/type42/t42objs.h (T42_DriverRec): Remove unused member.
-
-2015-01-12  Werner Lemberg  <wl at gnu.org>
-
-	Fix Savannah bug #43976.
-
-	Assure that FreeType's internal include directories are found before
-	`CPPFLAGS' (which might be set by the user in the environment), and
-	`CPPFLAGS' before `CFLAGS'.
-
-	* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
-	(FT_COMPILE): Make this a special variable for compiling only the
-	files handled in `freetype.mk'.
-	(.c.$O): Removed, unused.
-
-	* src/*/rules.mk (*_COMPILE): Fix order of include directories.
-
-2015-01-11  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Prettifying.
-
-	* src/truetype/ttinterp.c (project, dualproj, fast_project,
-	fast_dualproj): Rename to...
-	(PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
-
-2015-01-11  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
-
-	Based on a patch from Behdad.
-
-2015-01-11  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call.
-
-2015-01-11  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttinterp.c (Normalize): Remove unused argument.
-
-2015-01-11  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by
-	expansion.
-
-2015-01-11  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion,
-	adjusting function calls where necessary.
-	(FT_UNUSED_ARG): Removed, no longer needed.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More macro expansions.
-
-	Based on a patch from Behdad.
-
-	* src/truetype/ttinterp.c (DO_*): Expand macros into corresponding
-	`Ins_*' functions.
-	(TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls.
-	(ARRAY_BOUND_ERROR): Remove second definition, which is no longer
-	needed.
-	(Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with...
-	(Ins_SxyTCA): New function.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH.
-
-	Behdad suggested this code simplification, and nobody objected...
-
-	* include/config/ftoption.h, devel/ftoption.h
-	(TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove.
-
-	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]:
-	Remove related code.
-	(ARRAY_BOUND_ERROR): Use do-while loop.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_,
-	EXEC_ARG): Remove by replacing with expansion.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More macro expansions.
-
-	Based on a patch from Behdad.
-
-	* src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize,
-	SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move,
-	CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem,
-	CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt,
-	CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round,
-	COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing
-	with expansion.
-
-	(Cur_Func_project, CUR_Func_dualproj, CUR_fast_project,
-	CUR_fast_dualproj): Replace with macros `project', `dualproj',
-	`fast_project', `fast_dualproj'.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing
-	with expansion.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	[truetype] Remove code for static TrueType interpreter.
-
-	This is a follow-up patch.
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h
-	[TT_CONFIG_OPTION_STATIC_INTERPRETER,
-	TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code.
-
-2015-01-10  Werner Lemberg  <wl at gnu.org>
-
-	* src/truetype/ttinterp.c (CUR): Remove by replacing with expansion.
-
-	This starts a series of patches that simplifies the code of the
-	bytecode interpreter.
-
-
 ----------------------------------------------------------------------------
 
-Copyright 2015-2016 by
+Copyright 2016 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,

Added: trunk/Build/source/libs/freetype2/freetype-src/ChangeLog.26
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/ChangeLog.26	                        (rev 0)
+++ trunk/Build/source/libs/freetype2/freetype-src/ChangeLog.26	2016-09-13 10:10:45 UTC (rev 42052)
@@ -0,0 +1,5711 @@
+2016-07-12  Werner Lemberg  <wl at gnu.org>
+
+	* Version 2.6.5 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-5'.
+
+	This commit immediately follows `[mac] Fix ftexport.sym target in
+	Jamfile.' on a separate branch, which was then merged with master
+	after the release.
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Comment out.
+
+	* docs/VERSION.TXT: Add entry for version 2.6.5.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/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.6.4/2.6.5/, s/264/265/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+	* builds/unix/configure.raw (version_info): Set to 18:5:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 5.
+
+	* docs/CHANGES: Updated.
+
+2016-07-11  Werner Lemberg  <wl at gnu.org>
+
+	Conditionally compile environment support.
+
+	* include/freetype/internal/ftobjs.h, src/autofit/afmodule.c,
+	src/base/ftobjs.c, src/cff/cffdrivr.c, src/truetype/ttdriver.c:
+	Decorate with `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' where
+	necessary.
+
+2016-07-11  Werner Lemberg  <wl at gnu.org>
+
+	Handle properties in `FREETYPE_PROPERTIES' environment variable.
+
+	This commit covers the most important one.
+
+	* src/autofit/afmodule.c (af_property_set): Handle `warping',
+	`darkening-parameters', and `no-stem-darkening'.
+
+	* src/cff/cffdrivr.c (cff_property_set): Handle
+	`darkening-parameters', `hinting-engine', and `no-stem-darkening'.
+
+	* src/truetype/ttdriver.c (tt_property_set): Handle
+	`interpreter-version'.
+
+2016-07-11  Werner Lemberg  <wl at gnu.org>
+
+	Replace calls to `atol' with `strtol'.
+
+	We later on need strtol's `endptr' feature.
+
+	* include/freetype/config/ftstdlib.h (ft_atol): Replace with...
+	(ft_strtol): ... this.
+
+	* src/base/ftdbgmem.c (ft_mem_debug_init): Updated.
+	* src/cid/cidparse.c (cid_parser_new): Ditto.
+	* src/type42/t42drivr.c (t42_get_name_index), src/type42/t42objs.c
+	(T42_GlyphSlot_Load): Ditto.
+
+2016-07-10  Werner Lemberg  <wl at gnu.org>
+
+	Implement handling of `FREETYPE_PROPERTIES' environment variable.
+
+	Recognizing properties follows in another commit.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES): New macro.
+
+	* include/freetype/config/ftstdlib.h (ft_getenv): New macro.
+
+	* src/base/ftinit.c (ft_set_default_properties): New function to
+	parse `FREETYPE_PROPERTIES' and calling `ft_property_string_set'.
+	(FT_Init_FreeType): Updated.
+
+2016-07-09  Werner Lemberg  <wl at gnu.org>
+
+	Add function `ft_property_string_set'.
+
+	This is a preparation for handling an `FREETYPE_PROPERTIES'
+	environment variable to control (some) driver properties.
+
+	No change in functionality.
+
+	* src/base/ftobjs.c (ft_property_do): Add `value_is_string'
+	parameter.
+	(ft_property_string_set): New function.
+	(FT_Property_Set, FT_Property_Get): Updated.
+
+	* include/freetype/internal/ftobjs.h: Updated.
+
+	* include/freetype/internal/services/svprop.h
+	(FT_Properties_SetFunc): Add `value_is_string' parameter.
+
+	* src/autofit/afmodule.c (af_property_set), src/cff/cffdrivr.c
+	(cff_property_set), src/truetype/ttdriver.c (tt_property_set):
+	Updated, emitting an error currently if `value_is_string' is set.
+
+2016-07-09  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+
+	[mac] Fix ftexport.sym target in Jamfile.
+
+	* Jamfile: Update the directories of the header files scanned for
+	ftexport.sym.  They were incorrect since the migration of the
+	header files, on 2015-06-22.  Either inexisting include/cache
+	(removed on 2006-03-20) is not needed to be listed explicitly.
+	Now ftmac.h is scanned only in the case of Mac OS & Mac OS X.
+
+2016-07-08  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Sub-banding protocol revision.
+
+	Rasterization sub-banding is utilized at large sizes while using a
+	rather small fixed memory pool.  Indeed it is possible to make an
+	educated guess how much memory is necessary at a given size for a
+	given glyph.  It turns out that, for a large majority of European
+	glyphs, you should store about 8 times more boundary pixels than
+	their height.  Or, vice versa, if your memory pool can hold 800
+	pixels the band height should be 100 and you should sub-band
+	anything larger than that.  Should you still run out of memory,
+	FreeType bisects the band but you have wasted some time.  This is
+	what has been implemented in FreeType since the beginning.
+
+	It was overlooked, however, that the top band could grow to twice
+	the default band size leading to unnecessary memory overflows there.
+	This commit fixes that.  Now the bands are distributed more evenly
+	and cannot exceed the default size.
+
+	Now the magic number 8 is really suitable for rather simple European
+	scripts.  For complex Chinese logograms the magic number should be
+	13 but that is subject for another day.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding
+	protocol.
+
+2016-07-07  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+
+	[mac] Fix Savannah bug #48417.
+
+	Mac OS X linker throws errors when `-exported_symbol_list' input
+	file includes non-existing symbols.  Reported by Ryan Schmidt.
+
+	* builds/exports.mk: Exclude ftmac.h from the headers for apinames
+	by default.  Include it when ftmac.c would be compiled.
+
+2016-07-06  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttinterp.c (TInstruction_Function): Removed, unused.
+
+2016-07-05  Werner Lemberg  <wl at gnu.org>
+
+	* Version 2.6.4 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-4'.
+
+	* docs/VERSION.TXT: Update documentation and bump version number to
+	2.6.4.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/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.6.3/2.6.4/, s/263/264/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+	* builds/unix/configure.raw (version_info): Set to 18:4:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 4.
+
+	* docs/CHANGES: Updated.
+
+2016-07-05  Werner Lemberg  <wl at gnu.org>
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Fix compiler warning.
+
+2016-07-04  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Variable type revision (part 2).
+
+	* src/smooth/ftgrays.c (TArea): Restore original definition as `int'.
+	(gray_render_line) [FT_LONG64]: Updated.
+	(gray_convert_glyph): 32-bit band bisection stack should be 32 bands.
+	(gray_convert_glyph_inner): Trace successes and failures.
+
+2016-07-04  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Handle single-point contours as segments.
+
+	Doing so allows us to link them to edges – some fonts like
+	`NotoSansGurmukhi-Regular' have such isolated points sitting exactly
+	on other outlines.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Don't
+	ignore one-point contours but handle them specially as one-point
+	segments.
+	(af_latin_hints_compute_edges): Append one-point segments to edges
+	if possible.
+
+2016-07-02  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Remove unused structure members.
+
+	* src/autofit/afhints.h (AF_SegmentRec, AF_EdgeRec): Remove
+	`num_linked'.
+
+	* src/autofit/afcjk.c (af_cjk_hints_link_segments): Updated.
+
+2016-07-02  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Update to Unicode 9.0.0.
+
+	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
+	af_cyrl_uniranges): Add new data.
+
+2016-07-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Variable type revision (part 1).
+
+	This patch restores original `TCoord' definition as `int' so that the
+	rendering pool is used more efficiently on LP64 platforms (unix).
+
+	* src/smooth/ftgrays.c (gray_TWorker, TCell, gray_TBand): Switch some
+	fields to `TCoord'.
+	(gray_find_cell, gray_render_scanline, gray_render_line, gray_hline,
+	gray_sweep, gray_convert_glyph): Updated.
+
+2016-06-28  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Minor clean-ups.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'.
+	(gray_sweep, gray_convert_glyph, gray_dump_cells): Updated.
+
+2016-06-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Minor clean-ups.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile
+	qualifier.
+	(gray_raster_render): Move span initializations from here.
+	(gray_sweep): ... to here and remove unused `target' argument.
+
+2016-06-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[pcf] Fix handling of very large fonts (#47708).
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Make `encodingOffset' an
+	unsigned short.
+	Only reject `0xFFFF' as an invalid encoding offset.
+
+2016-06-25  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Really fix deallocation in case of error (#47726).
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize
+	`outline.points' also.
+
+2016-06-23  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Consolidate memory management.
+
+	* src/smooth/ftgrays.c (gray_init_cells): Remove function.
+	(gray_TWorker): Remove fields that become local variables.
+	(gray_raster_render): Move rendering buffer declaration from here.
+	(gray_convert_glyph): ... to here and update accordingly.
+
+2016-06-22  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Consolidate boundary checks.
+
+	Removing the checks from `gray_hline' shaves 1% off rendering speed.
+
+	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'.
+	(gray_TWorker): No need to store `clip_box'.
+	(gray_hline): Remove unnecessary boundary checks.
+	(gray_convert_glyph): Move boundary checks from here.
+	(gray_raster_render): ... to here and consolidate.
+
+2016-06-21  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Use `FT_Outline_Get_CBox'.
+
+	* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'.
+	(gray_compute_cbox): Remove this function.
+	(gray_convert_glyph): Update to use `FT_Outline_Get_CBox'.
+
+2016-06-20  Werner Lemberg  <wl at gnu.org>
+
+	[smooth] Remove compiler warnings.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
+
+2016-06-20  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Sanitize memory managenent.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
+
+2016-06-18  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Remove `band_shoot' that never worked.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
+	(gray_convert_glyph): Updated.
+
+2016-06-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[raster, smooth] Handle FT_RENDER_POOL_SIZE better.
+
+	* src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro.
+	(ft_black_render): Updated.
+	* src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro.
+	(gray_raster_render): Updated.
+
+2016-06-16  Werner Lemberg  <wl at gnu.org>
+
+	* src/base/md5.c: Updated to recent version.
+
+2016-06-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
+
+2016-06-13  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Cherokee script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Cherokee.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Cherokee standard characters.
+
+	* src/autofit/afranges.c: Add Cherokee data.
+
+	* src/autofit/afstyles.h: Add Cherokee data.
+
+2016-06-09  David Capello  <davidcapello at gmail.com>
+
+	[cmake] Avoid modifying `ftconfig.h' and `ftoption.h' files.
+
+	* CMakeLists.txt: Each time cmake is run those files are
+	modified and the whole FreeType library is recompiled.  With this
+	change we change the files only if there are real modifications, so
+	we can avoid recompilations.
+
+2016-06-09  Werner Lemberg  <wl at gnu.org>
+
+	[bdf] Check number of properties (#48166).
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Implement.
+
+2016-06-08  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Re-enable new line renderer on 64-bit archs.
+
+	* src/smooth/ftgrays.c (gray_render_line): Conditionally re-enable new
+	implementation, where it is safe from overflows.
+
+2016-06-08  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Minor clean-ups.
+
+	* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
+	(gray_render_span): Remove spurious casts and streamline.
+
+2016-06-07  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Ethiopic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Ethiopic.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Ethiopic standard characters.
+
+	* src/autofit/afranges.c: Add Ethiopic data.
+
+	* src/autofit/afstyles.h: Add Ethiopic data.
+
+2016-06-07  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix compilation with VS2016 (#48126).
+
+	This compiler doesn't recognize the end-of-comment sequence `*/' if
+	it immediately follows non-ASCII characters.
+
+	* src/autofit/afscript.h: Ensure whitespace before `*/'.
+
+2016-06-04  Werner Lemberg  <wl at gnu.org>
+
+	Fix a test for named instances (#48122).
+
+	This was missed while giving negative face indices an extended
+	meaning.
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Implement.
+
+2016-05-31  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[truetype] Let SHPIX move points in the twilight zone in v40.
+
+	* src/truetype/ttinterp.c (Ins_SHPIX): Allow SHPIX to move points in
+	the twilight zone.  Otherwise, treat SHPIX the same as DELTAP.
+	Unbreaks various fonts such as older versions of Rokkitt and DTL
+	Argo T Light that would glitch severly after calling ALIGNRP after a
+	blocked SHPIX.
+
+2016-05-30  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Support `CharStrings' entry format as created by LilyPond.
+
+	* src/type42/t42parse.c (t42_parse_charstrings): Handle entries
+	having the format
+
+	  (foo) cvn 12345 def
+
+2016-05-28  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afranges.c: Remove `UL' postfix from hex numbers.
+
+	Suggested by Alexei.  `UL' is only needed for 16bit compilers, but
+	it seems noone is using this anymore (and we no longer test whether
+	FreeType compiles in such an environment).  Otherwise, it is easy to
+	add the postfix to the `AF_UNICODE_RANGE' macro.
+
+2016-05-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Shrink bisection stack.
+
+	The convergence of Bézier flatteners is fast with the deviation
+	from straight line being assymptotically cut 4-fold on each bisection.
+	This justifies smaller bisection stack size.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'.
+	(gray_render_conic): Create and use conic `bez_stack'. Move back the
+	band analysis from...
+	(gray_conic_to): ... here.
+	(gray_render_cubic): Create and use cubic `bez_stack'. Move back the
+	band analysis from...
+	(gray_cubic_to): ... here.
+	(gray_move_to): Updated.
+
+2016-05-25  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fixes for Armenian and Gujarati ranges.
+
+	* src/autofit/afranges.c (af_armn_uniranges): Corrected.
+	(af_guru_nonbase_uniranges): Make U+0A3E a base character.
+
+2016-05-24  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Armenian script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Armenian.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Armenian standard characters.
+
+	* src/autofit/afranges.c: Add Armenian data.
+
+	* src/autofit/afstyles.h: Add Armenian data.
+
+2016-05-23  Werner Lemberg  <wl at gnu.org>
+
+	* builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'.
+
+	This was commented about 10 years ago – I think the reason then to
+	disable libtool's `-export-symbols' option was to give some badly
+	programmed applications access to internal FreeType functions.
+
+	I believe that we should no longer take care of such programs; the
+	number of symbols exported should be rather restricted as much as
+	possible.
+
+2016-05-22  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Gurmukhi script.
+
+	This essentially moves the Gurmukhi script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Gurmukhi.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Gurmukhi standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Gurmukhi data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Gurmukhi data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-05-21  Werner Lemberg  <wl at gnu.org>
+
+	Minor clang++ fixes.
+
+	* src/base/ftobjs.c (FT_Add_Module), src/psaux/psobjs.c
+	(ps_parser_load_field), src/type1/t1load.c (parse_subrs): Add
+	initializer.
+
+	* src/cache/ftccache.h (FTC_CACHE_TRYLOOP_END): Avoid implicit
+	conversion from NULL to boolean.
+
+2016-05-21  Werner Lemberg  <wl at gnu.org>
+
+	Work around a bug of the C 8.0.0.1 compiler on AIX 5.3 (#47955).
+
+	* include/freetype/internal/ftmemory.h (cplusplus_typeof): Use
+	braces for `extern "C++"'.
+
+2016-05-17  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3].
+
+	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with...
+	(tt_loader_set_pp): ... this new function.
+	Update all callers.
+
+2016-05-17  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[truetype] New implementation of v38 bytecode interpreter [2/3].
+
+	This patch actually modifies the bytecode interpreter.
+
+	See added comments in `ttinterp.h' for more information on this and
+	the following commit in the series.
+
+	* src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by...
+	(NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY,
+	SUBPIXEL_HINTING_MINIMAL): ...new macros.
+	(Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backwards
+	compatibility.
+	Updated.
+	(Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD):
+	Updated.
+	(Ins_INSTCTRL): Handle native ClearType mode flag.
+	Updated.
+	(Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backwards
+	compatibility.
+	(Move_Zp2_Point): Ditto.
+	(Ins_SHP): Updated.
+	(Ins_SHPIX): Handle backwards compatibility.
+	Updated.
+	(Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated.
+	(Ins_ALIGNRP): Updated.
+	(Ins_IUP, Ins_DELTAP): Handle backwards compatibility.
+	Updated.
+	(Ins_GETINFO): Handle v38 flags.
+	Updated.
+	(TT_RunIns): Handle backwards compatibility mode.
+	Updated.
+
+2016-05-17  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[truetype] New implementation of v38 bytecode interpreter [1/3].
+
+	This patch prepares data structures and the like.
+
+	See added comments in `ttinterp.h' for more information on this and
+	the following commits in the series.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate
+	between subpixel versions.
+	(TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY,
+	TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros.
+
+	* include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
+	`subpixel_hinting_lean', `vertical_lcd_lean',
+	`backwards_compatibility', `iupx_called', iupy_called', and
+	`grayscale_cleartype' for new hinting mode.
+
+	* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
+	interpreters conditionally.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
+	in v38 backwards compatibility mode.
+	Updated.
+	(compute_glyph_metrics): Add v38 backwards compatibility mode
+	constraint for adjusting advance widths.
+	Updated.
+	(tt_loader_init): Handle new flags `subpixel_hinting_lean',
+	`grayscale_cleartype', and `vertical_lcd_lean'.
+	Updated.
+	(tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP):
+	Updated.
+
+	* src/truetype/ttobjs.c (tt_driver_init): Conditionally set
+	default interpreter version number.
+
+	* src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated.
+
+2016-05-17  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Fix matrix scaling (#47848).
+
+	* include/freetype/config/ftstdlib.h (FT_LONG_MIN): New macro.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix): Use largest scaling
+	value of all matrix coefficients to scale matrix.
+
+	* src/cff/cffobjs.c (cff_face_init): Use `matrix->yx' member for
+	matrix normalization if `matrix->yy' is zero.
+
+2016-05-16  Werner Lemberg  <wl at gnu.org>
+
+	[base] Reject invalid sfnt Mac resource (#47891).
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Check validity
+	of `CID ' and `TYPE1' table offset and length.
+
+2016-05-16  Werner Lemberg  <wl at gnu.org>
+
+	[cid] Fix scanning for `StartData' and `/sfnts' (#47892).
+
+	* src/cid/cidparse.c (STARTDATA, STARTDATA_LEN, SFNTS, SFNTS_LEN):
+	New macros.
+	(cid_parser_new): Fix and document algorithm.
+
+2016-05-16  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+
+	[truetype] Improve the recursive reference detector.
+
+	The previous fix for #46372 misunderstood a composite glyph referring
+	same component twice as a recursive reference.  See the discussion
+
+	  http://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html
+
+	Thanks to Khaled Hosny for finding this issue.
+
+	* src/truetype/ttgload.c (ft_list_get_node_at): A function to get
+	the i-th node from FT_List.
+	(load_truetype_glyph): In the traversal scan of the reference tree
+	in the composite glyph, we clear the nodes filled by previous
+	sibling chain.
+
+2016-05-07  Werner Lemberg  <wl at gnu.org>
+
+	[cache] Allow value 0 for face ID.
+
+	We never dereference `face_id', and some implementations might use a
+	running number instead of a pointer.  Additionally, disallowing
+	value zero was undocumented.
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
+	(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
+	`face_id'.
+
+2016-05-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] More efficient accounting of conic splits and draws.
+
+	A single decrement counter of segments to draw, instead of an array,
+	contains all the information necessary to decide when to split and
+	when to draw a conic segment. The number of splits before each draw is
+	equal to the number of trailing zeros in the counter.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'.
+	(gray_render_conic): Updated to use decrement counter of segments.
+
+2016-05-05  Werner Lemberg  <wl at gnu.org>
+
+	[cff, truetype] Fix logic for `FT_Property_Set'.
+
+	Otherwise some properties could be set to arbitrary values, which is
+	harmless, but querying could give wrong positive results.
+
+	* src/cff/cffdrivr.c (cff_property_set) [hinting-engine],
+	* src/truetype/ttdriver.c (tt_property_set) [interpreter-version]:
+	Only allow defined values.
+
+2016-04-25  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Gujarati script.
+
+	This essentially moves the Gujarati script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Gujarati.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Gujarati standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Gujarati data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Gujarati data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-04-24  Werner Lemberg  <wl at gnu.org>
+
+	Minor.
+
+	* include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Protect macro
+	argument with parentheses.
+
+2016-04-24  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix deallocation in case of error (#47726).
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in
+	`outline' that are going to be deallocated in case of error.
+
+2016-04-23  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Improve Georgian blue zone characters.
+
+	Suggested by Akaki Razmadze <razmadzekoko at gmail.com>.
+
+	* src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM):
+	Updated.
+
+	* src/autofit/afblue.c: Regenerated.
+
+2016-04-16  David Capello  <davidcapello at gmail.com>
+
+	[cmake] Honor SKIP_INSTALL_* settings (as used in zlib).
+
+	As FreeType depends on zlib, if we don't install zlib (e.g., because
+	we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too
+	(cmake triggers an error saying that FreeType cannot be installed
+	because zlib target isn't in the export set).
+
+	* CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS',
+	`SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
+
+2016-04-16  Behdad Esfahbod  <behdad at behdad.org>
+
+	[truetype] Another fix for non-intermediate GX tuples.
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Add some missing
+	cases.
+
+2016-04-12  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	Remove forgotten macro.
+
+	* include/freetype/internal/internal.h
+	[FT_INTERNAL_POSTSCRIPT_GLOBALS_H]: Remove.
+
+2016-04-09  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Georgian scripts.
+
+	Georgian is problematic, since `uppercase' forms of Mkhedruli
+	(called Mtavruli) are not yet defined in Unicode, which means that
+	proper blue zones can't be defined.  However, there is already a
+	proposal submitted to Unicode; see
+
+	  http://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf
+
+	Additionally, due to historical reasons, Unicode treats Khutsuri as
+	the same script as Mkhedruli, and so does OpenType.  However, since
+	the two scripts have completely different shapes it can happen that
+	blue zones differ considerably.  The tag `geok' used here (derived
+	from ISO 15924) to differentiate the two scripts is not an OpenType
+	tag in use.  If we now have a font that contains both glyphs for
+	Mkhedruli and Khutsuri, and it uses OpenType features for both also,
+	HarfBuzz unavoidably treats all glyphs as `geor'.  As a consequence,
+	blue zones for `geok' are not used for glyphs involved in the
+	OpenType features.
+
+	An issue not yet resolved is which OpenType feature should be used
+	to access Mtavruli glyph shapes; right now, FreeType doesn't set up
+	support for them, but it is easy to add them later on as soon as
+	more information is available.
+
+	* src/autofit/afblue.dat: Add blue zone data for Georgian.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Georgian standard characters.
+
+	* src/autofit/afranges.c: Add Georgian data.
+
+	* src/autofit/afstyles.h: Add Georgian data.
+
+2016-04-05  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Provide dummy blue zone for pseudo script `none'.
+
+	Even if the dummy hinter is used as the handler for `none' (which
+	doesn't use blue zones), it is more consistent than the old value
+	(which was 0), pointing to Arabic...
+
+	* src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE.
+
+2016-03-30  Werner Lemberg  <wl at gnu.org>
+
+	* src/pfr/pfrload.c (pfr_aux_name_load): Thinko (#47567).
+
+2016-03-30  Werner Lemberg  <wl at gnu.org>
+
+	* src/pfr/pfrload.c (pfr_log_font_count): Better font size estimate.
+
+2016-03-30  Werner Lemberg  <wl at gnu.org>
+
+	* src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567).
+
+2016-03-29  Werner Lemberg  <wl at gnu.org>
+
+	* src/base/ftadvanc.c (FT_Get_Advances): Fix invalid left shift.
+
+2016-03-29  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Fix binary search (#47514).
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
+	conditions correctly.
+
+2016-03-29  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Minor.
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left',
+	`right', and `middle' with `min', `max', and `mid' as used in other
+	FreeType binary search code.
+	(pfr_load_bitmap_metrics): Fix invalid left shift.
+
+2016-03-29  Werner Lemberg  <wl at gnu.org>
+
+	* src/pfr/pfrtypes.h: Replace all enums with macros.
+
+	We need `~FOO' to unset bits, and only with unsigned values (which
+	`enum' isn't normally) this works cleanly.
+
+2016-03-26  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Robustify bitmap strike handling (#47514).
+
+	We did a binary search for a charcode without ensuring that the
+	searched data is ordered.  Validating the order is now done lazily,
+	this is, the first access to a bitmap glyph triggers the order check
+	in the corresponding bitmap strike.
+
+	* src/pfr/pfrtypes.h (PFR_BitmapFlags): New values
+	`PFR_BITMAP_VALID_CHARCODES' and `PFR_BITMAP_CHARCODES_VALIDATED'.
+
+	* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Make `flags' argument
+	a pointer.  Handle new PFR_BITMAP_XXX flags.
+	(pfr_slot_load_bitmap): Updated.
+
+2016-03-26  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Fix handling of compound glyphs.
+
+	Extra items are indicated with different bit positions.
+
+	* src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace
+	`PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and
+	`PFR_GLYPH_COMPOUND_EXTRA_ITEMS'.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_simple,
+	pfr_glyph_load_compound): Use them.
+
+2016-03-25  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Minor.
+
+	* src/pfr/pfrsbit.c, src/pfr/pfrobjs.c: Use flag names instead of
+	bare numbers.
+
+2016-03-25  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Various clang sanitizer fixes.
+
+	* src/pfr/pfrsbit.c (pfr_load_bitmap_metrics): Correctly handle
+	signed nibbles.
+	(pfr_slot_load_bitmap): Correctly exit frame in case of error.
+	Fix invalid left shifts.
+
+2016-03-23  Werner Lemberg  <wl at gnu.org>
+
+	Rename `VERSION.DLL' (#47472).
+
+	* docs/VERSION.DLL: Renamed to...
+	* docs/VERSIONS.TXT: ...this.
+
+2016-03-23  Werner Lemberg  <wl at gnu.org>
+
+	[raster, smooth] Directly test outline size (#47500).
+
+	This improves stand-alone compilation.
+
+	* src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to...
+
+	* src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c
+	(gray_raster_render): ...these functions.
+
+2016-03-23  Werner Lemberg  <wl at gnu.org>
+
+	[raster, smooth] Fix some clang sanitizer runtime issues.
+
+	* src/raster/ftraster.c (ft_black_reset, ft_black_set_mode,
+	ft_black_render): Harmonize signatures with `ftimage.h'.
+
+	* src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset):
+	Ditto.
+
+2016-03-22  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor.
+
+	This fixes an AddressSanitizer issue:
+
+	  ttgload.c:430:7: runtime error: null pointer passed as argument 1,
+	                   which is declared to never be null
+
+2016-03-21  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Thinko.
+
+	This fixes the previous commit to this file.
+
+2016-03-21  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Partly revert recent changes.
+
+	* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
+	conditions to fix rendering issues.
+
+2016-03-20  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Show `near' points in tracing.
+
+	* src/autofit/afhints.h (AF_FLAG_NEAR): New macro.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it.
+	(af_glyph_hints_reload): Handle AF_FLAG_NEAR.
+
+2016-03-18  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Minor refactoring and microoptimizations.
+
+	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
+	band clipping from here.
+	(gray_conic_to, gray_cubic_to): ... to here.
+	(gray_rander_line, gray_render_scanline): Initialize variables closer
+	to their use.
+
+2016-03-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Minor refactoring.
+
+	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
+	upscaling from here.
+	(gray_conic_to, gray_cubic_to): ... to here.
+
+2016-03-15  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize.
+
+2016-03-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Temporarily revert 6eb6158dd787 (#47114).
+
+	* src/smooth/ftgrays.c (gray_render_line): Old implementation.
+
+2016-03-12  Werner Lemberg  <wl at gnu.org>
+
+	[ftfuzzer] Improve coverage of rasterfuzzer.
+
+	* src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use
+	input data for `tags' array also.
+	Trim input data to get more positive hits.
+
+2016-03-11  Pavlo Denysov  <paul.kiev+savannah at gmail.com>
+
+	Fix CMake issues for iOS (patch #8941).
+
+	* CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory.
+	* builds/cmake/iOS.cmake: No longer enforce gcc.
+
+2016-03-09  Behdad Esfahbod  <behdad at behdad.org>
+
+	[truetype] Fix handling of non-intermediate GX tuples.
+
+	We probably did not notice this as all fonts we tested had only
+	tuple_coords[i] be +1 or -1 for non-intermediate tuples.
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Implement it.
+
+2016-03-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Refuse to render enormous outlines (#47114).
+
+	The goal is to avoid integer overflows in the rendering algorithms.
+	The limit is chosen arbitrarily at some 2^18 pixels, which should be
+	enough for modern devices including printers.
+
+	* src/base/ftoutln.c (FT_Outline_Render): Check CBox and reject
+	enormous outlines.
+
+2016-03-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Replace left shifts with multiplications (#47114).
+
+	* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
+
+2016-03-05  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Avoid excessive stem length rounding (#25392).
+
+	* src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument
+	to pass difference between hinted and unhinted position of base
+	point; use this to adjust the stem width depending on the PPEM so
+	that it doesn't become too large under certain circumstances.
+	Update all callers using value 0 for this argument except...
+	(af_latin_align_linked_edge): Pass position delta of base point to
+	`af_latin_compute_stem_width'.
+
+2016-03-05  J Raynor  <jxraynor at gmail.com>
+
+	Make FreeType compile on AIX out of the box.
+
+	* builds/unix/configure.raw (XX_ANSIFLAGS): Don't use `-ansi' on
+	AIX.
+
+2016-03-01  Werner Lemberg  <wl at gnu.org>
+	    Kostya Serebryany  <kcc at google.com>
+
+	[ftfuzzer] Add unit for testing smooth and black rasterizers.
+
+	* src/tools/ftfuzzer/rasterfuzzer.cc: New file.
+
+2016-03-01  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix reallocation error introduced in 2016-02-27 (#47310).
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Reassign
+	`prev_segment' after reallocation.
+
+2016-03-01  Werner Lemberg  <wl at gnu.org>
+
+	Fix clang warnings.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Use
+	FT_UShort for `min_flags' and `max_flags'.
+	Initialize `prev_*' variables.
+
+	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix
+	types of local variables.
+
+	* src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]:
+	Update `printf' format string.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast.
+	(LLVMFuzzerTestOneInput): Fix loop type.
+
+2016-02-29  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Sinhala script.
+
+	This essentially moves the Sinhala script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Sinhala.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Sinhala standard character and move data
+	out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Sinhala data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Sinhala data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-02-27  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Properly handle spikes pointing to the x-axis.
+
+	An example that gets better rendered is glyph `uusignTaml' (glyph
+	index 2286) in font `FreeSerif.ttf' (Version 0412.2263) at 22ppem.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Properly
+	handle segments where the last point of the first segment is
+	identical to the first point in the second one.  This can happen for
+	malformed fonts or spikes.  We either merge the new segment with the
+	previous one (both segments point into the same direction), or we
+	discard the shorter segment if they point into different directions.
+
+2016-02-27  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Minor code clean-up.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Change
+	some local variable names to better differentiate between values
+	along a segment and values orthogonal to it.
+
+2016-02-26  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Improve BOUND action.
+
+	In complex glyph shapes, the original logic was too simple to cater
+	for situations that would actually need something similar to PS Hint
+	masks.  This fix should alleviate the worst cases.
+
+	* src/autofit/aflatin.c (af_latin_hint_edges): Don't allow
+	complete disappearance of stems.
+
+2016-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Tamil script.
+
+	This essentially moves the Tamil script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Tamil.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Tamil standard character and move data
+	out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Tamil data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Tamil data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-02-18  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Malayalam script.
+
+	This essentially moves the Malayalam script from the `Indic' hinter
+	to the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Malayalam.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Malayalam standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Malayalam data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Malayalam data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-02-16  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Fix integer overflow (#47114).
+
+	* src/smooth/ftgrays.c (TArea): Make it unconditionally `long'.
+
+2016-02-15  Werner Lemberg  <wl at gnu.org>
+
+	* src/cff/cffparse.c (cff_parse_multiple_master): Improve tracing.
+
+2016-02-15  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Handle T2 operator only with old CFF engine (#47157).
+
+	* src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with
+	#ifdef CFF_CONFIG_OPTION_OLD_ENGINE...#endif.
+
+2016-02-15  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Partially handle `load' and `store' ops in old CFF engine.
+
+	Now all glyphs of MM CFFs like `ITCGaramondMM-It.otf' can be
+	displayed.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_store,
+	cff_op_load>: Partially implement it.
+
+	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass
+	the number of Multiple Master axes.
+	Update all callers.
+	(cff_parse_multiple_master): Get number of axes.
+	(cff_parser_run) <opcode 31>: Updated.
+	* src/cff/cffparse.h: Updated.
+	(CFF_ParserRec): Add `num_axes' field.
+
+	* src/cff/cffload.c: Updated.
+
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_axes' field.
+
+2016-02-15  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Correctly trace SIDs that contain NULL bytes.
+
+	We need this to properly trace Multiple Master CFFs, which contain
+	two SIDs that are charstrings.
+
+	This commit makes FreeType also show the last SID, omitted
+	previously due to a bug.
+
+	* src/cff/cfftypes.h (CFF_FontRec): Add `string_pool_size' field.
+
+	* src/cff/cffload.c (cff_index_get_pointers): Add argument to return
+	the pool size.
+	Update all callers.
+
+	* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Directly
+	access `cff->strings' to display the non-default strings.
+
+2016-02-14  Werner Lemberg  <wl at gnu.org>
+
+	* src/base/fthash.c: Include FT_INTERNAL_MEMORY_H.
+
+2016-02-14  Werner Lemberg  <wl at gnu.org>
+
+	* src/cff/cffparse.c: Include `cffgload.h'.
+
+	Problem reported by Colin Walters <walters at verbum.org>.
+
+2016-02-14  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Make old CFF engine show MM CFFs (without variations).
+
+	The new code only displays the first master in the font.
+
+	* src/cff/cffgload.c (cff_decode_parse_charstrings): Add new
+	parameter to allow function calls from dictionaries also.
+	<cff_op_blend>: Partially implement it.
+	Update all callers.
+	* src/cff/cffgload.h: Updated.
+
+	* src/cff/cffparse.c (cff_parser_init): Add new parameter to pass the
+	number of Multiple Master designs.
+	Update all callers.
+	(cff_parse_multiple_master): New function to rudimentarily parse
+	operator.
+	(cff_parser_run): Handle `T2' operator.
+	* src/cff/cffparse.h: Updated.
+	(CFF_ParserRec): Add `num_designs' field.
+
+	* src/cff/cffload.c: Updated.
+
+	* src/cff/cfftoken.h: Handle `MultipleMaster' operator.
+
+	* src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_designs' field.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Don't handle `fvar' table for
+	MM CFFs.
+
+2016-02-09  Werner Lemberg  <wl at gnu.org>
+
+	[docmaker] Don't emit trailing newlines.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_code):
+	Use `rstrip'.
+
+2016-02-07  Werner Lemberg  <wl at gnu.org>
+
+	* Version 2.6.3 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-3'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.3.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/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.6.2/2.6.3/, s/262/263/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 18:3:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 3.
+
+	* docs/CHANGES: Updated.
+
+2016-02-07  Werner Lemberg  <wl at gnu.org>
+
+	Fix another runtime error found by clang's sanitizer (#47082).
+
+	* src/base/ftstroke.c (ft_stroke_border_export): Properly handle
+	empty input buffer.
+
+2016-02-07  Werner Lemberg  <wl at gnu.org>
+
+	Fix runtime errors found by clang's sanitizer (#47082).
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
+	(FT_Outline_Copy), src/cache/ftcsbits.c (ftc_sbit_copy_bitmap):
+	Properly handle empty input buffer.
+
+2016-02-07  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Minor.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_sqrt>:
+	Remove dead code.
+
+2016-02-07  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Implement missing operators in new engine (except `random').
+
+	* src/cff/cf2font.h (CF2_STORAGE_SIZE): New macro.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString): Implement the
+	following operators: abs, add, and, div, drop, dup, eq, exch, get,
+	ifelse, index, mul, neg, not, or, put, roll, sqrt, sub.
+
+	* src/cff/cf2stack.h, src/cff/cf2stack.c (cf2_stack_roll): New
+	auxiliary function for `roll' operator.
+
+2016-02-06  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Fix some Type 2 operators in old CFF engine.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Fix `eq'
+	operator, add `not' and (unsupported) `blend' operators.
+
+2016-02-05  Sebastian Rasmussen  <sebras at gmail.com>
+
+	Make direct call of `make install' work (#47072).
+
+	* builds/unix/unix-def.in (freetype-config): Make sure
+	`freetype-config' is generated for both make targets (`all' and
+	`install').
+
+2016-02-05  Werner Lemberg  <wl at gnu.org>
+
+	[base] Fix advance width loading for MM and GX fonts (#47064).
+
+	* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Return false for
+	MM and GX fonts.
+	Update callers.
+
+2016-02-03  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Fix handling of face_index == -1 for pure CFF.
+
+	* src/cff/cffobjs.c (cff_face_init): Return correct number of faces.
+
+2016-01-30  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Minor tracing improvement.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline
+	at the start of a new contour.
+
+2016-01-28  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	Remove unpatented hinter (3/3).
+
+	* include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+	`ignore_unpatented_hinter' field.
+	Update users.
+	(FT_DEBUG_HOOK_UNPATENTED_HINTING): Remove.
+	Update users.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove
+	`unpatented_hinting' field.
+	Update users.
+
+	* src/base/ftpatent.c (_tt_check_patents_in_range,
+	_tt_check_patents_in_table, _tt_face_check_patents): Remove.
+	(FT_Face_CheckTrueTypePatents, FT_Face_SetUnpatentedHinting):
+	Replace code with dummies.
+
+	* src/truetype/ttobjs.c (tt_face_init): Remove now defunct code.
+	* src/truetype/ttobjs.h (TT_GraphicsState): Remove `both_x_axis'
+	field.
+
+2016-01-28  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	Remove unpatented hinter (2/3).
+
+	* devel/ftoption.h (TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove.
+
+2016-01-28  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	Remove unpatented hinter (1/3).
+
+	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_UNPATENTED_HINTING]:
+	Remove all code related to this macro.
+
+2016-01-28  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Kannada script.
+
+	This essentially moves the Kannada script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Kannada.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Kannada standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Kannada data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Kannada data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2016-01-22  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	Better access to 64-bit integers for C99 compilers.
+
+	* include/freetype/config/ftconfig.h [FT_LONG64]: Use
+	__STDC_VERSION__ to define 64-bit integers.
+	* builds/unix/ftconfig.in [FT_LONG64]: Ditto.
+	* builds/vms/ftconfig.h [FT_LONG64]: Ditto.
+
+2016-01-21  Werner Lemberg  <wl at gnu.org>
+
+	[gxvalid] Remove commented out code.
+
+	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Do it.
+
+2016-01-20  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Complete last autofit commit.
+
+	Problem reported by Kostya Serebryany <kcc at google.com>.
+
+	* src/autofit/afshaper.c (af_shaper_get_coverage)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Update signature.
+
+2016-01-20  Werner Lemberg  <wl at gnu.org>
+
+	Still handle `__FTERRORS_H__'.
+
+	We need this for backwards compatibility.
+
+	Problem reported by John Emmas <johne53 at tiscali.co.uk>.
+
+	* include/freetype/fterrors.h: Fix inclusion guard so that
+	undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as
+	expected.
+
+2016-01-19  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix handling of default script.
+
+	Patch taken from ttfautohint, commit
+	071ae2c00e0d67f9d19418f4fade1c23d27dc185.
+
+	There were two bugs.
+
+	  - We now use non-standard script tags like `khms' for special
+	    purposes.  However, HarfBuzz maps such tags to `DFLT', and
+	    without this commit the associated lookups were incorrectly
+	    assigned to the non-standard tags.
+
+	  - Let's assume we have a Bengali font, and the font's `DFLT'
+	    script tag handles the necessary lookups for Bengali, too.
+	    Without this commit, the `DFLT' lookups were assigned to
+	    ttfautohint's default script (usually `latn') before the
+	    standard lookups for Bengali were handled.
+
+	    We now have the following order while searching for covered
+	    glyph indices.
+
+	      special features of scripts (e.g. `sups' for Cyrillic)
+	      Unicode mappings of scripts
+	      remaining features of scripts (especially important for Indic
+	        scripts)
+	      default features of default script
+
+	* src/autofit/afshaper.c, src/autofit/afshaper.h
+	(af_shaper_get_coverage): Add boolean parameter to indicate default
+	script.
+	Update all callers.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Fix search order for coverages.
+
+2016-01-19  Werner Lemberg  <wl at gnu.org>
+
+	Various minor clang fixes.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
+	`ch'.
+
+	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast.
+
+	* src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast.
+
+	* src/base/fthash.c (hash_num_lookup): Add cast.
+
+	* src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast.
+
+	* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out
+	redundant code.
+
+	* src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add
+	cast.
+
+	* src/type1/t1load.c (parse_subrs): Fix type of `count'.
+
+2016-01-19  Derek B. Noonburg  <derekn at glyphandcog.com>
+
+	[truetype] Add another tricky font.
+
+	* src/truetype/ttobjs.c (TRICK_SFNT_IDS_NUM_FACES): Increase.
+	(sfnt_id): Add variant of `DFKaiShu'.
+
+2016-01-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Empower `FT_Library_SetLcdFilterWeights'.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): Enable filter
+	in addition to setting weights.
+	(FT_Library_SetLcdFilter): Clean out FT_FORCE_LIGHT_LCD_FILTER and
+	FT_FORCE_LEGACY_LCD_FILTER.
+	* include/freetype/ftlcdfil.h: Documentation update.
+
+2016-01-12  Werner Lemberg  <wl at gnu.org>
+
+	Don't use macro names that start with `_[A-Z]' [3/3].
+
+	Such macro names are reserved for both C and C++.
+
+	* src/cache/ftccache.h: s/_FTC_FACE_ID_HASH/FTC_FACE_ID_HASH/.
+	Update all callers.
+	(FTC_CACHE_LOOKUP_CMP): Replace `_XXX' with `XXX_'.
+	* src/cache/ftcmru.c (FTC_MRULIST_LOOKUP_CMP): Ditto.
+
+2016-01-12  Werner Lemberg  <wl at gnu.org>
+
+	Don't use macro names that start with `_[A-Z]' [2/3].
+
+	Such macro names are reserved for both C and C++.
+
+	* include/freetype/ftimage.h, src/raster/ftraster.c,
+	src/smooth/ftgrays.c, src/smooth/ftgrays.h:
+	s/_STANDALONE_/STANDALONE_/.
+
+2016-01-12  Werner Lemberg  <wl at gnu.org>
+
+	Don't use macro names that start with `_[A-Z]' [1/3].
+
+	Such macro names are reserved for both C and C++.
+
+	* src/bdf/bdflib.c: Replace macros of the form `_BDF_XXX' with
+	`BDF_XXX_'.
+
+2016-01-12  Werner Lemberg  <wl at gnu.org>
+
+	Don't use macro names that contain `__' [2/2].
+
+	Such macro names are reserved for both C and C++.
+
+	* src/cache/*: s/__/_/.
+
+2016-01-12  Werner Lemberg  <wl at gnu.org>
+
+	Don't use macro names that contain `__' [1/2].
+
+	Such macro names are reserved for both C and C++.
+
+	* */*: Replace macros of the form `__XXX_H__' with `XXX_H_'.
+
+2016-01-10  Jered Gray  <jegray at google.com>
+
+	[cff] Fix usage of `|' operator.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) [cf2_cmdEXTENDEDNMBR,
+	default]: `|' is not guaranteed to be processed from left to right
+	by the compiler.  However, the code repeatedly calls
+	`cf2_buf_readByte' to get the arguments to `|' ...  Fix this.
+
+2015-12-25  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Make top-to-bottom hinting work in latin auto-hinter.
+
+	This improves rendering of scripts like Bengali or Devanagari.
+
+	* src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to
+	pass top-to-bottom hinting flag.  This makes the function sort edges
+	in descending vertical position.
+
+	* src/autofit/afhints.c: Updated.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_edges,
+	af_latin_hint_edges): Use `top_to_bottom_hinting' flag.
+
+	* src/autofit/afcjk.c (af_cjk_hints_compute_edges),
+	src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated.
+
+2015-12-24  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add hinting direction to `AF_ScriptClassRec'.
+
+	Still unused.
+
+	* src/autofit/afglobal.c (SCRIPT): Handle hinting direction.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
+	`top_to_bottom_hinting' field.
+	(AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+2015-12-23  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Start implementing hinting direction (up/down, down/up).
+
+	Right now, it does nothing.
+
+	* src/autofit/afscript.h: Add another parameter to `SCRIPT',
+	specifying hinting direction.
+
+	* src/autofit/afglobal.c, src/autofit/afglobal.h,
+	src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c,
+	src/autofit/aftypes.h: Extend `SCRIPT' definitions.
+
+2015-12-22  Werner Lemberg  <wl at gnu.org>
+
+	* src/type1/t1load.c (parse_subrs): Fix memory leak (#46744).
+
+2015-12-22  Werner Lemberg  <wl at gnu.org>
+
+	[base] Make hash interface symmetric.
+
+	Use `num' and `str' infixes everywhere.
+
+	* src/base/fthash.c (ft_hash_init): Renamed to...
+	(hash_init): ... This.
+	(ft_hash_str_init, ft_hash_num_init): New functions.
+	(ft_hash_free): Renamed to...
+	(ft_hash_str_free): ... This.
+
+	* include/freetype/internal/fthash.h: Updated.
+
+	* src/bdf/bdflib.c, src/type1/t1load.c, src/type1/t1objs.c: Updated.
+
+2015-12-21  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Avoid shift of negative numbers (#46732).
+
+	* src/type1/t1load.c (parse_subrs): Do it.
+
+2015-12-20  Werner Lemberg  <wl at gnu.org>
+
+	[type1, psaux] Handle large values of num_subrs correctly (#46692).
+
+	We now use a hash to map from subr indices to array elements holding
+	the subroutines, if necessary.
+
+	* include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H.
+	(T1_FontRec): Add `subrs_hash' field.
+
+	* include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H.
+	(T1_DecoderRec): Add `subrs_hash' field.
+
+	* src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field.
+
+	* src/type1/t1driver.c: Include FT_INTERNAL_HASH_H.
+	(t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary.
+
+	* src/type1/t1load.c: Include FT_INTERNAL_HASH_H.
+	(parse_subrs): Use hash for subr indices that exceed the allocated
+	number of subr slots.
+	(t1_init_loader): Remove unnecessary code.
+	(t1_done_loader, T1_Open_Face): Updated.
+
+	* src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances,
+	T1_Load_Glyph): Updated.
+
+	* src/type1/t1objs.c (T1_Face_Done): Updated.
+
+	* src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H.
+	(t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if
+	necessary.
+
+	* src/cid/cidgload.c (cid_load_glyph): Updated.
+
+2015-12-20  Werner Lemberg  <wl at gnu.org>
+
+	[base] Thinko: Remove free function pointer.
+
+	We don't copy keys or values while hashing.
+
+	* include/freetype/internal/fthash.h (FT_Hash_FreeFunc): Removed.
+	(FT_HashRec): Remove `free' field.
+
+	* src/base/fthash.c (hash_str_free): Removed.
+	(ft_hash_init, ft_hash_free): Updated.
+
+2015-12-20  Werner Lemberg  <wl at gnu.org>
+
+	[base, bdf] Don't expose `FT_Hashnode' in hash functions.
+
+	* src/base/fthash.c (hash_lookup, ft_hash_str_lookup,
+	ft_hash_num_lookup): Return pointer to `size_t' instead of
+	`FT_Hashnode'.
+
+	* include/freetype/internal/fthash.h: Updated.
+
+	* src/bdf/bdflib.c (bdf_get_property, _bdf_add_property,
+	bdf_get_font_property): Updated.
+
+2015-12-20  Werner Lemberg  <wl at gnu.org>
+
+	[base, bdf] Add number hashing.
+
+	* src/base/fthash.c (hash_num_lookup, hash_num_compare): New
+	functions.
+	(ft_hash_init): Add argument to select between number and string
+	hashing.
+	(ft_hash_num_insert, ft_hash_num_lookup): New functions.
+
+	* include/freetype/internal/fthash.h: Updated.
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Updated.
+
+2015-12-20  Werner Lemberg  <wl at gnu.org>
+
+	[base] Introduce hash lookup, compare, and free function pointers.
+
+	* include/freetype/internal/fthash.c (FT_Hash_LookupFunc,
+	FT_Hash_CompareFunc, FT_Hash_FreeFunc): New typedefs.
+	(FT_HashRec): Add `lookup', `compare', and `free' fields.
+
+	* src/base/fthash.c (hash_str_lookup, hash_str_compare,
+	hash_str_free): New functions.
+	(ft_hash_init): Set function pointers.
+	(hash_bucket, ft_hash_free): Use them.
+
+2015-12-20  Werner Lemberg  <wl at gnu.org>
+
+	[base, bdf] Use a union as a hash key.
+
+	We want to support both an integer and a string key later on.
+
+	* include/freetype/internal/fthash.h (FT_Hashkey): New union.
+	(FT_HashnodeRec): Updated.
+	(ft_hash_insert, ft_hash_lookup): Renamed to ...
+	(ft_hash_str_insert, ft_hash_str_lookup): ... this.
+
+	* src/base/fthash.c (hash_bucket): Updated.
+	(ft_hash_insert, ft_hash_lookup): Renamed to ...
+	(hash_insert, hash_lookup): ... this.
+	(ft_hash_str_insert, ft_hash_str_lookup): New wrapper functions.
+
+	* src/bdf/bdflib.c: Updated.
+
+2015-12-19  Werner Lemberg  <wl at gnu.org>
+
+	[bdf] Use new hash functions.
+
+	* src/bdf/bdf.h: Include FT_INTERNAL_HASH_H.
+	(hashnode, hashtable): Removed.
+	(bdf_font_t): Use `FT_HashRec' type for `proptbl'.
+
+	* src/bdf/bdflib.c: Remove all hash functions.
+	Update code for new hash structure and function names.
+
+2015-12-19  Werner Lemberg  <wl at gnu.org>
+
+	[bdf, base] Lift hash functions from bdf driver to base module.
+
+	* src/base/fthash.c, include/freetype/internal/fthash.h: New files,
+	containing (massaged) code from `bdflib.c' and `bdf.h'.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H): New
+	macro.
+
+	* src/base/ftbase.c: Include `fthash.c'.
+
+	* src/base/Jamfile (_sources): Add `fthash'.
+
+	* src/base/rules.mk (BASE_SRC): Add `fthash.c'.
+
+	* docs/LICENSE.TXT: Updated.
+
+2015-12-15  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add blue-zone support for Bengali script.
+
+	This essentially moves the Bengali script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	* src/autofit/afblue.dat: Add blue zone data for Bengali.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Bengali standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Bengali data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Bengali data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2015-12-14  Ben Wagner  <bungeman at gmail.com>
+
+	[bdf] Remove dead code (#46625).
+
+	The BDF specification only allows decimal numbers, no octal or
+	hexadecimal decoding is needed.
+
+	* src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous,
+	_bdf_atos): Remove unused code and parameters.
+	Update all callers.
+	(odigits): Remove.
+
+2015-12-14  Werner Lemberg  <wl at gnu.org>
+
+	[base] Fix calls to `FT_Stream_Seek'.
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource, FT_Open_Face): Set
+	`error'.
+
+2015-12-14  Ben Wagner  <bungeman at gmail.com>
+
+	[base] Check error when seeking to data supplied offset (#46635).
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream):
+	`ft_lookup_PS_in_sfnt_stream' returns offset and length from
+	user supplied data.  Use of this these values must be checked.
+
+2015-12-13  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Myanmar script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Myanmar.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Myanmar standard characters.
+
+	* src/autofit/afranges.c: Add Myanmar data.
+
+	* src/autofit/afstyles.h: Add Myanmar data.
+
+2015-12-12  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Minor.
+
+2015-12-12  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afscript.h: Avoid potential crash.
+
+2015-12-10  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Restore OpenType feature check.
+
+	This was removed while rewriting the HarfBuzz interface.
+
+	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add `hb_buf' field to
+	hold internal HarfBuzz buffer, needed for feature comparison.
+
+	* src/autofit/afglobal.c (af_face_globals_new,
+	af_face_globals_free): Initialize and destroy `hb_buf'.
+
+	* src/autofit/afshaper.c (af_shaper_get_cluster): Compare character
+	(cluster) with and without applied feature.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix tracing
+	message.
+
+2015-12-10  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Remove redundant code.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Do it.
+
+2015-12-09  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Thinko.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Don't count
+	empty blue zones (bug introduced 2015-12-06).
+
+2015-12-09  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Introduce subscript top blue zones.
+
+	This feature is mainly for Khmer: The idea is to avoid a clash
+	between the top of subscript glyphs and the bottom of normal
+	baseline glyphs.
+
+	This only works for character clusters mapped to multiple glyphs.
+
+	* src/autofit/afblue.dat: Add subscript top blue zone for Khmer.
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_SUB_TOP): New
+	macro.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.h (AF_LATIN_IS_SUB_TOP_BLUE,
+	AF_LATIN_BLUE_SUB_TOP): New macros.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle new
+	blue zone property.
+	Update tracing messages.
+	(af_latin_metrics_scale_dim): Handle new blue zone property.
+	(af_latin_hints_compute_blue_edges): Updated.
+
+2015-12-09  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix tracing message.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Display
+	inactive blue zones also.
+
+2015-12-06  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afblue.dat: Add more Khmer clusters.
+
+	Some fonts have incorrect ligatures; we need more samples to get a
+	good mean value.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2015-12-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Typos.
+
+	* src/autofit/afshaper.c (af_shaper_buf_create, af_shaper_get_elem)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Make it compile.
+
+2015-12-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Khmer script.
+
+	We split Khmer into two auto-hinter scripts: `Khmer' (`khmr') and
+	`Khmer symbols' (`khms', U+19E0-U+19FF).
+
+	* src/autofit/afblue.dat: Add blue zone data for Khmer.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Khmer standard characters.
+
+	* src/autofit/afranges.c: Add Khmer data.
+
+	* src/autofit/afstyles.h: Add Khmer data.
+
+2015-12-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Rewrite HarfBuzz interface to support character clusters.
+
+	Scripts like Khmer have blue zones that can't be directly
+	represented by Unicode characters.  Instead, it is necessary to let
+	HarfBuzz convert character clusters into proper glyph representation
+	forms, then deriving the blue zone information from the resulting
+	glyphs.
+
+	* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
+	* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
+	files, providing a new API to access HarfBuzz.
+
+	The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
+	and `af_shaper_buf_destroy'.  The buffer receives a UTF8 encoded
+	string with function `af_shaper_get_cluster', and the resulting
+	glyph data (indices, advance widths, vertical offsets) can be
+	iteratively accessed with function `af_shaper_get_elem'.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
+	Updated.
+
+	* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.
+
+	* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
+	(af_face_globals_compute_style_coverage): Updated.
+
+	* src/autofit/afglobal.h: s/hbshim.h/afshaper.h/.
+
+	* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.
+
+	* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
+	Updated.
+
+2015-12-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Prepare forthcoming changes.
+
+	This makes it easier to control the commits.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Add dummy
+	loop.  No functional change.
+
+2015-12-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Use string of standard characters.
+
+	This is more flexible; additionally, it would allow character
+	clusters.
+
+	* src/autofit/aftypes.h (SCRIPT, AF_DEFINE_SCRIPT_CLASS): Updated.
+	(AF_ScriptClassRec): Replace `standard_char[123]' with
+	`standard_charstring'.
+
+	* src/autofit/afscript.h: Replace last three character arguments
+	of the `SCRIPT' calls with a string parameter, holding the standard
+	characters (in UTF-8 encoding) separated with spaces.
+
+	* src/autofit/afglobal.c, src/autofit/afglobal.h,
+	src/autofit/afpic.c, src/autofit/afranges.c, src/autofit/hbshim.c
+	(SCRIPT): Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Updated.
+
+2015-12-05  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afblue.dat: Separate blue zone characters with spaces.
+
+	Another preparation for character cluster support.
+
+	* src/autofit/afblue.c, src/autofit.afblue.h: Regenerated.
+
+2015-12-05  Werner Lemberg  <wl at gnu.org>
+
+	* src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces.
+
+	Instead, reduce multiple spaces to a single one.  We need this later
+	for supporting character clusters in `afblue.dat'.
+
+2015-12-05  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afblue.hin (GET_UTF8_CHAR): Use `do...while(0)'.
+
+	* src/autofit/afblue.h: Regenerated.
+
+2015-12-05  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afwarp.c: s/INT_MIN/FT_INT_MIN/.
+
+2015-12-03  Werner Lemberg  <wl at gnu.org>
+
+	* builds/unix/install.mk (install): Remove stale `ft2build.h'.
+
+2015-12-01  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Avoid dangling pointer (#46572).
+
+	* src/type1/t1afm.c (T1_Read_Metrics): Properly reset
+	`face->afm_data'.
+
+2015-11-28  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* include/freetype/ftlcdfil.h: Documentation tweak.
+
+2015-11-28  Werner Lemberg  <wl at gnu.org>
+
+	* Version 2.6.2 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-2'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.2.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/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.6.1/2.6.2/, s/261/262/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+	* builds/unix/configure.raw (version_info): Set to 18:2:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 2.
+
+	* docs/CHANGES: Updated.
+
+2015-11-28  Werner Lemberg  <wl at gnu.org>
+
+	Fix C++ compilation.
+
+	* src/autofit/afloader.c: Include FT_INTERNAL_CALC_H.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler.
+
+2015-11-28  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	Change default LCD filter to be normalized and color-balanced.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update
+	`default_filter'.
+
+2015-11-28  Werner Lemberg  <wl at gnu.org>
+
+	[docmaker] Allow references to section names.
+
+	In the reference, we show the section's title enclosed in single
+	quotes.
+
+	* src/tools/docmaker/formatter.py (Formatter::__init__): Collect
+	section names as identifiers.
+
+	* src/tools/docmaker/tohtml.py (section_title_header): Split into...
+	(section_title_header1, section_title_header2): ... these two
+	strings.
+	(HtmlFormatter::make_block_url, make_html_word, html_source_quote):
+	Handle sections.
+	(HtmlFormatter::section_enter): Updated to add `id' HTML attribute.
+
+2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+
+	[cmake] Add script to test the config module.
+
+	* builds/cmake/testbuild.sh: New file.
+
+2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+
+	* CMakeLists.txt: Create `freetype-config.cmake' config module.
+
+2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+
+	* CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'.
+
+2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+
+	[cmake] Add better control of library dependencies.
+
+	* CMakeLists.txt: Add `WITH_*' variables to force/auto/omit
+	ZLIB/BZip2/PNG/HarfBuzz.
+
+2015-11-27  Tamas Kenez  <tamas.kenez at adasworks.com>
+
+	[cmake] Make `FindHarfBuzz' observe the REQUIRED option.
+
+	* builds/cmake/FindHarfBuzz.cmake: Implement it.
+
+2015-11-27  Werner Lemberg  <wl at gnu.org>
+
+	[cmake] Collect files specific to cmake in `builds/cmake'.
+
+	* builds/FindHarfBuzz.cmake: Move to ...
+	* builds/cmake/FindHarfBuzz.cmake: ... this place.
+
+	* CMakeLists.txt (CMAKE_MODULE_PATH): Updated.
+
+2015-11-27  Alexander Bock  <alexander.j.bock at nasa.gov>
+
+	CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'.
+
+2015-11-26  Werner Lemberg  <wl at gnu.org>
+
+	[docmaker] Allow `foo[bar]' as identifier.
+
+	We need this to handle equally named properties in different
+	modules.
+
+	* src/tools/docmaker/content.py (re_identifier),
+	src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word,
+	HtmlFormatter::index_exit, HtmlFormatter::section_enter,
+	HtmlFormatter::block_enter): Handle `foo[bar]'.
+
+2015-11-25  Werner Lemberg  <wl at gnu.org>
+
+	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480).
+
+	(_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its
+	contents.
+
+2015-11-21  Werner Lemberg  <wl at gnu.org>
+
+	* include/freetype/internal/ftcalc.h: Don't use `register' keyword.
+
+	This fixes compiler warnings.
+
+	Reported by Behdad.
+
+2015-11-20  Werner Lemberg  <wl at gnu.org>
+
+	Add `FT_LCD_FILTER_LEGACY1' enum value.
+
+	This does the same as `FT_LCD_FILTER_LEGACY'.
+
+	See
+
+	  https://bugs.freedesktop.org/show_bug.cgi?id=92981
+
+	for the reasoning.
+
+	* include/freetype/ftlcdfil.h (FT_LcdFilter): New value
+	`FT_LCD_FILTER_LEGACY1'.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it.
+
+2015-11-15  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afhints.c (af_get_segment_index): Fix it.
+
+	The old code was too simple, returning invalid values in most cases
+	where a segment crosses the contour start.
+
+2015-11-15  Werner Lemberg  <wl at gnu.org>
+
+	* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439).
+
+2015-11-11  Werner Lemberg  <wl at gnu.org>
+
+	[cff, autofit] Switch off stem darkening by default.
+
+	* src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c
+	(cff_driver_init): Do it.
+
+2015-11-10  Jan Alexander Steffens (heftig)  <jan.steffens at gmail.com>
+
+	Allow native CFF hinter in FT_RENDER_MODE_LIGHT.
+
+	Both the native CFF hinter and the auto-hinter now have a very
+	similar rendering style.
+
+	* include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no
+	longer implies FT_LOAD_FORCE_AUTOHINT.
+
+	* include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New
+	macro.
+
+	* include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New
+	macro.
+
+	* src/cff/cffdrivr.c (cff_driver_class): Use it.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection
+	logic.
+
+2015-11-09  Werner Lemberg  <wl at gnu.org>
+
+	* src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408).
+
+2015-11-09  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Remove integer to pointer conversion compiler warning.
+
+	Problem reported by Alexei.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
+	in the glib library to fix the issue.
+
+2015-11-08  Behdad Esfahbod  <behdad at behdad.org>
+
+	[sfnt] Accept version 3 of `EBLC' and `CBLC' tables also.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit): Implement it.
+
+2015-11-08  Philipp Knechtges  <philipp-dev at knechtges.com>
+
+	[autofit] Don't distort (latin) glyphs too much (#46195).
+
+	* src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and
+	`descender' fields.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect
+	ascender and descender data for blue zones.
+	(af_latin_metrics_scale_dim): Reject vertical scaling values that
+	change the result by more than two pixels.
+
+2015-11-05  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Ignore embedded bitmaps with zero size (#46379).
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement
+	it.
+
+2015-11-04  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Catch infinite recursion in subglyphs (#46372).
+
+	* include/freetype/internal/tttypes.h (TT_LoaderRec): New field
+	`composites'.
+
+	* src/truetype/ttgload.c: Include FT_LIST_H.
+	(load_truetype_glyph): Add composite subglyph index to a list;
+	abort if index is already in list.
+	(tt_loader_init): Updated.
+	(tt_loader_done): New function.
+	(TT_Load_Glyph): Call `tt_loader_done'.
+
+2015-11-04  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Better tracing of composite glyphs.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
+	load_truetype_glyph): Implement it.
+
+2015-11-03  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Protect against zero-size bitmaps (#46345).
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check
+	`glyph_size'.
+
+2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	* src/autofit/afloader.c (af_loader_load_g): Implement emboldening.
+
+2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[autofit] Implement darkening computation function.
+
+	This is a crude adaption of the original `cf2_computeDarkening'
+	function.
+
+	* src/autofit/afloader.c (af_intToFixed, af_fixedToInt,
+	af_floatToFixed): New macros, taken from `cf2fixed.h'.
+	(af_loader_compute_darkening): New function.
+	* src/autofit/afloader.h: Updated.
+
+2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[autofit] Add functions to get standard widths for writing systems.
+
+	We need the computed standard horizontal and vertical widths for the
+	emboldening calculation.  This method provides a convenient way to
+	extract it from writing-system-specific metrics structures, which
+	all script definitions must implement.
+
+	* src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New
+	function type.
+	(AF_WritingSystemClassRec): New member `style_metrics_getstdw'.
+	(AF_DEFINE_WRITING_SYSTEM_CLASS): Updated.
+
+	* src/autofit/afcjk.c (af_cjk_get_standard_width): New function.
+	(af_cjk_writing_system_class): Updated.
+	* src/autofit/afdummy.c	(af_dummy_writing_system_class): Updated.
+	* src/autofit/afindic.c (af_cjk_get_standard_width): New function.
+	(af_indic_writing_system_class): Updated.
+	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
+	(af_indic_writing_system_class): Updated.
+	* src/autofit/aflatin.c (af_latin_get_standard_width): New function.
+	(af_indic_writing_system_class): Updated.
+
+2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data.
+
+	* src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields.
+
+	* src/autofit/afglobal.c (af_face_globals_new): Initialize new
+	fields.
+	(af_face_globals_free): Reset new fields.
+
+2015-11-02  Nikolaus Waxweiler  <madigens at gmail.com>
+
+	[autofit] Add stem-darkening properties.
+
+	Actual code follows in a later commit.
+
+	* include/freetype/ftautoh.h: Document `no-stem-darkening' and
+	`darkening-parameters'.
+
+	* src/autofit/afmodule.h: New fields `no_stem_darkening' and
+	`darken_params'.
+
+	* src/autofit/afmodule.c (af_property_set, af_property_get):
+	Handle them.
+	(af_autofitter_init): Initialize them.
+
+2015-11-02  Ben Wagner  <bungeman at gmail.com>
+
+	[ftfuzzer] Add support for multiple files (patch #8779).
+
+	Currently, libFuzzer only supports mutation of a single file.  We
+	circumvent this problem by using an uncompressed tar archive as
+	multiple-file input for the fuzzer.
+
+	This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing;
+	a constructed tarball should contain a font file as the first
+	element, and files to be attached as further elements.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers.
+	(archive_read_entry_data, parse_data): New functions.
+	(LLVMFuzzerTestOneInput): Updated.
+
+	* src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom
+	mutator for libFuzzer that can mutate tarballs in a sensible way.
+
+2015-10-31  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Fix cmap 14 validation (#46346).
+
+	* src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before
+	accessing `numRanges' and `numMappings'.
+	Fix size check for non-default UVS table.
+
+2015-10-31  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Handle infinite recursion in bitmap strikes (#46344).
+
+	* src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc,
+	tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned,
+	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add
+	argument for recursion depth.
+	(tt_sbit_decoder_load_compound): Add argument for recursion depth.
+	Increase recursion counter for recursive call.
+	(tt_sbit_decoder_load_image): Add argument for recursion depth.
+	Check recurse depth.
+	(tt_face_load_sbit_image): Updated.
+
+2015-10-29  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor.
+
+2015-10-29  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Remove code to set MSVC's /FD compiler switch.
+
+	Problem reported by David Capello <davidcapello at gmail.com>; see
+
+	  http://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html
+
+	for details.
+
+2015-10-27  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Add some safety guards (#46302).
+
+	* src/pfr/pfrload.h (PFR_CHECK): Rename to...
+	(PFR_CHECK_SIZE): ... this.
+	(PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE.
+
+	* src/pfr/pfrload.c (pfr_log_font_count): Check `count'.
+	(pfr_extra_item_load_kerning_pairs): Remove tracing message.
+	(pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate.
+	Allocate `chars' after doing a size checks.
+
+	* src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid
+	bitmap format to...
+	(pfr_slot_load_bitmap): ... this function.
+	Check bitmap size.
+
+2015-10-26  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix sanitizing logic for `loca' (#46223).
+
+	* src/truetype/ttpload.c (tt_face_load_loca): A thinko caused an
+	incorrect adjustment of the number of glyphs, most often using far
+	too large values.
+
+2015-10-25  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Improve tracing.
+
+	* src/autofit/afhints.c (af_print_idx, af_get_segment_index,
+	af_get_edge_index): New functions.
+
+	(af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'.
+	Add segment and edge index for each point.
+	Slightly change printing order of some elements.
+	Don't print `-1' but `--' for missing elements.
+
+	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove
+	unnecessary `|', `[', and `]'.
+	Don't print `-1' but `--' for missing elements.
+
+2015-10-24  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Sanitize bitmap strike glyph height.
+
+	Problem reported by Nikolay Sivov <bunglehead at gmail.com>.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Avoid zero value
+	for `metrics->height' by applying some heuristics.
+
+2015-10-22  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt, type42] Fix clang compiler warnings.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Initialize `offset'.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Use proper cast.
+
+2015-10-22  Dave Arnold  <darnold at adobe.com>
+	    Werner Lemberg  <wl at gnu.org>
+
+	[cff] Avoid overflow/module arithmetic.
+
+	This modifies the addition of subroutine number to subroutine bias
+	from unsigned to signed, but does not change any results.
+
+	* src/cff/cf2ft.c (cf2_initGlobalRegionBuffer,
+	cf2_initLocalRegionBuffer): Change variable names from (unsigned)
+	`idx' to (signed) `subrNum', since it is not an index until after
+	the bias is added.
+	* src/cff/cf2ft.h: Updated.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
+	Updated similarly.
+
+2015-10-22  Werner Lemberg  <wl at gnu.org>
+
+	[cid] Better check of `SubrCount' dictionary entry (#46272).
+
+	* src/cid/cidload.c (cid_face_open): Add more sanity tests for
+	`fd_bytes', `gd_bytes', `sd_bytes', and `num_subrs'.
+
+2015-10-21  Werner Lemberg  <wl at gnu.org>
+
+	[base] Pacify compiler (#46266).
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Initialize `in' and
+	`anchor'.
+
+2015-10-21  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Fix heap buffer overflow (#46269).
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Fix off-by-one error in
+	bounds checking.
+
+2015-10-21  Dave Arnold  <darnold at adobe.com>
+
+	[cff] Fix limit in assert for max hints.
+
+	* src/cff/cf2interp.c (cf2_hintmask_setAll): Allow mask equal to the
+	limit (96 bits).
+
+2015-10-21  Dave Arnold  <darnold at adobe.com>
+
+	[cff] Remove an assert (#46107).
+
+	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Ignore paired edges
+	in wrong order.
+
+2015-10-21  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Avoid unnecessarily large allocation for WOFFs (#46257).
+
+	* src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize'
+	only after thorough checks.
+	Add tracing messages.
+
+2015-10-21  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Better check invalid `sfnts' array data (#46255).
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Table lengths must be
+	checked individually against available data size.
+
+2015-10-20  Werner Lemberg  <wl at gnu.org>
+
+	[cid] Add a bunch of safety checks.
+
+	* src/cid/cidload.c (parse_fd_array): Check `num_dicts' against
+	stream size.
+	(cid_read_subrs): Check largest offset against stream size.
+	(cid_parse_dict): Move safety check to ...
+	(cid_face_open): ... this function.
+	Also test length of binary data and values of `SDBytes',
+	`SubrMapOffset', `SubrCount', `CIDMapOffset', and `CIDCount'.
+
+2015-10-20  Werner Lemberg  <wl at gnu.org>
+
+	[cid] Avoid segfault with malformed input (#46250).
+
+	* src/cid/cidload.c (cid_read_subrs): Return a proper error code for
+	unsorted offsets.
+
+2015-10-20  StudioEtrange  <nomorgan at gmail.com>
+
+	* CMakeLists.txt: Enable shared library builds on MinGW (#46233).
+
+2015-10-20  Werner Lemberg  <wl at gnu.org>
+
+	* src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).
+
+2015-10-19  Ben Wagner  <bungeman at gmail.com>
+
+	[cid] Better handle invalid glyph stream offsets (#46221).
+
+	* src/cid/cidgload.c (cid_load_glyph): Check minimum size of glyph
+	length.
+
+2015-10-18  Werner Lemberg  <wl at gnu.org>
+
+	[psaux] Fix tracing of negative numbers.
+
+	Due to incorrect casting negative numbers were shown as very large
+	(positive) integers on 64bit systems.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_none>:
+	Use division instead of shift.
+
+2015-10-18  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223).
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h: Surround it
+	with #ifndef ... #endif, as suggested in the tracker issue.
+
+2015-10-18  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Better protection against malformed `fpgm' (#46223).
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't execute a
+	malformed `fpgm' table more than once.
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	* src/cid/cidgload.c (cid_load_glyph): Fix memory leak.
+
+	Reported by Kostya Serebryany <kcc at google.com>.
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	[bdf] Prevent memory leak (#46217).
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <STARTCHAR>: Check
+	_BDF_GLYPH_BITS.
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	[bdf] Use stream size to adjust number of glyphs.
+
+	* src/bdf/bdflib.c (ACMSG17): New message macro.
+	(_bdf_parse_t): Add member `size'.
+	(bdf_load_font): Set `size'.
+	(_bdf_parse_glyphs): Adjust `cnt' if necessary.
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	* src/cid/cidload.c (cid_parse_dict): Check `[FG]DBytes' size.
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	* src/cid/cidgload.c (cid_glyph_load): Check file offsets (#46222).
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	[psaux] Fix heap buffer overflow (#46221).
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstring) <operator 12>:
+	Fix limit check.
+
+2015-10-17  Werner Lemberg  <wl at gnu.org>
+
+	* src/cid/cidload.c (cid_parse_dict): Handle invalid input (#46220).
+
+2015-10-15  Kostya Serebryany  <kcc at google.com>
+
+	[ftfuzzer] Add README.
+
+	* src/tools/ftfuzzer/README: New file.
+
+2015-10-15  Ben Wagner  <bungeman at gmail.com>
+
+	[bdf] Fix memory leak (#46213).
+
+	* src/bdf/bdflib.c (bdf_load_font): Always go to label `Fail' in
+	case of error.
+
+2015-10-15  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Add TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46208).
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES): New configuration macro.
+
+	* src/truetype/ttinterp.c (MAX_RUNNABLE_OPCODES): Removed.
+	(TT_RunIns): Updated.
+
+2015-10-15  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Fix bytecode stack tracing.
+
+	The used indices were off by 1.
+
+2015-10-15  Ben Wagner  <bungeman at gmail.com>
+	    Werner Lemberg  <wl at gnu.org>
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211).
+
+2015-10-15  Werner Lemberg  <wl at gnu.org>
+
+	[base] Compute MD5 checksums only if explicitly requested.
+
+	This improves profiling accuracy.
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it.
+
+2015-10-14  Werner Lemberg  <wl at gnu.org>
+
+	[base] Use `FT_' namespace for MD5 functions (#42366).
+
+	* src/base/ftobjs.c (MD5_*): Define as `FT_MD5_*'.
+	Undefine HAVE_OPENSSL.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Correctly handle missing MM axis names (#46202).
+
+	* src/type1/t1load.c (T1_Get_MM_Var): Implement it.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[pcf] Quickly exit if font index < 0.
+
+	Similar to other font formats, this commit makes the parser no
+	longer check the whole PCF file but only the header and the TOC if
+	we just want to get the number of available faces (and a proper
+	recognition of the font format).
+
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
+	Exit quickly if face_index < 0.
+
+	* src/pcfread.c (pcf_load_font): Add `face_index' argument.
+	Exit quickly if face_index < 0.
+
+	* src/pcf/pcf.h: Updated.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[ftfuzzer] Handle TTCs and MM/GX variations.
+
+	This patch also contains various other improvements.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject
+	pre-C++11 compilers.
+	(FT_Global): New class.  Use it to provide a global constructor and
+	destructor for the `FT_Library' object.
+	(setIntermediateAxis): New function to select an (arbitrary)
+	instance.
+	(LLVMFuzzerTestOneInput): Loop over all faces and named instances.
+	Also call `FT_Set_Char_Size'.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Refine some GX sanity tests.
+
+	Use the `gvar' table size instead of the remaining bytes in the
+	stream.
+
+	* src/truetype/ttgxvar.h (GX_BlendRec): New field `gvar_size'.
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Set `gvar_size'.
+	(ft_var_readpackedpoints, ft_var_readpackeddeltas: New argument
+	`size'.
+	(tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Updated.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Another GX sanity test.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Check
+	`tupleCount'.
+	Add tracing message.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix memory leak for broken GX fonts (#46188).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix scope of
+	deallocation.
+
+2015-10-13  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix commit from 2015-10-10.
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Add missing error
+	handling body to condition.
+
+2015-10-12  Werner Lemberg  <wl at gnu.org>
+
+	[unix] Make MKDIR_P actually work.
+
+	* builds/unix/configure.raw: Fix underquoting of `INSTALL' and
+	`MKDIR_P'.
+
+	Problem reported by Dan Liddell <lddll at yahoo.com>.
+
+2015-10-11  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Improve extraction of number of named instances.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check number of instances against
+	`fvar' table size.
+
+2015-10-10  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow
+	(#46149).
+
+2015-10-10  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Fix infinite loops with broken cmaps (#46167).
+
+	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next): Take care
+	of border conditions (i.e., if the loops exit naturally).
+
+2015-10-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More sanity tests for GX handling.
+
+	These tests should mainly help avoid unnecessarily large memory
+	allocations in case of malformed fonts.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints,
+	ft_var_readpackeddeltas): Check number of points against stream
+	size.
+	(ft_var_load_avar): Check `pairCount' against table length.
+	(ft_var_load_gvar): Check `globalCoordCount' and `glyphCount'
+	against table length.
+	(tt_face_vary_cvt): Check `tupleCount' and `offsetToData'.
+	Fix trace.
+	(TT_Vary_Apply_Glyph_Deltas): Fix trace.
+	Free `sharedpoints' to avoid memory leak.
+
+2015-10-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Better protection against malformed GX data (#46166).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Correctly
+	handle empty `localpoints' array.
+
+2015-10-10  Werner Lemberg  <wl at gnu.org>
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Check stream size (#46162).
+
+2015-10-09  Werner Lemberg  <wl at gnu.org>
+
+	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size.
+
+2015-10-08  Werner Lemberg  <wl at gnu.org>
+
+	[pcf] Protect against invalid number of TOC entries (#46159).
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Check number of TOC entries
+	against size of data stream.
+
+2015-10-08  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Protect against invalid number of glyphs (#46159).
+
+	* src/type42/t42parse.c (t42_parse_charstrings): Check number of
+	`CharStrings' dictionary entries against size of data stream.
+
+2015-10-08  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Fix some signed overflows (#46149).
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
+	<TT_SBIT_TABLE_TYPE_SBIX>: Use `FT_MulDiv'.
+
+2015-10-08  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Protect against invalid number of subroutines (#46150).
+
+	* src/type1/t1load.c (parse_subrs): Check number of
+	`Subrs' dictionary entries against size of data stream.
+
+2015-10-07  Kostya Serebryany  <kcc at google.com>
+
+	[ftfuzzer] Add support for LLVM's LibFuzzer.
+
+	* src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files.
+
+2015-10-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Faster alternative line renderer.
+
+	This implementation renders the entire line segment at once without
+	subdividing it into scanlines.  The main speed improvement comes from
+	reducing the number of divisions to just two per line segment, which
+	is a bare minimum to calculate cell coverage in a smooth rasterizer.
+	Notably, the progression from cell to cell does not itself require any
+	divisions at all.  The speed improvement is more noticeable at larger
+	sizes.
+
+	* src/smooth/ftgrays.c (gray_render_line): New implementation.
+
+2015-10-06  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Return correct PS names from pure CFF (#46130).
+
+	* src/cff/cffdrivr.c (cff_get_ps_name): Use SFNT service only for
+	SFNT.
+
+2015-10-04  Werner Lemberg  <wl at gnu.org>
+
+	[base] Replace left shifts with multiplication (#46118).
+
+	* src/base/ftglyph.c (ft_bitmap_glyph_bbox, FT_Get_Glyph): Do it.
+
+2015-10-04  Werner Lemberg  <wl at gnu.org>
+
+	* Version 2.6.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-6-1'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.1.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/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.6/2.6.1/, s/26/261/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 18:1:12.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+	* src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for
+	dumping functions.
+
+2015-10-04  Werner Lemberg  <wl at gnu.org>
+
+	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c
+	(ft_gzip_file_fill_input): In case of an error, adjust the limit to
+	avoid copying uninitialized memory.
+
+2015-10-03  Werner Lemberg  <wl at gnu.org>
+
+	[bzip2, gzip] Avoid access of uninitialized memory (#46109).
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c
+	(ft_gzip_file_fill_output): In case of an error, adjust the limit to
+	avoid copying uninitialized memory.
+
+2015-10-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Clean up worker.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
+
+2015-10-01  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of
+	border conditions (i.e., if the loop exits naturally).
+
+2015-10-01  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges.
+	They should be a subset of `af_deva_uniranges'.
+
+2015-10-01  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
+	reject too large glyph indices.
+
+2015-09-30  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[smooth] Clean up worker.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
+	(gray_start_cell, gray_render_line): Update.
+
+2015-09-30  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Replace `no-base' with `non-base'.
+
+	* src/autofit/*: Do it.
+
+2015-09-30  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078).
+
+	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better
+	skip invalid segments.
+	If searching the next character, provide a more efficient logic to
+	speed up the code.
+
+2015-09-30  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Adjust number of glyphs for malformed `loca' tables.
+
+	* src/truetype/ttpload.c (tt_face_load_loca): Implement it.
+
+2015-09-29  Werner Lemberg  <wl at gnu.org>
+
+	[pshinter] Avoid harmless overflow (#45984).
+
+	* src/pshinter/pshglob.c (psh_blues_set_zones): Fix it.
+
+2015-09-28  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Lao script.
+
+	Thanks to Danh Hong <danhhong at gmail.com> for guidance with blue zone
+	characters!
+
+	* src/autofit/afblue.dat: Add blue zone data for Lao.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Lao standard characters.
+
+	* src/autofit/afranges.c: Add Lao data.
+
+	* src/autofit/afstyles.h: Add Lao data.
+
+2015-09-27  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+
+	[base] Fix a leak by broken sfnt-PS or resource fork (#46028).
+
+	open_face_from_buffer() frees passed buffer if valid font
+	is not found.  But if copying to the buffer is failed,
+	the allocated buffer should be freed within the caller.
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free
+	the buffer `sfnt_ps' if an error caused before calling
+	open_face_from_buffer().
+	(Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if
+	an error caused before calling open_face_from_buffer();
+
+2015-09-27  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+
+	[mac] Fix buffer size calculation for LWFN font.
+
+	* src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong
+	to prevent confused copy by too large chunk size.
+
+2015-09-26  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro.
+
+2015-09-26  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Minor tracing improvement.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit
+	blue zones header line if there are no blue zones.
+
+2015-09-26  Werner Lemberg  <wl at gnu.org>
+
+	[bzip2, gzip, lzw] Harmonize function signatures with prototype.
+
+	Suggested by Hin-Tak Leung.
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c
+	(ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it.
+
+2015-09-26  Hin-Tak Leung  <htl10 at users.sourceforge.net>
+
+	Add new FT_LOAD_COMPUTE_METRICS load flag.
+
+	* include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro.
+	* src/truetype/ttgload.c (compute_glyph_metrics): Usage.
+
+2015-09-26  Werner Lemberg  <wl at gnu.org>
+
+	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast.
+
+2015-09-25  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Protect against invalid number of glyphs (#46029).
+
+	* src/type1/t1load.c (parse_charstrings): Check number of
+	`CharStrings' dictionary entries against size of data stream.
+
+2015-09-23  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Better checks for invalid cmaps (2/2) (#46019).
+
+	While the current code in `FT_Get_Next_Char' correctly rejects
+	out-of-bounds glyph indices, it can be extremely slow for malformed
+	cmaps that use 32bit values.  This commit tries to improve that.
+
+	* src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next,
+	tt_cmap12_char_map_binary, tt_cmap13_next,
+	tt_cmap13_char_map_binary): Reject glyph indices larger than or
+	equal to the number of glyphs.
+
+2015-09-23  Werner Lemberg  <wl at gnu.org>
+
+	[base, sfnt] Better checks for invalid cmaps (1/2).
+
+	* src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds
+	glyph indices.
+	(FT_Get_First_Char): Updated.
+
+	* src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character
+	codes greater than 0xFFFF.
+
+	(tt_cmap8_char_index): Avoid integer overflow in computation of
+	glyph index.
+	(tt_cmap8_char_next): Avoid integer overflows in computation of
+	both next character code and glyph index.
+
+	(tt_cmap10_char_index): Fix unsigned integer logic.
+	(tt_cmap10_char_next): Avoid integer overflow in computation of
+	next character code.
+
+	(tt_cmap12_next): Avoid integer overflows in computation of both
+	next character code and glyph index.
+	(tt_cmap12_char_map_binary): Ditto.
+	(tt_cmap12_char_next): Simplify.
+
+	(tt_cmap13_char_map_binary): Avoid integer overflow in computation
+	of next character code.
+	(tt_cmap13_char_next): Simplify.
+
+2015-09-21  suzuki toshiya  <mpsuzuki at hiroshima-u.ac.jp>
+
+	[base] Check too long POST and sfnt resource (#45919).
+
+	* src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the
+	resource fork for Mac OS.  Resource forks larger than 16 MB can be
+	written but can't be handled correctly, at least in Carbon routine.
+	See https://support.microsoft.com/en-us/kb/130437.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x'
+	prefix for `%p' formatter.
+
+	* src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and
+	total size of the concatenated POST resource before buffer
+	allocation.
+	(Mac_Read_sfnt_Resource): Check the declared size of sfnt resource
+	before buffer allocation.
+
+	* src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the
+	total resource size before buffer allocation.
+
+2015-09-19  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Improve handling of invalid SFNT table entries (#45987).
+
+	This patch fixes weaknesses in function `tt_face_load_font_dir'.
+
+	- It incorrectly assumed that valid tables are always at the
+	  beginning.  As a consequence, some valid tables after invalid
+	  entries (which are ignored) were never seen.
+
+	- Duplicate table entries (this is, having the same tag) were not
+	  rejected.
+
+	- The number of valid tables was sometimes too large, leading to
+	  access of invalid tables.
+
+	* src/sfnt/ttload.c (check_table_dir): Add argument to return number
+	of valid tables.
+	Add another tracing message.
+	(tt_face_load_font_dir): Only allocate table array for valid
+	entries as returned by `check_table_dir'.
+	Reject duplicate tables and adjust number of valid tables
+	accordingly.
+
+2015-09-19  Werner Lemberg  <wl at gnu.org>
+
+	[pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999).
+
+	* src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short,
+	then take the absolute value.
+	Also apply FT_ABS to `height'.
+
+2015-09-17  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Fix memory leak (#45989).
+
+	* src/type42/t42parse.c (t42_parse_charstrings): Allow only a single
+	`CharStrings' array.
+
+2015-09-17  Werner Lemberg  <wl at gnu.org>
+
+	[psaux] Fix memory leak (#45986).
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+	Free `temp' in case of error.
+
+2015-09-17  Werner Lemberg  <wl at gnu.org>
+
+	[psaux] Improve tracing message.
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+	Handle plural correctly.
+
+2015-09-17  Werner Lemberg  <wl at gnu.org>
+
+	[pcf] Fix integer overflows (#45985).
+
+	* src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
+
+2015-09-17  Werner Lemberg  <wl at gnu.org>
+
+	[pcf] Use FT_ABS for some property values (#45893).
+
+	* src/pcf/pcfread.c (pcf_load_font): Take absolute values for
+	AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
+	RESOLUTION_Y.  In tracing mode, add warnings.
+
+2015-09-16  Werner Lemberg  <wl at gnu.org>
+
+	Minor fixes for some clang warnings.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing
+	initialization.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Cast.
+
+2015-09-15  Werner Lemberg  <wl at gnu.org>
+
+	[type1, type42] Fix memory leaks (#45966).
+
+	* src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis
+	names.
+	(parse_blend_design_map): Allow only a single design map.
+	(parse_encoding): Handle multiple encoding vectors.
+
+	* src/type42/t42parse.c (t42_parse_encoding): Handle multiple
+	encoding vectors.
+
+2015-09-15  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix integer type (#45965).
+
+	* src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it.
+
+2015-09-15  Werner Lemberg  <wl at gnu.org>
+
+	* src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964).
+
+2015-09-15  Werner Lemberg  <wl at gnu.org>
+
+	[type1, type42] Check encoding array size (#45961).
+
+	* src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
+	(t42_parse_encoding): Do it.
+
+2015-09-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve.
+
+2015-09-14  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Fix another potential buffer overflow (#45955).
+
+	* src/type1/t1parse (T1_Get_Private_Dict): Assure that check for
+	`eexec' doesn't exceed `limit'.
+
+2015-09-13  Werner Lemberg  <wl at gnu.org>
+
+	Replace `mkinstalldirs' with AC_PROG_MKDIR_P.
+
+	* builds/unix/mkinstalldirs: Removed, no longer needed.
+
+	* builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'.
+	Update pwd call for `$INSTALL'.
+
+	* builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'.
+
+	* autogen.sh: Updated.
+
+2015-09-13  Werner Lemberg  <wl at gnu.org>
+
+	[winfonts] Check alignment shift count for resource data (#45938).
+
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
+
+2015-09-13  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Fix potential buffer overflow (#45923).
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't
+	point to end of file buffer.
+
+2015-09-13  Werner Lemberg  <wl at gnu.org>
+
+	[gzip] Fix access of small compressed files (#45937).
+
+	* src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
+
+	(ft_gzip_get_uncompressed_file): Correct byte order while reading
+	unsigned long value.  Without this change, the whole optimization of
+	accessing small files in `FT_Stream_OpenGzip' is never executed!  As
+	a consequence, access to PCF files in general (which are normally
+	small files) should be much improved now as originally intended.
+
+2015-09-11  Werner Lemberg  <wl at gnu.org>
+
+	[psaux] Fix potential buffer overflow (#45922).
+
+	* src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is
+	enclosed in balanced expressions, ensure that the cursor position
+	doesn't get larger than the current limit.
+
+2015-09-11  Werner Lemberg  <wl at gnu.org>
+
+	[base] Avoid crash while tracing `load_mac_face'.
+
+	Reported in Savannah bug #45919.
+
+	* src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while
+	tracing.
+
+2015-09-11  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Fix endless loop (#45920).
+
+	* src/type42/t42parse.c (t42_parse_encoding): Synchronize with
+	type1's `parse_encoding'.
+
+2015-09-10  Werner Lemberg  <wl at gnu.org>
+
+	[docmaker] Allow `-' in bold and italic markup.
+
+	* src/tools/docmaker/sources.py (re_italic, re_bold): Adjust
+	accordingly.
+
+2015-09-09  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/ftcalc.c (FT_RoundFix): Improve.
+
+2015-09-09  Wojciech Mamrak  <wmamrak at gmail.com>
+
+	* src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
+
+	This commit makes the functions behave as expected, this is,
+	rounding towards plus or minus infinity.
+
+2015-09-07  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
+
+2015-09-04  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[raster,smooth] Microoptimizations.
+
+	* src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
+	Bezier_Up, ): Use do-while loops.
+
+	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
+	gray_convert_glyph): Ditto.
+
+2015-09-04  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Redesign code ranges (2/2).
+
+	This commit adds two fallback scripts (`latb', `latp') and
+	implements support for the no-base character ranges introduced in
+	the previous commit.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
+	`script_uni_nobase_ranges' field.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and
+	`latp' fallback scripts.
+
+	* src/autofit/afblue.dat: Add blue zones for Latin subscript and
+	superscript fallback scripts.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base
+	characters.
+	(AF_STYLE_MASK): Updated.
+
+	* src/autofit/afglobal.c (SCRIPT): Updated.
+	(af_face_globals_compute_style_coverage): Handle new style flag.
+
+	* src/autofit/aflatin.c (af_latin_hints_apply): Handle new style
+	flag.
+
+	* src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
+
+2015-09-04  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Redesign code ranges (1/2).
+
+	This patch introduces auxiliary code ranges that identify no-base
+	characters; they refer to glyphs of a script that should be hinted
+	without alignments to blue zones (mostly diacritics).
+
+	It also splits off ranges for fallback scripts that handle subscript
+	and superscript characters not covered by OpenType features.  For
+	example, this greatly helps improve the hinting of various phonetic
+	alphabets, which contain a large amount characters that look like
+	superscript glyphs.
+
+	Finally, code ranges are updated to Unicode 8.0, and enclosed
+	characters are removed in general since they normally look better if
+	they stay unhinted.
+
+	* src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode
+	8.0.
+	Split off superscript-like and subscript-like glyphs into...
+
+	(af_latb_uniranges, af_latp_uniranges): ... these two new arrays.
+
+	(af_xxxx_nobase_uniranges): New arrays that hold no-base characters
+	of the corresponding character ranges.
+
+2015-09-03  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Pass glyph index to hinting function.
+
+	No functionality change yet.
+
+	* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass
+	glyph index.
+
+	* src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply),
+	src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c
+	(af_indic_hints_apply), src/autofit/aflatin.c
+	(af_latin_hints_apply), src/autofit/aflatin2.c
+	(af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g):
+	Updated.
+
+2015-08-30  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Code clean-up.
+
+	* src/autofit/afglobal.h (AF_STYLE_MASK): New macro.
+	(AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Updated.
+
+2015-08-30  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Make glyph style array use 16bit values.
+
+	* include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use
+	`FT_UShort' for `map' field.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
+	af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h
+	(af_get_coverage): Use FT_UShort for `glyph_styles' array.
+
+	* src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to
+	16 bits.
+	(AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
+
+2015-08-26  Werner Lemberg  <wl at gnu.org>
+
+	* builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828).
+
+2015-08-25  Werner Lemberg  <wl at gnu.org>
+
+	[base] Improve kerning tracing and documentation.
+
+	* src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if
+	scaled-down kerning values differ.
+
+2015-08-18  Werner Lemberg  <wl at gnu.org>
+
+	[raster] Remove last remnants of `raster5' driver.
+
+	* src/raster/ftrend1.h (ft_raster5_renderer_class): Removed.
+
+	* src/raster/rastpic.c, src/raster/rastpic.h
+	(ft_raster5_renderer_class_pic_init,
+	ft_raster5_renderer_class_pic_free): Removed.
+
+2015-08-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Improve emboldener (#45596).
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement
+	of zero-length segments.
+
+2015-08-16  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Reoptimize arithmetic.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
+	special cases that slow down the general use.
+
+2015-08-15  pazer  <ibemad at gmail.com>
+
+	Fix C++ compilation (#45762).
+
+	* src/base/ftstroke.c (ft_outline_glyph_class): Use
+	FT_CALLBACK_TABLE.
+
+2015-08-14  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[truetype] Clean up.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use
+	`FT_Outline_Transform' and `FT_Outline_Translate'.
+	(translate_array): Dropped.
+
+2015-08-14  Andreas Enge  <andreas.enge at inria.fr>
+
+	* builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261).
+
+2015-08-13  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Introduce named instance access to GX fonts.
+
+	For functions querying a face, bits 16-30 of the face index can hold
+	the named instance index if we have a GX font.  The indices start
+	with value 1; value 0 indicates font access without GX variation
+	data.
+
+	* include/freetype/freetype.h (FT_FaceRec): Update documentation.
+	* include/freetype/internal/sfnt.h: Ditto.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and
+	do argument checks.
+	(sfnt_load_face): Updated.
+
+	* src/truetype/ttobjs.c (tt_face_init)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting
+	the style name.
+
+	* src/base/ftobjs.c (open_face_from_buffer,
+	open_face_PS_from_sfnt_stream): Updated.
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated.
+	* src/cff/cffload.c (cff_font_load): Updated.
+
+	* src/cff/cffobjs.c (cff_face_init): Make function exit early for
+	pure CFF fonts if `font_index < 0'.
+	Updated.
+
+	* src/cid/cidobjs.c (cid_face_init): Updated.
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
+	* src/pfr/pfrobjs.c (pfr_face_init): Updated.
+	* src/type1/t1objs.c (T1_Face_Init): Updated.
+	* src/type42/t42objs.c (T42_Face_Init): Updated.
+	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+	Updated.
+
+	* docs/CHANGES: Updated.
+
+2015-08-12  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[type1,cff,cid] Streamline font matrix application.
+
+	* src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only
+	if font matrix is not trivial.
+	* src/cff/cffgload.c (cff_slot_load): Ditto.
+	* src/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the
+	entire outline.
+
+2015-08-11  Werner Lemberg  <wl at gnu.org>
+
+	[builds/unix] Minor.
+
+	* builds/unix/configure.raw:
+	s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with
+	similarly named uppercase variables.
+
+2015-08-10  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[type1,cid,type42] Minor improvements.
+
+	* src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only
+	when necessary. Refresh comments.
+	* src/cid/cidload.c (cid_parse_font_matrix): Ditto.
+	* src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments.
+
+2015-08-08  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Fix glyph access.
+
+	This is a severe bug: We've missed one level of indirection, as
+	described in the Type 42 specification.  As a result, ftview
+	sometimes showed incorrect glyphs for given glyph names, and even
+	displayed `error 0x0006' (invalid argument!) in case the number of
+	glyph indices differed between the Type 42 font and the embedded
+	TTF.
+
+	Apparently, noone ever noticed it; this shows how much Type 42 fonts
+	are in use...
+
+	* src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index
+	to embedded TTF's glyph index.
+
+2015-08-08  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Minor clean-up.
+
+	* src/type42/t42parse.c (t42_parse_font_matrix): Remove unused
+	variable.
+
+2015-08-06  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[type42] Parse FontMatrix according to specifications.
+
+	* src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix
+	does not need scaling by 1000. Units_per_EM are taken from the
+	embedded TrueType.
+
+2015-08-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Improve Arabic hinting.
+
+	Problem reported by Titus Nemeth <tn at tntypography.eu> (by using
+	ttfautohint).
+
+	* src/autofit/afblue.dat: Add neutral blue zone for the tatweel
+	character.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2015-08-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[truetype] Clean up types.
+
+	* src/truetype/ttobjs.c (TT_Size): Move declaration from here.
+	* include/freetype/internal/tttypes.h (TT_Size): ... to here.
+	(TT_LoaderRec): Switch to appropriate types for `face' and `size'.
+	* src/truetype/ttgload.c: Remove corresponding type casts.
+	* src/truetype/ttsubpix.c: Ditto.
+
+2015-08-05  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Improve recognition of flat vs. rounded segments.
+
+	Lower the flatness threshold from upem/8 to upem/14, making the
+	auto-hinter accept shorter elements.
+
+	Synchronize flat/round stem selection algorithm with blue zone code.
+
+	* src/autofit/aflatin.c (FLAT_THRESHOLD): New macro.
+	(af_latin_metrics_init_blues): Use it.
+	(af_latin_hints_compute_segments): Collect information on maximum
+	and minimum coordinates of `on' points; use this to add a constraint
+	for the flat/round decision similar to
+	`af_latin_metrics_init_blues'.
+
+2015-08-04  Werner Lemberg  <wl at gnu.org>
+
+	Another left-shift bug (#45681).
+
+	* src/base/ftobjs.c (IsMacBinary): Only accept positive values for
+	`dlen'.
+
+2015-08-03  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Fix `ft_corner_orientation'.
+
+	Remove casting from `FT_Long' to `FT_Int' that might change the sign
+	of the return value and make it faster too.
+
+	* src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
+	with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
+	* src/pshinter/pshalgo.c: Remove old unused code.
+
+2015-08-03  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttgload.c (load_truetype_glyph)
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
+	having a depth greater than 1.
+
+2015-08-03  Werner Lemberg  <wl at gnu.org>
+
+	Fix typo in clang bug from 2015-07-31 (#45678).
+
+	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
+
+2015-08-02  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Improve shared library support.
+
+	Based on a patch from John Cary <cary at txcorp.com>.
+
+2015-08-02  Werner Lemberg  <wl at gnu.org>
+
+	* builds/unix/freetype-config.in (enable_shared): Remove.  Unused.
+
+2015-08-02  Werner Lemberg  <wl at gnu.org>
+
+	Fix more invalid left-shifts.
+
+	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication,
+	not left-shift.
+
+	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
+	tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication,
+	not left-shift.
+
+2015-07-31  Werner Lemberg  <wl at gnu.org>
+
+	Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
+
+	* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
+	positive values from header.
+	Check overflow.
+
+	* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
+	negative values.
+
+	* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
+	_bdf_clear_glyph_modified): Use unsigned long constant.
+
+	* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
+	left-shift values that can be negative.
+
+	* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
+	left-shift values that can be negative.
+
+	* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
+	negative values.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
+	values that can be negative.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
+	compute_glyph_metrics, load_sbit_image): Don't left-shift values
+	that can be negative.
+
+2015-07-31  Werner Lemberg  <wl at gnu.org>
+
+	Define FT_LONG_MAX.
+
+	* include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro.
+	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it.
+
+2015-07-28  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
+
+2015-07-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
+
+2015-07-26  Matthias Clasen  <matthias.clasen at gmail.com>
+
+	[cff] Don't use `hmtx' table for LSB (#45520).
+
+	* src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance
+	width only.  Bug introduced 2015-04-10.
+
+2015-07-09  Werner Lemberg  <wl at gnu.org>
+
+	Better support of user-supplied C++ namespaces.
+
+	See
+
+	  http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
+
+	for a rationale.
+
+	* src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
+	src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
+	src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
+	(FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
+	header files that contain FT_{BEGIN,END}_HEADER macros by
+	themselves.
+
+	* src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
+	FT_CONFIG_STANDARD_LIBRARY_H earlier.
+
+	* src/truetype/ttpic.h: Include FT_INTERNAL_PIC_H.
+
+2015-07-07  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Make `tt_face_get_name' member of the SFNT interface.
+
+	* include/freetype/internal/sfnt.h (TT_Get_Name_Func): New
+	prototype.
+	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+	* src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'.
+	* src/sfnt/sfobjs.h: Add prototype for it.
+
+2015-06-30  Werner Lemberg  <wl at gnu.org>
+
+	Fix some clang compiler warnings.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
+	(cf2_interpT2CharString), src/truetype/ttgload.c
+	(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
+	src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
+
+2015-06-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[truetype] Speed up bytecode interpreter.
+
+	* src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'.
+
+2015-06-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Speed up emboldening.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use
+	`FT_Vector_NormLen'.
+
+2015-06-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Implement fast vector normalization.
+
+	The function uses Newton's iterations instead of dividing vector
+	components by its length, which needs a square root. This is,
+	literally, a bit less accurate but a lot faster.
+
+	* src/base/ftcalc.c (FT_Vector_NormLen): New function.
+
+2015-06-28  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Always create `ftconfig.h'.
+
+	For non-UNIX builds, the file stays unmodified.  However, it's
+	better to have the main configuration files at the same place
+	regardless of the OS.
+
+2015-06-28  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Improve MSVC support (#43737).
+
+2015-06-28  Werner Lemberg  <wl at gnu.org>
+
+	[cmake] Check for libraries and create `ftoption.h'.
+
+	* builds/FindHarfBuzz.cmake: New file, taken from
+
+	  https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake
+
+	* CMakeLists.Txt: Add path to local cmake modules.
+	Find dependencies for zlib, bzip2, libpng, and harfbuzz.
+	Create `ftoption.h' file.
+	Set up include and linker stuff for libraries.
+
+2015-06-28  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Fix creation of `ftconfig.h'.
+	Check for UNIX header files using `check_include_file'.
+	Set up correct header include directories.
+
+2015-06-28  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Disallow in-source builds.
+
+2015-06-27  Werner Lemberg  <wl at gnu.org>
+
+	* src/tools/docmaker/utils.py (check_output): Add missing `\n'.
+
+2015-06-26  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Select platform-dependent `ftdebug.c'.
+
+2015-06-25  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
+	Additionally, do this for UNIX only.
+
+2015-06-25  Werner Lemberg  <wl at gnu.org>
+
+	* CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
+
+2015-06-25  Werner Lemberg  <wl at gnu.org>
+
+	Another adjustment to header locations.
+
+	This change is a result of a discussion thread on freetype-devel
+
+	  http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
+
+	Re-introduce the `freetype2' subdirectory for all FreeType header
+	files after installation, and rename the `freetype2' subdirectory in
+	the git repository to `freetype'.
+
+	* include/freetype2: Renamed to...
+	* include/freetype: This.
+
+	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
+	PRIVATE_HEADERS): Updated.
+	Update creation of `ftconfig.h'.
+	Install generated `ftconfig.h'.
+
+	* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
+
+	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
+	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
+	builds/unix/freetype2.in: Updated.
+
+	* builds/unix/freetype-config.in: Updated.
+	* builds/unix/configure.raw: Don't check for `rmdir'.
+	* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
+	according to the autoconf info manual.
+	* builds/unix/install.mk (install, uninstall,
+	distclean_project_unix): Update and simplify.
+
+	* builds/wince/*, builds/windows/*: Updated.
+
+	* devel/ft2build.h, include/ft2build.h: Updated.
+
+	* include/freetype2/config/ftheader.h,
+	include/freetype2/internal/ftserv.h,
+	include/freetype2/internal/internal.h: Update all header file
+	macros.
+
+	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
+
+	* docs/*: Updated.
+
+2015-06-24  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
+
+2015-06-24  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
+
+2015-06-23  Werner Lemberg  <wl at gnu.org>
+
+	s/TYPEOF/FT_TYPEOF/ (#45376).
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.in,
+	include/freetype2/config/ftconfig.h,
+	include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
+
+2015-06-22  Werner Lemberg  <wl at gnu.org>
+
+	Fix Savannah bug #45097.
+
+	We no longer `pollute' the namespace of possible header file names;
+	instead we move `ft2build.h' up by one level so that it gets
+	installed in the default include directory (e.g.,
+	/usr/local/include).  After this commit, only `ft2build.h' stays in
+	the compiler's include path.
+
+	No visible changes for the user who follows the standard FreeType
+	header inclusion rules.
+
+	* include/*: Move to ...
+	* include/freetype2/*: This directory, except `ft2build.h'.
+
+	* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
+	PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
+
+	* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
+	(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
+	builds/unix/install.mk (install, uninstall),
+	builds/unix/freetype2.in: Updated.
+
+	* builds/unix/freetype-config.in: Updated.
+	Emit -I directory only if it is not `/usr/include'.
+
+	* builds/wince/*, builds/windows/*: Updated.
+
+	* devel/ft2build.h, include/ft2build.h: Updated.
+
+	* include/freetype2/config/ftheader.h,
+	include/freetype2/internal/ftserv.h,
+	include/freetype2/internal/internal.h: Update all header file
+	macros.
+
+	* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
+
+2015-06-21  Werner Lemberg  <wl at gnu.org>
+
+	Make Jam support work again.
+
+	This is just very basic stuff and just a little bit tested on
+	GNU/Linux only.  I won't delve into this since I'm not a Jam user.
+
+	* Jamfile: Call `HDRMACRO' for `ftserv.h' also.
+	(DEFINES): Replace with...
+	(CCFLAGS): ... this.
+
+	* src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
+	already handled in the top-level Jamfile.
+
+	* src/autofit/Jamfile (DEFINES): Replace with...
+	(CCFLAGS): ... this.
+	(_sources): Add missing files.
+
+	* src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
+	longer contains macro header definitions.
+
+	* src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
+	src/truetype/Jamfile (_sources): Add missing files.
+
+2015-06-16  Werner Lemberg  <wl at gnu.org>
+
+	Fix Savannah bug #45326.
+
+	* src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate
+	definitions.
+
+2015-06-07  Werner Lemberg  <wl at gnu.org>
+
+	* Version 2.6 released.
+	=======================
+
+
+	Tag sources with `VER-2-6'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.6.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/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.5.5/2.6/, s/255/26/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 6.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 18:0:12.
+	* CMakeLists.txt (VERSION_MINOR): Set to 6.
+	(VERSION_PATCH): Set to 0.
+
+	* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
+	declarations for dumping functions.
+
+	* src/truetype/ttinterp.c (TT_New_Context): Pacify compiler.
+
+	* builds/toplevel.mk: Use `freetype.mk's code to compute the version
+	string.
+	Don't include a zero patch level in version string.
+	* builds/freetype.mk: Remove code for computing the version string.
+
+2015-06-06  Ashish Azad  <ashish.azad at samsung.com>
+
+	Fix Savannah bug #45260.
+
+	* src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo.
+
+2015-06-03  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix memory leak.
+
+	Problem reported by Grissiom <chaos.proton at gmail.com>; in
+
+	  http://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html
+
+	there is an example code to trigger the bug.
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size'
+	data before allocating again.  Bug most probably introduced four
+	years ago in version 2.4.3.
+
+2015-06-02  Werner Lemberg  <wl at gnu.org>
+
+	[raster] Add more tracing.
+
+	* src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define.
+	(Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span,
+	Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls.
+
+2015-06-01  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] While tracing opcodes, show code position and stack.
+
+	* src/truetype/ttinterp.c: Change all existing TRACE7 calls to
+	TRACE6.
+	(opcode_name): Add string lengths.
+	(TT_RunIns): Implement display of code position and stack.
+
+2015-05-31  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] In GX, make private point numbers work correctly.
+
+	This is completely missing in Apple's documentation: If a `gvar'
+	tuple uses private point numbers (this is, deltas are specified for
+	some points only), the uncovered points must be interpolated for
+	this tuple similar to the IUP bytecode instruction.  Examples that
+	need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.
+
+	* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
+	tt_handle_deltas): New functions.
+	(TT_Vary_Get_Glyph_Deltas): Renamed to...
+	(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
+	points and does no longer return an array of deltas.
+	Add tracing information.
+	Call `tt_handle_deltas' to interpolate missing deltas.
+	Also fix a minor memory leak in case of error.
+
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+	load_truetype_glyph): Updated.
+
+2015-05-31  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] In GX, make intermediate tuplets work at extrema.
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition.
+
+2015-05-31  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Add tracing information to GX code.
+
+	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
+	ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend,
+	TT_Set_Var_Design, tt_face_vary_cvt): Do it.
+
+2015-05-28  Werner Lemberg  <wl at gnu.org>
+
+	* src/tools/apinames.c (names_dump): Fix invalid reference.
+
+	Problem reported by Guzman Mosqueda, Jose R
+	<jose.r.guzman.mosqueda at intel.com>.
+
+2015-05-24  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix commit from 2015-05-22.
+
+	* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
+	with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.
+
+	Problem reported by Nikolaus Waxweiler <madigens at gmail.com>.
+
+2015-05-23  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix return values of GETINFO bytecode instruction.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
+	`vertical_lcd' and `gray_cleartype'.
+
+	* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
+	Change `symmetrical smoothing' to TRUE, since FreeType produces
+	exactly this.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
+	values for symmetrical smoothing, namely 11/18.
+	Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
+	(12/19).
+
+2015-05-23  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Minor.
+
+	* src/truetype/ttinterp.h (TT_ExecContext):
+	 s/subpixel/subpixel_hinting.
+
+	* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
+
+2015-05-22  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Support selector index 3 of the INSTCTRL instruction.
+
+	This flag activates `native ClearType hinting', disabling backwards
+	compatibility mode as described in Greg Hitchcocks whitepaper.  In
+	other words, it enables unrestricted functionality of all TrueType
+	instructions in ClearType.
+
+	* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
+	unconditionally.
+	(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
+	`GS.instruct_control' is active.
+
+	* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
+	(Ins_GETINFO): Updated.
+
+	* docs/CHANGES: Document it.
+
+2015-05-20  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Minor.
+
+	* src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod'
+	argument.
+
+2015-05-17  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Fix loading of composite glyphs.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
+	ARGS_ARE_XY_VALUES flag is not set, handle argument values as
+	unsigned.  I trust `ttx' (which has exactly such code) that it does
+	the right thing here...
+
+	The reason that noone has ever noticed this bug is probably the fact
+	that point-aligned subglyphs are rare, as are subglyphs with a
+	number of points in the range [128;255], which is quite large (or
+	even in the range [32768;65535], which is extremely unlikely).
+
+2015-05-12  Chris Liddell  <chris.liddell at artifex.com>
+
+	[cff] Make the `*curveto' operators more tolerant.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes
+	`vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate,
+	pulling values off the stack until the stack is exhausted.
+	Implicitly the stack must be a multiple (or for subtly different
+	behaviour) a multiple plus a specific number of extra values deep.
+	If that's not the case, enforce it (as the old code did).
+
+2015-05-12  Chris Liddell  <chris.liddell at artifex.com>
+
+	[cff] fix incremental interface with new cff code.
+
+	* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
+	interface to retrieve glyph data for a SEAC, it be left to the
+	incremental interface callback to apply the encoding to raw
+	character index (as it was in the previous code).
+
+2015-04-29  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[autofit] Speed up IUP.
+
+	* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
+	the same position from true interpolation, use `scale' to reduce
+	divisions.
+
+2015-04-28  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Use `name' table for PS name if we have a SFNT-CFF.
+
+	This follows the OpenType 1.7 specification.  See
+
+	  http://tug.org/pipermail/tex-live/2015-April/036634.html
+
+	for a discussion.
+
+	* src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we
+	have an SFNT.
+
+2015-04-27  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[truetype] Speed up IUP.
+
+	* src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial
+	snapping to the same position from true interpolation.
+
+2015-04-21  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] By default, enable warping code but switch off warping.
+
+	Suggested by Behdad.
+
+	* include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER.
+
+	* src/autofit/afmodule.c (af_autofitter_init): Initialize `warping'
+	with `false'.
+
+2015-04-21  Werner Lemberg  <wl at gnu.org>
+
+	* docs/CHANGES: Updated.
+
+2015-04-21  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Introduce `warping' property.
+
+	This code replaces the debugging hook from the previous commit with
+	a better, more generic solution.
+
+	* include/ftautoh.h: Document it.
+
+	* src/autofit/afmodule.h (AF_ModuleRec)
+	[AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field.
+
+	* src/autofit/afmodule.c (_af_debug_disable_warper): Remove.
+	(af_property_set, af_property_get, af_autofitter_init)
+	[AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option.
+
+	* src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no
+	longer existing `_af_debug_disable_warper'.
+
+	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
+	(af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init)
+	[AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the
+	scaler flags if warping is off.
+
+	* src/autofit/aftypes.h: Updated.
+
+2015-04-16  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add debugging hook to disable warper.
+
+	* src/autofit/afmodule.c (_af_debug_disable_warper)
+	[FT_DEBUG_AUTOFIT]: New global variable.
+
+	* src/autofit/aftypes.h: Updated.
+	(AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet).
+
+	* src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro.
+
+	* src/autofit/aflatin.c (af_latin_hints_apply)
+	[AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use
+	of warper.
+
+	* src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply)
+	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
+
+	* src/autofit/aflatin2.c (af_latin2_hints_apply)
+	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
+
+2015-04-10  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Update advance width handling to OpenType 1.7.
+
+	Problem reported by Behdad.
+
+	* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case
+	separately.
+
+	* src/cff/cffgload.c (cff_slot_load): Use advance width and side
+	bearing values from `hmtx' table if present.
+
+2015-04-03  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
+
+2015-04-02  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
+
+2015-04-01  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[autofit] Finish the thought.
+
+	* src/autofit/afhints.c (af_direction_compute): make sure the long arm
+	is never negative so that its `FT_ABS' is not necessary.
+
+2015-04-01  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Call dumper functions for tracing.
+
+	* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
+	improvement.
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
+
+2015-04-01  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Make debugging stuff work again.
+
+	The interface to ftgrid was broken in the series of commits starting
+	with
+
+	  [autofit] Allocate AF_Loader on the stack instead of AF_Module.
+
+	from 2015-01-14.
+
+	* src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]:
+	Use a global AF_GlyphHintsRec object for debugging.
+	(af_autofitter_done, af_autofitter_load_glyph): Updated.
+
+	* src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
+
+2015-04-01  Werner Lemberg  <wl at gnu.org>
+
+	* src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
+
+2015-03-29  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Fix Savannah bug #44629.
+
+	* src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h
+	(CFF_MAX_SUBRS_CALLS): Set to 16.
+
+2015-03-29  Werner Lemberg  <wl at gnu.org>
+
+	[type1, truetype] Make the MM API more flexible w.r.t. `num_coords'.
+
+	This commit allows `num_coords' to be larger or smaller than the
+	number of available axes while selecting a design instance, either
+	ignoring excess data or using defaults if data is missing.
+
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
+	Implement it.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design,
+	T1_Set_Var_Design): Ditto.
+
+2015-03-29  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Minor.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use
+	FT_THROW.
+	(T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW.
+
+2015-03-27  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Trace charstring nesting levels.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLGSUBR,
+	cf2_cmdCALLSUBR, cf2_cmdRETURN>: Implement it.
+
+	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+	<cff_op_callsubr, cff_op_callgsubr, cff_op_return>: Ditto.
+
+2015-03-21  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	[base] Optimize `FT_Angle_Diff'.
+
+	Under normal circumstances we are usually close to the desired range
+	of angle values, so that the remainder is not really necessary.
+
+	* src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder.
+
+	* src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
+
+2015-03-21  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Improve `gvar' handling.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle
+	single-element runs.  Cf. glyph `Q' in Skia.ttf with weights larger
+	than the default.
+
+2015-03-20  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring.
+
+2015-03-17  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	Fix Savannah bug #44412 (part 2).
+
+	* src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'.
+
+2015-03-11  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Arabic script.
+
+	Thanks to Titus Nemeth <tn at tntypography.eu> for guidance!
+
+	* src/autofit/afblue.dat: Add blue zone data for Arabic.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Arabic standard characters.
+
+	* src/autofit/afranges.c: Add Arabic data.
+
+	* src/autofit/afstyles.h: Add Arabic data.
+
+	* docs/CHANGES: Document it.
+
+2015-03-11  Werner Lemberg  <wl at gnu.org>
+
+	Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols.
+
+	* include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed
+	to...
+	(FT_SERVICE_FONT_FORMAT_H): This.
+
+	* include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed
+	to ...
+	(FT_FONT_FORMAT_*): This.
+
+	src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
+	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c,
+	src/truetype/ttdriver.c, src/type1/t1driver.c,
+	src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated.
+
+2015-03-11  Werner Lemberg  <wl at gnu.org>
+
+	[base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'.
+
+	* include/config/ftheader.h: Implement it.
+	* src/base/ftfntfmt.c, docs/CHANGES: Updated.
+
+2015-03-11  Werner Lemberg  <wl at gnu.org>
+
+	[base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'.
+
+	* include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it.
+
+	* docs/CHANGES: Updated.
+
+2015-03-11  Werner Lemberg  <wl at gnu.org>
+
+	Fix automatic copyright updating.
+
+	* src/tools/update-copyright: Make scanning of `no-copyright'
+	actually work.
+
+	* src/tools/no-copyright: Don't include README in general.
+
+2015-03-11  Werner Lemberg  <wl at gnu.org>
+
+	Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'.
+
+	CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4,
+	builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
+	builds/mac/FreeType.m68k_far.make.txt,
+	builds/mac/FreeType.ppc_carbon.make.txt,
+	builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf,
+	builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/freetype.vcxproj.filters,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY,
+	include/config/ftheader.h, include/ftfntfmt.h, modules.cfg,
+	src/base/ftfntfmt.c, vms_make.com: Updated.
+
+2015-03-10  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	Fix Savannah bug #44412 (part 1).
+
+	* src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns.
+
+2015-03-10  Werner Lemberg  <wl at gnu.org>
+
+	[base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'.
+
+	* include/ftbitmap.h, src/base/ftbitmap.c: Implement it.
+	Update all callers.
+
+	* docs/CHANGES: Updated.
+
+2015-03-06  Werner Lemberg  <wl at gnu.org>
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
+
+	Found by Alexei.
+
+2015-03-05  Alexei Podtelezhnikov  <apodtele at gmail.com>
+
+	* src/base/ftstroke.c: Simplify.
+
+2015-03-04  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Some fixes and code refactoring in `ttgxvar.c'.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value
+	of `point_cnt' if two bytes are read.
+	Use a more vertical coding style.
+	(ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter.
+	Use a more vertical coding style.
+
+2015-03-03  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix Savannah bug #44241.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs
+	with less than 3 points.
+
+2015-03-02  Werner Lemberg  <wl at gnu.org>
+
+	Simplify `TYPEOF' macro.
+
+	No need for two arguments.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h (TYPEOF): Updated.
+
+	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
+	src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated.
+
+2015-03-01  Werner Lemberg  <wl at gnu.org>
+
+	Various compiler warning fixes for `make multi'.
+
+	* src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges),
+	src/autofit/aflatin.c (af_latin_hint_compute_blue_edges,
+	af_latin_hint_edges), src/autofit/aflatin2.c
+	(af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare
+	as `static'.
+
+	* src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH):
+	Removed.  Unused.
+	* src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H.
+	* src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed.  Unused.
+
+	* src/cff/cf2intrp.c: Include `cf2intrp.h'.
+	* src/cff/cffdrivr.c (PAIR_TAG): Removed.  Unused.
+
+	* src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed.  Unused.
+
+	* src/psaux/afmparse.c (afm_parser_read_int): Declare as `static'.
+
+	* src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX):
+	Removed.  Unused.
+
+	* src/raster/ftraster.c (Render_Glyph): Declare as `static'.
+
+	* src/sfnt/ttpost.c (load_format_20): Fix signedness warning.
+
+	* src/truetype/ttdriver.c (PAIR_TAG): Removed.  Unused.
+	* src/truetype/ttsubpix.c (is_member_of_family_class,
+	is_member_of_style_class): Declare as `static'.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare
+	as `static'.
+	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as
+	`static'.
+	(T1_FIELD_COUNT): Removed.  Unused.
+	* src/type1/t1parse.h (T1_Done_Table): Removed.  Unused.
+
+	* src/type42/t42parse.c (T1_Done_Table): Removed.  Unused.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[psaux] Signedness fixes.
+
+	* include/internal/psaux.h, src/psaux/afmparse.c,
+	src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c,
+	src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[otvalid] Signedness fixes.
+
+	* src/otvalid/otvcommn.c, src/otvalid/otvgdef.c,
+	src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c:
+	Apply.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	* src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[lzw] Signedness fixes.
+
+	* src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[gxvalid] Signedness fixes.
+
+	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
+	src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c,
+	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
+	src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c,
+	src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c,
+	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c,
+	src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[cache] Signedness fixes.
+
+	* src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c,
+	src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	Change dimension fields in `FTC_ImageTypeRec' to unsigned type.
+
+	This doesn't break ABI.
+
+	* include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for
+	`width' and `height'.
+
+	* docs/CHANGES: Document it.
+
+2015-02-25  Werner Lemberg  <wl at gnu.org>
+
+	[cache] Don't use `labs'.
+
+	This is the only place in FreeType where this function was used.
+
+	* include/config/ftstdlib.h (ft_labs): Remove.
+
+	* src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with
+	`FT_ABS'.
+
+2015-02-23  Werner Lemberg  <wl at gnu.org>
+
+	[cache] Replace `FT_PtrDist' with `FT_Offset'.
+
+	* src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t')
+	is a better choice for `hash' to hold a pointer than `FT_PtrDist'
+	(a.k.a. `ptrdiff_t'), especially since the latter is signed,
+	causing zillions of signedness warnings.  [Note that `hash' was of
+	type `FT_UInt32' before the change to `FT_PtrDist'.]
+	Update all users.
+
+	* src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c,
+	src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated.
+
+2015-02-23  Werner Lemberg  <wl at gnu.org>
+
+	[smooth, raster] Re-enable standalone compilation.
+
+	* src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX)
+	[_STANDALONE_]: Define macros.
+
+	* src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS,
+	FT_HYPOT) [_STANDALONE_]: Define macros.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[smooth] Signedness fixes.
+
+	* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	* src/raster/ftraster.c: Use the file's typedefs everywhere.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	* src/sfnt/ttpost.c (load_format_20): Fix error tracing message.
+
+	Bug introduced 6 commits earlier.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[pshinter] Fix thinko.
+
+	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly
+	check `count'.
+	Bug introduced two commits earlier.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[raster] Signedness fixes.
+
+	* src/raster/ftraster.c, src/raster/ftrend1.c: Apply.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[pshinter] Signedness fixes.
+
+	* src/pshinter/pshalgo.c, src/pshinter/pshglob.c,
+	src/pshinter/pshrec.c: Apply.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[pshinter] Use macros for (unsigned) flags, not enumerations.
+
+	* src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros.
+	Updated.
+	* src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	* src/pshinter/pshrec.c: Simplify.
+	(ps_hints_open, ps_hints_stem): Remove switch statement.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Signedness fixes.
+
+	* src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c,
+	src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
+	src/sfnt/ttsbit.c: Apply.
+	* src/sfnt/sfdriver.c: Apply.
+	(sfnt_get_ps_name): Simplify.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[bdf] Signedness fixes.
+
+	* src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h,
+	src/bdf/bdflib.c: Apply.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	* src/bdf/bdflib.c (_bdf_atous): New function.
+	(_bdf_parse_glyphs, _bdf_parse_start): Use it.
+
+2015-02-22  Werner Lemberg  <wl at gnu.org>
+
+	[pcf] Signedness fixes.
+
+	* src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply.
+	* src/pcf/pcfread.c: Apply.
+	(pcf_get_encodings): Ignore invalid negative encoding offsets.
+
+2015-02-21  Werner Lemberg  <wl at gnu.org>
+
+	* src/winfonts/winfnt.c: Signedness fixes.
+
+2015-02-21  Werner Lemberg  <wl at gnu.org>
+
+	[type42] Signedness fixes.
+
+	* src/type42/t42parse.c, src/type42/t42parse.h,
+	src/type42/t42types.h: Apply.
+
+2015-02-21  Werner Lemberg  <wl at gnu.org>
+
+	[pfr] Signedness fixes.
+
+	* src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c,
+	src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c,
+	src/pfr/pfrtypes.h: Apply.
+
+2015-02-21  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Minor signedness fixes related to last commit.
+
+	* src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply.
+
+2015-02-20  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Thinkos in bias handling.
+
+	Only the final result is always positive.
+
+	Bug introduced three commits earlier.
+
+	* src/cff/cffgload.c, src/cff/cffgload.h: Apply.
+
+2015-02-20  Werner Lemberg  <wl at gnu.org>
+
+	[cid] Fix signedness issues and emit some better error codes.
+
+	* src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c,
+	src/cid/cidparse.h: Apply.
+	* src/cid/cidload.c: Apply.
+	(parse_fd_array): Reject negative values for number of dictionaries.
+	* src/cid/cidparse.c: Apply.
+	(cid_parser_new): Reject negative values for hex data length.
+
+2015-02-20  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Signedness fixes for new engine.
+
+	* src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c,
+	src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply.
+
+2015-02-20  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Signedness fixes for basic infrastructure and old engine.
+
+	* include/internal/pshints.h, src/cff/cffdrivr.c,
+	src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c,
+	src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply.
+
+2015-02-19  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'.
+
+	This is hard-coded to value 2 in `fvar' version 1.0 (and no newer
+	version exists), but some fonts set it incorrectly.
+
+	Problem reported by Adam Twardoch <adam at fontlab.com>.
+
+2015-02-19  Werner Lemberg  <wl at gnu.org>
+
+	[cff] Emit better error code for invalid private dict size.
+
+	* src/cff/cffparse.c (cff_parse_private_dict): Reject negative
+	values for size and offset.
+
+2015-02-19  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix signedness issues.
+
+	* src/autofit/afangles.c, src/autofit/afcjk.c,
+	src/autofit/afglobal.c, src/autofit/afhints.c,
+	src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c,
+	src/autofit/hbshim.c: Apply.
+
+2015-02-19  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Use macros for (unsigned) flags, not enumerations.
+
+	This harmonizes with other code in FreeType (and reduces the number
+	of necessary casts to avoid compiler warnings).
+
+	* src/autofit/afblue.hin: Make flag macros unsigned.
+	* src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afcjk.h: Replace flag enumeration with macros.
+	* src/autofit/afcjk.c: Updated.
+
+	* src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with
+	macros.
+	* src/autofit/afhints.c: Updated.
+
+	* src/autofit/aflatin.h: Replace flag enumerations with macros.
+	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated.
+
+	* src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros.
+
+2015-02-18  Werner Lemberg  <wl at gnu.org>
+
+	[type1] Fix signedness issues.
+
+	* include/internal/psaux.h, include/internal/t1types.h,
+	src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
+	src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply.
+
+2015-02-18  Werner Lemberg  <wl at gnu.org>
+
+	[psaux, type1] Fix minor AFM issues.
+
+	* include/internal/t1types.h (AFM_KernPairRec): Make indices
+	unsigned.
+	Update users.
+	(AFM_FontInfoRec): Make element counters unsigned.
+	Update users.
+	* src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned
+	int.
+
+	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs):
+	Reject negative values for number of kerning elements.
+
+	* src/type1/t1afm.c, src/tools/test_afm.c: Updated.
+
+2015-02-18  Werner Lemberg  <wl at gnu.org>
+
+	Don't use `FT_PtrDist' for lengths.
+
+	Use FT_UInt instead.
+
+	* include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec,
+	T1_DecoderRec): Do it.
+
+	* include/internal/t1types.h (T1_FontRec): Ditto.
+
+	* src/cid/cidload.c (cid_parse_dict): Updated.
+	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto.
+	* src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto.
+	* src/type1/t1load.c (parse_blend_axis_types, parse_encoding,
+	parse_charstrings, parse_dict): Ditto.
+	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings,
+	t42_parse_dict): Ditto.
+
+2015-02-18  Werner Lemberg  <wl at gnu.org>
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Clean up.
+	This handles negative values better, avoiding many casts.
+
+2015-02-17  Werner Lemberg  <wl at gnu.org>
+
+	[base] Fix Savannah bug #44284.
+
+	* src/base/ftcalc.c (FT_MulFix): Typos.
+
+2015-02-17  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Finish compiler warning fixes for signedness issues.
+
+	* src/truetype/ttgxvar.c, src/truetype/ttsubpix.c,
+	src/truetype/ttsubpix.h: Apply.
+
+2015-02-17  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttsubpix.c: Adding missing `static' keywords.
+
+2015-02-17  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More signedness fixes.
+
+	* include/internal/tttypes.h, src/truetype/ttinterp.h,
+	src/truetype/ttobjs.h, src/truetype/ttinterp.c,
+	src/truetype/ttobjs.c: Apply.
+
+2015-02-17  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Various signedness fixes.
+
+	* include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply.
+
+	* src/truetype/ttgload.c: Apply.
+	(TT_Get_VMetrics): Protect against invalid ascenders and descenders
+	while constructing advance height.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	[base] Finish compiler warning fixes for signedness issues.
+
+	* src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c:
+	Apply.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	* include/tttables.h (TT_OS2): `fsType' must be FT_UShort.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	More minor signedness warning fixes.
+
+	* src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c,
+	src/base/ftutil.c: Apply.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	Next round of minor compiler warning fixes.
+
+	* include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member
+	type to `FT_Long'.
+	(CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword.
+
+	* include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'.
+
+	* src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c:
+	Signedness fixes.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	Various minor signedness fixes.
+
+	* include/ftadvanc.h, include/internal/ftobjs.h,
+	src/base/ftgloadr.c, src/base/ftobjs.c: Apply.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	New `TYPEOF' macro.
+
+	This helps suppress signedness warnings, avoiding issues with
+	implicit conversion changes.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h (TYPEOF): Define.
+
+	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
+	src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	* src/base/ftsystem.c: Use casts in standard C function wrappers.
+	(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	Fix Savannah bug #44261.
+
+	* builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the
+	environment also while calling the configure script.
+
+2015-02-16  Werner Lemberg  <wl at gnu.org>
+
+	* include/internal/ftmemory.h: Add some `FT_Offset' casts.
+	(FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY,
+	FT_MEM_MOVE): Do it.
+
+2015-02-15  Werner Lemberg  <wl at gnu.org>
+
+	[base] Clean up signedness issues in `ftdbgmem.c'.
+
+	Also fix other minor issues.
+
+	* src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types
+	with FT_Long for consistency.
+	(ft_mem_primes): Change type to `FT_Int'.
+	(ft_mem_closest_prime, ft_mem_table_set): Updated.
+
+	(ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free,
+	ft_mem_debug_realloc): Use `static' keyword and fix signedness
+	warnings where necessary.
+
+	(ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy,
+	ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types
+	and add or remove casts to avoid signedness warnings.
+
+2015-02-15  Werner Lemberg  <wl at gnu.org>
+
+	[base] Clean up signedness in arithmetic functions.
+
+	This makes the code more readable and reduces compiler warnings.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix,
+	FT_DivFix): Convert input parameters to unsigned, do the
+	computation, then convert the result back to signed.
+	(ft_corner_orientation): Fix casts.
+
+2015-02-07  Werner Lemberg  <wl at gnu.org>
+
+	[sfnt] Fix Savannah bug #44184.
+
+	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No
+	longer reject `htmx' and `vmtx' tables with invalid length but
+	sanitize them.
+
+2015-02-06  Jon Anderson  <jon at websupergoo.com>
+
+	[truetype] Fix regression in the incremental glyph loader.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): For incremental
+	fonts, the glyph index may be greater than the number of glyphs
+	indicated, so guard the check with a preprocessor conditional.
+
+2015-02-06  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Fix potential memory leak.
+
+	While this doesn't show up with FreeType, exactly the same code
+	leaks with ttfautohint's modified auto-hinter code (which gets used
+	in a slightly different way).
+
+	It certainly doesn't harm since it is similar to already existing
+	checks in the code for embedded arrays.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours'
+	and `max_points' for all cases.
+
+2015-01-31  Werner Lemberg  <wl at gnu.org>
+
+	[autofit] Add support for Thai script.
+
+	Thanks to Ben Mitchell <ben at rosettatype.com> for guidance with blue
+	zone characters!
+
+	* src/autofit/afblue.dat: Add blue zone data for Thai.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Thai standard characters.
+
+	* src/autofit/afranges.c: Add Thai data.
+
+	* src/autofit/afstyles.h: Add Thai data.
+
+2015-01-23  Behdad Esfahbod  <behdad at behdad.org>
+
+	[raster] Handle `FT_RASTER_FLAG_AA' correctly.
+
+	This fixes a breakage caused by the commit `[raster] Remove
+	5-level gray AA mode from monochrome rasterizer.'.
+
+	Problem reported by Markus Trippelsdorf <markus at trippelsdorf.de>.
+
+	* src/raster/ftraster.c (ft_black_render): Handle
+	`FT_RASTER_FLAG_AA'.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode
+	remnants.
+
+2015-01-18  Werner Lemberg  <wl at gnu.org>
+
+	* src/base/ftobjs.c (FT_New_Library): Fix compiler warning.
+
+2015-01-18  Chris Liddell  <chris.liddell at artifex.com>
+
+	[raster] Fix Savannah bug #44022.
+
+	Add fallback for glyphs with degenerate bounding boxes.
+
+	If a glyph has only one very narrow feature, the bbox can end up
+	with either the width or height of the bbox being 0, in which case
+	no raster memory is allocated and no attempt is made to render the
+	glyph.  This is less than ideal when the drop-out compensation in
+	the rendering code would actually result in the glyph being
+	rendered.
+
+	This problem can be observed with the `I' glyph (gid 47) in the
+	Autodesk RomanS TrueType font.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either
+	dimension is zero to explicitly round up/down (instead of simply
+	round).
+
+2015-01-17  Werner Lemberg  <wl at gnu.org>
+
+	Add some tools to handle yearly copyright notice updates.
+
+	We are now following the GNU guidelines: A new release automatically
+	means that the copyright year of all affected files gets updated; it
+	is no longer used to track years of modification changes.
+
+	* src/tools/update-copyright-year: New Perl script.
+	* src/tools/update-copyright: New shell script that calls
+	`update-copyright-year' on all files.
+	* src/tools/no-copyright: Exceptions that should not be handled by
+	`update-copyright'
+
+2015-01-14  Werner Lemberg  <wl at gnu.org>
+
+	* docs/CHANGES: Updated, using a description from Behdad.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	* src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[autofit] Add embedded array of segments and edges.
+
+	Avoids multiple mallocs per typical glyphs.
+
+	With this and recent changes to avoid mallocs, the thread-safe
+	stack-based loader is now as fast as the previous model that had one
+	cached singleton.
+
+	* src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED):
+	New macros.
+	(AF_AxisHintsRec): Add two arrays for segments and edges.
+
+	* src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate
+	data if number of segments exceeds given threshold value.
+	(af_axis_hints_new_edge):  Only allocate data if number of edges
+	exceeds given threshold value.
+	(af_glyph_hints_done): Updated.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[autofit] Add embedded arrays for points and contours.
+
+	This avoids at least two malloc calls for typical glyphs.
+
+	* src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED):
+	New macros.
+	(AF_GlyphHintsRec): Add two arrays for contours and points.
+
+	* src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done):
+	Updated.
+	(af_glyph_hints_reload): Only allocate data if number of contours or
+	points exceeds given threshold values.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[autofit] Allocate hints object on the stack.
+
+	This avoids one malloc per load.
+
+	* src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to
+	`AF_GlyphHints'.
+	Update prototype.
+
+	* src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints'
+	parameter instead of `FT_Memory'.
+	(af_loader_done): Directly reset `load_hints'.
+	(af_loader_load_g): Updated.
+
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Use local
+	`hints' object.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[autofit] Reuse slot glyph loader.
+
+	No need to create a new glyph loader; we can reuse the one from
+	`slot->internal->loader'.  It's hard to tell why it was written that
+	way originally, but new code looks sound and correct to me, and
+	avoids lots of allocations.
+
+	* src/autofit/afloader.c (af_loader_init): Change return type to
+	`void'.
+	Don't call `FT_GlyphLoader_New'.
+	(af_loader_reset): Don't call `FT_GlyphLoader_Rewind'.
+	(af_loader_load_g): Update code to use `internal->loader', which
+	doesn't need copying of data.
+
+	* src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member.
+	Update prototype.
+
+	* src/autofit/afmodule.c (af_autofitter_load_glyph): Updated.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[autofit] Remove (unused) support for composite glyphs.
+
+	We never have to deal with composite glyphs in the autohinter, as
+	those will be loaded into FORMAT_OUTLINE by the recursed
+	`FT_Load_Glyph' function.
+
+	In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply
+	FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies
+	FT_LOAD_NO_HINTING:
+
+	  /* resolve load flags dependencies */
+
+	  if ( load_flags & FT_LOAD_NO_RECURSE )
+	    load_flags |= FT_LOAD_NO_SCALE         |
+	                  FT_LOAD_IGNORE_TRANSFORM;
+
+	  if ( load_flags & FT_LOAD_NO_SCALE )
+	  {
+	    load_flags |= FT_LOAD_NO_HINTING |
+	                  FT_LOAD_NO_BITMAP;
+
+	    load_flags &= ~FT_LOAD_RENDER;
+	  }
+
+	and as such the auto-hinter is never called.  Thus, the recursion in
+	`af_loader_load_g' never actually happens.  So remove the depth
+	counter as well.
+
+	* src/autofit/afloader.c (af_loader_load_g): Remove `depth'
+	parameter.
+	<FT_GLYPH_FORMAT_COMPOSITE>: Remove associated code.
+	(af_loader_load_glyph): Updated.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[raster] Fix uninitialized memory access.
+
+	Apparently `ras.cProfile' might be uninitialized.  This will be the
+	case if `ras.top == ras.cProfile->offset', as can be seen in
+	`End_Profile'.  The overshoot code introduced in a change `Fix B/W
+	rasterization of subglyphs with different drop-out modes.' (from
+	2009-06-18) violated this, accessing `ras.cProfile->flags'
+	unconditionally just before calling `End_Profile' (which then
+	detected that `cProfile' is uninitialized and didn't touch it).
+
+	This was harmless, and was not detected by valgrind before because
+	the objects were allocated on the `raster_pool', which was always
+	initialized.  With recent change to allocate raster buffers on the
+	stack, valgrind now reported this invalid access.
+
+	* src/raster/ftraster.c (Convert_Glyph): Don't access an
+	uninitialized `cProfile'.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[smooth] Fix uninitialized memory access.
+
+	Looks like `ras.span_y' could always be used without initialization.
+	This was never detected by valgrind before because the library-wide
+	`raster_pool' was used for the worker object and `raster_pool' was
+	originally zero'ed.  But subsequent reuses of it were using `span_y'
+	uninitialized.  With the recent change to not use `render_pool' and
+	allocate worker and buffer on the stack, valgrind now detects this
+	uninitialized access.
+
+	* src/smooth/ftgrays.c (gray_raster_render): Initialize
+	`ras.span_y'.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[base] Don't initialize unused `driver->glyph_loader'.
+
+	* src/base/ftobjs.c (Destroy_Driver): Don't call
+	`FT_GlyphLoader_Done'.
+	(FT_Add_Module): Don't call `FT_GlyphLoader_New'.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[base] Don't allocate `library->raster_pool' anymore.
+
+	It's unused after the following commits:
+
+	  [raster] Allocate render pool for mono rasterizer on the stack.
+	  [raster] Remove 5-level gray AA mode from monochrome rasterizer.
+
+	The value of FT_RENDER_POOL_SIZE still serves the purpose it used to
+	serve, which is, to adjust the pool size.  But the pool is now
+	allocated on the stack on demand.
+
+	* src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[base] Do not reorder library->renderers upon use.
+
+	Instead of keeping `library->renderers' in a MRU order, just leave
+	it as-is.  The MRU machinery wasn't thread-safe.
+
+	With this patch, rasterizing glyphs from different faces from
+	different threads doesn't fail choosing rasterizer
+	(FT_Err_Cannot_Render_Glyph).
+
+	Easiest to see that crash was to add a `printf' (or otherwise let
+	thread yield in FT_Throw with debugging enabled).
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
+	(FT_Outline_Render): Don't call `FT_Set_Renderer'.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[raster] Allocate render pool for mono rasterizer on the stack.
+
+	Instead of using the `render_pool' member of `FT_Library' that is
+	provided down to the rasterizer, completely ignore that and allocate
+	needed objects on the stack instead.
+
+	With this patch, rasterizing glyphs from different faces from
+	different threads doesn't crash in the monochrome rasterizer.
+
+	* src/raster/ftraster.c (black_TRaster): Remove `buffer',
+	`buffer_size', and `worker' members.
+
+	(ft_black_render): Create `buffer' locally.
+	(ft_black_reset): Updated.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[raster] Remove 5-level gray AA mode from monochrome rasterizer.
+
+	It was off by default and couldn't be turned on at runtime.  And the
+	smooth rasterizer superceded it over ten years ago.  No point in
+	keeping.  Comments suggested that it was there for compatibility
+	with FreeType 1.
+
+	550 lines down.
+
+	* src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING,
+	RASTER_GRAY_LINES): Remove macros and all associated code.
+
+	(black_TWorker): Remove `gray_min_x' and `gray_max_x'.
+	(black_TRaster): Remove `grays' and `gray_width'.
+
+	(Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop,
+	ft_black_render): Updated.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Simplify code.
+	(ft_raster5_renderer_class): Removed.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[smooth] Allocate render pool for smooth rasterizer on the stack.
+
+	Instead of using the `render_pool' member of `FT_Library' that is
+	provided down to the rasterizer, completely ignore that and allocate
+	needed objects on the stack instead.
+
+	With this patch, rasterizing glyphs from different faces from
+	different threads doesn't crash in the smooth rasterizer.
+
+	Bugs:
+
+	  https://bugzilla.redhat.com/show_bug.cgi?id=678397
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1004315
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1165471
+	  https://bugs.freedesktop.org/show_bug.cgi?id=69034
+
+	* src/smooth/ftgrays.c (gray_TRaster): Remove `buffer',
+	`buffer_size', `band_size', and `worker' members.
+
+	(gray_raster_render): Create `buffer', `buffer_size', and
+	`band_size' locally.
+	(gray_raster_reset): Updated.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver.
+
+	Previously the code had stipulation for using a per-TT_Size exec
+	context if `size->debug' was true.  But there was no way that
+	`size->debug' could *ever* be true.  As such, the code was always
+	using the singleton `TT_ExecContext' that was stored in `TT_Driver'.
+	This was, clearly, not threadsafe.
+
+	With this patch, loading glyphs from different faces from different
+	threads doesn't crash in the bytecode loader code.
+
+	* src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member.
+	(TT_DriverRec): Remove `context' member.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove
+	`TT_ExecContext' code related to a global `TT_Driver' object.
+
+	(tt_driver_done): Don't remove `TT_ExecContext' object here but ...
+	(tt_size_done_bytecode): ... here.
+
+	(tt_driver_init): Don't create `TT_ExecContext' object here but ...
+	(tt_size_init_bytecode): ... here, only on demand.
+
+	* src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug
+	code.
+	(TT_New_Context): Remove `TT_ExecContext' code related to a global
+	`TT_Driver' object.
+
+	* src/truetype/ttinterp.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	[autofit] Allocate AF_Loader on the stack instead of AF_Module.
+
+	Stop sharing a global `AF_Loader'.  Allocate one on the stack during
+	glyph load.
+
+	Right now this results in about 25% slowdown, to be fixed in a
+	following commit.
+
+	With this patch loading glyphs from different faces from different
+	threads doesn't immediately crash in the autohinting loader code.
+
+	Bugs:
+
+	  https://bugzilla.redhat.com/show_bug.cgi?id=1164941
+
+	* src/autofit/afloader.c (af_loader_init): Pass
+	`AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments.
+	(af_loader_reset, af_loader_load_glyph): Also pass `loader' as
+	argument.
+	(af_loader_done): Use `AF_Loader' instead of `AF_Module' as
+	argument.
+
+	* src/autofit/afmodule.c (af_autofitter_init): Don't call
+	`af_loader_init'.
+	(af_autofitter_done): Don't call `af_loader_done'.
+	(af_autofitter_load_glyph): Use a local `AF_Loader' object.
+
+	* src/autofit/afloader.h: Include `afmodule.h'.
+	Update prototypes.
+	Move typedef for `AF_Module' to...
+
+	* src/autofit/afmodule.h: ... this place.
+	No longer include `afloader.h'.
+
+2015-01-14  Behdad Esfahbod  <behdad at behdad.org>
+
+	* src/type42/t42objs.h (T42_DriverRec): Remove unused member.
+
+2015-01-12  Werner Lemberg  <wl at gnu.org>
+
+	Fix Savannah bug #43976.
+
+	Assure that FreeType's internal include directories are found before
+	`CPPFLAGS' (which might be set by the user in the environment), and
+	`CPPFLAGS' before `CFLAGS'.
+
+	* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
+	(FT_COMPILE): Make this a special variable for compiling only the
+	files handled in `freetype.mk'.
+	(.c.$O): Removed, unused.
+
+	* src/*/rules.mk (*_COMPILE): Fix order of include directories.
+
+2015-01-11  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Prettifying.
+
+	* src/truetype/ttinterp.c (project, dualproj, fast_project,
+	fast_dualproj): Rename to...
+	(PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
+
+2015-01-11  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
+
+	Based on a patch from Behdad.
+
+2015-01-11  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call.
+
+2015-01-11  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttinterp.c (Normalize): Remove unused argument.
+
+2015-01-11  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by
+	expansion.
+
+2015-01-11  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion,
+	adjusting function calls where necessary.
+	(FT_UNUSED_ARG): Removed, no longer needed.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More macro expansions.
+
+	Based on a patch from Behdad.
+
+	* src/truetype/ttinterp.c (DO_*): Expand macros into corresponding
+	`Ins_*' functions.
+	(TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls.
+	(ARRAY_BOUND_ERROR): Remove second definition, which is no longer
+	needed.
+	(Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with...
+	(Ins_SxyTCA): New function.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH.
+
+	Behdad suggested this code simplification, and nobody objected...
+
+	* include/config/ftoption.h, devel/ftoption.h
+	(TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove.
+
+	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]:
+	Remove related code.
+	(ARRAY_BOUND_ERROR): Use do-while loop.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_,
+	EXEC_ARG): Remove by replacing with expansion.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More macro expansions.
+
+	Based on a patch from Behdad.
+
+	* src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize,
+	SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move,
+	CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem,
+	CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt,
+	CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round,
+	COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing
+	with expansion.
+
+	(Cur_Func_project, CUR_Func_dualproj, CUR_fast_project,
+	CUR_fast_dualproj): Replace with macros `project', `dualproj',
+	`fast_project', `fast_dualproj'.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] More macro expansions.
+
+	* src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing
+	with expansion.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	[truetype] Remove code for static TrueType interpreter.
+
+	This is a follow-up patch.
+
+	* src/truetype/ttinterp.c, src/truetype/ttinterp.h
+	[TT_CONFIG_OPTION_STATIC_INTERPRETER,
+	TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code.
+
+2015-01-10  Werner Lemberg  <wl at gnu.org>
+
+	* src/truetype/ttinterp.c (CUR): Remove by replacing with expansion.
+
+	This starts a series of patches that simplifies the code of the
+	bytecode interpreter.
+
+
+----------------------------------------------------------------------------
+
+Copyright 2015-2016 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:

Modified: trunk/Build/source/libs/freetype2/freetype-src/Jamfile
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/Jamfile	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/Jamfile	2016-09-13 10:10:45 UTC (rev 42052)
@@ -210,7 +210,7 @@
 {
   python $(FT2_SRC)/tools/docmaker/docmaker.py
          --prefix=ft2
-         --title=FreeType-2.6.5
+         --title=FreeType-2.7
          --output=$(DOC_DIR)
          $(FT2_INCLUDE)/freetype/*.h
          $(FT2_INCLUDE)/freetype/config/*.h

Modified: trunk/Build/source/libs/freetype2/freetype-src/README
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/README	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/README	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,5 +1,5 @@
-  FreeType 2.6.5
-  ==============
+  FreeType 2.7
+  ============
 
   Homepage: http://www.freetype.org
 
@@ -24,9 +24,9 @@
 
   and download one of the following files.
 
-    freetype-doc-2.6.5.tar.bz2
-    freetype-doc-2.6.5.tar.gz
-    ftdoc265.zip
+    freetype-doc-2.7.tar.bz2
+    freetype-doc-2.7.tar.gz
+    ftdoc27.zip
 
   To view the documentation online, go to
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess	2016-09-13 10:10:45 UTC (rev 42052)
@@ -2,7 +2,7 @@
 # Attempt to guess a canonical system name.
 #   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2016-09-11'
+timestamp='2016-05-15'
 
 # 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
@@ -1032,9 +1032,6 @@
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
-    riscv32:Linux:*:* | riscv64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub	2016-09-13 10:10:45 UTC (rev 42052)
@@ -2,7 +2,7 @@
 # Configuration validation subroutine script.
 #   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2016-09-05'
+timestamp='2016-08-25'
 
 # 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
@@ -117,7 +117,7 @@
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | cloudabi*-eabi* | \
+  kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for FreeType 2.6.5.
+# Generated by GNU Autoconf 2.69 for FreeType 2.7.
 #
 # Report bugs to <freetype at nongnu.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='FreeType'
 PACKAGE_TARNAME='freetype'
-PACKAGE_VERSION='2.6.5'
-PACKAGE_STRING='FreeType 2.6.5'
+PACKAGE_VERSION='2.7'
+PACKAGE_STRING='FreeType 2.7'
 PACKAGE_BUGREPORT='freetype at nongnu.org'
 PACKAGE_URL=''
 
@@ -755,6 +755,7 @@
 with_sysroot
 enable_libtool_lock
 enable_biarch_config
+enable_largefile
 enable_mmap
 with_zlib
 with_bzip2
@@ -1328,7 +1329,7 @@
   # 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.6.5 to adapt to many kinds of systems.
+\`configure' configures FreeType 2.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1393,7 +1394,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of FreeType 2.6.5:";;
+     short | recursive ) echo "Configuration of FreeType 2.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1408,6 +1409,7 @@
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-biarch-config  install biarch ftconfig.h to support multiple
                           architectures by single file
+  --disable-largefile     omit support for large files
   --disable-mmap          do not check mmap() and do not use
 
 Optional Packages:
@@ -1539,7 +1541,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-FreeType configure 2.6.5
+FreeType configure 2.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2137,7 +2139,7 @@
 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.6.5, which was
+It was created by FreeType $as_me 2.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2493,7 +2495,7 @@
 
 # Don't forget to update `docs/VERSIONS.TXT'!
 
-version_info='18:5:12'
+version_info='18:6:12'
 
 ft_version=`echo $version_info | tr : .`
 
@@ -12523,6 +12525,207 @@
 
 # checks for library functions
 
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+	 # IRIX 6.2 and later do not support large files by default,
+	 # so use the C compiler's -n32 option if that helps.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 CC="$CC -n32"
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  fi
+
+
+fi
+
+
 # Here we check whether we can use our mmap file component.
 
 # Check whether --enable-mmap was given.
@@ -14697,7 +14900,7 @@
 # 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.6.5, which was
+This file was extended by FreeType $as_me 2.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14763,7 +14966,7 @@
 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.6.5
+FreeType config.status 2.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac	2016-09-13 10:10:45 UTC (rev 42052)
@@ -11,13 +11,13 @@
 # indicate that you have read the license and understand and accept it
 # fully.
 
-AC_INIT([FreeType], [2.6.5], [freetype at nongnu.org], [freetype])
+AC_INIT([FreeType], [2.7], [freetype at nongnu.org], [freetype])
 AC_CONFIG_SRCDIR([ftconfig.in])
 
 
 # Don't forget to update `docs/VERSIONS.TXT'!
 
-version_info='18:5:12'
+version_info='18:6:12'
 AC_SUBST([version_info])
 ft_version=`echo $version_info | tr : .`
 AC_SUBST([ft_version])
@@ -180,6 +180,8 @@
 
 # checks for library functions
 
+AC_SYS_LARGEFILE
+
 # Here we check whether we can use our mmap file component.
 
 AC_ARG_ENABLE([mmap],

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw	2016-09-13 10:10:45 UTC (rev 42052)
@@ -17,7 +17,7 @@
 
 # Don't forget to update `docs/VERSIONS.TXT'!
 
-version_info='18:5:12'
+version_info='18:6:12'
 AC_SUBST([version_info])
 ft_version=`echo $version_info | tr : .`
 AC_SUBST([ft_version])
@@ -180,6 +180,8 @@
 
 # checks for library functions
 
+AC_SYS_LARGEFILE
+
 # Here we check whether we can use our mmap file component.
 
 AC_ARG_ENABLE([mmap],

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/freetype.vcproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/freetype.vcproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/freetype.vcproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -21,7 +21,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -41,7 +41,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -61,7 +61,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -81,7 +81,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -101,7 +101,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -121,7 +121,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -141,7 +141,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -161,7 +161,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -181,7 +181,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -201,7 +201,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -221,7 +221,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -241,7 +241,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -261,7 +261,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -281,7 +281,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -301,7 +301,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -321,7 +321,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -341,7 +341,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -361,7 +361,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -381,7 +381,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -401,7 +401,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -421,7 +421,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -441,7 +441,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -461,7 +461,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -481,7 +481,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -501,7 +501,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -521,7 +521,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -541,7 +541,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -561,7 +561,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -581,7 +581,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -601,7 +601,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -621,7 +621,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -641,7 +641,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -661,7 +661,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -681,7 +681,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -701,7 +701,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -721,7 +721,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -741,7 +741,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -758,7 +758,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -21,14 +21,14 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.6.5 sources:</p>
+It compiles the following libraries from the FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib     - release build; single threaded
-    freetype265_D.lib   - debug build;   single threaded
-    freetype265MT.lib   - release build; multi-threaded
-    freetype265MT_D.lib - debug build;   multi-threaded</pre>
+    freetype27.lib     - release build; single threaded
+    freetype27_D.lib   - debug build;   single threaded
+    freetype27MT.lib   - release build; multi-threaded
+    freetype27MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/freetype.vcproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/freetype.vcproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/freetype.vcproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -88,7 +88,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -177,7 +177,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -266,7 +266,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -355,7 +355,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -444,7 +444,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -533,7 +533,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -621,7 +621,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -709,7 +709,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -797,7 +797,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -885,7 +885,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -973,7 +973,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1061,7 +1061,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1149,7 +1149,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1236,7 +1236,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1323,7 +1323,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1410,7 +1410,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1497,7 +1497,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1584,7 +1584,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1668,7 +1668,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1753,7 +1753,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1838,7 +1838,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1923,7 +1923,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2008,7 +2008,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2093,7 +2093,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2178,7 +2178,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2263,7 +2263,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2348,7 +2348,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2433,7 +2433,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2518,7 +2518,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2603,7 +2603,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2689,7 +2689,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2775,7 +2775,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2861,7 +2861,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2947,7 +2947,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3033,7 +3033,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3119,7 +3119,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3205,7 +3205,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3279,7 +3279,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -21,14 +21,14 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.6.5 sources:</p>
+It compiles the following libraries from the FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib     - release build; single threaded
-    freetype265_D.lib   - debug build;   single threaded
-    freetype265MT.lib   - release build; multi-threaded
-    freetype265MT_D.lib - debug build;   multi-threaded</pre>
+    freetype27.lib     - release build; single threaded
+    freetype27_D.lib   - debug build;   single threaded
+    freetype27MT.lib   - release build; multi-threaded
+    freetype27MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/freetype.vcproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/freetype.vcproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/freetype.vcproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -16,7 +16,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype265.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -33,7 +33,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype265MT.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27MT.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -50,7 +50,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype265ST.lib" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27ST.lib" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -67,7 +67,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype265_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -84,7 +84,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype265ST_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27ST_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />
@@ -101,7 +101,7 @@
       <Tool Name="VCManagedResourceCompilerTool" />
       <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
       <Tool Name="VCPreLinkEventTool" />
-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype265MT_D.lib" SuppressStartupBanner="true" />
+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27MT_D.lib" SuppressStartupBanner="true" />
       <Tool Name="VCALinkTool" />
       <Tool Name="VCXDCMakeTool" />
       <Tool Name="VCBscMakeTool" />

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2005/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -11,14 +11,14 @@
 
 <p>This directory contains project files for Visual C++, named
 <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>.  It
-compiles the following libraries from the FreeType 2.6.5 sources:</p>
+compiles the following libraries from the FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib     - release build; single threaded
-    freetype265_D.lib   - debug build;   single threaded
-    freetype265MT.lib   - release build; multi-threaded
-    freetype265MT_D.lib - debug build;   multi-threaded</pre>
+    freetype27.lib     - release build; single threaded
+    freetype27_D.lib   - debug build;   single threaded
+    freetype27MT.lib   - release build; multi-threaded
+    freetype27MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/freetype.vcproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/freetype.vcproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/freetype.vcproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -70,7 +70,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\win32\vc2008\freetype265.lib"
+				OutputFile="..\..\..\objs\win32\vc2008\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -145,7 +145,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\win32\vc2008\freetype265MT.lib"
+				OutputFile="..\..\..\objs\win32\vc2008\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -220,7 +220,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\win32\vc2008\freetype265ST.lib"
+				OutputFile="..\..\..\objs\win32\vc2008\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -292,7 +292,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\win32\vc2008\freetype265_D.lib"
+				OutputFile="..\..\..\objs\win32\vc2008\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -365,7 +365,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\win32\vc2008\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\win32\vc2008\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -439,7 +439,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\win32\vc2008\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\win32\vc2008\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2008/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -11,14 +11,14 @@
 
 <p>This directory contains project files for Visual C++, named
 <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>.  It
-compiles the following libraries from the FreeType 2.6.5 sources:</p>
+compiles the following libraries from the FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib     - release build; single threaded
-    freetype265_D.lib   - debug build;   single threaded
-    freetype265MT.lib   - release build; multi-threaded
-    freetype265MT_D.lib - debug build;   multi-threaded</pre>
+    freetype27.lib     - release build; single threaded
+    freetype27_D.lib   - debug build;   single threaded
+    freetype27MT.lib   - release build; multi-threaded
+    freetype27MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -191,18 +191,18 @@
     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" />
     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" />
     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" />
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype265d</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype265d</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype265MTd</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype265MTd</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype265STd</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype265STd</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype265</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype265</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype265MT</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype265MT</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype265ST</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype265ST</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype27d</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype27d</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype27MTd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype27MTd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype27STd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype27STd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype27</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype27</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype27MT</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype27MT</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype27ST</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype27ST</TargetName>
   </PropertyGroup>
   <Import Project="$(SolutionDir)\freetype.user.props" Condition="exists('$(SolutionDir)\freetype.user.props')" Label="UserProperties" />
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -12,16 +12,16 @@
 <p>This directory contains a project file for Visual C++ (VS.NET 2010
 or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called
 <tt>freetype.sln</tt>.  It compiles the following libraries from the
-FreeType 2.6.5 sources:</p>
+FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib    - release build
-    freetype265d.lib   - debug build
-    freetype265ST.lib  - release build; single threaded
-    freetype265STd.lib - debug build;   single threaded
-    freetype265MT.lib  - release build; multi-threaded
-    freetype265MTd.lib - debug build;   multi-threaded</pre>
+    freetype27.lib    - release build
+    freetype27d.lib   - debug build
+    freetype27ST.lib  - release build; single threaded
+    freetype27STd.lib - debug build;   single threaded
+    freetype27MT.lib  - release build; multi-threaded
+    freetype27MTd.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Both Win32 and x64 builds are supported.</p>

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.dsp
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.dsp	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.dsp	2016-09-13 10:10:45 UTC (rev 42052)
@@ -54,7 +54,7 @@
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug"
 
@@ -78,7 +78,7 @@
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug Multithreaded"
 
@@ -102,8 +102,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype265_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype27_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT_D.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Release Multithreaded"
 
@@ -126,8 +126,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype265.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype27.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Release Singlethreaded"
 
@@ -151,8 +151,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype265.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype265ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype27ST.lib"
 # SUBTRACT LIB32 /nologo
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype265_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27ST_D.lib"
 
 !ENDIF
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -69,7 +69,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -144,7 +144,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -219,7 +219,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -291,7 +291,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -364,7 +364,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -438,7 +438,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -11,14 +11,14 @@
 
 <p>This directory contains project files for Visual C++, named
 <tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>.  It
-compiles the following libraries from the FreeType 2.6.5 sources:</p>
+compiles the following libraries from the FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib     - release build; single threaded
-    freetype265_D.lib   - debug build;   single threaded
-    freetype265MT.lib   - release build; multi-threaded
-    freetype265MT_D.lib - debug build;   multi-threaded</pre>
+    freetype27.lib     - release build; single threaded
+    freetype27_D.lib   - debug build;   single threaded
+    freetype27MT.lib   - release build; multi-threaded
+    freetype27MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.dsp
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.dsp	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.dsp	2016-09-13 10:10:45 UTC (rev 42052)
@@ -54,7 +54,7 @@
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug"
 
@@ -78,7 +78,7 @@
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug Multithreaded"
 
@@ -102,8 +102,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype265_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype27_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT_D.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Release Multithreaded"
 
@@ -126,8 +126,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype265.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype27.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Release Singlethreaded"
 
@@ -151,8 +151,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype265.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype265ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype27ST.lib"
 # SUBTRACT LIB32 /nologo
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype265_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype265ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype27ST_D.lib"
 
 !ENDIF
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.vcproj
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.vcproj	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/freetype.vcproj	2016-09-13 10:10:45 UTC (rev 42052)
@@ -87,7 +87,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -162,7 +162,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -237,7 +237,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -309,7 +309,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -382,7 +382,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -456,7 +456,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -534,7 +534,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -619,7 +619,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -704,7 +704,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -785,7 +785,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -867,7 +867,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -950,7 +950,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1036,7 +1036,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1121,7 +1121,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1206,7 +1206,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1287,7 +1287,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1369,7 +1369,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1452,7 +1452,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1538,7 +1538,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1623,7 +1623,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1708,7 +1708,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -1789,7 +1789,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1871,7 +1871,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -1954,7 +1954,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2040,7 +2040,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2125,7 +2125,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2210,7 +2210,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -2291,7 +2291,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2373,7 +2373,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2456,7 +2456,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2542,7 +2542,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2627,7 +2627,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2712,7 +2712,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -2793,7 +2793,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2875,7 +2875,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -2958,7 +2958,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3044,7 +3044,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265.lib"
+				OutputFile="..\..\..\objs\freetype27.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3129,7 +3129,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT.lib"
+				OutputFile="..\..\..\objs\freetype27MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3214,7 +3214,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST.lib"
+				OutputFile="..\..\..\objs\freetype27ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -3295,7 +3295,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265_D.lib"
+				OutputFile="..\..\..\objs\freetype27_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3377,7 +3377,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265ST_D.lib"
+				OutputFile="..\..\..\objs\freetype27ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -3460,7 +3460,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype265MT_D.lib"
+				OutputFile="..\..\..\objs\freetype27MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool

Modified: trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -21,14 +21,14 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.6.5 sources:</p>
+It compiles the following libraries from the FreeType 2.7 sources:</p>
 
 <ul>
   <pre>
-    freetype265.lib     - release build; single threaded
-    freetype265_D.lib   - debug build;   single threaded
-    freetype265MT.lib   - release build; multi-threaded
-    freetype265MT_D.lib - debug build;   multi-threaded</pre>
+    freetype27.lib     - release build; single threaded
+    freetype27_D.lib   - debug build;   single threaded
+    freetype27MT.lib   - release build; multi-threaded
+    freetype27MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP

Modified: trunk/Build/source/libs/freetype2/freetype-src/devel/ftoption.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/devel/ftoption.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/devel/ftoption.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -77,6 +77,36 @@
 
   /*************************************************************************/
   /*                                                                       */
+  /* If you enable this configuration option, FreeType recognizes an       */
+  /* environment variable called `FREETYPE_PROPERTIES', which can be used  */
+  /* to control the various font drivers and modules.  The controllable    */
+  /* properties are listed in the section `Controlling FreeType Modules'   */
+  /* in the reference's table of contents; currently there are properties  */
+  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */
+  /* TrueType (file `ftttdrv.h').                                          */
+  /*                                                                       */
+  /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
+  /* multiple lines for better readability).                               */
+  /*                                                                       */
+  /*   <optional whitespace>                                               */
+  /*   <module-name1> ':'                                                  */
+  /*   <property-name1> '=' <property-value1>                              */
+  /*   <whitespace>                                                        */
+  /*   <module-name2> ':'                                                  */
+  /*   <property-name2> '=' <property-value2>                              */
+  /*   ...                                                                 */
+  /*                                                                       */
+  /* Example:                                                              */
+  /*                                                                       */
+  /*   FREETYPE_PROPERTIES=truetype:interpreter-version=35 \               */
+  /*                       cff:no-stem-darkening=1 \                       */
+  /*                       autofitter:warping=1                            */
+  /*                                                                       */
+#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+
+
+  /*************************************************************************/
+  /*                                                                       */
   /* Uncomment the line below if you want to activate sub-pixel rendering  */
   /* (a.k.a. LCD rendering, or ClearType) in this build of the library.    */
   /*                                                                       */
@@ -492,8 +522,22 @@
   /*   code will be used.                                                  */
   /*                                                                       */
   /*   Setting this macro is needed for systems that prohibit address      */
-  /*   fixups, such as BREW.                                               */
+  /*   fixups, such as BREW.  [Note that standard compilers like gcc or    */
+  /*   clang handle PIC generation automatically; you don't have to set    */
+  /*   FT_CONFIG_OPTION_PIC, which is only necessary for very special      */
+  /*   compilers.]                                                         */
   /*                                                                       */
+  /*   Note that FT_CONFIG_OPTION_PIC support is not available for all     */
+  /*   modules (see `modules.cfg' for a complete list).  For building with */
+  /*   FT_CONFIG_OPTION_PIC support, do the following.                     */
+  /*                                                                       */
+  /*     0. Clone the repository.                                          */
+  /*     1. Define FT_CONFIG_OPTION_PIC.                                   */
+  /*     2. Remove all subdirectories in `src' that don't have             */
+  /*        FT_CONFIG_OPTION_PIC support.                                  */
+  /*     3. Comment out the corresponding modules in `modules.cfg'.        */
+  /*     4. Compile.                                                       */
+  /*                                                                       */
 /* #define FT_CONFIG_OPTION_PIC */
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/CHANGES
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/CHANGES	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/CHANGES	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,4 +1,68 @@
 
+CHANGES BETWEEN 2.6.5 and 2.7
+
+  I. IMPORTANT CHANGES
+
+    - As announced earlier, the 2.7.x series now uses the new subpixel
+      hinting  mode as  the  default, emulating  a  modern version  of
+      ClearType.
+
+      This change inevitably leads to different rendering results, and
+      you   might   change   the   `TT_CONFIG_OPTION_SUBPIXEL_HINTING'
+      configuration option to  adapt it to your taste (or  use the new
+      `FREETYPE_PROPERTIES'    environment    variable).    See    the
+      corresponding entry  below for  version 2.6.4, which  gives more
+      information.
+
+    - A new option  `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' has been
+      introduced.   If  set (which  is  the  default), an  environment
+      variable  `FREETYPE_PROPERTIES' can  be used  to control  driver
+      properties.  Example:
+
+        FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
+                            cff:no-stem-darkening=1 \
+                            autofitter:warping=1
+
+      This allows to select, say, the subpixel hinting mode at runtime
+      for a given application.  See file `ftoption.h' for more.
+
+
+  II. IMPORTANT BUG FIXES
+
+    - After  loading a  named instance  of  a GX  variation font,  the
+      `face_index'  value  in  the returned  `FT_Face'  structure  now
+      correctly holds the named instance  index in the upper 16bits as
+      documented.
+
+
+  III. MISCELLANEOUS
+
+    - A new macro `FT_IS_NAMED_INSTANCE' to  test whether a given face
+      is a named instance.
+
+    - More fixes to GX font handling.
+
+    - Apple's   `GETVARIATION'  bytecode   operator  (needed   for  GX
+      variation font support) has been implemented.
+
+    - Another round  of fuzzer fixes,  mainly to reject  invalid fonts
+      faster.
+
+    - Handling of raw CID fonts  was broken (bug introduced in version
+      2.6.4).
+
+    - The smooth rasterizer has been streamlined  to make it faster by
+      approx. 20%.
+
+    - The `ftgrid'  demo program now  understands command  line option
+      `-d' to give start-up design coordinates.
+
+    - The `ftdump' demo program has  a new command line option `-p' to
+      dump TrueType bytecode instructions.
+
+
+======================================================================
+
 CHANGES BETWEEN 2.6.4 and 2.6.5
 
   I. IMPORTANT BUG FIXES
@@ -7,7 +71,7 @@
       2.6.4).
 
 
-  I. IMPORTANT CHANGES
+  II. IMPORTANT CHANGES
 
     - The new  subpixel hinting  mode is now  disabled by  default; it
       will  be enabled  by default  in the  forthcoming 2.7.x  series.

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT	2016-09-13 10:10:45 UTC (rev 42052)
@@ -52,6 +52,7 @@
 
     release     libtool     so
   -------------------------------
+     2.7.0      18.6.12   6.12.6
      2.6.5      18.5.12   6.12.5
      2.6.4      18.4.12   6.12.4
      2.6.3      18.3.12   6.12.3

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,4 +1,4 @@
-.TH FREETYPE-CONFIG 1 "July 2016" "FreeType 2.6.5"
+.TH FREETYPE-CONFIG 1 "September 2016" "FreeType 2.7"
 .
 .
 .SH NAME

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-auto_hinter.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-auto_hinter.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-auto_hinter.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="auto_hinter">The auto-hinter</h1>
 <h2>Synopsis</h2>
@@ -387,6 +387,7 @@
 
 <h4>note</h4>
 <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
+<p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable (using values 1 and 0 for ‘on’ and ‘off’, respectively).</p>
 <p>The warping code can also change advance widths. Have a look at the ‘lsb_delta’ and ‘rsb_delta’ fields in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure for details on improving inter-glyph distances while rendering.</p>
 <p>Since warping is a global property of the auto-hinter it is best to change its value before rendering any face. Otherwise, you should reload all faces that get auto-hinted in ‘light’ hinting mode.</p>
 
@@ -400,6 +401,7 @@
 <p>Stem darkening emboldens glyphs at smaller sizes to make them more readable on common low-DPI screens when using linear alpha blending and gamma correction, see <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. When not using linear alpha blending and gamma correction, glyphs will appear heavy and fuzzy!</p>
 <p>Gamma correction essentially lightens fonts since shades of grey are shifted to higher pixel values (= higher brightness) to match the original intention to the reality of our screens. The side-effect is that glyphs ‘thin out’. Mac OS X and Adobe's proprietary font rendering library implement a counter-measure: stem darkening at smaller sizes where shades of gray dominate. By emboldening a glyph slightly in relation to its pixel size, individual pixels get higher coverage of filled-in outlines and are therefore ‘blacker’. This counteracts the ‘thinning out’ of glyphs, making text remain readable at smaller sizes. All glyphs that pass through the auto-hinter will be emboldened unless this property is set to TRUE.</p>
 <p>See the description of the CFF driver for algorithmic details. Total consistency with the CFF driver is currently not achieved because the emboldening method differs and glyphs must be scaled down on the Y-axis to keep outline points inside their precomputed blue zones. The smaller the size (especially 9ppem and down), the higher the loss of emboldening versus the CFF driver.</p>
+<p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable similar to the CFF driver.</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
@@ -409,6 +411,7 @@
 
 <p><b>Experimental</b> <b>only</b></p>
 <p>See the description of the CFF driver for details. This implementation appropriates the CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency. Note the differences described in <a href="ft2-auto_hinter.html#no-stem-darkening(autofit)">no-stem-darkening</a>.</p>
+<p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable similar to the CFF driver.</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,57 +100,58 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="base_interface">Base Interface</h1>
 <h2>Synopsis</h2>
 <table class="synopsis">
-<tr><td><a href="#FT_Library">FT_Library</a></td><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="#FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</a></td></tr>
-<tr><td><a href="#FT_Face">FT_Face</a></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td><a href="#FT_LOAD_COLOR">FT_LOAD_COLOR</a></td></tr>
-<tr><td><a href="#FT_Size">FT_Size</a></td><td> </td><td> </td></tr>
-<tr><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="#FT_LOAD_VERTICAL_LAYOUT">FT_LOAD_VERTICAL_LAYOUT</a></td></tr>
-<tr><td><a href="#FT_CharMap">FT_CharMap</a></td><td> </td><td><a href="#FT_LOAD_IGNORE_TRANSFORM">FT_LOAD_IGNORE_TRANSFORM</a></td></tr>
-<tr><td><a href="#FT_Encoding">FT_Encoding</a></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="#FT_LOAD_FORCE_AUTOHINT">FT_LOAD_FORCE_AUTOHINT</a></td></tr>
-<tr><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="#FT_LOAD_NO_RECURSE">FT_LOAD_NO_RECURSE</a></td></tr>
-<tr><td> </td><td> </td><td><a href="#FT_LOAD_PEDANTIC">FT_LOAD_PEDANTIC</a></td></tr>
-<tr><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td><a href="#FT_New_Face">FT_New_Face</a></td><td> </td></tr>
-<tr><td> </td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td><a href="#FT_LOAD_TARGET_NORMAL">FT_LOAD_TARGET_NORMAL</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a></td><td><a href="#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="#FT_LOAD_TARGET_LIGHT">FT_LOAD_TARGET_LIGHT</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="#FT_LOAD_TARGET_MONO">FT_LOAD_TARGET_MONO</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD">FT_LOAD_TARGET_LCD</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td><a href="#FT_LOAD_TARGET_LCD_V">FT_LOAD_TARGET_LCD_V</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td> </td></tr>
-<tr><td><a href="#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td> </td></tr>
-<tr><td><a href="#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a></td><td> </td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_EXTERNAL_STREAM">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr>
-<tr><td><a href="#FT_FACE_FLAG_HINTER">FT_FACE_FLAG_HINTER</a></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr>
-<tr><td> </td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td> </td></tr>
-<tr><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td></tr>
-<tr><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr>
-<tr><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr>
-<tr><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr>
-<tr><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td> </td></tr>
-<tr><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr>
-<tr><td><a href="#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr>
-<tr><td> </td><td> </td><td> </td></tr>
-<tr><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a></td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td></tr>
-<tr><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="#FT_OPEN_STREAM">FT_OPEN_STREAM</a></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td></tr>
-<tr><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="#FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</a></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td></tr>
-<tr><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="#FT_OPEN_DRIVER">FT_OPEN_DRIVER</a></td><td> </td></tr>
-<tr><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td></tr>
-<tr><td> </td><td> </td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td></tr>
-<tr><td><a href="#FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</a></td><td><a href="#FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</a></td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td></tr>
-<tr><td><a href="#FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</a></td><td><a href="#FT_LOAD_RENDER">FT_LOAD_RENDER</a></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr>
-<tr><td> </td><td><a href="#FT_LOAD_MONOCHROME">FT_LOAD_MONOCHROME</a></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr>
-<tr><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td><a href="#FT_LOAD_LINEAR_DESIGN">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr>
-<tr><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="#FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</a></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr>
-<tr><td> </td><td><a href="#FT_LOAD_NO_HINTING">FT_LOAD_NO_HINTING</a></td><td> </td></tr>
-<tr><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="#FT_LOAD_NO_BITMAP">FT_LOAD_NO_BITMAP</a></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td></tr>
+<tr><td><a href="#FT_Library">FT_Library</a></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td> </td></tr>
+<tr><td><a href="#FT_Face">FT_Face</a></td><td> </td><td><a href="#FT_LOAD_VERTICAL_LAYOUT">FT_LOAD_VERTICAL_LAYOUT</a></td></tr>
+<tr><td><a href="#FT_Size">FT_Size</a></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="#FT_LOAD_IGNORE_TRANSFORM">FT_LOAD_IGNORE_TRANSFORM</a></td></tr>
+<tr><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td> </td><td><a href="#FT_LOAD_FORCE_AUTOHINT">FT_LOAD_FORCE_AUTOHINT</a></td></tr>
+<tr><td><a href="#FT_CharMap">FT_CharMap</a></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="#FT_LOAD_NO_RECURSE">FT_LOAD_NO_RECURSE</a></td></tr>
+<tr><td><a href="#FT_Encoding">FT_Encoding</a></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="#FT_LOAD_PEDANTIC">FT_LOAD_PEDANTIC</a></td></tr>
+<tr><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td> </td><td> </td></tr>
+<tr><td> </td><td><a href="#FT_New_Face">FT_New_Face</a></td><td><a href="#FT_LOAD_TARGET_NORMAL">FT_LOAD_TARGET_NORMAL</a></td></tr>
+<tr><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td><a href="#FT_LOAD_TARGET_LIGHT">FT_LOAD_TARGET_LIGHT</a></td></tr>
+<tr><td> </td><td><a href="#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="#FT_LOAD_TARGET_MONO">FT_LOAD_TARGET_MONO</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD">FT_LOAD_TARGET_LCD</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD_V">FT_LOAD_TARGET_LCD_V</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td> </td></tr>
+<tr><td><a href="#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td> </td></tr>
+<tr><td><a href="#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a></td><td> </td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr>
+<tr><td><a href="#FT_FACE_FLAG_EXTERNAL_STREAM">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td> </td></tr>
+<tr><td><a href="#FT_FACE_FLAG_HINTER">FT_FACE_FLAG_HINTER</a></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td></tr>
+<tr><td> </td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr>
+<tr><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr>
+<tr><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr>
+<tr><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td><td> </td></tr>
+<tr><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr>
+<tr><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr>
+<tr><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td><td> </td></tr>
+<tr><td><a href="#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td> </td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td></tr>
+<tr><td> </td><td><a href="#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td></tr>
+<tr><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="#FT_OPEN_STREAM">FT_OPEN_STREAM</a></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td></tr>
+<tr><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="#FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</a></td><td> </td></tr>
+<tr><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="#FT_OPEN_DRIVER">FT_OPEN_DRIVER</a></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td></tr>
+<tr><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td></tr>
+<tr><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td> </td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td></tr>
+<tr><td> </td><td><a href="#FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</a></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr>
+<tr><td><a href="#FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</a></td><td><a href="#FT_LOAD_RENDER">FT_LOAD_RENDER</a></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr>
+<tr><td><a href="#FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</a></td><td><a href="#FT_LOAD_MONOCHROME">FT_LOAD_MONOCHROME</a></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr>
+<tr><td> </td><td><a href="#FT_LOAD_LINEAR_DESIGN">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr>
+<tr><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td><a href="#FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</a></td><td> </td></tr>
+<tr><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="#FT_LOAD_NO_HINTING">FT_LOAD_NO_HINTING</a></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td></tr>
+<tr><td> </td><td><a href="#FT_LOAD_NO_BITMAP">FT_LOAD_NO_BITMAP</a></td><td> </td></tr>
+<tr><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="#FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</a></td><td><a href="#FT_IS_NAMED_INSTANCE">FT_IS_NAMED_INSTANCE</a></td></tr>
+<tr><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="#FT_LOAD_COLOR">FT_LOAD_COLOR</a></td><td></td></tr>
 </table>
 
 
@@ -1717,12 +1718,13 @@
   } <b>FT_Size_Request_Type</b>;
 </pre>
 
-<p>An enumeration type that lists the supported size request types.</p>
+<p>An enumeration type that lists the supported size request types, i.e., what input size (in font units) maps to the requested output size (in pixels, as computed from the arguments of <a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a>).</p>
 
 <h4>values</h4>
 <table class="fields">
 <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_NOMINAL">FT_SIZE_REQUEST_TYPE_NOMINAL</td><td class="desc">
 <p>The nominal size. The ‘units_per_EM’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine both scaling values.</p>
+<p>This is the standard scaling found in most applications. In particular, use this size request type for TrueType fonts if they provide optical scaling or something similar. Note, however, that ‘units_per_EM’ is a rather abstract value which bears no relation to the actual size of the glyphs in a font.</p>
 </td></tr>
 <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_REAL_DIM">FT_SIZE_REQUEST_TYPE_REAL_DIM</td><td class="desc">
 <p>The real dimension. The sum of the ‘ascender’ and (minus of) the ‘descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p>
@@ -1768,21 +1770,22 @@
 <p>See <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a>.</p>
 </td></tr>
 <tr><td class="val" id="width">width</td><td class="desc">
-<p>The desired width.</p>
+<p>The desired width, given as a 26.6 fractional point value (with 72pt = 1in).</p>
 </td></tr>
 <tr><td class="val" id="height">height</td><td class="desc">
-<p>The desired height.</p>
+<p>The desired height, given as a 26.6 fractional point value (with 72pt = 1in).</p>
 </td></tr>
 <tr><td class="val" id="horiResolution">horiResolution</td><td class="desc">
-<p>The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.</p>
+<p>The horizontal resolution (dpi, i.e., pixels per inch). If set to zero, ‘width’ is treated as a 26.6 fractional <b>pixel</b> value.</p>
 </td></tr>
 <tr><td class="val" id="vertResolution">vertResolution</td><td class="desc">
-<p>The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.</p>
+<p>The vertical resolution (dpi, i.e., pixels per inch). If set to zero, ‘height’ is treated as a 26.6 fractional <b>pixel</b> value.</p>
 </td></tr>
 </table>
 
 <h4>note</h4>
 <p>If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.</p>
+<p>If ‘type’ is FT_SIZE_REQUEST_TYPE_SCALES, ‘width’ and ‘height’ are interpreted directly as 16.16 fractional scaling values, without any further modification, and both ‘horiResolution’ and ‘vertResolution’ are ignored.</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
@@ -3023,5 +3026,18 @@
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
 
+<div class="section">
+<h3 id="FT_IS_NAMED_INSTANCE">FT_IS_NAMED_INSTANCE</h3>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
+<pre>
+#define <b>FT_IS_NAMED_INSTANCE</b>( face ) \
+          ( (face)->face_index & 0x7FFF0000L )
+</pre>
+
+<p>A macro that returns true whenever a face object is a named instance of a GX variation font.</p>
+
+<hr>
+<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
+
 </body>
 </html>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-basic_types.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-basic_types.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-basic_types.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="basic_types">Basic Data Types</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bdf_fonts.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bdf_fonts.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bdf_fonts.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="bdf_fonts">BDF and PCF Files</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bitmap_handling.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bitmap_handling.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bitmap_handling.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="bitmap_handling">Bitmap Handling</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bzip2.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bzip2.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-bzip2.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="bzip2">BZIP2 Streams</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="cache_subsystem">Cache Sub-System</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="cff_driver">The CFF driver</h1>
 <h2>Synopsis</h2>
@@ -141,6 +141,7 @@
 
 <h4>note</h4>
 <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
+<p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable (using values ‘adobe’ or ‘freetype’).</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
@@ -163,6 +164,7 @@
 
 <h4>note</h4>
 <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
+<p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable (using values 1 and 0 for ‘on’ and ‘off’, respectively).</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
@@ -195,6 +197,11 @@
 
 <h4>note</h4>
 <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
+<p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable, using eight comma-separated integers without spaces. Here the above example, using ‘\’ to break the line for readability.</p>
+<pre class="colored">
+  FREETYPE_PROPERTIES=\
+  cff:darkening-parameters=500,300,1000,200,1500,100,2000,0
+</pre>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cid_fonts.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cid_fonts.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cid_fonts.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="cid_fonts">CID Fonts</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-computations.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-computations.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-computations.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="computations">Computations</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_code_values.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_code_values.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_code_values.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="error_code_values">Error Code Values</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_enumerations.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_enumerations.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-error_enumerations.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="error_enumerations">Error Enumerations</h1>
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-font_formats.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-font_formats.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-font_formats.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="font_formats">Font Formats</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gasp_table.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gasp_table.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gasp_table.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="gasp_table">Gasp Table</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_management.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_management.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_management.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="glyph_management">Glyph Management</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_stroker.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_stroker.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_stroker.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="glyph_stroker">Glyph Stroker</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_variants.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_variants.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_variants.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="glyph_variants">Glyph Variants</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gx_validation.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gx_validation.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gx_validation.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="gx_validation">TrueTypeGX/AAT Validation</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gzip.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gzip.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-gzip.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="gzip">GZIP Streams</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_file_macros.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_file_macros.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_file_macros.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,36 +100,37 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="header_file_macros">Header File Macros</h1>
 <h2>Synopsis</h2>
 <table class="synopsis">
-<tr><td><a href="#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="#FT_LZW_H">FT_LZW_H</a></td></tr>
-<tr><td><a href="#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="#FT_BZIP2_H">FT_BZIP2_H</a></td></tr>
-<tr><td><a href="#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
-<tr><td><a href="#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="#FT_GLYPH_H">FT_GLYPH_H</a></td></tr>
-<tr><td><a href="#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="#FT_BITMAP_H">FT_BITMAP_H</a></td></tr>
-<tr><td><a href="#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="#FT_BBOX_H">FT_BBOX_H</a></td></tr>
-<tr><td><a href="#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="#FT_CACHE_H">FT_CACHE_H</a></td></tr>
-<tr><td><a href="#FT_SYSTEM_H">FT_SYSTEM_H</a></td><td><a href="#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td></tr>
-<tr><td><a href="#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td></tr>
-<tr><td><a href="#FT_TYPES_H">FT_TYPES_H</a></td><td><a href="#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td></tr>
-<tr><td><a href="#FT_LIST_H">FT_LIST_H</a></td><td><a href="#FT_MAC_H">FT_MAC_H</a></td></tr>
-<tr><td><a href="#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td></tr>
-<tr><td><a href="#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td></tr>
-<tr><td><a href="#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td></tr>
-<tr><td><a href="#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td></tr>
-<tr><td><a href="#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="#FT_PFR_H">FT_PFR_H</a></td></tr>
-<tr><td><a href="#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="#FT_STROKER_H">FT_STROKER_H</a></td></tr>
-<tr><td><a href="#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td><td><a href="#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
-<tr><td><a href="#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td><td><a href="#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td></tr>
-<tr><td><a href="#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td><td><a href="#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr>
-<tr><td><a href="#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td><td><a href="#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td></tr>
-<tr><td><a href="#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
-<tr><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr>
-<tr><td><a href="#FT_CID_H">FT_CID_H</a></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr>
-<tr><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr>
+<tr><td><a href="#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="#FT_BZIP2_H">FT_BZIP2_H</a></td></tr>
+<tr><td><a href="#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
+<tr><td><a href="#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="#FT_GLYPH_H">FT_GLYPH_H</a></td></tr>
+<tr><td><a href="#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="#FT_BITMAP_H">FT_BITMAP_H</a></td></tr>
+<tr><td><a href="#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="#FT_BBOX_H">FT_BBOX_H</a></td></tr>
+<tr><td><a href="#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="#FT_CACHE_H">FT_CACHE_H</a></td></tr>
+<tr><td><a href="#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td></tr>
+<tr><td><a href="#FT_SYSTEM_H">FT_SYSTEM_H</a></td><td><a href="#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td></tr>
+<tr><td><a href="#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td></tr>
+<tr><td><a href="#FT_TYPES_H">FT_TYPES_H</a></td><td><a href="#FT_MAC_H">FT_MAC_H</a></td></tr>
+<tr><td><a href="#FT_LIST_H">FT_LIST_H</a></td><td><a href="#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td></tr>
+<tr><td><a href="#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td></tr>
+<tr><td><a href="#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td></tr>
+<tr><td><a href="#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td></tr>
+<tr><td><a href="#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="#FT_PFR_H">FT_PFR_H</a></td></tr>
+<tr><td><a href="#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="#FT_STROKER_H">FT_STROKER_H</a></td></tr>
+<tr><td><a href="#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
+<tr><td><a href="#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td><td><a href="#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td></tr>
+<tr><td><a href="#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td><td><a href="#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr>
+<tr><td><a href="#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td><td><a href="#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td></tr>
+<tr><td><a href="#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
+<tr><td><a href="#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr>
+<tr><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr>
+<tr><td><a href="#FT_CID_H">FT_CID_H</a></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr>
+<tr><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="#':'">':'</a></td></tr>
+<tr><td><a href="#FT_LZW_H">FT_LZW_H</a></td><td></td></tr>
 </table>
 
 
@@ -714,5 +715,25 @@
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
 
+<div class="section">
+<h3 id="':'">':'</h3>
+<p>Defined in FT_CONFIG_OPTIONS_H (freetype/config/ftoption.h).</p>
+<pre>
+#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+</pre>
+<h4>property-name1</h4>
+<p>'=' <property-value1></p>
+
+<h4>module-name2</h4>
+<p>':'</p>
+
+<h4>property-name2</h4>
+<p>'=' <property-value2> ...</p>
+<p>Example:</p>
+<p>FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1</p>
+
+<hr>
+<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
+
 </body>
 </html>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_inclusion.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_inclusion.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-header_inclusion.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="header_inclusion">FreeType's header inclusion scheme</h1>
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-incremental.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-incremental.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-incremental.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="incremental">Incremental Loading</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-index.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-index.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-index.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,284 +100,285 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <table class="index">
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PropertyType</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FontDict">CID_FontDict</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#darkening-parameters(autofit)">darkening-parameters (autofit)</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#darkening-parameters(cff)">darkening-parameters (cff)</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#default-script">default-script</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COMPUTE_METRICS</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr>
-<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr>
-<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr>
-<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Init">FT_Bitmap_Init</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-module_management.html#FT_Module">FT_Module</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr>
-<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr>
-<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr>
-<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr>
-<tr><td><a href="ft2-error_code_values.html#FT_Err_XXX">FT_Err_XXX</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-cff_driver.html#hinting-engine(cff)">hinting-engine (cff)</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-auto_hinter.html#no-stem-darkening(autofit)">no-stem-darkening (autofit)</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening(cff)">no-stem-darkening (cff)</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_FUZZ</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SCALE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SHIFT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_VALUE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING_KEY</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_ENTRY</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_TYPE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_BLUE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_NAME</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_OTHER_BLUE</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_BBOX</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_MATRIX</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_NAME</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_TYPE</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FORCE_BOLD</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FS_TYPE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FULL_NAME</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_IS_FIXED_PITCH</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ITALIC_ANGLE</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LANGUAGE_GROUP</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LEN_IV</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_MIN_FEATURE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NOTICE</a></td></tr>
-<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_BLUE_VALUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_CHAR_STRINGS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_H</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_V</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_SUBRS</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_OTHER_BLUE</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PAINT_TYPE</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PASSWORD</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_RND_STEM_UP</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_HW</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_VW</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_H</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_V</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_SUBR</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_POSITION</a></td></tr>
-<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_THICKNESS</a></td></tr>
-<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNIQUE_ID</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_VERSION</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_WEIGHT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SCALE</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SHIFT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_VALUES</a></td></tr>
-<tr><td><a href="ft2-font_formats.html#FT_Get_Font_Format">FT_Get_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FORCE_BOLD</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_ITALIC_ANGLE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_HEIGHT</a></td></tr>
-<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_WIDTH</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_HEIGHTS</a></td></tr>
-<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_WIDTHS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_POSITION</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_THICKNESS</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ARRAY</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_EXPERT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ISOLATIN1</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_NONE</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_STANDARD</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr>
-<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr>
-<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HEAD</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HHEA</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_MAXP</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr>
-<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_OS2</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_PCLT</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_POST</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_VHEA</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_40</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr>
-<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr>
-<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr>
-<tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY1</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td><td><a href="ft2-auto_hinter.html#warping">warping</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td><td></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#':'">':'</a></td><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PropertyType</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FontDict">CID_FontDict</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#darkening-parameters(autofit)">darkening-parameters (autofit)</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#darkening-parameters(cff)">darkening-parameters (cff)</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#default-script">default-script</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COMPUTE_METRICS</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr>
+<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr>
+<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Init">FT_Bitmap_Init</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-module_management.html#FT_Module">FT_Module</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr>
+<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr>
+<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr>
+<tr><td><a href="ft2-error_code_values.html#FT_Err_XXX">FT_Err_XXX</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cff_driver.html#hinting-engine(cff)">hinting-engine (cff)</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-auto_hinter.html#no-stem-darkening(autofit)">no-stem-darkening (autofit)</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening(cff)">no-stem-darkening (cff)</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_FUZZ</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SCALE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SHIFT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_VALUE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING_KEY</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_ENTRY</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_TYPE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_BLUE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_NAME</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_OTHER_BLUE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_BBOX</a></td></tr>
+<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_MATRIX</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_NAME</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_TYPE</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FORCE_BOLD</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FS_TYPE</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FULL_NAME</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_IS_FIXED_PITCH</a></td></tr>
+<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ITALIC_ANGLE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LANGUAGE_GROUP</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LEN_IV</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_MIN_FEATURE</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NOTICE</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_BLUE_VALUES</a></td></tr>
+<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_CHAR_STRINGS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_H</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_V</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_SUBRS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_OTHER_BLUE</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PAINT_TYPE</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PASSWORD</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_RND_STEM_UP</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_HW</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_VW</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_H</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_V</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_SUBR</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_POSITION</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_THICKNESS</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNIQUE_ID</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_VERSION</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_WEIGHT</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SCALE</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SHIFT</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_VALUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_BLUES</a></td></tr>
+<tr><td><a href="ft2-font_formats.html#FT_Get_Font_Format">FT_Get_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FORCE_BOLD</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_ITALIC_ANGLE</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_HEIGHT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_WIDTH</a></td></tr>
+<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_HEIGHTS</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_WIDTHS</a></td></tr>
+<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_POSITION</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_THICKNESS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ARRAY</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_EXPERT</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ISOLATIN1</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_NONE</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_STANDARD</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr>
+<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr>
+<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HEAD</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HHEA</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_MAXP</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr>
+<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_OS2</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_PCLT</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_POST</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_VHEA</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_40</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr>
+<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr>
+<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr>
+<tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_NAMED_INSTANCE">FT_IS_NAMED_INSTANCE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY1</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td><td><a href="ft2-auto_hinter.html#warping">warping</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td><td></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td><td></td></tr>
 </table>
 <hr>
 <table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
 
-<div class="timestamp">generated on Tue Jul 12 07:28:23 2016</div></body>
+<div class="timestamp">generated on Thu Sep  8 09:06:35 2016</div></body>
 </html>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lcd_filtering.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lcd_filtering.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lcd_filtering.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="lcd_filtering">LCD Filtering</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-list_processing.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-list_processing.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-list_processing.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="list_processing">List Processing</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lzw.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lzw.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-lzw.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="lzw">LZW Streams</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-mac_specific.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-mac_specific.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-mac_specific.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="mac_specific">Mac Specific Interface</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-module_management.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-module_management.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-module_management.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="module_management">Module Management</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-multiple_masters.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-multiple_masters.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-multiple_masters.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="multiple_masters">Multiple Masters</h1>
 <h2>Synopsis</h2>
@@ -281,7 +281,8 @@
 <p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p>
 </td></tr>
 <tr><td class="val" id="num_namedstyles">num_namedstyles</td><td class="desc">
-<p>The number of named styles; only meaningful for GX that allows certain design coordinates to have a string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example, Weight=1.5 is ‘Bold’.</p>
+<p>The number of named styles; a ‘named style’ is a tuple of design coordinates that has a string ID (in the ‘name’ table) associated with it. The font can tell the user that, for example, [Weight=1.5,Width=1.1] is ‘Bold’.</p>
+<p>For Type 1 Multiple Masters fonts, this value is always zero because the format does not support named styles.</p>
 </td></tr>
 <tr><td class="val" id="axis">axis</td><td class="desc">
 <p>An axis descriptor table. GX fonts contain slightly more data than MM. Memory management of this pointer is done internally by FreeType.</p>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-ot_validation.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-ot_validation.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-ot_validation.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="ot_validation">OpenType Validation</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-outline_processing.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-outline_processing.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-outline_processing.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="outline_processing">Outline Processing</h1>
 <h2>Synopsis</h2>
@@ -457,6 +457,9 @@
 <h4>return</h4>
 <p>FreeType error code. 0 means success.</p>
 
+<h4>note</h4>
+<p>An empty outline, or an outline with a single point only is also valid.</p>
+
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
 
@@ -640,6 +643,7 @@
 
 <h4>note</h4>
 <p>A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).</p>
+<p>Similarly, the function returns success for an empty outline also (doing nothing, this is, not calling any emitter); if necessary, you should filter this out, too.</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-pfr_fonts.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-pfr_fonts.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-pfr_fonts.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="pfr_fonts">PFR Fonts</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-quick_advance.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-quick_advance.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-quick_advance.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="quick_advance">Quick retrieval of advance values</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-raster.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-raster.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-raster.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="raster">Scanline Converter</h1>
 <h2>Synopsis</h2>
@@ -197,8 +197,6 @@
 <h4>note</h4>
 <p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p>
 <p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p>
-<p>Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’ configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to draw all callbacks.</p>
-<p>Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.</p>
 
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sfnt_names.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sfnt_names.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sfnt_names.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="sfnt_names">SFNT Names</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sizes_management.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sizes_management.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sizes_management.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="sizes_management">Size Management</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-system_interface.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-system_interface.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-system_interface.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="system_interface">System Interface</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-toc.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-toc.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-toc.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1>Table of Contents</h1>
 <div class="section">
@@ -277,5 +277,5 @@
 <hr>
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table>
 
-<div class="timestamp">generated on Tue Jul 12 07:28:23 2016</div></body>
+<div class="timestamp">generated on Thu Sep  8 09:06:35 2016</div></body>
 </html>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_engine.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_engine.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_engine.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="truetype_engine">The TrueType Engine</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_tables.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_tables.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-truetype_tables.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="truetype_tables">TrueType Tables</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-tt_driver.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-tt_driver.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-tt_driver.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="tt_driver">The TrueType driver</h1>
 <h2>Synopsis</h2>
@@ -173,6 +173,8 @@
    * @note:
    *   This property can be used with @<a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable (using values `35', `38', or `40').
    */
 </pre>
 <hr>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-type1_tables.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-type1_tables.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-type1_tables.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="type1_tables">Type 1 Tables</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-user_allocation.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-user_allocation.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-user_allocation.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="user_allocation">User allocation</h1>
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-version.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-version.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-version.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="version">FreeType Version</h1>
 <h2>Synopsis</h2>
@@ -222,8 +222,8 @@
 <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
 <pre>
 #define <a href="ft2-version.html#FREETYPE_MAJOR">FREETYPE_MAJOR</a>  2
-#define <a href="ft2-version.html#FREETYPE_MINOR">FREETYPE_MINOR</a>  6
-#define <a href="ft2-version.html#FREETYPE_PATCH">FREETYPE_PATCH</a>  5
+#define <a href="ft2-version.html#FREETYPE_MINOR">FREETYPE_MINOR</a>  7
+#define <a href="ft2-version.html#FREETYPE_PATCH">FREETYPE_PATCH</a>  0
 </pre>
 
 <p>These three macros identify the FreeType source code version. Use <a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a> to access them at runtime.</p>

Modified: trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-winfnt_fonts.html
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-winfnt_fonts.html	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-winfnt_fonts.html	2016-09-13 10:10:45 UTC (rev 42052)
@@ -3,7 +3,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6.5 API Reference</title>
+<title>FreeType-2.7 API Reference</title>
 <style type="text/css">
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
 <body>
 
 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6.5 API Reference</h1>
+<h1>FreeType-2.7 API Reference</h1>
 
 <h1 id="winfnt_fonts">Window FNT Files</h1>
 <h2>Synopsis</h2>

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -77,6 +77,36 @@
 
   /*************************************************************************/
   /*                                                                       */
+  /* If you enable this configuration option, FreeType recognizes an       */
+  /* environment variable called `FREETYPE_PROPERTIES', which can be used  */
+  /* to control the various font drivers and modules.  The controllable    */
+  /* properties are listed in the section `Controlling FreeType Modules'   */
+  /* in the reference's table of contents; currently there are properties  */
+  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */
+  /* TrueType (file `ftttdrv.h').                                          */
+  /*                                                                       */
+  /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
+  /* multiple lines for better readability).                               */
+  /*                                                                       */
+  /*   <optional whitespace>                                               */
+  /*   <module-name1> ':'                                                  */
+  /*   <property-name1> '=' <property-value1>                              */
+  /*   <whitespace>                                                        */
+  /*   <module-name2> ':'                                                  */
+  /*   <property-name2> '=' <property-value2>                              */
+  /*   ...                                                                 */
+  /*                                                                       */
+  /* Example:                                                              */
+  /*                                                                       */
+  /*   FREETYPE_PROPERTIES=truetype:interpreter-version=35 \               */
+  /*                       cff:no-stem-darkening=1 \                       */
+  /*                       autofitter:warping=1                            */
+  /*                                                                       */
+#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+
+
+  /*************************************************************************/
+  /*                                                                       */
   /* Uncomment the line below if you want to activate sub-pixel rendering  */
   /* (a.k.a. LCD rendering, or ClearType) in this build of the library.    */
   /*                                                                       */
@@ -492,8 +522,22 @@
   /*   code will be used.                                                  */
   /*                                                                       */
   /*   Setting this macro is needed for systems that prohibit address      */
-  /*   fixups, such as BREW.                                               */
+  /*   fixups, such as BREW.  [Note that standard compilers like gcc or    */
+  /*   clang handle PIC generation automatically; you don't have to set    */
+  /*   FT_CONFIG_OPTION_PIC, which is only necessary for very special      */
+  /*   compilers.]                                                         */
   /*                                                                       */
+  /*   Note that FT_CONFIG_OPTION_PIC support is not available for all     */
+  /*   modules (see `modules.cfg' for a complete list).  For building with */
+  /*   FT_CONFIG_OPTION_PIC support, do the following.                     */
+  /*                                                                       */
+  /*     0. Clone the repository.                                          */
+  /*     1. Define FT_CONFIG_OPTION_PIC.                                   */
+  /*     2. Remove all subdirectories in `src' that don't have             */
+  /*        FT_CONFIG_OPTION_PIC support.                                  */
+  /*     3. Comment out the corresponding modules in `modules.cfg'.        */
+  /*     4. Compile.                                                       */
+  /*                                                                       */
 /* #define FT_CONFIG_OPTION_PIC */
 
 
@@ -631,7 +675,7 @@
   /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
   /*                                                                       */
 /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  1         */
-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2         */
+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2
 /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  ( 1 | 2 ) */
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -142,7 +142,8 @@
   /**********************************************************************/
 
 
-#define ft_atol  atol
+#define ft_strtol  strtol
+#define ft_getenv  getenv
 
 
   /**********************************************************************/

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1361,6 +1361,20 @@
   /*************************************************************************
    *
    * @macro:
+   *   FT_IS_NAMED_INSTANCE( face )
+   *
+   * @description:
+   *   A macro that returns true whenever a face object is a named instance
+   *   of a GX variation font.
+   *
+   */
+#define FT_IS_NAMED_INSTANCE( face ) \
+          ( (face)->face_index & 0x7FFF0000L )
+
+
+  /*************************************************************************
+   *
+   * @macro:
    *   FT_IS_CID_KEYED( face )
    *
    * @description:
@@ -2331,7 +2345,10 @@
   /*    FT_Size_Request_Type                                               */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    An enumeration type that lists the supported size request types.   */
+  /*    An enumeration type that lists the supported size request types,   */
+  /*    i.e., what input size (in font units) maps to the requested output */
+  /*    size (in pixels, as computed from the arguments of                 */
+  /*    @FT_Size_Request).                                                 */
   /*                                                                       */
   /* <Values>                                                              */
   /*    FT_SIZE_REQUEST_TYPE_NOMINAL ::                                    */
@@ -2338,6 +2355,12 @@
   /*      The nominal size.  The `units_per_EM' field of @FT_FaceRec is    */
   /*      used to determine both scaling values.                           */
   /*                                                                       */
+  /*      This is the standard scaling found in most applications.  In     */
+  /*      particular, use this size request type for TrueType fonts if     */
+  /*      they provide optical scaling or something similar.  Note,        */
+  /*      however, that `units_per_EM' is a rather abstract value which    */
+  /*      bears no relation to the actual size of the glyphs in a font.    */
+  /*                                                                       */
   /*    FT_SIZE_REQUEST_TYPE_REAL_DIM ::                                   */
   /*      The real dimension.  The sum of the `ascender' and (minus of)    */
   /*      the `descender' fields of @FT_FaceRec are used to determine both */
@@ -2391,22 +2414,29 @@
   /* <Fields>                                                              */
   /*    type           :: See @FT_Size_Request_Type.                       */
   /*                                                                       */
-  /*    width          :: The desired width.                               */
+  /*    width          :: The desired width, given as a 26.6 fractional    */
+  /*                      point value (with 72pt = 1in).                   */
   /*                                                                       */
-  /*    height         :: The desired height.                              */
+  /*    height         :: The desired height, given as a 26.6 fractional   */
+  /*                      point value (with 72pt = 1in).                   */
   /*                                                                       */
-  /*    horiResolution :: The horizontal resolution.  If set to zero,      */
-  /*                      `width' is treated as a 26.6 fractional pixel    */
-  /*                      value.                                           */
+  /*    horiResolution :: The horizontal resolution (dpi, i.e., pixels per */
+  /*                      inch).  If set to zero, `width' is treated as a  */
+  /*                      26.6 fractional *pixel* value.                   */
   /*                                                                       */
-  /*    vertResolution :: The vertical resolution.  If set to zero,        */
-  /*                      `height' is treated as a 26.6 fractional pixel   */
-  /*                      value.                                           */
+  /*    vertResolution :: The vertical resolution (dpi, i.e., pixels per   */
+  /*                      inch).  If set to zero, `height' is treated as a */
+  /*                      26.6 fractional *pixel* value.                   */
   /*                                                                       */
   /* <Note>                                                                */
   /*    If `width' is zero, then the horizontal scaling value is set equal */
   /*    to the vertical scaling value, and vice versa.                     */
   /*                                                                       */
+  /*    If `type' is FT_SIZE_REQUEST_TYPE_SCALES, `width' and `height' are */
+  /*    interpreted directly as 16.16 fractional scaling values, without   */
+  /*    any further modification, and both `horiResolution' and            */
+  /*    `vertResolution' are ignored.                                      */
+  /*                                                                       */
   typedef struct  FT_Size_RequestRec_
   {
     FT_Size_Request_Type  type;
@@ -4175,8 +4205,8 @@
    *
    */
 #define FREETYPE_MAJOR  2
-#define FREETYPE_MINOR  6
-#define FREETYPE_PATCH  5
+#define FREETYPE_MINOR  7
+#define FREETYPE_PATCH  0
 
 
   /*************************************************************************/

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftautoh.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftautoh.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftautoh.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -428,6 +428,9 @@
    * @note:
    *   This property can be used with @FT_Property_Get also.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable (using values 1 and 0 for `on' and `off', respectively).
+   *
    *   The warping code can also change advance widths.  Have a look at the
    *   `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
    *   for details on improving inter-glyph distances while rendering.
@@ -473,6 +476,9 @@
    *   The smaller the size (especially 9ppem and down), the higher the loss
    *   of emboldening versus the CFF driver.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable similar to the CFF driver.
+   *
    */
 
 
@@ -489,6 +495,8 @@
    *   CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency.
    *   Note the differences described in @no-stem-darkening[autofit].
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable similar to the CFF driver.
    */
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftcffdrv.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftcffdrv.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftcffdrv.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -148,6 +148,8 @@
    * @note:
    *   This property can be used with @FT_Property_Get also.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable (using values `adobe' or `freetype').
    */
 
 
@@ -199,6 +201,9 @@
    * @note:
    *   This property can be used with @FT_Property_Get also.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable (using values 1 and 0 for `on' and `off', respectively).
+   *
    */
 
 
@@ -248,6 +253,14 @@
    * @note:
    *   This property can be used with @FT_Property_Get also.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable, using eight comma-separated integers without spaces.  Here
+   *   the above example, using `\' to break the line for readability.
+   *
+   *   {
+   *     FREETYPE_PROPERTIES=\
+   *     cff:darkening-parameters=500,300,1000,200,1500,100,2000,0
+   *   }
    */
 
   /* */

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -860,16 +860,6 @@
   /*    This can be used to write anti-aliased outlines directly to a      */
   /*    given background bitmap, and even perform translucency.            */
   /*                                                                       */
-  /*    Note that the `count' field cannot be greater than a fixed value   */
-  /*    defined by the `FT_MAX_GRAY_SPANS' configuration macro in          */
-  /*    `ftoption.h'.  By default, this value is set to~32, which means    */
-  /*    that if there are more than 32~spans on a given scanline, the      */
-  /*    callback is called several times with the same `y' parameter in    */
-  /*    order to draw all callbacks.                                       */
-  /*                                                                       */
-  /*    Otherwise, the callback is only called once per scan-line, and     */
-  /*    only for those scanlines that do have `gray' pixels on them.       */
-  /*                                                                       */
   typedef void
   (*FT_SpanFunc)( int             y,
                   int             count,

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -195,12 +195,16 @@
   /*                       (where every glyph could have a different       */
   /*                       number of designs).                             */
   /*                                                                       */
-  /*    num_namedstyles :: The number of named styles; only meaningful for */
-  /*                       GX that allows certain design coordinates to    */
-  /*                       have a string ID (in the `name' table)          */
-  /*                       associated with them.  The font can tell the    */
-  /*                       user that, for example, Weight=1.5 is `Bold'.   */
+  /*    num_namedstyles :: The number of named styles; a `named style' is  */
+  /*                       a tuple of design coordinates that has a string */
+  /*                       ID (in the `name' table) associated with it.    */
+  /*                       The font can tell the user that, for example,   */
+  /*                       [Weight=1.5,Width=1.1] is `Bold'.               */
   /*                                                                       */
+  /*                       For Type 1 Multiple Masters fonts, this value   */
+  /*                       is always zero because the format does not      */
+  /*                       support named styles.                           */
+  /*                                                                       */
   /*    axis            :: An axis descriptor table.                       */
   /*                       GX fonts contain slightly more data than MM.    */
   /*                       Memory management of this pointer is done       */

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -115,6 +115,10 @@
   /*    outline for stroking purposes (otherwise it would result in a      */
   /*    visible dot when round caps are used).                             */
   /*                                                                       */
+  /*    Similarly, the function returns success for an empty outline also  */
+  /*    (doing nothing, this is, not calling any emitter); if necessary,   */
+  /*    you should filter this out, too.                                   */
+  /*                                                                       */
   FT_EXPORT( FT_Error )
   FT_Outline_Decompose( FT_Outline*              outline,
                         const FT_Outline_Funcs*  func_interface,
@@ -213,6 +217,10 @@
   /* <Return>                                                              */
   /*    FreeType error code.  0~means success.                             */
   /*                                                                       */
+  /* <Note>                                                                */
+  /*    An empty outline, or an outline with a single point only is also   */
+  /*    valid.                                                             */
+  /*                                                                       */
   FT_EXPORT( FT_Error )
   FT_Outline_Check( FT_Outline*  outline );
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftttdrv.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftttdrv.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/ftttdrv.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -181,6 +181,8 @@
    * @note:
    *   This property can be used with @FT_Property_Get also.
    *
+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
+   *   variable (using values `35', `38', or `40').
    */
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdriver.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdriver.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdriver.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -67,15 +67,6 @@
                        FT_Int32      load_flags );
 
 
-  typedef FT_UInt
-  (*FT_CharMap_CharIndexFunc)( FT_CharMap  charmap,
-                               FT_Long     charcode );
-
-  typedef FT_Long
-  (*FT_CharMap_CharNextFunc)( FT_CharMap  charmap,
-                              FT_Long     charcode );
-
-
   typedef FT_Error
   (*FT_Face_GetKerningFunc)( FT_Face     face,
                              FT_UInt     left_glyph,

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -108,10 +108,12 @@
 
   /*
    *  The allocation functions return a pointer, and the error code
-   *  is written to through the `p_error' parameter.  See below for
-   *  for documentation.
+   *  is written to through the `p_error' parameter.
    */
 
+  /* The `q' variants of the functions below (`q' for `quick') don't fill */
+  /* the allocated or reallocated memory with zero bytes.                 */
+
   FT_BASE( FT_Pointer )
   ft_mem_alloc( FT_Memory  memory,
                 FT_Long    size,
@@ -143,6 +145,9 @@
                const void*  P );
 
 
+  /* The `Q' variants of the macros below (`Q' for `quick') don't fill */
+  /* the allocated or reallocated memory with zero bytes.              */
+
 #define FT_MEM_ALLOC( ptr, size )                               \
           FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory,          \
                                                (FT_Long)(size), \

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -532,6 +532,14 @@
   ft_module_get_service( FT_Module    module,
                          const char*  service_id );
 
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+  FT_BASE( FT_Error )
+  ft_property_string_set( FT_Library        library,
+                          const FT_String*  module_name,
+                          const FT_String*  property_name,
+                          FT_String*        value );
+#endif
+
   /* */
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -29,7 +29,8 @@
   typedef FT_Error
   (*FT_Properties_SetFunc)( FT_Module    module,
                             const char*  property_name,
-                            const void*  value );
+                            const void*  value,
+                            FT_Bool      value_is_string );
 
   typedef FT_Error
   (*FT_Properties_GetFunc)( FT_Module    module,

Modified: trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1393,6 +1393,12 @@
     FT_Bool               sph_compatibility_mode;
 #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
 
+#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+    /* since 2.7 */
+    FT_ULong              ebdt_start;  /* either `CBDT', `EBDT', or `bdat' */
+    FT_ULong              ebdt_size;
+#endif
+
   } TT_FaceRec;
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/modules.cfg
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/modules.cfg	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/modules.cfg	2016-09-13 10:10:45 UTC (rev 42052)
@@ -37,6 +37,7 @@
 # PostScript Type 1 font driver.
 #
 # This driver needs the `psaux', `pshinter', and `psnames' modules.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += type1
 
 # CFF/OpenType font driver.
@@ -47,24 +48,30 @@
 # Type 1 CID-keyed font driver.
 #
 # This driver needs the `psaux', `pshinter', and `psnames' modules.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += cid
 
 # PFR/TrueDoc font driver.  See optional extension ftpfr.c below also.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += pfr
 
 # PostScript Type 42 font driver.
 #
 # This driver needs the `truetype' and `psaux' modules.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += type42
 
 # Windows FONT/FNT font driver.  See optional extension ftwinfnt.c below
 # also.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += winfonts
 
 # PCF font driver.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += pcf
 
 # BDF font driver.  See optional extension ftbdf.c below also.
+# No FT_CONFIG_OPTION_PIC support.
 FONT_MODULES += bdf
 
 # SFNT files support.  If used without `truetype' or `cff', it supports
@@ -107,33 +114,41 @@
 # FreeType's cache sub-system (quite stable but still in beta -- this means
 # that its public API is subject to change if necessary).  See
 # include/freetype/ftcache.h.  Needs ftglyph.c.
+# No FT_CONFIG_OPTION_PIC support.
 AUX_MODULES += cache
 
 # TrueType GX/AAT table validation.  Needs ftgxval.c below.
+#
+# No FT_CONFIG_OPTION_PIC support.
 # AUX_MODULES += gxvalid
 
 # Support for streams compressed with gzip (files with suffix .gz).
 #
 # See include/freetype/ftgzip.h for the API.
+# No FT_CONFIG_OPTION_PIC support.
 AUX_MODULES += gzip
 
 # Support for streams compressed with LZW (files with suffix .Z).
 #
 # See include/freetype/ftlzw.h for the API.
+# No FT_CONFIG_OPTION_PIC support.
 AUX_MODULES += lzw
 
 # Support for streams compressed with bzip2 (files with suffix .bz2).
 #
 # See include/freetype/ftbzip2.h for the API.
+# No FT_CONFIG_OPTION_PIC support.
 AUX_MODULES += bzip2
 
 # OpenType table validation.  Needs ftotval.c below.
 #
+# No FT_CONFIG_OPTION_PIC support.
 # AUX_MODULES += otvalid
 
 # Auxiliary PostScript driver component to share common code.
 #
 # This module depends on `psnames'.
+# No FT_CONFIG_OPTION_PIC support.
 AUX_MODULES += psaux
 
 # Support for PostScript glyph names.

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -32,13 +32,13 @@
     '\0',
     '\xD9', '\x80',  /* ـ */
     '\0',
-    '\xD4', '\xB1', ' ', '\xD5', '\x84', ' ', '\xD5', '\x92', ' ', '\xD5', '\x93', ' ', '\xD4', '\xB2', ' ', '\xD4', '\xB3', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x95',  /* Ա Մ Ւ Փ Բ Գ Դ Օ */
+    '\xD4', '\xB1', ' ', '\xD5', '\x84', ' ', '\xD5', '\x92', ' ', '\xD5', '\x8D', ' ', '\xD4', '\xB2', ' ', '\xD4', '\xB3', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x95',  /* Ա Մ Ւ Ս Բ Գ Դ Օ */
     '\0',
-    '\xD5', '\x92', ' ', '\xD5', '\x88', ' ', '\xD5', '\x93', ' ', '\xD5', '\x83', ' ', '\xD5', '\x87', ' ', '\xD5', '\x8D', ' ', '\xD5', '\x8F', ' ', '\xD5', '\x95',  /* Ւ Ո Փ Ճ Շ Ս Տ Օ */
+    '\xD5', '\x92', ' ', '\xD5', '\x88', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x83', ' ', '\xD5', '\x87', ' ', '\xD5', '\x8D', ' ', '\xD5', '\x8F', ' ', '\xD5', '\x95',  /* Ւ Ո Դ Ճ Շ Ս Տ Օ */
     '\0',
-    '\xD5', '\xA5', ' ', '\xD5', '\xA7', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xB4', ' ', '\xD5', '\xBE', ' ', '\xD6', '\x83', ' ', '\xD6', '\x86', ' ', '\xD6', '\x83',  /* ե է ի մ վ փ ֆ փ */
+    '\xD5', '\xA5', ' ', '\xD5', '\xA7', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xB4', ' ', '\xD5', '\xBE', ' ', '\xD6', '\x86', ' ', '\xD5', '\xB3',  /* ե է ի մ վ ֆ ճ */
     '\0',
-    '\xD5', '\xA1', ' ', '\xD5', '\xB5', ' ', '\xD6', '\x82', ' ', '\xD5', '\xBD', ' ', '\xD5', '\xA3', ' ', '\xD5', '\xBB', ' ', '\xD6', '\x80', ' ', '\xD6', '\x85',  /* ա յ ւ ս գ ջ ր օ */
+    '\xD5', '\xA1', ' ', '\xD5', '\xB5', ' ', '\xD6', '\x82', ' ', '\xD5', '\xBD', ' ', '\xD5', '\xA3', ' ', '\xD5', '\xB7', ' ', '\xD6', '\x80', ' ', '\xD6', '\x85',  /* ա յ ւ ս գ շ ր օ */
     '\0',
     '\xD5', '\xB0', ' ', '\xD5', '\xB8', ' ', '\xD5', '\xB3', ' ', '\xD5', '\xA1', ' ', '\xD5', '\xA5', ' ', '\xD5', '\xAE', ' ', '\xD5', '\xBD', ' ', '\xD6', '\x85',  /* հ ո ճ ա ե ծ ս օ */
     '\0',

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat	2016-09-13 10:10:45 UTC (rev 42052)
@@ -87,13 +87,13 @@
     "ـ"
 
   AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP
-    "Ա Մ Ւ Փ Բ Գ Դ Օ"
+    "Ա Մ Ւ Ս Բ Գ Դ Օ"
   AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM
-    "Ւ Ո Փ Ճ Շ Ս Տ Օ"
+    "Ւ Ո Դ Ճ Շ Ս Տ Օ"
   AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER
-    "ե է ի մ վ փ ֆ փ"
+    "ե է ի մ վ ֆ ճ"
   AF_BLUE_STRING_ARMENIAN_SMALL_TOP
-    "ա յ ւ ս գ ջ ր օ"
+    "ա յ ւ ս գ շ ր օ"
   AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM
     "հ ո ճ ա ե ծ ս օ"
   AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -83,104 +83,104 @@
     AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP = 36,
     AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM = 60,
     AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER = 84,
-    AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 108,
-    AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 132,
-    AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 156,
-    AF_BLUE_STRING_BENGALI_BASE = 180,
-    AF_BLUE_STRING_BENGALI_TOP = 212,
-    AF_BLUE_STRING_BENGALI_HEAD = 240,
-    AF_BLUE_STRING_CHEROKEE_CAPITAL = 272,
-    AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 304,
-    AF_BLUE_STRING_CHEROKEE_SMALL = 336,
-    AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 368,
-    AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 384,
-    AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 408,
-    AF_BLUE_STRING_CYRILLIC_SMALL = 432,
-    AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 456,
-    AF_BLUE_STRING_DEVANAGARI_BASE = 465,
-    AF_BLUE_STRING_DEVANAGARI_TOP = 497,
-    AF_BLUE_STRING_DEVANAGARI_HEAD = 529,
-    AF_BLUE_STRING_DEVANAGARI_BOTTOM = 561,
-    AF_BLUE_STRING_ETHIOPIC_TOP = 569,
-    AF_BLUE_STRING_ETHIOPIC_BOTTOM = 601,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 633,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 665,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 697,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 729,
-    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 761,
-    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 793,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 825,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 857,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 889,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 921,
-    AF_BLUE_STRING_GREEK_CAPITAL_TOP = 953,
-    AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 974,
-    AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 992,
-    AF_BLUE_STRING_GREEK_SMALL = 1010,
-    AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1034,
-    AF_BLUE_STRING_GUJARATI_TOP = 1058,
-    AF_BLUE_STRING_GUJARATI_BOTTOM = 1090,
-    AF_BLUE_STRING_GUJARATI_ASCENDER = 1122,
-    AF_BLUE_STRING_GUJARATI_DESCENDER = 1172,
-    AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1205,
-    AF_BLUE_STRING_GURMUKHI_BASE = 1225,
-    AF_BLUE_STRING_GURMUKHI_HEAD = 1257,
-    AF_BLUE_STRING_GURMUKHI_TOP = 1289,
-    AF_BLUE_STRING_GURMUKHI_BOTTOM = 1321,
-    AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1353,
-    AF_BLUE_STRING_HEBREW_TOP = 1373,
-    AF_BLUE_STRING_HEBREW_BOTTOM = 1397,
-    AF_BLUE_STRING_HEBREW_DESCENDER = 1415,
-    AF_BLUE_STRING_KANNADA_TOP = 1430,
-    AF_BLUE_STRING_KANNADA_BOTTOM = 1474,
-    AF_BLUE_STRING_KHMER_TOP = 1506,
-    AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1530,
-    AF_BLUE_STRING_KHMER_BOTTOM = 1570,
-    AF_BLUE_STRING_KHMER_DESCENDER = 1602,
-    AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 1636,
-    AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 1723,
-    AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 1731,
-    AF_BLUE_STRING_LAO_TOP = 1739,
-    AF_BLUE_STRING_LAO_BOTTOM = 1771,
-    AF_BLUE_STRING_LAO_ASCENDER = 1803,
-    AF_BLUE_STRING_LAO_LARGE_ASCENDER = 1819,
-    AF_BLUE_STRING_LAO_DESCENDER = 1831,
-    AF_BLUE_STRING_LATIN_CAPITAL_TOP = 1855,
-    AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 1871,
-    AF_BLUE_STRING_LATIN_SMALL_F_TOP = 1887,
-    AF_BLUE_STRING_LATIN_SMALL = 1901,
-    AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 1915,
-    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 1925,
-    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 1945,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1965,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL = 1985,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2021,
-    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2041,
-    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2072,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2101,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL = 2127,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2152,
-    AF_BLUE_STRING_MALAYALAM_TOP = 2163,
-    AF_BLUE_STRING_MALAYALAM_BOTTOM = 2207,
-    AF_BLUE_STRING_MYANMAR_TOP = 2239,
-    AF_BLUE_STRING_MYANMAR_BOTTOM = 2271,
-    AF_BLUE_STRING_MYANMAR_ASCENDER = 2303,
-    AF_BLUE_STRING_MYANMAR_DESCENDER = 2331,
-    AF_BLUE_STRING_SINHALA_TOP = 2363,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 2395,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 2427,
-    AF_BLUE_STRING_TAMIL_TOP = 2471,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 2503,
-    AF_BLUE_STRING_TELUGU_TOP = 2535,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 2563,
-    AF_BLUE_STRING_THAI_TOP = 2591,
-    AF_BLUE_STRING_THAI_BOTTOM = 2615,
-    AF_BLUE_STRING_THAI_ASCENDER = 2643,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2655,
-    AF_BLUE_STRING_THAI_DESCENDER = 2667,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2683,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 2691,
-    af_blue_1_1 = 2702,
+    AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 105,
+    AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 129,
+    AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 153,
+    AF_BLUE_STRING_BENGALI_BASE = 177,
+    AF_BLUE_STRING_BENGALI_TOP = 209,
+    AF_BLUE_STRING_BENGALI_HEAD = 237,
+    AF_BLUE_STRING_CHEROKEE_CAPITAL = 269,
+    AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 301,
+    AF_BLUE_STRING_CHEROKEE_SMALL = 333,
+    AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 365,
+    AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 381,
+    AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 405,
+    AF_BLUE_STRING_CYRILLIC_SMALL = 429,
+    AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 453,
+    AF_BLUE_STRING_DEVANAGARI_BASE = 462,
+    AF_BLUE_STRING_DEVANAGARI_TOP = 494,
+    AF_BLUE_STRING_DEVANAGARI_HEAD = 526,
+    AF_BLUE_STRING_DEVANAGARI_BOTTOM = 558,
+    AF_BLUE_STRING_ETHIOPIC_TOP = 566,
+    AF_BLUE_STRING_ETHIOPIC_BOTTOM = 598,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 630,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 662,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 694,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 726,
+    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 758,
+    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 790,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 822,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 854,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 886,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 918,
+    AF_BLUE_STRING_GREEK_CAPITAL_TOP = 950,
+    AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 971,
+    AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 989,
+    AF_BLUE_STRING_GREEK_SMALL = 1007,
+    AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1031,
+    AF_BLUE_STRING_GUJARATI_TOP = 1055,
+    AF_BLUE_STRING_GUJARATI_BOTTOM = 1087,
+    AF_BLUE_STRING_GUJARATI_ASCENDER = 1119,
+    AF_BLUE_STRING_GUJARATI_DESCENDER = 1169,
+    AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1202,
+    AF_BLUE_STRING_GURMUKHI_BASE = 1222,
+    AF_BLUE_STRING_GURMUKHI_HEAD = 1254,
+    AF_BLUE_STRING_GURMUKHI_TOP = 1286,
+    AF_BLUE_STRING_GURMUKHI_BOTTOM = 1318,
+    AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1350,
+    AF_BLUE_STRING_HEBREW_TOP = 1370,
+    AF_BLUE_STRING_HEBREW_BOTTOM = 1394,
+    AF_BLUE_STRING_HEBREW_DESCENDER = 1412,
+    AF_BLUE_STRING_KANNADA_TOP = 1427,
+    AF_BLUE_STRING_KANNADA_BOTTOM = 1471,
+    AF_BLUE_STRING_KHMER_TOP = 1503,
+    AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1527,
+    AF_BLUE_STRING_KHMER_BOTTOM = 1567,
+    AF_BLUE_STRING_KHMER_DESCENDER = 1599,
+    AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 1633,
+    AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 1720,
+    AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 1728,
+    AF_BLUE_STRING_LAO_TOP = 1736,
+    AF_BLUE_STRING_LAO_BOTTOM = 1768,
+    AF_BLUE_STRING_LAO_ASCENDER = 1800,
+    AF_BLUE_STRING_LAO_LARGE_ASCENDER = 1816,
+    AF_BLUE_STRING_LAO_DESCENDER = 1828,
+    AF_BLUE_STRING_LATIN_CAPITAL_TOP = 1852,
+    AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 1868,
+    AF_BLUE_STRING_LATIN_SMALL_F_TOP = 1884,
+    AF_BLUE_STRING_LATIN_SMALL = 1898,
+    AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 1912,
+    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 1922,
+    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 1942,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1962,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL = 1982,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2018,
+    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2038,
+    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2069,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2098,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL = 2124,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2149,
+    AF_BLUE_STRING_MALAYALAM_TOP = 2160,
+    AF_BLUE_STRING_MALAYALAM_BOTTOM = 2204,
+    AF_BLUE_STRING_MYANMAR_TOP = 2236,
+    AF_BLUE_STRING_MYANMAR_BOTTOM = 2268,
+    AF_BLUE_STRING_MYANMAR_ASCENDER = 2300,
+    AF_BLUE_STRING_MYANMAR_DESCENDER = 2328,
+    AF_BLUE_STRING_SINHALA_TOP = 2360,
+    AF_BLUE_STRING_SINHALA_BOTTOM = 2392,
+    AF_BLUE_STRING_SINHALA_DESCENDER = 2424,
+    AF_BLUE_STRING_TAMIL_TOP = 2468,
+    AF_BLUE_STRING_TAMIL_BOTTOM = 2500,
+    AF_BLUE_STRING_TELUGU_TOP = 2532,
+    AF_BLUE_STRING_TELUGU_BOTTOM = 2560,
+    AF_BLUE_STRING_THAI_TOP = 2588,
+    AF_BLUE_STRING_THAI_BOTTOM = 2612,
+    AF_BLUE_STRING_THAI_ASCENDER = 2640,
+    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2652,
+    AF_BLUE_STRING_THAI_DESCENDER = 2664,
+    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2680,
+    AF_BLUE_STRING_THAI_DIGIT_TOP = 2688,
+    af_blue_1_1 = 2699,
 #ifdef AF_CONFIG_OPTION_CJK
     AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
     AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203,

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -420,20 +420,19 @@
                 dimension == AF_DIMENSION_HORZ ? "vertical"
                                                : "horizontal" ));
       if ( axis->num_segments )
-        AF_DUMP(( "  index   pos    dir   from   to"
-                  "   link  serif  edge"
+        AF_DUMP(( "  index   pos   delta   dir   from   to "
+                  "  link  serif  edge"
                   "  height  extra     flags\n" ));
       else
         AF_DUMP(( "  (none)\n" ));
 
       for ( seg = segments; seg < limit; seg++ )
-        AF_DUMP(( "  %5d  %5.2g  %5s  %4d  %4d"
+        AF_DUMP(( "  %5d  %5d  %5d  %5s  %4d  %4d"
                   "  %4s  %5s  %4s"
                   "  %6d  %5d  %11s\n",
                   AF_INDEX_NUM( seg, segments ),
-                  dimension == AF_DIMENSION_HORZ
-                               ? (int)seg->first->ox / 64.0
-                               : (int)seg->first->oy / 64.0,
+                  seg->pos,
+                  seg->delta,
                   af_dir_str( (AF_Direction)seg->dir ),
                   AF_INDEX_NUM( seg->first, points ),
                   AF_INDEX_NUM( seg->last, points ),
@@ -553,18 +552,26 @@
        *  note: AF_DIMENSION_HORZ corresponds to _vertical_ edges
        *        since they have a constant X coordinate.
        */
-      AF_DUMP(( "Table of %s edges:\n",
-                dimension == AF_DIMENSION_HORZ ? "vertical"
-                                               : "horizontal" ));
+      if ( dimension == AF_DIMENSION_HORZ )
+        AF_DUMP(( "Table of %s edges (1px=%.2fu, 10u=%.2fpx):\n",
+                  "vertical",
+                  65536.0 * 64.0 / hints->x_scale,
+                  10.0 * hints->x_scale / 65536.0 / 64.0 ));
+      else
+        AF_DUMP(( "Table of %s edges (1px=%.2fu, 10u=%.2fpx):\n",
+                  "horizontal",
+                  65536.0 * 64.0 / hints->y_scale,
+                  10.0 * hints->y_scale / 65536.0 / 64.0 ));
+
       if ( axis->num_edges )
-        AF_DUMP(( "  index   pos    dir   link  serif"
-                  "  blue  opos    pos      flags\n" ));
+        AF_DUMP(( "  index    pos     dir   link  serif"
+                  "  blue    opos     pos       flags\n" ));
       else
         AF_DUMP(( "  (none)\n" ));
 
       for ( edge = edges; edge < limit; edge++ )
-        AF_DUMP(( "  %5d  %5.2g  %5s  %4s  %5s"
-                  "    %c   %5.2f  %5.2f  %11s\n",
+        AF_DUMP(( "  %5d  %7.2f  %5s  %4s  %5s"
+                  "    %c   %7.2f  %7.2f  %11s\n",
                   AF_INDEX_NUM( edge, edges ),
                   (int)edge->opos / 64.0,
                   af_dir_str( (AF_Direction)edge->dir ),

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afhints.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -260,6 +260,7 @@
     FT_Byte     flags;       /* edge/segment flags for this segment */
     FT_Char     dir;         /* segment direction                   */
     FT_Short    pos;         /* position of segment                 */
+    FT_Short    delta;       /* deviation from segment position     */
     FT_Short    min_coord;   /* minimum coordinate of segment       */
     FT_Short    max_coord;   /* maximum coordinate of segment       */
     FT_Short    height;      /* the hinted segment height           */

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1076,7 +1076,7 @@
         FT_UInt  ppem;
 
 
-        scaled    = FT_MulFix( blue->shoot.org, scaler->y_scale );
+        scaled    = FT_MulFix( blue->shoot.org, scale );
         ppem      = metrics->root.scaler.face->size->metrics.x_ppem;
         limit     = metrics->root.globals->increase_x_height;
         threshold = 40;
@@ -1123,8 +1123,6 @@
 
             if ( dist == 0 )
             {
-              scale = new_scale;
-
               FT_TRACE5((
                 "af_latin_metrics_scale_dim:"
                 " x height alignment (style `%s'):\n"
@@ -1132,9 +1130,11 @@
                 " vertical scaling changed from %.4f to %.4f (by %d%%)\n"
                 "\n",
                 af_style_names[metrics->root.style_class->style],
-                axis->org_scale / 65536.0,
                 scale / 65536.0,
+                new_scale / 65536.0,
                 ( fitted - scaled ) * 100 / scaled ));
+
+              scale = new_scale;
             }
 #ifdef FT_DEBUG_LEVEL_TRACE
             else
@@ -1536,8 +1536,9 @@
               /* points are different: we are just leaving an edge, thus */
               /* record a new segment                                    */
 
-              segment->last = point;
-              segment->pos  = (FT_Short)( ( min_pos + max_pos ) >> 1 );
+              segment->last  = point;
+              segment->pos   = (FT_Short)( ( min_pos + max_pos ) >> 1 );
+              segment->delta = (FT_Short)( ( max_pos - min_pos ) >> 1 );
 
               /* a segment is round if either its first or last point */
               /* is a control point, and the length of the on points  */
@@ -1966,6 +1967,7 @@
     FT_Fixed      scale;
     FT_Pos        edge_distance_threshold;
     FT_Pos        segment_length_threshold;
+    FT_Pos        segment_width_threshold;
 
 
     axis->num_edges = 0;
@@ -1987,10 +1989,16 @@
      *  corresponding threshold in font units.
      */
     if ( dim == AF_DIMENSION_HORZ )
-        segment_length_threshold = FT_DivFix( 64, hints->y_scale );
+      segment_length_threshold = FT_DivFix( 64, hints->y_scale );
     else
-        segment_length_threshold = 0;
+      segment_length_threshold = 0;
 
+    /*
+     *  Similarly, we ignore segments that have a width delta
+     *  larger than 0.5px (i.e., a width larger than 1px).
+     */
+    segment_width_threshold = FT_DivFix( 32, scale );
+
     /*********************************************************************/
     /*                                                                   */
     /* We begin by generating a sorted table of edges for the current    */
@@ -2022,9 +2030,10 @@
       FT_Int   ee;
 
 
-      /* ignore too short segments and, in this loop, */
-      /* one-point segments without a direction       */
+      /* ignore too short segments, too wide ones, and, in this loop, */
+      /* one-point segments without a direction                       */
       if ( seg->height < segment_length_threshold ||
+           seg->delta > segment_width_threshold   ||
            seg->dir == AF_DIR_NONE                )
         continue;
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afmodule.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afmodule.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afmodule.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -107,19 +107,30 @@
   static FT_Error
   af_property_set( FT_Module    ft_module,
                    const char*  property_name,
-                   const void*  value )
+                   const void*  value,
+                   FT_Bool      value_is_string )
   {
     FT_Error   error  = FT_Err_Ok;
     AF_Module  module = (AF_Module)ft_module;
 
+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+    FT_UNUSED( value_is_string );
+#endif
 
+
     if ( !ft_strcmp( property_name, "fallback-script" ) )
     {
-      FT_UInt*  fallback_script = (FT_UInt*)value;
+      FT_UInt*  fallback_script;
+      FT_UInt   ss;
 
-      FT_UInt  ss;
 
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+        return FT_THROW( Invalid_Argument );
+#endif
 
+      fallback_script = (FT_UInt*)value;
+
       /* We translate the fallback script to a fallback style that uses */
       /* `fallback-script' as its script and `AF_COVERAGE_NONE' as its  */
       /* coverage value.                                                */
@@ -147,9 +158,16 @@
     }
     else if ( !ft_strcmp( property_name, "default-script" ) )
     {
-      FT_UInt*  default_script = (FT_UInt*)value;
+      FT_UInt*  default_script;
 
 
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+        return FT_THROW( Invalid_Argument );
+#endif
+
+      default_script = (FT_UInt*)value;
+
       module->default_script = *default_script;
 
       return error;
@@ -156,10 +174,17 @@
     }
     else if ( !ft_strcmp( property_name, "increase-x-height" ) )
     {
-      FT_Prop_IncreaseXHeight*  prop = (FT_Prop_IncreaseXHeight*)value;
+      FT_Prop_IncreaseXHeight*  prop;
       AF_FaceGlobals            globals;
 
 
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+        return FT_THROW( Invalid_Argument );
+#endif
+
+      prop = (FT_Prop_IncreaseXHeight*)value;
+
       error = af_property_get_face_globals( prop->face, &globals, module );
       if ( !error )
         globals->increase_x_height = prop->limit;
@@ -169,28 +194,77 @@
 #ifdef AF_CONFIG_OPTION_USE_WARPER
     else if ( !ft_strcmp( property_name, "warping" ) )
     {
-      FT_Bool*  warping = (FT_Bool*)value;
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+      {
+        const char*  s = (const char*)value;
+        long         w = ft_strtol( s, NULL, 10 );
 
 
-      module->warping = *warping;
+        if ( w == 0 )
+          module->warping = 0;
+        else if ( w == 1 )
+          module->warping = 1;
+        else
+          return FT_THROW( Invalid_Argument );
+      }
+      else
+#endif
+      {
+        FT_Bool*  warping = (FT_Bool*)value;
 
+
+        module->warping = *warping;
+      }
+
       return error;
     }
 #endif /* AF_CONFIG_OPTION_USE_WARPER */
     else if ( !ft_strcmp( property_name, "darkening-parameters" ) )
     {
-      FT_Int*  darken_params = (FT_Int*)value;
+      FT_Int*  darken_params;
+      FT_Int   x1, y1, x2, y2, x3, y3, x4, y4;
 
-      FT_Int  x1 = darken_params[0];
-      FT_Int  y1 = darken_params[1];
-      FT_Int  x2 = darken_params[2];
-      FT_Int  y2 = darken_params[3];
-      FT_Int  x3 = darken_params[4];
-      FT_Int  y3 = darken_params[5];
-      FT_Int  x4 = darken_params[6];
-      FT_Int  y4 = darken_params[7];
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      FT_Int   dp[8];
 
 
+      if ( value_is_string )
+      {
+        const char*  s = (const char*)value;
+        char*        ep;
+        int          i;
+
+
+        /* eight comma-separated numbers */
+        for ( i = 0; i < 7; i++ )
+        {
+          dp[i] = (FT_Int)ft_strtol( s, &ep, 10 );
+          if ( *ep != ',' || s == ep )
+            return FT_THROW( Invalid_Argument );
+
+          s = ep + 1;
+        }
+
+        dp[7] = (FT_Int)ft_strtol( s, &ep, 10 );
+        if ( !( *ep == '\0' || *ep == ' ' ) || s == ep )
+          return FT_THROW( Invalid_Argument );
+
+        darken_params = dp;
+      }
+      else
+#endif
+        darken_params = (FT_Int*)value;
+
+      x1 = darken_params[0];
+      y1 = darken_params[1];
+      x2 = darken_params[2];
+      y2 = darken_params[3];
+      x3 = darken_params[4];
+      y3 = darken_params[5];
+      x4 = darken_params[6];
+      y4 = darken_params[7];
+
       if ( x1 < 0   || x2 < 0   || x3 < 0   || x4 < 0   ||
            y1 < 0   || y2 < 0   || y3 < 0   || y4 < 0   ||
            x1 > x2  || x2 > x3  || x3 > x4              ||
@@ -210,11 +284,29 @@
     }
     else if ( !ft_strcmp( property_name, "no-stem-darkening" ) )
     {
-      FT_Bool*  no_stem_darkening = (FT_Bool*)value;
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+      {
+        const char*  s   = (const char*)value;
+        long         nsd = ft_strtol( s, NULL, 10 );
 
 
-      module->no_stem_darkening = *no_stem_darkening;
+        if ( nsd == 0 )
+          module->no_stem_darkening = 0;
+        else if ( nsd == 1 )
+          module->no_stem_darkening = 1;
+        else
+          return FT_THROW( Invalid_Argument );
+      }
+      else
+#endif
+      {
+        FT_Bool*  no_stem_darkening = (FT_Bool*)value;
 
+
+        module->no_stem_darkening = *no_stem_darkening;
+      }
+
       return error;
     }
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -40,7 +40,7 @@
           "Armenian",
           HB_SCRIPT_ARMENIAN,
           HINTING_BOTTOM_TO_TOP,
-          "\xD6\x85 \xD5\x95" ) /* օ Օ */
+          "\xD5\xBD \xD5\x8D" ) /* ս Ս */
 
   /* there are no simple forms for letters; we thus use two digit shapes */
   SCRIPT( beng, BENG,

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -842,7 +842,7 @@
         p = getenv( "FT2_ALLOC_TOTAL_MAX" );
         if ( p != NULL )
         {
-          FT_Long   total_max = ft_atol( p );
+          FT_Long  total_max = ft_strtol( p, NULL, 10 );
 
 
           if ( total_max > 0 )
@@ -855,7 +855,7 @@
         p = getenv( "FT2_ALLOC_COUNT_MAX" );
         if ( p != NULL )
         {
-          FT_Long  total_count = ft_atol( p );
+          FT_Long  total_count = ft_strtol( p, NULL, 10 );
 
 
           if ( total_count > 0 )
@@ -868,7 +868,7 @@
         p = getenv( "FT2_KEEP_ALIVE" );
         if ( p != NULL )
         {
-          FT_Long  keep_alive = ft_atol( p );
+          FT_Long  keep_alive = ft_strtol( p, NULL, 10 );
 
 
           if ( keep_alive > 0 )

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -226,6 +226,115 @@
   }
 
 
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+
+#define MAX_LENGTH  128
+
+  /*
+   * Set default properties derived from the `FREETYPE_PROPERTIES'
+   * environment variable.
+   *
+   * `FREETYPE_PROPERTIES' has the following syntax form (broken here into
+   * multiple lines for better readability)
+   *
+   *   <optional whitespace>
+   *   <module-name1> ':'
+   *   <property-name1> '=' <property-value1>
+   *   <whitespace>
+   *   <module-name2> ':'
+   *   <property-name2> '=' <property-value2>
+   *   ...
+   *
+   * Example:
+   *
+   *   FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
+   *                       cff:no-stem-darkening=1 \
+   *                       autofitter:warping=1
+   *
+   */
+
+  static void
+  ft_set_default_properties( FT_Library  library )
+  {
+    const char*  env;
+    const char*  p;
+    const char*  q;
+
+    char  module_name[MAX_LENGTH + 1];
+    char  property_name[MAX_LENGTH + 1];
+    char  property_value[MAX_LENGTH + 1];
+
+    int  i;
+
+
+    env = ft_getenv( "FREETYPE_PROPERTIES" );
+    if ( !env )
+      return;
+
+    for ( p = env; *p; p++ )
+    {
+      /* skip leading whitespace and separators */
+      if ( *p == ' ' || *p == '\t' )
+        continue;
+
+      /* read module name, followed by `:' */
+      q = p;
+      for ( i = 0; i < MAX_LENGTH; i++ )
+      {
+        if ( !*p || *p == ':' )
+          break;
+        module_name[i] = *p++;
+      }
+      module_name[i] = '\0';
+
+      if ( !*p || *p != ':' || p == q )
+        break;
+
+      /* read property name, followed by `=' */
+      q = ++p;
+      for ( i = 0; i < MAX_LENGTH; i++ )
+      {
+        if ( !*p || *p == '=' )
+          break;
+        property_name[i] = *p++;
+      }
+      property_name[i] = '\0';
+
+      if ( !*p || *p != '=' || p == q )
+        break;
+
+      /* read property value, followed by whitespace (if any) */
+      q = ++p;
+      for ( i = 0; i < MAX_LENGTH; i++ )
+      {
+        if ( !*p || *p == ' ' || *p == '\t' )
+          break;
+        property_value[i] = *p++;
+      }
+      property_value[i] = '\0';
+
+      if ( !( *p == '\0' || *p == ' ' || *p == '\t' ) || p == q )
+        break;
+
+      /* we completely ignore errors */
+      ft_property_string_set( library,
+                              module_name,
+                              property_name,
+                              property_value );
+    }
+  }
+
+#else
+
+  static void
+  ft_set_default_properties( FT_Library  library )
+  {
+    FT_UNUSED( library );
+  }
+
+#endif
+
+
   /* documentation is in freetype.h */
 
   FT_EXPORT_DEF( FT_Error )
@@ -256,6 +365,8 @@
     else
       FT_Add_Default_Modules( *alibrary );
 
+    ft_set_default_properties( *alibrary );
+
     return error;
   }
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -2314,11 +2314,24 @@
 
 
         if ( bsize->height < 0 )
-          bsize->height = (FT_Short)-bsize->height;
+          bsize->height = -bsize->height;
         if ( bsize->x_ppem < 0 )
-          bsize->x_ppem = (FT_Short)-bsize->x_ppem;
+          bsize->x_ppem = -bsize->x_ppem;
         if ( bsize->y_ppem < 0 )
           bsize->y_ppem = -bsize->y_ppem;
+
+        /* check whether negation actually has worked */
+        if ( bsize->height < 0 || bsize->x_ppem < 0 || bsize->y_ppem < 0 )
+        {
+          FT_TRACE0(( "FT_Open_Face:"
+                      " Invalid bitmap dimensions for stroke %d,"
+                      " now disabled\n", i ));
+          bsize->width  = 0;
+          bsize->height = 0;
+          bsize->size   = 0;
+          bsize->x_ppem = 0;
+          bsize->y_ppem = 0;
+        }
       }
     }
 
@@ -4564,7 +4577,8 @@
                   const FT_String*  module_name,
                   const FT_String*  property_name,
                   void*             value,
-                  FT_Bool           set )
+                  FT_Bool           set,
+                  FT_Bool           value_is_string )
   {
     FT_Module*           cur;
     FT_Module*           limit;
@@ -4634,8 +4648,13 @@
       return FT_THROW( Unimplemented_Feature );
     }
 
-    return set ? service->set_property( cur[0], property_name, value )
-               : service->get_property( cur[0], property_name, value );
+    return set ? service->set_property( cur[0],
+                                        property_name,
+                                        value,
+                                        value_is_string )
+               : service->get_property( cur[0],
+                                        property_name,
+                                        value );
   }
 
 
@@ -4651,7 +4670,8 @@
                            module_name,
                            property_name,
                            (void*)value,
-                           TRUE );
+                           TRUE,
+                           FALSE );
   }
 
 
@@ -4667,10 +4687,33 @@
                            module_name,
                            property_name,
                            value,
+                           FALSE,
                            FALSE );
   }
 
 
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+
+  /* this variant is used for handling the FREETYPE_PROPERTIES */
+  /* environment variable                                      */
+
+  FT_BASE_DEF( FT_Error )
+  ft_property_string_set( FT_Library        library,
+                          const FT_String*  module_name,
+                          const FT_String*  property_name,
+                          FT_String*        value )
+  {
+    return ft_property_do( library,
+                           module_name,
+                           property_name,
+                           (void*)value,
+                           TRUE,
+                           TRUE );
+  }
+
+#endif
+
+
   /*************************************************************************/
   /*************************************************************************/
   /*************************************************************************/

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2intrp.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2intrp.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2intrp.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -469,6 +469,8 @@
     CF2_GlyphPathRec  glyphPath;
 
 
+    FT_ZERO( &storage );
+
     /* initialize the remaining objects */
     cf2_arrstack_init( &subrStack,
                        memory,

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2stack.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2stack.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cff/cf2stack.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -53,14 +53,14 @@
   cf2_stack_init( FT_Memory  memory,
                   FT_Error*  e )
   {
-    FT_Error  error = FT_Err_Ok;     /* for FT_QNEW */
+    FT_Error  error = FT_Err_Ok;     /* for FT_NEW */
 
     CF2_Stack  stack = NULL;
 
 
-    if ( !FT_QNEW( stack ) )
+    if ( !FT_NEW( stack ) )
     {
-      /* initialize the structure; FT_QNEW zeroes it */
+      /* initialize the structure; FT_NEW zeroes it */
       stack->memory = memory;
       stack->error  = e;
       stack->top    = &stack->buffer[0]; /* empty stack */

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffdrivr.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffdrivr.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffdrivr.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -659,26 +659,62 @@
   static FT_Error
   cff_property_set( FT_Module    module,         /* CFF_Driver */
                     const char*  property_name,
-                    const void*  value )
+                    const void*  value,
+                    FT_Bool      value_is_string )
   {
     FT_Error    error  = FT_Err_Ok;
     CFF_Driver  driver = (CFF_Driver)module;
 
+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+    FT_UNUSED( value_is_string );
+#endif
 
+
     if ( !ft_strcmp( property_name, "darkening-parameters" ) )
     {
-      FT_Int*  darken_params = (FT_Int*)value;
+      FT_Int*  darken_params;
+      FT_Int   x1, y1, x2, y2, x3, y3, x4, y4;
 
-      FT_Int  x1 = darken_params[0];
-      FT_Int  y1 = darken_params[1];
-      FT_Int  x2 = darken_params[2];
-      FT_Int  y2 = darken_params[3];
-      FT_Int  x3 = darken_params[4];
-      FT_Int  y3 = darken_params[5];
-      FT_Int  x4 = darken_params[6];
-      FT_Int  y4 = darken_params[7];
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      FT_Int   dp[8];
 
 
+      if ( value_is_string )
+      {
+        const char*  s = (const char*)value;
+        char*        ep;
+        int          i;
+
+
+        /* eight comma-separated numbers */
+        for ( i = 0; i < 7; i++ )
+        {
+          dp[i] = (FT_Int)ft_strtol( s, &ep, 10 );
+          if ( *ep != ',' || s == ep )
+            return FT_THROW( Invalid_Argument );
+
+          s = ep + 1;
+        }
+
+        dp[7] = (FT_Int)ft_strtol( s, &ep, 10 );
+        if ( !( *ep == '\0' || *ep == ' ' ) || s == ep )
+          return FT_THROW( Invalid_Argument );
+
+        darken_params = dp;
+      }
+      else
+#endif
+        darken_params = (FT_Int*)value;
+
+      x1 = darken_params[0];
+      y1 = darken_params[1];
+      x2 = darken_params[2];
+      y2 = darken_params[3];
+      x3 = darken_params[4];
+      y3 = darken_params[5];
+      x4 = darken_params[6];
+      y4 = darken_params[7];
+
       if ( x1 < 0   || x2 < 0   || x3 < 0   || x4 < 0   ||
            y1 < 0   || y2 < 0   || y3 < 0   || y4 < 0   ||
            x1 > x2  || x2 > x3  || x3 > x4              ||
@@ -698,27 +734,63 @@
     }
     else if ( !ft_strcmp( property_name, "hinting-engine" ) )
     {
-      FT_UInt*  hinting_engine = (FT_UInt*)value;
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+      {
+        const char*  s = (const char*)value;
 
 
-      if ( *hinting_engine == FT_CFF_HINTING_ADOBE
+        if ( !ft_strcmp( s, "adobe" ) )
+          driver->hinting_engine = FT_CFF_HINTING_ADOBE;
 #ifdef CFF_CONFIG_OPTION_OLD_ENGINE
-           || *hinting_engine == FT_CFF_HINTING_FREETYPE
+        else if ( !ft_strcmp( s, "freetype" ) )
+          driver->hinting_engine = FT_CFF_HINTING_FREETYPE;
 #endif
-         )
-        driver->hinting_engine = *hinting_engine;
+        else
+          return FT_THROW( Invalid_Argument );
+      }
       else
-        error = FT_ERR( Unimplemented_Feature );
+#endif
+      {
+        FT_UInt*  hinting_engine = (FT_UInt*)value;
 
-      return error;
+        if ( *hinting_engine == FT_CFF_HINTING_ADOBE
+#ifdef CFF_CONFIG_OPTION_OLD_ENGINE
+             || *hinting_engine == FT_CFF_HINTING_FREETYPE
+#endif
+           )
+          driver->hinting_engine = *hinting_engine;
+        else
+          error = FT_ERR( Unimplemented_Feature );
+
+        return error;
+      }
     }
     else if ( !ft_strcmp( property_name, "no-stem-darkening" ) )
     {
-      FT_Bool*  no_stem_darkening = (FT_Bool*)value;
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+      {
+        const char*  s   = (const char*)value;
+        long         nsd = ft_strtol( s, NULL, 10 );
 
 
-      driver->no_stem_darkening = *no_stem_darkening;
+        if ( nsd == 0 )
+          driver->no_stem_darkening = 0;
+        else if ( nsd == 1 )
+          driver->no_stem_darkening = 1;
+        else
+          return FT_THROW( Invalid_Argument );
+      }
+      else
+#endif
+      {
+        FT_Bool*  no_stem_darkening = (FT_Bool*)value;
 
+
+        driver->no_stem_darkening = *no_stem_darkening;
+      }
+
       return error;
     }
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffgload.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffgload.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffgload.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -2942,6 +2942,7 @@
       cff_decoder_init( &decoder, face, size, glyph, hinting,
                         FT_LOAD_TARGET_MODE( load_flags ) );
 
+      /* this is for pure CFFs */
       if ( load_flags & FT_LOAD_ADVANCE_ONLY )
         decoder.width_only = TRUE;
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffload.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffload.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cff/cffload.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -602,7 +602,8 @@
 
     if ( !FT_ALLOC( name, byte_len + 1 ) )
     {
-      FT_MEM_COPY( name, bytes, byte_len );
+      if ( byte_len )
+        FT_MEM_COPY( name, bytes, byte_len );
       name[byte_len] = 0;
     }
     cff_index_forget_element( idx, &bytes );

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidload.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidload.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidload.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -777,7 +777,8 @@
       CID_FaceDict  dict = cid->font_dicts + n;
 
 
-      if ( dict->sd_bytes < 0 )
+      if ( dict->sd_bytes < 0                        ||
+           ( dict->num_subrs && dict->sd_bytes < 1 ) )
       {
         FT_ERROR(( "cid_parse_dict: Invalid `SDBytes' value\n" ));
         error = FT_THROW( Invalid_File_Format );

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidparse.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidparse.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/cid/cidparse.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -199,7 +199,7 @@
     limit = parser->root.limit;
     cur   = parser->root.cursor;
 
-    while ( cur < limit - SFNTS_LEN )
+    while ( cur <= limit - SFNTS_LEN )
     {
       if ( parser->root.error )
       {
@@ -208,12 +208,12 @@
       }
 
       if ( cur[0] == 'S'                                           &&
-           cur < limit - STARTDATA_LEN                             &&
+           cur <= limit - STARTDATA_LEN                            &&
            ft_strncmp( (char*)cur, STARTDATA, STARTDATA_LEN ) == 0 )
       {
         if ( ft_strncmp( (char*)arg1, "(Hex)", 5 ) == 0 )
         {
-          FT_Long  tmp = ft_atol( (const char *)arg2 );
+          FT_Long  tmp = ft_strtol( (const char *)arg2, NULL, 10 );
 
 
           if ( tmp < 0 )

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/lzw/ftzopen.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/lzw/ftzopen.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/lzw/ftzopen.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -42,8 +42,13 @@
     state->buf_total += count;
     state->in_eof     = FT_BOOL( count < state->num_bits );
     state->buf_offset = 0;
-    state->buf_size   = ( state->buf_size << 3 ) - ( state->num_bits - 1 );
 
+    state->buf_size <<= 3;
+    if ( state->buf_size > state->num_bits )
+      state->buf_size -= state->num_bits - 1;
+    else
+      return -1; /* not enough data */
+
     if ( count == 0 )  /* end of file */
       return -1;
 
@@ -66,7 +71,10 @@
     {
       if ( state->free_ent >= state->free_bits )
       {
-        state->num_bits  = ++num_bits;
+        state->num_bits = ++num_bits;
+        if ( num_bits > LZW_MAX_BITS )
+          return -1;
+
         state->free_bits = state->num_bits < state->max_bits
                            ? (FT_UInt)( ( 1UL << num_bits ) - 256 )
                            : state->max_free + 1;

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfdriver.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfdriver.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfdriver.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -459,55 +459,62 @@
 
   FT_DEFINE_SFNT_INTERFACE(
     sfnt_interface,
-    tt_face_goto_table,
+    tt_face_goto_table,     /* TT_Loader_GotoTableFunc goto_table      */
 
-    sfnt_init_face,
-    sfnt_load_face,
-    sfnt_done_face,
-    sfnt_get_interface,
+    sfnt_init_face,         /* TT_Init_Face_Func       init_face       */
+    sfnt_load_face,         /* TT_Load_Face_Func       load_face       */
+    sfnt_done_face,         /* TT_Done_Face_Func       done_face       */
+    sfnt_get_interface,     /* FT_Module_Requester     get_interface   */
 
-    tt_face_load_any,
+    tt_face_load_any,       /* TT_Load_Any_Func        load_any        */
 
-    tt_face_load_head,
-    tt_face_load_hhea,
-    tt_face_load_cmap,
-    tt_face_load_maxp,
-    tt_face_load_os2,
-    tt_face_load_post,
+    tt_face_load_head,      /* TT_Load_Table_Func      load_head       */
+    tt_face_load_hhea,      /* TT_Load_Metrics_Func    load_hhea       */
+    tt_face_load_cmap,      /* TT_Load_Table_Func      load_cmap       */
+    tt_face_load_maxp,      /* TT_Load_Table_Func      load_maxp       */
+    tt_face_load_os2,       /* TT_Load_Table_Func      load_os2        */
+    tt_face_load_post,      /* TT_Load_Table_Func      load_post       */
 
-    tt_face_load_name,
-    tt_face_free_name,
+    tt_face_load_name,      /* TT_Load_Table_Func      load_name       */
+    tt_face_free_name,      /* TT_Free_Table_Func      free_name       */
 
-    tt_face_load_kern,
-    tt_face_load_gasp,
-    tt_face_load_pclt,
+    tt_face_load_kern,      /* TT_Load_Table_Func      load_kern       */
+    tt_face_load_gasp,      /* TT_Load_Table_Func      load_gasp       */
+    tt_face_load_pclt,      /* TT_Load_Table_Func      load_init       */
 
     /* see `ttload.h' */
     PUT_EMBEDDED_BITMAPS( tt_face_load_bhed ),
-
+                            /* TT_Load_Table_Func      load_bhed       */
     PUT_EMBEDDED_BITMAPS( tt_face_load_sbit_image ),
+                            /* TT_Load_SBit_Image_Func load_sbit_image */
 
     /* see `ttpost.h' */
     PUT_PS_NAMES( tt_face_get_ps_name   ),
+                            /* TT_Get_PS_Name_Func     get_psname      */
     PUT_PS_NAMES( tt_face_free_ps_names ),
+                            /* TT_Free_Table_Func      free_psnames    */
 
     /* since version 2.1.8 */
-    tt_face_get_kerning,
+    tt_face_get_kerning,    /* TT_Face_GetKerningFunc  get_kerning     */
 
     /* since version 2.2 */
-    tt_face_load_font_dir,
-    tt_face_load_hmtx,
+    tt_face_load_font_dir,  /* TT_Load_Table_Func      load_font_dir   */
+    tt_face_load_hmtx,      /* TT_Load_Metrics_Func    load_hmtx       */
 
     /* see `ttsbit.h' and `sfnt.h' */
     PUT_EMBEDDED_BITMAPS( tt_face_load_sbit ),
+                            /* TT_Load_Table_Func      load_eblc       */
     PUT_EMBEDDED_BITMAPS( tt_face_free_sbit ),
+                            /* TT_Free_Table_Func      free_eblc       */
 
     PUT_EMBEDDED_BITMAPS( tt_face_set_sbit_strike     ),
+                            /* TT_Set_SBit_Strike_Func set_sbit_strike */
     PUT_EMBEDDED_BITMAPS( tt_face_load_strike_metrics ),
+                    /* TT_Load_Strike_Metrics_Func load_strike_metrics */
 
-    tt_face_get_metrics,
+    tt_face_get_metrics,    /* TT_Get_Metrics_Func     get_metrics     */
 
-    tt_face_get_name
+    tt_face_get_name        /* TT_Get_Name_Func        get_name        */
   )
 
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfobjs.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfobjs.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/sfobjs.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -977,7 +977,7 @@
 #endif
 
     face->root.num_faces  = face->ttc_header.count;
-    face->root.face_index = face_index;
+    face->root.face_index = face_instance_index;
 
     return error;
   }

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttcmap.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttcmap.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttcmap.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -763,6 +763,9 @@
   static void
   tt_cmap4_next( TT_CMap4  cmap )
   {
+    TT_Face   face  = (TT_Face)cmap->cmap.cmap.charmap.face;
+    FT_Byte*  limit = face->cmap_table + face->cmap_size;
+
     FT_UInt  charcode;
 
 
@@ -788,15 +791,19 @@
           FT_Byte*  p = values + 2 * ( charcode - cmap->cur_start );
 
 
+          /* if p > limit, the whole segment is invalid */
+          if ( p > limit )
+            goto Next_Segment;
+
           do
           {
             FT_UInt  gindex = FT_NEXT_USHORT( p );
 
 
-            if ( gindex != 0 )
+            if ( gindex )
             {
               gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU;
-              if ( gindex != 0 )
+              if ( gindex )
               {
                 cmap->cur_charcode = charcode;
                 cmap->cur_gindex   = gindex;
@@ -812,8 +819,27 @@
             FT_UInt  gindex = (FT_UInt)( (FT_Int)charcode + delta ) & 0xFFFFU;
 
 
-            if ( gindex != 0 )
+            if ( gindex >= (FT_UInt)face->root.num_glyphs )
             {
+              /* we have an invalid glyph index; if there is an overflow, */
+              /* we can adjust `charcode', otherwise the whole segment is */
+              /* invalid                                                  */
+              gindex = 0;
+
+              if ( (FT_Int)charcode + delta < 0 &&
+                   (FT_Int)end + delta >= 0     )
+                charcode = (FT_UInt)( -delta );
+
+              else if ( (FT_Int)charcode + delta < 0x10000L &&
+                        (FT_Int)end + delta >= 0x10000L     )
+                charcode = (FT_UInt)( 0x10000L - delta );
+
+              else
+                goto Next_Segment;
+            }
+
+            if ( gindex )
+            {
               cmap->cur_charcode = charcode;
               cmap->cur_gindex   = gindex;
               return;
@@ -822,6 +848,7 @@
         }
       }
 
+    Next_Segment:
       /* we need to find another range */
       if ( tt_cmap4_set_range( cmap, cmap->cur_range + 1 ) < 0 )
         break;
@@ -1170,6 +1197,9 @@
                             FT_UInt32*  pcharcode,
                             FT_Bool     next )
   {
+    TT_Face   face  = (TT_Face)cmap->cmap.charmap.face;
+    FT_Byte*  limit = face->cmap_table + face->cmap_size;
+
     FT_UInt   num_segs2, start, end, offset;
     FT_Int    delta;
     FT_UInt   max, min, mid, num_segs;
@@ -1221,10 +1251,6 @@
         if ( mid >= num_segs - 1                &&
              start == 0xFFFFU && end == 0xFFFFU )
         {
-          TT_Face   face  = (TT_Face)cmap->cmap.charmap.face;
-          FT_Byte*  limit = face->cmap_table + face->cmap_size;
-
-
           if ( offset && p + offset + 2 > limit )
           {
             delta  = 1;
@@ -1347,13 +1373,40 @@
         if ( offset )
         {
           p += offset + ( charcode - start ) * 2;
+
+          /* if p > limit, the whole segment is invalid */
+          if ( next && p > limit )
+            break;
+
           gindex = TT_PEEK_USHORT( p );
-          if ( gindex != 0 )
+          if ( gindex )
+          {
             gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU;
+            if ( gindex >= (FT_UInt)face->root.num_glyphs )
+              gindex = 0;
+          }
         }
         else
+        {
           gindex = (FT_UInt)( (FT_Int)charcode + delta ) & 0xFFFFU;
 
+          if ( next && gindex >= (FT_UInt)face->root.num_glyphs )
+          {
+            /* we have an invalid glyph index; if there is an overflow, */
+            /* we can adjust `charcode', otherwise the whole segment is */
+            /* invalid                                                  */
+            gindex = 0;
+
+            if ( (FT_Int)charcode + delta < 0 &&
+                 (FT_Int)end + delta >= 0     )
+              charcode = (FT_UInt)( -delta );
+
+            else if ( (FT_Int)charcode + delta < 0x10000L &&
+                      (FT_Int)end + delta >= 0x10000L     )
+              charcode = (FT_UInt)( 0x10000L - delta );
+          }
+        }
+
         break;
       }
     }

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttload.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttload.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttload.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -775,15 +775,6 @@
 
         maxProfile->maxTwilightPoints = 0xFFFFU - 4;
       }
-
-      /* we arbitrarily limit recursion to avoid stack exhaustion */
-      if ( maxProfile->maxComponentDepth > 100 )
-      {
-        FT_TRACE0(( "tt_face_load_maxp:"
-                    " abnormally large component depth (%d) set to 100\n",
-                    maxProfile->maxComponentDepth ));
-        maxProfile->maxComponentDepth = 100;
-      }
     }
 
     FT_TRACE3(( "numGlyphs: %u\n", maxProfile->numGlyphs ));
@@ -1193,8 +1184,8 @@
 #define FT_STRUCTURE  TT_Postscript
 
       FT_FRAME_START( 32 ),
-        FT_FRAME_ULONG( FormatType ),
-        FT_FRAME_ULONG( italicAngle ),
+        FT_FRAME_LONG ( FormatType ),
+        FT_FRAME_LONG ( italicAngle ),
         FT_FRAME_SHORT( underlinePosition ),
         FT_FRAME_SHORT( underlineThickness ),
         FT_FRAME_ULONG( isFixedPitch ),

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttsbit.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttsbit.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/sfnt/ttsbit.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -197,6 +197,27 @@
     if ( !error )
       FT_TRACE3(( "sbit_num_strikes: %u\n", face->sbit_num_strikes ));
 
+    face->ebdt_start = 0;
+    face->ebdt_size  = 0;
+
+    if ( face->sbit_table_type != TT_SBIT_TABLE_TYPE_NONE )
+    {
+      FT_ULong  ebdt_size;
+
+
+      error = face->goto_table( face, TTAG_CBDT, stream, &ebdt_size );
+      if ( error )
+        error = face->goto_table( face, TTAG_EBDT, stream, &ebdt_size );
+      if ( error )
+        error = face->goto_table( face, TTAG_bdat, stream, &ebdt_size );
+
+      if ( !error )
+      {
+        face->ebdt_start = FT_STREAM_POS();
+        face->ebdt_size  = ebdt_size;
+      }
+    }
+
     return FT_Err_Ok;
 
   Exit:
@@ -323,6 +344,16 @@
                                           strike[18] + /* max_width      */
                                  (FT_Char)strike[23]   /* min_advance_SB */
                                                      ) * 64;
+
+        /* set the scale values (in 16.16 units) so advances */
+        /* from the hmtx and vmtx table are scaled correctly */
+        metrics->x_scale = FT_MulDiv( metrics->x_ppem,
+                                      64 * 0x10000,
+                                      face->header.Units_Per_EM );
+        metrics->y_scale = FT_MulDiv( metrics->y_ppem,
+                                      64 * 0x10000,
+                                      face->header.Units_Per_EM );
+
         return FT_Err_Ok;
       }
 
@@ -414,18 +445,14 @@
                         FT_ULong             strike_index,
                         TT_SBit_MetricsRec*  metrics )
   {
-    FT_Error   error;
+    FT_Error   error  = FT_ERR( Table_Missing );
     FT_Stream  stream = face->root.stream;
-    FT_ULong   ebdt_size;
 
 
-    error = face->goto_table( face, TTAG_CBDT, stream, &ebdt_size );
-    if ( error )
-      error = face->goto_table( face, TTAG_EBDT, stream, &ebdt_size );
-    if ( error )
-      error = face->goto_table( face, TTAG_bdat, stream, &ebdt_size );
-    if ( error )
+    if ( !face->ebdt_size )
       goto Exit;
+    if ( FT_STREAM_SEEK( face->ebdt_start ) )
+      goto Exit;
 
     decoder->face    = face;
     decoder->stream  = stream;
@@ -435,8 +462,8 @@
     decoder->metrics_loaded   = 0;
     decoder->bitmap_allocated = 0;
 
-    decoder->ebdt_start = FT_STREAM_POS();
-    decoder->ebdt_size  = ebdt_size;
+    decoder->ebdt_start = face->ebdt_start;
+    decoder->ebdt_size  = face->ebdt_size;
 
     decoder->eblc_base  = face->sbit_table;
     decoder->eblc_limit = face->sbit_table + face->sbit_table_size;
@@ -854,7 +881,7 @@
         }
 
         *pwrite++ |= ( ( rval >> nbits ) & 0xFF ) &
-                     ( ~( 0xFF << w ) << ( 8 - w - x_pos ) );
+                     ( ~( 0xFFU << w ) << ( 8 - w - x_pos ) );
         rval     <<= 8;
 
         w = line_bits - w;

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/smooth/ftgrays.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/smooth/ftgrays.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/smooth/ftgrays.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -403,9 +403,12 @@
 
   } TCell;
 
+  typedef struct TPixmap_
+  {
+    unsigned char*  origin;  /* pixmap origin at the bottom-left */
+    int             pitch;   /* pitch to go down one row */
 
-  /* maximum number of gray spans in a call to the span callback */
-#define FT_MAX_GRAY_SPANS  32
+  } TPixmap;
 
   /* maximum number of gray cells in the buffer */
 #if FT_RENDER_POOL_SIZE > 2048
@@ -430,7 +433,6 @@
     TCoord  ex, ey;
     TCoord  min_ex, max_ex;
     TCoord  min_ey, max_ey;
-    TCoord  count_ex, count_ey;
 
     TArea   area;
     TCoord  cover;
@@ -443,14 +445,10 @@
     TPos    x,  y;
 
     FT_Outline  outline;
-    FT_Bitmap   target;
+    TPixmap     target;
 
-    FT_Span     gray_spans[FT_MAX_GRAY_SPANS];
-    int         num_gray_spans;
-
     FT_Raster_Span_Func  render_span;
     void*                render_span_data;
-    int                  span_y;
 
     PCell*     ycells;
 
@@ -482,17 +480,17 @@
   static void
   gray_dump_cells( RAS_ARG )
   {
-    int  yindex;
+    int  y;
 
 
-    for ( yindex = 0; yindex < ras.count_ey; yindex++ )
+    for ( y = ras.min_ey; y < ras.max_ey; y++ )
     {
-      PCell  cell;
+      PCell  cell = ras.ycells[y - ras.min_ey];
 
 
-      printf( "%3d:", yindex );
+      printf( "%3d:", y );
 
-      for ( cell = ras.ycells[yindex]; cell != NULL; cell = cell->next )
+      for ( ; cell != NULL; cell = cell->next )
         printf( " (%3d, c:%4d, a:%6d)",
                 cell->x, cell->cover, cell->area );
       printf( "\n" );
@@ -513,10 +511,10 @@
     TCoord  x = ras.ex;
 
 
-    if ( x > ras.count_ex )
-      x = ras.count_ex;
+    if ( x > ras.max_ex )
+      x = ras.max_ex;
 
-    pcell = &ras.ycells[ras.ey];
+    pcell = &ras.ycells[ras.ey - ras.min_ey];
     for (;;)
     {
       cell = *pcell;
@@ -579,14 +577,11 @@
 
     /* All cells that are on the left of the clipping region go to the */
     /* min_ex - 1 horizontal position.                                 */
-    ey -= ras.min_ey;
-
     if ( ex > ras.max_ex )
       ex = ras.max_ex;
 
-    ex -= ras.min_ex;
-    if ( ex < 0 )
-      ex = -1;
+    if ( ex < ras.min_ex )
+      ex = ras.min_ex - 1;
 
     /* are we moving to a different cell ? */
     if ( ex != ras.ex || ey != ras.ey )
@@ -601,34 +596,11 @@
       ras.ey    = ey;
     }
 
-    ras.invalid = ( (unsigned int)ey >= (unsigned int)ras.count_ey ||
-                                  ex >= ras.count_ex               );
+    ras.invalid = ( ey >= ras.max_ey || ey < ras.min_ey ||
+                    ex >= ras.max_ex );
   }
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Start a new contour at a given cell.                                  */
-  /*                                                                       */
-  static void
-  gray_start_cell( RAS_ARG_ TCoord  ex,
-                            TCoord  ey )
-  {
-    if ( ex > ras.max_ex )
-      ex = ras.max_ex;
-
-    if ( ex < ras.min_ex )
-      ex = ras.min_ex - 1;
-
-    ras.area    = 0;
-    ras.cover   = 0;
-    ras.ex      = ex - ras.min_ex;
-    ras.ey      = ey - ras.min_ey;
-    ras.invalid = 0;
-
-    gray_set_cell( RAS_VAR_ ex, ey );
-  }
-
 #ifndef FT_LONG64
 
   /*************************************************************************/
@@ -657,14 +629,14 @@
       return;
     }
 
-    fx1 = (TCoord)( x1 - SUBPIXELS( ex1 ) );
-    fx2 = (TCoord)( x2 - SUBPIXELS( ex2 ) );
+    fx1   = (TCoord)( x1 - SUBPIXELS( ex1 ) );
+    fx2   = (TCoord)( x2 - SUBPIXELS( ex2 ) );
+    delta = y2 - y1;
 
     /* everything is located in a single cell.  That is easy! */
     /*                                                        */
     if ( ex1 == ex2 )
     {
-      delta      = y2 - y1;
       ras.area  += (TArea)(( fx1 + fx2 ) * delta);
       ras.cover += delta;
       return;
@@ -673,14 +645,17 @@
     /* ok, we'll have to render a run of adjacent cells on the same */
     /* scanline...                                                  */
     /*                                                              */
-    p     = ( ONE_PIXEL - fx1 ) * ( y2 - y1 );
-    first = ONE_PIXEL;
-    incr  = 1;
-    dx    = x2 - x1;
+    dx = x2 - x1;
 
-    if ( dx < 0 )
+    if ( dx > 0 )
     {
-      p     = fx1 * ( y2 - y1 );
+      p     = ( ONE_PIXEL - fx1 ) * delta;
+      first = ONE_PIXEL;
+      incr  = 1;
+    }
+    else
+    {
+      p     = fx1 * delta;
       first = 0;
       incr  = -1;
       dx    = -dx;
@@ -764,8 +739,6 @@
     dy = to_y - ras.y;
 
     /* vertical line - avoid calling gray_render_scanline */
-    incr = 1;
-
     if ( dx == 0 )
     {
       TCoord  ex     = TRUNC( ras.x );
@@ -773,9 +746,13 @@
       TArea   area;
 
 
-      first = ONE_PIXEL;
-      if ( dy < 0 )
+      if ( dy > 0)
       {
+        first = ONE_PIXEL;
+        incr  = 1;
+      }
+      else
+      {
         first = 0;
         incr  = -1;
       }
@@ -806,12 +783,14 @@
     }
 
     /* ok, we have to render several scanlines */
-    p     = ( ONE_PIXEL - fy1 ) * dx;
-    first = ONE_PIXEL;
-    incr  = 1;
-
-    if ( dy < 0 )
+    if ( dy > 0)
     {
+      p     = ( ONE_PIXEL - fy1 ) * dx;
+      first = ONE_PIXEL;
+      incr  = 1;
+    }
+    else
+    {
       p     = fy1 * dx;
       first = 0;
       incr  = -1;
@@ -1218,15 +1197,11 @@
     TPos  x, y;
 
 
-    /* record current cell, if any */
-    if ( !ras.invalid )
-      gray_record_cell( RAS_VAR );
-
     /* start to a new position */
     x = UPSCALE( to->x );
     y = UPSCALE( to->y );
 
-    gray_start_cell( RAS_VAR_ TRUNC( x ), TRUNC( y ) );
+    gray_set_cell( RAS_VAR_ TRUNC( x ), TRUNC( y ) );
 
     ras.x = x;
     ras.y = y;
@@ -1265,59 +1240,13 @@
 
 
   static void
-  gray_render_span( int             y,
-                    int             count,
-                    const FT_Span*  spans,
-                    gray_PWorker    worker )
-  {
-    unsigned char*  p;
-    FT_Bitmap*      map = &worker->target;
-
-
-    /* first of all, compute the scanline offset */
-    p = (unsigned char*)map->buffer - y * map->pitch;
-    if ( map->pitch >= 0 )
-      p += ( map->rows - 1 ) * (unsigned int)map->pitch;
-
-    for ( ; count > 0; count--, spans++ )
-    {
-      unsigned char  coverage = spans->coverage;
-
-
-      if ( coverage )
-      {
-        unsigned char*  q = p + spans->x;
-
-
-        /* For small-spans it is faster to do it by ourselves than
-         * calling `memset'.  This is mainly due to the cost of the
-         * function call.
-         */
-        switch ( spans->len )
-        {
-        case 7: *q++ = coverage;
-        case 6: *q++ = coverage;
-        case 5: *q++ = coverage;
-        case 4: *q++ = coverage;
-        case 3: *q++ = coverage;
-        case 2: *q++ = coverage;
-        case 1: *q   = coverage;
-        case 0: break;
-        default:
-          FT_MEM_SET( q, coverage, spans->len );
-        }
-      }
-    }
-  }
-
-
-  static void
   gray_hline( RAS_ARG_ TCoord  x,
                        TCoord  y,
                        TArea   area,
                        TCoord  acount )
   {
-    int  coverage;
+    int      coverage;
+    FT_Span  span;
 
 
     /* compute the coverage line's coverage, depending on the    */
@@ -1346,64 +1275,37 @@
         coverage = 255;
     }
 
-    y += ras.min_ey;
-    x += ras.min_ex;
+    if ( ras.render_span )  /* for FT_RASTER_FLAG_DIRECT only */
+    {
+      span.x        = (short)x;
+      span.len      = (unsigned short)acount;
+      span.coverage = (unsigned char)coverage;
 
-    if ( coverage )
+      ras.render_span( y, 1, &span, ras.render_span_data );
+    }
+    else
     {
-      FT_Span*  span;
-      int       count;
+      unsigned char*  q = ras.target.origin - ras.target.pitch * y + x;
+      unsigned char   c = (unsigned char)coverage;
 
 
-      /* see whether we can add this span to the current list */
-      count = ras.num_gray_spans;
-      span  = ras.gray_spans + count - 1;
-      if ( span->coverage == coverage &&
-           span->x + span->len == x   &&
-           ras.span_y == y            &&
-           count > 0                  )
+      /* For small-spans it is faster to do it by ourselves than
+       * calling `memset'.  This is mainly due to the cost of the
+       * function call.
+       */
+      switch ( acount )
       {
-        span->len = (unsigned short)( span->len + acount );
-        return;
+      case 7: *q++ = c;
+      case 6: *q++ = c;
+      case 5: *q++ = c;
+      case 4: *q++ = c;
+      case 3: *q++ = c;
+      case 2: *q++ = c;
+      case 1: *q   = c;
+      case 0: break;
+      default:
+        FT_MEM_SET( q, c, acount );
       }
-
-      if ( ras.span_y != y || count >= FT_MAX_GRAY_SPANS )
-      {
-        if ( ras.render_span && count > 0 )
-          ras.render_span( ras.span_y, count, ras.gray_spans,
-                           ras.render_span_data );
-
-#ifdef FT_DEBUG_LEVEL_TRACE
-
-        if ( count > 0 )
-        {
-          int  n;
-
-
-          FT_TRACE7(( "y = %3d ", ras.span_y ));
-          span = ras.gray_spans;
-          for ( n = 0; n < count; n++, span++ )
-            FT_TRACE7(( "[%d..%d]:%02x ",
-                        span->x, span->x + span->len - 1, span->coverage ));
-          FT_TRACE7(( "\n" ));
-        }
-
-#endif /* FT_DEBUG_LEVEL_TRACE */
-
-        ras.num_gray_spans = 0;
-        ras.span_y         = (int)y;
-
-        span  = ras.gray_spans;
-      }
-      else
-        span++;
-
-      /* add a gray span to the current list */
-      span->x        = (short)x;
-      span->len      = (unsigned short)acount;
-      span->coverage = (unsigned char)coverage;
-
-      ras.num_gray_spans++;
     }
   }
 
@@ -1411,22 +1313,19 @@
   static void
   gray_sweep( RAS_ARG )
   {
-    int  yindex;
+    int  y;
 
 
     if ( ras.num_cells == 0 )
       return;
 
-    ras.num_gray_spans = 0;
-    ras.span_y         = 0;
-
     FT_TRACE7(( "gray_sweep: start\n" ));
 
-    for ( yindex = 0; yindex < ras.count_ey; yindex++ )
+    for ( y = ras.min_ey; y < ras.max_ey; y++ )
     {
-      PCell   cell  = ras.ycells[yindex];
+      PCell   cell  = ras.ycells[y - ras.min_ey];
       TCoord  cover = 0;
-      TCoord  x     = 0;
+      TCoord  x     = ras.min_ex;
 
 
       for ( ; cell != NULL; cell = cell->next )
@@ -1434,48 +1333,25 @@
         TArea  area;
 
 
-        if ( cell->x > x && cover != 0 )
-          gray_hline( RAS_VAR_ x, yindex, (TArea)cover * ( ONE_PIXEL * 2 ),
+        if ( cover != 0 && cell->x > x )
+          gray_hline( RAS_VAR_ x, y, (TArea)cover * ( ONE_PIXEL * 2 ),
                       cell->x - x );
 
         cover += cell->cover;
         area   = (TArea)cover * ( ONE_PIXEL * 2 ) - cell->area;
 
-        if ( area != 0 && cell->x >= 0 )
-          gray_hline( RAS_VAR_ cell->x, yindex, area, 1 );
+        if ( area != 0 && cell->x >= ras.min_ex )
+          gray_hline( RAS_VAR_ cell->x, y, area, 1 );
 
         x = cell->x + 1;
       }
 
       if ( cover != 0 )
-        gray_hline( RAS_VAR_ x, yindex, (TArea)cover * ( ONE_PIXEL * 2 ),
-                    ras.count_ex - x );
+        gray_hline( RAS_VAR_ x, y, (TArea)cover * ( ONE_PIXEL * 2 ),
+                    ras.max_ex - x );
     }
 
-    if ( ras.render_span && ras.num_gray_spans > 0 )
-      ras.render_span( ras.span_y, ras.num_gray_spans,
-                       ras.gray_spans, ras.render_span_data );
-
-#ifdef FT_DEBUG_LEVEL_TRACE
-
-    if ( ras.num_gray_spans > 0 )
-    {
-      FT_Span*  span;
-      int       n;
-
-
-      FT_TRACE7(( "y = %3d ", ras.span_y ));
-      span = ras.gray_spans;
-      for ( n = 0; n < ras.num_gray_spans; n++, span++ )
-        FT_TRACE7(( "[%d..%d]:%02x ",
-                    span->x, span->x + span->len - 1, span->coverage ));
-      FT_TRACE7(( "\n" ));
-    }
-
     FT_TRACE7(( "gray_sweep: end\n" ));
-
-#endif /* FT_DEBUG_LEVEL_TRACE */
-
   }
 
 
@@ -1839,13 +1715,6 @@
 #endif /* STANDALONE_ */
 
 
-  typedef struct  gray_TBand_
-  {
-    TCoord  min, max;
-
-  } gray_TBand;
-
-
   FT_DEFINE_OUTLINE_FUNCS(
     func_interface,
 
@@ -1892,20 +1761,21 @@
   static int
   gray_convert_glyph( RAS_ARG )
   {
-    TCell        buffer[FT_MAX_GRAY_POOL];
-    TCoord       band_size = FT_MAX_GRAY_POOL / 8;
-    int          num_bands;
-    TCoord       min, max, max_y;
-    gray_TBand   bands[32];  /* enough to accommodate bisections */
-    gray_TBand*  band;
+    TCell    buffer[FT_MAX_GRAY_POOL];
+    TCoord   band_size = FT_MAX_GRAY_POOL / 8;
+    TCoord   count = ras.max_ey - ras.min_ey;
+    int      num_bands;
+    TCoord   min, max, max_y;
+    TCoord   bands[32];  /* enough to accommodate bisections */
+    TCoord*  band;
 
 
     /* set up vertical bands */
-    if ( ras.count_ey > band_size )
+    if ( count > band_size )
     {
       /* two divisions rounded up */
-      num_bands = (int)( ( ras.count_ey + band_size - 1) / band_size );
-      band_size = ( ras.count_ey + num_bands - 1 ) / num_bands;
+      num_bands = (int)( ( count + band_size - 1) / band_size );
+      band_size = ( count + num_bands - 1 ) / num_bands;
     }
 
     min   = ras.min_ey;
@@ -1917,19 +1787,19 @@
       if ( max > max_y )
         max = max_y;
 
-      bands[0].min = min;
-      bands[0].max = max;
-      band         = bands;
+      band    = bands;
+      band[1] = min;
+      band[0] = max;
 
       do
       {
-        TCoord  bottom, top, middle;
+        TCoord  width = band[0] - band[1];
         int     error;
 
 
         /* memory management */
         {
-          size_t  ycount = (size_t)( band->max - band->min );
+          size_t  ycount = (size_t)width;
           size_t  cell_start;
 
 
@@ -1949,9 +1819,8 @@
 
         ras.num_cells = 0;
         ras.invalid   = 1;
-        ras.min_ey    = band->min;
-        ras.max_ey    = band->max;
-        ras.count_ey  = band->max - band->min;
+        ras.min_ey    = band[1];
+        ras.max_ey    = ras.ey = band[0];
 
         error = gray_convert_glyph_inner( RAS_VAR );
 
@@ -1966,23 +1835,19 @@
 
       ReduceBands:
         /* render pool overflow; we will reduce the render band by half */
-        bottom = band->min;
-        top    = band->max;
-        middle = bottom + ( ( top - bottom ) >> 1 );
+        width >>= 1;
 
         /* This is too complex for a single scanline; there must */
         /* be some problems.                                     */
-        if ( middle == bottom )
+        if ( width == 0 )
         {
           FT_TRACE7(( "gray_convert_glyph: rotten glyph\n" ));
           return 1;
         }
 
-        band[1].min = bottom;
-        band[1].max = middle;
-        band[0].min = middle;
-        band[0].max = top;
         band++;
+        band[1]  = band[0];
+        band[0] += width;
       } while ( band >= bands );
     }
 
@@ -1998,12 +1863,18 @@
     const FT_Bitmap*   target_map  = params->target;
     FT_BBox            cbox, clip;
 
+#ifndef FT_STATIC_RASTER
     gray_TWorker  worker[1];
+#endif
 
 
     if ( !raster )
       return FT_THROW( Invalid_Argument );
 
+    /* this version does not support monochrome rendering */
+    if ( !( params->flags & FT_RASTER_FLAG_AA ) )
+      return FT_THROW( Invalid_Mode );
+
     if ( !outline )
       return FT_THROW( Invalid_Outline );
 
@@ -2018,9 +1889,19 @@
            outline->contours[outline->n_contours - 1] + 1 )
       return FT_THROW( Invalid_Outline );
 
-    /* if direct mode is not set, we must have a target bitmap */
-    if ( !( params->flags & FT_RASTER_FLAG_DIRECT ) )
+    ras.outline = *outline;
+
+    if ( params->flags & FT_RASTER_FLAG_DIRECT )
     {
+      if ( !params->gray_spans )
+        return 0;
+
+      ras.render_span      = (FT_Raster_Span_Func)params->gray_spans;
+      ras.render_span_data = params->user;
+    }
+    else
+    {
+      /* if direct mode is not set, we must have a target bitmap */
       if ( !target_map )
         return FT_THROW( Invalid_Argument );
 
@@ -2030,12 +1911,19 @@
 
       if ( !target_map->buffer )
         return FT_THROW( Invalid_Argument );
+
+      if ( target_map->pitch < 0 )
+        ras.target.origin = target_map->buffer;
+      else
+        ras.target.origin = target_map->buffer
+              + ( target_map->rows - 1 ) * (unsigned int)target_map->pitch;
+
+      ras.target.pitch = target_map->pitch;
+
+      ras.render_span      = (FT_Raster_Span_Func)NULL;
+      ras.render_span_data = NULL;
     }
 
-    /* this version does not support monochrome rendering */
-    if ( !( params->flags & FT_RASTER_FLAG_AA ) )
-      return FT_THROW( Invalid_Mode );
-
     FT_Outline_Get_CBox( outline, &cbox );
 
     /* reject too large outline coordinates */
@@ -2077,23 +1965,6 @@
     if ( ras.max_ex <= ras.min_ex || ras.max_ey <= ras.min_ey )
       return 0;
 
-    ras.count_ex = ras.max_ex - ras.min_ex;
-    ras.count_ey = ras.max_ey - ras.min_ey;
-
-    ras.outline        = *outline;
-
-    if ( params->flags & FT_RASTER_FLAG_DIRECT )
-    {
-      ras.render_span      = (FT_Raster_Span_Func)params->gray_spans;
-      ras.render_span_data = params->user;
-    }
-    else
-    {
-      ras.target           = *target_map;
-      ras.render_span      = (FT_Raster_Span_Func)gray_render_span;
-      ras.render_span_data = &ras;
-    }
-
     return gray_convert_glyph( RAS_VAR );
   }
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/Makefile
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/Makefile	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/Makefile	2016-09-13 10:10:45 UTC (rev 42052)
@@ -5,8 +5,13 @@
 OBJ_DIR ?= $(TOP_DIR)/objs
 
 
-# The setup below is for gcc on a Unix-like platform.
+# The setup below is for gcc on a Unix-like platform,
+# where FreeType has been set up to create a static library
+# (which is the default).
 
+VPATH = $(OBJ_DIR) \
+        $(OBJ_DIR)/.libs
+
 SRC_DIR = $(TOP_DIR)/src/tools/ftrandom
 
 CC = gcc
@@ -20,16 +25,21 @@
          -Wchar-subscripts \
          -Wsequence-point
 CFLAGS = $(WFLAGS) \
-         -g \
-         -I $(TOP_DIR)/include
+         -g
+INCLUDES = -I $(TOP_DIR)/include
+LDFLAGS =
 LIBS = -lm \
-       -L $(OBJ_DIR) \
-       -lfreetype \
-       -lz
+       -lz \
+       -lpng \
+       -lbz2 \
+       -lharfbuzz
 
 all: $(OBJ_DIR)/ftrandom
 
-$(OBJ_DIR)/ftrandom: $(SRC_DIR)/ftrandom.c $(OBJ_DIR)/libfreetype.a
-	$(CC) -o $(OBJ_DIR)/ftrandom $(CFLAGS) $(SRC_DIR)/ftrandom.c $(LIBS)
+$(OBJ_DIR)/ftrandom.o: $(SRC_DIR)/ftrandom.c
+	$(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
 
+$(OBJ_DIR)/ftrandom: $(OBJ_DIR)/ftrandom.o libfreetype.a
+	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+
 # EOF

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/README
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/README	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/README	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1,48 +1,69 @@
 ftrandom
---------
+========
 
 This program expects a set of directories containing good fonts, and a set
 of extensions of fonts to be tested.  It will randomly pick a font, copy it,
-introduce and error and then test it.
+introduce an error and then test it.
 
-The FreeType tests are quite basic:
+The FreeType tests are quite basic; for each erroneous font ftrandom
 
-  For each erroneous font it
-    forks off a new tester;
-    initializes the library;
-    opens each font in the file;
-    loads each glyph;
-      (optionally reviewing the contours of the glyph)
-      (optionally rasterizing)
-    closes the face.
+  . forks off a new tester,
+  . initializes the library,
+  . opens each font in the file,
+  . loads each glyph,
+  . optionally reviews the contours of the glyph,
+  . optionally rasterizes the glyph, and
+  . closes the face.
 
-If the tester exits with a signal, or takes longer than 20 seconds then
-ftrandom saves the erroneous font and continues.  If the tester exits
-normally or with an error, then the superstructure removes the test font and
-continues.
+If a tester takes longer than 20 seconds, ftrandom saves the erroneous font
+and continues.  If the tester exits normally or with an error, then the
+superstructure removes the test font and continues.
 
-Arguments are:
 
+Command line options
+--------------------
+
   --all                    Test every font in the directory(ies) no matter
-                           what its extension (some CID-keyed fonts have no
-                           extension).
-  --check-outlines         Call FT_Outline_Decompose on each glyph.
+                           what its extension.
+  --check-outlines         Call `FT_Outline_Decompose' on each glyph.
   --dir <dir>              Append <dir> to the list of directories to search
-                           for good fonts.
+                           for good fonts.  No recursive search.
   --error-count <cnt>      Introduce <cnt> single-byte errors into the
-                           erroneous fonts.
+                           erroneous fonts (default: 1).
   --error-fraction <frac>  Multiply the file size of the font by <frac> and
                            introduce that many errors into the erroneous
-                           font file.
-  --ext <ext>              Add <ext> to the set of font types tested.  Known
-                           extensions are `ttf', `otf', `ttc', `cid', `pfb',
-                           `pfa', `bdf', `pcf', `pfr', `fon', `otb', and
-                           `cff'.
+                           font file.  <frac> should be in the range [0;1]
+                           (default: 0.0).
+  --ext <ext>              Add <ext> to the set of font types tested.
   --help                   Print out this list of options.
   --nohints                Specify FT_LOAD_NO_HINTING when loading glyphs.
-  --rasterize              Call FT_Render_Glyph as well as loading it.
+  --rasterize              Call `FT_Render_Glyph' as well as loading it.
   --result <dir>           This is the directory in which test files are
                            placed.
   --test <file>            Run a single test on a pre-generated testcase.
-                           Done in the current process so it can be debugged
-                           more easily.
+                           This is done in the current process so it can be
+                           debugged more easily.
+
+The default font extensions tested by ftrandom are
+
+  .ttf .otf .ttc .cid .pfb .pfa .bdf .pcf .pfr .fon .otb .cff
+
+The default font directory is controlled by the macro `GOOD_FONTS_DIR' in
+the source code (and can be thus specified during compilation); its default
+value is
+
+  /usr/local/share/fonts
+
+The default result directory is `results' (in the current directory).
+
+
+Compilation
+-----------
+
+Two possible solutions.
+
+. Run ftrandom within a debugging tool like `valgrind' to catch various
+  memory issues.
+
+. Compile FreeType with sanitizer flags as provided by gcc or clang, for
+  example, then link it with ftrandom.

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/ftrandom.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/ftrandom.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/tools/ftrandom/ftrandom.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -29,6 +29,9 @@
 /* This file is now part of the FreeType library */
 
 
+#define _XOPEN_SOURCE 500 /* for `kill', `strdup', `random', and `srandom' */
+
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -38,7 +41,6 @@
 #include <sys/wait.h>
 #include <unistd.h>
 #include <dirent.h>
-#include <math.h>
 #include <signal.h>
 #include <time.h>
 
@@ -56,7 +58,7 @@
   static int    rasterize      = false;
   static char*  results_dir    = "results";
 
-#define GOOD_FONTS_DIR  "/home/wl/freetype-testfonts"
+#define GOOD_FONTS_DIR  "/usr/local/share/fonts"
 
   static char*  default_dir_list[] =
   {
@@ -81,8 +83,8 @@
     NULL
   };
 
-  static int  error_count    = 1;
-  static int  error_fraction = 0;
+  static unsigned int  error_count    = 1;
+  static double        error_fraction = 0.0;
 
   static FT_F26Dot6  font_size = 12 * 64;
 
@@ -89,7 +91,7 @@
   static struct fontlist
   {
     char*         name;
-    int           len;
+    long          len;
     unsigned int  isbinary: 1;
     unsigned int  isascii: 1;
     unsigned int  ishex: 1;
@@ -96,7 +98,7 @@
 
   } *fontlist;
 
-  static int  fcnt;
+  static unsigned int  fcnt;
 
 
   static int
@@ -103,6 +105,9 @@
   FT_MoveTo( const FT_Vector  *to,
              void             *user )
   {
+    FT_UNUSED( to );
+    FT_UNUSED( user );
+
     return 0;
   }
 
@@ -111,6 +116,9 @@
   FT_LineTo( const FT_Vector  *to,
              void             *user )
   {
+    FT_UNUSED( to );
+    FT_UNUSED( user );
+
     return 0;
   }
 
@@ -120,6 +128,10 @@
               const FT_Vector  *to,
               void             *user )
   {
+    FT_UNUSED( _cp );
+    FT_UNUSED( to );
+    FT_UNUSED( user );
+
     return 0;
   }
 
@@ -130,6 +142,11 @@
               const FT_Vector  *to,
               void             *user )
   {
+    FT_UNUSED( cp1 );
+    FT_UNUSED( cp2 );
+    FT_UNUSED( to );
+    FT_UNUSED( user );
+
     return 0;
   }
 
@@ -147,8 +164,8 @@
   static void
   TestFace( FT_Face  face )
   {
-    int  gid;
-    int  load_flags = FT_LOAD_DEFAULT;
+    unsigned int  gid;
+    int           load_flags = FT_LOAD_DEFAULT;
 
 
     if ( check_outlines         &&
@@ -202,7 +219,7 @@
       TestFace( face );
     else
     {
-      int  i, num;
+      long  i, num;
 
 
       num = face->num_faces;
@@ -215,6 +232,8 @@
       }
     }
 
+    FT_Done_FreeType( context );
+
     exit( 0 );
   }
 
@@ -329,9 +348,10 @@
   FindFonts( char**  fontdirs,
              char**  extensions )
   {
-    int          i, max;
-    char         buffer[1025];
-    struct stat  statb;
+    int           i;
+    unsigned int  max;
+    char          buffer[1025];
+    struct stat   statb;
 
 
     max  = 0;
@@ -392,13 +412,13 @@
   }
 
 
-  static int
+  static unsigned int
   getErrorCnt( struct fontlist*  item )
   {
-    if ( error_count == 0 && error_fraction == 0 )
+    if ( error_count == 0 && error_fraction == 0.0 )
       return 0;
 
-    return error_count + ceil( error_fraction * item->len );
+    return error_count + (unsigned int)( error_fraction * item->len );
   }
 
 
@@ -417,10 +437,10 @@
   copyfont( struct fontlist*  item,
             char*             newfont )
   {
-    static char  buffer[8096];
-    FILE         *good, *new;
-    int          len;
-    int          i, err_cnt;
+    static char   buffer[8096];
+    FILE          *good, *new;
+    size_t        len;
+    unsigned int  i, err_cnt;
 
 
     good = fopen( item->name, "r" );
@@ -446,7 +466,7 @@
     err_cnt = getErrorCnt( item );
     for ( i = 0; i < err_cnt; ++i )
     {
-      fseek( new, getRandom( 0, item->len - 1 ), SEEK_SET );
+      fseek( new, getRandom( 0, (int)( item->len - 1 ) ), SEEK_SET );
 
       if ( item->isbinary )
         putc( getRandom( 0, 0xFF ), new );
@@ -484,6 +504,8 @@
   static void
   abort_test( int  sig )
   {
+    FT_UNUSED( sig );
+
     /* If a time-out happens, then kill the child */
     kill( child_pid, SIGFPE );
     write( 2, "Timeout... ", 11 );
@@ -493,7 +515,7 @@
   static void
   do_test( void )
   {
-    int         i        = getRandom( 0, fcnt - 1 );
+    int         i        = getRandom( 0, (int)( fcnt - 1 ) );
     static int  test_num = 0;
     char        buffer[1024];
 
@@ -534,22 +556,42 @@
   usage( FILE*  out,
          char*  name )
   {
+    char**  d = default_dir_list;
+    char**  e = default_ext_list;
+
+
     fprintf( out, "%s [options] -- Generate random erroneous fonts\n"
                   "  and attempt to parse them with FreeType.\n\n", name );
 
     fprintf( out, "  --all                    All non-directory files are assumed to be fonts.\n" );
     fprintf( out, "  --check-outlines         Make sure we can parse the outlines of each glyph.\n" );
-    fprintf( out, "  --dir <path>             Append <path> to list of font search directories.\n" );
-    fprintf( out, "  --error-count <cnt>      Introduce <cnt> single byte errors into each font.\n" );
+    fprintf( out, "  --dir <path>             Append <path> to list of font search directories\n"
+                  "                           (no recursive search).\n" );
+    fprintf( out, "  --error-count <cnt>      Introduce <cnt> single byte errors into each font\n"
+                  "                           (default: 1)\n" );
     fprintf( out, "  --error-fraction <frac>  Introduce <frac>*filesize single byte errors\n"
-                  "                           into each font.\n" );
+                  "                           into each font (default: 0.0).\n" );
     fprintf( out, "  --ext <ext>              Add <ext> to list of extensions indicating fonts.\n" );
     fprintf( out, "  --help                   Print this.\n" );
     fprintf( out, "  --nohints                Turn off hinting.\n" );
     fprintf( out, "  --rasterize              Attempt to rasterize each glyph.\n" );
-    fprintf( out, "  --results <dir>          Directory in which to place the test fonts.\n" );
+    fprintf( out, "  --results <path>         Place the created test fonts into <path>\n"
+                  "                           (default: `results')\n" );
     fprintf( out, "  --size <float>           Use the given font size for the tests.\n" );
     fprintf( out, "  --test <file>            Run a single test on an already existing file.\n" );
+    fprintf( out, "\n" );
+
+    fprintf( out, "Default font extensions:\n" );
+    fprintf( out, " " );
+    while ( *e )
+      fprintf( out, " .%s", *e++ );
+    fprintf( out, "\n" );
+
+    fprintf( out, "Default font directories:\n" );
+    fprintf( out, " " );
+    while ( *d )
+      fprintf( out, " %s", *d++ );
+    fprintf( out, "\n" );
   }
 
 
@@ -564,8 +606,8 @@
     char*   testfile = NULL;
 
 
-    dirs = calloc( argc + 1, sizeof ( char ** ) );
-    exts = calloc( argc + 1, sizeof ( char ** ) );
+    dirs = calloc( (size_t)( argc + 1 ), sizeof ( char ** ) );
+    exts = calloc( (size_t)( argc + 1 ), sizeof ( char ** ) );
 
     for ( i = 1; i < argc; ++i )
     {
@@ -585,9 +627,9 @@
       else if ( strcmp( pt, "-error-count" ) == 0 )
       {
         if ( !rset )
-          error_fraction = 0;
+          error_fraction = 0.0;
         rset = true;
-        error_count = strtol( argv[++i], &end, 10 );
+        error_count = (unsigned int)strtoul( argv[++i], &end, 10 );
         if ( *end != '\0' )
         {
           fprintf( stderr, "Bad value for error-count: %s\n", argv[i] );
@@ -605,6 +647,11 @@
           fprintf( stderr, "Bad value for error-fraction: %s\n", argv[i] );
           exit( 1 );
         }
+        if ( error_fraction < 0.0 || error_fraction > 1.0 )
+        {
+          fprintf( stderr, "error-fraction must be in the range [0;1]\n" );
+          exit( 1 );
+        }
       }
       else if ( strcmp( pt, "-ext" ) == 0 )
         exts[ecnt++] = argv[++i];
@@ -658,7 +705,7 @@
       ExecuteTest( testfile );         /* This should never return */
 
     time( &now );
-    srandom( now );
+    srandom( (unsigned int)now );
 
     FindFonts( dirs, exts );
     mkdir( results_dir, 0755 );

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttdriver.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttdriver.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttdriver.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -61,26 +61,48 @@
   static FT_Error
   tt_property_set( FT_Module    module,         /* TT_Driver */
                    const char*  property_name,
-                   const void*  value )
+                   const void*  value,
+                   FT_Bool      value_is_string )
   {
     FT_Error   error  = FT_Err_Ok;
     TT_Driver  driver = (TT_Driver)module;
 
+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+    FT_UNUSED( value_is_string );
+#endif
 
+
     if ( !ft_strcmp( property_name, "interpreter-version" ) )
     {
-      FT_UInt*  interpreter_version = (FT_UInt*)value;
+      FT_UInt  interpreter_version;
 
 
-      if ( *interpreter_version == TT_INTERPRETER_VERSION_35
+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+      if ( value_is_string )
+      {
+        const char*  s = (const char*)value;
+
+
+        interpreter_version = (FT_UInt)ft_strtol( s, NULL, 10 );
+      }
+      else
+#endif
+      {
+        FT_UInt*  iv = (FT_UInt*)value;
+
+
+        interpreter_version = *iv;
+      }
+
+      if ( interpreter_version == TT_INTERPRETER_VERSION_35
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-           || *interpreter_version == TT_INTERPRETER_VERSION_38
+           || interpreter_version == TT_INTERPRETER_VERSION_38
 #endif
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
-           || *interpreter_version == TT_INTERPRETER_VERSION_40
+           || interpreter_version == TT_INTERPRETER_VERSION_40
 #endif
          )
-        driver->interpreter_version = *interpreter_version;
+        driver->interpreter_version = interpreter_version;
       else
         error = FT_ERR( Unimplemented_Feature );
 
@@ -317,6 +339,25 @@
     {
       error = tt_size_reset( ttsize );
       ttsize->root.metrics = ttsize->metrics;
+
+#ifdef TT_USE_BYTECODE_INTERPRETER
+      /* for the `MPS' bytecode instruction we need the point size */
+      {
+        FT_UInt  resolution = ttsize->metrics.x_ppem > ttsize->metrics.y_ppem
+                                ? req->horiResolution
+                                : req->vertResolution;
+
+
+        /* if we don't have a resolution value, assume 72dpi */
+        if ( req->type == FT_SIZE_REQUEST_TYPE_SCALES ||
+             !resolution                              )
+          resolution = 72;
+
+        ttsize->point_size = FT_MulDiv( ttsize->ttmetrics.ppem,
+                                        64 * 72,
+                                        resolution );
+      }
+#endif
     }
 
     return error;

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgload.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgload.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgload.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -1436,13 +1436,12 @@
       FT_TRACE5(( "  nesting level: %d\n", recurse_count ));
 #endif
 
-    /* some fonts have an incorrect value of `maxComponentDepth', */
-    /* thus we allow depth 1 to catch the majority of them        */
-    if ( recurse_count > 1                                   &&
-         recurse_count > face->max_profile.maxComponentDepth )
+    /* some fonts have an incorrect value of `maxComponentDepth' */
+    if ( recurse_count > face->max_profile.maxComponentDepth )
     {
-      error = FT_THROW( Invalid_Composite );
-      goto Exit;
+      FT_TRACE1(( "load_truetype_glyph: maxComponentDepth set to %d\n",
+                  recurse_count ));
+      face->max_profile.maxComponentDepth = (FT_UShort)recurse_count;
     }
 
 #ifndef FT_CONFIG_OPTION_INCREMENTAL
@@ -1808,11 +1807,11 @@
 
         for ( i = 0; i < limit; i++, subglyph++ )
         {
-          /* XXX: overflow check for subglyph->{arg1,arg2}.         */
-          /*      Deltas must be within signed 16-bit,              */
-          /*      but the restriction of summed deltas is not clear */
-          subglyph->arg1 = (FT_Int16)points[i].x;
-          subglyph->arg2 = (FT_Int16)points[i].y;
+          if ( subglyph->flags & ARGS_ARE_XY_VALUES )
+          {
+            subglyph->arg1 = (FT_Int16)points[i].x;
+            subglyph->arg2 = (FT_Int16)points[i].y;
+          }
         }
 
         loader->pp1.x = points[i + 0].x;

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgxvar.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgxvar.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttgxvar.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -158,12 +158,16 @@
       return NULL;
     }
 
-    if ( FT_NEW_ARRAY( points, n ) )
+    /* in the nested loops below we increase `i' twice; */
+    /* it is faster to simply allocate one more slot    */
+    /* than to add another test within the loop         */
+    if ( FT_NEW_ARRAY( points, n + 1 ) )
       return NULL;
 
     *point_cnt = n;
 
-    i = 0;
+    first = 0;
+    i     = 0;
     while ( i < n )
     {
       runcnt = FT_GET_BYTE();
@@ -170,36 +174,33 @@
       if ( runcnt & GX_PT_POINTS_ARE_WORDS )
       {
         runcnt     &= GX_PT_POINT_RUN_COUNT_MASK;
-        first       = FT_GET_USHORT();
+        first      += FT_GET_USHORT();
         points[i++] = first;
 
-        if ( runcnt < 1 || i + runcnt > n )
-          goto Exit;
-
         /* first point not included in run count */
         for ( j = 0; j < runcnt; j++ )
         {
           first      += FT_GET_USHORT();
           points[i++] = first;
+          if ( i >= n )
+            break;
         }
       }
       else
       {
-        first       = FT_GET_BYTE();
+        first      += FT_GET_BYTE();
         points[i++] = first;
 
-        if ( runcnt < 1 || i + runcnt > n )
-          goto Exit;
-
         for ( j = 0; j < runcnt; j++ )
         {
           first      += FT_GET_BYTE();
           points[i++] = first;
+          if ( i >= n )
+            break;
         }
       }
     }
 
-  Exit:
     return points;
   }
 
@@ -1716,12 +1717,11 @@
   /* modeled after `Ins_IUP */
 
   static void
-  tt_handle_deltas( FT_Outline*  outline,
-                    FT_Vector*   in_points,
-                    FT_Bool*     has_delta )
+  tt_interpolate_deltas( FT_Outline*  outline,
+                         FT_Vector*   out_points,
+                         FT_Vector*   in_points,
+                         FT_Bool*     has_delta )
   {
-    FT_Vector*  out_points;
-
     FT_Int  first_point;
     FT_Int  end_point;
 
@@ -1736,8 +1736,6 @@
     if ( !outline->n_contours )
       return;
 
-    out_points = outline->points;
-
     contour = 0;
     point   = 0;
 
@@ -1841,6 +1839,7 @@
     GX_Blend    blend  = face->blend;
 
     FT_Vector*  points_org = NULL;
+    FT_Vector*  points_out = NULL;
     FT_Bool*    has_delta  = NULL;
 
     FT_Error    error;
@@ -1872,6 +1871,7 @@
     }
 
     if ( FT_NEW_ARRAY( points_org, n_points ) ||
+         FT_NEW_ARRAY( points_out, n_points ) ||
          FT_NEW_ARRAY( has_delta, n_points )  )
       goto Fail1;
 
@@ -1894,7 +1894,8 @@
     offsetToData = FT_GET_USHORT();
 
     /* rough sanity test */
-    if ( offsetToData + tupleCount * 4 > blend->gvar_size )
+    if ( offsetToData + ( tupleCount & GX_TC_TUPLE_COUNT_MASK ) * 4 >
+           blend->gvar_size )
     {
       FT_TRACE2(( "TT_Vary_Apply_Glyph_Deltas:"
                   " invalid glyph variation array header\n" ));
@@ -1922,6 +1923,9 @@
     FT_TRACE5(( "gvar: there are %d tuples:\n",
                 tupleCount & GX_TC_TUPLE_COUNT_MASK ));
 
+    for ( j = 0; j < n_points; j++ )
+      points_org[j] = outline->points[j];
+
     for ( i = 0; i < ( tupleCount & GX_TC_TUPLE_COUNT_MASK ); i++ )
     {
       FT_UInt   tupleDataSize;
@@ -1976,10 +1980,10 @@
 
       here = FT_Stream_FTell( stream );
 
+      FT_Stream_SeekSet( stream, offsetToData );
+
       if ( tupleIndex & GX_TI_PRIVATE_POINT_NUMBERS )
       {
-        FT_Stream_SeekSet( stream, offsetToData );
-
         localpoints = ft_var_readpackedpoints( stream,
                                                blend->gvar_size,
                                                &point_count );
@@ -2015,22 +2019,20 @@
         /* this means that there are deltas for every point in the glyph */
         for ( j = 0; j < n_points; j++ )
         {
-#ifdef FT_DEBUG_LEVEL_TRACE
-          FT_Vector  point_org = outline->points[j];
-#endif
+          FT_Pos  delta_x = FT_MulFix( deltas_x[j], apply );
+          FT_Pos  delta_y = FT_MulFix( deltas_y[j], apply );
 
 
-          outline->points[j].x += FT_MulFix( deltas_x[j], apply );
-          outline->points[j].y += FT_MulFix( deltas_y[j], apply );
+          outline->points[j].x += delta_x;
+          outline->points[j].y += delta_y;
 
 #ifdef FT_DEBUG_LEVEL_TRACE
-          if ( ( point_org.x != outline->points[j].x ) ||
-               ( point_org.y != outline->points[j].y ) )
+          if ( delta_x || delta_y )
           {
             FT_TRACE7(( "      %d: (%d, %d) -> (%d, %d)\n",
                         j,
-                        point_org.x,
-                        point_org.y,
+                        outline->points[j].x - delta_x,
+                        outline->points[j].y - delta_y,
                         outline->points[j].x,
                         outline->points[j].y ));
             count++;
@@ -2044,9 +2046,6 @@
 #endif
       }
 
-      else if ( localpoints == NULL )
-        ; /* failure, ignore it */
-
       else
       {
 #ifdef FT_DEBUG_LEVEL_TRACE
@@ -2058,13 +2057,13 @@
         /* IUP bytecode instruction                                 */
         for ( j = 0; j < n_points; j++ )
         {
-          points_org[j] = outline->points[j];
           has_delta[j]  = FALSE;
+          points_out[j] = points_org[j];
         }
 
         for ( j = 0; j < point_count; j++ )
         {
-          FT_UShort  idx = localpoints[j];
+          FT_UShort  idx = points[j];
 
 
           if ( idx >= n_points )
@@ -2072,34 +2071,43 @@
 
           has_delta[idx] = TRUE;
 
-          outline->points[idx].x += FT_MulFix( deltas_x[j], apply );
-          outline->points[idx].y += FT_MulFix( deltas_y[j], apply );
+          points_out[idx].x += FT_MulFix( deltas_x[j], apply );
+          points_out[idx].y += FT_MulFix( deltas_y[j], apply );
         }
 
         /* no need to handle phantom points here,      */
         /* since solitary points can't be interpolated */
-        tt_handle_deltas( outline,
-                          points_org,
-                          has_delta );
+        tt_interpolate_deltas( outline,
+                               points_out,
+                               points_org,
+                               has_delta );
 
-#ifdef FT_DEBUG_LEVEL_TRACE
         FT_TRACE7(( "    point deltas:\n" ));
 
-        for ( j = 0; j < n_points; j++)
+        for ( j = 0; j < n_points; j++ )
         {
-          if ( ( points_org[j].x != outline->points[j].x ) ||
-               ( points_org[j].y != outline->points[j].y ) )
+          FT_Pos  delta_x = points_out[j].x - points_org[j].x;
+          FT_Pos  delta_y = points_out[j].y - points_org[j].y;
+
+
+          outline->points[j].x += delta_x;
+          outline->points[j].y += delta_y;
+
+#ifdef FT_DEBUG_LEVEL_TRACE
+          if ( delta_x || delta_y )
           {
             FT_TRACE7(( "      %d: (%d, %d) -> (%d, %d)\n",
                         j,
-                        points_org[j].x,
-                        points_org[j].y,
+                        outline->points[j].x - delta_x,
+                        outline->points[j].y - delta_y,
                         outline->points[j].x,
                         outline->points[j].y ));
             count++;
           }
+#endif
         }
 
+#ifdef FT_DEBUG_LEVEL_TRACE
         if ( !count )
           FT_TRACE7(( "      none\n" ));
 #endif
@@ -2128,6 +2136,7 @@
 
   Fail1:
     FT_FREE( points_org );
+    FT_FREE( points_out );
     FT_FREE( has_delta );
 
     return error;

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -26,10 +26,14 @@
 #include FT_TRIGONOMETRY_H
 #include FT_SYSTEM_H
 #include FT_TRUETYPE_DRIVER_H
+#include FT_MULTIPLE_MASTERS_H
 
 #include "ttinterp.h"
 #include "tterrors.h"
 #include "ttsubpix.h"
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+#include "ttgxvar.h"
+#endif
 
 
 #ifdef TT_USE_BYTECODE_INTERPRETER
@@ -396,6 +400,7 @@
       exec->maxIDefs   = size->max_instruction_defs;
       exec->FDefs      = size->function_defs;
       exec->IDefs      = size->instruction_defs;
+      exec->pointSize  = size->point_size;
       exec->tt_metrics = size->ttmetrics;
       exec->metrics    = size->metrics;
 
@@ -681,17 +686,17 @@
 
     /*  IUP[0]    */  PACK( 0, 0 ),
     /*  IUP[1]    */  PACK( 0, 0 ),
-    /*  SHP[0]    */  PACK( 0, 0 ),
-    /*  SHP[1]    */  PACK( 0, 0 ),
+    /*  SHP[0]    */  PACK( 0, 0 ), /* loops */
+    /*  SHP[1]    */  PACK( 0, 0 ), /* loops */
     /*  SHC[0]    */  PACK( 1, 0 ),
     /*  SHC[1]    */  PACK( 1, 0 ),
     /*  SHZ[0]    */  PACK( 1, 0 ),
     /*  SHZ[1]    */  PACK( 1, 0 ),
-    /*  SHPIX     */  PACK( 1, 0 ),
-    /*  IP        */  PACK( 0, 0 ),
+    /*  SHPIX     */  PACK( 1, 0 ), /* loops */
+    /*  IP        */  PACK( 0, 0 ), /* loops */
     /*  MSIRP[0]  */  PACK( 2, 0 ),
     /*  MSIRP[1]  */  PACK( 2, 0 ),
-    /*  AlignRP   */  PACK( 0, 0 ),
+    /*  AlignRP   */  PACK( 0, 0 ), /* loops */
     /*  RTDG      */  PACK( 0, 0 ),
     /*  MIAP[0]   */  PACK( 2, 0 ),
     /*  MIAP[1]   */  PACK( 2, 0 ),
@@ -764,7 +769,7 @@
     /*  SANGW     */  PACK( 1, 0 ),
     /*  AA        */  PACK( 1, 0 ),
 
-    /*  FlipPT    */  PACK( 0, 0 ),
+    /*  FlipPT    */  PACK( 0, 0 ), /* loops */
     /*  FlipRgON  */  PACK( 2, 0 ),
     /*  FlipRgOFF */  PACK( 2, 0 ),
     /*  INS_$83   */  PACK( 0, 0 ),
@@ -782,8 +787,8 @@
     /*  INS_$8F   */  PACK( 0, 0 ),
 
     /*  INS_$90  */   PACK( 0, 0 ),
-    /*  INS_$91  */   PACK( 0, 0 ),
-    /*  INS_$92  */   PACK( 0, 0 ),
+    /*  GETVAR   */   PACK( 0, 0 ), /* will be handled specially */
+    /*  GETDATA  */   PACK( 0, 1 ),
     /*  INS_$93  */   PACK( 0, 0 ),
     /*  INS_$94  */   PACK( 0, 0 ),
     /*  INS_$95  */   PACK( 0, 0 ),
@@ -1065,8 +1070,13 @@
     "7 INS_$8F",
 
     "7 INS_$90",
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+    "6 GETVAR",
+    "7 GETDATA",
+#else
     "7 INS_$91",
     "7 INS_$92",
+#endif
     "7 INS_$93",
     "7 INS_$94",
     "7 INS_$95",
@@ -2574,13 +2584,20 @@
   Ins_MPS( TT_ExecContext  exc,
            FT_Long*        args )
   {
-    /* Note: The point size should be irrelevant in a given font program; */
-    /*       we thus decide to return only the PPEM value.                */
-#if 0
-    args[0] = exc->metrics.pointSize;
-#else
-    args[0] = exc->func_cur_ppem( exc );
-#endif
+    if ( NO_SUBPIXEL_HINTING )
+    {
+      /* Microsoft's GDI bytecode interpreter always returns value 12; */
+      /* we return the current PPEM value instead.                     */
+      args[0] = exc->func_cur_ppem( exc );
+    }
+    else
+    {
+      /* A possible practical application of the MPS instruction is to   */
+      /* implement optical scaling and similar features, which should be */
+      /* based on perceptual attributes, thus independent of the         */
+      /* resolution.                                                     */
+      args[0] = exc->pointSize;
+    }
   }
 
 
@@ -2873,7 +2890,7 @@
   /*                                                                       */
   /* NEG[]:        NEGate                                                  */
   /* Opcode range: 0x65                                                    */
-  /* Stack: f26.6 --> f26.6                                                */
+  /* Stack:        f26.6 --> f26.6                                         */
   /*                                                                       */
   static void
   Ins_NEG( FT_Long*  args )
@@ -3113,7 +3130,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* MAX[]:        MAXimum                                                 */
-  /* Opcode range: 0x68                                                    */
+  /* Opcode range: 0x8B                                                    */
   /* Stack:        int32? int32? --> int32                                 */
   /*                                                                       */
   static void
@@ -3127,7 +3144,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* MIN[]:        MINimum                                                 */
-  /* Opcode range: 0x69                                                    */
+  /* Opcode range: 0x8C                                                    */
   /* Stack:        int32? int32? --> int32                                 */
   /*                                                                       */
   static void
@@ -4002,6 +4019,7 @@
         exc->error = FT_THROW( Nested_DEFS );
         return;
       case 0x2D:   /* ENDF */
+        def->end = exc->IP;
         return;
       }
     }
@@ -4485,7 +4503,7 @@
   /*                                                                       */
   /* FLIPOFF[]:    Set auto-FLIP to OFF                                    */
   /* Opcode range: 0x4E                                                    */
-  /* Stack: -->                                                            */
+  /* Stack:        -->                                                     */
   /*                                                                       */
   static void
   Ins_FLIPOFF( TT_ExecContext  exc )
@@ -6088,7 +6106,6 @@
          exc->GS.freeVector.x != 0                          &&
          !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) )
       control_value_cutin = minimum_distance = 0;
-    else
 #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
 
     /* XXX: UNDOCUMENTED! cvt[-1] = 0 always */
@@ -7228,7 +7245,7 @@
     /* Return Bit(s): 8             */
     /*                              */
     if ( ( args[0] & 2 ) != 0 && exc->tt_metrics.rotated )
-      K |= 0x80;
+      K |= 1 << 8;
 
     /********************************/
     /* GLYPH STRETCHED              */
@@ -7236,9 +7253,20 @@
     /* Return Bit(s): 9             */
     /*                              */
     if ( ( args[0] & 4 ) != 0 && exc->tt_metrics.stretched )
-      K |= 1 << 8;
+      K |= 1 << 9;
 
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     /********************************/
+    /* VARIATION GLYPH              */
+    /* Selector Bit:  3             */
+    /* Return Bit(s): 10            */
+    /*                              */
+    /* XXX: UNDOCUMENTED!           */
+    if ( (args[0] & 8 ) != 0 && exc->face->blend )
+      K |= 1 << 10;
+#endif
+
+    /********************************/
     /* BI-LEVEL HINTING AND         */
     /* GRAYSCALE RENDERING          */
     /* Selector Bit:  5             */
@@ -7380,7 +7408,58 @@
   }
 
 
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* GETVARIATION[]: get normalized variation (blend) coordinates          */
+  /* Opcode range: 0x91                                                    */
+  /* Stack:        --> f2.14...                                            */
+  /*                                                                       */
+  /* XXX: UNDOCUMENTED!  There is no official documentation from Apple for */
+  /*      this bytecode instruction.  Active only if a font has GX         */
+  /*      variation axes.                                                  */
+  /*                                                                       */
   static void
+  Ins_GETVARIATION( TT_ExecContext  exc,
+                    FT_Long*        args )
+  {
+    FT_UInt    num_axes = exc->face->blend->num_axis;
+    FT_Fixed*  coords   = exc->face->blend->normalizedcoords;
+
+    FT_UInt  i;
+
+
+    if ( BOUNDS( num_axes, exc->stackSize + 1 - exc->top ) )
+    {
+      exc->error = FT_THROW( Stack_Overflow );
+      return;
+    }
+
+    for ( i = 0; i < num_axes; i++ )
+      args[i] = coords[i] >> 2; /* convert 16.16 to 2.14 format */
+  }
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* GETDATA[]:    no idea what this is good for                           */
+  /* Opcode range: 0x92                                                    */
+  /* Stack:        --> 17                                                  */
+  /*                                                                       */
+  /* XXX: UNDOCUMENTED!  There is no documentation from Apple for this     */
+  /*      very weird bytecode instruction.                                 */
+  /*                                                                       */
+  static void
+  Ins_GETDATA( FT_Long*  args )
+  {
+    args[0] = 17;
+  }
+
+#endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
+
+
+  static void
   Ins_UNKNOWN( TT_ExecContext  exc )
   {
     TT_DefRecord*  def   = exc->IDefs;
@@ -7566,8 +7645,22 @@
         exc->args = 0;
       }
 
-      exc->new_top = exc->args + ( Pop_Push_Count[exc->opcode] & 15 );
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+      if ( exc->opcode == 0x91 )
+      {
+        /* this is very special: GETVARIATION returns */
+        /* a variable number of arguments             */
 
+        /* it is the job of the application to `activate' GX handling, */
+        /* this is, calling any of the GX API functions on the current */
+        /* font to select a variation instance                         */
+        if ( exc->face->blend )
+          exc->new_top = exc->args + exc->face->blend->num_axis;
+      }
+      else
+#endif
+        exc->new_top = exc->args + ( Pop_Push_Count[exc->opcode] & 15 );
+
       /* `new_top' is the new top of the stack, after the instruction's */
       /* execution.  `top' will be set to `new_top' after the `switch'  */
       /* statement.                                                     */
@@ -7759,7 +7852,7 @@
           Ins_ALIGNPTS( exc, args );
           break;
 
-        case 0x28:  /* ???? */
+        case 0x28:  /* RAW */
           Ins_UNKNOWN( exc );
           break;
 
@@ -8111,10 +8204,33 @@
           Ins_INSTCTRL( exc, args );
           break;
 
-        case 0x8F:
+        case 0x8F:  /* ADJUST */
+        case 0x90:  /* ADJUST */
           Ins_UNKNOWN( exc );
           break;
 
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+        case 0x91:
+          /* it is the job of the application to `activate' GX handling, */
+          /* this is, calling any of the GX API functions on the current */
+          /* font to select a variation instance                         */
+          if ( exc->face->blend )
+            Ins_GETVARIATION( exc, args );
+          else
+            Ins_UNKNOWN( exc );
+          break;
+
+        case 0x92:
+          /* there is at least one MS font (LaoUI.ttf version 5.01) that */
+          /* uses IDEFs for 0x91 and 0x92; for this reason we activate   */
+          /* GETDATA for GX fonts only, similar to GETVARIATION          */
+          if ( exc->face->blend )
+            Ins_GETDATA( args );
+          else
+            Ins_UNKNOWN( exc );
+          break;
+#endif
+
         default:
           if ( opcode >= 0xE0 )
             Ins_MIRP( exc, args );

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttinterp.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -170,6 +170,7 @@
                        pts,
                        twilight;
 
+    FT_Long            pointSize;  /* in 26.6 format */
     FT_Size_Metrics    metrics;
     TT_Size_Metrics    tt_metrics; /* size metrics */
 

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttobjs.h
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttobjs.h	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/truetype/ttobjs.h	2016-09-13 10:10:45 UTC (rev 42052)
@@ -286,6 +286,8 @@
 
 #ifdef TT_USE_BYTECODE_INTERPRETER
 
+    FT_Long            point_size;    /* for the `MPS' bytecode instruction */
+
     FT_UInt            num_function_defs; /* number of function definitions */
     FT_UInt            max_function_defs;
     TT_DefArray        function_defs;     /* table of function definitions  */

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/type1/t1load.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/type1/t1load.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/type1/t1load.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -321,7 +321,7 @@
 
     mmvar->num_axis        = mmaster.num_axis;
     mmvar->num_designs     = mmaster.num_designs;
-    mmvar->num_namedstyles = ~0U;                        /* Does not apply */
+    mmvar->num_namedstyles = 0;                           /* Not supported */
     mmvar->axis            = (FT_Var_Axis*)&mmvar[1];
                                       /* Point to axes after MM_Var struct */
     mmvar->namedstyle      = NULL;
@@ -1776,6 +1776,12 @@
       }
     }
 
+    if ( !n )
+    {
+      error = FT_THROW( Invalid_File_Format );
+      goto Fail;
+    }
+
     loader->num_glyphs = n;
 
     /* if /.notdef is found but does not occupy index 0, do our magic. */

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42drivr.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42drivr.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42drivr.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -81,7 +81,8 @@
 
 
       if ( glyph_name[0] == gname[0] && !ft_strcmp( glyph_name, gname ) )
-        return (FT_UInt)ft_atol( (const char *)face->type1.charstrings[i] );
+        return (FT_UInt)ft_strtol( (const char *)face->type1.charstrings[i],
+                                   NULL, 10 );
     }
 
     return 0;

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -656,8 +656,9 @@
     FT_TRACE1(( "T42_GlyphSlot_Load: glyph index %d\n", glyph_index ));
 
     /* map T42 glyph index to embedded TTF's glyph index */
-    glyph_index = (FT_UInt)ft_atol(
-                    (const char *)t42face->type1.charstrings[glyph_index] );
+    glyph_index = (FT_UInt)ft_strtol(
+                    (const char *)t42face->type1.charstrings[glyph_index],
+                    NULL, 10 );
 
     t42_glyphslot_clear( t42slot->ttslot );
     error = ttclazz->load_glyph( t42slot->ttslot,

Modified: trunk/Build/source/libs/freetype2/freetype-src/src/winfonts/winfnt.c
===================================================================
--- trunk/Build/source/libs/freetype2/freetype-src/src/winfonts/winfnt.c	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/freetype-src/src/winfonts/winfnt.c	2016-09-13 10:10:45 UTC (rev 42052)
@@ -759,6 +759,14 @@
     if ( error )
       goto Fail;
 
+    /* sanity check */
+    if ( !face->font->header.pixel_height )
+    {
+      FT_TRACE2(( "invalid pixel height\n" ));
+      error = FT_THROW( Invalid_File_Format );
+      goto Fail;
+    }
+
     /* we now need to fill the root FT_Face fields */
     /* with relevant information                   */
     {
@@ -1062,7 +1070,8 @@
       bitmap->rows       = font->header.pixel_height;
       bitmap->pixel_mode = FT_PIXEL_MODE_MONO;
 
-      if ( offset + pitch * bitmap->rows > font->header.file_size )
+      if ( !pitch                                                 ||
+           offset + pitch * bitmap->rows > font->header.file_size )
       {
         FT_TRACE2(( "invalid bitmap width\n" ));
         error = FT_THROW( Invalid_File_Format );

Modified: trunk/Build/source/libs/freetype2/version.ac
===================================================================
--- trunk/Build/source/libs/freetype2/version.ac	2016-09-13 01:16:50 UTC (rev 42051)
+++ trunk/Build/source/libs/freetype2/version.ac	2016-09-13 10:10:45 UTC (rev 42052)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current freetype version
-m4_define([freetype_version], [2.6.5])
+m4_define([freetype_version], [2.7.0])



More information about the tex-live-commits mailing list