Merge "Upgrade freetype to VER-2-10-1"
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f58337..e3ffb83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 # CMakeLists.txt
 #
-# Copyright 2013-2018 by
+# Copyright (C) 2013-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # Written originally by John Cary <cary@txcorp.com>
@@ -134,7 +134,7 @@
 project(freetype C)
 
 set(VERSION_MAJOR "2")
-set(VERSION_MINOR "9")
+set(VERSION_MINOR "10")
 set(VERSION_PATCH "1")
 
 # SOVERSION scheme: CURRENT.AGE.REVISION
@@ -234,12 +234,20 @@
   endif ()
   string(REPLACE "/undef " "#undef "
     FTCONFIG_H "${FTCONFIG_H}")
-else()
+else ()
   file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
     FTCONFIG_H)
 endif ()
-file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
-  "${FTCONFIG_H}")
+
+set(FTCONFIG_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h")
+if (EXISTS "${FTCONFIG_H_NAME}")
+  file(READ "${FTCONFIG_H_NAME}" ORIGINAL_FTCONFIG_H)
+else ()
+  set(ORIGINAL_FTCONFIG_H "")
+endif ()
+if (NOT (ORIGINAL_FTCONFIG_H STREQUAL FTCONFIG_H))
+  file(WRITE "${FTCONFIG_H_NAME}" "${FTCONFIG_H}")
+endif ()
 
 
 # Create the options file
@@ -265,8 +273,16 @@
     "/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1"
     FTOPTION_H "${FTOPTION_H}")
 endif ()
-file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h"
-  "${FTOPTION_H}")
+
+set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h")
+if (EXISTS "${FTOPTION_H_NAME}")
+  file(READ "${FTOPTION_H_NAME}" ORIGINAL_FTOPTION_H)
+else ()
+  set(ORIGINAL_FTOPTION_H "")
+endif ()
+if (NOT (ORIGINAL_FTOPTION_H STREQUAL FTOPTION_H))
+  file(WRITE "${FTOPTION_H_NAME}" "${FTOPTION_H}")
+endif ()
 
 
 file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h")
@@ -333,7 +349,7 @@
 
 if (NOT DISABLE_FORCE_DEBUG_POSTFIX)
   set(CMAKE_DEBUG_POSTFIX d)
-endif()
+endif ()
 
 
 add_library(freetype
@@ -372,7 +388,7 @@
       $<INSTALL_INTERFACE:include/freetype2>
       $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-    PRIVATE 
+    PRIVATE
       ${CMAKE_CURRENT_BINARY_DIR}/include
       ${CMAKE_CURRENT_SOURCE_DIR}/include)
 
@@ -456,7 +472,15 @@
     string(REPLACE "%LIBS_PRIVATE%" ""  # All libs support pkg-config
            FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
 
-    file(WRITE ${PROJECT_BINARY_DIR}/freetype2.pc ${FREETYPE2_PC_IN})
+    set(FREETYPE2_PC_IN_NAME "${PROJECT_BINARY_DIR}/freetype2.pc")
+    if (EXISTS "${FREETYPE2_PC_IN_NAME}")
+      file(READ "${FREETYPE2_PC_IN_NAME}" ORIGINAL_FREETYPE2_PC_IN)
+    else ()
+      set(ORIGINAL_FREETYPE2_PC_IN "")
+    endif ()
+    if (NOT (ORIGINAL_FREETYPE2_PC_IN STREQUAL FREETYPE2_PC_IN))
+      file(WRITE "${FREETYPE2_PC_IN_NAME}" ${FREETYPE2_PC_IN})
+    endif ()
 
     install(
       FILES ${PROJECT_BINARY_DIR}/freetype2.pc
@@ -469,6 +493,7 @@
       EXPORT freetype-targets
       LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
       ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
       FRAMEWORK DESTINATION Library/Frameworks
       COMPONENT libraries)
   install(
@@ -492,9 +517,9 @@
 
 if (WIN32)
   set(CPACK_GENERATOR ZIP)
-else()
+else ()
   set(CPACK_GENERATOR TGZ)
-endif()
+endif ()
 
 set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
 set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers")
diff --git a/ChangeLog b/ChangeLog
index b6cb46b..6450a60 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1747 @@
+2019-07-01  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.10.1 released.
+	==========================
+
+
+	Tag sources with `VER-2-10-1'.
+
+	* docs/VERSION.TXT: Add entry for version 2.10.1.
+
+	* README, Jamfile (RefDoc), src/base/ftver.rc,
+	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.10.0/2.10.1/, s/2100/2101/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 23:1:17.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+	* include/freetype/fterrors.h (FT_Error_String): Fix C++ compilation.
+
+2019-06-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Fix inequality.
+
+	Reported by Armin Hasitzka.
+
+2019-06-16  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/apinames.c: Formatting, minor edits.
+
+2019-06-16  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Disable hinting if no blue zones are available (#56450).
+
+	* src/autofit/afglobal.c (af_face_global_get_metrics): Start again
+	(with dummy hinter module) if no blue zones are present.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Change
+	signature to return error code.
+	If no blue zones are found, update `glyph_styles' array to hold
+	AF_STYLE_NONE_DFLT instead of the current style.
+	(af_latin_metrics_init): Return internal error code if no blue zones
+	are found.
+
+2019-06-16  Werner Lemberg  <wl@gnu.org>
+
+	Towards better VMS support.
+
+	More to come.
+
+	* builds/vms/LIBS.OPT_IA64, builds/vms/_LINK.OPT_IA64,
+	builds/vms/vmslib.dat: New files provided by Jouk Jansen
+	<joukj@hrem.nano.tudelft.nl>.
+
+	* builds/vms/ftconfig.h: Update, also from Jouk.
+
+2019-06-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Minor.
+
+2019-06-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Restore the span buffering for direct mode only.
+
+	The buffer size FT_MAX_GRAY_SPANS is set to 10 spans, which should be
+	enough to cover the entire scanline for simple glyphs in most cases:
+	each slightly slanted edge needs up to two spans, plus a filling span
+	in-between.  This is not new, we used to do it before cb4388783cecc.
+
+	* src/smooth/ftgrays.c (gray_TWorker): Add `spans' and `num_spans'.
+	(gray_hline, gray_sweep): Implement the span buffering.
+	(gray_raster_render): Use negative `num_spans' to avoid the direct
+	mode.
+
+2019-06-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* include/freetype/ftmodapi.h (FT_DebugHook_Func): Return error.
+
+	Fix a warning by adding a return value as in `TT_RunIns',
+	which should not be a compatibility issue. 
+
+2019-06-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttobjs.c (tt_check_trickyness_family): Add `const'.
+
+2019-06-11  Moazin Khatti  <moazinkhatri@gmail.com>
+
+	[gzip] Add support for `gzip' encoded header.
+
+	* src/gzip/ftgzip.c (FT_Gzip_Uncompress): Modify the the call to
+	`inflateInit2' to enable support for `gzip' encoded headers. 
+
+2019-06-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[type1,type42] Use `const' for string literals.
+
+	* include/freetype/internal/psaux.h (PS_Table_FuncsRec): Updated.
+	* include/freetype/internal/t1types.h (T1_EncodingRec): Updated.
+	* src/psaux/psobjs.[ch] (ps_table_add): Updated.
+	* src/type1/t1load.c (T1_Open_Face, parse_encoding): Updated.
+	* src/type42/t42objs.c (T42_Open_Face): Updated.
+	* src/type42/t42parse.c (t42_parse_encoding): Updated.
+
+	* src/cff/cffobjs.c (cff_face_init): Minor.
+
+2019-06-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf,pcf] Use `const' for string literals.
+
+	* src/bdf/bdf.h (bdf_property_t): Updated `name'.
+	* src/bdf/bdflib.c (_bdf_list_split,bdf_create_property,
+	_bdf_add_property,_bdf_ato*): Updated.
+	* src/bdf/bdfdrivr.c (bdf_interpret_style): Updated.
+	* src/pcf/pcfread.c (pcf_intrpret_style): Ditto.
+
+2019-06-07  Philip Race  <philip.race@oracle.com>
+
+	* src/base/ftinit.c (FT_Set_Default_Properties): Fix crash.
+
+	Terminate loop at end of environment.
+
+2019-05-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Solidify VC2005 builds.
+
+	* include/freetype/internal/ftcalc.h (FT_MSB) [_MSC_VER]: Explicitly
+	declare `_BitScanReverse' intrinsic.
+	* builds/windows/visualc/freetype.vcproj [Debug]: Disable intrinsics.
+
+2019-05-30  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	[sfnt] Separate WOFF sources and headers.
+
+	Move WOFF sources and headers to separate files.
+
+	* include/freetype/internal/wofftypes.h, src/sfnt/sfwoff.c,
+	src/sfnt/sfwoff.h: New files.
+
+	* include/freetype/internal/fttrace.h: Register `sfwoff.c'.
+
+	* include/freetype/internal/internal.h: Define
+	FT_INTERNAL_WOFF_TYPES_H.
+
+	* include/freetype/internal/sfnt.h: Include FT_INTERNAL_WOFF_TYPES_H.
+
+	* include/freetype/internal/tttypes.h: Move out WOFF structures.
+
+	* src/sfnt/rules.mk: Add `sfwoff.c'.
+
+	* src/sfnt/sfnt.c: Include `sfwoff.c'.
+
+	* src/sfnt/sfobjs.c: Include `sfwoff.h', move out WOFF sources.
+
+2019-05-30  Werner Lemberg  <wl@gnu.org>
+
+	[base] Fix `make multi'.
+
+	Reported by Nikhil.
+
+	* src/base/fterrors.c: Include FT_INTERNAL_DEBUG_H.
+
+2019-05-29  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix copy-and-paste error (#56409).
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Use correct indices
+	into `unrounded' array for phantom points.
+
+2019-05-29  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix 32bit builds (#56404).
+
+	Patch suggested by Ben Wagner <bungeman@google.com>.
+
+	* src/truetype/ttgxvar.c (FT_fixedToInt, FT_fixedToFdot6): Remove
+	harmful cast to unsigned type.
+
+2019-05-26  Ben Wagner  <bungeman@google.com>
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Improve accuracy.
+
+2019-05-23  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Draw glyphs without deltas in variation font (#56374).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Always fill
+	`unrounded' array.
+
+2019-05-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttinterp.c (opcode_name): Improve mnemonics.
+
+2019-05-16  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Actually scale varied CVT values.
+
+	Up to now, only the unscaled CVT values were varied; in other words,
+	the `CVAR' data was never used for bytecode hinting.
+
+	* src/truetype/ttgxvar.c (tt_cvt_ready_iterator): New auxiliary
+	function.
+	(tt_face_vary_cvt): Use it to trigger rescaling of CVT values.
+
+2019-05-16  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Use 26.6 format for storing unscaled CVT values.
+
+	If `CVAR' data is applied to variation fonts, fractional values are
+	possible.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Change type of
+	`cvt' from `FT_Short' to `FT_Int32'.
+
+	* src/truetype/ttgxvar.c (FT_fdot6ToFixed): New macro.
+	(tt_face_vary_cvt): Use it to update code to 26.6 format.
+
+	* src/truetype/ttobjs.c (tt_size_run_prep): Update code to 26.6
+	format.
+
+	* src/truetype/ttpload.c (tt_face_load_cvt): Stora data in 26.6
+	format.
+
+2019-05-16  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Init `unrounded'.
+
+	This fixes linear advance width values for spacing glyphs.  Bug
+	introduced 2019-05-09.
+
+2019-05-16  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Avoid code duplication.
+
+	* src/truetype/ttobjs.c (tt_size_run_prep): Scale CVT values in this
+	function.
+	(tt_size_ready_bytecode): Updated.
+	* src/truetype/ttgload.c (tt_loader_init): Updated.
+
+2019-05-13  Jouk Jansen  <joukj@hrem.nano.tudelft.nl>
+
+	* vms_make.com: Updated.  Handle `bzip2' directory, too.
+
+2019-05-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/psaux/psfont.c (cf2_font_setup): Fix compiler warning.
+
+2019-05-12  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Doh.  Fix last commit to make it work.
+
+	Very embarassing :-)
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14701
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14705
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14710
+
+	* src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): Move up and add
+	argument; update all callers.
+	(TT_Process_Simple_Glyph): Use it.  The `unrounded' array is active
+	for variation fonts only, thus also enclose related code with
+	`#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ...  #endif' where
+	necessary.
+	Revert commit a113e5d from 2019-05-09, and don't use `extra_points2'
+	but allocate a temporary array.
+	Speed up the scaling of the `unrounded' array.
+
+	* src/truetype/ttgxvar.c (FT_fixedToInt, FT_FixedToFdot6): Fix type
+	conversions and rounding.  The unsigned type must have more or equal
+	bits to the signed type.
+
+2019-05-09  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Increase precision of font variation (#54371).
+
+	This patch makes FreeType use font units in 26.6 format internally
+	instead of integers.
+
+	* src/truetype/ttgxvar.c (FT_fixedToFdot6): New macro.
+	(TT_Vary_Apply_Glyph_Deltas): Add argument to output unrounded font
+	coordinates.
+	* src/truetype/ttgxvar.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Use
+	`extra_points2' array to temporarily hold unrounded point
+	coordinates; use them to compute scaled coordinates and linear
+	advance width and height.
+	(load_truetype_code): Adjust similarly.
+
+2019-05-09  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Minor.
+
+2019-05-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Faster fractions.
+
+	* src/smooth/ftgrays.c (SUBPIXELS): Replace with...
+	(FRACT): A fractional coordinate macro to use in...
+	(gray_render_line, gray_render_scanline): ... here.
+
+2019-05-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/raster/ftraster.c (Draw_Sweep): Unbreak.
+
+2019-05-05  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/raster/ftraster.c: Clean-ups.
+
+2019-05-05  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c: More use of `FT_fdot14ToFixed'.
+
+2019-05-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/smooth/ftgrays.c (gray_render_line): Small shortcut.
+
+2019-05-04  Werner Lemberg  <wl@gnu.org>
+
+	Various clang 8.0 static analyzer fixes.
+
+	Reported by Sender Ghost <lightside@gmx.com>.
+
+	* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Catch a corner
+	case where `edge->first' could be NULL.
+
+	* src/pfr/pfrobjs.c (pfr_slot_load): Remove unnecessary test of
+	`size'.
+
+	* src/raster/ftraster.c (Draw_Sweep): Catch a corner case where
+	`draw_right' might be NULL.
+
+	* src/sfnt/ttmtx.c (tt_face_get_metrics): Fix limit test for
+	`aadvance'.
+	Ensure `abearing' always hold a meaningful result.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Ensure `subglyph' is
+	not NULL before accessing it.
+	* src/truetype/ttgxvar.c (TT_Set_Named_Instance): Remove unnecessary
+	test of `namedstyle'.
+
+	* src/type42/t42parse.c (t42_parser_done): Ensure
+	`parser->root.funcs.done' is not NULL before accessing it.
+
+2019-05-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Miscellaneous macro updates.
+
+	* src/base/ftoutln.c (SCALED): Updated.
+	* src/smooth/ftgrays.c (SCALED): Ditto.
+	(FLOOR, ROUND, CEILING): Removed.
+	* src/psaux/psfixed.h (cf2_fracToFixed): Updated.
+
+2019-05-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Tweak LCD filtering.
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Choose direction from bitmap's pixel_mode.
+	* include/freetype/internal/ftobjs.c (FT_Bitmap_LcdFilterFunc):
+	Updated.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Updated.
+
+2019-05-02  Werner Lemberg  <wl@gnu.org>
+
+	* vms_make.com: Updated (#56253).
+
+	Remove no longer existing directories (`autohint', `otlayout').
+	Update used base extensions.
+	Activate `autofit' module.
+	Add `gxvalid' module.
+	Update copyright notices.
+
+2019-04-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Simplify cubic Bézier flattening.
+
+	The previous implementation is correct but it is too complex.
+	The revised algorithm is based on the fact that each split moves
+	the control points closer to the trisection points on the chord.
+	The corresponding distances are good surrogates for the curve
+	deviation from the straight line.
+
+	This cubic flattening algorithm is somewhat similar to the conic
+	algorithm based the distance from the control point to the middle of
+	the chord.  The cubic distances, however, decrease less predictably
+	but are easy enough to calculate on each step.
+
+	The new algorithm produces slightly larger number of splits, which is
+	compensated by its simplicity.  The overall rendering performance is
+	improved by 1-2%.  The larger number of splits does not necessarily
+	result in higher quality, which stays comparable.
+
+	* src/smooth/ftgrays.c (gray_render_cubic): Replace the split
+	condition.
+
+2019-04-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Bithacks and cosmetics.
+
+	* src/smooth/ftgrays.c (gray_record_cell, gray_set_cell, gray_hline,
+	gray_render_conic, gray_convert_glyph_inner): Updated.
+
+2019-04-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Optimize Bézier bisections.
+
+	This change makes bisections faster by 20-30%. When inlined into
+	`gray_render_cubic', this makes the function faster by 10% and is
+	noticeable in the overall rendering performance.
+
+	* src/raster/ftraster.c (Split_Conic, Split_Cubic): Use shifts and
+	refactor.
+	* src/smooth/ftgrays.c (gray_split_conic, gray_split_cubic): Ditto.
+	* src/base/ftstroke.c (ft_conic_split, ft_cubic_split): Ditto.
+	* src/base/ftbbox.c (cubic_peak): Use shifts.
+
+2019-04-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcmap.c (tt_cmap12_next): Remove dead code.
+
+	Found by clang 8.0's static analyzer and reported by Sender Ghost
+	<lightside@gmx.com>.
+
+2019-04-23  Werner Lemberg  <wl@gnu.org>
+
+	[base] Fix thinko in previous commit.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not
+	target pitch.
+
+	Problem reported by Sender Ghost <lightside@gmx.com>.
+
+2019-04-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Blend): Check target pitch.
+
+	Problem reported by Sender Ghost <lightside@gmx.com>.
+
+2019-04-22  Werner Lemberg  <wl@gnu.org>
+
+	Fix return value of `FT_Set_Named_Instance' (#56186).
+
+	* src/truetype/ttgxvar.c (TT_Set_Named_Instance): Correctly handle
+	internal return value -1 of `TT_Set_Var_Design'.
+
+2019-04-18  Werner Lemberg  <wl@gnu.org>
+
+	[pcf] Fix handling of undefined glyph (#56067).
+
+	This commit fixes the changes from 2018-07-21, which broke charmap
+	iteration.  We now add the default character as a new glyph with
+	index 0, thus increasing the number of glyphs by one (as before).
+
+	* src/pcf/pcfread.c (pcf_get_metrics): Adjust to new artificial
+	glyph with index 0.
+	Limit number of elements to 65534.
+	(pcf_get_bitmaps): Ditto.
+	Unify two loops into one; this avoids allocation of an intermediate
+	array.
+	(pcf_get_encodings): Don't flip indices but copy glyph metrics of
+	default character to index 0.
+	Also handle invalid default character.
+
+	* docs/CHANGES: Updated.
+
+2019-04-15  Minmin Gong  <gongminmin@msn.com>
+
+	* CMakeLists.txt: Avoid rewriting of unchanged configuration files.
+
+	Reported as
+
+	  https://savannah.nongnu.org/patch/index.php?9755
+
+2019-04-15  JDG  <JonathanG@iQmetrix.com>
+
+	* src/tools/apinames.c (main): Fix error message.
+
+	Reported as
+
+	  https://savannah.nongnu.org/patch/?9796
+
+2019-04-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Fix segfault in direct mode (#56092).
+
+	* src/base/ftoutln.c (FT_Outline_Render): Set missing clip_box for
+	direct mode.
+	* src/smooth/ftgrays.c (gray_raster_render): Use it.
+
+2019-04-06  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcmap.c (tt_get_glyph_name): Pacify compiler (#56061).
+
+	This is for Visual Studio 2019 on ARM.
+
+2019-04-06  Werner Lemberg  <wl@gnu.org>
+
+	For distribution, replace `.tar.bz2' with `.tar.xz' bundles.
+
+	* builds/toplevel.mk (build): Do it.
+
+	* README, docs/CHANGES, docs/release: Updated.
+
+2019-04-06  Antony Lee  <anntzer.lee@gmail.com>
+
+	Make `glyph_name' parameter to `FT_Get_Name_Index' a `const'.
+
+	* include/freetype/freetype.h (FT_Get_Name_Index),
+	include/freetype/internal/ftobjs.h (FT_Face_GetGlyphNameIndexFunc),
+	include/freetype/internal/services/svgldict.h
+	(FT_GlyphDict_NameIndexFunc), src/base/ftobjs.c (FT_Get_Name_Index),
+	src/cff/cffdrivr.c (cff_get_name_index), src/sfnt/sfdriver.c
+	(sfnt_get_name_index), src/type1/t1driver.c (t1_get_name_index),
+	src/type42/t42drivr.c (t42_get_name_index): Add `const' to second
+	argument.
+
+2019-03-31  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[cff] Fix boundary checks.
+
+	642bc7590c701c8cd35a9f60fa899cfa518b17ff introduced dynamically
+	allocated memory when parsing CFF files with the "old" engine.  Bounds
+	checks have never been updated, however, leading to pointless
+	comparisons of pointers in some cases.  This commit presents a
+	solution for bounds checks in the CFF module with an extended logic
+	for the "old" engine while staying as concise as possible for the
+	"new" one.
+
+	* src/cff/cffparse.h: Introduce the struct `CFF_T2_StringRec' and
+	the additional field `t2_strings' within `CFF_ParserRec'.
+
+	* src/cff/cffparse.c (cff_parser_within_limits): Move all boundary
+	checks into this new function and update the rest of `cffparse.c' to
+	use it.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12137
+
+2019-03-20  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix Mongolian blue zone characters.
+
+	* src/autofit/afblue.dat: Use U+200D (ZERO-WIDTH JOINER) characters
+	to get medial forms for some Mongolian characters.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2019-03-19  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add support for Mongolian script.
+
+	As a de-facto standard, layouts using this script are constructed
+	horizontally line by line, then the lines are rotated clockwise for
+	vertical display.
+
+	* src/autofit/afblue.dat: Add blue zone data for Mongolian.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Mongolian standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Mongolian
+	data.
+
+2019-03-15  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.10.0 released.
+	==========================
+
+
+	Tag sources with `VER-2-10-0'.
+
+	* docs/VERSION.TXT: Add entry for version 2.10.0.
+	* docs/CHANGES: Updated.
+
+	* README, Jamfile (RefDoc), src/base/ftver.rc,
+	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.9.1/2.10.0/, s/291/2100/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 10.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 23:0:17.
+	* CMakeLists.txt (VERSION_MINOR): Set to 10.
+	(VERSION_PATCH): Set to 0.
+
+	* builds/toplevel.mk (version, winversion): Since the minor version
+	number has two digits now, never omit the patch number.  We would
+	get ambiguous zip file names otherwise.
+	(dist): Remove remnants of `docmaker' tool.
+	(do-dist): Remove unused intermediate files.
+
+	* src/cff/cffparse.c (destrict_c2s_item): Guard function with
+	CFF_CONFIG_OPTION_OLD_ENGINE macro.
+
+2019-03-07  Andrei Alexeyev  <0x416b617269@gmail.com>
+            Werner Lemberg  <wl@gnu.org>
+
+	Fix invalid function pointer casts.
+
+	This change should allow Freetype to work on WASM/Emscripten without
+	needing `-s EMULATE_FUNCTION_POINTER_CASTS=1'.
+
+	* src/autofit/afdummy.c (af_dummy_hints_apply): Fix signature.
+
+	* src/cid/cidload.c (cid_parse_font_matrix, parse_fd_array,
+	parse_expansion_factor, parse_font_name): Return `void', not
+	`FT_Error'.
+
+	* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIsDefaultFunc):
+	Fix signature.
+
+2019-03-05  Werner Lemberg  <wl@gnu.org>
+
+	[base] Handle numeric overflow (#55827).
+
+	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Use `FT_PIX_CEIL_LONG'.
+
+2019-03-05  Sebastian Rasmussen  <sebras@gmail.com>
+
+	[psaux] Fix use of uninitialized memory (#55832).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): The call to
+	`cf2_arrstack_setCount' may fail because the allocator ran out of
+	memory.  When this happens the stack is still written to before the
+	error condition is checked.  This means that FreeType writes outside
+	of allocated memory.  This commit moves the error check prior to the
+	stack assignment, hence the function now properly returns with an
+	error condition.
+
+2019-02-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Blend): No fractional offsets.
+
+	The function only provided a framework without an actual
+	implementation, which this commit removes.
+
+2019-02-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/update-copyright-year: Insert `(C)'.
+
+2019-02-21  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[truetype] Mask numeric overflows.
+
+	* src/truetype/ttinterp.c (Move_CVT, Move_CVT_Stretched, Ins_MIRP):
+	Mask numeric overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11681
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11734
+
+2019-02-21  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[psaux] Mask numeric overflow.
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Mask numeric
+	overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13041
+
+2019-02-16  Wink Saville  <wink@saville.com>
+
+	* src/autofit/afwarp.h (af_warper_compute): Fix declaration.
+
+2019-02-02  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	[truetype] Apply MVAR hasc, hdsc and hlgp metrics to current FT_Face metrics.
+
+	Instead of setting typo or win metrics as the new `FT_Face' metrics
+	indiscriminately, apply only typo deltas to the currently active
+	`FT_Face' metrics.  This prevents line height differences when the
+	default outlines were used as the regular face and instances for
+	everything else, for example.
+
+	* src/truetype/ttgxvar.c (tt_apply_mvar): Implement.
+
+2019-02-02  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	[sfnt] Use typo metrics if OS/2 fsSelection USE_TYPO_METRICS bit is set.
+
+	If the `OS/2' table exists and `fsSelection' bit 7
+	(USE_TYPO_METRICS) is set, use the `sTypo*' set of values to compute
+	the `FT_Face's ascender, descender, and height.  Otherwise, fall
+	back to old behavior.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Implement.
+
+2019-01-18  John Tytgat  <John.Tytgat@esko.com>
+
+	[sfnt] Handle TT fonts having two PostScript font names (#55471).
+
+	* src/sfnt/sfdriver.c (sfnt_get_name_id): Prefer English over any
+	other language found for PostScript font names.
+
+2019-01-08  Chris Liddell <chris.liddell@artifex.com>
+
+	[psaux] Fix closepath (#55414).
+
+	All of the Type 1 path building is done with code common to the
+	revised CFF engine, with the exception of closepath, which was still
+	calling ps_builder_close_contour(), thus previously cached segments
+	were not always written to the path, and glyph corruption, or even
+	invalid outlines were possible.
+
+	* src/psauc/psinterp.c (cf2_interpT2CharString) <cf2_cmdCLOSEPATH>:
+	Switch to calling `cf2_glyphpath_closeOpenPath'.
+
+2018-12-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
+
+2018-12-25  Werner Lemberg  <wl@gnu.org>
+
+	* src/psaux/cffdecode.c (cff_operaor_seac): Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11915
+
+2018-12-12  Werner Lemberg  <wl@gnu.org>
+
+	[gxvalid] Fix compiler warnings.
+
+	* src/gxvalid/gxvjust.c (gxv_just_check_max_gid),
+	src/gxvalid/gxvmort.c (gxv_mort_coverage_validate): Use `FT_UNUSED'.
+
+2018-12-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove useless test.
+
+	`control_len' only gets its value from `n_ins' (and vice versa),
+	which is always read as `unsigned short' and thus can't be larger
+	than 0xFFFF.
+
+2018-12-04  Werner Lemberg  <wl@gnu.org>
+
+	[bdf] Ignore data after `ENDFONT'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10798
+
+	* src/bdf/bdflib.c (_bdf_parse_end): New function.
+	(_bdf_parse_glyphs): Switch to `_bdf_parse_end' after `ENDFONT' has
+	been encountered.
+
+2018-12-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/visualc/freetype.dsp: Dust off.
+
+2018-11-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/vc2010/freetype.vcxproj: Simplify.
+
+2018-11-27  Chris Liddell  <chris.liddell@artifex.com>
+
+	[type1,cff] Add FT_{Set,Get}_MM_WeightVector API calls.
+
+	For multiple master fonts, common usage (in Postscript) is to modify
+	the WeightVector of an existing font instance, this addition
+	supports that use.
+
+	* include/freetype/ftmm.h, src/base/ftmm.c (FT_Set_MM_WeightVector,
+	FT_Get_MM_WeightVector): New API functions.
+
+	* include/freetype/internalservices/svmm.h
+	(FT_Set_MM_WeightVector_Func, FT_Get_MM_WeightVector_Func): New
+	function types.
+	(MultiMasters): Add `set_mm_weightvector' and `get_mm_weightvector'
+	members.
+	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
+
+	* src/cffcffdrivr.c (cff_set_mm_weightvector,
+	cff_get_mm_weightvector): New functions.
+	(cff_service_multi_masters): Register them.
+
+	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
+	This driver doesn't use the new interface.
+
+	* src/type1/t1load.c (T1_Set_MM_WeightVector,
+	T1_Get_MM_WeightVector): New functions.
+	* src/type1/t1driver.c (t1_service_multi_masters): Register them.
+	* src/type1/t1load.h: Updated.
+
+2018-11-27  Ben Wagner  <bungeman@google.com>
+
+	[cff] Fix compiler warning (#55105).
+
+	* src/cff/cffparse.c (cff_parser_run): Guard label only used if
+	CFF_CONFIG_OPTION_OLD_ENGINE is active.
+
+2018-11-27  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix numeric overflow (#55103).
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
+
+2018-11-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[builds] Belated DLL support with vc2002-vc2008.
+
+	The solution and project files should be automatically upgraded for
+	the approriate Visual C++ version.
+
+	* builds/windows/visualc/freetype.{sln,vcproj}: Major upgrades.
+	* builds/windows/visualc/index.html: Document the change.
+	* builds/windows/vc2005, builds/windows/vc2008: Removed as redundant.
+
+2018-11-22  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	* src/cff/cffparse.c: Please the compiler.
+
+2018-11-22  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[cff] Fix memory overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9869
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10869
+
+	* src/cff/cffparse.c (destruct_t2s_item, cff_parser_run): Store
+	evaluated T2 charstrings in separately allocated memory.
+
+2018-11-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/{visualc,vc2005,vc2008}/freetype.vcproj: Fix it.
+
+2018-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Placeholder only for library-enabled LCD filtering.
+
+	* src/smooth/ftsmooth.c (ft_smooth_init): Add disabled
+	`FT_Library_SetLcdFilter' call.
+
+2018-11-09  Young Xiao  <yangx92@hotmail.com>
+
+	[psaux] Add safety guard (#54985).
+
+	* src/psaux/psobjs.c (cff_builder_close_contour): Do it.
+
+2018-11-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/unix/configure.raw: Require `windows.h' for windres.
+
+2018-11-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[ftstroke] Fix unpredictable failures (#54986).
+
+	* src/base/ftstroke.c (ft_sroke_border_lineto): Fix lineto check.
+
+2018-11-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[ftstroke] Fix unpredictable failures (#54976).
+
+	* src/base/ftstroke.c (ft_sroke_border_close): Set the start tags.
+
+2018-11-07  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix VF check from 2018-09-12 (#54973).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Use correct
+	offsets for estimates.
+
+2018-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[pshinter] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11242
+
+	* src/pshinter/pshrec.c (ps_dimension_add_t1stem): Implement it.
+
+2018-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix timeout in old CFF engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11260
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_sqrt> [CFF_CONFIG_OPTION_OLD_ENGINE]: Fix potential endless
+	loop.
+
+2018-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c: Use enum definitions.
+
+2018-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Adjust condition.
+
+2018-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Tracing tweaks.
+
+2018-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Revert due to specs: [truetype] Speed up variation IUP.
+
+2018-11-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
+
+	Reported and tested by Behdad.
+
+2018-11-02  Shailesh Mistry  <shailesh.mistry@hotmail.co.uk>
+
+	[autofit] Prevent SEGV.
+
+	See
+
+	  https://bugs.ghostscript.com/show_bug.cgi?id=697545
+
+	for more details on how the bug was found.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Propagate error
+	code.
+
+2018-10-31  Alexei Podtelezhnikov <apodtele@gmail.com>
+
+	[truetype] Speed up variation IUP.
+
+	* src/truetype/ttgxvar.c (tt_delta_interpolate): Separate trivial
+	snapping to the same position from true interpolation.
+
+2018-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/type1/t1load.c (t1_set_mm_blend): Optimized.
+
+2018-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_get_item_delta): Optimized.
+
+2018-10-29  Werner Lemberg  <wl@gnu.org>
+
+	[base] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11080
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use `MUL_LONG'.
+
+2018-10-29  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10988
+
+	* src/cff/cffparse.c (cff_parser_run)
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Use `NEG_LONG'.
+
+2018-10-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[sfnt] Make `head' timestamps unsigned.
+
+	It's been more than 2^31 seconds since 1904.
+
+	* include/freetype/tttables.h (TT_Header): Change field types.
+	* src/sfnt/ttload.c (tt_face_load_generic_header): Updated.
+
+2018-10-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Revert: Align FreeType with standard C memory management.
+
+2018-10-27  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix numeric overflow.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11157
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_blend>
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Fix integer overflow.
+
+2018-10-20  Werner Lemberg  <wl@gnu.org>
+
+	Avoid endless loop while tracing (#54858).
+
+	* src/type1/t1load.c (parse_buildchar): Guard tracing stuff with
+	FT_DEBUG_LEVEL_TRACE.
+
+2018-10-17  David Demelier  <markand@malikania.fr>
+
+	* CMakeLists.txt: Specify `RUNTIME DESTINATION'.
+
+	This is needed for DLL builds.
+
+2018-10-07  Werner Lemberg  <wl@gnu.org>
+
+	A missing Unicode cmap is not a fatal error.
+
+	This is a follow-up to the previous commit.
+
+	* src/cff/cffobjs.c (cff_face_init), src/sfnt/sfobjs.c
+	(sfnt_load_face), src/type1/t1objs.c (T1_Face_Init),
+	src/type42/t42objs.c (T42_Face_Init): Implement it.
+
+2018-10-07  Werner Lemberg  <wl@gnu.org>
+
+	Fix handling of FT_CONFIG_OPTION_ADOBE_GLYPH_LIST (#54794).
+
+	* src/cff/cffcmap.c (cff_cmap_unicode_init), src/psaux/t1cmap.c
+	(t1_cmap_unicode_init), src/sfnt/ttcmap.c (tt_cmap_unicode_init):
+	Check `unicodes_init' field.
+
+2018-10-03  Werner Lemberg  <wl@gnu.org>
+
+	[ftgrays] Fix typo in stand-alone mode (#54771).
+
+	* src/smooth/ftgrays.c (FT_THROW) [STANDALONE_ &&
+	FT_DEBUG_LEVEL_TRACE]: Fix call to `FT_ERR_CAT'.
+
+2018-10-02  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix segfault.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10768
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_callothersubr> [CFF_CONFIG_OPTION_OLD_ENGINE]: Check
+	argument.
+
+2018-10-02  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10740
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll>
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Use NEG_INT.
+
+2018-10-02  Werner Lemberg  <wl@gnu.org>
+
+	[pshinter] Handle numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10550
+
+	* src/pshinter/pshglob.c (psh_blues_snap_stem): Mask numeric
+	overflow.
+
+2018-09-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Align FreeType with standard C memory management.
+
+	* include/freetype/ftsystem.h: Include FT_TYPES_H.
+	(*FT_Alloc_Func, *FT_Realloc_Func): Use size_t for the size arguments.
+	* src/raster/ftmisc.h: Ditto.
+
+	* builds/amiga/src/base/ftsystem.c, builds/unix/ftsystem.c,
+	* builds/vms/ftsystem.c, src/base/ftsystem.c (ft_alloc, ft_realloc):
+	Use size_t for the size arguments.
+
+	* src/base/ftdbgmem.c (ft_mem_debug_alloc, ft_mem_debug_realloc): Use
+	FT_Offset, aka size_t, for the size arguments.
+
+2018-09-25  Werner Lemberg  <wl@gnu.org>
+
+	Fix handling of `FT_Bool'.
+
+	Before this commit we had code like
+
+	  (FT_Bool)( globals->glyph_styles[gindex] & 0x8000)
+
+	Since `FT_Bool' is defined to be an `unsigned char', the code
+	evaluated to something like
+
+	  (unsigned char)( 0x8532 & 0x8000)
+
+	which in turn expanded to
+
+	  (unsigned char)( 0x8000)
+
+	and finally yielded 0x00 – i.e., false – not as expected.
+
+	Problem reported and analyzed by Tony Smith <tony.smith@macro4.com>.
+
+	* include/freetype/fttypes.h (FT_BOOL): Add a comparison against
+	zero so that we always have a Boolean expression.
+
+	*/*: Replace castings to `FT_Bool' with calls to `FT_BOOL' where
+	possible.
+
+2018-09-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Speed up charmap access.
+
+	This makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times faster.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Help binary search
+	with continuous prediction.
+
+2018-09-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bimap): Another tweak.
+
+	This one should be clearer. When the rounded monochrome bbox collapses
+	we add a pixel that covers most if not all original cbox.
+
+2018-09-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bimap): Further tweak.
+
+2018-09-21  Ben Wagner  <bungeman@google.com>
+
+	Improve auto-hinter handling of bitmap fonts (#54681).
+
+	For bitmap fonts, `FT_Load_Glyph' should either return an error or
+	not set the format to `FT_GLYPH_FORMAT_OUTLINE'.  However, in this
+	case `FT_Load_Glyph' calls into the auto-hinter which calls back
+	into `FT_Load_Glyph' with `FT_LOAD_NO_SCALE' in the flags, which
+	marks the glyph as `FT_GLYPH_FORMAT_OUTLINE' with an empty path
+	(even though it doesn't have any path).  It appears that the
+	auto-hinter should not be called when the face doesn't have
+	outlines.  The current test for using the auto-hinter in
+	`FT_Load_Glyph' checks whether the driver supports scalable
+	outlines, but not if the face supports scalable outlines.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Directly check whether we have
+	scalable outlines.
+
+2018-09-21  Werner Lemberg  <wl@gnu.org>
+
+	[raster] Fix disappearing vertical lines (#54589).
+
+	* src/raster/ftraster.c (Vertical_Sweep_Span): Handle special case
+	where both left and right outline exactly pass pixel centers.
+
+2018-09-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bimap): Tiny rounding tweak.
+
+	This adds pixels in case a contour goes through the center
+	and they need to be turned on in the b/w rasterizer.
+
+2018-09-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Replace charmap implementation.
+
+	PCF comes with charmap lookup table, aka PCF encodings.  Using it
+	directly makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times
+	faster than the original BDF-like binary searches.
+
+	* src/pcf/pcf.h (PCF_EncodingRec): Removed.
+	(PCF_FaceRec): Remove `nencodings' and `encodings'.
+	* src/pcf/pcfdrivr.c (pcf_cmap_char_{index,next}): Replaced.
+	* src/pcf/pcfread.c (pcf_get_encodings): Store data differently.
+
+2018-09-20  Werner Lemberg  <wl@gnu.org>
+
+	[base] Remove unused function `FT_GlyphLoader_CopyPoints'.
+
+	* include/freetype/internal/ftgloadr.h, src/base/ftgloadr.c
+	(FT_GlyphLoader_CopyPoints): Do it.
+
+2018-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Prepare to replace charmap implementation.
+
+	* src/pcf/pcf.h (PCF_FaceRec): Updated to include...
+	(PCF_EncRec): ... this new structure to store charmap geometry.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Store charmap geometry.
+
+2018-09-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Remove unused fields.
+
+	* src/pcf.h (PCF_FaceRec): Remove `charmap' and `charmap_handle'.
+	* src/bdfdrvr.h (BDF_FaceRec): Ditto.
+	* src/winfonts/winfnt.h (FNT_FaceRec): Ditto.
+
+2018-09-17  Werner Lemberg  <wl@gnu.org>
+
+	[pshinter] Handle numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10396
+
+	* src/pshinter/pshglob.c: Include FT_INTERNAL_CALC_H.
+	(psh_blues_snap_stem): Mask numeric overflow.
+
+2018-09-13  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Some fixes for VF checks.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10317
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Properly exit memory
+	frame if we have invalid glyph variation data offsets.
+	(tt_face_vary_cvt): Protect against missing `tuplecoords' array.
+	Fix typo.
+
+2018-09-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Fix last commit.
+
+2018-09-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Check `result'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10316
+
+2018-09-12  John Tytgat  <John.Tytgat@esko.com>
+
+	[sfnt] Better PS name handling (#54629).
+
+	* src/sfnt/sfdriver (IS_WIN, IS_APPLE): Omit language ID checks.
+	(get_win_string, get_apple_string): Return NULL when the PostScript
+	font name characters is not according to specification.
+	(get_win_string): Make trace output work if the high byte if
+	non-zero.
+	(sfnt_get_var_ps_name, sfnt_get_ps_name): Previously we preferred
+	Win PS name (when there is also an Apple PS name); change this into
+	a fallback to Apple PS name in case the Win PS name is invalid.
+
+2018-09-12  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improve VF check.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10255
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Use better limit check
+	for `tupleCount'.
+
+2018-09-12  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Check `glyphoffsets'.
+
+2018-09-10  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	* src/pshinter/pshrec.c (t2_hints_stems): Mask numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10215
+
+2018-09-09  Ben Wagner  <bungeman@google.com>
+
+	* builds/freetype.mk (refdoc-venv): Ensure python version (#54631).
+
+2018-09-07  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix assertion failure.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10212
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Reintroduce
+	`opened_frame' (removed in a change from 2018-08-26) to handle
+	deallocation of the second frame.
+
+2018-09-05  Werner Lemberg  <wl@gnu.org>
+
+	Synchronize `ftdebug.c' files.
+
+	* builds/amiga/src/base/ftdebug.c, builds/wince/ftdebug.c,
+	builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c'.
+
+2018-09-05  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	Add documentation guidelines file.
+
+	* docs/DOCGUIDE: New file.
+
+2018-09-04  Werner Lemberg  <wl@gnu.org>
+
+	* devel/ftoption.h: Synchronize with master `ftoption.h'.
+
+2018-09-03  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	[docwriter] Don't break code snippets accross lines.
+
+	Reported as
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00124.html
+
+	* docs/reference/markdown/stylesheets/extra.css (.md-typeset code):
+	Add rule `white-space'.
+
+2018-09-03  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/PSNames/psnames/.
+
+	Only tracing messages are affected.
+
+2018-09-03  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix heap buffer overflow in CPAL handling.
+
+	* src/sfnt/ttcpal.c (tt_face_palette_set): Fix boundary test.
+	(tt_face_load_cpal): Updated.
+
+2018-09-01  Werner Lemberg  <wl@gnu.org>
+
+	Remove `FT_Outline_{New,Done}_Internal'.
+
+	These public API functions(!) were always undocumented and have
+	escaped all clean-up efforts until now.
+
+	* include/freetype/ftoutln.h (FT_Outline_New_Internal,
+	FT_Outline_Done_Internal): Removed.
+
+	* src/base/ftoutln.h (FT_Outline_New_Internal,
+	FT_Outline_Done_Internal): Merge into...
+	(FT_Outline_New, FT_Outline_Done): ... these functions.
+
+	* docs/README: Updated.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Check glyph format.
+
+2018-08-31  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Refine the macro logic surrounding `FT_Error_String'.
+
+	* include/freetype/fterrors.h (FT_INCLUDE_ERR_PROTOS,
+	FT_ERR_PROTOS_DEFINED): Undefine `FT_INCLUDE_ERR_PROTOS' after
+	checking it and introduce a new macro that takes proper care of
+	multiple-inclusion protection.
+
+2018-08-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftdebug.c (FT_Throw): Restore missing `FT_UNUSED' calls.
+
+2018-08-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftdebug.c (FT_Throw): Reduce chattiness.
+
+2018-08-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Add initialization.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Consolidate bitmap presetting and size assessment.
+
+	* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
+	Change return type.
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Return the bitmap
+	size assessment.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Use it to refuse the
+	rendering of enourmous or far-fetched outlines.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Correct mono.
+
+2018-08-30  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Introduce a macro to control `FT_Error_String'.
+
+	* devel/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS),
+	include/freetype/config/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS):
+	New macro.
+
+2018-08-30  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Introduce `FT_Error_String'.
+
+	* include/freetype/fterrors.h (FT_Error_String),
+	src/base/fterrors.c (FT_Error_String): Implement `FT_Error_String'.
+
+	* src/base/ftbase.c, src/base/Jamfile (_source),
+	src/base/rules.mk (BASE_SRC): Add `fterrors.c' to the build logic.
+
+	* src/base/ftdebug.c (FT_Throw): Use `FT_Error_String'.
+
+2018-08-30  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Trace `before' and `after' edges of strong points.
+
+	* src/autofit/afhints.h (AF_PointRec) [FT_DEBUG_AUTOFIT]: New arrays
+	`before' and `after'.
+
+	* src/autofit/afhints.c (af_get_strong_edge_index): New auxiliary
+	function.
+	(af_glyph_hints_dump_points): Trace `before' and `after' edges.
+	(af_glyph_hints_align_strong_points) [FT_DEBUG_AUTOFIT]: Set
+	`before' and `after' information.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Overflow-resistant bitmap presetting.
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Implement it.
+
+2018-08-29  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	Fix numeric overflows.
+
+	* src/pshint/pshalgo.c (psh_hint_align, psh_hint_align_light,
+	psh_hint_table_find_strong_points): Fix numeric overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10083
+
+2018-08-29  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix handling of `roll' op in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10080
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll>
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Use modulo for loop count, as
+	documented in the specification.
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttobjs.c (tt_size_read_bytecode): Trace CVT values.
+
+2018-08-26  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	* configure: Copy assets required by docwriter.
+
+	Copy directory `docs/reference/markdown' when FreeType is compiled in a
+	different directory.
+
+	Fixes `make refdoc' if builddir != srcdir.
+
+	Reported as
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00083.html
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	* src/pshint/pshalgo.c (psh_hint_overlap): Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10057
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	Minor tracing adjustments.
+
+	* src/base/ftstream.c (FT_Stream_EnterFrame, FT_Stream_ExitFrame):
+	Trace.
+
+	* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Remove tracing.
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Avoid nested frames.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10054
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Don't use variable
+	`opened_frame' to trace whether a frame must be closed at the end of
+	function: This fails because `TT_Vary_Apply_Glyph_Deltas' (which
+	gets called for space glyphs) uses a frame by itself.  Instead,
+	close the frame after loading the header, then use another frame for
+	the remaining part of the glyph later on.
+
+	Also avoid calling `tt_get_metrics' twice under some circumstances.
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	Various minor clean-ups.
+
+	* src/base/ftapi.c: Remove.  Unused.
+	* src/base/Jamfile (_sources): Updated.
+
+	* src/base/ftstream.c (FT_Stream_ReleaseFrame): Remove redundant
+	code.
+
+2018-08-25  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	Convert documentation markup to Markdown.
+
+	It is the result of a GSoC 2018 project; this separate ChangeLog
+	commit covers the last four commits
+
+	  ae5d1a4cec37557f31aec270332cfe886a62f9a0
+	  53c69ce04faed3dcc68ca0f54cb8d703d8babf69
+	  195728d5ba38f34fb2c2c20807c01656f2f59b66
+	  c962db28ea59225f0105c03d907d4a9b71765687
+
+	* docs/reference/markdown/images/favico.ico,
+	docs/reference/markdown/javascripts/extra.js,
+	docs/reference/markdown/stylesheets/extra.css: New files.
+
+	* docs/reference/.gitignore, docs/reference/README: Updated.
+
+	* src/tools/docmaker/*: Removed.  It has been replaced with
+	`docwriter', a python package available at
+
+	  https://pypi.org/project/docwriter/
+
+	* Jamfile: Updated.
+	* builds/ansi/ansi-def.mk, builds/beos/beos-def.mk,
+	builds/dos/dos-def.mk, builds/os2/os2-def.mk (BIN),
+	builds/unix/unixddef.mk, builds/windows/win32-def.mk: New variable.
+
+	* builds/unix/configure.raw: Check for `python' and `pip'.
+	If not present, warn that `make refdoc' will fail.
+	* builds/unix/unix-def.in (PYTHON, PIP, BIN): New variables.
+
+	* builds/freetype.mk (PYTHON, PIP, VENV_NAME, VENV_DIR, ENV_PYTHON,
+	ENV_PIP): New variables.
+	(refdoc): Updated.
+	(refdoc-venv): New target.
+	(.PHONY): Updated.
+
+2018-08-23  Werner Lemberg  <wl@gnu.org>
+
+	Add macros for handling over-/underflowing `FT_Int64' values.
+
+	* include/freetype/internal/ftcalc.h (ADD_INT64, SUB_INT64,
+	MUL_INT64, DIV_INT64) [FT_LONG64]: New macros.
+
+	* src/base/ftcalc.c (ft_corner_orientation) [FT_LONG64]: Use
+	`SUB_INT64' and `MUL_INT64'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10028
+
+2018-08-22  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improve legibility of `glyf' parsing.
+
+	* src/truetype/ttgload.c (ON_CURVE_POINT, X_SHORT_VECTOR,
+	Y_SHORT_VECTOR, REPEAT_FLAG, X_POSITIVE, SAME_X, Y_POSITIVE, SAME_Y,
+	OVERLAP_SIMPLE): New macros.
+	(TT_Load_Simple_Glyph): Use new macros to make code more readable.
+	Remove useless adjustment of `outline->tags' elements.
+
+2018-08-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcpal.c (tt_face_load_cpal): Add missing safety check.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9981
+
+2018-08-18  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Avoid slow PS font parsing in case of error.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9955
+
+	* src/psaux/psobjs.c (ps_parser_to_bytes): Set `parser->cursor' even
+	in case of error to avoid potential re-scanning.
+
+2018-08-18  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix heap buffer overflow in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9967
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_blend> [CFF_CONFIG_OPTION_OLD_ENGINE]: `num_designs' must be
+	non-zero.
+
+2018-08-16  Young Xiao  <yangx92@hotmail.com>
+
+	* builds/mac/ftmac.c (parse_fond): Fix buffer overrun.
+
+	Reported as bug #54515, duplicate of #43540.
+
+2018-08-16  Werner Lemberg  <wl@gnu.org>
+
+	* builds/*/ftsystem.c (FT_COMPONENT): Updated also.
+
+2018-08-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Don't track duplicate encodings.
+
+	There is no harm except some umbiguity in broken fonts with duplicate
+	encodings.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Remove duplicate tracking.
+	(_bdf_parse_t): Remove large `have' bitfield.
+
+2018-08-15  Werner Lemberg  <wl@gnu.org>
+
+	Don't use `trace_' prefix for FT_COMPONENT arguments.
+
+	* include/freetype/internal/ftdebug.h (FT_TRACE_COMP,
+	FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix.
+	(FT_TRACE): Use `FT_TRACE_COMP'.
+
+	*/* (FT_COMPONENT): Updated.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	Use formatting string in FT_TRACEX calls for non-simple arguments.
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_hstem, cff_op_hintmask, cff_op_hlineto, cff_op_vhcurveto>:
+	Do it.
+
+	* src/psaux/pshints.c (cf2_hintmap_build): Ditto.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
+	cf2_cmdVSTEM, cf2_cmdHLINETO, cf2_cmdRRCURVETO, cf2_cmdCALLSUBR,
+	cf2_escHSTEM3, cf2_cmdHINTMASK, cf2_cmdHVCURVETO>: Ditto.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Ditto.
+
+2018-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Remove unused fields.
+
+	* src/bdf/bdf.h (bdf_font_t): Remove `nmod', `umod', and `modified',
+	which were set but never used.
+	* src/bdf/bdflib.c (_bdf_parse_{glyphs,properties}, bdf_load_font):
+	Updated accordingly.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix another segv in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9872
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Disallow invalid T1 opcodes in
+	dictionaries.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix missing error handling.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9865
+
+	* src/psaux/cffparse.c (cff_parser_run)
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Don't ignore return value of
+	`parse_charstrings_old'.
+
+2018-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Remove unused overflow storage.
+
+	* src/bdf/bdf.h (bdf_glyphlist_t): Remove this type.
+	(bdf_font_t): Remove `overflow' field.
+	* src/bdf/bdflib.c (bdf_free_font): Remove `overflow' freeing.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix segv in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9864
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_random> [CFF_CONFIG_OPTION_OLD_ENGINE]: Use top dict's
+	`random' field directly if parsing dictionaries.
+
+2018-08-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Use unsigned types.
+
+	* src/bdf/bdf.h (bdf_glyph_t): Unsign `encoding'.
+	(bdf_font_t): Unsign `default_char'.
+	* src/bdf/bdfdrivr.h (BDF_encoding_el): Unsign `enc'.
+
+	* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_glyphs,
+	_bdf_parse_start): Updated accordingly.
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Ditto.
+
+2018-08-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): One more format check.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9832
+
+2018-08-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftcalc.c (FT_Matrix_Check): Fix integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9811
+
+2018-08-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Follow specs.
+
 2018-08-10  Ben Wagner  <bungeman@google.com>
 
 	* src/sfnt/sfobjs.c (sfnt_done_face): Fix memory leak (#54435).
@@ -77,7 +1821,7 @@
 
 	* src/pcf/pcf.h (PCF_ParsePropertyRec): Use unsigned `name' and
 	`value'.
-	* src/pcf/pcfread.c (pcf_get_propeerties, pcf_load_font): Updated
+	* src/pcf/pcfread.c (pcf_get_properties, pcf_load_font): Updated
 	parsing code and handling of AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE,
 	RESOLUTION_X and RESOLUTION_Y.
 
@@ -146,7 +1890,7 @@
 
 	[cid] Trace PostScript dictionaries.
 
-	* src/cid/cidload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H
+	* src/cid/cidload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
 	(cid_load_keyword, cid_parse_font_matrix, parse_fd_array,
 	parse_expansion_factor, cid_parse_dict): Add tracing calls.
 	(parse_font_name): New function to trace `/FontName' keywords in
@@ -181,7 +1925,7 @@
 	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9501
 
 	* src/smooth/ftgrays.c (ft_smooth_render_generic): Restore buffer
-	after each rendering in case of failure. 
+	after each rendering in case of failure.
 
 2018-07-28  Werner Lemberg  <wl@gnu.org>
 
@@ -269,7 +2013,7 @@
 
 	[type1] Check relationship between number of axes and designs.
 
-	For Multiple Masters fonts We don't support intermediate designs;
+	For Multiple Masters fonts we don't support intermediate designs;
 	this implies that
 
 	  number_of_designs == 2 ^^ number_of_axes
@@ -1357,2345 +3101,10 @@
 	src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h:
 	Removed.
 
-2018-05-01  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.9.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-9-1'.
-
-	* docs/VERSION.TXT: Add entry for version 2.9.1.
-	* docs/CHANGES: Updated.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	src/base/ftver.rc, 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.9/2.9.1/, s/29/291/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 22:1:16.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-
-	* include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
-
-2018-04-26  Werner Lemberg  <wl@gnu.org>
-
-	Another fix for handling invalid format 2 cmaps.
-
-	Sigh.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
-	an endless loop.
-
-2018-04-24  Ben Wagner  <bungeman@google.com>
-
-	[base] Avoid undefined behaviour in lcd filtering code (#53727).
-
-	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
-	Ensure `height > 0'.
-
-2018-04-22  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
-
-2018-04-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Fix bitmap emboldening.
-
-	Bug introduced after release 2.8.
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
-	`FT_QALLOC_MULT', which doesn't zero out the buffer.  Adjust the
-	bitmap copying code to take care of this fact.
-
-2018-04-22  Werner Lemberg  <wl@gnu.org>
-
-	Another fix for handling invalid format 2 cmaps.
-
-	The previous commit was incomplete.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
-	an endless loop.
-
-2018-04-19  Werner Lemberg  <wl@gnu.org
-
-	[autofit] Add support for Georgian Mtavruli characters.
-
-	This will be part of the forthcoming Unicode 11.0.
-
-	* src/autofit/afblue.dat: Add blue zone data for Mtavruli.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Mtavruli standard character.
-
-2018-04-18  Werner Lemberg  <wl@gnu.org>
-
-	Fix handling of invalid format 2 cmaps.
-
-	The problem was introduced after the last release.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
-
-2018-04-17  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
-
-	* src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
-
-2018-04-16  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
-
-	* src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
-
-2018-04-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Use `info' function of make 3.81.
-
-	* configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
-	docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
-
-	* builds/detect.mk (std_setup): Replace `echo' with `info'.
-	(dos_setup): Removed.
-	* builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
-	builds/windows/detect.mk, builds/os2/detect.mk: Updated.
-	* builds/newline: No longer needed.
-
-2018-04-15  Werner Lemberg  <wl@gnu.org>
-
-	[truetype]: Limit `SLOOP' bytecode argument to 16 bits.
-
-	This fixes
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
-
-	* src/truetype/ttinterp.c (Ins_SLOOP): Do it.
-
-2018-04-14  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
-
-	* src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
-
-2018-04-14  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Update to Unicode 11.0.0.
-
-	But no support new scripts (volunteers welcomed).
-
-	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
-	af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
-	af_deva_nonbase_uniranges, af_geor_uniranges,
-	af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
-	af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
-	af_hani_uniranges): Add new data.
-
-2018-04-10  Nikolaus Waxweiler  <madigens@gmail.com>
-
-	* CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
-	modernization measures.
-
-	This brings up the minimum required CMake version to 2.8.12.
-
-	The installation paths follow the GNU defaults now, e.g. installing on a
-	64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
-
-	Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
-
-	CMake will no longer look for a C++ compiler.
-
-	Library and .so version now match the Autotools build.
-
-	Comments in the build file and informational messages now use platform
-	agnostic example commands.
-
-	ftoption.h and ftconfig.h are written directly without a redundant `-new'
-	copy.
-
-	External dependencies are expressed as option()s and will turn up as such
-	in cmake-gui.
-
-	Internal: Properties such as dependencies and include directories are now
-	privately set on the freetype library instead of globally.
-
-	The CPack definitions have been cleaned up, the `make dist' has been
-	removed. Source packages generated with CPack don't contain Autotools
-	files and aren't used by the maintainers anyway.
-
-	On Windows, src/base/ftver.rc is compiled to decorate the library with
-	version and copyright information.
-
-	A pkg-config file is now generated and installed.
-
-2018-04-09  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
-
-	* src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
-	ADD_LONG and SUB_LONG.
-
-2018-04-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[windows, wince] Clean up legacy project files.
-
-	* builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
-
-2018-04-04  Werner Lemberg  <wl@gnu.org>
-
-	[cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
-
-	* src/cff/cffload.c (cff_load_private_dict): Sanitize
-	`priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
-	on.
-
-	* src/type1/t1load.c (T1_Open_Face): Ditto.
-
-2018-04-04  Ben Wagner  <bungeman@google.com>
-
-	* src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
-	`DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
-	(tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
-	in above.
-
-2018-04-01  Werner Lemberg  <wl@gnu.org>
-
-	* builds/toplevel.mk (work): Use $(SEP).
-
-	This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
-	platform, and this program only understands backslashes in paths.
-
-	Reported by Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>.
-
-2018-03-30  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix memory leak (only if tracing is on).
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
-	it.
-
-2018-03-23  Ben Wagner  <bungeman@google.com>
-
-	[sfnt] Correctly handle missing bitmaps in sbix format (#53404).
-
-	* src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
-
-2018-03-23  Ben Wagner  <bungeman@google.com>
-
-	[truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
-	for empty bitmaps.
-
-2018-03-22  Werner Lemberg  <wl@gnu.org>
-
-	Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
-
-	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/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, vms_make.com: Do it.
-
-2018-03-13  Werner Lemberg  <wl@gnu.org>
-
-	* src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
-	overflow.
-
-2018-03-13  Werner Lemberg  <wl@gnu.org>
-
-	Fix cmap format 2 handling (#53320).
-
-	The patch introduced for #52646 was not correct.
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
-
-2018-03-10  Nikolaus Waxweiler  <madigens@gmail.com>
-
-	* CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
-
-2018-03-09  Chun-wei Fan  <fanc999@yahoo.com.tw>
-
-	* CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
-
-	Do not limit DLL builds to MinGW, since we already have
-	`__declspec(dllexport)' directives in `ftconfig.h'.
-	Also suppress more warnings for POSIX functions.
-
-2018-03-08  Hugh McMaster  <hugh.mcmaster@outlook.com>
-
-	Make installation of `freetype-config' optional (#53093).
-
-	* builds/unix/configure.raw: Add option `--enable-freetype-config'
-	and set `INSTALL_FT2_CONFIG'.
-	* builds/unix/unix-def.in (INSTALL_FT2_CONFIG): Define.
-	* builds/unix/install.mk (install): Handle it.
-
-2018-03-05  Werner Lemberg  <wl@gnu.org>
-
-	Make `ftlcdfil.c' part of the `base' module.
-
-	`ftobjs.c' needs `ft_lcd_padding'.
-
-	Problem reported by duhuanpeng <548708880@qq.com>.
-
-	* modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
-
-	* src/base/ftbase.c: Include `ftlcdfil.c'.
-	* src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
-	* src/base/Jamfile (_sources): Adjusted.
-
-	* docs/INSTALL.ANY: Updated.
-
-2018-03-05  Werner Lemberg  <wl@gnu.org>
-
-	Make `ftfntfmt.c' part of the `base' module.
-
-	`ftobjs.c' needs `FT_Get_Font_Format'.
-
-	Problem reported by duhuanpeng <548708880@qq.com>.
-
-	* modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
-
-	* src/base/ftbase.c: Include `ftfntfmt.c'.
-	* src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
-	* src/base/Jamfile (_sources): Adjusted.
-
-	* docs/INSTALL.ANY: Updated.
-
-2018-03-01  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
-
-2018-02-23  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
-
-	Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
-
-2018-02-17  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
-
-2018-02-06  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflow issues.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
-
-	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
-	SUB_LONG; avoid FT_ABS.
-
-2018-02-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[unix] Use -fvisibility=hidden.
-
-	It is now widely recommended that ELF shared libraries hide symbols
-	except those with explicit __attribute__((visibility("default"))).
-	This is supported by all major compilers and should rather be an
-	option in libtool.
-
-	* builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
-	attribute.
-
-2018-01-27  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Better protection against invalid VF data.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
-
-	Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
-
-	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
-	`normalizedcoords'.
-
-2018-01-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
-
-2018-01-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
-
-2018-01-27  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Better trace VF instances.
-
-	* src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
-	of coordinates.
-	(TT_Get_MM_Var): Trace instance indices names.
-	(TT_Set_Var_Design): Updated.
-
-2018-01-27  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Beautify tracing of VF axis records.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
-	table-like manner.
-
-2018-01-26  Ben Wagner  <bungeman@google.com>
-
-	[truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
-	`face->blend->num_axis' in case we have to initialize the
-	`face->blend'.
-
-2018-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[apinames] Anonymous version map for GNU linker.
-
-	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
-	(OutputFormat): Add `OUTPUT_GNU_VERMAP'.
-	(names_dump): Handle it.
-	(usage): Updated.
-	(main): Handle new command line flag `-wL'.
-
-2018-01-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[unix] Call libtool to clean up.
-
-	* builds/unix/install.mk (clean_project_unix, distclean_project_unix):
-	Use libtool.
-	* builds/freetype.mk: Minor.
-
-2018-01-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/ftver.rc: Fix mingw-w64 compilation.
-
-2018-01-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Enable VERSIONINFO resource for Cygwin/MinGW.
-
-	* builds/unix/configure.raw: Check for resource compiler.
-	* builds/unix/unix-cc.in: Conditionally set up resource compiler.
-	* builds/freetype.mk: Add conditional rule for `ftver.rc'.
-	* src/base/ftver.rc: Copyright notice and year update.
-
-2018-01-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Move VERSIONINFO resource.
-
-	* builds/windows/vc2010/freetype.vcxproj: Updated.
-	* builds/windows/ftver.rc: Move file from here...
-	* src/base/ftver.rc: ... to here.
-
-2018-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Expand dllexport/dllimport to Cygwin/MinGW.
-
-	* include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
-	s/_MSC_VER/_WIN32/.
-	* builds/unix/ftconfig.in: Replicate here.
-	* builds/vms/ftconfig.h: Replicate here.
-
-2018-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Improve and document MSVC build.
-
-	* include/freetype/config/ftconfig.h: Guard dllexport/dllimport
-	attributes with _DLL and FT2_DLLIMPORT.
-	* builds/windows/vc2010/index.html: Update documentation.
-
-2018-01-10  Steve Robinson  <ssrobins@gmail.com>
-
-	* CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
-
-2018-01-10  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Correctly handle Flex features (#52846).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
-	cf2_cmdHMOVETO>: Do not move if doing Flex.
-
-2018-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* builds/windows/vc2010/freetype.sln: Synchronize with the project.
-
-2018-01-08  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.9 released.
-	=======================
-
-
-	Tag sources with `VER-2-9'.
-
-	* docs/VERSION.TXT: Add entry for version 2.9.
-
-	* 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/windows/ftver.rc,
-	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.8.1/2.9/, s/281/29/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 22:0:16.
-	* CMakeLists.txt (VERSION_PATCH): Set to 0.
-
-2018-01-07  Werner Lemberg  <wl@gnu.org>
-
-	Add check for librt, needed for `ftbench' (#52824).
-
-	* builds/unix/configure.raw (LIB_CLOCK_GETTIME): Define; this will
-	hold `-lrt' if necessary.
-
-	* builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
-
-2018-01-07  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Fix Type 1 glyphs with too many stem hints.
-
-	According to the CFF specification, charstrings can have up to 96 stem
-	hints. Due to hint replacement routines in Type 1 charstrings, some
-	glyphs are rejected by the Adobe engine, which implements the above
-	limit. This fix turns off hinting for such glyphs.
-
-	* src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
-	`cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
-	hinting.
-
-2018-01-06  Werner Lemberg  <wl@gnu.org>
-
-	Add `FT_Done_MM_Var'.
-
-	This is necessary in case the application's memory routines differ
-	from FreeType.  A typical example is a Python application on Windows
-	that calls FreeType compiled as a DLL via the `ctypes' interface.
-
-	* include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
-	and define.
-
-	* docs/CHANGES: Updated.
-
-2018-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Round offsets of glyph components only if hinting is on.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
-	it.
-
-2018-01-03  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
-
-	This is a better fix than the previous commit, which is now
-	reverted.
-
-2018-01-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Move internal LCD-related declarations.
-
-	* include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
-	Move from here...
-	* include/freetype/internal/ftobjs.h: ... to here.
-
-2018-01-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
-	[_MSC_VER]: Limit Visual C++ attributes.
-
-2018-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Make blend/design coordinate round-tripping work.
-
-	Behdad reported that setting blend coordinates, then getting design
-	coordinates did incorrectly return the default instance's
-	coordinates.
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
-
-2017-12-31  Werner Lemberg  <wl@gnu.org>
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
-
-2017-12-31  Werner Lemberg  <wl@gnu.org>
-
-	Synchronize other Windows project files.
-
-	* builds/windows/*: Add missing files.
-
-2017-12-31  Werner Lemberg  <wl@gnu.org>
-
-	Update Visual C 2010 project files.
-
-	Problem reported by Hin-Tak.
-
-	* builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
-	`ftcid.c'.
-	Sort entries.
-	* builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
-	Fix members of `FT_MODULE' group.
-
-2017-12-30  Werner Lemberg  <wl@gnu.org>
-
-	* builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
-
-2017-12-28  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
-
-	Reported by Nikolaus.
-
-2017-12-27  Werner Lemberg  <wl@gnu.org>
-
-	Fix compiler warnings.
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
-	`new_pitch' unsigned.
-
-	* src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
-
-2017-12-27  Werner Lemberg  <wl@gnu.org>
-
-	Fixes for `make multi'.
-
-	* include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
-	(ps_property_get): Harmonize declaration with corresponding
-	function typedef.
-
-	* include/freety[e/internal/fttrace.h: Add `trace_psprops'.
-
-	* src/base/ftpsprop.c: Include necessary header files.
-	(FT_COMPONENT): Define.
-	(ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
-	(ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
-	Harmonize declaration with corresponding function typedef.
-
-2017-12-27  Werner Lemberg  <wl@gnu.org>
-
-	Provide support for intra-module callback functions.
-
-	This is needed especially for `make multi' with C++.
-
-	* include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
-	FT_BASE_CALLBACK_DEF): New macros.
-
-2017-12-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	Move PostScript drivers' property handlers to `base'.
-
-	This reduces the amount of duplicated code across PostScript
-	drivers.
-
-	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
-	({cff,cid,t1}_property_{get,set}): Moved to...
-	* include/freetype/internal/ftpsprop.h: ...this new file.
-	(ps_property_{get,set}): New functions to replace moved ones.
-
-	* src/base/ftpsprop.c: New file that implements above functions.
-
-	* include/freetype/internal/internal.h
-	(FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro.
-
-	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c:
-	Updated.
-
-	* src/base/Jamfile, src/base/rules.mk (BASE_SRC), src/base/ftbase.c:
-	Updated.
-
-2017-12-20  Werner Lemberg  <wl@gnu.org>
-
-	Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
-
-	We exit early if the current design or blend coordinates are
-	identical to the new ones.
-
-	* src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
-	Implement it, returning internal error code -1 if there will be no
-	variation change.
-
-	* src/type1/t1load.c (t1_set_mm_blend): Ditto.
-
-	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
-	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
-
-2017-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix charmap type 2 iterator (#52646).
-
-	The subsetted demo font of the report that exhibits the bug has a
-	very unusual type 2 cmap for Unicode(!): It contains only two
-	sub-headers, one for one-byte characters (covering the range 0x20 to
-	0xFA), and a second one for higher byte 0x01 (just for character
-	code U+0131).
-
-	Before this commit, the iterator wasn't able to correctly handle a
-	sub-header for higher byte 0x01.
-
-	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
-	for outer loop.
-
-2017-12-18  Matthias Clasen  <matthias.clasen@gmail.com>
-
-	[truetype] Fix clamping, minor tracing code beautification.
-
-	* src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
-	design coordinates.
-	Use clamped value.
-
-2017-12-18  Werner Lemberg  <wl@gnu.org>
-
-	* src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
-
-2017-12-18  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
-
-2017-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix previous commit.
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
-	unhinted phantom points, which must be properly scaled.
-
-2017-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Don't apply HVAR and VVAR deltas twice (#52683).
-
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
-	`pp1' to `pp4', except if we have an HVAR and/or VVAR table.
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
-	alternative code branch identically w.r.t. presence of an HVAR
-	and/or VVAR table.
-
-2017-12-17  Jonathan Kew  <jfkthame@gmail.com>
-
-	[truetype] Correctly handle variation font phantom points (#52683).
-
-	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
-	point indices.
-
-2017-12-17  Jonathan Kew  <jfkthame@gmail.com>
-
-	Fix incorrect advance width scaling (#52683).
-
-	* src/base/ftadvance.c (FT_Get_Advances): Always respect the
-	FT_LOAD_NO_SCALE flag if present.
-
-2017-12-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
-	* objs/.gitignore: Ignore almost everything.
-
-2017-12-11  Werner Lemberg  <wl@gnu.org>
-
-	Fix compiler warning (#52640).
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
-	variable.
-
-2017-12-08  Azzuro  <azzuro@team-mediaportal.com>
-
-	* builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
-
-	This allows builds with different configurations in parallel.
-
-2017-12-08  Werner Lemberg  <wl@gnu.org>
-
-	Fix `make setup dos', second try (#52622).
-
-	* builds/detect.mk (dos_setup): Don't use literal `>' character at
-	all.  Mixing the different escaping rules from make, dos, and
-	windows is too fragile.
-
-2017-12-08  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Fix code section parsing.
-
-	Stuff like
-
-	  {
-	    <bla>
-	  }
-
-	confused the parser, which incorrectly treated `<bla>' as a markup
-	tag.
-
-	* src/tools/docmaker/content.py (ContentProcessor::process_content):
-	Apply `re_markup_tags' only outside of code sections.
-
-2017-12-08  Werner Lemberg  <wl@gnu.org>
-
-	New `ftdriver.h' file, covering all driver modules.
-
-	This reduces redundancy and increases synergy; it also reduces the
-	number of header files.
-
-	* include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
-	(FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
-	FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
-	FT_DRIVER_H.
-
-	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
-	include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
-	include/freetype/ftttdrv.h: Replaced with...
-	* include/freetype/ftdriver.h: ...this new file.
-	(FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
-	(FT_HINTING_ADOBE): ... this new macro.
-	(FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
-	(FT_HINTING_FREETYPE): ... this new macro.
-
-	* src/*/*: Updated accordingly.
-
-2017-12-08  Werner Lemberg  <wl@gnu.org>
-
-	Move `ftdriver.h' to `ftdrv.h'.
-
-	* include/freetype/internal/ftdriver.h: Renamed to...
-	* include/freetype/internal/ftdrv.h: ... this name.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
-	Updated.
-
-2017-12-08  Werner Lemberg  <wl@gnu.org>
-
-	Fix access to uninitalized memory (#52613).
-
-	Also reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=791317
-
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
-	bitmap size needs a larger bitmap buffer, assure that the new memory
-	areas are initialized also.
-
-2017-12-08  Werner Lemberg  <wl@gnu.org>
-
-	Fix `make setup dos' (#52622).
-
-	* builds/detect.mk (dos_setup): Properly escape literal `>'
-	character.
-
-2017-12-07  Werner Lemberg  <wl@gnu.org>
-
-	Fix C++ compilation.
-
-	* src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
-
-2017-12-07  Werner Lemberg  <wl@gnu.org>
-
-	Fix `make multi'.
-
-	* include/freetype/internal/fttrace.h: Remove unused tracing macros.
-	s/pshalgo2/pshalgo/.
-	Add `trace_cffdecode'.
-	* src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
-
-	* src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-	* src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
-	FT_SERVICE_CFF_TABLE_LOAD_H.
-
-	* src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-
-	* src/psaux/cffdecode.c: Include FT_FREETYPE_H and
-	FT_INTERNAL_DEBUG_H.
-	(FT_COMPONENT): Define.
-	* src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-	* src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-	Declare `cff_builder_funcs' and `ps_builder_funcs'.
-	* src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
-	* src/psaux/psobjs.c : Include `psauxmod.h'.
-
-2017-12-07  Werner Lemberg  <wl@gnu.org>
-
-	* include/freetype/config/ftheader.h: Some clean-up.
-
-	This commit removes documentation of deprecated macros and does some
-	minor streamlining.
-
-2017-12-06  Werner Lemberg  <wl@gnu.org>
-
-	* builds/symbian/bld.inf: Updated.
-
-2017-12-06  Werner Lemberg  <wl@gnu.org>
-
-	New header file `ftparams.h' that collects all parameter tags.
-
-	* include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
-	macro.
-	(FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
-	`ftparams.h'.
-
-	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
-	include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
-	include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
-	FT_PARAMETER_TAGS_H.
-	Move FT_PARAM_TAG_XXX definitions to...
-	* include/freetype/ftparams.h: ...this new file.
-
-	* include/freetype/ttunpat.h: Remove.  No longer needed.
-
-2017-12-05  Werner Lemberg  <wl@gnu.org>
-
-	Improve tracing messages by using singular and plural forms.
-
-	* src/*/*.c: Implement it.
-
-2017-12-04  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Allow shared points in `cvar' table (#52532).
-
-	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
-	and adjusting the corresponding code from
-	`TT_Vary_Apply_Glyph_Deltas'.
-
-2017-11-28  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Improving tracing of composite glyphs.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
-	[FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
-
-2017-11-27  Werner Lemberg  <wl@gnu.org>
-
-	[type1] Allow (again) `/Encoding' with >256 elements (#52464).
-
-	In version 2.6.1, this has been disallowed to better reject
-	malformed fonts; however, this restriction was too strong.  This
-	time, we only take the first 256 elements into account, since
-	encoding arrays are always accessed with a 8bit integer, according
-	to the PostScript Language Reference.
-
-	* src/type1/t1load.c (parse_encoding): Implement it.
-
-2017-11-27  Jan Alexander Steffens (heftig)  <jan.steffens@gmail.com>
-
-	Fix last commit (#52522).
-
-	* builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
-	properly if we have `ftoption.h' in `BUILD_DIR'.
-
-2017-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[unix] Install a massaged `ftoption.h' file (#51780).
-
-	* builds/unix/configure.raw (ftoption_set, ftoption_unset): New
-	auxiliary functions to construct...
-	(FTOPTION_H_SED): ... this new variable.
-	Apply it as a sed argument while copying `ftoption.h' to the
-	`builds/unix' directory (using `AC_CONFIG_FILES').
-	Simplify code of test that checks cpp's computation of bit length
-	(the test previously created an empty `ftoption.h' file and deleted
-	it immediately afterwards); without this change, it can happen on my
-	GNU/Linux box that `configure's execution of `config.status' doesn't
-	create `ftoption.h' (no idea why this happens).
-
-	* builds/unix/install.mk (install): Install
-	`builds/unix/ftoption.h'.
-
-	* builds/unix/unix-def.in (DISTCLEAN): Updated.
-
-	* builds/unix/.gitignore: Updated.
-
-2017-11-23  Tor Andersson  <tor.andersson@artifex.com>
-
-	Silence unused function warnings (#52465).
-
-	Some static function declarations cause unused function warnings if
-	certain config options are turned off via `ftoption.h'.
-
-	* src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
-	src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
-
-2017-11-22  Ewald Hew  <ewaldhew@gmail.com>
-
-	* src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
-
-2017-11-22  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Fix CFF advance widths. (#52466)
-
-	Glyph advance widths were being written to the new `PS_Decoder' but not
-	saved to the underlying format specific decoder. This caused pure CFF
-	fonts to have bad advance width.
-
-	* include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
-	field to pointer.
-	Remove unused fields.
-	* src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
-	to reference.
-	Remove unused.
-	* src/psaux/psft.c (cf2_setGlyphWidth): Update code.
-
-2017-11-15  Vlad Tsyrklevich  <vtsyrklevich@google.com>
-
-	* include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
-
-2017-11-14  Nikolaus Waxweiler  <madigens@gmail.com>
-
-	Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
-
-	Since Ewald Hew factored the Adobe hinting engine out of the CFF
-	driver code, we can now use it on Type 1 (and CID) font formats, as
-	both have the same hinting philosophy.
-
-	This change activates the Adobe hinter when in LIGHT mode, and
-	therefore always unless explicitly asking for the auto-hinter.  This
-	makes LIGHT behavior consistent with CFF fonts.  As of this commit,
-	the hinting engine table looks as follows.
-
-	             LIGHT  NORMAL
-	  -------------------------
-	   TrueType  Auto   v40
-	   CFF       Adobe  Adobe
-	   Type 1    Adobe  Adobe
-
-2017-11-10  Yuri Levchenko  <yuri_levchenko@boolat.com>
-
-	* CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
-
-2017-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
-
-2017-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
-
-2017-11-03  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251)
-
-	The interpreter in Type 1 mode rewinds the charstring after collecting
-	all hints for building the initial hintmap (commit d52dd7f). However,
-	some charstrings use `endchar' in a final subroutine call, rewinding to
-	the start of that subroutine, and only a small section of the actual
-	glyph is drawn.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>:
-	Ensure we are on the top level charstring before rewinding.
-
-2017-11-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[truetype] Add more tricky fonts.
-
-	See the report by Yang Yinsen.
-	https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html
-
-	* src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB',
-	`DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'.
-	(tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB,
-	DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7.  Also
-	add checksums for DLCLiShu and DLCHayBold which their family names
-	were already listed but their checksums were previously unknown.
-
-2017-11-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth] Fix complex rendering at high ppem.
-
-	We used to split large glyphs into horizontal bands and continue
-	bisecting them still horizontally if that was not enough.  This is
-	guaranteed to fail when a single scanline cannot fit into the
-	rendering memory pool.  Now we bisect the bands vertically so that
-	the smallest unit is a column of the band height, which is guranteed
-	to fit into memory.
-
-	* src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
-
-2017-10-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth] Improve complex rendering at high ppem.
-
-	At large sizes almost but not exactly horizontal segments can quickly
-	drain the rendering pool. This patch at least avoids filling the pool
-	with trivial cells. Beyond this, we can only increase the pool size.
-
-	Reported, analyzed, and tested by Colin Fahey.
-
-	* src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
-
-2017-10-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Improve tracing in FT_Load_Glyph, FT_*_Size.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
-	function name, glyph index, and load flags.
-	(FT_Select_Metrics, FT_Request_Metrics): Remove all tracing.
-	(FT_Select_Size, FT_Request_Size): Improve tracing.
-
-2017-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Improve tracing in FT_Render_Glyph.
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage
-	calculations and downgrade Netpbm dump to bitmap:7.
-
-2017-10-15  Ewald Hew  <ewaldhew@gmail.com>
-
-	[cff] Fix segfault on missing `psaux' (#52218)
-
-	* src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr.
-
-	* modules.cfg: Update dependency list.
-
-2017-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base, cff] Fix MSVC warnings.
-
-	* src/base/ftobjs.c (FT_New_Library): C4702: unreachable code.
-	(ft_glyphslot_preset_bitmap): C4244: possible loss of data.
-	* src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data.
-	Turn `sum' into unsigned.
-
-2017-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Netpbm image tracing.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
-	(FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.
-
-	* src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
-
-2017-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* builds/windows/ftdebug.c (FT_Message): Print to stderr.
-	* builds/wince/ftdebug.c (FT_Message): Ditto.
-
-2017-10-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[afshaper] Delay creating `hb_set' objects until needed.
-
-	In runs on Noto Naskh Arabic, this results in 89 sets created
-	instead of 340 before.  Makes auto-hinter setup with HarfBuzz
-	enabled 20% to 30% faster.
-
-	* src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
-
-2017-10-12  Ewald Hew  <ewaldhew@gmail.com>
-
-	[type1, cid] Add hinting engine switch.
-
-	Implement property service in `type1' and `cid' drivers to allow
-	switching between FreeType or Adobe hinting engine when both are
-	available.
-
-	* src/cid/cidriver.c (cid_property_{set,get}, cid_services),
-	src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add
-	Properties service.
-
-	* src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c
-	(T1_Driver_Init): Add default property values.
-
-2017-10-12  Ewald Hew  <ewaldhew@gmail.com>
-
-	Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
-
-	This controls whether the old Type 1 engine gets compiled into FreeType.
-	It is disabled by default.
-
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(T1_CONFIG_OPTION_OLD_ENGINE): New macro.
-
-	* include/freetype/internal/psaux.h (PS_Decoder): Remove unused field.
-	* include/freetype/internal/psaux.h, src/cid/cidgload.c
-	(cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c
-	(ps_builder_add_point), src/psaux/t1decode.c
-	(t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph,
-	t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h,
-	src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround
-	relevant code with macro.
-	Minor code changes.
-
-2017-10-12  Ewald Hew  <ewaldhew@gmail.com>
-
-	Extract width parsing from Type 1 parser.
-
-	Duplicate the fast advance width calculations from the old parser.
-	This is to facilitate adding options for compiling out the old parser.
-
-	* src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function.
-	* include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry
-	`parse_metrics'.
-	* src/psaux/psauxmod.c: Set the new entry.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String),
-	src/cid/cidgload.c (cid_load_glyph): Separate
-	conditional for selecting engine.
-
-2017-10-09  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/chromium/issues/detail?id=772775
-
-2017-10-08  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Adjust behaviour of PS font names for variation fonts.
-
-	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
-	PS name only if no variation is applied.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	[cff, truetype] Adjust behaviour of named instances.
-
-	This commit completely separates the interaction between named
-	instances and variation functions.  In particular, resetting the
-	variation returns to the current named instance (if set) and not to
-	the base font.
-
-	As a side effect, variation functions no longer change the named
-	instance index.
-
-	* src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance'
-	function.
-	Also apply `MVAR' table to named instances.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast.
-	(tt_set_mm_blend): No longer check whether requested variation
-	coincides with a named instance.
-	(TT_Set_Var_Design): Use current named instance for default
-	coordinates.
-	* src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	Make `FT_Set_Named_Instance' work.
-
-	* src/cff/cffdrivr.c (cff_set_instance): New function.
-	(cff_service_multi_masters): Register it.
-
-	* src/truetype/ttgxvar.c (TT_Set_Named_Instance): New function.
-	* src/truetype/ttgxvar.h: Updated.
-	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Register
-	it.
-
-	* src/type1/t1load.c (T1_Reset_MM_Blend): New function.
-	* src/type1/t1load.h: Updated.
-	* src/type1/t1driver.c (t1_service_multi_masters): Register it.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	Make `FT_FACE_FLAG_VARIATION' work.
-
-	* include/freetype/internal/tttypes.h (TT_Face): Remove
-	`is_default_instance'; this can be replaced with a combination of
-	`FT_IS_VARIATION' and `FT_IS_INSTANCE'.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Updated.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
-	(sfnt_init_face): Updated.
-
-	* src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
-	(TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
-	src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
-	Handle `FT_FACE_FLAG_VARIATION'.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
-	`FT_FACE_FLAG_VARIATION'.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	New function `FT_Set_Named_Instance'.
-
-	No effect yet.
-
-	* src/base/ftmm.c (FT_Set_Named_Instance): New function.
-
-	* include/freetype/ftmm.h: Updated.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	Add macros for checking whether a font variation is active.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_VARIATION,
-	FT_IS_VARIATION): New macros.
-	No effect yet.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	Add framework for setting named instance in MM service.
-
-	* include/freetype/internal/services/svmm.h (FT_Set_Instance_Func):
-	New function typedef.
-	(MultiMasters): Add `set_instance' member.
-	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
-
-	* src/cff/cffdrivr.c (cff_service_multi_masters),
-	src/truetype/ttdriver (tt_service_gx_multi_masters),
-	src/type1/t1driver.c (t1_service_multi_masters): Updated.
-
-2017-10-07  Werner Lemberg  <wl@gnu.org>
-
-	[type1] Minor code shuffling.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend): Make it a wrapper of...
-	(t1_set_mm_blend): ...this new function.
-	(T1_Set_MM_Design): Use `t1_set_mm_blend'.
-
-2017-10-05  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer
-	overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3539
-
-2017-10-05  Werner Lemberg  <wl@gnu.org>
-
-	Fix compiler warnings.
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_extra): Avoid code that relies
-	on numeric overflow.
-	Add cast.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix variable
-	types, add cast.
-
-2017-10-04  John Tytgat  <John.Tytgat@esko.com>
-
-	[cff] Add support for `FSType'.
-
-	* include/freetype/internal/cfftypes.h (CFF_FontRec): Add
-	`font_extra' entry.
-
-	* src/cff/cffdrivr.c (cff_ps_get_font_extra): New function to
-	retrieve FSType info from the embedded PostScript data.
-	(cff_service_ps_info): Register function.
-
-	* src/cff/cffload.c (cff_font_done): Free `font_extra'.
-
-2017-09-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Signedness fixes in bitmap presetting.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Explicitly signed height.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
-	subtraction.
-
-2017-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Bitmap metrics presetting [2/2].
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Preset the bitmap metrics when
-	appropriate but `FT_Render_Glyph' is not called.
-	* include/freetype/freetype.h (FT_GlyphSlotRec): Document the change.
-
-2017-09-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth, raster] Miscellaneous cleanups.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Clean up the exit.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Reduce
-	translations and clean up the exit.
-	(ft_smooth_render_lcd, ft_smooth_render_lcd): Remove unused `error'.
-
-2017-09-28  Ben Wagner  <bungeman@google.com>
-
-	[truetype] Really, really fix #52082.
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
-
-2017-09-28  Werner Lemberg  <wl@gnu.org>
-
-	* src/psaux/psintrp.c (cf2_doStems): Fix integer overflow.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3510
-
-2017-09-28  Ewald Hew  <ewaldhew@gmail.com>
-
-	* src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
-
-	Reported as
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
-
-2017-09-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Bitmap metrics presetting [1/2].
-
-	This mainly just extracts the code for presetting the bitmap metrics
-	from the monochrome, grayscale, and LCD renderers into a separate
-	function.
-
-	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): New function that
-	calculates prospective bitmap metrics for the given rendering mode.
-	* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
-	Declare it.
-
-	* src/base/ftlcdfil.c (ft_lcd_padding): New helper function that adds
-	padding to CBox taking into account pecularities of LCD rendering.
-	* include/freetype/ftlcdfil.h (ft_lcd_padding): Declare it.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Reworked to use
-	`ft_glyphslot_preset_bitmap'.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
-	(ft_smooth_render_lcd, ft_smooth_render_lcd): The pixel_mode setting
-	is moved to `ft_glyphslot_preset_bitmap'.
-
-2017-09-28  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Fix compiler warning.
-
-	* src/psaux/pshints.c (cf2_hintmap_dump): Add switch for tracing
-	code.
-
-2017-09-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
-
-2017-09-25  Werner Lemberg  <wl@gnu.org>
-
-	[psaux] Fix compiler warnings.
-
-	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
-	test.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escCALLOTHERSUBR>: Add casts.
-
-	* src/psaux/psobjs.c (ps_decoder_init): Add cast.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Minor fixes.
-
-	* include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
-	Rearrange `ps_builder_init' arguments to conventional order.
-
-	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
-	notice for `SubFont' in Type 1 mode.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Move `psdecode' into `psobjs'.
-
-	As the former only contains a single procedure, move it into
-	`psobjs' for simplicity.  Also change the parameter order to the
-	conventional one.
-
-	* src/psaux/psdecode.c (ps_decoder_init): Moved to...
-	* src/psaux/psobjs.c: ...Here.
-	* src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
-
-	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
-	`ps_decoder_init' function signature.
-
-	* src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
-	Update calls.
-
-	* src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
-
-	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
-	Update file references.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Fix Type 1 hinting.
-
-	Type 1 hinting breaks sometimes when mid-charstring hints should
-	have been in the initial hintmap.  This fix adds a preprocessing
-	pass that reads all hints and builds the correct initial hintmap
-	first, before proceeding to build the glyph outline.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString): New
-	`initial_map_ready' boolean flag.
-	Ignore outline commands and hint changes on first pass.
-	<cf2_cmdENDCHAR>: Add section to build hintmap and rewind.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Add tracing for hints.
-
-	* src/psaux/pshints.c (cf2_hintmap_dump): New function.
-	(cf2_hintmap_insertHint): Trace incoming and inserted hints.
-	(cf2_hintmap_build): Dump hintmap before and after hint adjustment.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Minor fixes.
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString): Fix check for pop
-	results.
-	s/font->decoder/decoder/ where necessary.
-	<cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_escHSTEM3, cf2_escVSTEM3>: Use
-	offset parameter in `cf2_doStems' instead of doing correction for
-	left-sidebearing.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[cid] Use the new engine.
-
-	* src/cid/cidgload.c: Update includes.
-	(cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
-	loading code as with `type1' module.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[cid] Add Adobe engine configuration.
-
-	This is similar to what was done in the `type1' module.
-
-	* src/cid/cidriver.c (t1cid_driver_class): Update declaration.
-	* src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
-	(cid_driver_init): Update code.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Change subfont synthesis for CID fonts.
-
-	Change `t1_make_subfont' to take in the Private dict record as an
-	argument.  This is because Type 1 and CID font records in FreeType
-	have this in different places.
-
-	* src/psaux/psobjs.c (t1_make_subfont): Change `T1_Face' to
-	`FT_Face' so that CID is also accepted.
-	Take `PS_Private' as an argument and let caller figure out where the
-	Private dict actually is.
-	Update references.
-
-	* include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
-	declaration.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
-	call.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[type1] Switch to Adobe engine.
-
-	* src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (seac).
-
-	This concludes the changes needed to add Type 1 support.
-
-	* src/psaux/psintrp.c: Update includes.
-	(cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
-	implied seac for CFF.
-
-	* src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
-	function to look up the glyph index.
-
-	* src/psaux/psft.c (cf2_getT1SeacComponent,
-	cf2_freeT1SeacComponent): New functions to get the charstrings for
-	seac components.
-
-	* src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (flex in callothersubr).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escCALLOTHERSUBR>: Fix Flex feature handling (OtherSubrs 0, 1,
-	2).
-	<cf2_cmdRMOVETO>: Do not actually move the `glyphPath' while doing
-	flex.  This is to avoid closing the current contour.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (callothersubr).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escCALLOTHERSUBR>: Copy code from
-	`t1_decoder_parse_charstrings' (in `t1decode.c').
-	OtherSubr 3 (change hints) should reset the hintmask, so that the
-	new hints are applied.
-	Fix function calls and stack access.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (pop).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString): Change how unhandled
-	OtherSubr results are stored.  Implement the PostScript stack using
-	an array.
-	<cf2_escPOP>: Ensure that the stack is not cleared after getting
-	`OtherSubr' results.
-	Fix stack access.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (callsubr).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
-	Type 1 mode.
-
-	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (div, four-byte numbers).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_escDIV>: Add
-	Type 1 mode.  Type 1 requires large integers to be followed by
-	`div'; cf. `Adobe Type 1 Font Format', section 6.2.
-	<op == 255>: Push Type 1 four-byte numbers as `Int' always.  This is
-	to ensure `div' and `callsubr' get values they can use.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (hints).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
-	cf2_cmdVSTEM>: Add correction for left sidebearing in Type 1 mode.
-	Allow adding hints mid-charstring.
-	<cf2_escVSTEM3, cf2_escHSTEM3>: Translate into equivalent commands
-	for three normal stem hints.  This requires some recalculation of
-	stem positions.
-	Correction for left sidebearing.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (hsbw, sbw).
-
-	* src/psaux/psintrp.c (cf2_doStems): `hsbw' or `sbw' must be the
-	first operation in a Type 1 charstring.
-	(cf2_interpT2CharString): Remove unused variables.
-	<cf2_cmdHMOVETO, cf2_cmdVMOVETO, cf2_cmdRMOVETO>: `hsbw' or `sbw'
-	must be the first operation in a Type 1 charstring.
-	<cf2_cmdHSBW, cf2_escSBW>: Fix data access and add correction for
-	left sidebearing.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (setcurrentpoint).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString)
-	<cf2_escSETCURRENTPT>: Fix stack access.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Extend Adobe interpreter (closepath).
-
-	* src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
-	Use the right builder function.  We can use the `haveWidth' boolean
-	already present, instead of implementing `parse_state'.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Add Type 1 operations to Adobe CFF interpreter.
-
-	The following Type 1 specific ops have been added (copied from
-	`t1decode'):
-
-	  closepath
-	  vstem3
-	  hstem3
-	  seac
-	  sbw
-	  callothersubr
-	  pop
-	  setcurrentpoint
-	  hsbw
-
-	The following require a Type 1 mode, because of differences in
-	specification:
-
-	  hstem
-	  vstem
-	  vmoveto
-	  callsubr
-	  div
-	  rmoveto
-	  hmoveto
-	  Numbers
-
-	The subsequent commits will implement these changes and adapt
-	accesses of data and objects to the new interpreter.
-
-	NOTE: Will not compile in the meantime!
-
-	* src/psaux/psintrp.c: Add opcodes to enum.
-	(cf2_interpT2CharString): Copy relevant code over from
-	`t1_decoder_parse_charstrings' (in `t1decode.c').
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[type1] Fixes for rendering.
-
-	The Type 1 advance width calculation passes null for glyph slot,
-	etc, which can cause null pointer access in the new interpreter.
-	Fall back to the old one for now.
-
-	Fix the large glyph retry code and ensure hinting and scaling flags
-	are set properly.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add a
-	check for metrics_only.
-	Set the `force_scaling' flag.
-	(T1_Parse_Glyph): Updated.
-	(T1_Load_Glyph): Add `hinting' and `scaled' flags.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Add missing objects (2/2).
-
-	Synthesize a `SubFont' object for Type 1 fonts.  This is used in the
-	interpreter to access Private dict data, which are stored in
-	different places for Type 1 and CFF.  This allows the same data to
-	be used in either mode.
-
-	* src/psaux/psobjs.c (t1_make_subfont): New procedure to copy
-	required values to a dummy `CFF_SubFont' object.  This is similar to
-	`cff_make_private_dict'.
-	* src/psaux/psobjs.h: Add the new declaration.
-
-	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
-	Add this to the PSAux Service for future use with CID fonts.
-
-	* src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
-	(T1_Parse_Glyph_And_Get_Char_String): Add the call.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Add missing objects for Type 1 (1/2).
-
-	Move `CF2_Font' instance to `PS_Decoder'.  This is the context for
-	the interpreter and since it is currently stored in `CFF_Font', is
-	unavailable in Type 1 mode.
-
-	* include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
-	`cf2_instance' field.
-
-	* src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
-	`PS_Decoder'.
-
-	* src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
-
-	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	Allow `type1' module to use the Adobe engine.
-
-	Add the callback and some conditionals to switch between the two
-	engines.
-
-	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
-	function declarations.
-	* src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
-	callbacks.
-
-	* src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
-	number conversion.
-
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
-	to choose which renderer to use.
-
-	* src/cid/cidgload.c (cid_load_glyph): Update call.
-	* src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
-	includes.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[type1] Add Adobe engine configuration.
-
-	Use the previously changed PS_Driver in type1 module to store
-	hinting engine configuration.
-
-	* include/freetype/ftt1drv.h: New file.
-	Duplicate and rename config options from CFF.
-	* include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
-
-	* src/type1/t1driver.c (t1_driver_class): Update declaration.
-	* src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
-	(T1_Driver_Init): Update code.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[cff] Move and rename `CFF_Driver'.
-
-	This is so that we can use the same hinting engine parameters for
-	Type 1.
-
-	* include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
-	move to...
-	* include/freetype/internal/psaux.h (PS_Driver): ...here.
-
-	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffload.c,
-	src/cff/cffobjs.c, src/cff/cffobjs.h, src/psaux/psft.c,
-	src/psaux/psobjs.c: Update references.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, type1] Reorganize object fields.
-
-	Make some fields more generic, so that we can access them the same
-	way regardless of Type 1 or CFF.
-
-	* include/freetype/internal/psaux.h (PS_Builder): Change `TT_Face'
-	to `FT_Face'.
-	Remove unused fields.
-
-	* src/psaux/psft.c: Update all accesses of `PS_Builder.face'.
-	Add some asserts to guard against casting `T1_Face' as `TT_Face'.
-
-	* src/type1/t1objs.h (T1_GlyphSlot): Reorder fields to follow
-	`CFF_GlyphSlot', so that we can pretend they are the same in the
-	interpreter.
-
-	* src/psaux/psobjs.c (ps_builder_init, ps_builder_add_point):
-	Updated with above changes.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Prepare for Type 1 mode.
-
-	Add some checks for Type 1 data passing through.
-
-	* src/psaux/psfont.h (CF2_Font): Add `isT1' flag.
-	* src/psaux/psfont.c (cf2_font_setup): Skip the variations and blend
-	code which is not applicable for Type 1.
-
-	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Avoid accessing
-	`decoder->cff' in Type 1 mode.
-	Copy `is_t1' flag to `CF2_Font'.
-
-2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Use the new objects.
-
-	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Fix
-	switching between new and old engines.
-
-	* src/cff/cffgload.c, src/cff/cffparse.c: Update calls.
-
-	* src/psaux/psblues.c, src/psaux/psfont.c, src/psaux/psfont.h,
-	src/psaux/psft.c, src/psaux/psft.h, src/psaux/psintrp.c: Update all
-	to use new objects.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Objects for new interpreter (part 2).
-
-	Make the new objects copy over values.  They are essentially wrapper
-	types for the different decoders/builders.
-
-	* include/freetype/internal/psaux.h: Update declarations.
-	(PS_Builder): Add `is_t1' flag.
-	(PS_Decoder_{Get,Free}_Glyph_Callback): Renamed to...
-	(CFF_Decoder_{Get,Free}_Glyph_Callback: ... this.
-	(PS_Decoder): Updated.
-	Add `t1_parse_callback' member.
-	(PSAux_ServiceRec): Add `ps_decoder_init' member.
-
-	* src/psaux/psdecode.h, src/psaux/psobjs.h: Update declarations.
-
-	* src/psaux/psdecode.c, src/psaux/psobjs.c: Implement copy with two
-	modes.
-
-	* src/psaux/psauxmod.c: Add builder and decoder functions to `PSAux'
-	service.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Add objects for new interpreter.
-
-	Introduce `PS_Decoder' and `PS_Builder' which include all fields
-	from either Type 1 or CFF decoders/builders.
-
-	* include/freetype/internal/psaux.h (PS_Builder, PS_Decoder): New
-	structs.
-
-	* src/psaux/psobjs.c, src/psaux/psobjs.h: Add `PS_Builder'
-	functions.
-
-	* src/psaux/psdecode.c, src/psaux/psdecode.h: New files to hold
-	`PS_Decoder' initialization functions.
-
-	* src/psaux/psaux.c, src/psaux/Jamfile (_sources),
-	src/psaux/rules.mk (PSAUX_DRV_SRC): Updated.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Rename files.
-
-	Replace the `cf2' file name prefix with `ps' as the Adobe engine
-	will be used for both PostScript Types 1 and 2 (CFF) instead of just
-	CFF.
-
-	s/cf2/ps/ for all following.
-
-	* src/psaux/cf2*: Rename files.
-	* src/psaux/*: Update includes.
-
-	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRC_SRC,
-	PSAUX_DRV_H): Update file references.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux] Minor fix.
-
-	Use `MultiMasters' service in `psaux' instead of a call to `cff'.
-	The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
-
-	* src/psaux/cf2ft.c: Update includes.
-	(cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
-	`cff_get_var_blend'.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Move `cff_random' into `psaux' service.
-
-	NOTE: Does not compile!
-
-	Minor fix to allow both `cff' and `psaux' to use `cff_random'.
-
-	* src/cff/cffload.c (cff_random): Move to...
-	* src/psaux/psobjs.c: Here.
-	* src/cff/cffload.h: Move corresponding declaration to
-	`src/psaux/psobjs.h'.
-
-	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the
-	function here...
-	* src/psaux/psauxmod.c: And here.
-
-	* src/cff/cffload.c, src/psaux/cf2intrp.c: Update code.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[cff] Move struct declarations to `freetype/internal'.
-
-	NOTE: Does not compile!
-
-	This is so that the CFF functions moved to `psaux' can access the
-	same structs that they need.
-
-	* src/cff/cfftypes.h: Moved to...
-	* include/freetype/internal/cfftypes.h: ...Here.
-
-	* src/cff/cffobjs.h: Moved the struct declarations to...
-	* include/freetype/internal/cffotypes.h: ... this new file.
-
-	* include/freetype/internal/internal.h (FT_INTERNAL_CFF_TYPES_H,
-	FT_INTERNAL_CFF_OBJECT_TYPES_H): New macros.
-
-	* src/cff/cffcmap.h, src/cff/cffdrivr.c, src/cff/cffgload.c,
-	src/cff/cffgload.h, src/cff/cffload.h, src/cff/cffobjs.c,
-	src/cff/cffobjs.h, src/cff/cffparse.h, src/psaux/psobjs.h,
-	include/freetype/internal/psaux.h,
-	include/freetype/internal/services/svcfftl.h: Update includes.
-
-	* src/cff/rules.mk (CFF_DRV_H): Updated.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Add new service for inter-module calls.
-
-	NOTE: Does not compile!
-
-	This is to allow CFF functions moved to `psaux' to call functions
-	declared in `src/cff/cffload.h'.
-
-	* include/freetype/internal/services/svcfftl.h: New file, setting up
-	a `CFFLoad' service.
-
-	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC10,
-	FT_DEFINE_SERVICEDESCREC): New macros.
-	(FT_SERVICE_CFF_TABLE_LOAD_H): New macro.
-
-	* src/cff/cffdrivr.c, src/cff/cffpic.h: Register the new service.
-
-	* src/cff/cfftypes.h (CFF_FontRec), src/psaux/cf2font.h
-	(CF2_FontRec): Add service interface.
-
-	* src/cff/cffobjs.c, src/psaux/cf2font.c, src/psaux/cf2ft.c,
-	src/psaux/cf2intrp.c, src/psaux/cffdecode.c: Use the new service.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Add callbacks for inter-module calls.
-
-	NOTE: Does not compile!
-
-	* include/freetype/internal/psaux.h: Add function pointer
-	declarations.
-
-	* src/psaux/cffdecode.c (cff_decoder_init): Update to take in
-	callbacks.
-	* src/psaux/cffdecode.h: Ditto.
-
-	* src/cff/cffgload.c (cff_compute_max_advance, cff_slot_load):
-	Update calls to pass in callbacks.
-	* src/psaux/cf2ft.c, src/psaux/cffdecode.c: Use them.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Create new `PSAux' service interface entries.
-
-	NOTE: Does not compile!
-
-	* include/freetype/internal/psaux.h: Include
-	FT_INTERNAL_TRUETYPE_TYPES_H.
-	(CFF_Builder_FuncsRec, CFF_Decocer_FuncsRec): New function tables.
-	(CFF_Builder): Updated.
-	Fix for forward declaration.
-	(PSAux_ServiceRec): New field `cff_decoder_funcs'.
-
-	* src/psaux/psauxmod.c (cff_builder_funcs, cff_decoder_funcs): New
-	function tables.
-	(PSAux_Interface): Updated.
-
-	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `psaux'
-	service interface.
-
-	* src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffparse.c: Update
-	function calls to use psaux service.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Move CFF builder components into `psaux' module.
-
-	NOTE: Does not compile!
-
-	* src/cff/cffgload.c
-	(cff_builder_{init,done,add_point,add_point1,add_contour,start_point,close_contour},
-	cff_check_points): Move to...
-	* src/psaux/psobjs.c: Here.
-
-	* src/cff/cffgload.h: Move corresponding declarations to
-	`src/psaux/psobjs.h'.
-
-	* src/cff/cffgload.h (CFF_Builder): Move struct declaration to...
-	* include/freetype/internal/psaux.h: Here.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Move CFF decoder components into `psaux' module.
-
-	NOTE: Does not compile!
-
-	* src/cff/cffgload.c (CFF_Operator,
-	CFF_COUNT_{CHECK_WIDTH,EXACT,CLEAR_STACK}, cff_argument_counts,
-	cff_operator_seac, cff_compute_bias,
-	cff_lookup_glyph_by_stdcharcode,
-	cff_decoder_{parse_charstrings,init,prepare}): Move to...
-	* src/psaux/cffdecode.c: This new file.
-
-	* src/cff/cffgload.h: Move corresponding declarations to...
-	* src/psaux/cffdecode.h: This new file.
-
-	* src/cff/cffgload.h (CFF_MAX_{OPERANDS,SUBRS_CALLS,TRANS_ELEMENTS},
-	CFF_Decoder_Zone, CFF_Decoder): Move declarations to...
-	* include/freetype/internal/psaux.h: Here.
-
-	* src/psaux/cf2ft.h: Update include.
-
-	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Update with
-	the new file.
-
-2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
-
-	[psaux, cff] Move Adobe's engine components into `psaux' module.
-
-	This is the first patch of a sequence to move the Type 2 charstring
-	processing capability from the `cff' module to the `psaux' module.
-
-	NOTE: Does not compile!
-
-	* src/cff/cf2*: Move these files to...
-	* src/psaux/cf2*: Here.
-
-	* src/cff/Jamfile (_sources), src/cff/rules.mk (CFF_DRV_SRC,
-	CFF_DRV_H), src/cff/cff.c, src/cff/cffgload.c: Remove file
-	references.
-
-	* src/psaux/Jamfile (_sources), src/psaux/rules.mk, src/psaux/psaux.c
-	(PSAUX_DRV_SRC, PSAUX_DRV_H): Add file references.
-
-2017-09-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Tweak per-face LCD filtering controls.
-
-	Thing are simpler with a NULL-function pointer.
-
-	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
-	pointer to the filter function.
-	(FT_LibraryRec): Remove unused `lcd_filter'.
-	(FT_Bitmap_LcdFilterFunc, ft_lcd_filter_fir):  Move from here...
-	* include/freetype/ftlcdfil.h (FT_Bitmap_LcdFilterFunc,
-	ft_lcd_filter_fir): ... to here.
-
-	* src/base/ftobjs.c (ft_open_face_internal): NULL-initialize the
-	per-face filter.
-	(FT_Face_Properties): Set it.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Simplify.
-
-	* src/base/ftlcdfil.c (ft_lcd_filter_fir, FT_Libary_SetLcdFilter):
-	Minor.
-
-2017-09-24  Jonathan Kew  <jfkthame@gmail.com>
-
-	[sfnt] Fix `premultiply_data' (#52092).
-
-	* src/sfnt/pngshim.c (premultiply_data): Don't use vector extension
-	if we have less than 16 bytes of data.
-
-2017-09-24  Werner Lemberg  <wl@gnu.org>
-
-	[otvalid] Fix handling of ValueRecords.
-
-	For GPOS pair positioning format 1 the description of ValueRecords
-	in the OpenType specification (1.8.2, from today) is wrong – the
-	offset has to be taken from the parent structure; in this case the
-	`PairSet' table.
-
-	* src/otvalid/otvgpos.c (otv_PairSet_validate): Set `extra3'.
-	(otv_PairPos_validate): Adjust.
-
-2017-09-23  Werner Lemberg  <wl@gnu.org>
-
-	[otvalid] Handle `GSUB' and `GPOS' v1.1 tables.
-
-	* src/otvalid/otvgsub.c (otv_GSUB_validate), src/otvalid/otvgpos.c
-	(otv_GPOS_validate): Implement it.
-
-2017-09-23  Werner Lemberg  <wl@gnu.org>
-
-	[otvalid] Update common table handling to OpenType 1.8.2.
-
-	* src/otvalid/otvcommn.c (otv_Device_validate): Handle
-	VariationIndex subtable.
-	(otv_Lookup_validate): Handle MarkFilteringSet.
-
-2017-09-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Windows-style DLL versioning.
-
-	* build/windows/ftver.rc: New VERSIONINFO resource.
-	* build/windows/vc2010/freetype.vcxproj: Further improvements.
-
-2017-09-23  Ben Wagner  <bungeman@google.com>
-
-	[truetype] Really fix #52082.
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
-
-2017-09-23  Werner Lemberg  <wl@gnu.org>
-
-	[otvalid] Handle `GDEF' v1.2 and v1.3 tables.
-
-	No validation of variation stuff yet.
-
-	* src/otvalid/otvgdef.c (otv_MarkGlyphSets_validate): New function.
-	(otv_GDEF_validate): Implement it.
-
-2017-09-22  Werner Lemberg  <wl@gnu.org>
-
-	[otvalid] Handle `BASE' v1.1 table.
-
-	No validation of variation stuff yet.
-
-	* src/otvalid/otvbase.c (otv_BASE_validate): Implement it.
-
-2017-09-22  Werner Lemberg  <wl@gnu.org>
-
-	[otvalid] Macros for 32bit offset support.
-
-	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE32,
-	OTV_OPTIONAL_OFFSET32, OTV_SIZE_CHECK32): New macros.
-
-2017-09-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Simplify Visual C++ 2010 project.
-
-	* build/windows/vc2010/freetype.vcxproj: Remove fake singlethreaded
-	configurations and tweak.
-
-2017-09-21  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflow (#52082).
-
-	* src/truetype/ttinterp.c (Ins_MDRP): Avoid FT_ABS.
-
-2017-09-21  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix postscript name for default instance of variation fonts.
-
-	Problem reported by Behdad.
-
-	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Test
-	`is_default_instance'.
-
-2017-09-21  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix `mmvar' array pointers, part 2.
-
-	The previous commit was incomplete.
-
-	* src/truetype/ttgxvar.c: Properly initialize sub-array offsets for
-	`master' also.
-
-2017-09-21  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix `mmvar' array pointers.
-
-	Without this change, clang's AddressSanitizer reports many runtime
-	errors due to misaligned addresses.
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use multiples of pointer
-	size for sub-array offsets into `mmvar'.
-
-2017-09-20  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Integer overflows.
-
-	Changes triggered by
-
-	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3429
-
-	* src/truetype/ttinterp.c (Ins_SHPIX, Ins_DELTAP): Use NEG_LONG.
-	(Ins_MIAP): Use SUB_LONG.
-
-2017-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Fix DLL builds in Visual C++ project.
-
-	* build/windows/vc2010/freetype.vcxproj: Use DynamicLibrary in Debug
-	and Release configurations.
-	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
-	[_DLL]: Use Visual C++ extensions.
-
-2017-09-19  John Tytgat  <John.Tytgat@esko.com>
-
-	[cff] Fix family name logic of pure CFF fontdata (#52056).
-
-	1. If `FamilyName' is present in the CFF font, use this for
-	   FT_Face's `family_name'.
-	2. Otherwise, use the face name and chop off any subset prefix.
-	3. If at this point FT_Face's `family_name' is set, use this
-	   together with the full name to determine the style.
-	4. Otherwise, use `CIDFontName' as FT_Face's `family_name'.
-	5. If we don't have a valid style, use "Regular".
-
-	Previously, FT_Face's `family_name' entry for pure CFF fontdata
-	nearly always was the fontname itself, instead of the `FamilyName'
-	entry in the CFF font (assuming there is one).
-
-	* src/cff/cffobjs.c (cff_face_init) [pure_cff]: Implement it.
-
-2017-09-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[build] Declutter Visual C++ 2010-2017 project.
-
-	* build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
-	optimization for Release configuration throughout the project.
-
 
 ----------------------------------------------------------------------------
 
-Copyright 2017-2018 by
+Copyright (C) 2018-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.20 b/ChangeLog.20
index 63e3116..a589e13 100644
--- a/ChangeLog.20
+++ b/ChangeLog.20
@@ -1688,7 +1688,7 @@
 
 2001-04-03  Werner Lemberg  <wl@gnu.org>
 
-	* src/*/Jamfile: Slight changes	to make files more cryptic.
+	* src/*/Jamfile: Slight changes to make files more cryptic.
 
 2001-04-03  Werner Lemberg  <wl@gnu.org>
 
@@ -1928,7 +1928,7 @@
 
 	* src/autohint/ahtypes.h (AH_Hinter): Add elements
 	`disable_horz_edges', `disable_vert_edges'.
-	* src/autohint/ahhint.c	(ah_hint_edges_3, ah_hinter_hint_edges): Use
+	* src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
 	them (and remove static variables with the same names).
 	* src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
 	* docs/glnames.py: Updated to latest pstables.h changes.
@@ -2109,7 +2109,7 @@
 	* include/freetype/internal/t2types.h: This file was merged with
 	cfftypes.h and is no longer necessary.
 
-	* include/freetype/internal/t2errors.h:	Renamed to cfferrs.h.
+	* include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
 
 	* src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
 	src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
@@ -2184,11 +2184,11 @@
 
 2000-12-24  Tom Kacvinsky  <tkacvins@freetype.org>
 
-	* src/cff/t2gload.c (T2_Load_Glyph): Added code	so that the font
+	* src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
 	transform is applied.
 
 	* src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
-	the font matrix numbers	are scaled by 1/(matrix->yy).  Also, the
+	the font matrix numbers are scaled by 1/(matrix->yy).  Also, the
 	offset vector now contains integer values instead of 16.16 fixed
 	numbers.
 
@@ -2597,7 +2597,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2000-2018 by
+Copyright (C) 2000-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.21 b/ChangeLog.21
index 1adc817..ea889ee 100644
--- a/ChangeLog.21
+++ b/ChangeLog.21
@@ -553,7 +553,7 @@
 	(T1_New_Parser): Use it to check font header before allocating
 	anything on the heap.
 
-	* src/type42/t42parse.c	(t42_parser_init): Modify functions to check
+	* src/type42/t42parse.c (t42_parser_init): Modify functions to check
 	the font header before allocating anything on the heap.
 
 	* include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
@@ -9422,7 +9422,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2002-2018 by
+Copyright (C) 2002-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.22 b/ChangeLog.22
index 4517c32..feaab86 100644
--- a/ChangeLog.22
+++ b/ChangeLog.22
@@ -2821,7 +2821,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2005-2018 by
+Copyright (C) 2005-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.23 b/ChangeLog.23
index 85253f1..f137252 100644
--- a/ChangeLog.23
+++ b/ChangeLog.23
@@ -750,7 +750,7 @@
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
-	
+
 	* src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
 	tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
 	tt_cmap14_variant_chars): Correct mismatches from
@@ -1344,24 +1344,24 @@
 	* include/freetype/config/ftstdlib.h: Introduce
 	FT_INT_MIN, to use in signed integer overflow in
 	16-bit and 64-bit platforms.
-	
+
 	* include/freetype/internal/fttrace.h: Add a tracer
 	to ftsynth.c.
-	
+
 	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
 	invalid strength causing integer overflow on 16-bit
 	platform.
-	
+
 	* src/base/ftcalc.c (ft_corner_orientation): Change
 	the internal calculation from FT_Int to FT_Long, to
 	avoid an overflow on 16-bit platforms.  The caller of
 	this function should use only the sign of result,
 	so the cast to FT_Int is acceptable.
-	
+
 	* src/base/ftsynth.c: Introduce a tracer for synth module.
 	(FT_GlyphSlot_Embolden): Check invalid strength causing
 	integer overflow on 16-bit platform.
-	
+
 	* src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
 	in FT2 API is typed as FT_UInt, although BDF driver
 	can handle unsigned long glyph index internally.  To
@@ -1372,25 +1372,25 @@
 	glyph pitch internally.  To avoid integer overflow on
 	16-bit platform, too large glyph pitch should not be
 	returned.
-	
+
 	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
 	pitch in FT2 is typed as FT_UInt, although PFR font
 	format can include huge bitmap glyph with 24-bit pitch
 	(however, a glyph spends 16.7 pixel, it's not realistic).
 	To avoid integer overflow on 16-bit platform, huge
 	bitmap glyph should be excluded.
-	
+
 	* src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
 	truncated to fit its type (16-bit short), FT_Span.y
 	should be truncated to fit its type (FT_Int).
-	
+
 	* src/cff/cffdrivr.c (cff_get_ros): CFF specification
 	defines the supplement in ROS as a real number.
 	Truncate it to fit public FT2 API.
-	
+
 	* src/cff/cffparse.c (cff_parse_cid_ros): Warn the
 	supplement if it is truncated or rounded in cff_get_ros().
-	
+
 	* src/cff/cfftypes.h: Change the type of internal variable
 	`supplement' from FT_Long to FT_ULong to fit the signedness
 	to the type in public API.
@@ -1653,7 +1653,7 @@
 
 	cff: Fix some data types mismatching with their sources.
 
-	* src/cff/cffgload.c (cff_slot_load): The types of	
+	* src/cff/cffgload.c (cff_slot_load): The types of
 	`top_upm' and `sub_upm' are matched with
 	CFF_FontRecDict->units_per_em.
 
@@ -1811,56 +1811,56 @@
 	gxv_XClassTable_lookupval_validate,
 	gxv_XClassTable_lookupfmt4_transit):
 	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-	
+
 	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
 	gxv_bsln_LookupFmt4_transit): Ditto.
-	
+
 	* src/gxvalid/gxvjust.c
 	(gxv_just_pcTable_LookupValue_entry_validate,
 	gxv_just_classTable_entry_validate,
 	gxv_just_wdcTable_LookupValue_validate): Ditto.
-	
+
 	* src/gxvalid/gxvkern.c
 	(gxv_kern_subtable_fmt1_entry_validate): Ditto.
-	
+
 	* src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
 	gxv_lcar_LookupFmt4_transit): Ditto.
-	
+
 	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
 	gxv_opbd_LookupFmt4_transit): Ditto.
-	
+
 	* src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
 	gxv_prop_LookupFmt4_transit): Ditto.
-	
+
 	* src/gxvalid/gxvmort4.c
 	(gxv_mort_subtable_type4_lookupval_validate): Ditto.
-	
+
 	* src/gxvalid/gxvmort0.c
 	(gxv_mort_subtable_type0_entry_validate): Update
 	from GXV_StateTable_GlyphOffsetDesc
 	to GXV_StateTable_GlyphOffsetCPtr.
-	
+
 	* src/gxvalid/gxvmort1.c
 	(gxv_mort_subtable_type1_entry_validate): Ditto.
-	
+
 	* src/gxvalid/gxvmort2.c
 	(gxv_mort_subtable_type2_entry_validate): Ditto.
-	
+
 	* src/gxvalid/gxvmort5.c
 	(gxv_mort_subtable_type5_entry_validate): Ditto.
-	
+
 	* src/gxvalid/gxvmorx2.c
 	(gxv_morx_subtable_type2_entry_validate): Ditto.
-	
+
 	* src/gxvalid/gxvmorx5.c
 	(gxv_morx_subtable_type5_entry_validate): Ditto.
-	
+
 	* src/gxvalid/gxvmorx1.c
 	(gxv_morx_subtable_type1_entry_validate): Ditto.
 	(gxv_morx_subtable_type1_LookupValue_validate,
 	gxv_morx_subtable_type1_LookupFmt4_transit):
 	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-	
+
 	* src/gxvalid/gxvmorx0.c
 	(gxv_morx_subtable_type0_entry_validate): Update
 	from GXV_XStateTable_GlyphOffsetDesc
@@ -1976,7 +1976,7 @@
 	Prevent the overflows by a glyph with too many points or contours.
 	The bug is reported by Boris Letocha <b.letocha@gmc.net>.  See
 	https://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
-	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html	
+	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html
 
 	* include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
 	FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
@@ -6948,7 +6948,7 @@
 
 2006-11-25  David Turner  <david@freetype.org>
 
-	* src/autofit/afhints.c	(af_glyph_hints_dump_points,
+	* src/autofit/afhints.c (af_glyph_hints_dump_points,
 	af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
 	Add stubs to link the `ftgrid' test program when debugging is
 	disabled in the auto-hinter.
@@ -7932,7 +7932,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2006-2018 by
+Copyright (C) 2006-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.24 b/ChangeLog.24
index 44abc40..52004db 100644
--- a/ChangeLog.24
+++ b/ChangeLog.24
@@ -231,7 +231,7 @@
 
 	* src/base/md5.c, src/base/md5.h: New files, taken from
 
-	  http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
+	  https://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
 
 	* include/freetype/internal/fttrace.h: Add `bitmap'.
 
@@ -774,7 +774,7 @@
 
 	(Font_Class): Rename to...
 	(SPH_Font_Class): This.  Decorate with `const' where appropriate.
-	
+
 	* src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak):
 	Decorate arguments with `const' where appropriate.
 
@@ -1271,7 +1271,7 @@
 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Use it.
 	(af_cjk_metrics_init, af_cjk_script_class): Updated.
 
-	* src/autofit/afindic.c	(af_indic_metrics_init,
+	* src/autofit/afindic.c (af_indic_metrics_init,
 	af_indic_script_class): Updated.
 
 	* src/autofit/afcjk.h, src/autofit/aflatin.h: Updated.
@@ -6344,7 +6344,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2010-2018 by
+Copyright (C) 2010-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.25 b/ChangeLog.25
index 59cf2bf..c4a3c53 100644
--- a/ChangeLog.25
+++ b/ChangeLog.25
@@ -3405,7 +3405,7 @@
 
 	The canonical URL to get updates for this file is
 
-	  http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
+	  https://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
 
 	as the author told me in private communication.
 
@@ -4837,7 +4837,7 @@
 
 	Apply fixes for cppcheck nitpicks.
 
-	  http://cppcheck.sourceforge.net/
+	  https://cppcheck.sourceforge.net/
 
 	The call was (from the top-level of the FreeType tree):
 
@@ -5145,7 +5145,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2013-2018 by
+Copyright (C) 2013-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.26 b/ChangeLog.26
index ea89e91..5e0911c 100644
--- a/ChangeLog.26
+++ b/ChangeLog.26
@@ -2393,7 +2393,7 @@
 
 	* 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/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.
@@ -5695,7 +5695,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2015-2018 by
+Copyright (C) 2015-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.27 b/ChangeLog.27
index 0e82b2f..e9d1ec1 100644
--- a/ChangeLog.27
+++ b/ChangeLog.27
@@ -2090,7 +2090,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2016-2018 by
+Copyright (C) 2016-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.28 b/ChangeLog.28
index ca1ff38..c288bb9 100644
--- a/ChangeLog.28
+++ b/ChangeLog.28
@@ -2489,8 +2489,8 @@
 
 	Based on ideas taken from
 
-	  http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-multilib.patch
-	  http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-2.5.3-freetype-config-prefix.patch
+	  https://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-multilib.patch
+	  https://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-2.5.3-freetype-config-prefix.patch
 
 	* builds/unix/freetype-config.in: Rewritten.  Use `pkg-config' to
 	set output variables if program is available.
@@ -3120,7 +3120,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2016-2018 by
+Copyright (C) 2016-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
diff --git a/ChangeLog.29 b/ChangeLog.29
new file mode 100644
index 0000000..2134071
--- /dev/null
+++ b/ChangeLog.29
@@ -0,0 +1,2352 @@
+2018-05-01  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.9.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-9-1'.
+
+	* docs/VERSION.TXT: Add entry for version 2.9.1.
+	* docs/CHANGES: Updated.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	src/base/ftver.rc, 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.9/2.9.1/, s/29/291/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 22:1:16.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+	* include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
+
+2018-04-26  Werner Lemberg  <wl@gnu.org>
+
+	Another fix for handling invalid format 2 cmaps.
+
+	Sigh.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
+	an endless loop.
+
+2018-04-24  Ben Wagner  <bungeman@google.com>
+
+	[base] Avoid undefined behaviour in lcd filtering code (#53727).
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Ensure `height > 0'.
+
+2018-04-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
+
+2018-04-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Fix bitmap emboldening.
+
+	Bug introduced after release 2.8.
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
+	`FT_QALLOC_MULT', which doesn't zero out the buffer.  Adjust the
+	bitmap copying code to take care of this fact.
+
+2018-04-22  Werner Lemberg  <wl@gnu.org>
+
+	Another fix for handling invalid format 2 cmaps.
+
+	The previous commit was incomplete.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
+	an endless loop.
+
+2018-04-19  Werner Lemberg  <wl@gnu.org
+
+	[autofit] Add support for Georgian Mtavruli characters.
+
+	This will be part of the forthcoming Unicode 11.0.
+
+	* src/autofit/afblue.dat: Add blue zone data for Mtavruli.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Mtavruli standard character.
+
+2018-04-18  Werner Lemberg  <wl@gnu.org>
+
+	Fix handling of invalid format 2 cmaps.
+
+	The problem was introduced after the last release.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
+
+2018-04-17  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
+
+	* src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
+
+2018-04-16  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
+
+	* src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
+
+2018-04-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Use `info' function of make 3.81.
+
+	* configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
+	docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
+
+	* builds/detect.mk (std_setup): Replace `echo' with `info'.
+	(dos_setup): Removed.
+	* builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
+	builds/windows/detect.mk, builds/os2/detect.mk: Updated.
+	* builds/newline: No longer needed.
+
+2018-04-15  Werner Lemberg  <wl@gnu.org>
+
+	[truetype]: Limit `SLOOP' bytecode argument to 16 bits.
+
+	This fixes
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
+
+	* src/truetype/ttinterp.c (Ins_SLOOP): Do it.
+
+2018-04-14  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
+
+	* src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
+
+2018-04-14  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Update to Unicode 11.0.0.
+
+	But no support new scripts (volunteers welcomed).
+
+	* src/autofit/afranges.c (af_arab_nonbase_uniranges,
+	af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
+	af_deva_nonbase_uniranges, af_geor_uniranges,
+	af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
+	af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
+	af_hani_uniranges): Add new data.
+
+2018-04-10  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	* CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
+	modernization measures.
+
+	This brings up the minimum required CMake version to 2.8.12.
+
+	The installation paths follow the GNU defaults now, e.g. installing on a
+	64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
+
+	Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
+
+	CMake will no longer look for a C++ compiler.
+
+	Library and .so version now match the Autotools build.
+
+	Comments in the build file and informational messages now use platform
+	agnostic example commands.
+
+	ftoption.h and ftconfig.h are written directly without a redundant `-new'
+	copy.
+
+	External dependencies are expressed as option()s and will turn up as such
+	in cmake-gui.
+
+	Internal: Properties such as dependencies and include directories are now
+	privately set on the freetype library instead of globally.
+
+	The CPack definitions have been cleaned up, the `make dist' has been
+	removed. Source packages generated with CPack don't contain Autotools
+	files and aren't used by the maintainers anyway.
+
+	On Windows, src/base/ftver.rc is compiled to decorate the library with
+	version and copyright information.
+
+	A pkg-config file is now generated and installed.
+
+2018-04-09  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
+
+	* src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
+	ADD_LONG and SUB_LONG.
+
+2018-04-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[windows, wince] Clean up legacy project files.
+
+	* builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
+
+2018-04-04  Werner Lemberg  <wl@gnu.org>
+
+	[cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
+
+	* src/cff/cffload.c (cff_load_private_dict): Sanitize
+	`priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
+	on.
+
+	* src/type1/t1load.c (T1_Open_Face): Ditto.
+
+2018-04-04  Ben Wagner  <bungeman@google.com>
+
+	* src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
+	`DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
+	(tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
+	in above.
+
+2018-04-01  Werner Lemberg  <wl@gnu.org>
+
+	* builds/toplevel.mk (work): Use $(SEP).
+
+	This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
+	platform, and this program only understands backslashes in paths.
+
+	Reported by Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>.
+
+2018-03-30  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix memory leak (only if tracing is on).
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
+	it.
+
+2018-03-23  Ben Wagner  <bungeman@google.com>
+
+	[sfnt] Correctly handle missing bitmaps in sbix format (#53404).
+
+	* src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
+
+2018-03-23  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
+	for empty bitmaps.
+
+2018-03-22  Werner Lemberg  <wl@gnu.org>
+
+	Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
+
+	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/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, vms_make.com: Do it.
+
+2018-03-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
+	overflow.
+
+2018-03-13  Werner Lemberg  <wl@gnu.org>
+
+	Fix cmap format 2 handling (#53320).
+
+	The patch introduced for #52646 was not correct.
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
+
+2018-03-10  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	* CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
+
+2018-03-09  Chun-wei Fan  <fanc999@yahoo.com.tw>
+
+	* CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
+
+	Do not limit DLL builds to MinGW, since we already have
+	`__declspec(dllexport)' directives in `ftconfig.h'.
+	Also suppress more warnings for POSIX functions.
+
+2018-03-08  Hugh McMaster  <hugh.mcmaster@outlook.com>
+
+	Make installation of `freetype-config' optional (#53093).
+
+	* builds/unix/configure.raw: Add option `--enable-freetype-config'
+	and set `INSTALL_FT2_CONFIG'.
+	* builds/unix/unix-def.in (INSTALL_FT2_CONFIG): Define.
+	* builds/unix/install.mk (install): Handle it.
+
+2018-03-05  Werner Lemberg  <wl@gnu.org>
+
+	Make `ftlcdfil.c' part of the `base' module.
+
+	`ftobjs.c' needs `ft_lcd_padding'.
+
+	Problem reported by duhuanpeng <548708880@qq.com>.
+
+	* modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
+
+	* src/base/ftbase.c: Include `ftlcdfil.c'.
+	* src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
+	* src/base/Jamfile (_sources): Adjusted.
+
+	* docs/INSTALL.ANY: Updated.
+
+2018-03-05  Werner Lemberg  <wl@gnu.org>
+
+	Make `ftfntfmt.c' part of the `base' module.
+
+	`ftobjs.c' needs `FT_Get_Font_Format'.
+
+	Problem reported by duhuanpeng <548708880@qq.com>.
+
+	* modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
+
+	* src/base/ftbase.c: Include `ftfntfmt.c'.
+	* src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
+	* src/base/Jamfile (_sources): Adjusted.
+
+	* docs/INSTALL.ANY: Updated.
+
+2018-03-01  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
+
+2018-02-23  Werner Lemberg  <wl@gnu.org>
+
+	* builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
+
+	Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
+
+2018-02-17  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
+
+2018-02-06  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflow issues.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
+
+	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
+	SUB_LONG; avoid FT_ABS.
+
+2018-02-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[unix] Use -fvisibility=hidden.
+
+	It is now widely recommended that ELF shared libraries hide symbols
+	except those with explicit __attribute__((visibility("default"))).
+	This is supported by all major compilers and should rather be an
+	option in libtool.
+
+	* builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
+	attribute.
+
+2018-01-27  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Better protection against invalid VF data.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
+
+	Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
+
+	* src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
+	`normalizedcoords'.
+
+2018-01-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
+
+2018-01-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
+
+2018-01-27  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Better trace VF instances.
+
+	* src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
+	of coordinates.
+	(TT_Get_MM_Var): Trace instance indices names.
+	(TT_Set_Var_Design): Updated.
+
+2018-01-27  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Beautify tracing of VF axis records.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
+	table-like manner.
+
+2018-01-26  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
+	`face->blend->num_axis' in case we have to initialize the
+	`face->blend'.
+
+2018-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[apinames] Anonymous version map for GNU linker.
+
+	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
+	(OutputFormat): Add `OUTPUT_GNU_VERMAP'.
+	(names_dump): Handle it.
+	(usage): Updated.
+	(main): Handle new command line flag `-wL'.
+
+2018-01-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[unix] Call libtool to clean up.
+
+	* builds/unix/install.mk (clean_project_unix, distclean_project_unix):
+	Use libtool.
+	* builds/freetype.mk: Minor.
+
+2018-01-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftver.rc: Fix mingw-w64 compilation.
+
+2018-01-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Enable VERSIONINFO resource for Cygwin/MinGW.
+
+	* builds/unix/configure.raw: Check for resource compiler.
+	* builds/unix/unix-cc.in: Conditionally set up resource compiler.
+	* builds/freetype.mk: Add conditional rule for `ftver.rc'.
+	* src/base/ftver.rc: Copyright notice and year update.
+
+2018-01-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Move VERSIONINFO resource.
+
+	* builds/windows/vc2010/freetype.vcxproj: Updated.
+	* builds/windows/ftver.rc: Move file from here...
+	* src/base/ftver.rc: ... to here.
+
+2018-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Expand dllexport/dllimport to Cygwin/MinGW.
+
+	* include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
+	s/_MSC_VER/_WIN32/.
+	* builds/unix/ftconfig.in: Replicate here.
+	* builds/vms/ftconfig.h: Replicate here.
+
+2018-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Improve and document MSVC build.
+
+	* include/freetype/config/ftconfig.h: Guard dllexport/dllimport
+	attributes with _DLL and FT2_DLLIMPORT.
+	* builds/windows/vc2010/index.html: Update documentation.
+
+2018-01-10  Steve Robinson  <ssrobins@gmail.com>
+
+	* CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
+
+2018-01-10  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Correctly handle Flex features (#52846).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
+	cf2_cmdHMOVETO>: Do not move if doing Flex.
+
+2018-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/vc2010/freetype.sln: Synchronize with the project.
+
+2018-01-08  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.9 released.
+	=======================
+
+
+	Tag sources with `VER-2-9'.
+
+	* docs/VERSION.TXT: Add entry for version 2.9.
+
+	* 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/windows/ftver.rc,
+	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.8.1/2.9/, s/281/29/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 22:0:16.
+	* CMakeLists.txt (VERSION_PATCH): Set to 0.
+
+2018-01-07  Werner Lemberg  <wl@gnu.org>
+
+	Add check for librt, needed for `ftbench' (#52824).
+
+	* builds/unix/configure.raw (LIB_CLOCK_GETTIME): Define; this will
+	hold `-lrt' if necessary.
+
+	* builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
+
+2018-01-07  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Fix Type 1 glyphs with too many stem hints.
+
+	According to the CFF specification, charstrings can have up to 96 stem
+	hints. Due to hint replacement routines in Type 1 charstrings, some
+	glyphs are rejected by the Adobe engine, which implements the above
+	limit. This fix turns off hinting for such glyphs.
+
+	* src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
+	`cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
+	hinting.
+
+2018-01-06  Werner Lemberg  <wl@gnu.org>
+
+	Add `FT_Done_MM_Var'.
+
+	This is necessary in case the application's memory routines differ
+	from FreeType.  A typical example is a Python application on Windows
+	that calls FreeType compiled as a DLL via the `ctypes' interface.
+
+	* include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
+	and define.
+
+	* docs/CHANGES: Updated.
+
+2018-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Round offsets of glyph components only if hinting is on.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
+	it.
+
+2018-01-03  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
+
+	This is a better fix than the previous commit, which is now
+	reverted.
+
+2018-01-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Move internal LCD-related declarations.
+
+	* include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
+	Move from here...
+	* include/freetype/internal/ftobjs.h: ... to here.
+
+2018-01-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
+	[_MSC_VER]: Limit Visual C++ attributes.
+
+2018-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Make blend/design coordinate round-tripping work.
+
+	Behdad reported that setting blend coordinates, then getting design
+	coordinates did incorrectly return the default instance's
+	coordinates.
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
+
+2017-12-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
+
+2017-12-31  Werner Lemberg  <wl@gnu.org>
+
+	Synchronize other Windows project files.
+
+	* builds/windows/*: Add missing files.
+
+2017-12-31  Werner Lemberg  <wl@gnu.org>
+
+	Update Visual C 2010 project files.
+
+	Problem reported by Hin-Tak.
+
+	* builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
+	`ftcid.c'.
+	Sort entries.
+	* builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
+	Fix members of `FT_MODULE' group.
+
+2017-12-30  Werner Lemberg  <wl@gnu.org>
+
+	* builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
+
+2017-12-28  Werner Lemberg  <wl@gnu.org>
+
+	* builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
+
+	Reported by Nikolaus.
+
+2017-12-27  Werner Lemberg  <wl@gnu.org>
+
+	Fix compiler warnings.
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
+	`new_pitch' unsigned.
+
+	* src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
+
+2017-12-27  Werner Lemberg  <wl@gnu.org>
+
+	Fixes for `make multi'.
+
+	* include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
+	(ps_property_get): Harmonize declaration with corresponding
+	function typedef.
+
+	* include/freety[e/internal/fttrace.h: Add `trace_psprops'.
+
+	* src/base/ftpsprop.c: Include necessary header files.
+	(FT_COMPONENT): Define.
+	(ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
+	(ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
+	Harmonize declaration with corresponding function typedef.
+
+2017-12-27  Werner Lemberg  <wl@gnu.org>
+
+	Provide support for intra-module callback functions.
+
+	This is needed especially for `make multi' with C++.
+
+	* include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
+	FT_BASE_CALLBACK_DEF): New macros.
+
+2017-12-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	Move PostScript drivers' property handlers to `base'.
+
+	This reduces the amount of duplicated code across PostScript
+	drivers.
+
+	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
+	({cff,cid,t1}_property_{get,set}): Moved to...
+	* include/freetype/internal/ftpsprop.h: ...this new file.
+	(ps_property_{get,set}): New functions to replace moved ones.
+
+	* src/base/ftpsprop.c: New file that implements above functions.
+
+	* include/freetype/internal/internal.h
+	(FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro.
+
+	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c:
+	Updated.
+
+	* src/base/Jamfile, src/base/rules.mk (BASE_SRC), src/base/ftbase.c:
+	Updated.
+
+2017-12-20  Werner Lemberg  <wl@gnu.org>
+
+	Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
+
+	We exit early if the current design or blend coordinates are
+	identical to the new ones.
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
+	Implement it, returning internal error code -1 if there will be no
+	variation change.
+
+	* src/type1/t1load.c (t1_set_mm_blend): Ditto.
+
+	* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
+	FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
+
+2017-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix charmap type 2 iterator (#52646).
+
+	The subsetted demo font of the report that exhibits the bug has a
+	very unusual type 2 cmap for Unicode(!): It contains only two
+	sub-headers, one for one-byte characters (covering the range 0x20 to
+	0xFA), and a second one for higher byte 0x01 (just for character
+	code U+0131).
+
+	Before this commit, the iterator wasn't able to correctly handle a
+	sub-header for higher byte 0x01.
+
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
+	for outer loop.
+
+2017-12-18  Matthias Clasen  <matthias.clasen@gmail.com>
+
+	[truetype] Fix clamping, minor tracing code beautification.
+
+	* src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
+	design coordinates.
+	Use clamped value.
+
+2017-12-18  Werner Lemberg  <wl@gnu.org>
+
+	* src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
+
+2017-12-18  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
+
+2017-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix previous commit.
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
+	unhinted phantom points, which must be properly scaled.
+
+2017-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Don't apply HVAR and VVAR deltas twice (#52683).
+
+	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
+	`pp1' to `pp4', except if we have an HVAR and/or VVAR table.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
+	alternative code branch identically w.r.t. presence of an HVAR
+	and/or VVAR table.
+
+2017-12-17  Jonathan Kew  <jfkthame@gmail.com>
+
+	[truetype] Correctly handle variation font phantom points (#52683).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
+	point indices.
+
+2017-12-17  Jonathan Kew  <jfkthame@gmail.com>
+
+	Fix incorrect advance width scaling (#52683).
+
+	* src/base/ftadvance.c (FT_Get_Advances): Always respect the
+	FT_LOAD_NO_SCALE flag if present.
+
+2017-12-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
+	* objs/.gitignore: Ignore almost everything.
+
+2017-12-11  Werner Lemberg  <wl@gnu.org>
+
+	Fix compiler warning (#52640).
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
+	variable.
+
+2017-12-08  Azzuro  <azzuro@team-mediaportal.com>
+
+	* builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
+
+	This allows builds with different configurations in parallel.
+
+2017-12-08  Werner Lemberg  <wl@gnu.org>
+
+	Fix `make setup dos', second try (#52622).
+
+	* builds/detect.mk (dos_setup): Don't use literal `>' character at
+	all.  Mixing the different escaping rules from make, dos, and
+	windows is too fragile.
+
+2017-12-08  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Fix code section parsing.
+
+	Stuff like
+
+	  {
+	    <bla>
+	  }
+
+	confused the parser, which incorrectly treated `<bla>' as a markup
+	tag.
+
+	* src/tools/docmaker/content.py (ContentProcessor::process_content):
+	Apply `re_markup_tags' only outside of code sections.
+
+2017-12-08  Werner Lemberg  <wl@gnu.org>
+
+	New `ftdriver.h' file, covering all driver modules.
+
+	This reduces redundancy and increases synergy; it also reduces the
+	number of header files.
+
+	* include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
+	(FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
+	FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
+	FT_DRIVER_H.
+
+	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
+	include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
+	include/freetype/ftttdrv.h: Replaced with...
+	* include/freetype/ftdriver.h: ...this new file.
+	(FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
+	(FT_HINTING_ADOBE): ... this new macro.
+	(FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
+	(FT_HINTING_FREETYPE): ... this new macro.
+
+	* src/*/*: Updated accordingly.
+
+2017-12-08  Werner Lemberg  <wl@gnu.org>
+
+	Move `ftdriver.h' to `ftdrv.h'.
+
+	* include/freetype/internal/ftdriver.h: Renamed to...
+	* include/freetype/internal/ftdrv.h: ... this name.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
+	Updated.
+
+2017-12-08  Werner Lemberg  <wl@gnu.org>
+
+	Fix access to uninitalized memory (#52613).
+
+	Also reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=791317
+
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
+	bitmap size needs a larger bitmap buffer, assure that the new memory
+	areas are initialized also.
+
+2017-12-08  Werner Lemberg  <wl@gnu.org>
+
+	Fix `make setup dos' (#52622).
+
+	* builds/detect.mk (dos_setup): Properly escape literal `>'
+	character.
+
+2017-12-07  Werner Lemberg  <wl@gnu.org>
+
+	Fix C++ compilation.
+
+	* src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
+
+2017-12-07  Werner Lemberg  <wl@gnu.org>
+
+	Fix `make multi'.
+
+	* include/freetype/internal/fttrace.h: Remove unused tracing macros.
+	s/pshalgo2/pshalgo/.
+	Add `trace_cffdecode'.
+	* src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
+
+	* src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	* src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
+	FT_SERVICE_CFF_TABLE_LOAD_H.
+
+	* src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+
+	* src/psaux/cffdecode.c: Include FT_FREETYPE_H and
+	FT_INTERNAL_DEBUG_H.
+	(FT_COMPONENT): Define.
+	* src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	* src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	Declare `cff_builder_funcs' and `ps_builder_funcs'.
+	* src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
+	* src/psaux/psobjs.c : Include `psauxmod.h'.
+
+2017-12-07  Werner Lemberg  <wl@gnu.org>
+
+	* include/freetype/config/ftheader.h: Some clean-up.
+
+	This commit removes documentation of deprecated macros and does some
+	minor streamlining.
+
+2017-12-06  Werner Lemberg  <wl@gnu.org>
+
+	* builds/symbian/bld.inf: Updated.
+
+2017-12-06  Werner Lemberg  <wl@gnu.org>
+
+	New header file `ftparams.h' that collects all parameter tags.
+
+	* include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
+	macro.
+	(FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
+	`ftparams.h'.
+
+	* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
+	include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
+	include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
+	FT_PARAMETER_TAGS_H.
+	Move FT_PARAM_TAG_XXX definitions to...
+	* include/freetype/ftparams.h: ...this new file.
+
+	* include/freetype/ttunpat.h: Remove.  No longer needed.
+
+2017-12-05  Werner Lemberg  <wl@gnu.org>
+
+	Improve tracing messages by using singular and plural forms.
+
+	* src/*/*.c: Implement it.
+
+2017-12-04  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Allow shared points in `cvar' table (#52532).
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
+	and adjusting the corresponding code from
+	`TT_Vary_Apply_Glyph_Deltas'.
+
+2017-11-28  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improving tracing of composite glyphs.
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
+	[FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
+
+2017-11-27  Werner Lemberg  <wl@gnu.org>
+
+	[type1] Allow (again) `/Encoding' with >256 elements (#52464).
+
+	In version 2.6.1, this has been disallowed to better reject
+	malformed fonts; however, this restriction was too strong.  This
+	time, we only take the first 256 elements into account, since
+	encoding arrays are always accessed with a 8bit integer, according
+	to the PostScript Language Reference.
+
+	* src/type1/t1load.c (parse_encoding): Implement it.
+
+2017-11-27  Jan Alexander Steffens (heftig)  <jan.steffens@gmail.com>
+
+	Fix last commit (#52522).
+
+	* builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
+	properly if we have `ftoption.h' in `BUILD_DIR'.
+
+2017-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[unix] Install a massaged `ftoption.h' file (#51780).
+
+	* builds/unix/configure.raw (ftoption_set, ftoption_unset): New
+	auxiliary functions to construct...
+	(FTOPTION_H_SED): ... this new variable.
+	Apply it as a sed argument while copying `ftoption.h' to the
+	`builds/unix' directory (using `AC_CONFIG_FILES').
+	Simplify code of test that checks cpp's computation of bit length
+	(the test previously created an empty `ftoption.h' file and deleted
+	it immediately afterwards); without this change, it can happen on my
+	GNU/Linux box that `configure's execution of `config.status' doesn't
+	create `ftoption.h' (no idea why this happens).
+
+	* builds/unix/install.mk (install): Install
+	`builds/unix/ftoption.h'.
+
+	* builds/unix/unix-def.in (DISTCLEAN): Updated.
+
+	* builds/unix/.gitignore: Updated.
+
+2017-11-23  Tor Andersson  <tor.andersson@artifex.com>
+
+	Silence unused function warnings (#52465).
+
+	Some static function declarations cause unused function warnings if
+	certain config options are turned off via `ftoption.h'.
+
+	* src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
+	src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
+
+2017-11-22  Ewald Hew  <ewaldhew@gmail.com>
+
+	* src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
+
+2017-11-22  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Fix CFF advance widths. (#52466)
+
+	Glyph advance widths were being written to the new `PS_Decoder' but not
+	saved to the underlying format specific decoder. This caused pure CFF
+	fonts to have bad advance width.
+
+	* include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
+	field to pointer.
+	Remove unused fields.
+	* src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
+	to reference.
+	Remove unused.
+	* src/psaux/psft.c (cf2_setGlyphWidth): Update code.
+
+2017-11-15  Vlad Tsyrklevich  <vtsyrklevich@google.com>
+
+	* include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
+
+2017-11-14  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
+
+	Since Ewald Hew factored the Adobe hinting engine out of the CFF
+	driver code, we can now use it on Type 1 (and CID) font formats, as
+	both have the same hinting philosophy.
+
+	This change activates the Adobe hinter when in LIGHT mode, and
+	therefore always unless explicitly asking for the auto-hinter.  This
+	makes LIGHT behavior consistent with CFF fonts.  As of this commit,
+	the hinting engine table looks as follows.
+
+	             LIGHT  NORMAL
+	  -------------------------
+	   TrueType  Auto   v40
+	   CFF       Adobe  Adobe
+	   Type 1    Adobe  Adobe
+
+2017-11-10  Yuri Levchenko  <yuri_levchenko@boolat.com>
+
+	* CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
+
+2017-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
+
+2017-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
+
+2017-11-03  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251)
+
+	The interpreter in Type 1 mode rewinds the charstring after collecting
+	all hints for building the initial hintmap (commit d52dd7f). However,
+	some charstrings use `endchar' in a final subroutine call, rewinding to
+	the start of that subroutine, and only a small section of the actual
+	glyph is drawn.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>:
+	Ensure we are on the top level charstring before rewinding.
+
+2017-11-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[truetype] Add more tricky fonts.
+
+	See the report by Yang Yinsen.
+	https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html
+
+	* src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB',
+	`DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'.
+	(tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB,
+	DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7.  Also
+	add checksums for DLCLiShu and DLCHayBold which their family names
+	were already listed but their checksums were previously unknown.
+
+2017-11-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Fix complex rendering at high ppem.
+
+	We used to split large glyphs into horizontal bands and continue
+	bisecting them still horizontally if that was not enough.  This is
+	guaranteed to fail when a single scanline cannot fit into the
+	rendering memory pool.  Now we bisect the bands vertically so that
+	the smallest unit is a column of the band height, which is guranteed
+	to fit into memory.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
+
+2017-10-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Improve complex rendering at high ppem.
+
+	At large sizes almost but not exactly horizontal segments can quickly
+	drain the rendering pool. This patch at least avoids filling the pool
+	with trivial cells. Beyond this, we can only increase the pool size.
+
+	Reported, analyzed, and tested by Colin Fahey.
+
+	* src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
+
+2017-10-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Improve tracing in FT_Load_Glyph, FT_*_Size.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
+	function name, glyph index, and load flags.
+	(FT_Select_Metrics, FT_Request_Metrics): Remove all tracing.
+	(FT_Select_Size, FT_Request_Size): Improve tracing.
+
+2017-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Improve tracing in FT_Render_Glyph.
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage
+	calculations and downgrade Netpbm dump to bitmap:7.
+
+2017-10-15  Ewald Hew  <ewaldhew@gmail.com>
+
+	[cff] Fix segfault on missing `psaux' (#52218)
+
+	* src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr.
+
+	* modules.cfg: Update dependency list.
+
+2017-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base, cff] Fix MSVC warnings.
+
+	* src/base/ftobjs.c (FT_New_Library): C4702: unreachable code.
+	(ft_glyphslot_preset_bitmap): C4244: possible loss of data.
+	* src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data.
+	Turn `sum' into unsigned.
+
+2017-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Netpbm image tracing.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
+	(FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.
+
+	* src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
+
+2017-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/ftdebug.c (FT_Message): Print to stderr.
+	* builds/wince/ftdebug.c (FT_Message): Ditto.
+
+2017-10-14  Behdad Esfahbod  <behdad@behdad.org>
+
+	[afshaper] Delay creating `hb_set' objects until needed.
+
+	In runs on Noto Naskh Arabic, this results in 89 sets created
+	instead of 340 before.  Makes auto-hinter setup with HarfBuzz
+	enabled 20% to 30% faster.
+
+	* src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
+
+2017-10-12  Ewald Hew  <ewaldhew@gmail.com>
+
+	[type1, cid] Add hinting engine switch.
+
+	Implement property service in `type1' and `cid' drivers to allow
+	switching between FreeType or Adobe hinting engine when both are
+	available.
+
+	* src/cid/cidriver.c (cid_property_{set,get}, cid_services),
+	src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add
+	Properties service.
+
+	* src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c
+	(T1_Driver_Init): Add default property values.
+
+2017-10-12  Ewald Hew  <ewaldhew@gmail.com>
+
+	Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
+
+	This controls whether the old Type 1 engine gets compiled into FreeType.
+	It is disabled by default.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(T1_CONFIG_OPTION_OLD_ENGINE): New macro.
+
+	* include/freetype/internal/psaux.h (PS_Decoder): Remove unused field.
+	* include/freetype/internal/psaux.h, src/cid/cidgload.c
+	(cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c
+	(ps_builder_add_point), src/psaux/t1decode.c
+	(t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph,
+	t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h,
+	src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround
+	relevant code with macro.
+	Minor code changes.
+
+2017-10-12  Ewald Hew  <ewaldhew@gmail.com>
+
+	Extract width parsing from Type 1 parser.
+
+	Duplicate the fast advance width calculations from the old parser.
+	This is to facilitate adding options for compiling out the old parser.
+
+	* src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function.
+	* include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry
+	`parse_metrics'.
+	* src/psaux/psauxmod.c: Set the new entry.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String),
+	src/cid/cidgload.c (cid_load_glyph): Separate
+	conditional for selecting engine.
+
+2017-10-09  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=772775
+
+2017-10-08  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Adjust behaviour of PS font names for variation fonts.
+
+	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
+	PS name only if no variation is applied.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	[cff, truetype] Adjust behaviour of named instances.
+
+	This commit completely separates the interaction between named
+	instances and variation functions.  In particular, resetting the
+	variation returns to the current named instance (if set) and not to
+	the base font.
+
+	As a side effect, variation functions no longer change the named
+	instance index.
+
+	* src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance'
+	function.
+	Also apply `MVAR' table to named instances.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast.
+	(tt_set_mm_blend): No longer check whether requested variation
+	coincides with a named instance.
+	(TT_Set_Var_Design): Use current named instance for default
+	coordinates.
+	* src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	Make `FT_Set_Named_Instance' work.
+
+	* src/cff/cffdrivr.c (cff_set_instance): New function.
+	(cff_service_multi_masters): Register it.
+
+	* src/truetype/ttgxvar.c (TT_Set_Named_Instance): New function.
+	* src/truetype/ttgxvar.h: Updated.
+	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Register
+	it.
+
+	* src/type1/t1load.c (T1_Reset_MM_Blend): New function.
+	* src/type1/t1load.h: Updated.
+	* src/type1/t1driver.c (t1_service_multi_masters): Register it.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	Make `FT_FACE_FLAG_VARIATION' work.
+
+	* include/freetype/internal/tttypes.h (TT_Face): Remove
+	`is_default_instance'; this can be replaced with a combination of
+	`FT_IS_VARIATION' and `FT_IS_INSTANCE'.
+
+	* src/cff/cffdrivr.c (cff_get_advances): Updated.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
+	(sfnt_init_face): Updated.
+
+	* src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
+	(TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
+	src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
+	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
+	Handle `FT_FACE_FLAG_VARIATION'.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
+	`FT_FACE_FLAG_VARIATION'.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	New function `FT_Set_Named_Instance'.
+
+	No effect yet.
+
+	* src/base/ftmm.c (FT_Set_Named_Instance): New function.
+
+	* include/freetype/ftmm.h: Updated.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	Add macros for checking whether a font variation is active.
+
+	* include/freetype/freetype.h (FT_FACE_FLAG_VARIATION,
+	FT_IS_VARIATION): New macros.
+	No effect yet.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	Add framework for setting named instance in MM service.
+
+	* include/freetype/internal/services/svmm.h (FT_Set_Instance_Func):
+	New function typedef.
+	(MultiMasters): Add `set_instance' member.
+	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
+
+	* src/cff/cffdrivr.c (cff_service_multi_masters),
+	src/truetype/ttdriver (tt_service_gx_multi_masters),
+	src/type1/t1driver.c (t1_service_multi_masters): Updated.
+
+2017-10-07  Werner Lemberg  <wl@gnu.org>
+
+	[type1] Minor code shuffling.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend): Make it a wrapper of...
+	(t1_set_mm_blend): ...this new function.
+	(T1_Set_MM_Design): Use `t1_set_mm_blend'.
+
+2017-10-05  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer
+	overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3539
+
+2017-10-05  Werner Lemberg  <wl@gnu.org>
+
+	Fix compiler warnings.
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_extra): Avoid code that relies
+	on numeric overflow.
+	Add cast.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix variable
+	types, add cast.
+
+2017-10-04  John Tytgat  <John.Tytgat@esko.com>
+
+	[cff] Add support for `FSType'.
+
+	* include/freetype/internal/cfftypes.h (CFF_FontRec): Add
+	`font_extra' entry.
+
+	* src/cff/cffdrivr.c (cff_ps_get_font_extra): New function to
+	retrieve FSType info from the embedded PostScript data.
+	(cff_service_ps_info): Register function.
+
+	* src/cff/cffload.c (cff_font_done): Free `font_extra'.
+
+2017-09-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Signedness fixes in bitmap presetting.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Explicitly signed height.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
+	subtraction.
+
+2017-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Bitmap metrics presetting [2/2].
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Preset the bitmap metrics when
+	appropriate but `FT_Render_Glyph' is not called.
+	* include/freetype/freetype.h (FT_GlyphSlotRec): Document the change.
+
+2017-09-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth, raster] Miscellaneous cleanups.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Clean up the exit.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Reduce
+	translations and clean up the exit.
+	(ft_smooth_render_lcd, ft_smooth_render_lcd): Remove unused `error'.
+
+2017-09-28  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Really, really fix #52082.
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
+
+2017-09-28  Werner Lemberg  <wl@gnu.org>
+
+	* src/psaux/psintrp.c (cf2_doStems): Fix integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3510
+
+2017-09-28  Ewald Hew  <ewaldhew@gmail.com>
+
+	* src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
+
+2017-09-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Bitmap metrics presetting [1/2].
+
+	This mainly just extracts the code for presetting the bitmap metrics
+	from the monochrome, grayscale, and LCD renderers into a separate
+	function.
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): New function that
+	calculates prospective bitmap metrics for the given rendering mode.
+	* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
+	Declare it.
+
+	* src/base/ftlcdfil.c (ft_lcd_padding): New helper function that adds
+	padding to CBox taking into account pecularities of LCD rendering.
+	* include/freetype/ftlcdfil.h (ft_lcd_padding): Declare it.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Reworked to use
+	`ft_glyphslot_preset_bitmap'.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+	(ft_smooth_render_lcd, ft_smooth_render_lcd): The pixel_mode setting
+	is moved to `ft_glyphslot_preset_bitmap'.
+
+2017-09-28  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Fix compiler warning.
+
+	* src/psaux/pshints.c (cf2_hintmap_dump): Add switch for tracing
+	code.
+
+2017-09-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
+
+2017-09-25  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix compiler warnings.
+
+	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
+	test.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Add casts.
+
+	* src/psaux/psobjs.c (ps_decoder_init): Add cast.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Minor fixes.
+
+	* include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
+	Rearrange `ps_builder_init' arguments to conventional order.
+
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
+	notice for `SubFont' in Type 1 mode.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Move `psdecode' into `psobjs'.
+
+	As the former only contains a single procedure, move it into
+	`psobjs' for simplicity.  Also change the parameter order to the
+	conventional one.
+
+	* src/psaux/psdecode.c (ps_decoder_init): Moved to...
+	* src/psaux/psobjs.c: ...Here.
+	* src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
+
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
+	`ps_decoder_init' function signature.
+
+	* src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
+	Update calls.
+
+	* src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
+
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
+	Update file references.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Fix Type 1 hinting.
+
+	Type 1 hinting breaks sometimes when mid-charstring hints should
+	have been in the initial hintmap.  This fix adds a preprocessing
+	pass that reads all hints and builds the correct initial hintmap
+	first, before proceeding to build the glyph outline.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): New
+	`initial_map_ready' boolean flag.
+	Ignore outline commands and hint changes on first pass.
+	<cf2_cmdENDCHAR>: Add section to build hintmap and rewind.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Add tracing for hints.
+
+	* src/psaux/pshints.c (cf2_hintmap_dump): New function.
+	(cf2_hintmap_insertHint): Trace incoming and inserted hints.
+	(cf2_hintmap_build): Dump hintmap before and after hint adjustment.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Minor fixes.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): Fix check for pop
+	results.
+	s/font->decoder/decoder/ where necessary.
+	<cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_escHSTEM3, cf2_escVSTEM3>: Use
+	offset parameter in `cf2_doStems' instead of doing correction for
+	left-sidebearing.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[cid] Use the new engine.
+
+	* src/cid/cidgload.c: Update includes.
+	(cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
+	loading code as with `type1' module.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[cid] Add Adobe engine configuration.
+
+	This is similar to what was done in the `type1' module.
+
+	* src/cid/cidriver.c (t1cid_driver_class): Update declaration.
+	* src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
+	(cid_driver_init): Update code.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Change subfont synthesis for CID fonts.
+
+	Change `t1_make_subfont' to take in the Private dict record as an
+	argument.  This is because Type 1 and CID font records in FreeType
+	have this in different places.
+
+	* src/psaux/psobjs.c (t1_make_subfont): Change `T1_Face' to
+	`FT_Face' so that CID is also accepted.
+	Take `PS_Private' as an argument and let caller figure out where the
+	Private dict actually is.
+	Update references.
+
+	* include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
+	declaration.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
+	call.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[type1] Switch to Adobe engine.
+
+	* src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (seac).
+
+	This concludes the changes needed to add Type 1 support.
+
+	* src/psaux/psintrp.c: Update includes.
+	(cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
+	implied seac for CFF.
+
+	* src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
+	function to look up the glyph index.
+
+	* src/psaux/psft.c (cf2_getT1SeacComponent,
+	cf2_freeT1SeacComponent): New functions to get the charstrings for
+	seac components.
+
+	* src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (flex in callothersubr).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Fix Flex feature handling (OtherSubrs 0, 1,
+	2).
+	<cf2_cmdRMOVETO>: Do not actually move the `glyphPath' while doing
+	flex.  This is to avoid closing the current contour.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (callothersubr).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Copy code from
+	`t1_decoder_parse_charstrings' (in `t1decode.c').
+	OtherSubr 3 (change hints) should reset the hintmask, so that the
+	new hints are applied.
+	Fix function calls and stack access.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (pop).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): Change how unhandled
+	OtherSubr results are stored.  Implement the PostScript stack using
+	an array.
+	<cf2_escPOP>: Ensure that the stack is not cleared after getting
+	`OtherSubr' results.
+	Fix stack access.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (callsubr).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
+	Type 1 mode.
+
+	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (div, four-byte numbers).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_escDIV>: Add
+	Type 1 mode.  Type 1 requires large integers to be followed by
+	`div'; cf. `Adobe Type 1 Font Format', section 6.2.
+	<op == 255>: Push Type 1 four-byte numbers as `Int' always.  This is
+	to ensure `div' and `callsubr' get values they can use.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (hints).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
+	cf2_cmdVSTEM>: Add correction for left sidebearing in Type 1 mode.
+	Allow adding hints mid-charstring.
+	<cf2_escVSTEM3, cf2_escHSTEM3>: Translate into equivalent commands
+	for three normal stem hints.  This requires some recalculation of
+	stem positions.
+	Correction for left sidebearing.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (hsbw, sbw).
+
+	* src/psaux/psintrp.c (cf2_doStems): `hsbw' or `sbw' must be the
+	first operation in a Type 1 charstring.
+	(cf2_interpT2CharString): Remove unused variables.
+	<cf2_cmdHMOVETO, cf2_cmdVMOVETO, cf2_cmdRMOVETO>: `hsbw' or `sbw'
+	must be the first operation in a Type 1 charstring.
+	<cf2_cmdHSBW, cf2_escSBW>: Fix data access and add correction for
+	left sidebearing.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (setcurrentpoint).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escSETCURRENTPT>: Fix stack access.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Extend Adobe interpreter (closepath).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
+	Use the right builder function.  We can use the `haveWidth' boolean
+	already present, instead of implementing `parse_state'.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Add Type 1 operations to Adobe CFF interpreter.
+
+	The following Type 1 specific ops have been added (copied from
+	`t1decode'):
+
+	  closepath
+	  vstem3
+	  hstem3
+	  seac
+	  sbw
+	  callothersubr
+	  pop
+	  setcurrentpoint
+	  hsbw
+
+	The following require a Type 1 mode, because of differences in
+	specification:
+
+	  hstem
+	  vstem
+	  vmoveto
+	  callsubr
+	  div
+	  rmoveto
+	  hmoveto
+	  Numbers
+
+	The subsequent commits will implement these changes and adapt
+	accesses of data and objects to the new interpreter.
+
+	NOTE: Will not compile in the meantime!
+
+	* src/psaux/psintrp.c: Add opcodes to enum.
+	(cf2_interpT2CharString): Copy relevant code over from
+	`t1_decoder_parse_charstrings' (in `t1decode.c').
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[type1] Fixes for rendering.
+
+	The Type 1 advance width calculation passes null for glyph slot,
+	etc, which can cause null pointer access in the new interpreter.
+	Fall back to the old one for now.
+
+	Fix the large glyph retry code and ensure hinting and scaling flags
+	are set properly.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add a
+	check for metrics_only.
+	Set the `force_scaling' flag.
+	(T1_Parse_Glyph): Updated.
+	(T1_Load_Glyph): Add `hinting' and `scaled' flags.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Add missing objects (2/2).
+
+	Synthesize a `SubFont' object for Type 1 fonts.  This is used in the
+	interpreter to access Private dict data, which are stored in
+	different places for Type 1 and CFF.  This allows the same data to
+	be used in either mode.
+
+	* src/psaux/psobjs.c (t1_make_subfont): New procedure to copy
+	required values to a dummy `CFF_SubFont' object.  This is similar to
+	`cff_make_private_dict'.
+	* src/psaux/psobjs.h: Add the new declaration.
+
+	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
+	Add this to the PSAux Service for future use with CID fonts.
+
+	* src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
+	(T1_Parse_Glyph_And_Get_Char_String): Add the call.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Add missing objects for Type 1 (1/2).
+
+	Move `CF2_Font' instance to `PS_Decoder'.  This is the context for
+	the interpreter and since it is currently stored in `CFF_Font', is
+	unavailable in Type 1 mode.
+
+	* include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
+	`cf2_instance' field.
+
+	* src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
+	`PS_Decoder'.
+
+	* src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
+
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	Allow `type1' module to use the Adobe engine.
+
+	Add the callback and some conditionals to switch between the two
+	engines.
+
+	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
+	function declarations.
+	* src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
+	callbacks.
+
+	* src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
+	number conversion.
+
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
+	to choose which renderer to use.
+
+	* src/cid/cidgload.c (cid_load_glyph): Update call.
+	* src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
+	includes.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[type1] Add Adobe engine configuration.
+
+	Use the previously changed PS_Driver in type1 module to store
+	hinting engine configuration.
+
+	* include/freetype/ftt1drv.h: New file.
+	Duplicate and rename config options from CFF.
+	* include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
+
+	* src/type1/t1driver.c (t1_driver_class): Update declaration.
+	* src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
+	(T1_Driver_Init): Update code.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[cff] Move and rename `CFF_Driver'.
+
+	This is so that we can use the same hinting engine parameters for
+	Type 1.
+
+	* include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
+	move to...
+	* include/freetype/internal/psaux.h (PS_Driver): ...here.
+
+	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffload.c,
+	src/cff/cffobjs.c, src/cff/cffobjs.h, src/psaux/psft.c,
+	src/psaux/psobjs.c: Update references.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, type1] Reorganize object fields.
+
+	Make some fields more generic, so that we can access them the same
+	way regardless of Type 1 or CFF.
+
+	* include/freetype/internal/psaux.h (PS_Builder): Change `TT_Face'
+	to `FT_Face'.
+	Remove unused fields.
+
+	* src/psaux/psft.c: Update all accesses of `PS_Builder.face'.
+	Add some asserts to guard against casting `T1_Face' as `TT_Face'.
+
+	* src/type1/t1objs.h (T1_GlyphSlot): Reorder fields to follow
+	`CFF_GlyphSlot', so that we can pretend they are the same in the
+	interpreter.
+
+	* src/psaux/psobjs.c (ps_builder_init, ps_builder_add_point):
+	Updated with above changes.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Prepare for Type 1 mode.
+
+	Add some checks for Type 1 data passing through.
+
+	* src/psaux/psfont.h (CF2_Font): Add `isT1' flag.
+	* src/psaux/psfont.c (cf2_font_setup): Skip the variations and blend
+	code which is not applicable for Type 1.
+
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Avoid accessing
+	`decoder->cff' in Type 1 mode.
+	Copy `is_t1' flag to `CF2_Font'.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Use the new objects.
+
+	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Fix
+	switching between new and old engines.
+
+	* src/cff/cffgload.c, src/cff/cffparse.c: Update calls.
+
+	* src/psaux/psblues.c, src/psaux/psfont.c, src/psaux/psfont.h,
+	src/psaux/psft.c, src/psaux/psft.h, src/psaux/psintrp.c: Update all
+	to use new objects.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Objects for new interpreter (part 2).
+
+	Make the new objects copy over values.  They are essentially wrapper
+	types for the different decoders/builders.
+
+	* include/freetype/internal/psaux.h: Update declarations.
+	(PS_Builder): Add `is_t1' flag.
+	(PS_Decoder_{Get,Free}_Glyph_Callback): Renamed to...
+	(CFF_Decoder_{Get,Free}_Glyph_Callback: ... this.
+	(PS_Decoder): Updated.
+	Add `t1_parse_callback' member.
+	(PSAux_ServiceRec): Add `ps_decoder_init' member.
+
+	* src/psaux/psdecode.h, src/psaux/psobjs.h: Update declarations.
+
+	* src/psaux/psdecode.c, src/psaux/psobjs.c: Implement copy with two
+	modes.
+
+	* src/psaux/psauxmod.c: Add builder and decoder functions to `PSAux'
+	service.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Add objects for new interpreter.
+
+	Introduce `PS_Decoder' and `PS_Builder' which include all fields
+	from either Type 1 or CFF decoders/builders.
+
+	* include/freetype/internal/psaux.h (PS_Builder, PS_Decoder): New
+	structs.
+
+	* src/psaux/psobjs.c, src/psaux/psobjs.h: Add `PS_Builder'
+	functions.
+
+	* src/psaux/psdecode.c, src/psaux/psdecode.h: New files to hold
+	`PS_Decoder' initialization functions.
+
+	* src/psaux/psaux.c, src/psaux/Jamfile (_sources),
+	src/psaux/rules.mk (PSAUX_DRV_SRC): Updated.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Rename files.
+
+	Replace the `cf2' file name prefix with `ps' as the Adobe engine
+	will be used for both PostScript Types 1 and 2 (CFF) instead of just
+	CFF.
+
+	s/cf2/ps/ for all following.
+
+	* src/psaux/cf2*: Rename files.
+	* src/psaux/*: Update includes.
+
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRC_SRC,
+	PSAUX_DRV_H): Update file references.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Minor fix.
+
+	Use `MultiMasters' service in `psaux' instead of a call to `cff'.
+	The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
+
+	* src/psaux/cf2ft.c: Update includes.
+	(cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
+	`cff_get_var_blend'.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Move `cff_random' into `psaux' service.
+
+	NOTE: Does not compile!
+
+	Minor fix to allow both `cff' and `psaux' to use `cff_random'.
+
+	* src/cff/cffload.c (cff_random): Move to...
+	* src/psaux/psobjs.c: Here.
+	* src/cff/cffload.h: Move corresponding declaration to
+	`src/psaux/psobjs.h'.
+
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the
+	function here...
+	* src/psaux/psauxmod.c: And here.
+
+	* src/cff/cffload.c, src/psaux/cf2intrp.c: Update code.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[cff] Move struct declarations to `freetype/internal'.
+
+	NOTE: Does not compile!
+
+	This is so that the CFF functions moved to `psaux' can access the
+	same structs that they need.
+
+	* src/cff/cfftypes.h: Moved to...
+	* include/freetype/internal/cfftypes.h: ...Here.
+
+	* src/cff/cffobjs.h: Moved the struct declarations to...
+	* include/freetype/internal/cffotypes.h: ... this new file.
+
+	* include/freetype/internal/internal.h (FT_INTERNAL_CFF_TYPES_H,
+	FT_INTERNAL_CFF_OBJECT_TYPES_H): New macros.
+
+	* src/cff/cffcmap.h, src/cff/cffdrivr.c, src/cff/cffgload.c,
+	src/cff/cffgload.h, src/cff/cffload.h, src/cff/cffobjs.c,
+	src/cff/cffobjs.h, src/cff/cffparse.h, src/psaux/psobjs.h,
+	include/freetype/internal/psaux.h,
+	include/freetype/internal/services/svcfftl.h: Update includes.
+
+	* src/cff/rules.mk (CFF_DRV_H): Updated.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Add new service for inter-module calls.
+
+	NOTE: Does not compile!
+
+	This is to allow CFF functions moved to `psaux' to call functions
+	declared in `src/cff/cffload.h'.
+
+	* include/freetype/internal/services/svcfftl.h: New file, setting up
+	a `CFFLoad' service.
+
+	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC10,
+	FT_DEFINE_SERVICEDESCREC): New macros.
+	(FT_SERVICE_CFF_TABLE_LOAD_H): New macro.
+
+	* src/cff/cffdrivr.c, src/cff/cffpic.h: Register the new service.
+
+	* src/cff/cfftypes.h (CFF_FontRec), src/psaux/cf2font.h
+	(CF2_FontRec): Add service interface.
+
+	* src/cff/cffobjs.c, src/psaux/cf2font.c, src/psaux/cf2ft.c,
+	src/psaux/cf2intrp.c, src/psaux/cffdecode.c: Use the new service.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Add callbacks for inter-module calls.
+
+	NOTE: Does not compile!
+
+	* include/freetype/internal/psaux.h: Add function pointer
+	declarations.
+
+	* src/psaux/cffdecode.c (cff_decoder_init): Update to take in
+	callbacks.
+	* src/psaux/cffdecode.h: Ditto.
+
+	* src/cff/cffgload.c (cff_compute_max_advance, cff_slot_load):
+	Update calls to pass in callbacks.
+	* src/psaux/cf2ft.c, src/psaux/cffdecode.c: Use them.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Create new `PSAux' service interface entries.
+
+	NOTE: Does not compile!
+
+	* include/freetype/internal/psaux.h: Include
+	FT_INTERNAL_TRUETYPE_TYPES_H.
+	(CFF_Builder_FuncsRec, CFF_Decocer_FuncsRec): New function tables.
+	(CFF_Builder): Updated.
+	Fix for forward declaration.
+	(PSAux_ServiceRec): New field `cff_decoder_funcs'.
+
+	* src/psaux/psauxmod.c (cff_builder_funcs, cff_decoder_funcs): New
+	function tables.
+	(PSAux_Interface): Updated.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `psaux'
+	service interface.
+
+	* src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffparse.c: Update
+	function calls to use psaux service.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Move CFF builder components into `psaux' module.
+
+	NOTE: Does not compile!
+
+	* src/cff/cffgload.c
+	(cff_builder_{init,done,add_point,add_point1,add_contour,start_point,close_contour},
+	cff_check_points): Move to...
+	* src/psaux/psobjs.c: Here.
+
+	* src/cff/cffgload.h: Move corresponding declarations to
+	`src/psaux/psobjs.h'.
+
+	* src/cff/cffgload.h (CFF_Builder): Move struct declaration to...
+	* include/freetype/internal/psaux.h: Here.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Move CFF decoder components into `psaux' module.
+
+	NOTE: Does not compile!
+
+	* src/cff/cffgload.c (CFF_Operator,
+	CFF_COUNT_{CHECK_WIDTH,EXACT,CLEAR_STACK}, cff_argument_counts,
+	cff_operator_seac, cff_compute_bias,
+	cff_lookup_glyph_by_stdcharcode,
+	cff_decoder_{parse_charstrings,init,prepare}): Move to...
+	* src/psaux/cffdecode.c: This new file.
+
+	* src/cff/cffgload.h: Move corresponding declarations to...
+	* src/psaux/cffdecode.h: This new file.
+
+	* src/cff/cffgload.h (CFF_MAX_{OPERANDS,SUBRS_CALLS,TRANS_ELEMENTS},
+	CFF_Decoder_Zone, CFF_Decoder): Move declarations to...
+	* include/freetype/internal/psaux.h: Here.
+
+	* src/psaux/cf2ft.h: Update include.
+
+	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Update with
+	the new file.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux, cff] Move Adobe's engine components into `psaux' module.
+
+	This is the first patch of a sequence to move the Type 2 charstring
+	processing capability from the `cff' module to the `psaux' module.
+
+	NOTE: Does not compile!
+
+	* src/cff/cf2*: Move these files to...
+	* src/psaux/cf2*: Here.
+
+	* src/cff/Jamfile (_sources), src/cff/rules.mk (CFF_DRV_SRC,
+	CFF_DRV_H), src/cff/cff.c, src/cff/cffgload.c: Remove file
+	references.
+
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk, src/psaux/psaux.c
+	(PSAUX_DRV_SRC, PSAUX_DRV_H): Add file references.
+
+2017-09-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Tweak per-face LCD filtering controls.
+
+	Thing are simpler with a NULL-function pointer.
+
+	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+	pointer to the filter function.
+	(FT_LibraryRec): Remove unused `lcd_filter'.
+	(FT_Bitmap_LcdFilterFunc, ft_lcd_filter_fir):  Move from here...
+	* include/freetype/ftlcdfil.h (FT_Bitmap_LcdFilterFunc,
+	ft_lcd_filter_fir): ... to here.
+
+	* src/base/ftobjs.c (ft_open_face_internal): NULL-initialize the
+	per-face filter.
+	(FT_Face_Properties): Set it.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Simplify.
+
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, FT_Libary_SetLcdFilter):
+	Minor.
+
+2017-09-24  Jonathan Kew  <jfkthame@gmail.com>
+
+	[sfnt] Fix `premultiply_data' (#52092).
+
+	* src/sfnt/pngshim.c (premultiply_data): Don't use vector extension
+	if we have less than 16 bytes of data.
+
+2017-09-24  Werner Lemberg  <wl@gnu.org>
+
+	[otvalid] Fix handling of ValueRecords.
+
+	For GPOS pair positioning format 1 the description of ValueRecords
+	in the OpenType specification (1.8.2, from today) is wrong – the
+	offset has to be taken from the parent structure; in this case the
+	`PairSet' table.
+
+	* src/otvalid/otvgpos.c (otv_PairSet_validate): Set `extra3'.
+	(otv_PairPos_validate): Adjust.
+
+2017-09-23  Werner Lemberg  <wl@gnu.org>
+
+	[otvalid] Handle `GSUB' and `GPOS' v1.1 tables.
+
+	* src/otvalid/otvgsub.c (otv_GSUB_validate), src/otvalid/otvgpos.c
+	(otv_GPOS_validate): Implement it.
+
+2017-09-23  Werner Lemberg  <wl@gnu.org>
+
+	[otvalid] Update common table handling to OpenType 1.8.2.
+
+	* src/otvalid/otvcommn.c (otv_Device_validate): Handle
+	VariationIndex subtable.
+	(otv_Lookup_validate): Handle MarkFilteringSet.
+
+2017-09-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Windows-style DLL versioning.
+
+	* build/windows/ftver.rc: New VERSIONINFO resource.
+	* build/windows/vc2010/freetype.vcxproj: Further improvements.
+
+2017-09-23  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Really fix #52082.
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
+
+2017-09-23  Werner Lemberg  <wl@gnu.org>
+
+	[otvalid] Handle `GDEF' v1.2 and v1.3 tables.
+
+	No validation of variation stuff yet.
+
+	* src/otvalid/otvgdef.c (otv_MarkGlyphSets_validate): New function.
+	(otv_GDEF_validate): Implement it.
+
+2017-09-22  Werner Lemberg  <wl@gnu.org>
+
+	[otvalid] Handle `BASE' v1.1 table.
+
+	No validation of variation stuff yet.
+
+	* src/otvalid/otvbase.c (otv_BASE_validate): Implement it.
+
+2017-09-22  Werner Lemberg  <wl@gnu.org>
+
+	[otvalid] Macros for 32bit offset support.
+
+	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE32,
+	OTV_OPTIONAL_OFFSET32, OTV_SIZE_CHECK32): New macros.
+
+2017-09-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Simplify Visual C++ 2010 project.
+
+	* build/windows/vc2010/freetype.vcxproj: Remove fake singlethreaded
+	configurations and tweak.
+
+2017-09-21  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflow (#52082).
+
+	* src/truetype/ttinterp.c (Ins_MDRP): Avoid FT_ABS.
+
+2017-09-21  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix postscript name for default instance of variation fonts.
+
+	Problem reported by Behdad.
+
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Test
+	`is_default_instance'.
+
+2017-09-21  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix `mmvar' array pointers, part 2.
+
+	The previous commit was incomplete.
+
+	* src/truetype/ttgxvar.c: Properly initialize sub-array offsets for
+	`master' also.
+
+2017-09-21  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix `mmvar' array pointers.
+
+	Without this change, clang's AddressSanitizer reports many runtime
+	errors due to misaligned addresses.
+
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use multiples of pointer
+	size for sub-array offsets into `mmvar'.
+
+2017-09-20  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Integer overflows.
+
+	Changes triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3429
+
+	* src/truetype/ttinterp.c (Ins_SHPIX, Ins_DELTAP): Use NEG_LONG.
+	(Ins_MIAP): Use SUB_LONG.
+
+2017-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Fix DLL builds in Visual C++ project.
+
+	* build/windows/vc2010/freetype.vcxproj: Use DynamicLibrary in Debug
+	and Release configurations.
+	* include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
+	[_DLL]: Use Visual C++ extensions.
+
+2017-09-19  John Tytgat  <John.Tytgat@esko.com>
+
+	[cff] Fix family name logic of pure CFF fontdata (#52056).
+
+	1. If `FamilyName' is present in the CFF font, use this for
+	   FT_Face's `family_name'.
+	2. Otherwise, use the face name and chop off any subset prefix.
+	3. If at this point FT_Face's `family_name' is set, use this
+	   together with the full name to determine the style.
+	4. Otherwise, use `CIDFontName' as FT_Face's `family_name'.
+	5. If we don't have a valid style, use "Regular".
+
+	Previously, FT_Face's `family_name' entry for pure CFF fontdata
+	nearly always was the fontname itself, instead of the `FamilyName'
+	entry in the CFF font (assuming there is one).
+
+	* src/cff/cffobjs.c (cff_face_init) [pure_cff]: Implement it.
+
+2017-09-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Declutter Visual C++ 2010-2017 project.
+
+	* build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
+	optimization for Release configuration throughout the project.
+
+
+----------------------------------------------------------------------------
+
+Copyright (C) 2017-2019 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:
diff --git a/Jamfile b/Jamfile
index 9078a5f..37b4d58 100644
--- a/Jamfile
+++ b/Jamfile
@@ -1,6 +1,6 @@
 # FreeType 2 top Jamfile.
 #
-# Copyright 2001-2018 by
+# Copyright (C) 2001-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -208,12 +208,13 @@
 
 actions RefDoc
 {
-  python $(FT2_SRC)/tools/docmaker/docmaker.py
+  python -m docwriter
          --prefix=ft2
-         --title=FreeType-2.9.1
+         --title=FreeType-2.10.1
          --output=$(DOC_DIR)
          $(FT2_INCLUDE)/freetype/*.h
          $(FT2_INCLUDE)/freetype/config/*.h
+         $(FT2_INCLUDE)/freetype/cache/*.h
 }
 
 RefDoc  refdoc ;
diff --git a/Jamrules b/Jamrules
index bdd04bc..aa2ef5b 100644
--- a/Jamrules
+++ b/Jamrules
@@ -1,6 +1,6 @@
 # FreeType 2 JamRules.
 #
-# Copyright 2001-2018 by
+# Copyright (C) 2001-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/METADATA b/METADATA
index 6d97d66..caf325f 100644
--- a/METADATA
+++ b/METADATA
@@ -9,10 +9,10 @@
     type: GIT
     value: "git://git.sv.nongnu.org/freetype/freetype2.git"
   }
-  version: "96b5e500909cfce39ff78feabefd8063a229b951"
+  version: "VER-2-10-1"
   last_upgrade_date {
-    year: 2018
+    year: 2019
     month: 7
-    day: 27
+    day: 9
   }
 }
diff --git a/Makefile b/Makefile
index 0c7ee0e..3f6a8be 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/README b/README
index c23b99e..8f3e2bc 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
-  FreeType 2.9.1
-  ==============
+  FreeType 2.10.1
+  ===============
 
   Homepage: https://www.freetype.org
 
@@ -15,8 +15,8 @@
   Read the  files `docs/INSTALL*'  for installation  instructions; see
   the file `docs/LICENSE.TXT' for the available licenses.
 
-  The FreeType 2 API reference is located in `docs/reference'; use the
-  file   `ft2-toc.html'   as   the   top  entry   point.    Additional
+  The FreeType  2 API  reference is located  in `docs/reference/site';
+  use  the  file `index.html'  as  the  top entry  point.   Additional
   documentation is available as a separate package from our sites.  Go
   to
 
@@ -24,13 +24,13 @@
 
   and download one of the following files.
 
-    freetype-doc-2.9.1.tar.bz2
-    freetype-doc-2.9.1.tar.gz
-    ftdoc291.zip
+    freetype-doc-2.10.1.tar.xz
+    freetype-doc-2.10.1.tar.gz
+    ftdoc2101.zip
 
   To view the documentation online, go to
 
-    https://www.freetype.org/freetype2/documentation.html
+    https://www.freetype.org/freetype2/docs/
 
 
   Mailing Lists
@@ -71,7 +71,7 @@
 
 ----------------------------------------------------------------------
 
-Copyright 2006-2018 by
+Copyright (C) 2006-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This  file is  part of  the FreeType  project, and  may only  be used,
diff --git a/README.git b/README.git
index a3d7fc0..95f40e1 100644
--- a/README.git
+++ b/README.git
@@ -37,7 +37,7 @@
 
 ----------------------------------------------------------------------
 
-Copyright 2005-2018 by
+Copyright (C) 2005-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This  file is  part of  the FreeType  project, and  may only  be used,
diff --git a/autogen.sh b/autogen.sh
index ab90e64..af6cf34 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright 2005-2018 by
+# Copyright (C) 2005-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/amiga/README b/builds/amiga/README
index 29e97d6..ff5e652 100644
--- a/builds/amiga/README
+++ b/builds/amiga/README
@@ -1,7 +1,7 @@
 
 README for the builds/amiga subdirectory.
 
-Copyright 2005-2018 by
+Copyright (C) 2005-2019 by
 Werner Lemberg and Detlef Würkner.
 
 This file is part of the FreeType project, and may only be used, modified,
@@ -26,7 +26,7 @@
 http://ragriffi.home.sprynet.com).
 
 You will also need the latest include files and amiga.lib from the
-Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
+Amiga web site (https://os.amigaworld.de/download.php?id=3) for
 AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
 
 To use it, call "smake assign" and then "smake" from the builds/amiga
diff --git a/builds/amiga/include/config/ftconfig.h b/builds/amiga/include/config/ftconfig.h
index 0217e0e..7c5fa02 100644
--- a/builds/amiga/include/config/ftconfig.h
+++ b/builds/amiga/include/config/ftconfig.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Amiga-specific configuration file (specification only).              */
 /*                                                                         */
-/*  Copyright 2005-2018 by                                                 */
+/*  Copyright (C) 2005-2019 by                                             */
 /*  Werner Lemberg and Detlef Würkner.                                     */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
diff --git a/builds/amiga/include/config/ftmodule.h b/builds/amiga/include/config/ftmodule.h
index f8baab5..9dc4631 100644
--- a/builds/amiga/include/config/ftmodule.h
+++ b/builds/amiga/include/config/ftmodule.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Amiga-specific FreeType module selection.                            */
 /*                                                                         */
-/*  Copyright 2005-2018 by                                                 */
+/*  Copyright (C) 2005-2019 by                                             */
 /*  Werner Lemberg and Detlef Würkner.                                     */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
diff --git a/builds/amiga/makefile b/builds/amiga/makefile
index 6a7700a..92da26d 100644
--- a/builds/amiga/makefile
+++ b/builds/amiga/makefile
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 2005-2018 by
+# Copyright (C) 2005-2019 by
 # Werner Lemberg and Detlef Würkner.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/amiga/makefile.os4 b/builds/amiga/makefile.os4
index 0d340cf..823b9b5 100644
--- a/builds/amiga/makefile.os4
+++ b/builds/amiga/makefile.os4
@@ -4,7 +4,7 @@
 #
 
 
-# Copyright 2005-2018 by
+# Copyright (C) 2005-2019 by
 # Werner Lemberg and Detlef Würkner.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/amiga/smakefile b/builds/amiga/smakefile
index f5de308..ded76a0 100644
--- a/builds/amiga/smakefile
+++ b/builds/amiga/smakefile
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2005-2018 by
+# Copyright (C) 2005-2019 by
 # Werner Lemberg and Detlef Würkner.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/amiga/src/base/ftdebug.c b/builds/amiga/src/base/ftdebug.c
index f3ba48c..4a738d3 100644
--- a/builds/amiga/src/base/ftdebug.c
+++ b/builds/amiga/src/base/ftdebug.c
@@ -1,67 +1,69 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftdebug.c                                                              */
-/*                                                                         */
-/*    Debugging and logging component for amiga (body).                    */
-/*                                                                         */
-/*  Copyright 1996-2018 by                                                 */
-/*  David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner.       */
-/*                                                                         */
-/*  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.                                        */
-/*                                                                         */
-/***************************************************************************/
+/****************************************************************************
+ *
+ * ftdebug.c
+ *
+ *   Debugging and logging component for amiga (body).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner.
+ *
+ * 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.
+ *
+ */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* This component contains various macros and functions used to ease the */
-  /* debugging of the FreeType engine.  Its main purpose is in assertion   */
-  /* checking, tracing, and error detection.                               */
-  /*                                                                       */
-  /* There are now three debugging modes:                                  */
-  /*                                                                       */
-  /* - trace mode                                                          */
-  /*                                                                       */
-  /*   Error and trace messages are sent to the log file (which can be the */
-  /*   standard error output).                                             */
-  /*                                                                       */
-  /* - error mode                                                          */
-  /*                                                                       */
-  /*   Only error messages are generated.                                  */
-  /*                                                                       */
-  /* - release mode:                                                       */
-  /*                                                                       */
-  /*   No error message is sent or generated.  The code is free from any   */
-  /*   debugging parts.                                                    */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * This component contains various macros and functions used to ease the
+   * debugging of the FreeType engine.  Its main purpose is in assertion
+   * checking, tracing, and error detection.
+   *
+   * There are now three debugging modes:
+   *
+   * - trace mode
+   *
+   *   Error and trace messages are sent to the log file (which can be the
+   *   standard error output).
+   *
+   * - error mode
+   *
+   *   Only error messages are generated.
+   *
+   * - release mode:
+   *
+   *   No error message is sent or generated.  The code is free from any
+   *   debugging parts.
+   *
+   */
 
 
   /*
-   * Based on the default ftdebug.c,
-   * replaced vprintf() with KVPrintF(),
-   * commented out exit(),
-   * replaced getenv() with GetVar().
+   * Based on the default `ftdebug.c' file,
+   * replaced `vprintf' with `KVPrintF',
+   * commented out `exit',
+   * replaced `getenv' with `GetVar'.
    */
 
 #include <exec/types.h>
 #include <utility/tagitem.h>
 #include <dos/exall.h>
 #include <dos/var.h>
+
 #define __NOLIBBASE__
 #define __NOLOBALIFACE__
 #define __USE_INLINE__
+
 #include <proto/dos.h>
 #include <clib/debug_protos.h>
 
 #ifndef __amigaos4__
-  extern struct Library *DOSBase;
+  extern struct Library*  DOSBase;
 #else
-  extern struct DOSIFace *IDOS;
+  extern struct DOSIFace*  IDOS;
 #endif
 
 
@@ -70,7 +72,7 @@
 #include FT_INTERNAL_DEBUG_H
 
 
-#if defined( FT_DEBUG_LEVEL_ERROR )
+#ifdef FT_DEBUG_LEVEL_ERROR
 
   /* documentation is in ftdebug.h */
 
@@ -100,7 +102,7 @@
     KVPrintF( fmt, ap );
     va_end( ap );
 
-/*  exit( EXIT_FAILURE ); */
+    /* exit( EXIT_FAILURE ); */
   }
 
 
@@ -111,9 +113,19 @@
             int          line,
             const char*  file )
   {
+#if 0
+    /* activating the code in this block makes FreeType very chatty */
+    fprintf( stderr,
+             "%s:%d: error 0x%02x: %s\n",
+             file,
+             line,
+             error,
+             FT_Error_String( error ) );
+#else
     FT_UNUSED( error );
     FT_UNUSED( line );
     FT_UNUSED( file );
+#endif
 
     return 0;
   }
@@ -124,9 +136,16 @@
 
 #ifdef FT_DEBUG_LEVEL_TRACE
 
-  /* array of trace levels, initialized to 0 */
-  int  ft_trace_levels[trace_count];
+  /* array of trace levels, initialized to 0; */
+  /* this gets adjusted at run-time           */
+  static int  ft_trace_levels_enabled[trace_count];
 
+  /* array of trace levels, always initialized to 0 */
+  static int  ft_trace_levels_disabled[trace_count];
+
+  /* a pointer to either `ft_trace_levels_enabled' */
+  /* or `ft_trace_levels_disabled'                 */
+  int*  ft_trace_levels;
 
   /* define array of trace toggle names */
 #define FT_TRACE_DEF( x )  #x ,
@@ -164,33 +183,51 @@
   }
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Initialize the tracing sub-system.  This is done by retrieving the    */
-  /* value of the `FT2_DEBUG' environment variable.  It must be a list of  */
-  /* toggles, separated by spaces, `;', or `,'.  Example:                  */
-  /*                                                                       */
-  /*    export FT2_DEBUG="any:3 memory:7 stream:5"                         */
-  /*                                                                       */
-  /* This requests that all levels be set to 3, except the trace level for */
-  /* the memory and stream components which are set to 7 and 5,            */
-  /* respectively.                                                         */
-  /*                                                                       */
-  /* See the file `include/freetype/internal/fttrace.h' for details of the */
-  /* available toggle names.                                               */
-  /*                                                                       */
-  /* The level must be between 0 and 7; 0 means quiet (except for serious  */
-  /* runtime errors), and 7 means _very_ verbose.                          */
-  /*                                                                       */
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Disable( void )
+  {
+    ft_trace_levels = ft_trace_levels_disabled;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Enable( void )
+  {
+    ft_trace_levels = ft_trace_levels_enabled;
+  }
+
+
+  /**************************************************************************
+   *
+   * Initialize the tracing sub-system.  This is done by retrieving the
+   * value of the `FT2_DEBUG' environment variable.  It must be a list of
+   * toggles, separated by spaces, `;', or `,'.  Example:
+   *
+   *   export FT2_DEBUG="any:3 memory:7 stream:5"
+   *
+   * This requests that all levels be set to 3, except the trace level for
+   * the memory and stream components which are set to 7 and 5,
+   * respectively.
+   *
+   * See the file `include/freetype/internal/fttrace.h' for details of
+   * the available toggle names.
+   *
+   * The level must be between 0 and 7; 0 means quiet (except for serious
+   * runtime errors), and 7 means _very_ verbose.
+   */
   FT_BASE_DEF( void )
   ft_debug_init( void )
   {
-/*  const char*  ft2_debug = getenv( "FT2_DEBUG" ); */
+    /* const char*  ft2_debug = ft_getenv( "FT2_DEBUG" ); */
     char         buf[256];
     const char*  ft2_debug = &buf[0];
 
 
-/*  if ( ft2_debug ) */
+    /* if ( ft2_debug ) */
     if ( GetVar( "FT2_DEBUG", (STRPTR)ft2_debug, 256, LV_VAR ) > 0 )
     {
       const char*  p = ft2_debug;
@@ -250,14 +287,16 @@
             {
               /* special case for `any' */
               for ( n = 0; n < trace_count; n++ )
-                ft_trace_levels[n] = level;
+                ft_trace_levels_enabled[n] = level;
             }
             else
-              ft_trace_levels[found] = level;
+              ft_trace_levels_enabled[found] = level;
           }
         }
       }
     }
+
+    ft_trace_levels = ft_trace_levels_enabled;
   }
 
 
@@ -287,11 +326,23 @@
   }
 
 
+  FT_BASE_DEF( void )
+  FT_Trace_Disable( void )
+  {
+    /* nothing */
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Enable( void )
+  {
+    /* nothing */
+  }
+
+
 #endif /* !FT_DEBUG_LEVEL_TRACE */
 
-/*
-Local Variables:
-coding: latin-1
-End:
-*/
+
 /* END */
diff --git a/builds/amiga/src/base/ftsystem.c b/builds/amiga/src/base/ftsystem.c
index babaeeb..7e9dcb7 100644
--- a/builds/amiga/src/base/ftsystem.c
+++ b/builds/amiga/src/base/ftsystem.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Amiga-specific FreeType low-level system interface (body).           */
 /*                                                                         */
-/*  Copyright 1996-2018 by                                                 */
+/*  Copyright (C) 1996-2019 by                                             */
 /*  David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner.       */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -235,7 +235,7 @@
   /* messages during execution.                                            */
   /*                                                                       */
 #undef  FT_COMPONENT
-#define FT_COMPONENT  trace_io
+#define FT_COMPONENT  io
 
   /* We use the macro STREAM_FILE for convenience to extract the       */
   /* system-specific stream handle from a given FreeType stream object */
diff --git a/builds/ansi/ansi-def.mk b/builds/ansi/ansi-def.mk
index 1484f96..9e1f57d 100644
--- a/builds/ansi/ansi-def.mk
+++ b/builds/ansi/ansi-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,6 +19,9 @@
 BUILD_DIR := $(TOP_DIR)/builds/ansi
 PLATFORM  := ansi
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+BIN := bin
 
 # The directory where all library files are placed.
 #
diff --git a/builds/ansi/ansi.mk b/builds/ansi/ansi.mk
index c06732c..eb97df4 100644
--- a/builds/ansi/ansi.mk
+++ b/builds/ansi/ansi.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/beos/beos-def.mk b/builds/beos/beos-def.mk
index 89c54dd..7a9d91c 100644
--- a/builds/beos/beos-def.mk
+++ b/builds/beos/beos-def.mk
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -21,6 +21,9 @@
 BUILD_DIR := $(TOP_DIR)/builds/beos
 PLATFORM  := beos
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+BIN := bin
 
 # The directory where all library files are placed.
 #
diff --git a/builds/beos/beos.mk b/builds/beos/beos.mk
index 619ceaf..180be58 100644
--- a/builds/beos/beos.mk
+++ b/builds/beos/beos.mk
@@ -2,7 +2,7 @@
 # FreeType 2 configuration rules for a BeOS system
 #
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/beos/detect.mk b/builds/beos/detect.mk
index 82f6205..19205eb 100644
--- a/builds/beos/detect.mk
+++ b/builds/beos/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/cmake/iOS.cmake b/builds/cmake/iOS.cmake
index c6da70c..3a350d2 100644
--- a/builds/cmake/iOS.cmake
+++ b/builds/cmake/iOS.cmake
@@ -1,6 +1,6 @@
 # iOS.cmake
 #
-# Copyright 2014-2018 by
+# Copyright (C) 2014-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # Written by David Wimsey <david@wimsey.us>
diff --git a/builds/cmake/testbuild.sh b/builds/cmake/testbuild.sh
index 1fa3a18..65c481f 100755
--- a/builds/cmake/testbuild.sh
+++ b/builds/cmake/testbuild.sh
@@ -1,6 +1,6 @@
 #!/bin/sh -e
 
-# Copyright 2015-2018 by
+# Copyright (C) 2015-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/ansi-cc.mk b/builds/compiler/ansi-cc.mk
index 99fe8cb..3c3fd73 100644
--- a/builds/compiler/ansi-cc.mk
+++ b/builds/compiler/ansi-cc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/bcc-dev.mk b/builds/compiler/bcc-dev.mk
index 8d67fa1..62a51c4 100644
--- a/builds/compiler/bcc-dev.mk
+++ b/builds/compiler/bcc-dev.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/bcc.mk b/builds/compiler/bcc.mk
index 02d4833..5ba6798 100644
--- a/builds/compiler/bcc.mk
+++ b/builds/compiler/bcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/emx.mk b/builds/compiler/emx.mk
index 2926b11..0c2aa31 100644
--- a/builds/compiler/emx.mk
+++ b/builds/compiler/emx.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2003-2018 by
+# Copyright (C) 2003-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/gcc-dev.mk b/builds/compiler/gcc-dev.mk
index 48d2848..46dad39 100644
--- a/builds/compiler/gcc-dev.mk
+++ b/builds/compiler/gcc-dev.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/gcc.mk b/builds/compiler/gcc.mk
index 9c77239..b1ee409 100644
--- a/builds/compiler/gcc.mk
+++ b/builds/compiler/gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/intelc.mk b/builds/compiler/intelc.mk
index e9236d3..3a19702 100644
--- a/builds/compiler/intelc.mk
+++ b/builds/compiler/intelc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/unix-lcc.mk b/builds/compiler/unix-lcc.mk
index 09fffeb..9fe6753 100644
--- a/builds/compiler/unix-lcc.mk
+++ b/builds/compiler/unix-lcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/visualage.mk b/builds/compiler/visualage.mk
index 10299da..26c99f7 100644
--- a/builds/compiler/visualage.mk
+++ b/builds/compiler/visualage.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/visualc.mk b/builds/compiler/visualc.mk
index 74f498b..17c8e76 100644
--- a/builds/compiler/visualc.mk
+++ b/builds/compiler/visualc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/watcom.mk b/builds/compiler/watcom.mk
index e455922..2ec24ef 100644
--- a/builds/compiler/watcom.mk
+++ b/builds/compiler/watcom.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/compiler/win-lcc.mk b/builds/compiler/win-lcc.mk
index 1356c1c..fc1f23b 100644
--- a/builds/compiler/win-lcc.mk
+++ b/builds/compiler/win-lcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/detect.mk b/builds/detect.mk
index eb7f797..93b2861 100644
--- a/builds/detect.mk
+++ b/builds/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/dos/detect.mk b/builds/dos/detect.mk
index 14d8c03..53c1caa 100644
--- a/builds/dos/detect.mk
+++ b/builds/dos/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/dos/dos-def.mk b/builds/dos/dos-def.mk
index cb1154d..a5c56b6 100644
--- a/builds/dos/dos-def.mk
+++ b/builds/dos/dos-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,6 +19,9 @@
 BUILD_DIR := $(TOP_DIR)/builds/dos
 PLATFORM  := dos
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+BIN := Scripts
 
 # The executable file extension (for tools), *with* leading dot.
 #
diff --git a/builds/dos/dos-emx.mk b/builds/dos/dos-emx.mk
index dedcc3f..dbba33e 100644
--- a/builds/dos/dos-emx.mk
+++ b/builds/dos/dos-emx.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2003-2018 by
+# Copyright (C) 2003-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/dos/dos-gcc.mk b/builds/dos/dos-gcc.mk
index 53099ab..c281318 100644
--- a/builds/dos/dos-gcc.mk
+++ b/builds/dos/dos-gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/dos/dos-wat.mk b/builds/dos/dos-wat.mk
index 1bd00e7..8c5062d 100644
--- a/builds/dos/dos-wat.mk
+++ b/builds/dos/dos-wat.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2003-2018 by
+# Copyright (C) 2003-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/exports.mk b/builds/exports.mk
index 59fe31a..9dc21e2 100644
--- a/builds/exports.mk
+++ b/builds/exports.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2005-2018 by
+# Copyright (C) 2005-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/freetype.mk b/builds/freetype.mk
index 6f68a0f..2b0ffae 100644
--- a/builds/freetype.mk
+++ b/builds/freetype.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -75,7 +75,7 @@
 # The targets `objects' and `library' are defined at the end of this
 # Makefile after all other rules have been included.
 #
-.PHONY: single multi objects library refdoc
+.PHONY: single multi objects library refdoc refdoc-venv
 
 # default target -- build single objects and library
 #
@@ -289,18 +289,53 @@
 
 library: $(PROJECT_LIBRARY)
 
-
+# Run `docwriter' in the current Python environment.
 # Option `-B' disables generation of .pyc files (available since python 2.6)
 #
-refdoc:
-	python -B $(SRC_DIR)/tools/docmaker/docmaker.py \
-                  --prefix=ft2                          \
-                  --title=FreeType-$(version)           \
-                  --output=$(DOC_DIR)                   \
-                  $(PUBLIC_DIR)/*.h                     \
-                  $(PUBLIC_DIR)/config/*.h              \
-                  $(PUBLIC_DIR)/cache/*.h
 
+PYTHON ?= python
+PIP    ?= pip
+
+refdoc:
+	@echo Running docwriter...
+	$(PYTHON) -m docwriter \
+                  --prefix=ft2 \
+                  --title=FreeType-$(version) \
+                  --output=$(DOC_DIR) \
+                  $(PUBLIC_DIR)/*.h \
+                  $(PUBLIC_DIR)/config/*.h \
+                  $(PUBLIC_DIR)/cache/*.h
+	@echo Building static site...
+	cd $(DOC_DIR) && mkdocs build
+	@echo Done.
+
+# Variables for running `refdoc' with Python's `virtualenv'.  The
+# environment is created in `DOC_DIR/env' and is gitignored.
+#
+# We still need to cd into `DOC_DIR' to build `mkdocs' because paths in
+# `mkdocs.yml' are relative to the current working directory.
+#
+VENV_NAME  := env
+VENV_DIR   := $(DOC_DIR)$(SEP)$(VENV_NAME)
+ENV_PYTHON := $(VENV_DIR)$(SEP)$(BIN)$(SEP)$(PYTHON)
+ENV_PIP    := $(VENV_DIR)$(SEP)$(BIN)$(SEP)$(PIP)
+
+refdoc-venv:
+	@echo Setting up virtualenv for Python...
+	virtualenv --python=$(PYTHON) $(VENV_DIR)
+	@echo Installing docwriter...
+	$(ENV_PIP) install docwriter
+	@echo Running docwriter...
+	$(ENV_PYTHON) -m docwriter \
+                      --prefix=ft2 \
+                      --title=FreeType-$(version) \
+                      --output=$(DOC_DIR) \
+                      $(PUBLIC_DIR)/*.h \
+                      $(PUBLIC_DIR)/config/*.h \
+                      $(PUBLIC_DIR)/cache/*.h
+	@echo Building static site...
+	cd $(DOC_DIR) && $(VENV_NAME)$(SEP)$(BIN)$(SEP)python -m mkdocs build
+	@echo Done.
 
 .PHONY: clean_project_std distclean_project_std
 
diff --git a/builds/link_dos.mk b/builds/link_dos.mk
index 3b0e8da..4c9076a 100644
--- a/builds/link_dos.mk
+++ b/builds/link_dos.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/link_std.mk b/builds/link_std.mk
index 8ba5e64..7eedf1e 100644
--- a/builds/link_std.mk
+++ b/builds/link_std.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/mac/README b/builds/mac/README
index f58e47d..092487a 100644
--- a/builds/mac/README
+++ b/builds/mac/README
@@ -46,7 +46,7 @@
 
   Required files are downloadable from:
 
-      http://developer.apple.com/tools/mpw-tools/index.html
+      http://macintoshgarden.org/apps/macintosh-programmers-workshop
 
   Also you can find documents how to update by MPW-PR.
 
@@ -54,7 +54,7 @@
   skeletons. Python bundled to Mac OS X is enough. For
   classic MacOS, MacPython is available:
 
-      http://homepages.cwi.nl/~jack/macpython/
+      https://homepages.cwi.nl/~jack/macpython/
 
   MPW requires all files are typed by resource fork.
   ResEdit bundled to MPW is enough. In Mac OS X,
@@ -280,7 +280,7 @@
     migrate to FSRef datatype. The big differences of FSRef
     against FSSpec are explained in Apple TechNotes 2078.
 
-    http://developer.apple.com/technotes/tn2002/tn2078.html
+    https://developer.apple.com/library/archive/technotes/tn2078/
 
     - filename length: the max length of file
     name of FSRef is 255 chars (it is limit of HFS+),
@@ -314,7 +314,7 @@
     of FontManager emulation without QuickDraw is
     explained in
 
-      http://www.gyve.org/~mpsuzuki/ats_benchmark.html
+      http://gyvern.ipc.hiroshima-u.ac.jp/~mpsuzuki/ats_benchmark.html
 
   A-3. Framework Availabilities
   -----------------------------
diff --git a/builds/mac/freetype-Info.plist b/builds/mac/freetype-Info.plist
index b3d114d..4b5d79b 100644
--- a/builds/mac/freetype-Info.plist
+++ b/builds/mac/freetype-Info.plist
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
-          "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+          "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
 
 <plist version="1.0">
 
diff --git a/builds/mac/ftmac.c b/builds/mac/ftmac.c
index c45546c..6adf800 100644
--- a/builds/mac/ftmac.c
+++ b/builds/mac/ftmac.c
@@ -5,7 +5,7 @@
 /*    Mac FOND support.  Written by just@letterror.com.                    */
 /*  Heavily Fixed by mpsuzuki, George Williams and Sean McBride            */
 /*                                                                         */
-/*  Copyright 1996-2018 by                                                 */
+/*  Copyright (C) 1996-2019 by                                             */
 /*  Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.     */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -780,9 +780,10 @@
       style = (StyleTable*)p;
       p += sizeof ( StyleTable );
       string_count = EndianS16_BtoN( *(short*)(p) );
+      string_count = FT_MIN( 64, string_count );
       p += sizeof ( short );
 
-      for ( i = 0; i < string_count && i < 64; i++ )
+      for ( i = 0; i < string_count; i++ )
       {
         names[i] = p;
         p       += names[i][0];
@@ -799,7 +800,7 @@
           ps_name[ps_name_len] = 0;
         }
         if ( style->indexes[face_index] > 1 &&
-             style->indexes[face_index] <= FT_MIN( string_count, 64 ) )
+             style->indexes[face_index] <= string_count )
         {
           unsigned char*  suffixes = names[style->indexes[face_index] - 1];
 
diff --git a/builds/modules.mk b/builds/modules.mk
index 9a7a4a0..8886fb3 100644
--- a/builds/modules.mk
+++ b/builds/modules.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/os2/detect.mk b/builds/os2/detect.mk
index 5a80a22..8e29450 100644
--- a/builds/os2/detect.mk
+++ b/builds/os2/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/os2/os2-def.mk b/builds/os2/os2-def.mk
index 7ad1ffb..7a1699e 100644
--- a/builds/os2/os2-def.mk
+++ b/builds/os2/os2-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,6 +19,10 @@
 BUILD_DIR := $(TOP_DIR)/builds/os2
 PLATFORM  := os2
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+BIN := Scripts
+
 # The executable file extension (for tools), *with* leading dot.
 #
 E := .exe
diff --git a/builds/os2/os2-dev.mk b/builds/os2/os2-dev.mk
index 505a754..1b83836 100644
--- a/builds/os2/os2-dev.mk
+++ b/builds/os2/os2-dev.mk
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/os2/os2-gcc.mk b/builds/os2/os2-gcc.mk
index 65026b1..63a3ed1 100644
--- a/builds/os2/os2-gcc.mk
+++ b/builds/os2/os2-gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/symbian/bld.inf b/builds/symbian/bld.inf
index 9c6d8dc..0fa16c3 100644
--- a/builds/symbian/bld.inf
+++ b/builds/symbian/bld.inf
@@ -2,7 +2,7 @@
 // FreeType 2 project for the symbian platform
 //
 
-// Copyright 2008-2018 by
+// Copyright (C) 2008-2019 by
 // David Turner, Robert Wilhelm, and Werner Lemberg.
 //
 // This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/symbian/freetype.mmp b/builds/symbian/freetype.mmp
index 4e4a041..bfbbcaf 100644
--- a/builds/symbian/freetype.mmp
+++ b/builds/symbian/freetype.mmp
@@ -2,7 +2,7 @@
 // FreeType 2 makefile for the symbian platform
 //
 
-// Copyright 2008-2018 by
+// Copyright (C) 2008-2019 by
 // David Turner, Robert Wilhelm, and Werner Lemberg.
 //
 // This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/toplevel.mk b/builds/toplevel.mk
index 7ce0ed8..333b775 100644
--- a/builds/toplevel.mk
+++ b/builds/toplevel.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -191,13 +191,13 @@
 patch := $(subst |,$(space),$(work))
 patch := $(firstword $(patch))
 
-ifneq ($(findstring x0x,x$(patch)x),)
-  version := $(major).$(minor)
-  winversion := $(major)$(minor)
-else
+# ifneq ($(findstring x0x,x$(patch)x),)
+#   version := $(major).$(minor)
+#   winversion := $(major)$(minor)
+# else
   version := $(major).$(minor).$(patch)
   winversion := $(major)$(minor)$(patch)
-endif
+# endif
 
 
 # This target builds the tarballs.
@@ -208,7 +208,7 @@
 dist:
 	-rm -rf tmp
 	rm -f freetype-$(version).tar.gz
-	rm -f freetype-$(version).tar.bz2
+	rm -f freetype-$(version).tar.xz
 	rm -f ft$(winversion).zip
 
 	for d in `find . -wholename '*/.git' -prune \
@@ -226,23 +226,16 @@
 	  ln -s $$currdir/$$f tmp/$$f ; \
 	done
 
-	@# Prevent generation of .pyc files.  Python follows (soft) links if
-	@# the link's directory is write protected, so we have temporarily
-	@# disable write access here too.
-	chmod -w src/tools/docmaker
-
 	cd tmp ; \
 	$(MAKE) devel ; \
 	$(MAKE) do-dist
 
-	chmod +w src/tools/docmaker
-
 	mv tmp freetype-$(version)
 
 	tar -H ustar -chf - freetype-$(version) \
 	| gzip -9 -c > freetype-$(version).tar.gz
 	tar -H ustar -chf - freetype-$(version) \
-	| bzip2 -c > freetype-$(version).tar.bz2
+	| xz -c > freetype-$(version).tar.xz
 
 	@# Use CR/LF for zip files.
 	zip -lr9 ft$(winversion).zip freetype-$(version)
@@ -274,4 +267,8 @@
 	cp $(CONFIG_GUESS) builds/unix
 	cp $(CONFIG_SUB) builds/unix
 
+	@# Remove intermediate files created by the `refdoc' target.
+	rm -rf docs/reference/markdown
+	rm -f docs/reference/mkdocs.yml
+
 # EOF
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index f18bb3d..a1a6dbe 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -2,7 +2,7 @@
 #
 # Process this file with autoconf to produce a configure script.
 #
-# Copyright 2001-2018 by
+# Copyright (C) 2001-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -17,7 +17,7 @@
 
 # Don't forget to update `docs/VERSIONS.TXT'!
 
-version_info='22:1:16'
+version_info='23:1:17'
 AC_SUBST([version_info])
 ft_version=`echo $version_info | tr : .`
 AC_SUBST([ft_version])
@@ -37,7 +37,7 @@
 PKG_PROG_PKG_CONFIG([0.24])
 
 LT_INIT(win32-dll)
-LT_PROG_RC
+AC_CHECK_HEADER([windows.h], [LT_PROG_RC])
 
 
 # checks for native programs to generate building tool
@@ -196,7 +196,7 @@
 AC_ARG_ENABLE([mmap],
   AS_HELP_STRING([--disable-mmap],
                  [do not check mmap() and do not use]),
-  [enable_mmap="no"],[enable_mmap="yes"])
+  [enable_mmap="no"], [enable_mmap="yes"])
 if test "x${enable_mmap}" != "xno"; then
   AC_FUNC_MMAP
 fi
@@ -315,7 +315,7 @@
 AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
 orig_CFLAGS="${CFLAGS}"
 CFLAGS="${CFLAGS} -fvisibility=hidden"
-AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
                [found_visibility_flag=yes
                 AC_MSG_RESULT(yes)],
                [CFLAGS="${orig_CFLAGS}"
@@ -325,7 +325,7 @@
   AC_MSG_CHECKING([for -xldscope=hidden compiler flag])
   orig_CFLAGS="${CFLAGS}"
   CFLAGS="${CFLAGS} -xldscope=hidden"
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
                  [found_visibility_flag=yes
                   AC_MSG_RESULT(yes)],
                  [CFLAGS="${orig_CFLAGS}"
@@ -968,6 +968,25 @@
     ;;
 esac
 
+# Check for python and docwriter
+
+AC_CHECK_PROGS([PYTHON], [python3 python2 python], [missing])
+have_docwriter=no
+if test "x$PYTHON" != "xmissing"; then
+  AC_CHECK_PROGS([PIP], [pip3 pip2 pip], [missing])
+
+  if test "x$PIP" != "xmissing"; then
+    AC_MSG_CHECKING([for \`docwriter' Python module])
+    $PIP show -q docwriter
+    if test "x$?" = "x0"; then
+      have_docwriter=yes
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+  fi
+fi
+
 
 # entries in Requires.private are separated by commas;
 REQUIRES_PRIVATE="$zlib_reqpriv,     \
@@ -1112,4 +1131,15 @@
   harfbuzz:      $have_harfbuzz
 ])
 
+# Warn if docwriter is not installed
+
+if test $have_docwriter = no; then
+  AC_MSG_NOTICE([
+  Warning: \`make refdoc' will fail since pip package \`docwriter' is not
+  installed.  To install, run \`$PIP install docwriter', or to use a python
+  virtual environment, run \`make refdoc-venv' (requires pip package
+  \`virtualenv').
+  ])
+fi
+
 # end of configure.raw
diff --git a/builds/unix/detect.mk b/builds/unix/detect.mk
index 5f9b9e2..7ce7d8a 100644
--- a/builds/unix/detect.mk
+++ b/builds/unix/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/freetype-config.in b/builds/unix/freetype-config.in
index 2d5b90d..9e8d3c2 100644
--- a/builds/unix/freetype-config.in
+++ b/builds/unix/freetype-config.in
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright 2000-2018 by
+# Copyright (C) 2000-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/freetype2.m4 b/builds/unix/freetype2.m4
index af2e659..d68d15e 100644
--- a/builds/unix/freetype2.m4
+++ b/builds/unix/freetype2.m4
@@ -1,7 +1,7 @@
 # Configure paths for FreeType2
 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
 #
-# Copyright 2001-2018 by
+# Copyright (C) 2001-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/ft-munmap.m4 b/builds/unix/ft-munmap.m4
index 00eda49..4384013 100644
--- a/builds/unix/ft-munmap.m4
+++ b/builds/unix/ft-munmap.m4
@@ -1,6 +1,6 @@
 ## FreeType specific autoconf tests
 #
-# Copyright 2002-2018 by
+# Copyright (C) 2002-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/ftconfig.in b/builds/unix/ftconfig.in
index cdb7f22..019793e 100644
--- a/builds/unix/ftconfig.in
+++ b/builds/unix/ftconfig.in
@@ -1,38 +1,36 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftconfig.in                                                            */
-/*                                                                         */
-/*    UNIX-specific configuration file (specification only).               */
-/*                                                                         */
-/*  Copyright 1996-2018 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.                                        */
-/*                                                                         */
-/***************************************************************************/
+/****************************************************************************
+ *
+ * ftconfig.in
+ *
+ *   UNIX-specific configuration file (specification only).
+ *
+ * Copyright (C) 1996-2019 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.
+ *
+ */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* This header file contains a number of macro definitions that are used */
-  /* by the rest of the engine.  Most of the macros here are automatically */
-  /* determined at compile time, and you should not need to change it to   */
-  /* port FreeType, except to compile the library with a non-ANSI          */
-  /* compiler.                                                             */
-  /*                                                                       */
-  /* Note however that if some specific modifications are needed, we       */
-  /* advise you to place a modified copy in your build directory.          */
-  /*                                                                       */
-  /* The build directory is usually `builds/<system>', and contains        */
-  /* system-specific files that are always included first when building    */
-  /* the library.                                                          */
-  /*                                                                       */
-  /*************************************************************************/
-
+  /**************************************************************************
+   *
+   * This header file contains a number of macro definitions that are used by
+   * the rest of the engine.  Most of the macros here are automatically
+   * determined at compile time, and you should not need to change it to port
+   * FreeType, except to compile the library with a non-ANSI compiler.
+   *
+   * Note however that if some specific modifications are needed, we advise
+   * you to place a modified copy in your build directory.
+   *
+   * The build directory is usually `builds/<system>`, and contains
+   * system-specific files that are always included first when building the
+   * library.
+   *
+   */
 
 #ifndef FTCONFIG_H_
 #define FTCONFIG_H_
@@ -45,30 +43,28 @@
 FT_BEGIN_HEADER
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
-  /*                                                                       */
-  /* These macros can be toggled to suit a specific system.  The current   */
-  /* ones are defaults used to compile FreeType in an ANSI C environment   */
-  /* (16bit compilers are also supported).  Copy this file to your own     */
-  /* `builds/<system>' directory, and edit it to port the engine.          */
-  /*                                                                       */
-  /*************************************************************************/
-
+  /**************************************************************************
+   *
+   *              PLATFORM-SPECIFIC CONFIGURATION MACROS
+   *
+   * These macros can be toggled to suit a specific system.  The current ones
+   * are defaults used to compile FreeType in an ANSI C environment (16bit
+   * compilers are also supported).  Copy this file to your own
+   * `builds/<system>` directory, and edit it to port the engine.
+   *
+   */
 
 #undef HAVE_UNISTD_H
 #undef HAVE_FCNTL_H
 #undef HAVE_STDINT_H
 
-
-  /* There are systems (like the Texas Instruments 'C54x) where a `char' */
-  /* has 16 bits.  ANSI C says that sizeof(char) is always 1.  Since an  */
-  /* `int' has 16 bits also for this system, sizeof(int) gives 1 which   */
-  /* is probably unexpected.                                             */
-  /*                                                                     */
-  /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a      */
-  /* `char' type.                                                        */
+  /* There are systems (like the Texas Instruments 'C54x) where a `char`  */
+  /* has 16~bits.  ANSI~C says that `sizeof(char)` is always~1.  Since an */
+  /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which  */
+  /* is probably unexpected.                                              */
+  /*                                                                      */
+  /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a     */
+  /* `char` type.                                                         */
 
 #ifndef FT_CHAR_BIT
 #define FT_CHAR_BIT  CHAR_BIT
@@ -85,67 +81,66 @@
 
 #else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
 
-  /* Following cpp computation of the bit length of int and long */
-  /* is copied from default include/freetype/config/ftconfig.h.  */
-  /* If any improvement is required for this file, it should be  */
-  /* applied to the original header file for the builders that   */
-  /* do not use configure script.                                */
+  /* Following cpp computation of the bit length of `int` and `long` */
+  /* is copied from default `include/freetype/config/ftconfig.h`.    */
+  /* If any improvement is required for this file, it should be      */
+  /* applied to the original header file for the builders that do    */
+  /* not use configure script.                                       */
 
-  /* The size of an `int' type.  */
+  /* The size of an `int` type. */
 #if                                 FT_UINT_MAX == 0xFFFFUL
-#define FT_SIZEOF_INT  (16 / FT_CHAR_BIT)
+#define FT_SIZEOF_INT  ( 16 / FT_CHAR_BIT )
 #elif                               FT_UINT_MAX == 0xFFFFFFFFUL
-#define FT_SIZEOF_INT  (32 / FT_CHAR_BIT)
+#define FT_SIZEOF_INT  ( 32 / FT_CHAR_BIT )
 #elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
-#define FT_SIZEOF_INT  (64 / FT_CHAR_BIT)
+#define FT_SIZEOF_INT  ( 64 / FT_CHAR_BIT )
 #else
 #error "Unsupported size of `int' type!"
 #endif
 
-  /* The size of a `long' type.  A five-byte `long' (as used e.g. on the */
+  /* The size of a `long` type.  A five-byte `long` (as used e.g. on the */
   /* DM642) is recognized but avoided.                                   */
 #if                                  FT_ULONG_MAX == 0xFFFFFFFFUL
-#define FT_SIZEOF_LONG  (32 / FT_CHAR_BIT)
+#define FT_SIZEOF_LONG  ( 32 / FT_CHAR_BIT )
 #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
-#define FT_SIZEOF_LONG  (32 / FT_CHAR_BIT)
+#define FT_SIZEOF_LONG  ( 32 / FT_CHAR_BIT )
 #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
-#define FT_SIZEOF_LONG  (64 / FT_CHAR_BIT)
+#define FT_SIZEOF_LONG  ( 64 / FT_CHAR_BIT )
 #else
 #error "Unsupported size of `long' type!"
 #endif
 
 #endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
 
-
-  /* FT_UNUSED is a macro used to indicate that a given parameter is not  */
-  /* used -- this is only used to get rid of unpleasant compiler warnings */
+  /* `FT_UNUSED` indicates that a given parameter is not used --   */
+  /* this is only used to get rid of unpleasant compiler warnings. */
 #ifndef FT_UNUSED
 #define FT_UNUSED( arg )  ( (arg) = (arg) )
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /*                     AUTOMATIC CONFIGURATION MACROS                    */
-  /*                                                                       */
-  /* These macros are computed from the ones defined above.  Don't touch   */
-  /* their definition, unless you know precisely what you are doing.  No   */
-  /* porter should need to mess with them.                                 */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   *                    AUTOMATIC CONFIGURATION MACROS
+   *
+   * These macros are computed from the ones defined above.  Don't touch
+   * their definition, unless you know precisely what you are doing.  No
+   * porter should need to mess with them.
+   *
+   */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Mac support                                                           */
-  /*                                                                       */
-  /*   This is the only necessary change, so it is defined here instead    */
-  /*   providing a new configuration file.                                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * Mac support
+   *
+   *   This is the only necessary change, so it is defined here instead
+   *   providing a new configuration file.
+   */
 #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
-  /* no Carbon frameworks for 64bit 10.4.x */
-  /* AvailabilityMacros.h is available since Mac OS X 10.2,        */
-  /* so guess the system version by maximum errno before inclusion */
+  /* No Carbon frameworks for 64bit 10.4.x.                         */
+  /* `AvailabilityMacros.h` is available since Mac OS X 10.2,       */
+  /* so guess the system version by maximum errno before inclusion. */
 #include <errno.h>
 #ifdef ECANCELED /* defined since 10.2 */
 #include "AvailabilityMacros.h"
@@ -165,7 +160,7 @@
 #endif
 
 
-  /* Fix compiler warning with sgi compiler */
+  /* Fix compiler warning with sgi compiler. */
 #if defined( __sgi ) && !defined( __GNUC__ )
 #if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
 #pragma set woff 3505
@@ -173,33 +168,33 @@
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    basic_types                                                        */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * @section:
+   *   basic_types
+   *
+   */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int16                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for a 16bit signed integer type.                         */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int16
+   *
+   * @description:
+   *   A typedef for a 16bit signed integer type.
+   */
   typedef signed short  FT_Int16;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt16                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for a 16bit unsigned integer type.                       */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt16
+   *
+   * @description:
+   *   A typedef for a 16bit unsigned integer type.
+   */
   typedef unsigned short  FT_UInt16;
 
   /* */
@@ -208,50 +203,50 @@
   /* this #if 0 ... #endif clause is for documentation purposes */
 #if 0
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int32                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for a 32bit signed integer type.  The size depends on    */
-  /*    the configuration.                                                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int32
+   *
+   * @description:
+   *   A typedef for a 32bit signed integer type.  The size depends on the
+   *   configuration.
+   */
   typedef signed XXX  FT_Int32;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt32                                                          */
-  /*                                                                       */
-  /*    A typedef for a 32bit unsigned integer type.  The size depends on  */
-  /*    the configuration.                                                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt32
+   *
+   *   A typedef for a 32bit unsigned integer type.  The size depends on the
+   *   configuration.
+   */
   typedef unsigned XXX  FT_UInt32;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int64                                                           */
-  /*                                                                       */
-  /*    A typedef for a 64bit signed integer type.  The size depends on    */
-  /*    the configuration.  Only defined if there is real 64bit support;   */
-  /*    otherwise, it gets emulated with a structure (if necessary).       */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int64
+   *
+   *   A typedef for a 64bit signed integer type.  The size depends on the
+   *   configuration.  Only defined if there is real 64bit support;
+   *   otherwise, it gets emulated with a structure (if necessary).
+   */
   typedef signed XXX  FT_Int64;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt64                                                          */
-  /*                                                                       */
-  /*    A typedef for a 64bit unsigned integer type.  The size depends on  */
-  /*    the configuration.  Only defined if there is real 64bit support;   */
-  /*    otherwise, it gets emulated with a structure (if necessary).       */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt64
+   *
+   *   A typedef for a 64bit unsigned integer type.  The size depends on the
+   *   configuration.  Only defined if there is real 64bit support;
+   *   otherwise, it gets emulated with a structure (if necessary).
+   */
   typedef unsigned XXX  FT_UInt64;
 
   /* */
@@ -273,7 +268,7 @@
 #endif
 
 
-  /* look up an integer type that is at least 32 bits */
+  /* look up an integer type that is at least 32~bits */
 #if FT_SIZEOF_INT >= 4
 
   typedef int            FT_Fast;
@@ -287,17 +282,17 @@
 #endif
 
 
-  /* determine whether we have a 64-bit int type  */
-  /* (mostly for environments without `autoconf') */
+  /* determine whether we have a 64-bit `int` type for platforms without */
+  /* Autoconf                                                            */
 #if FT_SIZEOF_LONG == 8
 
-  /* FT_LONG64 must be defined if a 64-bit type is available */
+  /* `FT_LONG64` must be defined if a 64-bit type is available */
 #define FT_LONG64
 #define FT_INT64   long
 #define FT_UINT64  unsigned long
 
   /* we handle the LLP64 scheme separately for GCC and clang, */
-  /* suppressing the `long long' warning                      */
+  /* suppressing the `long long` warning                      */
 #elif ( FT_SIZEOF_LONG == 4 )       && \
       defined( HAVE_LONG_LONG_INT ) && \
       defined( __GNUC__ )
@@ -306,13 +301,13 @@
 #define FT_INT64   long long int
 #define FT_UINT64  unsigned long long int
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* A 64-bit data type may create compilation problems if you compile     */
-  /* in strict ANSI mode.  To avoid them, we disable other 64-bit data     */
-  /* types if __STDC__ is defined.  You can however ignore this rule       */
-  /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro.     */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * A 64-bit data type may create compilation problems if you compile in
+   * strict ANSI mode.  To avoid them, we disable other 64-bit data types if
+   * `__STDC__` is defined.  You can however ignore this rule by defining the
+   * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
+   */
 #elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
 
 #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
@@ -321,19 +316,19 @@
 #define FT_INT64   long long int
 #define FT_UINT64  unsigned long long int
 
-#elif defined( _MSC_VER ) && _MSC_VER >= 900  /* Visual C++ (and Intel C++) */
+#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
 
-  /* this compiler provides the __int64 type */
+  /* this compiler provides the `__int64` type */
 #define FT_LONG64
 #define FT_INT64   __int64
 #define FT_UINT64  unsigned __int64
 
 #elif defined( __BORLANDC__ )  /* Borland C++ */
 
-  /* XXXX: We should probably check the value of __BORLANDC__ in order */
-  /*       to test the compiler version.                               */
+  /* XXXX: We should probably check the value of `__BORLANDC__` in order */
+  /*       to test the compiler version.                                 */
 
-  /* this compiler provides the __int64 type */
+  /* this compiler provides the `__int64` type */
 #define FT_LONG64
 #define FT_INT64   __int64
 #define FT_UINT64  unsigned __int64
@@ -350,7 +345,7 @@
 
 #elif defined( __GNUC__ )
 
-  /* GCC provides the `long long' type */
+  /* GCC provides the `long long` type */
 #define FT_LONG64
 #define FT_INT64   long long int
 #define FT_UINT64  unsigned long long int
@@ -374,11 +369,11 @@
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* miscellaneous                                                         */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * miscellaneous
+   *
+   */
 
 
 #define FT_BEGIN_STMNT  do {
@@ -386,7 +381,7 @@
 #define FT_DUMMY_STMNT  FT_BEGIN_STMNT FT_END_STMNT
 
 
-  /* typeof condition taken from gnulib's `intprops.h' header file */
+  /* `typeof` condition taken from gnulib's `intprops.h` header file */
 #if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 )                       || \
       ( defined( __IBMC__ ) && __IBMC__ >= 1210 &&                      \
         defined( __IBM__TYPEOF__ ) )                                 || \
@@ -397,14 +392,14 @@
 #endif
 
 
-  /* Use FT_LOCAL and FT_LOCAL_DEF to declare and define, respectively, */
-  /* a function that gets used only within the scope of a module.       */
-  /* Normally, both the header and source code files for such a         */
-  /* function are within a single module directory.                     */
-  /*                                                                    */
-  /* Intra-module arrays should be tagged with FT_LOCAL_ARRAY and       */
-  /* FT_LOCAL_ARRAY_DEF.                                                */
-  /*                                                                    */
+  /* Use `FT_LOCAL` and `FT_LOCAL_DEF` to declare and define,            */
+  /* respectively, a function that gets used only within the scope of a  */
+  /* module.  Normally, both the header and source code files for such a */
+  /* function are within a single module directory.                      */
+  /*                                                                     */
+  /* Intra-module arrays should be tagged with `FT_LOCAL_ARRAY` and      */
+  /* `FT_LOCAL_ARRAY_DEF`.                                               */
+  /*                                                                     */
 #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
 
 #define FT_LOCAL( x )      static  x
@@ -426,12 +421,12 @@
 #define FT_LOCAL_ARRAY_DEF( x )  const  x
 
 
-  /* Use FT_BASE and FT_BASE_DEF to declare and define, respectively, */
-  /* functions that are used in more than a single module.  In the    */
-  /* current setup this implies that the declaration is in a header   */
-  /* file in the `include/freetype/internal' directory, and the       */
-  /* function body is in a file in `src/base'.                        */
-  /*                                                                  */
+  /* Use `FT_BASE` and `FT_BASE_DEF` to declare and define, respectively, */
+  /* functions that are used in more than a single module.  In the        */
+  /* current setup this implies that the declaration is in a header file  */
+  /* in the `include/freetype/internal` directory, and the function body  */
+  /* is in a file in `src/base`.                                          */
+  /*                                                                      */
 #ifndef FT_BASE
 
 #ifdef __cplusplus
@@ -454,37 +449,40 @@
 #endif /* !FT_BASE_DEF */
 
 
-  /*   When compiling FreeType as a DLL or DSO with hidden visibility      */
-  /*   some systems/compilers need a special attribute in front OR after   */
-  /*   the return type of function declarations.                           */
-  /*                                                                       */
-  /*   Two macros are used within the FreeType source code to define       */
-  /*   exported library functions: FT_EXPORT and FT_EXPORT_DEF.            */
-  /*                                                                       */
-  /*     FT_EXPORT( return_type )                                          */
-  /*                                                                       */
-  /*       is used in a function declaration, as in                        */
-  /*                                                                       */
-  /*         FT_EXPORT( FT_Error )                                         */
-  /*         FT_Init_FreeType( FT_Library*  alibrary );                    */
-  /*                                                                       */
-  /*                                                                       */
-  /*     FT_EXPORT_DEF( return_type )                                      */
-  /*                                                                       */
-  /*       is used in a function definition, as in                         */
-  /*                                                                       */
-  /*         FT_EXPORT_DEF( FT_Error )                                     */
-  /*         FT_Init_FreeType( FT_Library*  alibrary )                     */
-  /*         {                                                             */
-  /*           ... some code ...                                           */
-  /*           return FT_Err_Ok;                                           */
-  /*         }                                                             */
-  /*                                                                       */
-  /*   You can provide your own implementation of FT_EXPORT and            */
-  /*   FT_EXPORT_DEF here if you want.                                     */
-  /*                                                                       */
-  /*   To export a variable, use FT_EXPORT_VAR.                            */
-  /*                                                                       */
+  /* When compiling FreeType as a DLL or DSO with hidden visibility    */
+  /* some systems/compilers need a special attribute in front OR after */
+  /* the return type of function declarations.                         */
+  /*                                                                   */
+  /* Two macros are used within the FreeType source code to define     */
+  /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`.      */
+  /*                                                                   */
+  /* - `FT_EXPORT( return_type )`                                      */
+  /*                                                                   */
+  /*   is used in a function declaration, as in                        */
+  /*                                                                   */
+  /*   ```                                                             */
+  /*     FT_EXPORT( FT_Error )                                         */
+  /*     FT_Init_FreeType( FT_Library*  alibrary );                    */
+  /*   ```                                                             */
+  /*                                                                   */
+  /* - `FT_EXPORT_DEF( return_type )`                                  */
+  /*                                                                   */
+  /*   is used in a function definition, as in                         */
+  /*                                                                   */
+  /*   ```                                                             */
+  /*     FT_EXPORT_DEF( FT_Error )                                     */
+  /*     FT_Init_FreeType( FT_Library*  alibrary )                     */
+  /*     {                                                             */
+  /*       ... some code ...                                           */
+  /*       return FT_Err_Ok;                                           */
+  /*     }                                                             */
+  /*   ```                                                             */
+  /*                                                                   */
+  /* You can provide your own implementation of `FT_EXPORT` and        */
+  /* `FT_EXPORT_DEF` here if you want.                                 */
+  /*                                                                   */
+  /* To export a variable, use `FT_EXPORT_VAR`.                        */
+  /*                                                                   */
 #ifndef FT_EXPORT
 
 #ifdef FT2_BUILD_LIBRARY
@@ -537,11 +535,12 @@
 
 #endif /* !FT_EXPORT_VAR */
 
+
   /* The following macros are needed to compile the library with a   */
   /* C++ compiler and with 16bit compilers.                          */
   /*                                                                 */
 
-  /* This is special.  Within C++, you must specify `extern "C"' for */
+  /* This is special.  Within C++, you must specify `extern "C"` for */
   /* functions which are used via function pointers, and you also    */
   /* must do that for structures which contain function pointers to  */
   /* assure C linkage -- it's not possible to have (local) anonymous */
@@ -564,7 +563,7 @@
   /*                                                                 */
   /*                                                                 */
   /* Some 16bit compilers have to redefine these macros to insert    */
-  /* the infamous `_cdecl' or `__fastcall' declarations.             */
+  /* the infamous `_cdecl` or `__fastcall` declarations.             */
   /*                                                                 */
 #ifndef FT_CALLBACK_DEF
 #ifdef __cplusplus
diff --git a/builds/unix/ftsystem.c b/builds/unix/ftsystem.c
index 8fdbeb0..826713f 100644
--- a/builds/unix/ftsystem.c
+++ b/builds/unix/ftsystem.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Unix-specific FreeType low-level system interface (body).            */
 /*                                                                         */
-/*  Copyright 1996-2018 by                                                 */
+/*  Copyright (C) 1996-2019 by                                             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -173,7 +173,7 @@
   /* messages during execution.                                            */
   /*                                                                       */
 #undef  FT_COMPONENT
-#define FT_COMPONENT  trace_io
+#define FT_COMPONENT  io
 
   /* We use the macro STREAM_FILE for convenience to extract the       */
   /* system-specific stream handle from a given FreeType stream object */
diff --git a/builds/unix/install.mk b/builds/unix/install.mk
index c08c3b7..2287dfc 100644
--- a/builds/unix/install.mk
+++ b/builds/unix/install.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/unix-cc.in b/builds/unix/unix-cc.in
index 5675866..ed51fde 100644
--- a/builds/unix/unix-cc.in
+++ b/builds/unix/unix-cc.in
@@ -2,7 +2,7 @@
 # FreeType 2 template for Unix-specific compiler definitions
 #
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/unix-def.in b/builds/unix/unix-def.in
index 6957053..e74844d 100644
--- a/builds/unix/unix-def.in
+++ b/builds/unix/unix-def.in
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -21,6 +21,12 @@
 CAT    := cat
 SEP    := /
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+PYTHON := @PYTHON@
+PIP    := @PIP@
+BIN    := bin
+
 # this is used for `make distclean' and `make install'
 OBJ_BUILD ?= $(BUILD_DIR)
 
diff --git a/builds/unix/unix-dev.mk b/builds/unix/unix-dev.mk
index 5a516ad..3cb171a 100644
--- a/builds/unix/unix-dev.mk
+++ b/builds/unix/unix-dev.mk
@@ -6,7 +6,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/unix-lcc.mk b/builds/unix/unix-lcc.mk
index 73a02d4..e632e9a 100644
--- a/builds/unix/unix-lcc.mk
+++ b/builds/unix/unix-lcc.mk
@@ -6,7 +6,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/unix.mk b/builds/unix/unix.mk
index acd54d3..2d04eef 100644
--- a/builds/unix/unix.mk
+++ b/builds/unix/unix.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/unix/unixddef.mk b/builds/unix/unixddef.mk
index a8da63a..9aad35c 100644
--- a/builds/unix/unixddef.mk
+++ b/builds/unix/unixddef.mk
@@ -4,7 +4,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -23,6 +23,10 @@
 CAT    := cat
 SEP    := /
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+BIN := bin
+
 # we use a special devel ftoption.h
 DEVEL_DIR := $(TOP_DIR)/devel
 
diff --git a/builds/vms/LIBS.OPT_IA64 b/builds/vms/LIBS.OPT_IA64
new file mode 100644
index 0000000..6768c76
--- /dev/null
+++ b/builds/vms/LIBS.OPT_IA64
Binary files differ
diff --git a/builds/vms/_LINK.OPT_IA64 b/builds/vms/_LINK.OPT_IA64
new file mode 100644
index 0000000..b8cbd1b
--- /dev/null
+++ b/builds/vms/_LINK.OPT_IA64
Binary files differ
diff --git a/builds/vms/ftconfig.h b/builds/vms/ftconfig.h
index 733b09b..7825db0 100644
--- a/builds/vms/ftconfig.h
+++ b/builds/vms/ftconfig.h
@@ -1,38 +1,36 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftconfig.h                                                             */
-/*                                                                         */
-/*    VMS-specific configuration file (specification only).                */
-/*                                                                         */
-/*  Copyright 1996-2018 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.                                        */
-/*                                                                         */
-/***************************************************************************/
+/****************************************************************************
+ *
+ * ftconfig.h
+ *
+ *   VMS-specific configuration file (specification only).
+ *
+ * Copyright (C) 1996-2019 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.
+ *
+ */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* This header file contains a number of macro definitions that are used */
-  /* by the rest of the engine.  Most of the macros here are automatically */
-  /* determined at compile time, and you should not need to change it to   */
-  /* port FreeType, except to compile the library with a non-ANSI          */
-  /* compiler.                                                             */
-  /*                                                                       */
-  /* Note however that if some specific modifications are needed, we       */
-  /* advise you to place a modified copy in your build directory.          */
-  /*                                                                       */
-  /* The build directory is usually `builds/<system>', and contains        */
-  /* system-specific files that are always included first when building    */
-  /* the library.                                                          */
-  /*                                                                       */
-  /*************************************************************************/
-
+  /**************************************************************************
+   *
+   * This header file contains a number of macro definitions that are used by
+   * the rest of the engine.  Most of the macros here are automatically
+   * determined at compile time, and you should not need to change it to port
+   * FreeType, except to compile the library with a non-ANSI compiler.
+   *
+   * Note however that if some specific modifications are needed, we advise
+   * you to place a modified copy in your build directory.
+   *
+   * The build directory is usually `builds/<system>`, and contains
+   * system-specific files that are always included first when building the
+   * library.
+   *
+   */
 
 #ifndef FTCONFIG_H_
 #define FTCONFIG_H_
@@ -45,17 +43,16 @@
 FT_BEGIN_HEADER
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
-  /*                                                                       */
-  /* These macros can be toggled to suit a specific system.  The current   */
-  /* ones are defaults used to compile FreeType in an ANSI C environment   */
-  /* (16bit compilers are also supported).  Copy this file to your own     */
-  /* `builds/<system>' directory, and edit it to port the engine.          */
-  /*                                                                       */
-  /*************************************************************************/
-
+  /**************************************************************************
+   *
+   *              PLATFORM-SPECIFIC CONFIGURATION MACROS
+   *
+   * These macros can be toggled to suit a specific system.  The current ones
+   * are defaults used to compile FreeType in an ANSI C environment (16bit
+   * compilers are also supported).  Copy this file to your own
+   * `builds/<system>` directory, and edit it to port the engine.
+   *
+   */
 
 #define HAVE_UNISTD_H  1
 #define HAVE_FCNTL_H   1
@@ -66,38 +63,36 @@
 #define FT_SIZEOF_INT   4
 #define FT_SIZEOF_LONG  4
 
-#define FT_CHAR_BIT  8
 
-
-  /* FT_UNUSED is a macro used to indicate that a given parameter is not  */
-  /* used -- this is only used to get rid of unpleasant compiler warnings */
+  /* `FT_UNUSED` indicates that a given parameter is not used --   */
+  /* this is only used to get rid of unpleasant compiler warnings. */
 #ifndef FT_UNUSED
 #define FT_UNUSED( arg )  ( (arg) = (arg) )
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /*                     AUTOMATIC CONFIGURATION MACROS                    */
-  /*                                                                       */
-  /* These macros are computed from the ones defined above.  Don't touch   */
-  /* their definition, unless you know precisely what you are doing.  No   */
-  /* porter should need to mess with them.                                 */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   *                    AUTOMATIC CONFIGURATION MACROS
+   *
+   * These macros are computed from the ones defined above.  Don't touch
+   * their definition, unless you know precisely what you are doing.  No
+   * porter should need to mess with them.
+   *
+   */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Mac support                                                           */
-  /*                                                                       */
-  /*   This is the only necessary change, so it is defined here instead    */
-  /*   providing a new configuration file.                                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * Mac support
+   *
+   *   This is the only necessary change, so it is defined here instead
+   *   providing a new configuration file.
+   */
 #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
-  /* no Carbon frameworks for 64bit 10.4.x */
-  /* AvailabilityMacros.h is available since Mac OS X 10.2,        */
-  /* so guess the system version by maximum errno before inclusion */
+  /* No Carbon frameworks for 64bit 10.4.x.                         */
+  /* `AvailabilityMacros.h` is available since Mac OS X 10.2,       */
+  /* so guess the system version by maximum errno before inclusion. */
 #include <errno.h>
 #ifdef ECANCELED /* defined since 10.2 */
 #include "AvailabilityMacros.h"
@@ -117,7 +112,7 @@
 #endif
 
 
-  /* Fix compiler warning with sgi compiler */
+  /* Fix compiler warning with sgi compiler. */
 #if defined( __sgi ) && !defined( __GNUC__ )
 #if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
 #pragma set woff 3505
@@ -125,33 +120,33 @@
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    basic_types                                                        */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * @section:
+   *   basic_types
+   *
+   */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int16                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for a 16bit signed integer type.                         */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int16
+   *
+   * @description:
+   *   A typedef for a 16bit signed integer type.
+   */
   typedef signed short  FT_Int16;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt16                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for a 16bit unsigned integer type.                       */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt16
+   *
+   * @description:
+   *   A typedef for a 16bit unsigned integer type.
+   */
   typedef unsigned short  FT_UInt16;
 
   /* */
@@ -160,50 +155,50 @@
   /* this #if 0 ... #endif clause is for documentation purposes */
 #if 0
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int32                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for a 32bit signed integer type.  The size depends on    */
-  /*    the configuration.                                                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int32
+   *
+   * @description:
+   *   A typedef for a 32bit signed integer type.  The size depends on the
+   *   configuration.
+   */
   typedef signed XXX  FT_Int32;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt32                                                          */
-  /*                                                                       */
-  /*    A typedef for a 32bit unsigned integer type.  The size depends on  */
-  /*    the configuration.                                                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt32
+   *
+   *   A typedef for a 32bit unsigned integer type.  The size depends on the
+   *   configuration.
+   */
   typedef unsigned XXX  FT_UInt32;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int64                                                           */
-  /*                                                                       */
-  /*    A typedef for a 64bit signed integer type.  The size depends on    */
-  /*    the configuration.  Only defined if there is real 64bit support;   */
-  /*    otherwise, it gets emulated with a structure (if necessary).       */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int64
+   *
+   *   A typedef for a 64bit signed integer type.  The size depends on the
+   *   configuration.  Only defined if there is real 64bit support;
+   *   otherwise, it gets emulated with a structure (if necessary).
+   */
   typedef signed XXX  FT_Int64;
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt64                                                          */
-  /*                                                                       */
-  /*    A typedef for a 64bit unsigned integer type.  The size depends on  */
-  /*    the configuration.  Only defined if there is real 64bit support;   */
-  /*    otherwise, it gets emulated with a structure (if necessary).       */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt64
+   *
+   *   A typedef for a 64bit unsigned integer type.  The size depends on the
+   *   configuration.  Only defined if there is real 64bit support;
+   *   otherwise, it gets emulated with a structure (if necessary).
+   */
   typedef unsigned XXX  FT_UInt64;
 
   /* */
@@ -225,7 +220,7 @@
 #endif
 
 
-  /* look up an integer type that is at least 32 bits */
+  /* look up an integer type that is at least 32~bits */
 #if FT_SIZEOF_INT >= 4
 
   typedef int            FT_Fast;
@@ -239,17 +234,17 @@
 #endif
 
 
-  /* determine whether we have a 64-bit int type  */
-  /* (mostly for environments without `autoconf') */
+  /* determine whether we have a 64-bit `int` type for platforms without */
+  /* Autoconf                                                            */
 #if FT_SIZEOF_LONG == 8
 
-  /* FT_LONG64 must be defined if a 64-bit type is available */
+  /* `FT_LONG64` must be defined if a 64-bit type is available */
 #define FT_LONG64
 #define FT_INT64   long
 #define FT_UINT64  unsigned long
 
   /* we handle the LLP64 scheme separately for GCC and clang, */
-  /* suppressing the `long long' warning                      */
+  /* suppressing the `long long` warning                      */
 #elif ( FT_SIZEOF_LONG == 4 )       && \
       defined( HAVE_LONG_LONG_INT ) && \
       defined( __GNUC__ )
@@ -258,13 +253,13 @@
 #define FT_INT64   long long int
 #define FT_UINT64  unsigned long long int
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* A 64-bit data type may create compilation problems if you compile     */
-  /* in strict ANSI mode.  To avoid them, we disable other 64-bit data     */
-  /* types if __STDC__ is defined.  You can however ignore this rule       */
-  /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro.     */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * A 64-bit data type may create compilation problems if you compile in
+   * strict ANSI mode.  To avoid them, we disable other 64-bit data types if
+   * `__STDC__` is defined.  You can however ignore this rule by defining the
+   * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
+   */
 #elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
 
 #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
@@ -273,19 +268,19 @@
 #define FT_INT64   long long int
 #define FT_UINT64  unsigned long long int
 
-#elif defined( _MSC_VER ) && _MSC_VER >= 900  /* Visual C++ (and Intel C++) */
+#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
 
-  /* this compiler provides the __int64 type */
+  /* this compiler provides the `__int64` type */
 #define FT_LONG64
 #define FT_INT64   __int64
 #define FT_UINT64  unsigned __int64
 
 #elif defined( __BORLANDC__ )  /* Borland C++ */
 
-  /* XXXX: We should probably check the value of __BORLANDC__ in order */
-  /*       to test the compiler version.                               */
+  /* XXXX: We should probably check the value of `__BORLANDC__` in order */
+  /*       to test the compiler version.                                 */
 
-  /* this compiler provides the __int64 type */
+  /* this compiler provides the `__int64` type */
 #define FT_LONG64
 #define FT_INT64   __int64
 #define FT_UINT64  unsigned __int64
@@ -302,7 +297,7 @@
 
 #elif defined( __GNUC__ )
 
-  /* GCC provides the `long long' type */
+  /* GCC provides the `long long` type */
 #define FT_LONG64
 #define FT_INT64   long long int
 #define FT_UINT64  unsigned long long int
@@ -326,11 +321,11 @@
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* miscellaneous                                                         */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * miscellaneous
+   *
+   */
 
 
 #define FT_BEGIN_STMNT  do {
@@ -338,7 +333,7 @@
 #define FT_DUMMY_STMNT  FT_BEGIN_STMNT FT_END_STMNT
 
 
-  /* typeof condition taken from gnulib's `intprops.h' header file */
+  /* `typeof` condition taken from gnulib's `intprops.h` header file */
 #if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 )                       || \
       ( defined( __IBMC__ ) && __IBMC__ >= 1210 &&                      \
         defined( __IBM__TYPEOF__ ) )                                 || \
@@ -349,14 +344,14 @@
 #endif
 
 
-  /* Use FT_LOCAL and FT_LOCAL_DEF to declare and define, respectively, */
-  /* a function that gets used only within the scope of a module.       */
-  /* Normally, both the header and source code files for such a         */
-  /* function are within a single module directory.                     */
-  /*                                                                    */
-  /* Intra-module arrays should be tagged with FT_LOCAL_ARRAY and       */
-  /* FT_LOCAL_ARRAY_DEF.                                                */
-  /*                                                                    */
+  /* Use `FT_LOCAL` and `FT_LOCAL_DEF` to declare and define,            */
+  /* respectively, a function that gets used only within the scope of a  */
+  /* module.  Normally, both the header and source code files for such a */
+  /* function are within a single module directory.                      */
+  /*                                                                     */
+  /* Intra-module arrays should be tagged with `FT_LOCAL_ARRAY` and      */
+  /* `FT_LOCAL_ARRAY_DEF`.                                               */
+  /*                                                                     */
 #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
 
 #define FT_LOCAL( x )      static  x
@@ -378,12 +373,12 @@
 #define FT_LOCAL_ARRAY_DEF( x )  const  x
 
 
-  /* Use FT_BASE and FT_BASE_DEF to declare and define, respectively, */
-  /* functions that are used in more than a single module.  In the    */
-  /* current setup this implies that the declaration is in a header   */
-  /* file in the `include/freetype/internal' directory, and the       */
-  /* function body is in a file in `src/base'.                        */
-  /*                                                                  */
+  /* Use `FT_BASE` and `FT_BASE_DEF` to declare and define, respectively, */
+  /* functions that are used in more than a single module.  In the        */
+  /* current setup this implies that the declaration is in a header file  */
+  /* in the `include/freetype/internal` directory, and the function body  */
+  /* is in a file in `src/base`.                                          */
+  /*                                                                      */
 #ifndef FT_BASE
 
 #ifdef __cplusplus
@@ -406,37 +401,40 @@
 #endif /* !FT_BASE_DEF */
 
 
-  /*   When compiling FreeType as a DLL or DSO with hidden visibility      */
-  /*   some systems/compilers need a special attribute in front OR after   */
-  /*   the return type of function declarations.                           */
-  /*                                                                       */
-  /*   Two macros are used within the FreeType source code to define       */
-  /*   exported library functions: FT_EXPORT and FT_EXPORT_DEF.            */
-  /*                                                                       */
-  /*     FT_EXPORT( return_type )                                          */
-  /*                                                                       */
-  /*       is used in a function declaration, as in                        */
-  /*                                                                       */
-  /*         FT_EXPORT( FT_Error )                                         */
-  /*         FT_Init_FreeType( FT_Library*  alibrary );                    */
-  /*                                                                       */
-  /*                                                                       */
-  /*     FT_EXPORT_DEF( return_type )                                      */
-  /*                                                                       */
-  /*       is used in a function definition, as in                         */
-  /*                                                                       */
-  /*         FT_EXPORT_DEF( FT_Error )                                     */
-  /*         FT_Init_FreeType( FT_Library*  alibrary )                     */
-  /*         {                                                             */
-  /*           ... some code ...                                           */
-  /*           return FT_Err_Ok;                                           */
-  /*         }                                                             */
-  /*                                                                       */
-  /*   You can provide your own implementation of FT_EXPORT and            */
-  /*   FT_EXPORT_DEF here if you want.                                     */
-  /*                                                                       */
-  /*   To export a variable, use FT_EXPORT_VAR.                            */
-  /*                                                                       */
+  /* When compiling FreeType as a DLL or DSO with hidden visibility    */
+  /* some systems/compilers need a special attribute in front OR after */
+  /* the return type of function declarations.                         */
+  /*                                                                   */
+  /* Two macros are used within the FreeType source code to define     */
+  /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`.      */
+  /*                                                                   */
+  /* - `FT_EXPORT( return_type )`                                      */
+  /*                                                                   */
+  /*   is used in a function declaration, as in                        */
+  /*                                                                   */
+  /*   ```                                                             */
+  /*     FT_EXPORT( FT_Error )                                         */
+  /*     FT_Init_FreeType( FT_Library*  alibrary );                    */
+  /*   ```                                                             */
+  /*                                                                   */
+  /* - `FT_EXPORT_DEF( return_type )`                                  */
+  /*                                                                   */
+  /*   is used in a function definition, as in                         */
+  /*                                                                   */
+  /*   ```                                                             */
+  /*     FT_EXPORT_DEF( FT_Error )                                     */
+  /*     FT_Init_FreeType( FT_Library*  alibrary )                     */
+  /*     {                                                             */
+  /*       ... some code ...                                           */
+  /*       return FT_Err_Ok;                                           */
+  /*     }                                                             */
+  /*   ```                                                             */
+  /*                                                                   */
+  /* You can provide your own implementation of `FT_EXPORT` and        */
+  /* `FT_EXPORT_DEF` here if you want.                                 */
+  /*                                                                   */
+  /* To export a variable, use `FT_EXPORT_VAR`.                        */
+  /*                                                                   */
 #ifndef FT_EXPORT
 
 #ifdef FT2_BUILD_LIBRARY
@@ -489,11 +487,12 @@
 
 #endif /* !FT_EXPORT_VAR */
 
+
   /* The following macros are needed to compile the library with a   */
   /* C++ compiler and with 16bit compilers.                          */
   /*                                                                 */
 
-  /* This is special.  Within C++, you must specify `extern "C"' for */
+  /* This is special.  Within C++, you must specify `extern "C"` for */
   /* functions which are used via function pointers, and you also    */
   /* must do that for structures which contain function pointers to  */
   /* assure C linkage -- it's not possible to have (local) anonymous */
@@ -516,7 +515,7 @@
   /*                                                                 */
   /*                                                                 */
   /* Some 16bit compilers have to redefine these macros to insert    */
-  /* the infamous `_cdecl' or `__fastcall' declarations.             */
+  /* the infamous `_cdecl` or `__fastcall` declarations.             */
   /*                                                                 */
 #ifndef FT_CALLBACK_DEF
 #ifdef __cplusplus
diff --git a/builds/vms/ftsystem.c b/builds/vms/ftsystem.c
index 7d79f9a..af6fe46 100644
--- a/builds/vms/ftsystem.c
+++ b/builds/vms/ftsystem.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    VMS-specific FreeType low-level system interface (body).             */
 /*                                                                         */
-/*  Copyright 1996-2018 by                                                 */
+/*  Copyright (C) 1996-2019 by                                             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -172,7 +172,7 @@
   /* messages during execution.                                            */
   /*                                                                       */
 #undef  FT_COMPONENT
-#define FT_COMPONENT  trace_io
+#define FT_COMPONENT  io
 
   /* We use the macro STREAM_FILE for convenience to extract the       */
   /* system-specific stream handle from a given FreeType stream object */
diff --git a/builds/vms/vmslib.dat b/builds/vms/vmslib.dat
new file mode 100644
index 0000000..4c817da
--- /dev/null
+++ b/builds/vms/vmslib.dat
@@ -0,0 +1,28 @@
+!
+! This is a simple driver file with information used by make.com to
+! check if external libraries (like t1lib and freetype) are available on
+! the system.
+!
+! Layout of the file:
+!
+!    - Lines starting with ! are treated as comments
+!    - Elements in a data line are separated by # signs
+!    - The elements need to be listed in the following order
+!      1.) Name of the Library 
+!      2.) Location where the object library can be found
+!      3.) Location where the include files for the library can be found
+!      4.) Include file used to verify library location
+!      5.) CPP define to pass to the build to indicate availability of
+!          the library
+!
+! Example: The following  lines show how definitions
+!          might look like. They are site specific and the locations of the
+!          library and include files need almost certainly to be changed.
+!
+! Location: All of the libaries can be found at the following addresses
+!
+!   ZLIB:     http://www.decus.de:8080/www/vms/sw/zlib.htmlx
+!
+BZ2LIB # sys$library:libbz2.olb # decc$user_include: # bzlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB
+PNGLIB # sys$library:libpng.olb # sys$library: # png.h # FT_CONFIG_OPTION_SYSTEM_ZLIB
+ZLIB # sys$library:libz.olb # sys$library: # zlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB
diff --git a/builds/wince/ftdebug.c b/builds/wince/ftdebug.c
index 83c5f44..d0ca999 100644
--- a/builds/wince/ftdebug.c
+++ b/builds/wince/ftdebug.c
@@ -1,53 +1,53 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftdebug.c                                                              */
-/*                                                                         */
-/*    Debugging and logging component for WinCE (body).                    */
-/*                                                                         */
-/*  Copyright 1996-2018 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.                                        */
-/*                                                                         */
-/***************************************************************************/
+/****************************************************************************
+ *
+ * ftdebug.c
+ *
+ *   Debugging and logging component for WinCE (body).
+ *
+ * Copyright (C) 1996-2019 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.
+ *
+ */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* This component contains various macros and functions used to ease the */
-  /* debugging of the FreeType engine.  Its main purpose is in assertion   */
-  /* checking, tracing, and error detection.                               */
-  /*                                                                       */
-  /* There are now three debugging modes:                                  */
-  /*                                                                       */
-  /* - trace mode                                                          */
-  /*                                                                       */
-  /*   Error and trace messages are sent to the log file (which can be the */
-  /*   standard error output).                                             */
-  /*                                                                       */
-  /* - error mode                                                          */
-  /*                                                                       */
-  /*   Only error messages are generated.                                  */
-  /*                                                                       */
-  /* - release mode:                                                       */
-  /*                                                                       */
-  /*   No error message is sent or generated.  The code is free from any   */
-  /*   debugging parts.                                                    */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * This component contains various macros and functions used to ease the
+   * debugging of the FreeType engine.  Its main purpose is in assertion
+   * checking, tracing, and error detection.
+   *
+   * There are now three debugging modes:
+   *
+   * - trace mode
+   *
+   *   Error and trace messages are sent to the log file (which can be the
+   *   standard error output).
+   *
+   * - error mode
+   *
+   *   Only error messages are generated.
+   *
+   * - release mode:
+   *
+   *   No error message is sent or generated.  The code is free from any
+   *   debugging parts.
+   *
+   */
 
 
 #include <ft2build.h>
+#include FT_FREETYPE_H
 #include FT_INTERNAL_DEBUG_H
 
 
 #ifdef FT_DEBUG_LEVEL_ERROR
 
-
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
@@ -55,14 +55,15 @@
 #include <windows.h>
 
 
-  void
+  static void
   OutputDebugStringEx( const char*  str )
   {
     static WCHAR  buf[8192];
 
+    int  sz = MultiByteToWideChar( CP_ACP, 0, str, -1, buf,
+                                   sizeof ( buf ) / sizeof ( *buf ) );
 
-    int sz = MultiByteToWideChar( CP_ACP, 0, str, -1, buf,
-                                  sizeof ( buf ) / sizeof ( *buf ) );
+
     if ( !sz )
       lstrcpyW( buf, L"OutputDebugStringEx: MultiByteToWideChar failed" );
 
@@ -70,6 +71,8 @@
   }
 
 
+  /* documentation is in ftdebug.h */
+
   FT_BASE_DEF( void )
   FT_Message( const char*  fmt,
               ... )
@@ -87,6 +90,8 @@
   }
 
 
+  /* documentation is in ftdebug.h */
+
   FT_BASE_DEF( void )
   FT_Panic( const char*  fmt,
             ... )
@@ -111,18 +116,38 @@
             int          line,
             const char*  file )
   {
+#if 0
+    /* activating the code in this block makes FreeType very chatty */
+    fprintf( stderr,
+             "%s:%d: error 0x%02x: %s\n",
+             file,
+             line,
+             error,
+             FT_Error_String( error ) );
+#else
     FT_UNUSED( error );
     FT_UNUSED( line );
     FT_UNUSED( file );
+#endif
 
     return 0;
   }
 
+#endif /* FT_DEBUG_LEVEL_ERROR */
+
+
 #ifdef FT_DEBUG_LEVEL_TRACE
 
+  /* array of trace levels, initialized to 0; */
+  /* this gets adjusted at run-time           */
+  static int  ft_trace_levels_enabled[trace_count];
 
-  /* array of trace levels, initialized to 0 */
-  int  ft_trace_levels[trace_count];
+  /* array of trace levels, always initialized to 0 */
+  static int  ft_trace_levels_disabled[trace_count];
+
+  /* a pointer to either `ft_trace_levels_enabled' */
+  /* or `ft_trace_levels_disabled'                 */
+  int*  ft_trace_levels;
 
   /* define array of trace toggle names */
 #define FT_TRACE_DEF( x )  #x ,
@@ -136,24 +161,66 @@
 #undef FT_TRACE_DEF
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Initialize the tracing sub-system.  This is done by retrieving the    */
-  /* value of the "FT2_DEBUG" environment variable.  It must be a list of  */
-  /* toggles, separated by spaces, `;' or `,'.  Example:                   */
-  /*                                                                       */
-  /*    "any:3 memory:6 stream:5"                                          */
-  /*                                                                       */
-  /* This will request that all levels be set to 3, except the trace level */
-  /* for the memory and stream components which are set to 6 and 5,        */
-  /* respectively.                                                         */
-  /*                                                                       */
-  /* See the file `include/freetype/internal/fttrace.h' for details of the */
-  /* available toggle names.                                               */
-  /*                                                                       */
-  /* The level must be between 0 and 6; 0 means quiet (except for serious  */
-  /* runtime errors), and 6 means _very_ verbose.                          */
-  /*                                                                       */
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( FT_Int )
+  FT_Trace_Get_Count( void )
+  {
+    return trace_count;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( const char * )
+  FT_Trace_Get_Name( FT_Int  idx )
+  {
+    int  max = FT_Trace_Get_Count();
+
+
+    if ( idx < max )
+      return ft_trace_toggles[idx];
+    else
+      return NULL;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Disable( void )
+  {
+    ft_trace_levels = ft_trace_levels_disabled;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Enable( void )
+  {
+    ft_trace_levels = ft_trace_levels_enabled;
+  }
+
+
+  /**************************************************************************
+   *
+   * Initialize the tracing sub-system.  This is done by retrieving the
+   * value of the `FT2_DEBUG' environment variable.  It must be a list of
+   * toggles, separated by spaces, `;', or `,'.  Example:
+   *
+   *   export FT2_DEBUG="any:3 memory:7 stream:5"
+   *
+   * This requests that all levels be set to 3, except the trace level for
+   * the memory and stream components which are set to 7 and 5,
+   * respectively.
+   *
+   * See the file `include/freetype/internal/fttrace.h' for details of
+   * the available toggle names.
+   *
+   * The level must be between 0 and 7; 0 means quiet (except for serious
+   * runtime errors), and 7 means _very_ verbose.
+   */
   FT_BASE_DEF( void )
   ft_debug_init( void )
   {
@@ -189,8 +256,8 @@
 
         if ( *p == ':' && p > q )
         {
-          int  n, i, len = (int)( p - q );
-          int  level = -1, found = -1;
+          FT_Int  n, i, len = (FT_Int)( p - q );
+          FT_Int  level = -1, found = -1;
 
 
           for ( n = 0; n < trace_count; n++ )
@@ -224,16 +291,18 @@
           {
             if ( found == trace_any )
             {
-              /* special case for "any" */
+              /* special case for `any' */
               for ( n = 0; n < trace_count; n++ )
-                ft_trace_levels[n] = level;
+                ft_trace_levels_enabled[n] = level;
             }
             else
-              ft_trace_levels[found] = level;
+              ft_trace_levels_enabled[found] = level;
           }
         }
       }
     }
+
+    ft_trace_levels = ft_trace_levels_enabled;
   }
 
 
@@ -247,9 +316,39 @@
   }
 
 
-#endif /* !FT_DEBUG_LEVEL_TRACE */
+  FT_BASE_DEF( FT_Int )
+  FT_Trace_Get_Count( void )
+  {
+    return 0;
+  }
 
-#endif /* FT_DEBUG_LEVEL_ERROR */
+
+  FT_BASE_DEF( const char * )
+  FT_Trace_Get_Name( FT_Int  idx )
+  {
+    FT_UNUSED( idx );
+
+    return NULL;
+  }
+
+
+  FT_BASE_DEF( void )
+  FT_Trace_Disable( void )
+  {
+    /* nothing */
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Enable( void )
+  {
+    /* nothing */
+  }
+
+
+#endif /* !FT_DEBUG_LEVEL_TRACE */
 
 
 /* END */
diff --git a/builds/wince/vc2005-ce/freetype.vcproj b/builds/wince/vc2005-ce/freetype.vcproj
index 1ca45a8..de556aa 100644
--- a/builds/wince/vc2005-ce/freetype.vcproj
+++ b/builds/wince/vc2005-ce/freetype.vcproj
@@ -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\freetype291.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101.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\freetype291.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101.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\freetype291.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101.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\freetype291.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101.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\freetype291.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101.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\freetype291.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101.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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291ST.lib" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST.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\freetype291ST.lib" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST.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\freetype291ST.lib" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST.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\freetype291ST.lib" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST.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\freetype291ST.lib" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST.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\freetype291ST.lib" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST.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\freetype291_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101_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\freetype291_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101_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\freetype291_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101_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\freetype291_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101_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\freetype291_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101_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\freetype291_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101_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\freetype291ST_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST_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\freetype291ST_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST_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\freetype291ST_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST_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\freetype291ST_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST_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\freetype291ST_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST_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\freetype291ST_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101ST_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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_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\freetype291MT.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT.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\freetype291MT_D.lib" SuppressStartupBanner="true" />

+      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype2101MT_D.lib" SuppressStartupBanner="true" />

       <Tool Name="VCALinkTool" />

       <Tool Name="VCXDCMakeTool" />

       <Tool Name="VCBscMakeTool" />

diff --git a/builds/wince/vc2005-ce/index.html b/builds/wince/vc2005-ce/index.html
index 02a1caf..16a1062 100644
--- a/builds/wince/vc2005-ce/index.html
+++ b/builds/wince/vc2005-ce/index.html
@@ -21,21 +21,21 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.9.1 sources:</p>
+It compiles the following libraries from the FreeType 2.10.1 sources:</p>
 
 <ul>
   <pre>
-    freetype291.lib     - release build; single threaded
-    freetype291_D.lib   - debug build;   single threaded
-    freetype291MT.lib   - release build; multi-threaded
-    freetype291MT_D.lib - debug build;   multi-threaded</pre>
+    freetype2101.lib     - release build; single threaded
+    freetype2101_D.lib   - debug build;   single threaded
+    freetype2101MT.lib   - release build; multi-threaded
+    freetype2101MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
 archives are already stored this way, so no further action is required.  If
 you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
 tool to convert the line endings.  For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+href="https://www.winzip.com">WinZip</a>, you should activate the <em>TAR
 file smart CR/LF Conversion</em> option.  Alternatively, you may consider
 using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
 around, which specifically deal with this particular problem.
diff --git a/builds/wince/vc2008-ce/freetype.vcproj b/builds/wince/vc2008-ce/freetype.vcproj
index 7a5445e..f9479da 100644
--- a/builds/wince/vc2008-ce/freetype.vcproj
+++ b/builds/wince/vc2008-ce/freetype.vcproj
@@ -88,7 +88,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -177,7 +177,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -266,7 +266,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -355,7 +355,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -444,7 +444,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -533,7 +533,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -621,7 +621,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -709,7 +709,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -797,7 +797,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -885,7 +885,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -973,7 +973,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1061,7 +1061,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1149,7 +1149,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1236,7 +1236,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1323,7 +1323,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1410,7 +1410,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1497,7 +1497,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1584,7 +1584,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1668,7 +1668,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1753,7 +1753,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1838,7 +1838,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1923,7 +1923,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2008,7 +2008,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2093,7 +2093,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2178,7 +2178,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2263,7 +2263,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2348,7 +2348,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2433,7 +2433,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2518,7 +2518,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2603,7 +2603,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2689,7 +2689,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2775,7 +2775,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2861,7 +2861,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2947,7 +2947,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3033,7 +3033,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3119,7 +3119,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3205,7 +3205,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3279,7 +3279,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\wince\vc2008-ce\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

diff --git a/builds/wince/vc2008-ce/index.html b/builds/wince/vc2008-ce/index.html
index f7a3583..9d71b09 100644
--- a/builds/wince/vc2008-ce/index.html
+++ b/builds/wince/vc2008-ce/index.html
@@ -21,21 +21,21 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.9.1 sources:</p>
+It compiles the following libraries from the FreeType 2.10.1 sources:</p>
 
 <ul>
   <pre>
-    freetype291.lib     - release build; single threaded
-    freetype291_D.lib   - debug build;   single threaded
-    freetype291MT.lib   - release build; multi-threaded
-    freetype291MT_D.lib - debug build;   multi-threaded</pre>
+    freetype2101.lib     - release build; single threaded
+    freetype2101_D.lib   - debug build;   single threaded
+    freetype2101MT.lib   - release build; multi-threaded
+    freetype2101MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
 archives are already stored this way, so no further action is required.  If
 you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
 tool to convert the line endings.  For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+href="https://www.winzip.com">WinZip</a>, you should activate the <em>TAR
 file smart CR/LF Conversion</em> option.  Alternatively, you may consider
 using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
 around, which specifically deal with this particular problem.
diff --git a/builds/windows/detect.mk b/builds/windows/detect.mk
index 05b0e6a..351e256 100644
--- a/builds/windows/detect.mk
+++ b/builds/windows/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/ftdebug.c b/builds/windows/ftdebug.c
index ec70a0e..7c47fb5 100644
--- a/builds/windows/ftdebug.c
+++ b/builds/windows/ftdebug.c
@@ -1,47 +1,48 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftdebug.c                                                              */
-/*                                                                         */
-/*    Debugging and logging component for Win32 (body).                    */
-/*                                                                         */
-/*  Copyright 1996-2018 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.                                        */
-/*                                                                         */
-/***************************************************************************/
+/****************************************************************************
+ *
+ * ftdebug.c
+ *
+ *   Debugging and logging component for Win32 (body).
+ *
+ * Copyright (C) 1996-2019 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.
+ *
+ */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* This component contains various macros and functions used to ease the */
-  /* debugging of the FreeType engine.  Its main purpose is in assertion   */
-  /* checking, tracing, and error detection.                               */
-  /*                                                                       */
-  /* There are now three debugging modes:                                  */
-  /*                                                                       */
-  /* - trace mode                                                          */
-  /*                                                                       */
-  /*   Error and trace messages are sent to the log file (which can be the */
-  /*   standard error output).                                             */
-  /*                                                                       */
-  /* - error mode                                                          */
-  /*                                                                       */
-  /*   Only error messages are generated.                                  */
-  /*                                                                       */
-  /* - release mode:                                                       */
-  /*                                                                       */
-  /*   No error message is sent or generated.  The code is free from any   */
-  /*   debugging parts.                                                    */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * This component contains various macros and functions used to ease the
+   * debugging of the FreeType engine.  Its main purpose is in assertion
+   * checking, tracing, and error detection.
+   *
+   * There are now three debugging modes:
+   *
+   * - trace mode
+   *
+   *   Error and trace messages are sent to the log file (which can be the
+   *   standard error output).
+   *
+   * - error mode
+   *
+   *   Only error messages are generated.
+   *
+   * - release mode:
+   *
+   *   No error message is sent or generated.  The code is free from any
+   *   debugging parts.
+   *
+   */
 
 
 #include <ft2build.h>
+#include FT_FREETYPE_H
 #include FT_INTERNAL_DEBUG_H
 
 
@@ -99,19 +100,38 @@
             int          line,
             const char*  file )
   {
+#if 0
+    /* activating the code in this block makes FreeType very chatty */
+    fprintf( stderr,
+             "%s:%d: error 0x%02x: %s\n",
+             file,
+             line,
+             error,
+             FT_Error_String( error ) );
+#else
     FT_UNUSED( error );
     FT_UNUSED( line );
     FT_UNUSED( file );
+#endif
 
     return 0;
   }
 
+#endif /* FT_DEBUG_LEVEL_ERROR */
+
 
 #ifdef FT_DEBUG_LEVEL_TRACE
 
+  /* array of trace levels, initialized to 0; */
+  /* this gets adjusted at run-time           */
+  static int  ft_trace_levels_enabled[trace_count];
 
-  /* array of trace levels, initialized to 0 */
-  int  ft_trace_levels[trace_count];
+  /* array of trace levels, always initialized to 0 */
+  static int  ft_trace_levels_disabled[trace_count];
+
+  /* a pointer to either `ft_trace_levels_enabled' */
+  /* or `ft_trace_levels_disabled'                 */
+  int*  ft_trace_levels;
 
   /* define array of trace toggle names */
 #define FT_TRACE_DEF( x )  #x ,
@@ -125,24 +145,66 @@
 #undef FT_TRACE_DEF
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Initialize the tracing sub-system.  This is done by retrieving the    */
-  /* value of the "FT2_DEBUG" environment variable.  It must be a list of  */
-  /* toggles, separated by spaces, `;' or `,'.  Example:                   */
-  /*                                                                       */
-  /*    "any:3 memory:6 stream:5"                                          */
-  /*                                                                       */
-  /* This will request that all levels be set to 3, except the trace level */
-  /* for the memory and stream components which are set to 6 and 5,        */
-  /* respectively.                                                         */
-  /*                                                                       */
-  /* See the file `include/freetype/internal/fttrace.h' for details of the */
-  /* available toggle names.                                               */
-  /*                                                                       */
-  /* The level must be between 0 and 6; 0 means quiet (except for serious  */
-  /* runtime errors), and 6 means _very_ verbose.                          */
-  /*                                                                       */
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( FT_Int )
+  FT_Trace_Get_Count( void )
+  {
+    return trace_count;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( const char * )
+  FT_Trace_Get_Name( FT_Int  idx )
+  {
+    int  max = FT_Trace_Get_Count();
+
+
+    if ( idx < max )
+      return ft_trace_toggles[idx];
+    else
+      return NULL;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Disable( void )
+  {
+    ft_trace_levels = ft_trace_levels_disabled;
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Enable( void )
+  {
+    ft_trace_levels = ft_trace_levels_enabled;
+  }
+
+
+  /**************************************************************************
+   *
+   * Initialize the tracing sub-system.  This is done by retrieving the
+   * value of the `FT2_DEBUG' environment variable.  It must be a list of
+   * toggles, separated by spaces, `;', or `,'.  Example:
+   *
+   *   export FT2_DEBUG="any:3 memory:7 stream:5"
+   *
+   * This requests that all levels be set to 3, except the trace level for
+   * the memory and stream components which are set to 7 and 5,
+   * respectively.
+   *
+   * See the file `include/freetype/internal/fttrace.h' for details of
+   * the available toggle names.
+   *
+   * The level must be between 0 and 7; 0 means quiet (except for serious
+   * runtime errors), and 7 means _very_ verbose.
+   */
   FT_BASE_DEF( void )
   ft_debug_init( void )
   {
@@ -171,8 +233,8 @@
 
         if ( *p == ':' && p > q )
         {
-          int  n, i, len = (int)( p - q );
-          int  level = -1, found = -1;
+          FT_Int  n, i, len = (FT_Int)( p - q );
+          FT_Int  level = -1, found = -1;
 
 
           for ( n = 0; n < trace_count; n++ )
@@ -206,16 +268,18 @@
           {
             if ( found == trace_any )
             {
-              /* special case for "any" */
+              /* special case for `any' */
               for ( n = 0; n < trace_count; n++ )
-                ft_trace_levels[n] = level;
+                ft_trace_levels_enabled[n] = level;
             }
             else
-              ft_trace_levels[found] = level;
+              ft_trace_levels_enabled[found] = level;
           }
         }
       }
     }
+
+    ft_trace_levels = ft_trace_levels_enabled;
   }
 
 
@@ -229,9 +293,39 @@
   }
 
 
-#endif /* !FT_DEBUG_LEVEL_TRACE */
+  FT_BASE_DEF( FT_Int )
+  FT_Trace_Get_Count( void )
+  {
+    return 0;
+  }
 
-#endif /* FT_DEBUG_LEVEL_ERROR */
+
+  FT_BASE_DEF( const char * )
+  FT_Trace_Get_Name( FT_Int  idx )
+  {
+    FT_UNUSED( idx );
+
+    return NULL;
+  }
+
+
+  FT_BASE_DEF( void )
+  FT_Trace_Disable( void )
+  {
+    /* nothing */
+  }
+
+
+  /* documentation is in ftdebug.h */
+
+  FT_BASE_DEF( void )
+  FT_Trace_Enable( void )
+  {
+    /* nothing */
+  }
+
+
+#endif /* !FT_DEBUG_LEVEL_TRACE */
 
 
 /* END */
diff --git a/builds/windows/vc2005/freetype.sln b/builds/windows/vc2005/freetype.sln
deleted file mode 100644
index ec3345d..0000000
--- a/builds/windows/vc2005/freetype.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00

-# Visual Studio 2005

-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"

-EndProject

-Global

-	GlobalSection(SolutionConfigurationPlatforms) = preSolution

-		LIB Debug Multithreaded|Win32 = LIB Debug Multithreaded|Win32

-		LIB Debug Singlethreaded|Win32 = LIB Debug Singlethreaded|Win32

-		LIB Debug|Win32 = LIB Debug|Win32

-		LIB Release Multithreaded|Win32 = LIB Release Multithreaded|Win32

-		LIB Release Singlethreaded|Win32 = LIB Release Singlethreaded|Win32

-		LIB Release|Win32 = LIB Release|Win32

-	EndGlobalSection

-	GlobalSection(ProjectConfigurationPlatforms) = postSolution

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.ActiveCfg = Debug|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.Build.0 = Debug|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.ActiveCfg = Release|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.Build.0 = Release|Win32

-	EndGlobalSection

-	GlobalSection(SolutionProperties) = preSolution

-		HideSolutionNode = FALSE

-	EndGlobalSection

-EndGlobal

diff --git a/builds/windows/vc2005/freetype.vcproj b/builds/windows/vc2005/freetype.vcproj
deleted file mode 100644
index b1e2ae6..0000000
--- a/builds/windows/vc2005/freetype.vcproj
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>

-<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="freetype" ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" TargetFrameworkVersion="131072">

-  <Platforms>

-    <Platform Name="Win32" />

-  </Platforms>

-  <ToolFiles>

-  </ToolFiles>

-  <Configurations>

-    <Configuration Name="Release|Win32" OutputDirectory=".\..\..\..\objs\release" IntermediateDirectory=".\..\..\..\objs\release" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">

-      <Tool Name="VCPreBuildEventTool" />

-      <Tool Name="VCCustomBuildTool" />

-      <Tool Name="VCXMLDataGeneratorTool" />

-      <Tool Name="VCWebServiceProxyGeneratorTool" />

-      <Tool Name="VCMIDLTool" />

-      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />

-      <Tool Name="VCManagedResourceCompilerTool" />

-      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />

-      <Tool Name="VCPreLinkEventTool" />

-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype291.lib" SuppressStartupBanner="true" />

-      <Tool Name="VCALinkTool" />

-      <Tool Name="VCXDCMakeTool" />

-      <Tool Name="VCBscMakeTool" />

-      <Tool Name="VCFxCopTool" />

-      <Tool Name="VCPostBuildEventTool" />

-    </Configuration>

-    <Configuration Name="Release Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\release_mt" IntermediateDirectory=".\..\..\..\objs\release_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">

-      <Tool Name="VCPreBuildEventTool" />

-      <Tool Name="VCCustomBuildTool" />

-      <Tool Name="VCXMLDataGeneratorTool" />

-      <Tool Name="VCWebServiceProxyGeneratorTool" />

-      <Tool Name="VCMIDLTool" />

-      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />

-      <Tool Name="VCManagedResourceCompilerTool" />

-      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />

-      <Tool Name="VCPreLinkEventTool" />

-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype291MT.lib" SuppressStartupBanner="true" />

-      <Tool Name="VCALinkTool" />

-      <Tool Name="VCXDCMakeTool" />

-      <Tool Name="VCBscMakeTool" />

-      <Tool Name="VCFxCopTool" />

-      <Tool Name="VCPostBuildEventTool" />

-    </Configuration>

-    <Configuration Name="Release Singlethreaded|Win32" OutputDirectory=".\..\..\..\objs\release_st" IntermediateDirectory=".\..\..\..\objs\release_st" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">

-      <Tool Name="VCPreBuildEventTool" />

-      <Tool Name="VCCustomBuildTool" />

-      <Tool Name="VCXMLDataGeneratorTool" />

-      <Tool Name="VCWebServiceProxyGeneratorTool" />

-      <Tool Name="VCMIDLTool" />

-      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />

-      <Tool Name="VCManagedResourceCompilerTool" />

-      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />

-      <Tool Name="VCPreLinkEventTool" />

-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype291ST.lib" />

-      <Tool Name="VCALinkTool" />

-      <Tool Name="VCXDCMakeTool" />

-      <Tool Name="VCBscMakeTool" />

-      <Tool Name="VCFxCopTool" />

-      <Tool Name="VCPostBuildEventTool" />

-    </Configuration>

-    <Configuration Name="Debug|Win32" OutputDirectory=".\..\..\..\objs\debug" IntermediateDirectory=".\..\..\..\objs\debug" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">

-      <Tool Name="VCPreBuildEventTool" />

-      <Tool Name="VCCustomBuildTool" />

-      <Tool Name="VCXMLDataGeneratorTool" />

-      <Tool Name="VCWebServiceProxyGeneratorTool" />

-      <Tool Name="VCMIDLTool" />

-      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" BasicRuntimeChecks="3" RuntimeLibrary="3" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />

-      <Tool Name="VCManagedResourceCompilerTool" />

-      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />

-      <Tool Name="VCPreLinkEventTool" />

-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype291_D.lib" SuppressStartupBanner="true" />

-      <Tool Name="VCALinkTool" />

-      <Tool Name="VCXDCMakeTool" />

-      <Tool Name="VCBscMakeTool" />

-      <Tool Name="VCFxCopTool" />

-      <Tool Name="VCPostBuildEventTool" />

-    </Configuration>

-    <Configuration Name="Debug Singlethreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_st" IntermediateDirectory=".\..\..\..\objs\debug_st" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">

-      <Tool Name="VCPreBuildEventTool" />

-      <Tool Name="VCCustomBuildTool" />

-      <Tool Name="VCXMLDataGeneratorTool" />

-      <Tool Name="VCWebServiceProxyGeneratorTool" />

-      <Tool Name="VCMIDLTool" />

-      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />

-      <Tool Name="VCManagedResourceCompilerTool" />

-      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />

-      <Tool Name="VCPreLinkEventTool" />

-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype291ST_D.lib" SuppressStartupBanner="true" />

-      <Tool Name="VCALinkTool" />

-      <Tool Name="VCXDCMakeTool" />

-      <Tool Name="VCBscMakeTool" />

-      <Tool Name="VCFxCopTool" />

-      <Tool Name="VCPostBuildEventTool" />

-    </Configuration>

-    <Configuration Name="Debug Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_mt" IntermediateDirectory=".\..\..\..\objs\debug_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">

-      <Tool Name="VCPreBuildEventTool" />

-      <Tool Name="VCCustomBuildTool" />

-      <Tool Name="VCXMLDataGeneratorTool" />

-      <Tool Name="VCWebServiceProxyGeneratorTool" />

-      <Tool Name="VCMIDLTool" />

-      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />

-      <Tool Name="VCManagedResourceCompilerTool" />

-      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />

-      <Tool Name="VCPreLinkEventTool" />

-      <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype291MT_D.lib" SuppressStartupBanner="true" />

-      <Tool Name="VCALinkTool" />

-      <Tool Name="VCXDCMakeTool" />

-      <Tool Name="VCBscMakeTool" />

-      <Tool Name="VCFxCopTool" />

-      <Tool Name="VCPostBuildEventTool" />

-    </Configuration>

-  </Configurations>

-  <References>

-  </References>

-  <Files>

-    <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">

-      <File RelativePath="..\..\..\src\autofit\autofit.c">

-      </File>

-      <File RelativePath="..\..\..\src\bdf\bdf.c">

-      </File>

-      <File RelativePath="..\..\..\src\cff\cff.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftbase.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftbitmap.c">

-      </File>

-      <File RelativePath="..\..\..\src\cache\ftcache.c">

-      </File>

-      <File RelativePath="..\ftdebug.c">

-        <FileConfiguration>

-          <Tool Name="VCCLCompilerTool" DisableLanguageExtensions="false" />

-        </FileConfiguration>

-      </File>

-      <File RelativePath="..\..\..\src\base\ftfstype.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftgasp.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftglyph.c">

-      </File>

-      <File RelativePath="..\..\..\src\gzip\ftgzip.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftinit.c">

-      </File>

-      <File RelativePath="..\..\..\src\lzw\ftlzw.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftstroke.c">

-      </File>

-      <File RelativePath="..\..\..\src\base\ftsystem.c">

-      </File>

-      <File RelativePath="..\..\..\src\smooth\smooth.c">

-      </File>

-      <Filter Name="FT_MODULES">

-        <File RelativePath="..\..\..\src\base\ftbdf.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftbbox.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftcid.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftmm.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftpfr.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftsynth.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\fttype1.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftwinfnt.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftgxval.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftotval.c">

-        </File>

-        <File RelativePath="..\..\..\src\base\ftpatent.c">

-        </File>

-        <File RelativePath="..\..\..\src\pcf\pcf.c">

-        </File>

-        <File RelativePath="..\..\..\src\pfr\pfr.c">

-        </File>

-        <File RelativePath="..\..\..\src\psaux\psaux.c">

-        </File>

-        <File RelativePath="..\..\..\src\pshinter\pshinter.c">

-        </File>

-        <File RelativePath="..\..\..\src\psnames\psmodule.c">

-        </File>

-        <File RelativePath="..\..\..\src\raster\raster.c">

-        </File>

-        <File RelativePath="..\..\..\src\sfnt\sfnt.c">

-        </File>

-        <File RelativePath="..\..\..\src\truetype\truetype.c">

-        </File>

-        <File RelativePath="..\..\..\src\type1\type1.c">

-        </File>

-        <File RelativePath="..\..\..\src\cid\type1cid.c">

-        </File>

-        <File RelativePath="..\..\..\src\type42\type42.c">

-        </File>

-        <File RelativePath="..\..\..\src\winfonts\winfnt.c">

-        </File>

-      </Filter>

-    </Filter>

-    <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl">

-      <File RelativePath="..\..\..\include\ft2build.h">

-      </File>

-      <File RelativePath="..\..\..\include\freetype\config\ftconfig.h">

-      </File>

-      <File RelativePath="..\..\..\include\freetype\config\ftheader.h">

-      </File>

-      <File RelativePath="..\..\..\include\freetype\config\ftmodule.h">

-      </File>

-      <File RelativePath="..\..\..\include\freetype\config\ftoption.h">

-      </File>

-      <File RelativePath="..\..\..\include\freetype\config\ftstdlib.h">

-      </File>

-    </Filter>

-  </Files>

-  <Globals>

-  </Globals>

-</VisualStudioProject>

diff --git a/builds/windows/vc2005/index.html b/builds/windows/vc2005/index.html
deleted file mode 100644
index c5e182e..0000000
--- a/builds/windows/vc2005/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html>
-<header>
-<title>
-  FreeType&nbsp;2 Project Files for VS.NET&nbsp;2005
-</title>
-
-<body>
-<h1>
-  FreeType&nbsp;2 Project Files for VS.NET&nbsp;2005
-</h1>
-
-<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.9.1 sources:</p>
-
-<ul>
-  <pre>
-    freetype291.lib     - release build; single threaded
-    freetype291_D.lib   - debug build;   single threaded
-    freetype291MT.lib   - release build; multi-threaded
-    freetype291MT_D.lib - debug build;   multi-threaded</pre>
-</ul>
-
-<p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
-archives are already stored this way, so no further action is required.  If
-you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
-tool to convert the line endings.  For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
-file smart CR/LF Conversion</em> option.  Alternatively, you may consider
-using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
-around, which specifically deal with this particular problem.
-
-<p>Build directories are placed in the top-level <tt>objs</tt>
-directory.</p>
-
-</body>
-</html>
diff --git a/builds/windows/vc2008/freetype.sln b/builds/windows/vc2008/freetype.sln
deleted file mode 100644
index 6c522f9..0000000
--- a/builds/windows/vc2008/freetype.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00

-# Visual Studio 2008

-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"

-EndProject

-Global

-	GlobalSection(SolutionConfigurationPlatforms) = preSolution

-		LIB Debug Multithreaded|Win32 = LIB Debug Multithreaded|Win32

-		LIB Debug Singlethreaded|Win32 = LIB Debug Singlethreaded|Win32

-		LIB Debug|Win32 = LIB Debug|Win32

-		LIB Release Multithreaded|Win32 = LIB Release Multithreaded|Win32

-		LIB Release Singlethreaded|Win32 = LIB Release Singlethreaded|Win32

-		LIB Release|Win32 = LIB Release|Win32

-	EndGlobalSection

-	GlobalSection(ProjectConfigurationPlatforms) = postSolution

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.ActiveCfg = Debug|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.Build.0 = Debug|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.ActiveCfg = Release|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.Build.0 = Release|Win32

-	EndGlobalSection

-	GlobalSection(SolutionProperties) = preSolution

-		HideSolutionNode = FALSE

-	EndGlobalSection

-EndGlobal

diff --git a/builds/windows/vc2008/freetype.vcproj b/builds/windows/vc2008/freetype.vcproj
deleted file mode 100644
index f526cd2..0000000
--- a/builds/windows/vc2008/freetype.vcproj
+++ /dev/null
@@ -1,668 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>

-<VisualStudioProject

-	ProjectType="Visual C++"

-	Version="9,00"

-	Name="freetype"

-	ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"

-	TargetFrameworkVersion="131072"

-	>

-	<Platforms>

-		<Platform

-			Name="Win32"

-		/>

-	</Platforms>

-	<ToolFiles>

-	</ToolFiles>

-	<Configurations>

-		<Configuration

-			Name="Release|Win32"

-			OutputDirectory=".\..\..\..\objs\release"

-			IntermediateDirectory=".\..\..\..\objs\release"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="2"

-				InlineFunctionExpansion="1"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"

-				StringPooling="true"

-				RuntimeLibrary="2"

-				EnableFunctionLevelLinking="true"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\release/"

-				ObjectFile=".\..\..\..\objs\release/"

-				ProgramDataBaseFileName=".\..\..\..\objs\release/"

-				WarningLevel="4"

-				DebugInformationFormat="0"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="NDEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\win32\vc2008\freetype291.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Release Multithreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\release_mt"

-			IntermediateDirectory=".\..\..\..\objs\release_mt"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="2"

-				InlineFunctionExpansion="1"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"

-				StringPooling="true"

-				RuntimeLibrary="0"

-				EnableFunctionLevelLinking="true"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\release_mt/"

-				ObjectFile=".\..\..\..\objs\release_mt/"

-				ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"

-				WarningLevel="4"

-				DebugInformationFormat="0"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="NDEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\win32\vc2008\freetype291MT.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Release Singlethreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\release_st"

-			IntermediateDirectory=".\..\..\..\objs\release_st"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="2"

-				InlineFunctionExpansion="1"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"

-				StringPooling="true"

-				RuntimeLibrary="0"

-				EnableFunctionLevelLinking="true"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\release_st/"

-				ObjectFile=".\..\..\..\objs\release_st/"

-				ProgramDataBaseFileName=".\..\..\..\objs\release_st/"

-				WarningLevel="4"

-				DebugInformationFormat="0"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="NDEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\win32\vc2008\freetype291ST.lib"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Debug|Win32"

-			OutputDirectory=".\..\..\..\objs\debug"

-			IntermediateDirectory=".\..\..\..\objs\debug"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="0"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"

-				BasicRuntimeChecks="3"

-				RuntimeLibrary="3"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\debug/"

-				ObjectFile=".\..\..\..\objs\debug/"

-				ProgramDataBaseFileName=".\..\..\..\objs\debug/"

-				WarningLevel="4"

-				DebugInformationFormat="3"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="_DEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\win32\vc2008\freetype291_D.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Debug Singlethreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\debug_st"

-			IntermediateDirectory=".\..\..\..\objs\debug_st"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="0"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"

-				BasicRuntimeChecks="3"

-				RuntimeLibrary="1"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\debug_st/"

-				ObjectFile=".\..\..\..\objs\debug_st/"

-				ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"

-				WarningLevel="4"

-				DebugInformationFormat="3"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="_DEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\win32\vc2008\freetype291ST_D.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Debug Multithreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\debug_mt"

-			IntermediateDirectory=".\..\..\..\objs\debug_mt"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="0"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"

-				GeneratePreprocessedFile="0"

-				BasicRuntimeChecks="3"

-				RuntimeLibrary="1"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\debug_mt/"

-				ObjectFile=".\..\..\..\objs\debug_mt/"

-				ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"

-				WarningLevel="4"

-				DebugInformationFormat="3"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="_DEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\win32\vc2008\freetype291MT_D.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-	</Configurations>

-	<References>

-	</References>

-	<Files>

-		<Filter

-			Name="Source Files"

-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"

-			>

-			<File

-				RelativePath="..\..\..\src\autofit\autofit.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\bdf\bdf.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\cff\cff.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftbase.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftbitmap.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\cache\ftcache.c"

-				>

-			</File>

-			<File

-				RelativePath="..\ftdebug.c"

-				>

-				<FileConfiguration>

-					<Tool

-						Name="VCCLCompilerTool"

-						DisableLanguageExtensions="false"

-					/>

-				</FileConfiguration>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftfstype.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftgasp.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftglyph.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\gzip\ftgzip.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftinit.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\lzw\ftlzw.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftstroke.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftsystem.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\smooth\smooth.c"

-				>

-			</File>

-			<Filter

-				Name="FT_MODULES"

-				>

-				<File

-					RelativePath="..\..\..\src\base\ftbbox.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftbdf.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftcid.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftmm.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftpfr.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftsynth.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\fttype1.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftwinfnt.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftgxval.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftotval.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftpatent.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\pcf\pcf.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\pfr\pfr.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\psaux\psaux.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\pshinter\pshinter.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\psnames\psmodule.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\raster\raster.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\sfnt\sfnt.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\truetype\truetype.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\type1\type1.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\cid\type1cid.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\type42\type42.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\winfonts\winfnt.c"

-					>

-				</File>

-			</Filter>

-		</Filter>

-		<Filter

-			Name="Header Files"

-			Filter="h;hpp;hxx;hm;inl"

-			>

-			<File

-				RelativePath="..\..\..\include\ft2build.h"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\include\freetype\config\ftconfig.h"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\include\freetype\config\ftheader.h"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\include\freetype\config\ftmodule.h"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\include\freetype\config\ftoption.h"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\include\freetype\config\ftstdlib.h"

-				>

-			</File>

-		</Filter>

-	</Files>

-	<Globals>

-	</Globals>

-</VisualStudioProject>

diff --git a/builds/windows/vc2008/index.html b/builds/windows/vc2008/index.html
deleted file mode 100644
index 25c6f9b..0000000
--- a/builds/windows/vc2008/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html>
-<header>
-<title>
-  FreeType&nbsp;2 Project Files for VS.NET&nbsp;2008
-</title>
-
-<body>
-<h1>
-  FreeType&nbsp;2 Project Files for VS.NET&nbsp;2008
-</h1>
-
-<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.9.1 sources:</p>
-
-<ul>
-  <pre>
-    freetype291.lib     - release build; single threaded
-    freetype291_D.lib   - debug build;   single threaded
-    freetype291MT.lib   - release build; multi-threaded
-    freetype291MT_D.lib - debug build;   multi-threaded</pre>
-</ul>
-
-<p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
-archives are already stored this way, so no further action is required.  If
-you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
-tool to convert the line endings.  For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
-file smart CR/LF Conversion</em> option.  Alternatively, you may consider
-using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
-around, which specifically deal with this particular problem.
-
-<p>Build directories are placed in the top-level <tt>objs</tt>
-directory.</p>
-
-</body>
-</html>
diff --git a/builds/windows/vc2010/freetype.vcxproj b/builds/windows/vc2010/freetype.vcxproj
index 7052c6c..d61eeec 100644
--- a/builds/windows/vc2010/freetype.vcxproj
+++ b/builds/windows/vc2010/freetype.vcxproj
@@ -34,75 +34,44 @@
       <Platform>x64</Platform>

     </ProjectConfiguration>

   </ItemGroup>

-  <!--

-    Switch the PlatformToolset based on the Visual Studio Version

--->

-  <PropertyGroup>

-    <!-- Assume Visual Studio 2010 / 4.0 as the default -->

-    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">4.0</VisualStudioVersion>

-  </PropertyGroup>

-  <!-- Visual Studio 2010 (4.0) -->

-  <PropertyGroup Condition="'$(VisualStudioVersion)' == '4.0'">

-    <PlatformToolset>v100</PlatformToolset>

-  </PropertyGroup>

-  <!-- Visual Studio 2013 (12.0) -->

-  <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'">

-    <PlatformToolset>v120</PlatformToolset>

-  </PropertyGroup>

-  <!-- Visual Studio 2015 (14.0) -->

-  <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'">

-    <PlatformToolset>v140</PlatformToolset>

-  </PropertyGroup>

-  <!-- Visual Studio 2017 (15.0) -->

-  <PropertyGroup Condition="'$(VisualStudioVersion)' == '15.0'">

-    <PlatformToolset>v141</PlatformToolset>

-  </PropertyGroup>

-  <!--

-    End of: Switch the PlatformToolset based on the Visual Studio Version

--->

   <PropertyGroup Label="Globals">

     <ProjectGuid>{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}</ProjectGuid>

     <RootNamespace>FreeType</RootNamespace>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Label="PlatformToolset">

+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>

+  </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseOfMfc>false</UseOfMfc>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

@@ -130,7 +99,6 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <CompileAsManaged>false</CompileAsManaged>

       <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>

       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>

     </ClCompile>

@@ -139,7 +107,6 @@
       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <TargetMachine>MachineX86</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

@@ -158,7 +125,6 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <CompileAsManaged>false</CompileAsManaged>

       <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>

       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>

     </ClCompile>

@@ -167,7 +133,6 @@
       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <TargetMachine>MachineX64</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

@@ -186,7 +151,6 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <CompileAsManaged>false</CompileAsManaged>

       <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>

       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>

     </ClCompile>

@@ -195,7 +159,6 @@
       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <TargetMachine>MachineX86</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

@@ -214,7 +177,6 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <CompileAsManaged>false</CompileAsManaged>

       <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>

       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>

     </ClCompile>

@@ -223,7 +185,6 @@
       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <TargetMachine>MachineX64</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

@@ -235,7 +196,6 @@
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

-      <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -243,26 +203,14 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <WholeProgramOptimization>false</WholeProgramOptimization>

       <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>

-      <FloatingPointExceptions>false</FloatingPointExceptions>

-      <CreateHotpatchableImage>false</CreateHotpatchableImage>

-      <CompileAsManaged>false</CompileAsManaged>

-      <ProgramDataBaseFileName>

-      </ProgramDataBaseFileName>

-      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

-      <DebugInformationFormat>

-      </DebugInformationFormat>

       <IntrinsicFunctions>true</IntrinsicFunctions>

-      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>

-      <OmitFramePointers>true</OmitFramePointers>

     </ClCompile>

     <ResourceCompile>

       <PreprocessorDefinitions>NDEBUG;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>

       <TargetMachine>MachineX86</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

@@ -275,7 +223,6 @@
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

-      <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -283,26 +230,14 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <WholeProgramOptimization>false</WholeProgramOptimization>

       <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>

-      <FloatingPointExceptions>false</FloatingPointExceptions>

-      <CreateHotpatchableImage>false</CreateHotpatchableImage>

-      <CompileAsManaged>false</CompileAsManaged>

-      <ProgramDataBaseFileName>

-      </ProgramDataBaseFileName>

-      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

-      <DebugInformationFormat>

-      </DebugInformationFormat>

       <IntrinsicFunctions>true</IntrinsicFunctions>

-      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>

-      <OmitFramePointers>true</OmitFramePointers>

     </ClCompile>

     <ResourceCompile>

       <PreprocessorDefinitions>NDEBUG;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>

       <TargetMachine>MachineX64</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

@@ -315,7 +250,6 @@
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

-      <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -323,27 +257,14 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <WholeProgramOptimization>false</WholeProgramOptimization>

       <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>

-      <FloatingPointExceptions>false</FloatingPointExceptions>

-      <CreateHotpatchableImage>false</CreateHotpatchableImage>

-      <RuntimeTypeInfo>false</RuntimeTypeInfo>

-      <CompileAsManaged>false</CompileAsManaged>

-      <ProgramDataBaseFileName>

-      </ProgramDataBaseFileName>

-      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

-      <DebugInformationFormat>

-      </DebugInformationFormat>

       <IntrinsicFunctions>true</IntrinsicFunctions>

-      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>

-      <OmitFramePointers>true</OmitFramePointers>

     </ClCompile>

     <ResourceCompile>

       <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>

       <TargetMachine>MachineX86</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

@@ -356,7 +277,6 @@
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

-      <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -364,27 +284,14 @@
       <CompileAs>Default</CompileAs>

       <DisableSpecificWarnings>4001</DisableSpecificWarnings>

       <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <WholeProgramOptimization>false</WholeProgramOptimization>

       <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>

-      <FloatingPointExceptions>false</FloatingPointExceptions>

-      <CreateHotpatchableImage>false</CreateHotpatchableImage>

-      <RuntimeTypeInfo>false</RuntimeTypeInfo>

-      <CompileAsManaged>false</CompileAsManaged>

-      <ProgramDataBaseFileName>

-      </ProgramDataBaseFileName>

-      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

-      <DebugInformationFormat>

-      </DebugInformationFormat>

       <IntrinsicFunctions>true</IntrinsicFunctions>

-      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>

-      <OmitFramePointers>true</OmitFramePointers>

     </ClCompile>

     <ResourceCompile>

       <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

       <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>

       <TargetMachine>MachineX64</TargetMachine>

       <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

diff --git a/builds/windows/vc2010/index.html b/builds/windows/vc2010/index.html
index 634ea93..eed4dd3 100644
--- a/builds/windows/vc2010/index.html
+++ b/builds/windows/vc2010/index.html
@@ -12,7 +12,7 @@
 <p>This directory contains solution and project files for
 Visual&nbsp;C++&nbsp;2010 or newer, named <tt>freetype.sln</tt>,
 and <tt>freetype.vcxproj</tt>.  It compiles the following libraries
-from the FreeType 2.9.1 sources:</p>
+from the FreeType 2.10.1 sources:</p>
 
 <ul>
   <li>freetype.dll using 'Release' or 'Debug' configurations</li>
@@ -30,7 +30,7 @@
 <p>To configure library dependencies like <em>zlib</em> and <em>libpng</em>,
 edit the <tt>freetype.users.props</tt> file in this directory.  It also
 simplifies automated (command-line) builds using <a
-href="http://msdn.microsoft.com/library/dd393574%28v=vs.100%29.aspx">msbuild</a>.</p>
+href="https://msdn.microsoft.com/library/dd393574%28v=vs.100%29.aspx">msbuild</a>.</p>
 
 <p>To link your executable with FreeType DLL, you may want to define
 DLL_IMPORT so that the imported functions are appropriately
diff --git a/builds/windows/visualc/freetype.dsp b/builds/windows/visualc/freetype.dsp
index dac3d25..028dd7b 100644
--- a/builds/windows/visualc/freetype.dsp
+++ b/builds/windows/visualc/freetype.dsp
@@ -2,9 +2,10 @@
 # Microsoft Developer Studio Generated Build File, Format Version 6.00

 # ** DO NOT EDIT **

 

+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102

 # TARGTYPE "Win32 (x86) Static Library" 0x0104

 

-CFG=freetype - Win32 Debug Singlethreaded

+CFG=freetype - Win32 Release

 !MESSAGE This is not a valid makefile. To build this project using NMAKE,

 !MESSAGE use the Export Makefile command and run

 !MESSAGE

@@ -13,24 +14,20 @@
 !MESSAGE You can specify a configuration when running NMAKE

 !MESSAGE by defining the macro CFG on the command line. For example:

 !MESSAGE

-!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Debug Singlethreaded"

+!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Release"

 !MESSAGE

 !MESSAGE Possible choices for configuration are:

 !MESSAGE

-!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Static Library")

-!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Static Library")

-!MESSAGE "freetype - Win32 Debug Multithreaded" (based on "Win32 (x86) Static Library")

-!MESSAGE "freetype - Win32 Release Multithreaded" (based on "Win32 (x86) Static Library")

-!MESSAGE "freetype - Win32 Release Singlethreaded" (based on "Win32 (x86) Static Library")

-!MESSAGE "freetype - Win32 Debug Singlethreaded" (based on "Win32 (x86) Static Library")

+!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")

+!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")

+!MESSAGE "freetype - Win32 Release Static" (based on "Win32 (x86) Static Library")

+!MESSAGE "freetype - Win32 Debug Static" (based on "Win32 (x86) Static Library")

 !MESSAGE

 

 # Begin Project

 # PROP AllowPerConfigDependencies 0

 # PROP Scc_ProjName ""

 # PROP Scc_LocalPath ""

-CPP=cl.exe

-RSC=rc.exe

 

 !IF  "$(CFG)" == "freetype - Win32 Release"

 

@@ -41,20 +38,27 @@
 # PROP BASE Target_Dir ""

 # PROP Use_MFC 0

 # PROP Use_Debug_Libraries 0

-# PROP Output_Dir "..\..\..\objs\release"

-# PROP Intermediate_Dir "..\..\..\objs\release"

+# PROP Output_Dir "..\..\..\objs\Win32\Release"

+# PROP Intermediate_Dir "..\..\..\objs\Win32\Release"

+# PROP Ignore_Export_Lib 0

 # PROP Target_Dir ""

-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c

-# ADD CPP /MD /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c

-# SUBTRACT CPP /nologo /Z<none> /YX

+CPP=cl.exe

+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c

+# SUBTRACT BASE CPP /YX /Yc /Yu

+# ADD CPP /nologo /Za /MD /W3 /O2 /Oi /D "WIN32" /I "..\..\..\include" /D "_CRT_SECURE_NO_WARNINGS" /D "NDEBUG" /D "FT2_BUILD_LIBRARY" /D "DLL_EXPORT" /FD /c

+# SUBTRACT CPP /YX /Yc /Yu

+MTL=midl.exe

+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32

+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32

+RSC=rc.exe

 # ADD BASE RSC /l 0x409 /d "NDEBUG"

-# ADD RSC /l 0x409 /d "NDEBUG"

+# ADD RSC /l 0x409 /d "NDEBUG" /d "DLL_EXPORT"

 BSC32=bscmake.exe

 # ADD BASE BSC32 /nologo

 # ADD BSC32 /nologo

-LIB32=link.exe -lib

-# ADD BASE LIB32 /nologo

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291.lib"

+LINK32=link.exe

+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386

+# ADD LINK32 /nologo /dll /machine:I386 /out:"$(OutDir)\freetype.dll"

 

 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug"

 

@@ -65,12 +69,73 @@
 # PROP BASE Target_Dir ""

 # PROP Use_MFC 0

 # PROP Use_Debug_Libraries 1

-# PROP Output_Dir "..\..\..\objs\debug"

-# PROP Intermediate_Dir "..\..\..\objs\debug"

+# PROP Output_Dir "..\..\..\objs\Win32\Debug"

+# PROP Intermediate_Dir "..\..\..\objs\Win32\Debug"

+# PROP Ignore_Export_Lib 0

 # PROP Target_Dir ""

-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c

-# ADD CPP /MDd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c

-# SUBTRACT CPP /nologo /X /YX

+CPP=cl.exe

+# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c

+# SUBTRACT BASE CPP /YX /Yc /Yu

+# ADD CPP /nologo /Za /MDd /W3 /Gm /ZI /Od /I "..\..\..\include" /D "WIN32" /D "_CRT_SECURE_NO_WARNINGS" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "FT2_BUILD_LIBRARY" /D "DLL_EXPORT" /FR /FD /GZ /c

+# SUBTRACT CPP /YX /Yc /Yu

+MTL=midl.exe

+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32

+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32

+RSC=rc.exe

+# ADD BASE RSC /l 0x409 /d "_DEBUG"

+# ADD RSC /l 0x409 /d "_DEBUG" /d "DLL_EXPORT"

+BSC32=bscmake.exe

+# ADD BASE BSC32 /nologo

+# ADD BSC32 /nologo

+LINK32=link.exe

+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept

+# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"$(OutDir)\freetype.dll" /pdbtype:sept

+

+!ELSEIF  "$(CFG)" == "freetype - Win32 Release Static"

+

+# PROP BASE Use_MFC 0

+# PROP BASE Use_Debug_Libraries 0

+# PROP BASE Output_Dir "Release Static"

+# PROP BASE Intermediate_Dir "Release Static"

+# PROP BASE Target_Dir ""

+# PROP Use_MFC 0

+# PROP Use_Debug_Libraries 0

+# PROP Output_Dir "..\..\..\objs\Win32\Release Static"

+# PROP Intermediate_Dir "..\..\..\objs\Win32\Release Static"

+# PROP Target_Dir ""

+CPP=cl.exe

+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c

+# SUBTRACT BASE CPP /YX /Yc /Yu

+# ADD CPP /nologo /Za /MD /W3 /O2 /Oi /D "WIN32" /I "..\..\..\include" /D "_CRT_SECURE_NO_WARNINGS" /D "NDEBUG" /D "FT2_BUILD_LIBRARY" /FD /c

+# SUBTRACT CPP /YX /Yc /Yu

+RSC=rc.exe

+# ADD BASE RSC /l 0x409 /d "NDEBUG"

+# ADD RSC /l 0x409 /d "NDEBUG"

+BSC32=bscmake.exe

+# ADD BASE BSC32 /nologo

+# ADD BSC32 /nologo

+LIB32=link.exe -lib

+# ADD BASE LIB32 /nologo

+# ADD LIB32 /nologo /out:"$(OutDir)\freetype.lib"

+

+!ELSEIF  "$(CFG)" == "freetype - Win32 Debug Static"

+

+# PROP BASE Use_MFC 0

+# PROP BASE Use_Debug_Libraries 1

+# PROP BASE Output_Dir "Debug Static"

+# PROP BASE Intermediate_Dir "Debug Static"

+# PROP BASE Target_Dir ""

+# PROP Use_MFC 0

+# PROP Use_Debug_Libraries 1

+# PROP Output_Dir "..\..\..\objs\Win32\Debug Static"

+# PROP Intermediate_Dir "..\..\..\objs\Win32\Debug Static"

+# PROP Target_Dir ""

+CPP=cl.exe

+# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c

+# SUBTRACT BASE CPP /YX /Yc /Yu

+# ADD CPP /nologo /Za /MDd /W3 /Gm /ZI /Od /I "..\..\..\include" /D "WIN32" /D "_CRT_SECURE_NO_WARNINGS" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "FT2_BUILD_LIBRARY" /FR /FD /GZ /c

+# SUBTRACT CPP /YX /Yc /Yu

+RSC=rc.exe

 # ADD BASE RSC /l 0x409 /d "_DEBUG"

 # ADD RSC /l 0x409 /d "_DEBUG"

 BSC32=bscmake.exe

@@ -78,107 +143,7 @@
 # ADD BSC32 /nologo

 LIB32=link.exe -lib

 # ADD BASE LIB32 /nologo

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291_D.lib"

-

-!ELSEIF  "$(CFG)" == "freetype - Win32 Debug Multithreaded"

-

-# PROP BASE Use_MFC 0

-# PROP BASE Use_Debug_Libraries 1

-# PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded"

-# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded"

-# PROP BASE Target_Dir ""

-# PROP Use_MFC 0

-# PROP Use_Debug_Libraries 1

-# PROP Output_Dir "..\..\..\objs\debug_mt"

-# PROP Intermediate_Dir "..\..\..\objs\debug_mt"

-# PROP Target_Dir ""

-# ADD BASE CPP /nologo /Za /W3 /Gm /GX /ZI /Od /I "..\include\\" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /GZ /c

-# SUBTRACT BASE CPP /X

-# ADD CPP /MTd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c

-# SUBTRACT CPP /nologo /X /YX

-# ADD BASE RSC /l 0x409 /d "_DEBUG"

-# ADD RSC /l 0x409 /d "_DEBUG"

-BSC32=bscmake.exe

-# ADD BASE BSC32 /nologo

-# ADD BSC32 /nologo

-LIB32=link.exe -lib

-# ADD BASE LIB32 /nologo /out:"lib\freetype291_D.lib"

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291MT_D.lib"

-

-!ELSEIF  "$(CFG)" == "freetype - Win32 Release Multithreaded"

-

-# PROP BASE Use_MFC 0

-# PROP BASE Use_Debug_Libraries 0

-# PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded"

-# PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded"

-# PROP BASE Target_Dir ""

-# PROP Use_MFC 0

-# PROP Use_Debug_Libraries 0

-# PROP Output_Dir "..\..\..\objs\release_mt"

-# PROP Intermediate_Dir "..\..\..\objs\release_mt"

-# PROP Target_Dir ""

-# ADD BASE CPP /nologo /Za /W3 /GX /O2 /I "..\include\\" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /c

-# ADD CPP /MT /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c

-# SUBTRACT CPP /nologo /Z<none> /YX

-# ADD BASE RSC /l 0x409 /d "NDEBUG"

-# ADD RSC /l 0x409 /d "NDEBUG"

-BSC32=bscmake.exe

-# ADD BASE BSC32 /nologo

-# ADD BSC32 /nologo

-LIB32=link.exe -lib

-# ADD BASE LIB32 /nologo /out:"lib\freetype291.lib"

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291MT.lib"

-

-!ELSEIF  "$(CFG)" == "freetype - Win32 Release Singlethreaded"

-

-# PROP BASE Use_MFC 0

-# PROP BASE Use_Debug_Libraries 0

-# PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded"

-# PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded"

-# PROP BASE Target_Dir ""

-# PROP Use_MFC 0

-# PROP Use_Debug_Libraries 0

-# PROP Output_Dir "..\..\..\objs\release_st"

-# PROP Intermediate_Dir "..\..\..\objs\release_st"

-# PROP Target_Dir ""

-# ADD BASE CPP /nologo /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c

-# SUBTRACT BASE CPP /YX

-# ADD CPP /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c

-# SUBTRACT CPP /nologo /Z<none> /YX

-# ADD BASE RSC /l 0x409 /d "NDEBUG"

-# ADD RSC /l 0x409 /d "NDEBUG"

-BSC32=bscmake.exe

-# ADD BASE BSC32 /nologo

-# ADD BSC32 /nologo

-LIB32=link.exe -lib

-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype291.lib"

-# ADD LIB32 /out:"..\..\..\objs\freetype291ST.lib"

-# SUBTRACT LIB32 /nologo

-

-!ELSEIF  "$(CFG)" == "freetype - Win32 Debug Singlethreaded"

-

-# PROP BASE Use_MFC 0

-# PROP BASE Use_Debug_Libraries 1

-# PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded"

-# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Singlethreaded"

-# PROP BASE Target_Dir ""

-# PROP Use_MFC 0

-# PROP Use_Debug_Libraries 1

-# PROP Output_Dir "..\..\..\objs\debug_st"

-# PROP Intermediate_Dir "..\..\..\objs\debug_st"

-# PROP Target_Dir ""

-# ADD BASE CPP /nologo /MDd /Za /W4 /Gm /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c

-# SUBTRACT BASE CPP /X /YX

-# ADD CPP /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c

-# SUBTRACT CPP /nologo /X /YX

-# ADD BASE RSC /l 0x409 /d "_DEBUG"

-# ADD RSC /l 0x409 /d "_DEBUG"

-BSC32=bscmake.exe

-# ADD BASE BSC32 /nologo

-# ADD BSC32 /nologo

-LIB32=link.exe -lib

-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype291_D.lib"

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291ST_D.lib"

+# ADD LIB32 /nologo /out:"$(OutDir)\freetype.lib"

 

 !ENDIF

 

@@ -186,10 +151,8 @@
 

 # Name "freetype - Win32 Release"

 # Name "freetype - Win32 Debug"

-# Name "freetype - Win32 Debug Multithreaded"

-# Name "freetype - Win32 Release Multithreaded"

-# Name "freetype - Win32 Release Singlethreaded"

-# Name "freetype - Win32 Debug Singlethreaded"

+# Name "freetype - Win32 Release Static"

+# Name "freetype - Win32 Debug Static"

 # Begin Group "Source Files"

 

 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"

@@ -379,5 +342,13 @@
 SOURCE=..\..\..\include\freetype\config\ftstdlib.h

 # End Source File

 # End Group

+# Begin Group "Resource Files"

+

+# PROP Default_Filter "rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"

+# Begin Source File

+

+SOURCE=..\..\..\src\base\ftver.rc

+# End Source File

+# End Group

 # End Target

 # End Project

diff --git a/builds/windows/visualc/freetype.sln b/builds/windows/visualc/freetype.sln
index 1f64be2..9054d0a 100644
--- a/builds/windows/visualc/freetype.sln
+++ b/builds/windows/visualc/freetype.sln
@@ -1,27 +1,21 @@
-Microsoft Visual Studio Solution File, Format Version 9.00

-# Visual Studio 2005

+Microsoft Visual Studio Solution File, Format Version 7.00

+# Visual C++ 2002-2008

 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"

 EndProject

 Global

 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

-		Debug Multithreaded|Win32 = Debug Multithreaded|Win32

-		Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32

+		Debug Static|Win32 = Debug Static|Win32

 		Debug|Win32 = Debug|Win32

-		Release Multithreaded|Win32 = Release Multithreaded|Win32

-		Release Singlethreaded|Win32 = Release Singlethreaded|Win32

+		Release Static|Win32 = Release Static|Win32

 		Release|Win32 = Release|Win32

 	EndGlobalSection

 	GlobalSection(ProjectConfigurationPlatforms) = postSolution

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32

+		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Static|Win32.ActiveCfg = Debug Static|Win32

+		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Static|Win32.Build.0 = Debug Static|Win32

 		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32

 		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32

-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32

+		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Static|Win32.ActiveCfg = Release Static|Win32

+		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Static|Win32.Build.0 = Release Static|Win32

 		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32

 		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32

 	EndGlobalSection

diff --git a/builds/windows/visualc/freetype.vcproj b/builds/windows/visualc/freetype.vcproj
index dd0c418..ecb5b05 100644
--- a/builds/windows/visualc/freetype.vcproj
+++ b/builds/windows/visualc/freetype.vcproj
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="Windows-1252"?>

 <VisualStudioProject

 	ProjectType="Visual C++"

-	Version="8.00"

 	Name="freetype"

 	ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"

 	>

@@ -15,13 +14,12 @@
 	<Configurations>

 		<Configuration

 			Name="Release|Win32"

-			OutputDirectory=".\..\..\..\objs\release"

-			IntermediateDirectory=".\..\..\..\objs\release"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

+			OutputDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

+			IntermediateDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

+			ConfigurationType="2"

 			UseOfMFC="0"

 			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

+			CharacterSet="1"

 			>

 			<Tool

 				Name="VCPreBuildEventTool"

@@ -42,40 +40,39 @@
 				Name="VCCLCompilerTool"

 				Optimization="2"

 				InlineFunctionExpansion="1"

+				EnableIntrinsicFunctions="true"

 				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"

+				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;DLL_EXPORT"

 				StringPooling="true"

 				RuntimeLibrary="2"

 				EnableFunctionLevelLinking="true"

 				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\release/"

-				ObjectFile=".\..\..\..\objs\release/"

-				ProgramDataBaseFileName=".\..\..\..\objs\release/"

 				WarningLevel="4"

 				DebugInformationFormat="0"

 				CompileAs="0"

+				DisableSpecificWarnings="4001"

 			/>

 			<Tool

 				Name="VCManagedResourceCompilerTool"

 			/>

 			<Tool

 				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="NDEBUG"

+				PreprocessorDefinitions="NDEBUG;DLL_EXPORT"

 				Culture="1033"

 			/>

 			<Tool

 				Name="VCPreLinkEventTool"

 			/>

 			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

-				SuppressStartupBanner="true"

+				Name="VCLinkerTool"

 			/>

 			<Tool

 				Name="VCALinkTool"

 			/>

 			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

 				Name="VCXDCMakeTool"

 			/>

 			<Tool

@@ -85,18 +82,20 @@
 				Name="VCFxCopTool"

 			/>

 			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

 				Name="VCPostBuildEventTool"

 			/>

 		</Configuration>

 		<Configuration

-			Name="Release Multithreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\release_mt"

-			IntermediateDirectory=".\..\..\..\objs\release_mt"

+			Name="Release Static|Win32"

+			OutputDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

+			IntermediateDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

 			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

 			UseOfMFC="0"

 			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

+			CharacterSet="1"

 			>

 			<Tool

 				Name="VCPreBuildEventTool"

@@ -117,19 +116,17 @@
 				Name="VCCLCompilerTool"

 				Optimization="2"

 				InlineFunctionExpansion="1"

+				EnableIntrinsicFunctions="true"

 				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"

+				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"

 				StringPooling="true"

 				RuntimeLibrary="0"

 				EnableFunctionLevelLinking="true"

 				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\release_mt/"

-				ObjectFile=".\..\..\..\objs\release_mt/"

-				ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"

 				WarningLevel="4"

 				DebugInformationFormat="0"

 				CompileAs="0"

+				DisableSpecificWarnings="4001"

 			/>

 			<Tool

 				Name="VCManagedResourceCompilerTool"

@@ -144,82 +141,6 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Release Singlethreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\release_st"

-			IntermediateDirectory=".\..\..\..\objs\release_st"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="2"

-				InlineFunctionExpansion="1"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"

-				StringPooling="true"

-				RuntimeLibrary="0"

-				EnableFunctionLevelLinking="true"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\release_st/"

-				ObjectFile=".\..\..\..\objs\release_st/"

-				ProgramDataBaseFileName=".\..\..\..\objs\release_st/"

-				WarningLevel="4"

-				DebugInformationFormat="0"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="NDEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -239,13 +160,12 @@
 		</Configuration>

 		<Configuration

 			Name="Debug|Win32"

-			OutputDirectory=".\..\..\..\objs\debug"

-			IntermediateDirectory=".\..\..\..\objs\debug"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

+			OutputDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

+			IntermediateDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

+			ConfigurationType="2"

 			UseOfMFC="0"

 			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

+			CharacterSet="1"

 			>

 			<Tool

 				Name="VCPreBuildEventTool"

@@ -266,38 +186,36 @@
 				Name="VCCLCompilerTool"

 				Optimization="0"

 				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"

+				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;DLL_EXPORT"

 				BasicRuntimeChecks="3"

 				RuntimeLibrary="3"

 				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\debug/"

-				ObjectFile=".\..\..\..\objs\debug/"

-				ProgramDataBaseFileName=".\..\..\..\objs\debug/"

 				WarningLevel="4"

 				DebugInformationFormat="3"

 				CompileAs="0"

+				DisableSpecificWarnings="4001"

 			/>

 			<Tool

 				Name="VCManagedResourceCompilerTool"

 			/>

 			<Tool

 				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="_DEBUG"

+				PreprocessorDefinitions="_DEBUG;DLL_EXPORT"

 				Culture="1033"

 			/>

 			<Tool

 				Name="VCPreLinkEventTool"

 			/>

 			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

-				SuppressStartupBanner="true"

+				Name="VCLinkerTool"

 			/>

 			<Tool

 				Name="VCALinkTool"

 			/>

 			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

 				Name="VCXDCMakeTool"

 			/>

 			<Tool

@@ -307,18 +225,20 @@
 				Name="VCFxCopTool"

 			/>

 			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

 				Name="VCPostBuildEventTool"

 			/>

 		</Configuration>

 		<Configuration

-			Name="Debug Singlethreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\debug_st"

-			IntermediateDirectory=".\..\..\..\objs\debug_st"

+			Name="Debug Static|Win32"

+			OutputDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

+			IntermediateDirectory="..\..\..\objs\$(PlatformName)\$(ConfigurationName)\"

 			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

 			UseOfMFC="0"

 			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

+			CharacterSet="1"

 			>

 			<Tool

 				Name="VCPreBuildEventTool"

@@ -339,17 +259,14 @@
 				Name="VCCLCompilerTool"

 				Optimization="0"

 				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"

+				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"

 				BasicRuntimeChecks="3"

 				RuntimeLibrary="1"

 				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\debug_st/"

-				ObjectFile=".\..\..\..\objs\debug_st/"

-				ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"

 				WarningLevel="4"

 				DebugInformationFormat="3"

 				CompileAs="0"

+				DisableSpecificWarnings="4001"

 			/>

 			<Tool

 				Name="VCManagedResourceCompilerTool"

@@ -364,82 +281,6 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

-				SuppressStartupBanner="true"

-			/>

-			<Tool

-				Name="VCALinkTool"

-			/>

-			<Tool

-				Name="VCXDCMakeTool"

-			/>

-			<Tool

-				Name="VCBscMakeTool"

-			/>

-			<Tool

-				Name="VCFxCopTool"

-			/>

-			<Tool

-				Name="VCPostBuildEventTool"

-			/>

-		</Configuration>

-		<Configuration

-			Name="Debug Multithreaded|Win32"

-			OutputDirectory=".\..\..\..\objs\debug_mt"

-			IntermediateDirectory=".\..\..\..\objs\debug_mt"

-			ConfigurationType="4"

-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"

-			UseOfMFC="0"

-			ATLMinimizesCRunTimeLibraryUsage="false"

-			CharacterSet="2"

-			>

-			<Tool

-				Name="VCPreBuildEventTool"

-			/>

-			<Tool

-				Name="VCCustomBuildTool"

-			/>

-			<Tool

-				Name="VCXMLDataGeneratorTool"

-			/>

-			<Tool

-				Name="VCWebServiceProxyGeneratorTool"

-			/>

-			<Tool

-				Name="VCMIDLTool"

-			/>

-			<Tool

-				Name="VCCLCompilerTool"

-				Optimization="0"

-				AdditionalIncludeDirectories="..\..\..\include"

-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"

-				GeneratePreprocessedFile="0"

-				BasicRuntimeChecks="3"

-				RuntimeLibrary="1"

-				DisableLanguageExtensions="true"

-				PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"

-				AssemblerListingLocation=".\..\..\..\objs\debug_mt/"

-				ObjectFile=".\..\..\..\objs\debug_mt/"

-				ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"

-				WarningLevel="4"

-				DebugInformationFormat="3"

-				CompileAs="0"

-			/>

-			<Tool

-				Name="VCManagedResourceCompilerTool"

-			/>

-			<Tool

-				Name="VCResourceCompilerTool"

-				PreprocessorDefinitions="_DEBUG"

-				Culture="1033"

-			/>

-			<Tool

-				Name="VCPreLinkEventTool"

-			/>

-			<Tool

-				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

-				SuppressStartupBanner="true"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -486,26 +327,52 @@
 				>

 			</File>

 			<File

-				RelativePath="..\..\..\src\base\ftfstype.c"

-				>

-			</File>

-			<File

-				RelativePath="..\..\..\src\base\ftgasp.c"

-				>

-			</File>

-			<File

 				RelativePath="..\..\..\src\cache\ftcache.c"

 				>

 			</File>

 			<File

 				RelativePath="..\ftdebug.c"

 				>

-				<FileConfiguration>

+				<FileConfiguration

+					Name="Release|Win32"

+					>

 					<Tool

 						Name="VCCLCompilerTool"

 						DisableLanguageExtensions="false"

 					/>

 				</FileConfiguration>

+				<FileConfiguration

+					Name="Release Static|Win32"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						DisableLanguageExtensions="false"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Debug|Win32"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						DisableLanguageExtensions="false"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Debug Static|Win32"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						DisableLanguageExtensions="false"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath="..\..\..\src\base\ftfstype.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\src\base\ftgasp.c"

+				>

 			</File>

 			<File

 				RelativePath="..\..\..\src\base\ftglyph.c"

@@ -551,10 +418,22 @@
 					>

 				</File>

 				<File

+					RelativePath="..\..\..\src\base\ftgxval.c"

+					>

+				</File>

+				<File

 					RelativePath="..\..\..\src\base\ftmm.c"

 					>

 				</File>

 				<File

+					RelativePath="..\..\..\src\base\ftotval.c"

+					>

+				</File>

+				<File

+					RelativePath="..\..\..\src\base\ftpatent.c"

+					>

+				</File>

+				<File

 					RelativePath="..\..\..\src\base\ftpfr.c"

 					>

 				</File>

@@ -571,18 +450,6 @@
 					>

 				</File>

 				<File

-					RelativePath="..\..\..\src\base\ftgxval.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftotval.c"

-					>

-				</File>

-				<File

-					RelativePath="..\..\..\src\base\ftpatent.c"

-					>

-				</File>

-				<File

 					RelativePath="..\..\..\src\pcf\pcf.c"

 					>

 				</File>

@@ -661,6 +528,15 @@
 				>

 			</File>

 		</Filter>

+		<Filter

+			Name="Resource Files"

+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"

+			>

+			<File

+				RelativePath="..\..\..\src\base\ftver.rc"

+				>

+			</File>

+		</Filter>

 	</Files>

 	<Globals>

 	</Globals>

diff --git a/builds/windows/visualc/index.html b/builds/windows/visualc/index.html
index c0611d2..423244a 100644
--- a/builds/windows/visualc/index.html
+++ b/builds/windows/visualc/index.html
@@ -1,31 +1,32 @@
 <html>
 <header>
 <title>
-  FreeType&nbsp;2 Project Files for Visual&nbsp;C++ and VS.NET&nbsp;2005
+  FreeType&nbsp;2 Project Files for Visual&nbsp;C++ 6.0 and 2002-2008
 </title>
 
 <body>
 <h1>
-  FreeType&nbsp;2 Project Files for Visual&nbsp;C++ and VS.NET&nbsp;2005
+  FreeType&nbsp;2 Project Files for Visual&nbsp;C++ 6.0 and 2002-2008
 </h1>
 
-<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.9.1 sources:</p>
+<p>This directory contains project files <tt>freetype.dsp</tt> for
+Visual C++ 6.0, and <tt>freetype.vcproj</tt> for Visual C++ 2002
+through 2008, which you might need to upgrade automatically.
+It compiles the following libraries from the FreeType 2.10.1 sources:</p>
 
 <ul>
-  <pre>
-    freetype291.lib     - release build; single threaded
-    freetype291_D.lib   - debug build;   single threaded
-    freetype291MT.lib   - release build; multi-threaded
-    freetype291MT_D.lib - debug build;   multi-threaded</pre>
+  <li>freetype.dll using 'Release' or 'Debug' configurations</li>
+  <li>freetype.lib using 'Release Static' or 'Debug Static' configurations</li>
 </ul>
 
+<p>Build directories and target files are placed in the top-level
+<tt>objs</tt> directory.</p>
+
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
 archives are already stored this way, so no further action is required.  If
 you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
 tool to convert the line endings.  For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+href="https://www.winzip.com">WinZip</a>, you should activate the <em>TAR
 file smart CR/LF Conversion</em> option.  Alternatively, you may consider
 using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
 around, which specifically deal with this particular problem.
diff --git a/builds/windows/visualce/freetype.dsp b/builds/windows/visualce/freetype.dsp
index 5fe2b5a..cb1205d 100644
--- a/builds/windows/visualce/freetype.dsp
+++ b/builds/windows/visualce/freetype.dsp
@@ -54,7 +54,7 @@
 # ADD BSC32 /nologo

 LIB32=link.exe -lib

 # ADD BASE LIB32 /nologo

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291.lib"

+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2101.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\freetype291_D.lib"

+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2101_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\freetype291_D.lib"

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291MT_D.lib"

+# ADD BASE LIB32 /nologo /out:"lib\freetype2101_D.lib"

+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2101MT_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\freetype291.lib"

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291MT.lib"

+# ADD BASE LIB32 /nologo /out:"lib\freetype2101.lib"

+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2101MT.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\freetype291.lib"

-# ADD LIB32 /out:"..\..\..\objs\freetype291ST.lib"

+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2101.lib"

+# ADD LIB32 /out:"..\..\..\objs\freetype2101ST.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\freetype291_D.lib"

-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype291ST_D.lib"

+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2101_D.lib"

+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2101ST_D.lib"

 

 !ENDIF

 

diff --git a/builds/windows/visualce/freetype.vcproj b/builds/windows/visualce/freetype.vcproj
index b797311..96b51e9 100644
--- a/builds/windows/visualce/freetype.vcproj
+++ b/builds/windows/visualce/freetype.vcproj
@@ -87,7 +87,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -162,7 +162,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -237,7 +237,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -309,7 +309,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -382,7 +382,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -456,7 +456,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -534,7 +534,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -619,7 +619,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -704,7 +704,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -785,7 +785,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -867,7 +867,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -950,7 +950,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1036,7 +1036,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1121,7 +1121,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1206,7 +1206,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1287,7 +1287,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1369,7 +1369,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1452,7 +1452,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1538,7 +1538,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1623,7 +1623,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1708,7 +1708,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -1789,7 +1789,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1871,7 +1871,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -1954,7 +1954,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2040,7 +2040,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2125,7 +2125,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2210,7 +2210,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -2291,7 +2291,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2373,7 +2373,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2456,7 +2456,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2542,7 +2542,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2627,7 +2627,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2712,7 +2712,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -2793,7 +2793,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2875,7 +2875,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -2958,7 +2958,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3044,7 +3044,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291.lib"

+				OutputFile="..\..\..\objs\freetype2101.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3129,7 +3129,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT.lib"

+				OutputFile="..\..\..\objs\freetype2101MT.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3214,7 +3214,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST.lib"

+				OutputFile="..\..\..\objs\freetype2101ST.lib"

 			/>

 			<Tool

 				Name="VCALinkTool"

@@ -3295,7 +3295,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291_D.lib"

+				OutputFile="..\..\..\objs\freetype2101_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3377,7 +3377,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291ST_D.lib"

+				OutputFile="..\..\..\objs\freetype2101ST_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

@@ -3460,7 +3460,7 @@
 			/>

 			<Tool

 				Name="VCLibrarianTool"

-				OutputFile="..\..\..\objs\freetype291MT_D.lib"

+				OutputFile="..\..\..\objs\freetype2101MT_D.lib"

 				SuppressStartupBanner="true"

 			/>

 			<Tool

diff --git a/builds/windows/visualce/index.html b/builds/windows/visualce/index.html
index d5a3ca3..95e61fc 100644
--- a/builds/windows/visualce/index.html
+++ b/builds/windows/visualce/index.html
@@ -21,21 +21,21 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.9.1 sources:</p>
+It compiles the following libraries from the FreeType 2.10.1 sources:</p>
 
 <ul>
   <pre>
-    freetype291.lib     - release build; single threaded
-    freetype291_D.lib   - debug build;   single threaded
-    freetype291MT.lib   - release build; multi-threaded
-    freetype291MT_D.lib - debug build;   multi-threaded</pre>
+    freetype2101.lib     - release build; single threaded
+    freetype2101_D.lib   - debug build;   single threaded
+    freetype2101MT.lib   - release build; multi-threaded
+    freetype2101MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
 archives are already stored this way, so no further action is required.  If
 you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
 tool to convert the line endings.  For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+href="https://www.winzip.com">WinZip</a>, you should activate the <em>TAR
 file smart CR/LF Conversion</em> option.  Alternatively, you may consider
 using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
 around, which specifically deal with this particular problem.
diff --git a/builds/windows/w32-bcc.mk b/builds/windows/w32-bcc.mk
index 01aab1c..39262ff 100644
--- a/builds/windows/w32-bcc.mk
+++ b/builds/windows/w32-bcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-bccd.mk b/builds/windows/w32-bccd.mk
index 2c14d6c..20e272f 100644
--- a/builds/windows/w32-bccd.mk
+++ b/builds/windows/w32-bccd.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-dev.mk b/builds/windows/w32-dev.mk
index 279d5f9..30c5a8f 100644
--- a/builds/windows/w32-dev.mk
+++ b/builds/windows/w32-dev.mk
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-gcc.mk b/builds/windows/w32-gcc.mk
index 9e3476b..4a07bb0 100644
--- a/builds/windows/w32-gcc.mk
+++ b/builds/windows/w32-gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-icc.mk b/builds/windows/w32-icc.mk
index e695c12..fb1fc1a 100644
--- a/builds/windows/w32-icc.mk
+++ b/builds/windows/w32-icc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-intl.mk b/builds/windows/w32-intl.mk
index 1e36662..252eae2 100644
--- a/builds/windows/w32-intl.mk
+++ b/builds/windows/w32-intl.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-lcc.mk b/builds/windows/w32-lcc.mk
index 5729d36..aa40e56 100644
--- a/builds/windows/w32-lcc.mk
+++ b/builds/windows/w32-lcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-mingw32.mk b/builds/windows/w32-mingw32.mk
index b3a210d..3913dac 100644
--- a/builds/windows/w32-mingw32.mk
+++ b/builds/windows/w32-mingw32.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-vcc.mk b/builds/windows/w32-vcc.mk
index 342c8aa..cc38a45 100644
--- a/builds/windows/w32-vcc.mk
+++ b/builds/windows/w32-vcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/w32-wat.mk b/builds/windows/w32-wat.mk
index 37ecc88..842fbce 100644
--- a/builds/windows/w32-wat.mk
+++ b/builds/windows/w32-wat.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
diff --git a/builds/windows/win32-def.mk b/builds/windows/win32-def.mk
index f83d444..23ba80a 100644
--- a/builds/windows/win32-def.mk
+++ b/builds/windows/win32-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2018 by
+# Copyright (C) 1996-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,6 +19,10 @@
 BUILD_DIR := $(TOP_DIR)/builds/windows
 PLATFORM  := windows
 
+# This is used for `make refdoc' and `make refdoc-venv'
+#
+BIN := Scripts
+
 # The executable file extension (for tools). NOTE: WE INCLUDE THE DOT HERE !!
 #
 E := .exe
diff --git a/configure b/configure
index f9d2186..9a64f69 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2002-2018 by
+# Copyright (C) 2002-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -96,6 +96,8 @@
 if test $inode_src -ne $inode_dst; then
   if test ! -d reference; then
     mkdir reference
+    echo "Copying documentation assets"
+    cp -R $abs_ft2_dir/docs/reference/markdown $abs_curr_dir/reference
   fi
   if test ! -r $abs_curr_dir/modules.cfg; then
     echo "Copying \`modules.cfg'"
diff --git a/devel/ft2build.h b/devel/ft2build.h
index bd4dddb..42fd39f 100644
--- a/devel/ft2build.h
+++ b/devel/ft2build.h
@@ -4,7 +4,7 @@
  *
  *   FreeType 2 build and setup macros (development version).
  *
- * Copyright 1996-2018 by
+ * Copyright (C) 1996-2019 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
diff --git a/devel/ftoption.h b/devel/ftoption.h
index c434ac1..16cf4e1 100644
--- a/devel/ftoption.h
+++ b/devel/ftoption.h
@@ -4,7 +4,7 @@
  *
  *   User-selectable configuration macros (specification only).
  *
- * Copyright 1996-2018 by
+ * Copyright (C) 1996-2019 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -29,39 +29,39 @@
    *
    *                USER-SELECTABLE CONFIGURATION MACROS
    *
-   * This file contains the default configuration macro definitions for
-   * a standard build of the FreeType library.  There are three ways to
-   * use this file to build project-specific versions of the library:
+   * This file contains the default configuration macro definitions for a
+   * standard build of the FreeType library.  There are three ways to use
+   * this file to build project-specific versions of the library:
    *
    * - You can modify this file by hand, but this is not recommended in
-   *   cases where you would like to build several versions of the
-   *   library from a single source directory.
+   *   cases where you would like to build several versions of the library
+   *   from a single source directory.
    *
    * - You can put a copy of this file in your build directory, more
-   *   precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD'
-   *   is the name of a directory that is included _before_ the FreeType
-   *   include path during compilation.
+   *   precisely in `$BUILD/freetype/config/ftoption.h`, where `$BUILD` is
+   *   the name of a directory that is included _before_ the FreeType include
+   *   path during compilation.
    *
-   *   The default FreeType Makefiles and Jamfiles use the build
-   *   directory `builds/<system>' by default, but you can easily change
-   *   that for your own projects.
+   *   The default FreeType Makefiles and Jamfiles use the build directory
+   *   `builds/<system>` by default, but you can easily change that for your
+   *   own projects.
    *
-   * - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it
-   *   slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to
-   *   locate this file during the build.  For example,
+   * - Copy the file <ft2build.h> to `$BUILD/ft2build.h` and modify it
+   *   slightly to pre-define the macro `FT_CONFIG_OPTIONS_H` used to locate
+   *   this file during the build.  For example,
    *
-   *   {
+   *   ```
    *     #define FT_CONFIG_OPTIONS_H  <myftoptions.h>
    *     #include <freetype/config/ftheader.h>
-   *   }
+   *   ```
    *
-   *   will use `$BUILD/myftoptions.h' instead of this file for macro
+   *   will use `$BUILD/myftoptions.h` instead of this file for macro
    *   definitions.
    *
    *   Note also that you can similarly pre-define the macro
-   *   FT_CONFIG_MODULES_H used to locate the file listing of the modules
+   *   `FT_CONFIG_MODULES_H` used to locate the file listing of the modules
    *   that are statically linked to the library at compile time.  By
-   *   default, this file is <freetype/config/ftmodule.h>.
+   *   default, this file is `<freetype/config/ftmodule.h>`.
    *
    * We highly recommend using the third method whenever possible.
    *
@@ -80,18 +80,18 @@
   /*#************************************************************************
    *
    * If you enable this configuration option, FreeType recognizes an
-   * environment variable called `FREETYPE_PROPERTIES', which can be used to
+   * 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 @properties.
    *
    * You have to undefine this configuration option on platforms that lack
-   * the concept of environment variables (and thus don't have the `getenv'
+   * the concept of environment variables (and thus don't have the `getenv`
    * function), for example Windows CE.
    *
-   * `FREETYPE_PROPERTIES' has the following syntax form (broken here into
+   * `FREETYPE_PROPERTIES` has the following syntax form (broken here into
    * multiple lines for better readability).
    *
-   * {
+   * ```
    *   <optional whitespace>
    *   <module-name1> ':'
    *   <property-name1> '=' <property-value1>
@@ -99,15 +99,15 @@
    *   <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
@@ -117,35 +117,34 @@
    *
    * Uncomment the line below if you want to activate LCD rendering
    * technology similar to ClearType in this build of the library.  This
-   * technology triples the resolution in the direction color subpixels.
-   * To mitigate color fringes inherent to this technology, you also need
-   * to explicitly set up LCD filtering.
+   * technology triples the resolution in the direction color subpixels.  To
+   * mitigate color fringes inherent to this technology, you also need to
+   * explicitly set up LCD filtering.
    *
-   * Note that this feature is covered by several Microsoft patents
-   * and should not be activated in any default build of the library.
-   * When this macro is not defined, FreeType offers alternative LCD
-   * rendering technology that produces excellent output without LCD
-   * filtering.
+   * Note that this feature is covered by several Microsoft patents and
+   * should not be activated in any default build of the library.  When this
+   * macro is not defined, FreeType offers alternative LCD rendering
+   * technology that produces excellent output without LCD filtering.
    */
 /* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
 
 
   /**************************************************************************
    *
-   * Many compilers provide a non-ANSI 64-bit data type that can be used
-   * by FreeType to speed up some computations.  However, this will create
-   * some problems when compiling the library in strict ANSI mode.
+   * Many compilers provide a non-ANSI 64-bit data type that can be used by
+   * FreeType to speed up some computations.  However, this will create some
+   * problems when compiling the library in strict ANSI mode.
    *
    * For this reason, the use of 64-bit integers is normally disabled when
-   * the __STDC__ macro is defined.  You can however disable this by
-   * defining the macro FT_CONFIG_OPTION_FORCE_INT64 here.
+   * the `__STDC__` macro is defined.  You can however disable this by
+   * defining the macro `FT_CONFIG_OPTION_FORCE_INT64` here.
    *
    * For most compilers, this will only create compilation warnings when
    * building the library.
    *
    * ObNote: The compiler-specific 64-bit integers are detected in the
-   *         file `ftconfig.h' either statically or through the
-   *         `configure' script on supported platforms.
+   *         file `ftconfig.h` either statically or through the `configure`
+   *         script on supported platforms.
    */
 #undef FT_CONFIG_OPTION_FORCE_INT64
 
@@ -153,21 +152,21 @@
   /**************************************************************************
    *
    * If this macro is defined, do not try to use an assembler version of
-   * performance-critical functions (e.g. FT_MulFix).  You should only do
-   * that to verify that the assembler function works properly, or to
-   * execute benchmark tests of the various implementations.
+   * performance-critical functions (e.g., @FT_MulFix).  You should only do
+   * that to verify that the assembler function works properly, or to execute
+   * benchmark tests of the various implementations.
    */
 /* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
 
 
   /**************************************************************************
    *
-   * If this macro is defined, try to use an inlined assembler version of
-   * the `FT_MulFix' function, which is a `hotspot' when loading and
-   * hinting glyphs, and which should be executed as fast as possible.
+   * If this macro is defined, try to use an inlined assembler version of the
+   * @FT_MulFix function, which is a 'hotspot' when loading and hinting
+   * glyphs, and which should be executed as fast as possible.
    *
-   * Note that if your compiler or CPU is not supported, this will default
-   * to the standard and portable implementation found in `ftcalc.c'.
+   * Note that if your compiler or CPU is not supported, this will default to
+   * the standard and portable implementation found in `ftcalc.c`.
    */
 #define FT_CONFIG_OPTION_INLINE_MULFIX
 
@@ -177,12 +176,12 @@
    * LZW-compressed file support.
    *
    *   FreeType now handles font files that have been compressed with the
-   *   `compress' program.  This is mostly used to parse many of the PCF
+   *   `compress` program.  This is mostly used to parse many of the PCF
    *   files that come with various X11 distributions.  The implementation
-   *   uses NetBSD's `zopen' to partially uncompress the file on the fly
-   *   (see src/lzw/ftgzip.c).
+   *   uses NetBSD's `zopen` to partially uncompress the file on the fly (see
+   *   `src/lzw/ftgzip.c`).
    *
-   *   Define this macro if you want to enable this `feature'.
+   *   Define this macro if you want to enable this 'feature'.
    */
 #define FT_CONFIG_OPTION_USE_LZW
 
@@ -192,12 +191,12 @@
    * Gzip-compressed file support.
    *
    *   FreeType now handles font files that have been compressed with the
-   *   `gzip' program.  This is mostly used to parse many of the PCF files
-   *   that come with XFree86.  The implementation uses `zlib' to
-   *   partially uncompress the file on the fly (see src/gzip/ftgzip.c).
+   *   `gzip` program.  This is mostly used to parse many of the PCF files
+   *   that come with XFree86.  The implementation uses 'zlib' to partially
+   *   uncompress the file on the fly (see `src/gzip/ftgzip.c`).
    *
-   *   Define this macro if you want to enable this `feature'.  See also
-   *   the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below.
+   *   Define this macro if you want to enable this 'feature'.  See also the
+   *   macro `FT_CONFIG_OPTION_SYSTEM_ZLIB` below.
    */
 #define FT_CONFIG_OPTION_USE_ZLIB
 
@@ -206,23 +205,23 @@
    *
    * ZLib library selection
    *
-   *   This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined.
-   *   It allows FreeType's `ftgzip' component to link to the system's
+   *   This macro is only used when `FT_CONFIG_OPTION_USE_ZLIB` is defined.
+   *   It allows FreeType's 'ftgzip' component to link to the system's
    *   installation of the ZLib library.  This is useful on systems like
    *   Unix or VMS where it generally is already available.
    *
-   *   If you let it undefined, the component will use its own copy